e074c91cd2c05115b1ece832b00ced6e8655c064
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-04-24  Andreas Kling  <kling@webkit.org>
2
3         REGRESSION(r115099): html5lib/runner.html crashes.
4         <http://webkit.org/b/84791>
5
6         Reviewed by Anders Carlsson.
7
8         Unbreak and simplify the code that filters attributes on isindex elements.
9         It's perfectly safe to remove elements from a Vector while iterating over it.
10
11         * html/parser/HTMLTreeBuilder.cpp:
12         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
13
14 2012-04-24  Victor Carbune  <vcarbune@adobe.com>
15
16         Extra display logic for the media control panel element
17         https://bugs.webkit.org/show_bug.cgi?id=82476
18
19         Reviewed by Eric Carlson.
20
21         This patch fixes a bug which caused the controls to be displayed
22         when they should remain hidden. Added an extra variable to the
23         panel elements which properly keeps the state of the panel (visible or not).
24
25         Test: media/video-controls-toggling.html
26
27         * html/shadow/MediaControlElements.cpp:
28         (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added the
29         variable m_isDisplayed to hold the state whether the panel is visible or not.
30         (WebCore::MediaControlPanelElement::makeOpaque): Showing the panel only if it
31         is visible.
32         (WebCore::MediaControlPanelElement::makeTransparent): Enabled the transition
33         timer which sets the display:none property on the controls.
34         (WebCore::MediaControlPanelElement::setIsDisplayed): Setter for the state variable.
35         (WebCore):
36         * html/shadow/MediaControlElements.h:
37         (MediaControlPanelElement):
38         * html/shadow/MediaControlRootElement.cpp:
39         (WebCore::MediaControlRootElement::show): Updated the panel visibility state.
40         (WebCore::MediaControlRootElement::hide): Updated the panel visibility state.
41         * html/shadow/MediaControlRootElementChromium.cpp:
42         (WebCore::MediaControlRootElementChromium::show): Updated the panel visibility state.
43         (WebCore::MediaControlRootElementChromium::hide): Updated the panel visibility state.
44
45 2012-04-24  Alexandru Chiculita  <achicu@adobe.com>
46
47         CSS Shaders: Custom filters painting is broken
48         https://bugs.webkit.org/show_bug.cgi?id=82803
49
50         Reviewed by Kenneth Russell.
51
52         In this patch I moved CSS Shaders file loading notifications from FilterEffectRenderer to the new RenderLayerFilterInfo.
53         That's because FilterEffectRenderer is only used when running the filters in the software pipeline
54         and has a very short lifetime. Due to a recent change FilterEffectRenderer actually
55         gets deleted if the shader is not loaded, so it doesn't live that much to be notified when the shader
56         was actually loaded.
57
58         Also removed the FilterEffectObserver, that was only used to notify the RenderLayer about the loaded shader.
59
60         No new tests. This is making existing CSS Shaders tests pass again.
61         Cannot un-skip on Mac for now because the feature is compile time disabled.
62         
63         * WebCore.xcodeproj/project.pbxproj:
64         * platform/graphics/filters/CustomFilterOperation.h:
65         (WebCore::CustomFilterOperation::affectsOpacity):
66         (WebCore::CustomFilterOperation::movesPixels):
67         * platform/graphics/filters/FilterOperations.cpp:
68         (WebCore):
69         (WebCore::FilterOperations::hasCustomFilter):
70         * platform/graphics/filters/FilterOperations.h:
71         (FilterOperations):
72         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
73         (WebCore::BitmapTextureImageBuffer::applyFilters):
74         * rendering/FilterEffectObserver.h: Removed.
75         * rendering/FilterEffectRenderer.cpp:
76         (WebCore::FilterEffectRenderer::FilterEffectRenderer):
77         (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
78         (WebCore::FilterEffectRenderer::build):
79         * rendering/FilterEffectRenderer.h:
80         (WebCore):
81         (WebCore::FilterEffectRenderer::create):
82         (FilterEffectRenderer):
83         * rendering/RenderLayer.cpp:
84         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
85         * rendering/RenderLayer.h:
86         * rendering/RenderLayerFilterInfo.cpp:
87         (WebCore::RenderLayerFilterInfo::~RenderLayerFilterInfo):
88         (WebCore::RenderLayerFilterInfo::notifyCustomFilterProgramLoaded):
89         (WebCore):
90         (WebCore::RenderLayerFilterInfo::updateCustomFilterClients):
91         (WebCore::RenderLayerFilterInfo::removeCustomFilterClients):
92         * rendering/RenderLayerFilterInfo.h:
93         (WebCore):
94         (RenderLayerFilterInfo):
95
96 2012-04-24  Antti Koivisto  <antti@apple.com>
97
98         Another build fix.
99
100         Not reviewed.
101
102         * css/MediaList.cpp:
103         (WebCore::MediaQuerySet::MediaQuerySet):
104         * css/StylePropertySet.cpp:
105         (WebCore::StylePropertySet::StylePropertySet):
106
107 2012-04-24  Antti Koivisto  <antti@apple.com>
108
109         Try to fix Qt build.
110
111         Not reviewed.
112
113         * css/StyleRule.h:
114         (WebCore::StyleRuleBase::StyleRuleBase):
115
116 2012-04-24  Antti Koivisto  <antti@apple.com>
117
118         Implement StyleRule copying
119         https://bugs.webkit.org/show_bug.cgi?id=84752
120
121         Reviewed by Andreas Kling.
122         
123         We'll need this for copy-on-write when style sheet data is shared between documents.
124
125         Implement copy() and copy constructor for style rules their children as needed.
126         
127         The code is not yet used.
128
129         * css/CSSSelectorList.cpp:
130         (WebCore::CSSSelectorList::CSSSelectorList):
131         (WebCore):
132         * css/CSSSelectorList.h:
133         (CSSSelectorList):
134         * css/MediaList.h:
135         (WebCore::MediaQuerySet::copy):
136         (MediaQuerySet):
137         * css/MediaQuery.cpp:
138         (WebCore::MediaQuery::MediaQuery):
139         (WebCore):
140         * css/MediaQuery.h:
141         (MediaQuery):
142         (WebCore::MediaQuery::copy):
143         * css/MediaQueryExp.h:
144         (WebCore::MediaQueryExp::copy):
145         (MediaQueryExp):
146         * css/StylePropertySet.cpp:
147         (WebCore::StylePropertySet::StylePropertySet):
148         (WebCore):
149         (WebCore::StylePropertySet::copy):
150         * css/StylePropertySet.h:
151         
152             Make this copy parse mode too. As a result ElementAttributeData no longer needs to set it explicitly after copying.
153
154         (StylePropertySet):
155         * css/StyleRule.cpp:
156         (WebCore::StyleRuleBase::copy):
157         (WebCore):
158         (WebCore::StyleRule::StyleRule):
159         (WebCore::StyleRulePage::StyleRulePage):
160         (WebCore::StyleRuleFontFace::StyleRuleFontFace):
161         (WebCore::StyleRuleBlock::StyleRuleBlock):
162         (WebCore::StyleRuleMedia::StyleRuleMedia):
163         (WebCore::StyleRuleRegion::StyleRuleRegion):
164         * css/StyleRule.h:
165         (StyleRuleBase):
166         (WebCore::StyleRuleBase::StyleRuleBase):
167         (WebCore::StyleRule::copy):
168         (StyleRule):
169         (WebCore::StyleRuleFontFace::copy):
170         (StyleRuleFontFace):
171         (WebCore::StyleRulePage::copy):
172         (StyleRulePage):
173         (StyleRuleBlock):
174         (WebCore::StyleRuleMedia::copy):
175         (StyleRuleMedia):
176         (WebCore::StyleRuleRegion::copy):
177         (StyleRuleRegion):
178         * css/WebKitCSSKeyframesRule.cpp:
179         (WebCore):
180         (WebCore::StyleRuleKeyframes::StyleRuleKeyframes):
181         * css/WebKitCSSKeyframesRule.h:
182         (WebCore):
183         (WebCore::StyleRuleKeyframes::copy):
184         (StyleRuleKeyframes):
185
186 2012-04-24  Ryosuke Niwa  <rniwa@webkit.org>
187
188         Revert r115009; It doesn't make necessary changes to NodeRareData and Node.
189
190         * CMakeLists.txt:
191         * DerivedSources.cpp:
192         * DerivedSources.make:
193         * DerivedSources.pri:
194         * GNUmakefile.list.am:
195         * Target.pri:
196         * WebCore.gypi:
197         * WebCore.vcproj/WebCore.vcproj:
198         * WebCore.xcodeproj/project.pbxproj:
199         * bindings/js/JSHTMLCollectionCustom.cpp:
200         (WebCore::getNamedItems):
201         * bindings/scripts/CodeGeneratorJS.pm:
202         (GenerateImplementation):
203         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
204         (WebCore::getNamedItems):
205         * html/CollectionType.h:
206         * html/HTMLCollection.cpp:
207         (WebCore::HTMLCollection::shouldIncludeChildren):
208         (WebCore::HTMLCollection::isAcceptableElement):
209         * html/HTMLFormCollection.cpp:
210         (WebCore::HTMLFormCollection::HTMLFormCollection):
211         * html/RadioNodeList.cpp: Removed.
212         * html/RadioNodeList.h: Removed.
213         * html/RadioNodeList.idl: Removed.
214
215 2012-04-24  Chris Rogers  <crogers@google.com>
216
217         WaveTable should normalize to 0dbFS instead of -6dbFS
218         https://bugs.webkit.org/show_bug.cgi?id=84644
219
220         Reviewed by Kenneth Russell.
221
222         No new tests. Oscillator tests will be rebaselined after landing, since several platforms are affected.
223
224         * Modules/webaudio/WaveTable.cpp:
225         (WebCore::WaveTable::createBandLimitedTables):
226
227 2012-04-24  Tommy Widenflycht  <tommyw@google.com>
228
229         MediaStream API: Create a new flag for PeerConnection
230         https://bugs.webkit.org/show_bug.cgi?id=84723
231
232         Reviewed by Dimitri Glazkov.
233
234         To allow Chrome to make the GetUserMedia functionality available by default we
235         need another flag for the PeerConnection related parts. This new flag is in
236         addition to the general media stream flag, and both need to be enabled for
237         PeerConnection object creation.
238
239         No code behavior changes.
240
241         * bindings/generic/RuntimeEnabledFeatures.cpp:
242         (WebCore):
243         * bindings/generic/RuntimeEnabledFeatures.h:
244         (RuntimeEnabledFeatures):
245         (WebCore::RuntimeEnabledFeatures::peerConnectionEnabled):
246         (WebCore::RuntimeEnabledFeatures::setPeerConnectionEnabled):
247         (WebCore::RuntimeEnabledFeatures::webkitDeprecatedPeerConnectionEnabled):
248         (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
249
250 2012-04-24  Joe Mason  <jmason@rim.com>
251
252         [BlackBerry] Revert broken changes to authentication dialog
253         https://bugs.webkit.org/show_bug.cgi?id=80135
254
255         Reviewed by Antonio Gomes.
256
257         The previous patches from this bug caused an infinite loop when using digest auth;
258         apparently they were only tested with basic.
259
260         * platform/blackberry/PageClientBlackBerry.h:
261         * platform/network/blackberry/NetworkJob.cpp:
262         (WebCore::NetworkJob::handleAuthHeader):
263         (WebCore::NetworkJob::sendRequestWithCredentials):
264
265 2012-04-24  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
266
267         Fix wrong ASSERT() in findAttributeInVector()
268         https://bugs.webkit.org/show_bug.cgi?id=84756
269
270         Unreviewed build fix.
271
272         * dom/ElementAttributeData.h:
273         (WebCore::findAttributeInVector):
274
275 2012-04-24  Anders Carlsson  <andersca@apple.com>
276
277         Update the scroll layer position on the main thread when viewing full-frame images
278         https://bugs.webkit.org/show_bug.cgi?id=84754
279         <rdar://problem/11193304>
280
281         Reviewed by Andreas Kling.
282
283         Showing really big images can be slow sometimes and in that case it's better to update the scroll layer position on
284         the main thread, which will avoid flashing white.
285
286         * page/scrolling/ScrollingCoordinator.cpp:
287         (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
288
289 2012-04-24  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
290
291         Use Vector<Attribute> directly instead of encapsulating it in AttributeVector
292         https://bugs.webkit.org/show_bug.cgi?id=84413
293
294         Reviewed by Andreas Kling.
295
296         As commented in https://bugs.webkit.org/show_bug.cgi?id=79963#c16 we do not
297         usually subclass basic types like Vector. This patch changes code to use
298         Vector<Attribute> directly and move around the functionality of the former
299         methods to more specific helper functions or inline code at the callers.
300
301         * dom/Element.cpp:
302         (WebCore::Element::parserSetAttributes):
303         (WebCore::Element::normalizeAttributes):
304         * dom/Element.h:
305         (Element):
306         * dom/ElementAttributeData.cpp:
307         * dom/ElementAttributeData.h:
308         (WebCore::getAttributeFromVector):
309         (WebCore::ElementAttributeData::getAttributeItem):
310         (ElementAttributeData):
311         (WebCore::ElementAttributeData::attributeVector):
312         (WebCore::ElementAttributeData::clonedAttributeVector):
313         (WebCore::ElementAttributeData::getAttributeItemIndex):
314         (WebCore):
315         * html/parser/HTMLConstructionSite.cpp:
316         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
317         * html/parser/HTMLToken.h:
318         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
319         * html/parser/HTMLTreeBuilder.cpp:
320         (WebCore::HTMLTreeBuilder::processFakeStartTag):
321         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
322         * html/parser/HTMLTreeBuilder.h:
323         * html/parser/TextDocumentParser.cpp:
324         (WebCore::TextDocumentParser::insertFakePreElement):
325         * xml/XMLErrors.cpp:
326         (WebCore::createXHTMLParserErrorHeader):
327         (WebCore::XMLErrors::insertErrorMessageBlock):
328         * xml/parser/MarkupTokenBase.h:
329         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
330         (WebCore::AtomicMarkupTokenBase::getAttributeItem):
331         (WebCore::AtomicMarkupTokenBase::attributes):
332         (AtomicMarkupTokenBase):
333         (WebCore::::initializeAttributes):
334         * xml/parser/XMLToken.h:
335         (WebCore::AtomicXMLToken::AtomicXMLToken):
336
337 2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
338
339         Rename CSSStyleSelector class to StyleResolver.
340         https://bugs.webkit.org/show_bug.cgi?id=84734
341
342         Reviewed by Andreas Kling.
343
344         The name CSSStyleSelector is confusing as it conflicts a bit with
345         the CSS concept of selectors. One could think it's an encapsulation
346         of the CSS selectors but it's not, in fact this class is responsible
347         of finding the RenderStyle for a given element. This is the first patch
348         as I will later rename the files, and then rename the local variables.
349
350         No new tests : renaming, no behavior changes should appear.
351
352         * css/CSSCalculationValue.cpp:
353         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
354         * css/CSSFontSelector.cpp:
355         (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
356         * css/CSSParser.cpp:
357         (WebCore::CSSParser::parseSizeParameter):
358         * css/CSSStyleSelector.cpp:
359         (RuleSet):
360         (WebCore::RuleSet::features):
361         (WebCore):
362         (WebCore::StyleResolver::StyleResolver):
363         (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
364         (WebCore::makeRuleSet):
365         (WebCore::StyleResolver::collectFeatures):
366         (WebCore::StyleResolver::determineScope):
367         (WebCore::StyleResolver::ruleSetForScope):
368         (WebCore::StyleResolver::appendAuthorStylesheets):
369         (WebCore::StyleResolver::setupScopeStack):
370         (WebCore::StyleResolver::pushScope):
371         (WebCore::StyleResolver::popScope):
372         (WebCore::StyleResolver::pushParentElement):
373         (WebCore::StyleResolver::popParentElement):
374         (WebCore::StyleResolver::pushParentShadowRoot):
375         (WebCore::StyleResolver::popParentShadowRoot):
376         (WebCore::StyleResolver::addKeyframeStyle):
377         (WebCore::StyleResolver::~StyleResolver):
378         (WebCore::StyleResolver::sweepMatchedPropertiesCache):
379         (WebCore::StyleResolver::Features::Features):
380         (WebCore::StyleResolver::Features::~Features):
381         (WebCore::StyleResolver::Features::add):
382         (WebCore::StyleResolver::Features::clear):
383         (WebCore::StyleResolver::addMatchedProperties):
384         (WebCore::StyleResolver::addElementStyleProperties):
385         (WebCore::StyleResolver::collectMatchingRules):
386         (WebCore::StyleResolver::collectMatchingRulesForRegion):
387         (WebCore::StyleResolver::sortAndTransferMatchedRules):
388         (WebCore::StyleResolver::matchScopedAuthorRules):
389         (WebCore::StyleResolver::matchAuthorRules):
390         (WebCore::StyleResolver::matchUserRules):
391         (WebCore::StyleResolver::matchUARules):
392         (WebCore::StyleResolver::collectMatchingRulesForList):
393         * css/CSSStyleSelector.h:
394         (StyleResolver):
395         (Features):
396         * css/MediaQueryEvaluator.cpp:
397         (WebCore::MediaQueryEvaluator::eval):
398         * css/MediaQueryEvaluator.h:
399         (WebCore):
400         (MediaQueryEvaluator):
401         * css/MediaQueryMatcher.cpp:
402         (WebCore::MediaQueryMatcher::prepareEvaluator):
403         * css/SVGCSSStyleSelector.cpp:
404         (WebCore::StyleResolver::applySVGProperty):
405         * css/StyleBuilder.cpp:
406         (WebCore::ApplyPropertyExpanding::applyInheritValue):
407         (WebCore::ApplyPropertyExpanding::applyInitialValue):
408         (WebCore::ApplyPropertyExpanding::applyValue):
409         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
410         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
411         (WebCore::ApplyPropertyDefaultBase::applyValue):
412         (WebCore::ApplyPropertyDefault::applyValue):
413         (WebCore::ApplyPropertyNumber::applyValue):
414         (WebCore::ApplyPropertyStyleImage::applyValue):
415         (WebCore::ApplyPropertyAuto::applyInheritValue):
416         (WebCore::ApplyPropertyAuto::applyInitialValue):
417         (WebCore::ApplyPropertyAuto::applyValue):
418         (WebCore::ApplyPropertyClip::convertToLength):
419         (WebCore::ApplyPropertyClip::applyInheritValue):
420         (WebCore::ApplyPropertyClip::applyInitialValue):
421         (WebCore::ApplyPropertyClip::applyValue):
422         (WebCore::ApplyPropertyColor::applyInheritValue):
423         (WebCore::ApplyPropertyColor::applyInitialValue):
424         (WebCore::ApplyPropertyColor::applyValue):
425         (WebCore::ApplyPropertyColor::applyColorValue):
426         (WebCore::ApplyPropertyDirection::applyValue):
427         (WebCore::ApplyPropertyLength::applyValue):
428         (WebCore::ApplyPropertyString::applyValue):
429         (WebCore::ApplyPropertyBorderRadius::applyValue):
430         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
431         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
432         (WebCore::ApplyPropertyFillLayer::applyValue):
433         (WebCore::ApplyPropertyComputeLength::applyValue):
434         (WebCore::ApplyPropertyFont::applyInheritValue):
435         (WebCore::ApplyPropertyFont::applyInitialValue):
436         (WebCore::ApplyPropertyFont::applyValue):
437         (WebCore::ApplyPropertyFontSize::applyInheritValue):
438         (WebCore::ApplyPropertyFontSize::applyInitialValue):
439         (WebCore::ApplyPropertyFontSize::applyValue):
440         (WebCore::ApplyPropertyFontWeight::applyValue):
441         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
442         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
443         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
444         (WebCore::ApplyPropertyBorderImage::applyValue):
445         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
446         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
447         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
448         (WebCore::ApplyPropertyBorderImageSource::applyValue):
449         (WebCore::ApplyPropertyCounter::emptyFunction):
450         (WebCore::ApplyPropertyCounter::applyInheritValue):
451         (WebCore::ApplyPropertyCounter::applyValue):
452         (WebCore::ApplyPropertyCursor::applyInheritValue):
453         (WebCore::ApplyPropertyCursor::applyInitialValue):
454         (WebCore::ApplyPropertyCursor::applyValue):
455         (WebCore::ApplyPropertyTextAlign::applyValue):
456         (WebCore::ApplyPropertyTextDecoration::applyValue):
457         (WebCore::ApplyPropertyUnicodeBidi::applyValue):
458         (WebCore::ApplyPropertyLineHeight::applyValue):
459         (WebCore::ApplyPropertyPageSize::applyInheritValue):
460         (WebCore::ApplyPropertyPageSize::applyInitialValue):
461         (WebCore::ApplyPropertyPageSize::applyValue):
462         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
463         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
464         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
465         (WebCore):
466         (WebCore::ApplyPropertyAnimation::map):
467         (WebCore::ApplyPropertyAnimation::applyInheritValue):
468         (WebCore::ApplyPropertyAnimation::applyInitialValue):
469         (WebCore::ApplyPropertyAnimation::applyValue):
470         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
471         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
472         (WebCore::ApplyPropertyOutlineStyle::applyValue):
473         (WebCore::ApplyPropertyResize::applyValue):
474         (WebCore::ApplyPropertyVerticalAlign::applyValue):
475         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
476         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
477         (WebCore::ApplyPropertyAspectRatio::applyValue):
478         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
479         (WebCore::ApplyPropertyZoom::applyInheritValue):
480         (WebCore::ApplyPropertyZoom::applyInitialValue):
481         (WebCore::ApplyPropertyZoom::applyValue):
482         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
483         (WebCore::ApplyPropertyDisplay::applyInheritValue):
484         (WebCore::ApplyPropertyDisplay::applyInitialValue):
485         (WebCore::ApplyPropertyDisplay::applyValue):
486         (WebCore::ApplyPropertyFlex::applyInheritValue):
487         (WebCore::ApplyPropertyFlex::applyInitialValue):
488         (WebCore::ApplyPropertyFlex::applyValue):
489         (WebCore::StyleBuilder::StyleBuilder):
490         * css/StyleBuilder.h:
491         (WebCore):
492         (PropertyHandler):
493         (WebCore::PropertyHandler::applyInheritValue):
494         (WebCore::PropertyHandler::applyInitialValue):
495         (WebCore::PropertyHandler::applyValue):
496         * css/StyleMedia.cpp:
497         (WebCore::StyleMedia::matchMedium):
498         * css/WebKitCSSKeyframesRule.cpp:
499         (WebCore::WebKitCSSKeyframesRule::setName):
500         * css/WebKitCSSMatrix.cpp:
501         (WebCore::WebKitCSSMatrix::setMatrixValue):
502         * dom/Document.cpp:
503         (WebCore::Document::recalcStyle):
504         (WebCore::Document::createStyleSelector):
505         (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
506         * dom/Document.h:
507         (WebCore):
508         (WebCore::Document::styleSelectorIfExists):
509         (WebCore::Document::styleSelector):
510         (Document):
511         * dom/Element.cpp:
512         (StyleSelectorParentPusher):
513         (WebCore::Element::attributeChanged):
514         (WebCore::Element::beginParsingChildren):
515         (WebCore::Element::finishParsingChildren):
516         * dom/ShadowRoot.cpp:
517         (WebCore::ShadowRoot::attach):
518         * dom/ShadowTree.cpp:
519         (WebCore::ShadowTree::recalcShadowTreeStyle):
520         * editing/EditingStyle.cpp:
521         (WebCore::EditingStyle::mergeStyleFromRules):
522         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
523         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
524         (WebCore::legacyFontSizeFromCSSValue):
525         * editing/FrameSelection.cpp:
526         (WebCore::FrameSelection::focusedOrActiveStateChanged):
527         * history/CachedPage.cpp:
528         (WebCore::CachedPage::restore):
529         * html/HTMLCanvasElement.cpp:
530         (WebCore::HTMLCanvasElement::styleSelector):
531         * html/HTMLCanvasElement.h:
532         (HTMLCanvasElement):
533         * html/HTMLLinkElement.cpp:
534         (WebCore::HTMLLinkElement::process):
535         * html/canvas/CanvasRenderingContext2D.cpp:
536         (WebCore::CanvasRenderingContext2D::setFont):
537         * inspector/InspectorCSSAgent.cpp:
538         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
539         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
540         * inspector/InspectorCSSAgent.h:
541         (InspectorCSSAgent):
542         * page/DOMWindow.cpp:
543         (WebCore::DOMWindow::getMatchedCSSRules):
544         * page/Page.cpp:
545         (WebCore::Page::allVisitedStateChanged):
546         (WebCore::Page::visitedStateChanged):
547         * page/animation/AnimationController.cpp:
548         (WebCore::AnimationController::updateAnimations):
549         * platform/blackberry/RenderThemeBlackBerry.cpp:
550         (WebCore::RenderThemeBlackBerry::adjustButtonStyle):
551         (WebCore::RenderThemeBlackBerry::adjustTextAreaStyle):
552         (WebCore::RenderThemeBlackBerry::adjustTextFieldStyle):
553         (WebCore::RenderThemeBlackBerry::adjustSearchFieldStyle):
554         (WebCore::RenderThemeBlackBerry::adjustSearchFieldCancelButtonStyle):
555         (WebCore::RenderThemeBlackBerry::adjustMenuListButtonStyle):
556         (WebCore::RenderThemeBlackBerry::adjustMenuListStyle):
557         (WebCore::RenderThemeBlackBerry::adjustCheckboxStyle):
558         (WebCore::RenderThemeBlackBerry::adjustRadioStyle):
559         * platform/blackberry/RenderThemeBlackBerry.h:
560         (RenderThemeBlackBerry):
561         * platform/efl/RenderThemeEfl.cpp:
562         (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
563         (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
564         (WebCore::RenderThemeEfl::adjustCheckboxStyle):
565         (WebCore::RenderThemeEfl::adjustRadioStyle):
566         (WebCore::RenderThemeEfl::adjustButtonStyle):
567         (WebCore::RenderThemeEfl::adjustMenuListStyle):
568         (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
569         (WebCore::RenderThemeEfl::adjustTextFieldStyle):
570         (WebCore::RenderThemeEfl::adjustTextAreaStyle):
571         (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
572         (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
573         (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
574         (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
575         (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
576         (WebCore::RenderThemeEfl::adjustProgressBarStyle):
577         * platform/efl/RenderThemeEfl.h:
578         (RenderThemeEfl):
579         * platform/gtk/RenderThemeGtk.cpp:
580         (WebCore::RenderThemeGtk::adjustButtonStyle):
581         (WebCore::RenderThemeGtk::adjustMenuListStyle):
582         (WebCore::RenderThemeGtk::adjustMenuListButtonStyle):
583         (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
584         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
585         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
586         (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
587         (WebCore::RenderThemeGtk::adjustSliderTrackStyle):
588         (WebCore::RenderThemeGtk::adjustSliderThumbStyle):
589         (WebCore::RenderThemeGtk::adjustProgressBarStyle):
590         * platform/gtk/RenderThemeGtk.h:
591         (RenderThemeGtk):
592         * platform/gtk/RenderThemeGtk2.cpp:
593         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
594         * platform/gtk/RenderThemeGtk3.cpp:
595         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
596         * platform/qt/RenderThemeQt.cpp:
597         (WebCore::RenderThemeQt::adjustTextFieldStyle):
598         (WebCore::RenderThemeQt::adjustTextAreaStyle):
599         (WebCore::RenderThemeQt::adjustMenuListStyle):
600         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
601         (WebCore::RenderThemeQt::adjustProgressBarStyle):
602         (WebCore::RenderThemeQt::adjustSliderTrackStyle):
603         (WebCore::RenderThemeQt::adjustSliderThumbStyle):
604         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
605         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
606         (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
607         (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
608         (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
609         * platform/qt/RenderThemeQt.h:
610         (RenderThemeQt):
611         * platform/qt/RenderThemeQtMobile.cpp:
612         (WebCore::RenderThemeQtMobile::adjustButtonStyle):
613         (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
614         (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
615         * platform/qt/RenderThemeQtMobile.h:
616         (RenderThemeQtMobile):
617         * platform/wx/RenderThemeWx.cpp:
618         (RenderThemeWx):
619         (WebCore::RenderThemeWx::adjustButtonStyle):
620         (WebCore::RenderThemeWx::adjustTextFieldStyle):
621         (WebCore::RenderThemeWx::adjustMenuListStyle):
622         (WebCore::RenderThemeWx::adjustMenuListButtonStyle):
623         * rendering/RenderInputSpeech.cpp:
624         (WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle):
625         * rendering/RenderInputSpeech.h:
626         (RenderInputSpeech):
627         * rendering/RenderTheme.cpp:
628         (WebCore::RenderTheme::adjustStyle):
629         (WebCore::RenderTheme::adjustCheckboxStyle):
630         (WebCore::RenderTheme::adjustRadioStyle):
631         (WebCore::RenderTheme::adjustButtonStyle):
632         (WebCore::RenderTheme::adjustInnerSpinButtonStyle):
633         (WebCore::RenderTheme::adjustTextFieldStyle):
634         (WebCore::RenderTheme::adjustTextAreaStyle):
635         (WebCore::RenderTheme::adjustMenuListStyle):
636         (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
637         (WebCore::RenderTheme::adjustMeterStyle):
638         (WebCore::RenderTheme::adjustProgressBarStyle):
639         (WebCore::RenderTheme::adjustMenuListButtonStyle):
640         (WebCore::RenderTheme::adjustSliderTrackStyle):
641         (WebCore::RenderTheme::adjustSliderThumbStyle):
642         (WebCore::RenderTheme::adjustSearchFieldStyle):
643         (WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle):
644         (WebCore::RenderTheme::adjustSearchFieldDecorationStyle):
645         (WebCore::RenderTheme::adjustSearchFieldResultsDecorationStyle):
646         (WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle):
647         * rendering/RenderTheme.h:
648         (RenderTheme):
649         * rendering/RenderThemeChromiumAndroid.cpp:
650         (WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
651         * rendering/RenderThemeChromiumAndroid.h:
652         (RenderThemeChromiumAndroid):
653         * rendering/RenderThemeChromiumLinux.cpp:
654         (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
655         * rendering/RenderThemeChromiumLinux.h:
656         (RenderThemeChromiumLinux):
657         * rendering/RenderThemeChromiumSkia.cpp:
658         (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
659         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle):
660         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
661         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
662         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
663         (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
664         (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
665         (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
666         * rendering/RenderThemeChromiumSkia.h:
667         (RenderThemeChromiumSkia):
668         * rendering/RenderThemeChromiumWin.cpp:
669         (WebCore):
670         (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle):
671         (WebCore::RenderThemeChromiumWin::adjustProgressBarStyle):
672         * rendering/RenderThemeChromiumWin.h:
673         (RenderThemeChromiumWin):
674         * rendering/RenderThemeMac.h:
675         (RenderThemeMac):
676         * rendering/RenderThemeMac.mm:
677         (WebCore::RenderThemeMac::setFontFromControlSize):
678         (WebCore::RenderThemeMac::adjustTextFieldStyle):
679         (WebCore::RenderThemeMac::adjustTextAreaStyle):
680         (WebCore::RenderThemeMac::adjustProgressBarStyle):
681         (WebCore::RenderThemeMac::adjustMenuListStyle):
682         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
683         (WebCore::RenderThemeMac::adjustSliderTrackStyle):
684         (WebCore::RenderThemeMac::adjustSliderThumbStyle):
685         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
686         (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
687         (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
688         (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
689         (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
690         * rendering/RenderThemeSafari.cpp:
691         (WebCore::RenderThemeSafari::setFontFromControlSize):
692         (WebCore::RenderThemeSafari::adjustButtonStyle):
693         (WebCore::RenderThemeSafari::adjustTextFieldStyle):
694         (WebCore::RenderThemeSafari::adjustTextAreaStyle):
695         (WebCore::RenderThemeSafari::adjustMenuListStyle):
696         (WebCore::RenderThemeSafari::adjustMenuListButtonStyle):
697         (WebCore::RenderThemeSafari::adjustSliderThumbStyle):
698         (WebCore::RenderThemeSafari::adjustSearchFieldStyle):
699         (WebCore::RenderThemeSafari::adjustSearchFieldCancelButtonStyle):
700         (WebCore::RenderThemeSafari::adjustSearchFieldDecorationStyle):
701         (WebCore::RenderThemeSafari::adjustSearchFieldResultsDecorationStyle):
702         (WebCore::RenderThemeSafari::adjustSearchFieldResultsButtonStyle):
703         * rendering/RenderThemeSafari.h:
704         (RenderThemeSafari):
705         * rendering/RenderThemeWin.cpp:
706         (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
707         (WebCore::RenderThemeWin::adjustMenuListStyle):
708         (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
709         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
710         (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
711         (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
712         (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
713         (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
714         * rendering/RenderThemeWin.h:
715         (RenderThemeWin):
716         (WebCore::RenderThemeWin::adjustButtonStyle):
717         (WebCore::RenderThemeWin::adjustTextFieldStyle):
718         (WebCore::RenderThemeWin::adjustTextAreaStyle):
719         * rendering/RenderThemeWinCE.cpp:
720         (WebCore::RenderThemeWinCE::adjustMenuListStyle):
721         (WebCore::RenderThemeWinCE::adjustSearchFieldStyle):
722         (WebCore::RenderThemeWinCE::adjustSearchFieldCancelButtonStyle):
723         (WebCore::RenderThemeWinCE::adjustSearchFieldDecorationStyle):
724         (WebCore::RenderThemeWinCE::adjustSearchFieldResultsDecorationStyle):
725         (WebCore::RenderThemeWinCE::adjustSearchFieldResultsButtonStyle):
726         (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
727         * rendering/RenderThemeWinCE.h:
728         (RenderThemeWinCE):
729         (WebCore::RenderThemeWinCE::adjustButtonStyle):
730         (WebCore::RenderThemeWinCE::adjustTextFieldStyle):
731         (WebCore::RenderThemeWinCE::adjustTextAreaStyle):
732         * rendering/style/RenderStyle.cpp:
733         (WebCore::RenderStyle::isStyleAvailable):
734         * rendering/style/RenderStyle.h:
735         (WebCore):
736         * rendering/style/StyleRareNonInheritedData.h:
737         (WebCore):
738         * rendering/svg/RenderSVGInlineText.cpp:
739         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
740         * rendering/svg/SVGRenderSupport.cpp:
741         (WebCore::SVGRenderSupport::isOverflowHidden):
742
743 2012-04-15  Robert Hogan  <robert@webkit.org>
744
745         CSS 2.1 failure: table-columns-example-001 fails
746         https://bugs.webkit.org/show_bug.cgi?id=83978
747
748         Reviewed by David Hyatt.
749
750         Tests: css2.1/20110323/table-columns-example-001.html
751                fast/css/table-rules-attribute-groups-with-frame.html
752                fast/css/table-rules-attribute-groups.html
753                fast/css/table-rules-attribute-none-with-frame.html
754                fast/css/table-rules-attribute-with-frame1.html
755                fast/css/table-rules-attribute-with-frame2.html
756                fast/css/table-rules-attribute.html
757
758         WebKit does not implement the 'cols', 'rows', and 'all' rules attributes correctly
759         for cells that are adjacent to the table's edges. The solution is to follow the hint in the
760         spec at http://www.w3.org/TR/CSS21/tables.html#columns and set the table's border to 
761         hidden when the rules attribute is set to one of 'cols', 'rows' or 'all', and the table itself
762         has no explicit border. Border collapsing will take care of the rest as 'hidden' always wins in 
763         border-conflict resolution. It's not completely clear from the spec that an explicit table border
764         should trump a cols rule but doing so is consistent with FF and Opera at least. A 'rules' attribute
765         is trumped by anything specified for the 'frame' attribute so need to ensure that is respected too.
766
767         In short, any 'rules' attribute means a hidden table border unless there's a frame or border attribute.
768
769         * html/HTMLTableElement.cpp:
770         (WebCore::HTMLTableElement::additionalAttributeStyle):
771
772 2012-04-22  Timothy Hatcher  <timothy@apple.com>
773
774         Stop installing localizedStrings.js in Production builds.
775
776         <rdar://problem/11296649>
777
778         Reviewed by Joseph Pecoraro.
779
780         * Configurations/WebCore.xcconfig: Added EXCLUDED_SOURCE_FILE_NAMES_Production_macosx
781         and modified EXCLUDED_SOURCE_FILE_NAMES to look for CONFIGURATION variant.
782
783 2012-04-24  Yuzhu Shen  <yzshen@chromium.org>
784
785         [chromium] Add a description field in WebURLError and show failure description in the inspector network tab.
786         https://bugs.webkit.org/show_bug.cgi?id=84566
787
788         Reviewed by Pavel Feldman.
789
790         * inspector/front-end/NetworkPanel.js:
791         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
792         * platform/chromium/support/WebURLError.cpp:
793         (WebKit::WebURLError::operator=):
794         (WebKit::WebURLError::operator ResourceError):
795
796 2012-04-24  Rob Buis  <rbuis@rim.com>
797
798         [SVG] getBBox on a <g> within symbol returns 0 but with defs it works correctly
799         https://bugs.webkit.org/show_bug.cgi?id=72796
800
801         SVG <use> of <symbol> containing <linearGradient> renders black
802         https://bugs.webkit.org/show_bug.cgi?id=82775
803
804         Reviewed by Dirk Schulze.
805
806         Create RenderSVGHiddenContainer for each <symbol>, which allows creation of child renderers too. This fixes
807         both bugs since the bbox can be calculated at all times now and gradients in <symbol> are always created.
808         This does allocate more memory but in general <symbol> is not used a lot and they tend to be small subtrees.
809
810         Patch by Leo Yang.
811
812         Tests: svg/custom/bbox-of-g-in-symbol.svg
813                svg/custom/gradient-in-symbol-expected.svg
814                svg/custom/gradient-in-symbol.svg
815
816         * svg/SVGSymbolElement.cpp:
817         (WebCore::SVGSymbolElement::createRenderer):
818         (WebCore):
819         * svg/SVGSymbolElement.h:
820         (SVGSymbolElement):
821
822 2012-04-24  Brady Eidson  <beidson@apple.com>
823
824         <rdar://problem/10120155> and https://bugs.webkit.org/show_bug.cgi?id=82664
825          Need DOMWindow mechanism to supplement UserScripts for page cache notifications
826
827         This patch creates a new object type "DOMWindowExtension" which extends DOMWindowProperty.
828         A DOMWindowExtension is tied to a particular DOMWindow and represents extensibility in that
829         DOMWindow within a particular DOMWrapperWorld.
830
831         It is a token object meant designed to notify clients of the various events in the lifetime
832         of a DOMWindow property such as creation, disconnecting for the page cache, reconnecting
833         when restoring from the page cache, and DOMWindow destruction.
834
835         Reviewed by Sam Weinig.
836
837         New WebKit API test DOMWindowExtensionBasic added.
838
839         Add hooks for 4 new client calls regarding DOMWindowExtensions and global object lifetime:
840         * loader/FrameLoaderClient.h:
841         (WebCore::FrameLoaderClient::dispatchCanCreateGlobalObject):
842         (WebCore::FrameLoaderClient::dispatchWillDisconnectDOMWindowExtensionFromGlobalObject):
843         (WebCore::FrameLoaderClient::dispatchDidReconnectDOMWindowExtensionToGlobalObject):
844         (WebCore::FrameLoaderClient::dispatchWillDestroyGlobalObjectForDOMWindowExtension):
845         
846         At the same time "DidClearWindowObject" is called, also notify clients that the global object is available:
847         * loader/FrameLoader.cpp:
848         (WebCore::FrameLoader::receivedFirstData):
849         (WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):
850         * loader/FrameLoader.h:
851
852          DOMWindowProperties might want to unregister themselves during these notifications, so copy
853          the set to a Vector. While this technique is arguably fragile, its certainly less fragile than
854          mutating a set while iterating it:
855         * page/DOMWindow.cpp:
856         (WebCore::DOMWindow::willDetachPage):
857         (WebCore::DOMWindow::disconnectDOMWindowProperties):
858         (WebCore::DOMWindow::reconnectDOMWindowProperties):
859
860          Implement the DOMWindowExtension object. It acts like a DOMWindowProperty with the added capability
861          of remembering what Frame it used to be connected to so it can *always* notify clients on willDetachPage:
862         * page/DOMWindowExtension.cpp: Added.
863         (WebCore::DOMWindowExtension::DOMWindowExtension):
864         (WebCore::DOMWindowExtension::~DOMWindowExtension):
865         (WebCore::DOMWindowExtension::disconnectFrame):
866         (WebCore::DOMWindowExtension::reconnectFrame):
867         (WebCore::DOMWindowExtension::willDetachPage):
868         * page/DOMWindowExtension.h: Added.
869         (WebCore::DOMWindowExtension::create):
870         (WebCore::DOMWindowExtension::world):
871
872          Project files:
873         * CMakeLists.txt:
874         * GNUmakefile.list.am:
875         * Target.pri:
876         * WebCore.exp.in:
877         * WebCore.gypi:
878         * WebCore.vcproj/WebCore.vcproj:
879         * WebCore.xcodeproj/project.pbxproj:
880
881 2012-04-24  Sami Kyostila  <skyostil@chromium.org>
882
883         [chromium] Don't keep pointers to released layer tree
884         https://bugs.webkit.org/show_bug.cgi?id=84715
885
886         Reviewed by Adrienne Walker.
887
888         As part of tree synchronization, CCLayerTreeHostImpl loses ownership of
889         the previous tree (as per releaseRootLayer()). After this point we
890         should not retain any pointers to the old tree, because they are
891         effectively invalid as soon as the root layer is released.
892
893         For processing scroll updates we need to keep track of which layer is
894         being scrolled, and this state needs to survive tree synchronizations.
895         Instead of keeping a direct pointer to the scrolled layer, we now save
896         the id of that layer and use it to look up the same layer from the new
897         tree.
898
899         Unit test: CCLayerTreeHostImplTest.replaceTreeWhileScrolling
900
901         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
902         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
903         (WebCore::CCLayerTreeHostImpl::setRootLayer):
904         (WebCore::CCLayerTreeHostImpl::releaseRootLayer):
905         (WebCore::CCLayerTreeHostImpl::scrollBegin):
906         (WebCore::CCLayerTreeHostImpl::scrollEnd):
907         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
908         (CCLayerTreeHostImpl):
909
910 2012-04-24  Alexandru Chiculita  <achicu@adobe.com>
911
912         [CSS Filters] Move m_filter and related fields from RenderLayer to a different structure and only allocate it when needed
913         https://bugs.webkit.org/show_bug.cgi?id=84460
914
915         Reviewed by Dean Jackson.
916
917         The new RenderLayerFilterInfo is meant to be allocated only when needed by filters. The link to the RenderLayerFilterInfo
918         is maintained using a HashMap and a single boolean in the RenderLayer class.
919
920         No new tests, just extracted a couple of fields inside the RenderLayer to a separate class.
921
922         * GNUmakefile.list.am:
923         * Target.pri:
924         * WebCore.gypi:
925         * WebCore.vcproj/WebCore.vcproj:
926         * WebCore.xcodeproj/project.pbxproj:
927         * rendering/FilterEffectRenderer.cpp:
928         (WebCore::FilterEffectRendererHelper::prepareFilterEffect):
929         (WebCore::FilterEffectRendererHelper::beginFilterEffect):
930         (WebCore::FilterEffectRendererHelper::applyFilterEffect):
931         * rendering/RenderLayer.cpp:
932         (WebCore::RenderLayer::RenderLayer):
933         (WebCore::RenderLayer::~RenderLayer):
934         (WebCore::RenderLayer::paintsWithFilters):
935         (WebCore::RenderLayer::requiresFullLayerImageForFilters):
936         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
937         (WebCore::RenderLayer::paintLayerContents):
938         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
939         * rendering/RenderLayer.h:
940         (WebCore::RenderLayer::filterRenderer):
941         (RenderLayer):
942         (WebCore::RenderLayer::filterInfo):
943         (WebCore::RenderLayer::ensureFilterInfo):
944         (WebCore::RenderLayer::removeFilterInfoIfNeeded):
945         (WebCore::RenderLayer::hasFilterInfo):
946         (WebCore::RenderLayer::setHasFilterInfo):
947         * rendering/RenderLayerFilterInfo.cpp: Added.
948         (WebCore):
949         (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer):
950         (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded):
951         (WebCore::RenderLayerFilterInfo::removeFilterInfoForRenderLayer):
952         (WebCore::RenderLayerFilterInfo::RenderLayerFilterInfo):
953         (WebCore::RenderLayerFilterInfo::~RenderLayerFilterInfo):
954         (WebCore::RenderLayerFilterInfo::setRenderer):
955         * rendering/RenderLayerFilterInfo.h: Added.
956         (WebCore):
957         (RenderLayerFilterInfo):
958         (WebCore::RenderLayerFilterInfo::dirtySourceRect):
959         (WebCore::RenderLayerFilterInfo::addDirtySourceRect):
960         (WebCore::RenderLayerFilterInfo::resetDirtySourceRect):
961         (WebCore::RenderLayerFilterInfo::renderer):
962
963 2012-04-24  Kentaro Hara  <haraken@chromium.org>
964
965         [V8] Pass Isolate around in SerializedScriptValue.cpp (Part1)
966         https://bugs.webkit.org/show_bug.cgi?id=84663
967
968         Reviewed by Nate Chapin.
969
970         The objective is to pass Isolate to toV8() in SerializedScriptValue.cpp.
971
972         Part1: Add an Isolate argument to SerializedScriptValue::create(),
973         SerializedScriptValue::deserialize(), etc.
974         Part2: Add an m_isolate member to SerializedScriptValue::Writer()
975         and SerializedScriptValue::Reader().
976         Part3: Pass Isolate to toV8().
977
978         This patch fixes Part1.
979
980         No tests. No change in behavior.
981
982         * bindings/v8/SerializedScriptValue.cpp:
983         (WebCore::SerializedScriptValue::create):
984         (WebCore::SerializedScriptValue::undefinedValue):
985         (WebCore::SerializedScriptValue::booleanValue):
986         (WebCore::SerializedScriptValue::numberValue):
987         (WebCore::SerializedScriptValue::SerializedScriptValue):
988         (WebCore::SerializedScriptValue::deserialize):
989         (WebCore::SerializedScriptValue::deserializeForInspector):
990         * bindings/v8/SerializedScriptValue.h:
991         (SerializedScriptValue):
992
993 2012-04-24  Kentaro Hara  <haraken@chromium.org>
994
995         [V8][Refactoring] Remove deserializeAndSetProperty()
996         from SerializedScriptValue.cpp
997         https://bugs.webkit.org/show_bug.cgi?id=84662
998
999         Reviewed by Nate Chapin.
1000
1001         SerializedScriptValue::deserializeAndSetProperty() is no
1002         longer used. This patch removes it.
1003
1004         No tests. No change in behavior.
1005
1006         * bindings/v8/SerializedScriptValue.cpp:
1007         * bindings/v8/SerializedScriptValue.h:
1008
1009 2012-04-24  Kentaro Hara  <haraken@chromium.org>
1010
1011         [V8] Pass Isolate to setDOMException() in CodeGeneratorV8.pm
1012         https://bugs.webkit.org/show_bug.cgi?id=84660
1013
1014         Reviewed by Nate Chapin.
1015
1016         The objective is to pass Isolate around in V8 bindings.
1017         This patch passes Isolate to setDOMException() in CodeGeneratorV8.pm.
1018
1019         Test: bindings/scripts/test/TestEventTarget.idl
1020               bindings/scripts/test/TestObj.idl
1021               bindings/scripts/test/TestInterface.idl
1022
1023         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
1024         (GenerateSetDOMException):
1025         (GenerateNormalAttrGetter):
1026         (GenerateNormalAttrSetter):
1027         (GenerateFunctionCallback):
1028         (GenerateParametersCheck):
1029         (GenerateFunctionCallString):
1030
1031         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1032         Updated run-bindings-tests results.
1033         (WebCore::TestEventTargetV8Internal::itemCallback):
1034         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
1035         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
1036         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
1037         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1038         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
1039         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetter):
1040         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetter):
1041         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
1042         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
1043         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
1044         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
1045         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
1046         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
1047         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
1048         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
1049         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
1050         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
1051         (WebCore::TestObjV8Internal::methodWithExceptionCallback):
1052         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
1053         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
1054         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
1055         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
1056         (WebCore::TestObjV8Internal::strictFunctionCallback):
1057
1058 2012-04-24  Kentaro Hara  <haraken@chromium.org>
1059
1060         [V8] Pass Isolate to setDOMException() (Part2)
1061         https://bugs.webkit.org/show_bug.cgi?id=84658
1062
1063         Reviewed by Nate Chapin.
1064
1065         The objective is to pass Isolate around in V8 bindings.
1066         This patch passes Isolate to setDOMException() in custom
1067         binding code.
1068
1069         No tests. No change in behavior.
1070
1071         * bindings/v8/V8Collection.cpp:
1072         (WebCore::toOptionsCollectionSetter):
1073         * bindings/v8/V8Collection.h:
1074         (WebCore):
1075         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1076         (WebCore::constructWebGLArrayWithArrayBufferArgument):
1077         (WebCore::setWebGLArrayHelper):
1078         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1079         (WebCore::WindowSetTimeoutImpl):
1080         * bindings/v8/custom/V8DataViewCustom.cpp:
1081         (WebCore::V8DataView::getInt8Callback):
1082         (WebCore::V8DataView::getUint8Callback):
1083         (WebCore::V8DataView::setInt8Callback):
1084         (WebCore::V8DataView::setUint8Callback):
1085         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
1086         (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
1087         (WebCore::V8DirectoryEntrySync::getFileCallback):
1088         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1089         (WebCore::V8HTMLCanvasElement::toDataURLCallback):
1090         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1091         (WebCore::V8HTMLElement::itemValueAccessorSetter):
1092         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1093         (WebCore::V8HTMLOptionsCollection::addCallback):
1094         (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
1095         (WebCore::V8HTMLOptionsCollection::indexedPropertySetter):
1096         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1097         (WebCore::V8HTMLSelectElement::indexedPropertySetter):
1098         * bindings/v8/custom/V8NodeCustom.cpp:
1099         (WebCore::V8Node::insertBeforeCallback):
1100         (WebCore::V8Node::replaceChildCallback):
1101         (WebCore::V8Node::removeChildCallback):
1102         (WebCore::V8Node::appendChildCallback):
1103         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1104         (WebCore::V8SQLTransaction::executeSqlCallback):
1105         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
1106         (WebCore::V8WebKitMutationObserver::observeCallback):
1107         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1108         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
1109
1110 2012-04-24  Kentaro Hara  <haraken@chromium.org>
1111
1112         [V8] Pass Isolate to setDOMException() (Part1)
1113         https://bugs.webkit.org/show_bug.cgi?id=84656
1114
1115         Reviewed by Nate Chapin.
1116
1117         The objective is to pass Isolate around in V8 bindings.
1118         This patch passes Isolate to setDOMException() in custom binding code.
1119
1120         No tests. No change in behavior.
1121
1122         * bindings/v8/custom/V8LocationCustom.cpp:
1123         (WebCore::V8Location::protocolAccessorSetter):
1124         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1125         (WebCore::V8SQLTransactionSync::executeSqlCallback):
1126         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1127         (WebCore::V8SVGLength::valueAccessorGetter):
1128         (WebCore::V8SVGLength::valueAccessorSetter):
1129         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
1130         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1131         (WebCore::getObjectParameter):
1132         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1133         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
1134         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
1135         (WebCore::V8WebGLRenderingContext::getParameterCallback):
1136         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1137         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1138         (WebCore::V8WebGLRenderingContext::getUniformCallback):
1139         (WebCore::vertexAttribAndUniformHelperf):
1140         (WebCore::uniformHelperi):
1141         (WebCore::uniformMatrixHelper):
1142
1143 2012-04-24  Pavel Feldman  <pfeldman@chromium.org>
1144
1145         Web Inspector: encapsulate live location into the Script.
1146         https://bugs.webkit.org/show_bug.cgi?id=84722
1147
1148         Reviewed by Yury Semikhatsky.
1149
1150         Live location is just a location on the script. The way it is implemented today involves too many indirections.
1151
1152         * inspector/front-end/CompilerScriptMapping.js:
1153         * inspector/front-end/DebuggerModel.js:
1154         (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
1155         (WebInspector.DebuggerModel.prototype.scriptForId):
1156         * inspector/front-end/DebuggerPresentationModel.js:
1157         (WebInspector.DebuggerPresentationModel.prototype.createLiveLocation):
1158         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
1159         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1160         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
1161         (WebInspector.PresentationCallFrame.prototype.uiLocation):
1162         (WebInspector.DebuggerPresentationModel.CallFramePlacard):
1163         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
1164         * inspector/front-end/RawSourceCode.js:
1165         * inspector/front-end/ResourceScriptMapping.js:
1166         (WebInspector.ResourceScriptMapping.prototype.addScript):
1167         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
1168         (WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode):
1169         * inspector/front-end/Script.js:
1170         (WebInspector.Script):
1171         (WebInspector.Script.prototype.isInlineScript):
1172         (WebInspector.Script.prototype.setSourceMapping):
1173         (WebInspector.Script.prototype.createLocation):
1174         (WebInspector.Script.Location):
1175         (WebInspector.Script.Location.prototype.dispose):
1176         (WebInspector.Script.Location.prototype._update):
1177         * inspector/front-end/ScriptMapping.js:
1178         (WebInspector.UILocation):
1179         (WebInspector.SourceMapping):
1180         (WebInspector.SourceMapping.prototype.rawLocationToUILocation):
1181         (WebInspector.SourceMapping.prototype.uiLocationToRawLocation):
1182         (WebInspector.MainScriptMapping):
1183         (WebInspector.MainScriptMapping.prototype.addScript):
1184         (WebInspector.MainScriptMapping.prototype.reset):
1185         * inspector/front-end/SnippetsModel.js:
1186         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
1187
1188 2012-04-24  Yury Semikhatsky  <yurys@chromium.org>
1189
1190         Web Inspector: a bunch of heap profiler cleanups
1191         https://bugs.webkit.org/show_bug.cgi?id=84730
1192
1193         - HeapSnapshotProviderProxy passed explicitely as a parameter to HeapSnapshotGridNode
1194         constructor
1195         - Removed dead code
1196         - Removed unused parameters
1197         - Added more closure compiler annotations
1198         - Extracted code finding cycled among node ancestors into a separate method
1199
1200         Reviewed by Pavel Feldman.
1201
1202         * inspector/front-end/HeapSnapshot.js:
1203         (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
1204         (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
1205         (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
1206         (WebInspector.HeapSnapshotEdgesProvider):
1207         * inspector/front-end/HeapSnapshotDataGrids.js:
1208         * inspector/front-end/HeapSnapshotGridNodes.js:
1209         (WebInspector.HeapSnapshotGridNode):
1210         (WebInspector.HeapSnapshotGenericObjectNode):
1211         (WebInspector.HeapSnapshotObjectNode):
1212         (WebInspector.HeapSnapshotObjectNode.prototype._findAncestorWithSameSnapshotNodeId):
1213         (WebInspector.HeapSnapshotInstanceNode):
1214         (WebInspector.HeapSnapshotConstructorNode):
1215         (WebInspector.HeapSnapshotDiffNode):
1216         (WebInspector.HeapSnapshotDiffNode._createProvider):
1217         (WebInspector.HeapSnapshotDominatorObjectNode):
1218         * inspector/front-end/HeapSnapshotProxy.js:
1219         (WebInspector.HeapSnapshotWorker):
1220         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):
1221         * inspector/front-end/utilities.js:
1222
1223 2012-04-24  Adam Klein  <adamk@chromium.org>
1224
1225         Fix includes in StrongInlines.h and ScriptValue.h
1226         https://bugs.webkit.org/show_bug.cgi?id=84659
1227
1228         Reviewed by Geoffrey Garen.
1229
1230         This change was prompted by an attempt to use ScriptValue.h from a
1231         WebCore header file and running into trouble with the (as it turns out
1232         unnecessary) include of JSDOMBinding.h.
1233
1234         * bindings/js/ScriptValue.cpp: Add include of JSDOMBinding.h, now that
1235         it's not included by the header.
1236         * bindings/js/ScriptValue.h: Remove unnecessary include of JSDOMBinding.h.
1237
1238 2012-04-24  Antti Koivisto  <antti@apple.com>
1239
1240         Move MediaList CSSOM wrapper ownership to parent rule or stylesheet
1241         https://bugs.webkit.org/show_bug.cgi?id=84716
1242
1243         Reviewed by Anders Carlsson.
1244
1245         MediaList CSSOM wrapper should be owned by a rule or a stylesheet, not by the underlying 
1246         MediaQuerySet.
1247         
1248         Remove the ref forwarding from MediaList in favor of regular refcounting. Use the usual
1249         pattern where the parent wrapper refs the child wrapper and zeroes the backpointer
1250         on destruction. 
1251
1252         * bindings/js/JSDOMBinding.h:
1253         (WebCore::root):
1254         * css/CSSImportRule.cpp:
1255         (WebCore::CSSImportRule::~CSSImportRule):
1256         (WebCore::CSSImportRule::media):
1257         * css/CSSImportRule.h:
1258         (StyleRuleImport):
1259         (CSSImportRule):
1260         * css/CSSMediaRule.cpp:
1261         (WebCore::CSSMediaRule::~CSSMediaRule):
1262         (WebCore::CSSMediaRule::media):
1263         * css/CSSMediaRule.h:
1264         (CSSMediaRule):
1265         * css/CSSStyleSheet.cpp:
1266         (WebCore::CSSStyleSheet::~CSSStyleSheet):
1267         (WebCore::CSSStyleSheet::media):
1268         * css/CSSStyleSheet.h:
1269         (CSSStyleSheet):
1270         * css/MediaList.cpp:
1271         (WebCore::MediaQuerySet::mediaText):
1272         (WebCore::MediaList::MediaList):
1273         (WebCore):
1274         (WebCore::MediaList::notifyChanged):
1275         * css/MediaList.h:
1276         (MediaQuerySet):
1277         (WebCore::MediaList::create):
1278         (WebCore::MediaList::parentRule):
1279         (WebCore::MediaList::clearParentStyleSheet):
1280         (WebCore::MediaList::clearParentRule):
1281         (WebCore::MediaList::queries):
1282         (MediaList):
1283         * css/StyleRule.h:
1284         (WebCore::StyleRuleMedia::mediaQueries):
1285
1286 2012-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1287
1288         [GTK] Should pass canvas/philip/tests/toDataURL.jpeg.alpha.html
1289         https://bugs.webkit.org/show_bug.cgi?id=83973
1290
1291         Reviewed by Philippe Normand.
1292
1293         Test: canvas/philip/tests/toDataURL.jpeg.alpha.html
1294
1295         * platform/graphics/gtk/ImageBufferGtk.cpp:
1296         (WebCore::encodeImage): Convert ARGB32 cairo surface into RGB24
1297         when encoding JPEG images since JPEG encoder doesn't support alpha
1298         channel.
1299
1300 2012-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1301
1302         [GTK] Add WebKitCookieManager::changed signal to WebKit2 GTK+ API
1303         https://bugs.webkit.org/show_bug.cgi?id=82598
1304
1305         Reviewed by Philippe Normand.
1306
1307         * GNUmakefile.list.am: Add new files to compilation.
1308         * platform/gtk/TemporaryLinkStubs.cpp: Remove stubs for
1309         setCookieStoragePrivateBrowsingEnabled,
1310         startObservingCookieChanges and stopObservingCookieChanges.
1311         * platform/network/soup/CookieStorageSoup.cpp: Added.
1312         (WebCore::setCookieStoragePrivateBrowsingEnabled):
1313         (WebCore::soupCookiesChanged): Notify cookies changes using
1314         platform strategies.
1315         (WebCore::startObservingCookieChanges): Connect to changed signal
1316         of the soup cookie jar.
1317         (WebCore::stopObservingCookieChanges): Disconnect signals handlers
1318         for changed signals of the soup cookie jar.
1319
1320 2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
1321
1322         Rename CSSStyleApplyProperty files to StyleBuilder.
1323         https://bugs.webkit.org/show_bug.cgi?id=84721
1324
1325         Reviewed by Antti Koivisto.
1326
1327         r115043 renamed CSSStyleApplyProperty class to StyleBuilder. This
1328         patch rename the files to match the new class name.
1329
1330         No new tests : renaming of files, no behavior changes expected.
1331
1332         * CMakeLists.txt:
1333         * GNUmakefile.list.am:
1334         * Target.pri:
1335         * WebCore.gypi:
1336         * WebCore.vcproj/WebCore.vcproj:
1337         * WebCore.xcodeproj/project.pbxproj:
1338         * css/CSSAllInOne.cpp:
1339         * css/CSSStyleSelector.cpp:
1340         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1341         * css/StyleBuilder.cpp: Renamed from Source/WebCore/css/CSSStyleApplyProperty.cpp.
1342         (WebCore):
1343         (ApplyPropertyExpanding):
1344         (WebCore::ApplyPropertyExpanding::applyInheritValue):
1345         (WebCore::ApplyPropertyExpanding::applyInitialValue):
1346         (WebCore::ApplyPropertyExpanding::applyValue):
1347         (WebCore::ApplyPropertyExpanding::createHandler):
1348         (ApplyPropertyDefaultBase):
1349         (WebCore::ApplyPropertyDefaultBase::setValue):
1350         (WebCore::ApplyPropertyDefaultBase::value):
1351         (WebCore::ApplyPropertyDefaultBase::initial):
1352         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
1353         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
1354         (WebCore::ApplyPropertyDefaultBase::applyValue):
1355         (WebCore::ApplyPropertyDefaultBase::createHandler):
1356         (ApplyPropertyDefault):
1357         (WebCore::ApplyPropertyDefault::setValue):
1358         (WebCore::ApplyPropertyDefault::applyValue):
1359         (WebCore::ApplyPropertyDefault::createHandler):
1360         (ApplyPropertyNumber):
1361         (WebCore::ApplyPropertyNumber::setValue):
1362         (WebCore::ApplyPropertyNumber::applyValue):
1363         (WebCore::ApplyPropertyNumber::createHandler):
1364         (ApplyPropertyStyleImage):
1365         (WebCore::ApplyPropertyStyleImage::applyValue):
1366         (WebCore::ApplyPropertyStyleImage::createHandler):
1367         (ApplyPropertyAuto):
1368         (WebCore::ApplyPropertyAuto::setValue):
1369         (WebCore::ApplyPropertyAuto::value):
1370         (WebCore::ApplyPropertyAuto::hasAuto):
1371         (WebCore::ApplyPropertyAuto::setAuto):
1372         (WebCore::ApplyPropertyAuto::applyInheritValue):
1373         (WebCore::ApplyPropertyAuto::applyInitialValue):
1374         (WebCore::ApplyPropertyAuto::applyValue):
1375         (WebCore::ApplyPropertyAuto::createHandler):
1376         (ApplyPropertyClip):
1377         (WebCore::ApplyPropertyClip::convertToLength):
1378         (WebCore::ApplyPropertyClip::applyInheritValue):
1379         (WebCore::ApplyPropertyClip::applyInitialValue):
1380         (WebCore::ApplyPropertyClip::applyValue):
1381         (WebCore::ApplyPropertyClip::createHandler):
1382         (WebCore::defaultInitialColor):
1383         (ApplyPropertyColor):
1384         (WebCore::ApplyPropertyColor::applyInheritValue):
1385         (WebCore::ApplyPropertyColor::applyInitialValue):
1386         (WebCore::ApplyPropertyColor::applyValue):
1387         (WebCore::ApplyPropertyColor::applyColorValue):
1388         (WebCore::ApplyPropertyColor::createHandler):
1389         (ApplyPropertyDirection):
1390         (WebCore::ApplyPropertyDirection::applyValue):
1391         (WebCore::ApplyPropertyDirection::createHandler):
1392         (ApplyPropertyLength):
1393         (WebCore::ApplyPropertyLength::setValue):
1394         (WebCore::ApplyPropertyLength::applyValue):
1395         (WebCore::ApplyPropertyLength::createHandler):
1396         (ApplyPropertyString):
1397         (WebCore::ApplyPropertyString::setValue):
1398         (WebCore::ApplyPropertyString::applyValue):
1399         (WebCore::ApplyPropertyString::createHandler):
1400         (ApplyPropertyBorderRadius):
1401         (WebCore::ApplyPropertyBorderRadius::setValue):
1402         (WebCore::ApplyPropertyBorderRadius::applyValue):
1403         (WebCore::ApplyPropertyBorderRadius::createHandler):
1404         (FillLayerAccessorTypes):
1405         (ApplyPropertyFillLayer):
1406         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
1407         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
1408         (WebCore::ApplyPropertyFillLayer::applyValue):
1409         (WebCore::ApplyPropertyFillLayer::createHandler):
1410         (ApplyPropertyComputeLength):
1411         (WebCore::ApplyPropertyComputeLength::setValue):
1412         (WebCore::ApplyPropertyComputeLength::applyValue):
1413         (WebCore::ApplyPropertyComputeLength::createHandler):
1414         (ApplyPropertyFont):
1415         (WebCore::ApplyPropertyFont::applyInheritValue):
1416         (WebCore::ApplyPropertyFont::applyInitialValue):
1417         (WebCore::ApplyPropertyFont::applyValue):
1418         (WebCore::ApplyPropertyFont::createHandler):
1419         (ApplyPropertyFontSize):
1420         (WebCore::ApplyPropertyFontSize::largerFontSize):
1421         (WebCore::ApplyPropertyFontSize::smallerFontSize):
1422         (WebCore::ApplyPropertyFontSize::applyInheritValue):
1423         (WebCore::ApplyPropertyFontSize::applyInitialValue):
1424         (WebCore::ApplyPropertyFontSize::applyValue):
1425         (WebCore::ApplyPropertyFontSize::createHandler):
1426         (ApplyPropertyFontWeight):
1427         (WebCore::ApplyPropertyFontWeight::applyValue):
1428         (WebCore::ApplyPropertyFontWeight::createHandler):
1429         (ApplyPropertyFontVariantLigatures):
1430         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
1431         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
1432         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
1433         (WebCore::ApplyPropertyFontVariantLigatures::createHandler):
1434         (ApplyPropertyBorderImage):
1435         (WebCore::ApplyPropertyBorderImage::applyValue):
1436         (WebCore::ApplyPropertyBorderImage::createHandler):
1437         (ApplyPropertyBorderImageModifier):
1438         (WebCore::ApplyPropertyBorderImageModifier::getValue):
1439         (WebCore::ApplyPropertyBorderImageModifier::setValue):
1440         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
1441         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
1442         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
1443         (WebCore::ApplyPropertyBorderImageModifier::createHandler):
1444         (ApplyPropertyBorderImageSource):
1445         (WebCore::ApplyPropertyBorderImageSource::applyValue):
1446         (WebCore::ApplyPropertyBorderImageSource::createHandler):
1447         (ApplyPropertyCounter):
1448         (WebCore::ApplyPropertyCounter::emptyFunction):
1449         (WebCore::ApplyPropertyCounter::applyInheritValue):
1450         (WebCore::ApplyPropertyCounter::applyValue):
1451         (WebCore::ApplyPropertyCounter::createHandler):
1452         (ApplyPropertyCursor):
1453         (WebCore::ApplyPropertyCursor::applyInheritValue):
1454         (WebCore::ApplyPropertyCursor::applyInitialValue):
1455         (WebCore::ApplyPropertyCursor::applyValue):
1456         (WebCore::ApplyPropertyCursor::createHandler):
1457         (ApplyPropertyTextAlign):
1458         (WebCore::ApplyPropertyTextAlign::applyValue):
1459         (WebCore::ApplyPropertyTextAlign::createHandler):
1460         (ApplyPropertyTextDecoration):
1461         (WebCore::ApplyPropertyTextDecoration::applyValue):
1462         (WebCore::ApplyPropertyTextDecoration::createHandler):
1463         (ApplyPropertyUnicodeBidi):
1464         (WebCore::ApplyPropertyUnicodeBidi::applyValue):
1465         (WebCore::ApplyPropertyUnicodeBidi::createHandler):
1466         (ApplyPropertyLineHeight):
1467         (WebCore::ApplyPropertyLineHeight::applyValue):
1468         (WebCore::ApplyPropertyLineHeight::createHandler):
1469         (ApplyPropertyPageSize):
1470         (WebCore::ApplyPropertyPageSize::mmLength):
1471         (WebCore::ApplyPropertyPageSize::inchLength):
1472         (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
1473         (WebCore::ApplyPropertyPageSize::applyInheritValue):
1474         (WebCore::ApplyPropertyPageSize::applyInitialValue):
1475         (WebCore::ApplyPropertyPageSize::applyValue):
1476         (WebCore::ApplyPropertyPageSize::createHandler):
1477         (ApplyPropertyTextEmphasisStyle):
1478         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
1479         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
1480         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
1481         (WebCore::ApplyPropertyTextEmphasisStyle::createHandler):
1482         (ApplyPropertyAnimation):
1483         (WebCore::ApplyPropertyAnimation::setValue):
1484         (WebCore::ApplyPropertyAnimation::value):
1485         (WebCore::ApplyPropertyAnimation::test):
1486         (WebCore::ApplyPropertyAnimation::clear):
1487         (WebCore::ApplyPropertyAnimation::initial):
1488         (WebCore::ApplyPropertyAnimation::map):
1489         (WebCore::ApplyPropertyAnimation::accessAnimations):
1490         (WebCore::ApplyPropertyAnimation::animations):
1491         (WebCore::ApplyPropertyAnimation::applyInheritValue):
1492         (WebCore::ApplyPropertyAnimation::applyInitialValue):
1493         (WebCore::ApplyPropertyAnimation::applyValue):
1494         (WebCore::ApplyPropertyAnimation::createHandler):
1495         (ApplyPropertyOutlineStyle):
1496         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
1497         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
1498         (WebCore::ApplyPropertyOutlineStyle::applyValue):
1499         (WebCore::ApplyPropertyOutlineStyle::createHandler):
1500         (ApplyPropertyResize):
1501         (WebCore::ApplyPropertyResize::applyValue):
1502         (WebCore::ApplyPropertyResize::createHandler):
1503         (ApplyPropertyVerticalAlign):
1504         (WebCore::ApplyPropertyVerticalAlign::applyValue):
1505         (WebCore::ApplyPropertyVerticalAlign::createHandler):
1506         (ApplyPropertyAspectRatio):
1507         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
1508         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
1509         (WebCore::ApplyPropertyAspectRatio::applyValue):
1510         (WebCore::ApplyPropertyAspectRatio::createHandler):
1511         (ApplyPropertyZoom):
1512         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
1513         (WebCore::ApplyPropertyZoom::applyInheritValue):
1514         (WebCore::ApplyPropertyZoom::applyInitialValue):
1515         (WebCore::ApplyPropertyZoom::applyValue):
1516         (WebCore::ApplyPropertyZoom::createHandler):
1517         (ApplyPropertyDisplay):
1518         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
1519         (WebCore::ApplyPropertyDisplay::applyInheritValue):
1520         (WebCore::ApplyPropertyDisplay::applyInitialValue):
1521         (WebCore::ApplyPropertyDisplay::applyValue):
1522         (WebCore::ApplyPropertyDisplay::createHandler):
1523         (ApplyPropertyFlex):
1524         (WebCore::ApplyPropertyFlex::applyInheritValue):
1525         (WebCore::ApplyPropertyFlex::applyInitialValue):
1526         (WebCore::ApplyPropertyFlex::applyValue):
1527         (WebCore::ApplyPropertyFlex::createHandler):
1528         (WebCore::ApplyPropertyFlex::getFlexValue):
1529         (WebCore::StyleBuilder::sharedStyleBuilder):
1530         (WebCore::StyleBuilder::StyleBuilder):
1531         * css/StyleBuilder.h: Renamed from Source/WebCore/css/CSSStyleApplyProperty.h.
1532         (WebCore):
1533         (PropertyHandler):
1534         (WebCore::PropertyHandler::PropertyHandler):
1535         (WebCore::PropertyHandler::applyInheritValue):
1536         (WebCore::PropertyHandler::applyInitialValue):
1537         (WebCore::PropertyHandler::applyValue):
1538         (WebCore::PropertyHandler::isValid):
1539         (WebCore::PropertyHandler::inheritFunction):
1540         (WebCore::PropertyHandler::initialFunction):
1541         (WebCore::PropertyHandler::applyFunction):
1542         (StyleBuilder):
1543         (WebCore::StyleBuilder::propertyHandler):
1544         (WebCore::StyleBuilder::index):
1545         (WebCore::StyleBuilder::valid):
1546         (WebCore::StyleBuilder::setPropertyHandler):
1547
1548 2012-04-24  Florin Malita  <fmalita@chromium.org>
1549
1550         WebCore::EventTarget::addEventListener crash
1551         https://bugs.webkit.org/show_bug.cgi?id=84171
1552
1553         Reviewed by Nikolas Zimmermann.
1554
1555         Test: svg/custom/use-tref-crash.svg
1556
1557         Adding tref target event listeners while building the shadow tree is
1558         problematic, because SVGUseElement::buildShadowAndInstanceTree() only
1559         sets the element instance<->shadow element association at a later time.
1560
1561         Fortunately, buildShadowAndInstanceTree() also propagates the event
1562         handlers (transferEventListenersToShadowTree) - so we can simply skip
1563         them in SVGTRefElement::buildPendingResource() for shadow elements.
1564
1565         * svg/SVGTRefElement.cpp:
1566         (WebCore::SVGTRefElement::buildPendingResource):
1567
1568 2012-04-24  Kent Tamura  <tkent@chromium.org>
1569
1570         Clickable area of a calendar picker indicator is too small.
1571         https://bugs.webkit.org/show_bug.cgi?id=84677
1572
1573         Reviewed by Kentaro Hara.
1574
1575         Test: fast/forms/date/date-appearance.html is affected.
1576
1577         * css/html.css:
1578         (input::-webkit-calendar-picker-indicator):
1579         - Remove unnecessary disaplay:inline-block.
1580         - Add paddings instead of the margin.
1581         (input::-webkit-calendar-picker-indicator:hover):
1582         Add hover style.
1583
1584 2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
1585
1586         Another unreviewed build fix for Mac.
1587
1588         * css/CSSStyleSelector.h:
1589         (CSSStyleSelector):
1590
1591 2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
1592
1593         Unreviewed build fix attempt for Mac.
1594
1595         * rendering/style/RenderStyle.h:
1596
1597 2012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
1598
1599         Rename CSSStyleApplyProperty class to StyleBuilder.
1600         https://bugs.webkit.org/show_bug.cgi?id=84711
1601
1602         Reviewed by Antti Koivisto.
1603
1604         As per discussion on bug https://bugs.webkit.org/show_bug.cgi?id=42764
1605         the name is a bit confusing. This first patch rename the class and a
1606         following one will rename the files. We also drop the CSS prefix of the
1607         class to keep CSS prefixed classes for CSSOM types.
1608
1609         No new tests : renaming, no behavior changes should appear.
1610
1611         * css/CSSStyleApplyProperty.cpp:
1612         (WebCore::ApplyPropertyExpanding::applyInheritValue):
1613         (WebCore::ApplyPropertyExpanding::applyInitialValue):
1614         (WebCore::ApplyPropertyExpanding::applyValue):
1615         (WebCore::StyleBuilder::sharedStyleBuilder):
1616         (WebCore::StyleBuilder::StyleBuilder):
1617         * css/CSSStyleApplyProperty.h:
1618         (WebCore):
1619         (StyleBuilder):
1620         * css/CSSStyleSelector.cpp:
1621         (WebCore::CSSStyleSelector::CSSStyleSelector):
1622         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1623         * css/CSSStyleSelector.h:
1624         (CSSStyleSelector):
1625
1626 2012-04-24  Kent Tamura  <tkent@chromium.org>
1627
1628         Merge LocalizedCalendar into LocalizedDate
1629         https://bugs.webkit.org/show_bug.cgi?id=84685
1630
1631         Reviewed by Kentaro Hara.
1632
1633         The functionality of LocalizedCalendar is very related to
1634         LocalizedDate. We should merge them.
1635
1636         No new tests. Just refactoring.
1637
1638         * WebCore.gypi: Remove LocalizedCalendar.h and LocalizedCalenderICU.cpp.
1639         * html/shadow/CalendarPickerElement.cpp:
1640         Include LocalizedDate.h instead of LocalizedCalendar.h.
1641         * platform/text/LocalizedCalendar.h:
1642         Removed. Merged into LocalizedDate.h.
1643         * platform/text/LocalizedCalendarICU.cpp:
1644         Removed. Merged into LocalizedDateICU.h.
1645         * platform/text/LocalizedDate.h:
1646         (WebCore): Move some functions from LocalizedCalendar.h.
1647         * platform/text/LocalizedDateICU.cpp:
1648         Move some functions from LocalizedCalendarICU.cpp.
1649
1650 2012-04-24  Pavel Feldman  <pfeldman@chromium.org>
1651
1652         Web Inspector: remove pure delegation code from DebuggerPresentationModel
1653         https://bugs.webkit.org/show_bug.cgi?id=84704
1654
1655         Reviewed by Yury Semikhatsky.
1656
1657         This change removes the code that delegates calls to breakpoint manager and exposes the breakpoint
1658         manager in debugger presentation model itself. It allows narrowing dpm dependencies.
1659
1660         * inspector/front-end/BreakpointsSidebarPane.js:
1661         (WebInspector.JavaScriptBreakpointsSidebarPane):
1662         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
1663         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
1664         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
1665         * inspector/front-end/DebuggerModel.js:
1666         (WebInspector.DebuggerModel.prototype.debuggerPausedDetails):
1667         (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
1668         (WebInspector.DebuggerModel.prototype.isPaused):
1669         * inspector/front-end/DebuggerPresentationModel.js:
1670         (WebInspector.DebuggerPresentationModel.prototype.get breakpointManager):
1671         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1672         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
1673         * inspector/front-end/JavaScriptSource.js:
1674         (WebInspector.JavaScriptSource):
1675         (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
1676         (WebInspector.JavaScriptSource.prototype.findBreakpoint):
1677         (WebInspector.JavaScriptSource.prototype.setBreakpoint):
1678         (WebInspector.JavaScriptSource.prototype.setBreakpointEnabled):
1679         (WebInspector.JavaScriptSource.prototype.removeBreakpoint):
1680         (WebInspector.JavaScriptSource.prototype.updateBreakpoint):
1681         (WebInspector.JavaScriptSource.prototype.continueToLine):
1682         (WebInspector.JavaScriptSource.prototype.canSetContent):
1683         (WebInspector.JavaScriptSource.prototype.setContent):
1684         (WebInspector.JavaScriptSource.prototype.updateBreakpointsAfterLiveEdit):
1685         * inspector/front-end/JavaScriptSourceFrame.js:
1686         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
1687         (WebInspector.JavaScriptSourceFrame.prototype.editContent):
1688         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
1689         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
1690         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
1691         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
1692         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
1693         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
1694         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
1695         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
1696         (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
1697         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
1698         * inspector/front-end/ScopeChainSidebarPane.js:
1699         (WebInspector.ScopeChainSidebarPane.prototype.update):
1700         * inspector/front-end/ScriptsPanel.js:
1701         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
1702         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
1703
1704 2012-04-24  Yury Semikhatsky  <yurys@chromium.org>
1705
1706         Web Inspector: native nodes may have snapshot id less than base snapshot max JS object id
1707         https://bugs.webkit.org/show_bug.cgi?id=84681
1708
1709         Make sure new nodes whose IDs less than base snapshot max JS object id will
1710         get into snapshot delta.
1711
1712         Reviewed by Pavel Feldman.
1713
1714         Test: inspector/profiler/heap-snapshot-comparison-dom-groups-change.html
1715
1716         * inspector/front-end/HeapSnapshot.js:
1717         (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
1718         * inspector/front-end/HeapSnapshotDataGrids.js:
1719         (WebInspector.HeapSnapshotSortableDataGrid): Drive-by fix, made recursion counter
1720         a normal field on HeapSnapshotSortableDataGrid.
1721         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
1722         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
1723
1724 2012-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1725
1726         Unreviewed, rolling out r115000.
1727         http://trac.webkit.org/changeset/115000
1728         https://bugs.webkit.org/show_bug.cgi?id=84703
1729
1730         Breaks webkit_unit_tests on Mac in Chromium:
1731         http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6/builds/15157
1732         (Requested by mnaganov on #webkit).
1733
1734         * platform/graphics/skia/OpaqueRegionSkia.cpp:
1735         (WebCore::paintIsOpaque):
1736         (WebCore::OpaqueRegionSkia::popCanvasLayer):
1737         (WebCore::OpaqueRegionSkia::didDraw):
1738         (WebCore::OpaqueRegionSkia::didDrawUnbounded):
1739         (WebCore::OpaqueRegionSkia::markRectAsOpaque):
1740         (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
1741         * platform/graphics/skia/OpaqueRegionSkia.h:
1742         (OpaqueRegionSkia):
1743         (WebCore::OpaqueRegionSkia::CanvasLayerState::CanvasLayerState):
1744         (CanvasLayerState):
1745         * platform/graphics/skia/PlatformContextSkia.cpp:
1746         (WebCore::PlatformContextSkia::restoreLayer):
1747
1748 2012-04-23  Antti Koivisto  <antti@apple.com>
1749
1750         Consolidate external stylesheet quirks handling to StyleSheetInternal
1751         https://bugs.webkit.org/show_bug.cgi?id=84632
1752
1753         Reviewed by Andreas Kling.
1754
1755         Move the repeated code from StyleImportRule and HTMLLinkElement to StyleSheetInternal::parseUserStyleSheet.
1756         
1757         Remove a BUILDING_ON_LEOPARD-only quirk.
1758
1759         * css/CSSImportRule.cpp:
1760         (WebCore::StyleRuleImport::setCSSStyleSheet):
1761         * css/CSSParser.cpp:
1762         (WebCore):
1763         (WebCore::CSSParserContext::CSSParserContext):
1764         
1765             Add new settings bits to the CSSParserContext. These are used for external stylesheet parsing quirks.
1766
1767         * css/CSSParserMode.h:
1768         (CSSParserContext):
1769         * css/CSSStyleSheet.cpp:
1770         (WebCore::StyleSheetInternal::parseUserStyleSheet):
1771         (WebCore::StyleSheetInternal::parseString):
1772         (WebCore):
1773         (WebCore::StyleSheetInternal::parseStringAtLine):
1774         * css/CSSStyleSheet.h:
1775         (WebCore):
1776         (StyleSheetInternal):
1777         * html/HTMLLinkElement.cpp:
1778         (WebCore::HTMLLinkElement::setCSSStyleSheet):
1779
1780 2012-04-24  Yael Aharon  <yael.aharon@nokia.com>
1781
1782         [Qt] Move notification icon download out of WebCore
1783         https://bugs.webkit.org/show_bug.cgi?id=80700
1784
1785         Reviewed by Simon Hausmann.
1786
1787         Remove the code that downloads the notification's icon out of WebCore.
1788         Other ports let the client decide if to download the icon or not.
1789         No new tests. This patch is only removing code.
1790
1791         * notifications/Notification.cpp:
1792         (WebCore::Notification::~Notification):
1793         (WebCore::Notification::show):
1794         (WebCore::Notification::close):
1795         (WebCore::Notification::contextDestroyed):
1796         * notifications/Notification.h:
1797         (Notification):
1798
1799 2012-04-24  Rakesh KN  <rakesh.kn@motorola.com>
1800
1801         RadioNodeList support in HTMLFormElement::elements
1802         https://bugs.webkit.org/show_bug.cgi?id=81854
1803
1804         Implement RadioNodeList support spec'ed at
1805         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#radionodelist
1806
1807         Reviewed by Ryosuke Niwa.
1808
1809         Test: fast/forms/form-collection-radio-node-list.html
1810
1811         * CMakeLists.txt:
1812         Added entries for new files.
1813         * DerivedSources.cpp: Ditto.
1814         * DerivedSources.make: Ditto.
1815         * DerivedSources.pri: Ditto.
1816         * GNUmakefile.list.am: Ditto.
1817         * Target.pri: Ditto.
1818         * WebCore.gypi: Ditto.
1819         * WebCore.vcproj/WebCore.vcproj: Ditto.
1820         * WebCore.xcodeproj/project.pbxproj: Ditto.
1821         * bindings/js/JSHTMLCollectionCustom.cpp:
1822         (WebCore::getNamedItems):
1823         Modified to create RadioNodeList object when FormControlCollection has more than
1824         one element of same name/id.
1825         * bindings/scripts/CodeGeneratorJS.pm:
1826         (GenerateImplementation):
1827         Added code to include Node.h and JSNode.h in JSRadioNodeElement.cpp.
1828         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1829         (WebCore::getNamedItems):
1830         Modified to create RadioNodeList object when FormControlCollection has more than
1831         one element of same name/id.
1832         * html/CollectionType.h:
1833         Added new FormControls type.
1834         * html/HTMLCollection.cpp:
1835         (WebCore::HTMLCollection::shouldIncludeChildren):
1836         (WebCore::HTMLCollection::isAcceptableElement):
1837         Handle FormControls collection type.
1838         * html/HTMLFormCollection.cpp:
1839         (WebCore::HTMLFormCollection::HTMLFormCollection):
1840         Contruct collection of FormControls type.
1841         * html/RadioNodeList.cpp: Added.
1842         (WebCore):
1843         (WebCore::RadioNodeList::RadioNodeList):
1844         (WebCore::RadioNodeList::~RadioNodeList):
1845         (WebCore::toRadioButtonInputElement):
1846         (WebCore::RadioNodeList::value):
1847         (WebCore::RadioNodeList::setValue):
1848         (WebCore::RadioNodeList::nodeMatches):
1849         * html/RadioNodeList.h: Added.
1850         (WebCore):
1851         (RadioNodeList):
1852         (WebCore::RadioNodeList::create):
1853         RadioNodeList implementation.
1854         * html/RadioNodeList.idl: Added.
1855         Idl for generating RadioNodeList JS/V8 bindings.
1856
1857 2012-04-24  Benjamin Poulain  <bpoulain@apple.com>
1858
1859         Implement the field cache of ObjcClass in WebKit types
1860         https://bugs.webkit.org/show_bug.cgi?id=84667
1861
1862         Reviewed by Geoffrey Garen.
1863
1864         Every time we get a field through the Objective-C bridge, we waste some time converting
1865         the incoming string to an CFString.
1866
1867         This patch implement the field cache based on WTF types so that we can return directly
1868         in case of a positive match.
1869
1870         When we do not have a match on the Identifier, we allocate the memory and find the valid field
1871         as before.
1872
1873         * bridge/objc/objc_class.h:
1874         (ObjcClass):
1875         * bridge/objc/objc_class.mm:
1876         (JSC::Bindings::deleteMethod):
1877         (Bindings):
1878         (JSC::Bindings::ObjcClass::ObjcClass):
1879         (JSC::Bindings::ObjcClass::fieldNamed):
1880
1881 2012-04-23  Andy Estes  <aestes@apple.com>
1882
1883         Incremental rendering should be unsuppressed after the load event or a configurable timeout, whichever occurs first.
1884         https://bugs.webkit.org/show_bug.cgi?id=84583
1885
1886         Reviewed by Anders Carlsson.
1887
1888         In high-latency situations, having incremental rendering suppression
1889         enabled makes for a worse experience due to the excessively long time
1890         it takes for the load event to fire. So that clients that opt in to
1891         incremental rendering suppression can mitigate this, add a configurable
1892         timeout in which rendering is re-enabled if the load event has yet to
1893         fire.
1894
1895         * dom/Document.cpp:
1896         (WebCore::Document::Document):
1897         (WebCore::Document::setReadyState): When the document transitions to
1898         the loading state, start a timer; when it transitions to the completed
1899         state, allow visual updates.
1900         (WebCore::Document::setVisualUpdatesAllowed): If visual updates are
1901         allowed, force a repaint. Otherwise, set a flag that suppresses
1902         rendering.
1903         (WebCore::Document::visualUpdatesSuppressionTimerFired): When the timer
1904         fires, allow visual updates.
1905         (WebCore::Document::implicitClose): Remove code that is now called in
1906         setVisualUpdatesAllowed().
1907         * dom/Document.h:
1908         (WebCore::Document::visualUpdatesAllowed):
1909         * page/Settings.cpp:
1910         (WebCore::Settings::Settings):
1911         * page/Settings.h:
1912         (WebCore::Settings::setIncrementalRenderingSuppressionTimeoutInSeconds):
1913         (WebCore::Settings::incrementalRenderingSuppressionTimeoutInSeconds):
1914
1915 2012-04-23  Dana Jansens  <danakj@chromium.org>
1916
1917         [chromium] Image masks are considered opaque incorrectly
1918         https://bugs.webkit.org/show_bug.cgi?id=84275
1919
1920         Reviewed by Adrienne Walker.
1921
1922         Match the behaviour of SkCanvas layers more closely while tracking
1923         opaque paints. SkCanvas layers actually act as a separate device
1924         (ie. pixels) and when the layer is popped off, the pixels are copied
1925         down to the layer below.
1926
1927         While we can use the total clip to decide what pixels the the
1928         drawing operation will affect in the final device, the blending
1929         down through layers needs to consider each layer carefully.
1930
1931         In this case the image mask is drawn into a layer which is copied
1932         down using the DestinationIn operation. Since the layer contains
1933         non-opaque pixels, the DestinationIn copy can destroy opaque
1934         areas in the next layer. We add OpaqueRegionSkia::FillByCopy to
1935         distinguish the case where we are copying a block of pixels, and the
1936         alpha values are essentially unknown.
1937
1938         Unit test: PlatformContextSkiaTest.trackImageMask
1939                    PlatformContextSkiaTest.trackImageMaskWithOpaqueRect
1940
1941         * platform/graphics/skia/OpaqueRegionSkia.cpp:
1942         (WebCore::paintIsOpaque):
1943         (WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
1944         (WebCore::OpaqueRegionSkia::pushCanvasLayer):
1945         (WebCore::OpaqueRegionSkia::popCanvasLayer):
1946         (WebCore::OpaqueRegionSkia::didDrawRect):
1947         (WebCore::OpaqueRegionSkia::didDrawPath):
1948         (WebCore::OpaqueRegionSkia::didDrawPoints):
1949         (WebCore::OpaqueRegionSkia::didDrawBounded):
1950         (WebCore::OpaqueRegionSkia::didDraw):
1951         (WebCore::OpaqueRegionSkia::didDrawUnbounded):
1952         (WebCore::OpaqueRegionSkia::markRectAsOpaque):
1953         (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
1954         (WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
1955         * platform/graphics/skia/OpaqueRegionSkia.h:
1956         (OpaqueRegionSkia):
1957         (CanvasLayerState):
1958         * platform/graphics/skia/PlatformContextSkia.cpp:
1959         (WebCore::PlatformContextSkia::restoreLayer):
1960
1961 2012-04-23  Kent Tamura  <tkent@chromium.org>
1962
1963         Show the format indicator in a date field
1964         https://bugs.webkit.org/show_bug.cgi?id=83872
1965
1966         Reviewed by Hajime Morita.
1967
1968         Enable the fixed placeholder feature for the date type, and show
1969         the editable date format as the fixed placeholder.
1970         The format string is created by the following steps.
1971         1. Obtain a pattern string from ICU
1972           http://icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details
1973         2. Replace a sequence of 'y', 'Y', 'M', or 'd' in the pattern with
1974           a natural language string such as "year", "month", or "day".
1975
1976         Test: fast/forms/date/date-fixed-placeholder.html
1977
1978         * html/DateInputType.cpp:
1979         (WebCore::DateInputType::supportsPlaceholder): Added. Returns true.
1980         (WebCore::DateInputType::usesFixedPlaceholder): Added. Returns true.
1981         (WebCore::DateInputType::fixedPlaceholder):
1982         Added. Calls localizedDateFormatText() provided by LocalizedDate.h.
1983         * html/DateInputType.h:
1984         (DateInputType): Add declarations of new override functions.
1985         * platform/LocalizedStrings.h:
1986         (WebCore): Add dateFormat{Year,Month,DayInMonth}Text()
1987         * platform/text/ICULocale.cpp:
1988         (WebCore::isICUYearSymbol): A function to improve redability.
1989         (WebCore::isICUMonthSymbol): ditto.
1990         (WebCore::isICUDayInMonthSymbol): ditto.
1991         (WebCore::localizeFormat): Step 2 of the above description.
1992         (WebCore::ICULocale::initializeLocalizedDateFormatText):
1993         Step 1 of the above description.
1994         (WebCore::ICULocale::localizedDateFormatText):
1995         * platform/text/ICULocale.h:
1996         (ICULocale): Add new functions and a data member.
1997         * platform/text/LocalizedDate.h:
1998         (WebCore): Add localizedDateFormatText().
1999         * platform/text/LocalizedDateICU.cpp:
2000         (WebCore::localizedDateFormatText):
2001         Just call ICULocale::localizedDateFormatText().
2002
2003 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2004
2005         [V8] Pass Isolate to v8Array()
2006         https://bugs.webkit.org/show_bug.cgi?id=84295
2007
2008         Reviewed by Nate Chapin.
2009
2010         The final objective is to pass Isolate around in V8 bindings.
2011         This patch passes the Isolate to v8Array().
2012
2013         (GenerateNormalAttrGetter):
2014         (NativeToJSValue):
2015         * bindings/scripts/test/V8/V8TestObj.cpp:
2016         (WebCore::TestObjV8Internal::sequenceAttrAttrGetter):
2017         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
2018         * bindings/v8/V8Binding.h:
2019         (WebCore::v8Array):
2020
2021 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2022
2023         [V8] Pass Isolate to GetNamedProperty()
2024         https://bugs.webkit.org/show_bug.cgi?id=84277
2025
2026         Reviewed by Nate Chapin.
2027
2028         The objective is to pass Isolate around in V8 bindings.
2029         This patch passes Isolate to GetNamedProperty().
2030
2031         (GenerateHeader):
2032         * bindings/v8/V8DOMWindowShell.cpp:
2033         (WebCore::getter):
2034         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2035         (WebCore::V8HTMLDocument::GetNamedProperty):
2036         (WebCore::V8HTMLDocument::allAccessorGetter):
2037
2038 2012-04-23  Michael Nordman  <michaeln@google.com>
2039
2040         [chromium] DomStorage event handling mods.
2041         https://bugs.webkit.org/show_bug.cgi?id=84387
2042
2043         Add a few simple inline getters to allow the source Document of a storage
2044         event to be identified given a pointer to the source StorageArea so those
2045         Documents can be excluded by the event dispatching logic.
2046
2047         Reviewed by Dimitri Glazkov.
2048
2049         No new tests. No new functionality or change in behavior.
2050
2051         * page/DOMWindow.h:
2052         (WebCore::DOMWindow::optionalSessionStorage): simple inline getter to avoid construction where possible
2053         (WebCore::DOMWindow::optionalLocalStorage): ditto
2054         * storage/Storage.h:
2055         (WebCore::Storage::area): simple inline getter
2056
2057 2012-04-23  Kenneth Russell  <kbr@google.com>
2058
2059         Change ImageData to reference Uint8ClampedArray rather than CanvasPixelArray
2060         https://bugs.webkit.org/show_bug.cgi?id=73011
2061
2062         Reviewed by Oliver Hunt.
2063
2064         Changed ImageData to contain Uint8ClampedArray instead of ByteArray
2065         per current HTML5 spec.
2066
2067         In order to avoid introducing large data copies, it was necessary to
2068         switch a few other places in WebKit to use Uint8ClampedArray at the
2069         same time, most notably the FilterEffect implementation, portions of
2070         ImageBuffer, and a couple of places in the image encoders.
2071
2072         Note that the change in method name from "get" to "item" occurred
2073         because JSC's autogenerated indexed getters reference a method
2074         called "item". If desired, a convenience method could be
2075         introduced to avoid the renamings in the FilterEffect classes.
2076
2077         With these changes, ByteArray and some custom code in JavaScriptCore
2078         actually become unreferenced, and can be deleted. This deletion will
2079         be done separately in Bug 83655, to keep the size of this patch
2080         manageable.
2081
2082         Test: fast/canvas/imagedata-contains-uint8clampedarray.html
2083
2084         * bindings/js/JSImageDataCustom.cpp:
2085         (WebCore::toJS):
2086         * bindings/js/SerializedScriptValue.cpp:
2087         (WebCore::CloneSerializer::dumpIfTerminal):
2088         (WebCore::CloneDeserializer::readTerminal):
2089         * bindings/v8/SerializedScriptValue.cpp:
2090         * bindings/v8/custom/V8ImageDataCustom.cpp:
2091         (WebCore::toV8):
2092         * bridge/qt/qt_pixmapruntime.cpp:
2093         (JSC::Bindings::QtPixmapToImageDataMethod::invoke):
2094         * html/ImageData.cpp:
2095         (WebCore::ImageData::create):
2096         (WebCore::ImageData::ImageData):
2097         * html/ImageData.h:
2098         (ImageData):
2099         (WebCore::ImageData::data):
2100         * html/ImageData.idl:
2101         * html/canvas/CanvasRenderingContext2D.cpp:
2102         (WebCore::createEmptyImageData):
2103         (WebCore::CanvasRenderingContext2D::getImageData):
2104         (WebCore::CanvasRenderingContext2D::putImageData):
2105         * platform/graphics/GraphicsContext3D.cpp:
2106         (WebCore::GraphicsContext3D::extractImageData):
2107         * platform/graphics/ImageBuffer.cpp:
2108         (WebCore::ImageBuffer::genericConvertToLuminanceMask):
2109         * platform/graphics/ImageBuffer.h:
2110         * platform/graphics/ShadowBlur.cpp:
2111         (WebCore::ShadowBlur::blurShadowBuffer):
2112         * platform/graphics/cairo/ImageBufferCairo.cpp:
2113         (WebCore::getImageData):
2114         (WebCore::ImageBuffer::getUnmultipliedImageData):
2115         (WebCore::ImageBuffer::getPremultipliedImageData):
2116         (WebCore::ImageBuffer::putByteArray):
2117         * platform/graphics/cg/ImageBufferCG.cpp:
2118         (WebCore::ImageBuffer::getUnmultipliedImageData):
2119         (WebCore::ImageBuffer::getPremultipliedImageData):
2120         (WebCore::ImageBuffer::putByteArray):
2121         (WebCore::ImageBuffer::toDataURL):
2122         (WebCore::ImageDataToDataURL):
2123         * platform/graphics/cg/ImageBufferDataCG.cpp:
2124         (WebCore::ImageBufferData::getData):
2125         (WebCore::ImageBufferData::putData):
2126         * platform/graphics/cg/ImageBufferDataCG.h:
2127         (ImageBufferData):
2128         * platform/graphics/filters/FEBlend.cpp:
2129         (WebCore::FEBlend::platformApplySoftware):
2130         * platform/graphics/filters/FEColorMatrix.cpp:
2131         (WebCore::effectType):
2132         (WebCore::FEColorMatrix::platformApplySoftware):
2133         * platform/graphics/filters/FEComponentTransfer.cpp:
2134         (WebCore::FEComponentTransfer::platformApplySoftware):
2135         * platform/graphics/filters/FEComposite.cpp:
2136         (WebCore::FEComposite::platformArithmeticSoftware):
2137         (WebCore::FEComposite::platformApplySoftware):
2138         * platform/graphics/filters/FEComposite.h:
2139         * platform/graphics/filters/FEConvolveMatrix.cpp:
2140         (WebCore::setDestinationPixels):
2141         (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
2142         (WebCore::FEConvolveMatrix::fastSetOuterPixels):
2143         (WebCore::FEConvolveMatrix::platformApplySoftware):
2144         * platform/graphics/filters/FEConvolveMatrix.h:
2145         (PaintingData):
2146         * platform/graphics/filters/FECustomFilter.cpp:
2147         (WebCore::FECustomFilter::platformApplySoftware):
2148         (WebCore::FECustomFilter::bindProgramAndBuffers):
2149         * platform/graphics/filters/FECustomFilter.h:
2150         (JSC):
2151         (FECustomFilter):
2152         * platform/graphics/filters/FEDisplacementMap.cpp:
2153         (WebCore::FEDisplacementMap::platformApplySoftware):
2154         * platform/graphics/filters/FEDropShadow.cpp:
2155         (WebCore::FEDropShadow::platformApplySoftware):
2156         * platform/graphics/filters/FEGaussianBlur.cpp:
2157         (WebCore::boxBlur):
2158         (WebCore::FEGaussianBlur::platformApplyGeneric):
2159         (WebCore::FEGaussianBlur::platformApply):
2160         (WebCore::FEGaussianBlur::platformApplySoftware):
2161         * platform/graphics/filters/FEGaussianBlur.h:
2162         (PlatformApplyParameters):
2163         (FEGaussianBlur):
2164         * platform/graphics/filters/FELighting.cpp:
2165         (WebCore::FELighting::LightingData::topLeft):
2166         (WebCore::FELighting::LightingData::topRow):
2167         (WebCore::FELighting::LightingData::topRight):
2168         (WebCore::FELighting::LightingData::leftColumn):
2169         (WebCore::FELighting::LightingData::interior):
2170         (WebCore::FELighting::LightingData::rightColumn):
2171         (WebCore::FELighting::LightingData::bottomLeft):
2172         (WebCore::FELighting::LightingData::bottomRow):
2173         (WebCore::FELighting::LightingData::bottomRight):
2174         (WebCore::FELighting::inlineSetPixel):
2175         (WebCore::FELighting::drawLighting):
2176         (WebCore::FELighting::platformApplySoftware):
2177         * platform/graphics/filters/FELighting.h:
2178         (LightingData):
2179         (FELighting):
2180         * platform/graphics/filters/FEMorphology.cpp:
2181         (WebCore::FEMorphology::platformApplyGeneric):
2182         (WebCore::FEMorphology::platformApplySoftware):
2183         * platform/graphics/filters/FEMorphology.h:
2184         (PaintingData):
2185         * platform/graphics/filters/FETurbulence.cpp:
2186         (WebCore::FETurbulence::fillRegion):
2187         (WebCore::FETurbulence::platformApplySoftware):
2188         * platform/graphics/filters/FETurbulence.h:
2189         (FillRegionParameters):
2190         (FETurbulence):
2191         * platform/graphics/filters/FilterEffect.cpp:
2192         (WebCore::FilterEffect::forceValidPreMultipliedPixels):
2193         (WebCore::FilterEffect::asUnmultipliedImage):
2194         (WebCore::FilterEffect::asPremultipliedImage):
2195         (WebCore::FilterEffect::copyImageBytes):
2196         (WebCore::FilterEffect::copyUnmultipliedImage):
2197         (WebCore::FilterEffect::copyPremultipliedImage):
2198         (WebCore::FilterEffect::createUnmultipliedImageResult):
2199         (WebCore::FilterEffect::createPremultipliedImageResult):
2200         * platform/graphics/filters/FilterEffect.h:
2201         (FilterEffect):
2202         * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
2203         (WebCore::FEGaussianBlur::platformApplyNeon):
2204         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2205         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
2206         * platform/graphics/qt/ImageBufferQt.cpp:
2207         (WebCore::getImageData):
2208         (WebCore::ImageBuffer::getUnmultipliedImageData):
2209         (WebCore::ImageBuffer::getPremultipliedImageData):
2210         (WebCore::ImageBuffer::putByteArray):
2211         * platform/graphics/skia/ImageBufferSkia.cpp:
2212         (WebCore::getImageData):
2213         (WebCore::ImageBuffer::getUnmultipliedImageData):
2214         (WebCore::ImageBuffer::getPremultipliedImageData):
2215         (WebCore::ImageBuffer::putByteArray):
2216         * platform/graphics/texmap/TextureMapperGL.cpp:
2217         * platform/graphics/wince/ImageBufferWinCE.cpp:
2218         (WebCore::getImageData):
2219         (WebCore::ImageBuffer::getUnmultipliedImageData):
2220         (WebCore::ImageBuffer::getPremultipliedImageData):
2221         (WebCore::ImageBuffer::putByteArray):
2222         * platform/graphics/wx/ImageBufferWx.cpp:
2223         (WebCore::ImageBuffer::getUnmultipliedImageData):
2224         (WebCore::ImageBuffer::getPremultipliedImageData):
2225         (WebCore::ImageBuffer::putByteArray):
2226         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
2227         (WebCore::JPEGImageEncoder::encode):
2228         * platform/image-encoders/skia/PNGImageEncoder.cpp:
2229         (WebCore::PNGImageEncoder::encode):
2230         * platform/image-encoders/skia/WEBPImageEncoder.cpp:
2231         (WebCore::WEBPImageEncoder::encode):
2232
2233 2012-04-23  Ryan Sleevi  <rsleevi@chromium.org>
2234
2235         [chromium] Remove deleted files from WebCore.gypi and fix typo
2236         https://bugs.webkit.org/show_bug.cgi?id=84651
2237
2238         Reviewed by Ryosuke Niwa.
2239
2240         No new tests. No behavior change.
2241
2242         * WebCore.gypi:
2243         Remove references to PlatformMouseEventQt.cpp and WheelEventQt.cpp. Add a missing comma.
2244
2245 2012-04-23  Erik Arvidsson  <arv@chromium.org>
2246
2247         [V8] Fix issue with trying to access a constructor in a frame that has been removed
2248         https://bugs.webkit.org/show_bug.cgi?id=84640
2249
2250         Reviewed by Kentaro Hara.
2251
2252         This regressed in r113250. Now we do what we did before and return undefined if the frame
2253         does not have a context.
2254
2255         Test: fast/dom/constructor-in-removed-frame.html
2256
2257         * bindings/v8/V8DOMWrapper.cpp:
2258         (WebCore::V8DOMWrapper::constructorForType):
2259
2260 2012-04-23  Chris Rogers  <crogers@google.com>
2261
2262         Oscillator::setWaveTable() should not reset oscillator phase
2263         https://bugs.webkit.org/show_bug.cgi?id=84647
2264         
2265         Reviewed by Kenneth Russell.
2266
2267         * Modules/webaudio/Oscillator.cpp:
2268         (WebCore::Oscillator::setWaveTable):
2269
2270 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2271
2272         [V8][Refactoring] Remove V8Proxy::throwSyntaxError()
2273         https://bugs.webkit.org/show_bug.cgi?id=84627
2274
2275         Reviewed by Nate Chapin.
2276
2277         This patch removes V8Proxy::throwSyntaxError()
2278         since it is no longer used.
2279
2280         No tests. No change in behavior.
2281
2282         * bindings/v8/V8Proxy.cpp:
2283         * bindings/v8/V8Proxy.h:
2284         (V8Proxy):
2285
2286 2012-04-18  James Robinson  <jamesr@chromium.org>
2287
2288         [chromium] Use TextureLayerChromium for WebGL content instead of a dedicated layer type
2289         https://bugs.webkit.org/show_bug.cgi?id=84311
2290
2291         Reviewed by Adrienne Walker.
2292
2293         WebGL content's interface with the compositor can be expressed in terms of two basic operations:
2294         1.) Do some stuff
2295         2.) Provide a texture ID for the compositor to use
2296
2297         This implements (1) in DrawingBufferChromium and uses the already-existing TextureLayerChromium to handle (2).
2298         This cuts down the compositor interface significantly and allows for more code reuse in exchange for more code
2299         in TextureLayerChromium to handle the features WebGL needs.
2300
2301         * WebCore.gypi:
2302         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2303         (WebCore::DrawingBuffer::~DrawingBuffer):
2304         (DrawingBufferPrivate):
2305         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
2306         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
2307         (WebCore::DrawingBufferPrivate::layer):
2308         (WebCore):
2309         (WebCore::DrawingBuffer::platformLayer):
2310         * platform/graphics/chromium/LayerRendererChromium.cpp:
2311         * platform/graphics/chromium/TextureLayerChromium.h:
2312         (TextureLayerChromiumClient):
2313         (WebCore::TextureLayerChromiumClient::~TextureLayerChromiumClient):
2314         (WebCore):
2315         (TextureLayerChromium):
2316         (WebCore::TextureLayerChromium::clearClient):
2317         * platform/graphics/chromium/WebGLLayerChromium.cpp: Removed.
2318         * platform/graphics/chromium/WebGLLayerChromium.h: Removed.
2319         * platform/graphics/gpu/DrawingBuffer.h:
2320         (WebCore):
2321         (WebCore::DrawingBuffer::graphicsContext3D):
2322         (DrawingBuffer):
2323
2324 2012-04-23  Alec Flett  <alecflett@chromium.org>
2325
2326         IndexedDB: remove IDB(Index|ObjectStore)BackendImpl::get/getKey for IDBKey
2327         https://bugs.webkit.org/show_bug.cgi?id=84285
2328
2329         Reviewed by Dimitri Glazkov.
2330
2331         No new tests required, this code is no longer called.
2332
2333         This is old code supporting IDBKey-based lookup, supplanted by
2334         IDBKeyRange. Now that chromium IPC/proxy code has landed,
2335         these functions can be removed.
2336
2337         * Modules/indexeddb/IDBIndexBackendInterface.h:
2338         (IDBIndexBackendInterface):
2339         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
2340         (IDBObjectStoreBackendInterface):
2341
2342 2012-04-22  Martin Robinson  <mrobinson@igalia.com>
2343
2344         REGRESSION(113604): [Soup] Some pages that use synchronous XMLHttpRequests freeze the browser
2345         https://bugs.webkit.org/show_bug.cgi?id=84560
2346
2347         Reviewed by Xan Lopez.
2348
2349         When kicking off a synchronous XMLHttpRequest, add one to the connection
2350         limit. This ensures that when a page starts a synchronous request, while
2351         already at the connection limit the request will not deadlock.
2352
2353         * platform/network/soup/ResourceHandleSoup.cpp:
2354         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Accept a new SoupSession
2355         argument so that we can get the correct SoupSession for the networking context. Bump
2356         the connection limit.
2357         (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Decrement the connection limit.
2358         (WebCore::WebCoreSynchronousLoader::adjustMaxConnections): Added this helper.
2359         (WebCoreSynchronousLoader): Added a new SoupSession member.
2360         (WebCore::sessionFromContext): Added this helper.
2361         (WebCore::ResourceHandleInternal::soupSession): Use the new sessionFromContext helper.
2362         (WebCore::ResourceHandle::loadResourceSynchronously): Pass the SoupSession from the NetworkingContext
2363         to the synchronous loader.
2364
2365 2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2366
2367         Unreviewed, rolling out r114965.
2368         http://trac.webkit.org/changeset/114965
2369         https://bugs.webkit.org/show_bug.cgi?id=84665
2370
2371         Four new resource load delegate test failures (Requested by
2372         jernoble on #webkit).
2373
2374         * loader/SubresourceLoader.cpp:
2375         (WebCore::SubresourceLoader::didFinishLoading):
2376         (WebCore::SubresourceLoader::didFail):
2377         (WebCore::SubresourceLoader::willCancel):
2378         (WebCore::SubresourceLoader::releaseResources):
2379
2380 2012-04-23  Beth Dakin  <bdakin@apple.com>
2381
2382         https://bugs.webkit.org/show_bug.cgi?id=84649
2383         RenderMathMLOperator currently ignores font families, fails 
2384         to use Stix
2385
2386         Reviewed by Dan Bernstein.
2387
2388         This patch makes RenderMathMLOperator honor the font-family 
2389         list. This means that by default, Stix glyphs will now be 
2390         used for operators just like for other MathML content. 
2391         Unfortunately, just doing that resulted in a bug because of 
2392         the fragile hardcoded glyph sizes. The Stix vertical bar 
2393         glyph is much smaller than the code assumed any glyphs would 
2394         be. That code should be re-written, but in the meantime, I 
2395         put a fix in place to try to make it work for small glyphs.
2396
2397         These new functions should be used instead of accessing
2398         gGlyphHeight or gGlyphLineHeight directly. If the glyph is
2399         smaller than the expected hardcoded value, then the actual
2400         glyph height is used, and a new line height based on the
2401         glyph height is used.
2402         (WebCore::RenderMathMLOperator::glyphHeightForCharacter):
2403         (WebCore::RenderMathMLOperator::lineHeightForCharacter):
2404
2405         Use the style's FontDescription to honor the font family
2406         list and the style's FontSelector to honor @font-face.
2407         Also use glyphHeightForCharacter() instead of gGlyphHeight. 
2408         And now that createGlyph() takes a lineHeight, use 
2409         lineHeightForCharacter() to determine the right value. 
2410         (WebCore::RenderMathMLOperator::updateFromElement):
2411
2412         size was an ambiguous variable name, so I renamed it to the 
2413         more accurate maxHeightForRenderer. This function also now
2414         takes a lineHeight instead of using gGlyphLineHeight. And
2415         again, use the style's FontDescription and FontSelector.
2416         (WebCore::RenderMathMLOperator::createStackableStyle):
2417
2418         Re-name size to maxHeightForRenderer, and take lineHeight as 
2419         a parameter.
2420         (WebCore::RenderMathMLOperator::createGlyph):
2421         * rendering/mathml/RenderMathMLOperator.h:
2422         (RenderMathMLOperator):
2423
2424 2012-04-23  Eriq Augustine  <eaugusti@chromium.org>
2425
2426         Return value from executed script in Chromium.
2427         https://bugs.webkit.org/show_bug.cgi?id=79851
2428
2429         Reviewed by Adam Barth.
2430
2431         Providing a varaiant of evaluateScriptInIsolatedWorld that
2432         returns the value of the evaluated script.
2433
2434         Test: platform/chromium/http/tests/misc/execute-and-return-value.html
2435
2436         * bindings/v8/ScriptController.cpp:
2437         (WebCore::ScriptController::evaluateInIsolatedWorld):
2438         * bindings/v8/ScriptController.h:
2439         (ScriptController):
2440         * bindings/v8/V8Proxy.cpp:
2441         (WebCore::V8Proxy::evaluateInIsolatedWorld):
2442         * bindings/v8/V8Proxy.h:
2443         (V8Proxy):
2444
2445 2012-04-23  Kent Tamura  <tkent@chromium.org>
2446
2447         RenderDetailsMarker should draw the triangle inside the content box
2448         https://bugs.webkit.org/show_bug.cgi?id=84557
2449
2450         Reviewed by Hajime Morita.
2451
2452         RenderDetailsMarker didn't support cases in which a marker has
2453         borders and/or padings, or non-square size.
2454
2455         Test: fast/html/details-marker-style.html
2456
2457         * rendering/RenderDetailsMarker.cpp:
2458         (WebCore::RenderDetailsMarker::getPath):
2459         Scale by contentWidth() and contentHeight().
2460         (WebCore::RenderDetailsMarker::paint):
2461         Move the trianle origin by the ammount of left/top borders and paddings.
2462
2463 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2464
2465         [V8] Pass Isolate to toV8() (Part6)
2466         https://bugs.webkit.org/show_bug.cgi?id=84273
2467
2468         Reviewed by Nate Chapin.
2469
2470         The objective is to pass Isolate to all toV8()s.
2471         Since there are a lot of toV8()s, I'll make the change
2472         step by step. This patch passes Isolate to toV8() in
2473         several custom bindings.
2474
2475         No tests. No change in behavior.
2476
2477         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
2478         (WebCore::getNamedItems):
2479         (WebCore::getItem):
2480         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
2481         (WebCore::V8HTMLAllCollection::itemCallback):
2482         (WebCore::V8HTMLAllCollection::namedItemCallback):
2483         (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
2484         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2485         (WebCore::getNamedItems):
2486         (WebCore::V8HTMLCollection::namedPropertyGetter):
2487         (WebCore::V8HTMLCollection::namedItemCallback):
2488         (WebCore::toV8):
2489         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
2490         (WebCore::toV8):
2491         * bindings/v8/custom/V8StyleSheetCustom.cpp:
2492         (WebCore::toV8):
2493         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
2494         (WebCore::V8StyleSheetList::namedPropertyGetter):
2495         * bindings/v8/custom/V8TrackEventCustom.cpp:
2496         (WebCore::V8TrackEvent::trackAccessorGetter):
2497         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2498         (WebCore::toV8Object):
2499         (WebCore::getObjectParameter):
2500         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
2501         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
2502         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
2503         (WebCore::V8WebGLRenderingContext::getParameterCallback):
2504         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
2505         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
2506         (WebCore::V8WebGLRenderingContext::getUniformCallback):
2507         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2508         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
2509         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
2510         (WebCore::V8XSLTProcessor::transformToFragmentCallback):
2511         (WebCore::V8XSLTProcessor::transformToDocumentCallback):
2512
2513 2012-04-23  Kent Tamura  <tkent@chromium.org>
2514
2515         Move the content of LocalizedCalendarICU.cpp and LocalizedDateICU.cpp to ICULocale.cpp.
2516         https://bugs.webkit.org/show_bug.cgi?id=84568
2517
2518         Reviewed by Hajime Morita.
2519
2520         Move it to ICULocal.cpp because we want to share UDateFormat
2521         object in LocalizedDate functions and LocalizedCalendar functions,
2522         and it becomes easier to cache the UDateFormat object, and making
2523         unit tests for these functions easier.
2524
2525         No new tests because of no bahevior changes.
2526
2527         * platform/text/ICULocale.cpp:
2528         (WebCore::ICULocale::ICULocale): Initialize new members.
2529         (WebCore::ICULocale::~ICULocale): Delete m_shortDateFormat.
2530         (WebCore::ICULocale::initializeShortDateFormat):
2531         Moved from creteShortDateFormatter of LocalizedDateICU.cpp.
2532         (WebCore::ICULocale::parseLocalizedDate):
2533         Moved from LocalizedDate.cpp, use m_shortDateFormat.
2534         (WebCore::ICULocale::formatLocalizedDate): ditto.
2535         (WebCore::ICULocale::createLabelVector):
2536         Moved from LocalizedCalendarICU.cpp, use m_shortDateFormat.
2537         (WebCore::createFallbackMonthLabels): Moved from LocalizedCalendarICU.cpp.
2538         (WebCore::createFallbackWeekDayShortLabels): ditto.
2539         (WebCore::ICULocale::initializeCalendar):
2540         lazy initialization of m_monthLabels, m_weekDayShortLabels, and m_firstDayOfWeek.
2541         (WebCore::ICULocale::monthLabels):
2542         (WebCore::ICULocale::weekDayShortLabels):
2543         (WebCore::ICULocale::firstDayOfWeek):
2544         * platform/text/ICULocale.h:
2545         (ICULocale): Add declarations.
2546         * platform/text/LocalizedCalendarICU.cpp:
2547         (WebCore::monthLabels): Use ICULocale::currentLocale().
2548         (WebCore::weekDayShortLabels): ditto.
2549         (WebCore::firstDayOfWeek): ditto.
2550         * platform/text/LocalizedDateICU.cpp:
2551         (WebCore::parseLocalizedDate): ditto.
2552         (WebCore::formatLocalizedDate): ditto.
2553
2554 2012-04-23  Raymond Toy  <rtoy@google.com>
2555
2556         Move AudioDestinationChromium FIFO class to its own class.
2557         https://bugs.webkit.org/show_bug.cgi?id=84058
2558
2559         Reviewed by Chris Rogers.
2560
2561         Current tests cover the changes.
2562
2563         * WebCore.gypi: Update with new files.
2564         * platform/audio/AudioPullFIFO.cpp: Copied from Source/WebKit/chromium/src/AudioDestinationChromium.cpp.
2565         (WebCore): Renamed old class the AudioPullFIFO.
2566         (WebCore::AudioPullFIFO::AudioPullFIFO):
2567         (WebCore::AudioPullFIFO::consume):
2568         (WebCore::AudioPullFIFO::findWrapLengths):
2569         (WebCore::AudioPullFIFO::fillBuffer):
2570         * platform/audio/AudioPullFIFO.h: Added.
2571         (WebCore):
2572         (AudioPullFIFO):
2573         (WebCore::AudioPullFIFO::updateIndex):
2574
2575 2012-04-23  Nate Chapin  <japhet@chromium.org>
2576
2577         REGRESSION (r100311): YummySoup app crashes when trying to print
2578         https://bugs.webkit.org/show_bug.cgi?id=83918
2579
2580         Reviewed by Alexey Proskuryakov.
2581
2582         Test: http/tests/xmlhttprequest/cancel-during-failure-crash.html
2583
2584         * loader/SubresourceLoader.cpp:
2585         (WebCore::SubresourceLoader::didFinishLoading):
2586         (WebCore::SubresourceLoader::didFail):
2587         (WebCore::SubresourceLoader::willCancel): Now that we might enter the function if we're already Finishing,
2588             some cleanup needs to be done in the Initialized state only.
2589         (WebCore::SubresourceLoader::releaseResources): Move requesting counting decrement and laodDone() to
2590             the finishing functions.
2591
2592 2012-04-23  Shawn Singh  <shawnsingh@chromium.org>
2593
2594         [chromium] Visualize accelerated compositor rects.
2595         https://bugs.webkit.org/show_bug.cgi?id=79400
2596
2597         Reviewed by Adrienne Walker.
2598
2599         No tests, all the code added is only debugging code.
2600
2601         This patch adds support for visualizing three different types of
2602         rects on the chromium heads-up display:
2603         1. updateRects that indicate what was painted/uploaded to a resource
2604         2. propertyChangedRects that indicate layers that has property changes
2605         3. surfaceDamageRects that are the accumulation of updateRects and
2606            propertyChangedRects, indicating what pixels on the screen have
2607            actually changed.  (Surface damage also accounts for newly exposed
2608            areas but that is not explicitly visualized.)
2609
2610         In addition to adding support for visualizing this, the
2611         CCHeadsUpDisplay was significantly refactored, separating the FPS
2612         Counter functionality into a different class, so that the heads-up
2613         display is all about visualizing annotations, and those
2614         annotations (frame rate, debug rects) are logged separately.
2615
2616         * WebCore.gypi:
2617         * platform/graphics/chromium/cc/CCDebugRectHistory.cpp: Added.
2618         (WebCore):
2619         (WebCore::CCDebugRectHistory::CCDebugRectHistory):
2620         (WebCore::CCDebugRectHistory::enabled):
2621         (WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
2622         (WebCore::CCDebugRectHistory::savePaintRects):
2623         (WebCore::CCDebugRectHistory::savePropertyChangedRects):
2624         (WebCore::CCDebugRectHistory::saveSurfaceDamageRects):
2625         * platform/graphics/chromium/cc/CCDebugRectHistory.h: Added.
2626         (WebCore):
2627         (WebCore::CCDebugRect::CCDebugRect):
2628         (CCDebugRect):
2629         (CCDebugRectHistory):
2630         (WebCore::CCDebugRectHistory::create):
2631         (WebCore::CCDebugRectHistory::debugRects):
2632         * platform/graphics/chromium/cc/CCFrameRateCounter.cpp: Added.
2633         (WebCore):
2634         (WebCore::safeMod):
2635         (WebCore::CCFrameRateCounter::frameIndex):
2636         (WebCore::CCFrameRateCounter::CCFrameRateCounter):
2637         (WebCore::CCFrameRateCounter::markBeginningOfFrame):
2638         (WebCore::CCFrameRateCounter::markEndOfFrame):
2639         (WebCore::CCFrameRateCounter::isBadFrameInterval):
2640         (WebCore::CCFrameRateCounter::isBadFrame):
2641         (WebCore::CCFrameRateCounter::getAverageFPSAndStandardDeviation):
2642         (WebCore::CCFrameRateCounter::timeStampOfRecentFrame):
2643         * platform/graphics/chromium/cc/CCFrameRateCounter.h: Added.
2644         (WebCore):
2645         (CCFrameRateCounter):
2646         (WebCore::CCFrameRateCounter::create):
2647         (WebCore::CCFrameRateCounter::currentFrameNumber):
2648         (WebCore::CCFrameRateCounter::timeStampHistorySize):
2649         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2650         (WebCore):
2651         (WebCore::CCHeadsUpDisplay::enabled):
2652         (WebCore::CCHeadsUpDisplay::showDebugRects):
2653         (WebCore::CCHeadsUpDisplay::draw):
2654         (WebCore::CCHeadsUpDisplay::drawHudContents):
2655         (WebCore::CCHeadsUpDisplay::drawFPSCounter):
2656         (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
2657         (WebCore::CCHeadsUpDisplay::drawDebugRects):
2658         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
2659         (WebCore):
2660         (CCHeadsUpDisplay):
2661         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
2662         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2663         (WebCore::CCSettings::CCSettings):
2664         (CCSettings):
2665         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2666         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2667         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2668         (WebCore::CCLayerTreeHostImpl::drawLayers):
2669         (WebCore::CCLayerTreeHostImpl::swapBuffers):
2670         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2671         (WebCore):
2672         (WebCore::CCLayerTreeHostImpl::fpsCounter):
2673         (WebCore::CCLayerTreeHostImpl::debugRectHistory):
2674         (CCLayerTreeHostImpl):
2675
2676 2012-04-23  Julien Chaffraix  <jchaffraix@webkit.org>
2677
2678         Cut dependency on RenderLayer::scrollRectToVisible outside rendering
2679         https://bugs.webkit.org/show_bug.cgi?id=84607
2680
2681         Reviewed by Simon Fraser.
2682
2683         Layering fix only, there should be no change behavior.
2684
2685         Because we don't have an accessor on RenderObject, a lot of the code needs
2686         to know about RenderLayer. This is not necessary and exposes RenderLayer to
2687         objects that shouldn't know about it.
2688
2689         This patch adds a RenderObject::scrollRectToVisible with the ad-hoc explanation
2690         as to why it isn't on RenderBox (scrolling is a RenderBox concept).
2691
2692         * WebCore.exp.in:
2693         * WebCore.order:
2694         Updated to expose the new method.
2695
2696         * dom/Element.cpp:
2697         (WebCore::Element::scrollIntoView):
2698         (WebCore::Element::scrollIntoViewIfNeeded):
2699         (WebCore::Element::updateFocusAppearance):
2700         * editing/Editor.cpp:
2701         (WebCore::Editor::findStringAndScrollToVisible):
2702         * editing/FrameSelection.cpp:
2703         (WebCore::FrameSelection::revealSelection):
2704         * page/FrameView.cpp:
2705         (WebCore::FrameView::scrollToAnchor):
2706         Updated those call sites to use the new function.
2707
2708         * rendering/RenderLayer.h:
2709         Removed ScrollBehavior.h #include and default argument values
2710         as we are always called through RenderObject now.
2711
2712         * rendering/RenderObject.cpp:
2713         (WebCore::RenderObject::scrollRectToVisible):
2714         * rendering/RenderObject.h:
2715         Added a new function that just forwards to the enclosing layer
2716         if any. We return whether we actually tried to scroll to match
2717         some call sites expectations.
2718
2719 2012-04-23  Zhenyao Mo  <zmo@google.com>
2720
2721         framebuffer binding should not be changed after canvas resize or compositing
2722         https://bugs.webkit.org/show_bug.cgi?id=84609
2723
2724         Reviewed by Kenneth Russell.
2725
2726         Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html
2727
2728         * html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
2729         (WebCore):
2730         (WebCore::WebGLRenderingContext::bindFramebuffer):
2731         (WebCore::WebGLRenderingContext::deleteFramebuffer):
2732         (WebCore::WebGLRenderingContext::loseContextImpl):
2733         * platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
2734         (WebCore::DrawingBuffer::DrawingBuffer):
2735         * platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
2736         (WebCore::DrawingBuffer::DrawingBuffer):
2737         * platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
2738         (WebCore::WebGLLayerChromium::update):
2739         * platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
2740         (WebCore::DrawingBuffer::restoreFramebufferBinding):
2741         (WebCore):
2742         * platform/graphics/gpu/DrawingBuffer.h: Ditto.
2743         (WebCore::DrawingBuffer::setTexture2DBinding):
2744         (DrawingBuffer):
2745         (WebCore::DrawingBuffer::setFramebufferBinding):
2746         * platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
2747         (WebCore::DrawingBuffer::DrawingBuffer):
2748         * platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
2749         (WebCore::DrawingBuffer::DrawingBuffer):
2750
2751 2012-04-23  Victor Carbune  <vcarbune@adobe.com>
2752
2753         Simplify volume slider rendering
2754         https://bugs.webkit.org/show_bug.cgi?id=82150
2755
2756         Reviewed by Eric Carlson.
2757
2758         Test: media/video-controls-rendering-toggle-display-none.html
2759
2760         * css/mediaControlsChromium.css: Update controls css for Chromium.
2761         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2762         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2763         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2764         * css/mediaControlsGtk.css: Update controls css for GTK.
2765         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2766         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2767         * css/mediaControlsQuickTime.css: Update controls css for Safari.
2768         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2769         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2770         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2771         * html/shadow/MediaControlElements.cpp: Removed particular renderer.
2772         (WebCore):
2773         * html/shadow/MediaControlElements.h:
2774         (MediaControlVolumeSliderContainerElement): Remoed particular renderer.
2775         * html/shadow/MediaControlRootElement.cpp:
2776         (WebCore::MediaControlRootElement::create): Added a div element as a container. Removed extra unused mute button.
2777         * html/shadow/MediaControlRootElementChromium.cpp: Added an extra div
2778         element as a container for the mute button and the volume slider to
2779         easily position them relative to each other.
2780         (WebCore::MediaControlRootElementChromium::create):
2781
2782 2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2783
2784         Unreviewed, rolling out r109981.
2785         http://trac.webkit.org/changeset/109981
2786         https://bugs.webkit.org/show_bug.cgi?id=84630
2787
2788         Broke Twitter map buddy icon (see
2789         https://bugs.webkit.org/show_bug.cgi?id=84558) (Requested by
2790         thorton on #webkit).
2791
2792         * rendering/RenderLayerCompositor.cpp:
2793         (WebCore::RenderLayerCompositor::addToOverlapMap):
2794         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2795
2796 2012-04-23  Emil A Eklund  <eae@chromium.org>
2797
2798         Crash in RenderInline::clippedOverflowRectForRepaint for PrintPreview
2799         https://bugs.webkit.org/show_bug.cgi?id=84300
2800
2801         Reviewed by Simon Fraser.
2802
2803         No new tests, have not been able to come up with a reliable reduction.
2804
2805         * rendering/RenderInline.cpp:
2806         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2807         Add NULL check for containingBlock() as it can return NULL when detached
2808         from the tree.
2809
2810 2012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2811
2812         Unreviewed, rolling out r114929.
2813         http://trac.webkit.org/changeset/114929
2814         https://bugs.webkit.org/show_bug.cgi?id=84623
2815
2816         Broke 35 canvas/webgl tests (Requested by jernoble on
2817         #webkit).
2818
2819         * html/canvas/WebGLRenderingContext.cpp:
2820         (WebCore):
2821         (WebCore::WebGLRenderingContext::bindFramebuffer):
2822         (WebCore::WebGLRenderingContext::deleteFramebuffer):
2823         (WebCore::WebGLRenderingContext::loseContextImpl):
2824         * platform/graphics/cairo/DrawingBufferCairo.cpp:
2825         (WebCore::DrawingBuffer::DrawingBuffer):
2826         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2827         (WebCore::DrawingBuffer::DrawingBuffer):
2828         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2829         (WebCore::WebGLLayerChromium::update):
2830         * platform/graphics/gpu/DrawingBuffer.cpp:
2831         * platform/graphics/gpu/DrawingBuffer.h:
2832         (WebCore::DrawingBuffer::setTexture2DBinding):
2833         (DrawingBuffer):
2834         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2835         (WebCore::DrawingBuffer::DrawingBuffer):
2836         * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
2837         (WebCore::DrawingBuffer::DrawingBuffer):
2838
2839 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2840
2841         [V8] Pass Isolate around in V8Collection.h
2842         https://bugs.webkit.org/show_bug.cgi?id=84299
2843
2844         Reviewed by Nate Chapin.
2845
2846         The objective is to pass Isolate around in V8 bindings.
2847         This patch passes Isolate around in V8Collection.h.
2848
2849         No tests. No change in behavior.
2850
2851         * bindings/v8/V8Collection.h:
2852         (WebCore::getV8Object):
2853         (WebCore::getNamedPropertyOfCollection):
2854         (WebCore::collectionNamedPropertyGetter):
2855         (WebCore::getIndexedPropertyOfCollection):
2856         (WebCore::collectionIndexedPropertyGetter):
2857
2858 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2859
2860         [V8] Pass Isolate to toV8() (Part5)
2861         https://bugs.webkit.org/show_bug.cgi?id=84271
2862
2863         Reviewed by Nate Chapin.
2864
2865         The objective is to pass Isolate to all toV8()s.
2866         Since there are a lot of toV8(), I'll make the change
2867         step by step. This patch passes Isolate to toV8()
2868         in several custom bindings.
2869
2870         No tests. No change in behavior.
2871
2872         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2873         (WebCore::V8MessageChannel::constructorCallback):
2874         * bindings/v8/custom/V8MessageEventCustom.cpp:
2875         (WebCore::V8MessageEvent::dataAccessorGetter):
2876         (WebCore::V8MessageEvent::portsAccessorGetter):
2877         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
2878         (WebCore::V8MutationCallback::handleEvent):
2879         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2880         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
2881         (WebCore::V8NamedNodeMap::namedPropertyGetter):
2882         (WebCore::toV8):
2883         * bindings/v8/custom/V8NodeListCustom.cpp:
2884         (WebCore::V8NodeList::namedPropertyGetter):
2885         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2886         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
2887         (WebCore::V8NotificationCenter::createNotificationCallback):
2888         * bindings/v8/custom/V8PerformanceCustom.cpp:
2889         (WebCore::V8Performance::memoryAccessorGetter):
2890         * bindings/v8/custom/V8PopStateEventCustom.cpp:
2891         (WebCore::V8PopStateEvent::stateAccessorGetter):
2892         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
2893         (WebCore::V8SQLTransactionSync::executeSqlCallback):
2894         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
2895         (WebCore::toV8):
2896
2897 2012-04-23  Zhenyao Mo  <zmo@google.com>
2898
2899         framebuffer binding should not be changed after canvas resize or compositing
2900         https://bugs.webkit.org/show_bug.cgi?id=84609
2901
2902         Reviewed by Kenneth Russell.
2903
2904         Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html
2905
2906         * html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
2907         (WebCore):
2908         (WebCore::WebGLRenderingContext::bindFramebuffer):
2909         (WebCore::WebGLRenderingContext::deleteFramebuffer):
2910         (WebCore::WebGLRenderingContext::loseContextImpl):
2911         * platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
2912         (WebCore::DrawingBuffer::DrawingBuffer):
2913         * platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
2914         (WebCore::DrawingBuffer::DrawingBuffer):
2915         * platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
2916         (WebCore::WebGLLayerChromium::update):
2917         * platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
2918         (WebCore::DrawingBuffer::restoreFramebufferBinding):
2919         (WebCore):
2920         * platform/graphics/gpu/DrawingBuffer.h: Ditto.
2921         (WebCore::DrawingBuffer::setTexture2DBinding):
2922         (DrawingBuffer):
2923         (WebCore::DrawingBuffer::setFramebufferBinding):
2924         * platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
2925         (WebCore::DrawingBuffer::DrawingBuffer):
2926         * platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
2927         (WebCore::DrawingBuffer::DrawingBuffer):
2928
2929 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2930
2931         [V8] Pass Isolate to toV8() (Part4)
2932         https://bugs.webkit.org/show_bug.cgi?id=84269
2933
2934         Reviewed by Nate Chapin.
2935
2936         The objective is to pass Isolate to all toV8()s.
2937         Since there are a lot of toV8()s, I'll make the change
2938         step by step. This patch passes Isolate to toV8() in
2939         several custom bindings.
2940
2941         No tests. No change in behavior.
2942
2943         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2944         (WebCore::V8HTMLCanvasElement::getContextCallback):
2945         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2946         (WebCore::toV8):
2947         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2948         (WebCore::V8HTMLDocument::allAccessorGetter):
2949         * bindings/v8/custom/V8HTMLElementCustom.cpp:
2950         (WebCore::toV8Object):
2951         (WebCore::V8HTMLElement::itemValueAccessorGetter):
2952         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2953         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
2954         (WebCore::V8HTMLFormElement::namedPropertyGetter):
2955         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
2956         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
2957         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2958         (WebCore::v8HTMLImageElementConstructorCallback):
2959         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
2960         (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
2961         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2962         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
2963         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
2964         (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
2965         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2966         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
2967         * bindings/v8/custom/V8ImageDataCustom.cpp:
2968         (WebCore::toV8):
2969
2970 2012-04-23  Emil A Eklund  <eae@chromium.org>
2971
2972         Clean up subpixel unit handling in hit testing code
2973         https://bugs.webkit.org/show_bug.cgi?id=84496
2974
2975         Reviewed by Eric Seidel.
2976
2977         Fix use of IntRect and LayoutRect in hit testing code in preparation for
2978         subpixel layout.
2979
2980         No new tests, no change in functionality.
2981
2982         * rendering/HitTestResult.cpp:
2983         (WebCore::HitTestResult::rectForPoint):
2984         Revert rectForPoint to IntRect as all call sites converted it to an
2985         IntRect anyway to compare it with an IntPoint or another IntRect.
2986
2987         * rendering/HitTestingTransformState.cpp:
2988         (WebCore::HitTestingTransformState::boundsOfMappedQuad):
2989         * rendering/HitTestingTransformState.h:
2990         Convert boundsOfMappedQuad to LayoutRect as the TransformationMatrix now
2991         has subpixel precision.
2992
2993 2012-04-23  Kentaro Hara  <haraken@chromium.org>
2994
2995         [V8] Pass Isolate to toV8() (Part3)
2996         https://bugs.webkit.org/show_bug.cgi?id=84261
2997
2998         Reviewed by Nate Chapin.
2999
3000         The objective is to pass Isolate to all toV8()s.
3001         Since there are a lot of toV8(), I'll make the change
3002         step by step. This patch passes Isolate to toV8()
3003         in several custom bindings.
3004
3005         No tests. No change in behavior.
3006
3007         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3008         (WebCore::V8DOMWindow::openCallback):
3009         (WebCore::V8DOMWindow::indexedPropertyGetter):
3010         (WebCore::V8DOMWindow::namedPropertyGetter):
3011         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
3012         (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
3013         (WebCore::V8DirectoryEntrySync::getFileCallback):
3014         * bindings/v8/custom/V8DocumentCustom.cpp:
3015         (WebCore::V8Document::evaluateCallback):
3016         (WebCore::V8Document::getCSSCanvasContextCallback):
3017         (WebCore::V8Document::createTouchListCallback):
3018         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
3019         (WebCore::V8Document::locationAccessorGetter):
3020         * bindings/v8/custom/V8EntryCustom.cpp:
3021         (WebCore::toV8):
3022         * bindings/v8/custom/V8EntrySyncCustom.cpp:
3023         (WebCore::toV8):
3024         * bindings/v8/custom/V8EventCustom.cpp:
3025         (WebCore::V8Event::dataTransferAccessorGetter):
3026         (WebCore::V8Event::clipboardDataAccessorGetter):
3027         (WebCore):
3028         * bindings/v8/custom/V8FileReaderCustom.cpp:
3029         (WebCore::V8FileReader::resultAccessorGetter):
3030         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
3031         (WebCore::getItem):
3032         (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
3033
3034 2012-04-23  Kentaro Hara  <haraken@chromium.org>
3035
3036         [V8] Pass Isolate to toV8() (Part2)
3037         https://bugs.webkit.org/show_bug.cgi?id=84259
3038
3039         Reviewed by Nate Chapin.
3040
3041         The objective is to pass Isolate to all toV8()s.
3042         Since there are a lot of toV8(), I'll make the change
3043         step by step. This patch passes Isolate to toV8() in
3044         several custom bindings.
3045
3046         No tests. No change in behavior.
3047
3048         * bindings/v8/custom/V8BlobCustom.cpp:
3049         (WebCore::toV8):
3050         * bindings/v8/custom/V8CSSRuleCustom.cpp:
3051         (WebCore::toV8):
3052         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
3053         (WebCore::toV8):
3054         * bindings/v8/custom/V8CSSValueCustom.cpp:
3055         (WebCore::toV8):
3056         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3057         (WebCore::toV8Object):
3058         (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
3059         (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
3060         * bindings/v8/custom/V8ConsoleCustom.cpp:
3061         (WebCore::V8Console::memoryAccessorGetter):
3062         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
3063         (WebCore::V8SQLStatementErrorCallback::handleEvent):
3064         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
3065         (WebCore::toV8):
3066         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
3067         (WebCore::toV8):
3068
3069 2012-04-23  Kentaro Hara  <haraken@chromium.org>
3070
3071         [V8][Refactoring] Remove V8Proxy::toV8()
3072         https://bugs.webkit.org/show_bug.cgi?id=84257
3073
3074         Reviewed by Nate Chapin.
3075
3076         Some constructorCallback()s are using V8Proxy::toV8(),
3077         other constructorCallback()s are directly using setJSWrapperForXXX()
3078         (XXX can be DOMObject, ActiveDOMObject, Node or ActiveNode).
3079         We should unify them.
3080
3081         Considering the fact that V8Proxy::toV8() just supports
3082         XXX=DOMObject and thus is not flexible, replacing V8Proxy::toV8()
3083         with setJSWrapperForDOMObject() would make sense.
3084
3085         No tests. No change in behavior.
3086
3087         * bindings/v8/V8Proxy.h: Removed toV8().
3088
3089         * bindings/scripts/CodeGeneratorV8.pm: Replaced toV8() with setJSWrapperForDOMObject().
3090         (GenerateEventConstructorCallback):
3091         * bindings/v8/custom/V8ArrayBufferCustom.cpp: Ditto.
3092         (WebCore::V8ArrayBuffer::constructorCallback):
3093         * bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.
3094         (WebCore::constructWebGLArrayWithArrayBufferArgument):
3095         (WebCore::constructWebGLArray):
3096         * bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.
3097         (WebCore::V8DOMFormData::constructorCallback):
3098         * bindings/v8/custom/V8DataViewCustom.cpp: Ditto.
3099         (WebCore::V8DataView::constructorCallback):
3100         * bindings/v8/custom/V8MessageChannelConstructor.cpp: Ditto.
3101         (WebCore::V8MessageChannel::constructorCallback):
3102         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Ditto.
3103         (WebCore::V8WebKitPoint::constructorCallback):
3104
3105         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
3106         (WebCore::V8TestEventConstructor::constructorCallback):
3107
3108 2012-04-23  Kentaro Hara  <haraken@chromium.org>
3109
3110         [V8] Pass Isolate to toV8() (Part1)
3111         https://bugs.webkit.org/show_bug.cgi?id=84250
3112
3113         Reviewed by Nate Chapin.
3114
3115         The final objective is to pass Isolate around in V8 bindings.
3116         This patch makes a change in CodeGeneratorV8.pm so that the
3117         generated code passes Isolate to toV8().
3118
3119         No tests. No change in behavior.
3120
3121         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
3122         (GenerateNormalAttrGetter):
3123         (GenerateNamedConstructorCallback):
3124         (GenerateCallbackImplementation):
3125         (GenerateFunctionCallString):
3126         (NativeToJSValue):
3127
3128         * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests results.
3129         (WebCore::Float64ArrayV8Internal::fooCallback):
3130         * bindings/scripts/test/V8/V8TestCallback.cpp:
3131         (WebCore::V8TestCallback::callbackWithClass1Param):
3132         (WebCore::V8TestCallback::callbackWithClass2Param):
3133         (WebCore::V8TestCallback::callbackWithStringList):
3134         (WebCore::V8TestCallback::callbackRequiresThisToPass):
3135         * bindings/scripts/test/V8/V8TestInterface.cpp:
3136         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
3137         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3138         (WebCore::V8TestNamedConstructorConstructorCallback):
3139         * bindings/scripts/test/V8/V8TestObj.cpp:
3140         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
3141         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
3142         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
3143         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
3144         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
3145         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
3146         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
3147         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
3148         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
3149         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
3150         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
3151         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
3152         (WebCore::TestObjV8Internal::mutablePointAttrGetter):
3153         (WebCore::TestObjV8Internal::immutablePointAttrGetter):
3154         (WebCore::TestObjV8Internal::objMethodCallback):
3155         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
3156         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
3157         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
3158         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
3159         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
3160         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
3161         (WebCore::TestObjV8Internal::mutablePointFunctionCallback):
3162         (WebCore::TestObjV8Internal::immutablePointFunctionCallback):
3163         (WebCore::TestObjV8Internal::strictFunctionCallback):
3164         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3165         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):
3166
3167 2012-04-23  Kentaro Hara  <haraken@chromium.org>
3168
3169         [V8] Add an optional Isolate argument to setDOMException() and throwError()
3170         https://bugs.webkit.org/show_bug.cgi?id=84310
3171
3172         Reviewed by Nate Chapin.
3173
3174         The objective is to pass Isolate to setDOMException()
3175         and throwError(). This patch adds an optional Isolate argument
3176         to setDOMException() and throwError(). I'll pass the Isolate
3177         to these methods in the following patches.
3178
3179         No tests. No change in behavior.
3180
3181         * bindings/v8/V8Proxy.cpp:
3182         (WebCore):
3183         (WebCore::V8Proxy::setDOMException):
3184         (WebCore::V8Proxy::throwError):
3185         * bindings/v8/V8Proxy.h:
3186         (V8Proxy):
3187         (WebCore):
3188         (WebCore::throwError):
3189
3190 2012-04-23  Ian Vollick  <vollick@chromium.org>
3191
3192         [chromium] Properly ignore unsupported animation directions.
3193         https://bugs.webkit.org/show_bug.cgi?id=84599
3194
3195         Reviewed by Adrienne Walker.
3196
3197         Tested in CCLayerAnimationControllerTest.ignoreUnsupportedAnimationDirections.
3198
3199         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3200
3201 2012-04-17  Kentaro Hara  <haraken@chromium.org>
3202
3203         [Performance][V8] Skip Isolate look-up to find StringCache
3204         https://bugs.webkit.org/show_bug.cgi?id=84103
3205
3206         Reviewed by Nate Chapin.
3207
3208         This patch improves the performance of a lot of DOM attribute
3209         getters that return a string.
3210
3211         - Improves the performance of Dromaeo/dom-attr.html(element.property)
3212           by 27.7%.
3213         - Improves the performance of Dromaeo/dom-attr.html(getAttribute)
3214           by 10.6%.
3215         - Improves the performance of div.id, div.className,
3216           div.nodeName, text.nodeValue, text.textContent by 12% -- 21%.
3217
3218         The followings are the test results in my Linux desktop.
3219
3220         Performance test: Dromaeo/dom-attr.html
3221         Total:                     674.64runs/s ->  707.03runs/s (+ 4.8%)
3222         getAttribute:             1537.60runs/s -> 1700.20runs/s (+10.6%)
3223         element.property:         1389.00runs/s -> 1774.20runs/s (+27.7%)
3224         setAttribute:              538.88runs/s ->  548.87runs/s (+ 1.9%)
3225         element.property = value:  644.07runs/s ->  656.67runs/s (+ 2.0%)
3226         element.expando = value:   219.76runs/s ->  207.14runs/s (- 6.8%)
3227         element.expando:           578.77runs/s ->  554.67runs/s (- 4.2%)
3228
3229         Performance test: https://bugs.webkit.org/attachment.cgi?id=137440
3230         div.id:           30.70ns -> 26.70ns (+15%)
3231         div.className:    31.10ns -> 26.40ns (+18%)
3232         div.nodeName:     37.70ns -> 33.00ns (+14%)
3233         text.nodeValue:   31.40ns -> 25.90ns (+21%)
3234         text.textContent: 51.50ns -> 45.90ns (+12%)
3235
3236         Previously V8 bindings need to look up an Isolate to find
3237         an Isolate-local StringCache. This patch skips the look-up
3238         by getting the Isolate from AccessorInfo.GetIsolate()
3239         or Arguments.GetIsolate().
3240
3241         No tests. No change in behavior.
3242
3243         * bindings/scripts/CodeGeneratorV8.pm:
3244         (GenerateNormalAttrGetter):
3245         (GenerateFunctionCallString):
3246         (NativeToJSValue):
3247         * bindings/v8/V8Binding.cpp:
3248         (WebCore::getElementStringAttr):
3249         * bindings/v8/V8Binding.h:
3250         (WebCore::v8ExternalString): Make 'isolate' an optional argument.
3251         Ideally we want to make 'isolate' a non-optional argument,
3252         but it is difficult to rewrite all v8ExternalString() callers
3253         at a breath. We can rewrite them incrementally.
3254         (WebCore::v8String): Ditto.
3255         (WebCore::v8StringOrNull): Ditto.
3256         (WebCore::v8StringOrUndefined): Ditto.
3257         (WebCore::v8StringOrFalse): Ditto.
3258
3259         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
3260         (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
3261         (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
3262         * bindings/scripts/test/V8/V8TestInterface.cpp:
3263         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
3264         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
3265         * bindings/scripts/test/V8/V8TestObj.cpp:
3266         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
3267         (WebCore::TestObjV8Internal::stringAttrAttrGetter):
3268         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
3269         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
3270         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
3271         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
3272         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
3273         (WebCore::TestObjV8Internal::hashAttrGetter):
3274         (WebCore::TestObjV8Internal::conditionalMethod1Callback):
3275
3276 2012-04-17  Kentaro Hara  <haraken@chromium.org>
3277
3278         [V8] Add an optional Isolate argument to wrap()
3279         https://bugs.webkit.org/show_bug.cgi?id=84202
3280
3281         Reviewed by Nate Chapin.
3282
3283         The final objective is to pass Isolate around in V8 bindings.
3284         This patch adds an optional Isolate argument to wrap().
3285         After rewriting all wrap() callers so that they pass Isolate
3286         to wrap(), I'll make the Isolate argument non-optional.
3287
3288         No tests. No change in behavior.
3289
3290         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
3291         (GenerateHeader):
3292         * bindings/v8/custom/V8DocumentCustom.cpp: Ditto.
3293         (WebCore::toV8):
3294         * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Ditto.
3295         (WebCore::toV8):
3296         * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
3297         (WebCore::toV8Slow):
3298         * bindings/v8/custom/V8SVGDocumentCustom.cpp: Ditto.
3299         (WebCore::toV8):
3300         * dom/make_names.pl: Ditto.
3301         (printWrapperFactoryCppFile):
3302
3303         * bindings/scripts/test/V8/V8Float64Array.h:
3304         Updated run-bindings-tests results.
3305         (V8Float64Array):
3306         (WebCore::V8Float64Array::wrap):
3307         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3308         (V8TestActiveDOMObject):
3309         (WebCore::V8TestActiveDOMObject::wrap):
3310         (WebCore::toV8):
3311         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3312         (V8TestCustomNamedGetter):
3313         (WebCore::V8TestCustomNamedGetter::wrap):
3314         (WebCore::toV8):
3315         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3316         (V8TestEventConstructor):
3317         (WebCore::V8TestEventConstructor::wrap):
3318         (WebCore::toV8):
3319         * bindings/scripts/test/V8/V8TestEventTarget.h:
3320         (V8TestEventTarget):
3321         (WebCore::V8TestEventTarget::wrap):
3322         (WebCore::toV8):
3323         * bindings/scripts/test/V8/V8TestInterface.h:
3324         (V8TestInterface):
3325         (WebCore::V8TestInterface::wrap):
3326         (WebCore::toV8):
3327         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3328         (V8TestMediaQueryListListener):
3329         (WebCore::V8TestMediaQueryListListener::wrap):
3330         (WebCore::toV8):
3331         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3332         (V8TestNamedConstructor):
3333         (WebCore::V8TestNamedConstructor::wrap):
3334         (WebCore::toV8):
3335         * bindings/scripts/test/V8/V8TestNode.h:
3336         (V8TestNode):
3337         (WebCore::V8TestNode::wrap):
3338         (WebCore::toV8):
3339         * bindings/scripts/test/V8/V8TestObj.h:
3340         (V8TestObj):
3341         (WebCore::V8TestObj::wrap):
3342         (WebCore::toV8):
3343         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3344         (V8TestSerializedScriptValueInterface):
3345         (WebCore::V8TestSerializedScriptValueInterface::wrap):
3346         (WebCore::toV8):
3347
3348 2012-04-17  Kentaro Hara  <haraken@chromium.org>
3349
3350         [V8] Pass Isolate to toV8Slow()
3351         https://bugs.webkit.org/show_bug.cgi?id=84173
3352
3353         Reviewed by Nate Chapin.
3354
3355         The final objective is to pass Isolate around in V8 bindings.
3356         This patch passes the Isolate to toV8Slow().
3357
3358         No tests. No change in behavior.
3359
3360         * bindings/scripts/CodeGeneratorV8.pm:
3361         (GenerateHeader):
3362         * bindings/v8/custom/V8NodeCustom.cpp:
3363         (WebCore::toV8Slow):
3364
3365 2012-04-17  Kentaro Hara  <haraken@chromium.org>
3366
3367         [V8] Add an optional Isolate argument to toV8().
3368         https://bugs.webkit.org/show_bug.cgi?id=84161
3369
3370         Reviewed by Nate Chapin.
3371
3372         The final objective is to pass Isolate around in V8 bindings.
3373         This patch adds an optional Isolate argument to toV8().
3374         After rewriting all toV8() callers so that they pass Isolate,
3375         I will make the Isolate argument non-optional.
3376
3377         No tests. No change in behavior.
3378
3379         * bindings/scripts/CodeGeneratorV8.pm:
3380         Modified as described above.
3381         (GenerateHeader):
3382         (NativeToJSValue):
3383         * bindings/v8/custom/V8BlobCustom.cpp:
3384         (WebCore::toV8):
3385         * bindings/v8/custom/V8CSSRuleCustom.cpp:
3386         (WebCore::toV8):
3387         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
3388         (WebCore::toV8):
3389         * bindings/v8/custom/V8CSSValueCustom.cpp:
3390         (WebCore::toV8):
3391         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
3392         (WebCore::toV8):
3393         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
3394         (WebCore::toV8):
3395         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
3396         (WebCore::toV8):
3397         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3398         (WebCore::toV8):
3399         * bindings/v8/custom/V8DataViewCustom.cpp:
3400         (WebCore::toV8):
3401         * bindings/v8/custom/V8DocumentCustom.cpp:
3402         (WebCore::toV8):
3403         * bindings/v8/custom/V8EntryCustom.cpp:
3404         (WebCore::toV8):
3405         * bindings/v8/custom/V8EntrySyncCustom.cpp:
3406         (WebCore::toV8):
3407         * bindings/v8/custom/V8EventCustom.cpp:
3408         (WebCore::toV8):
3409         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
3410         (WebCore::toV8):
3411         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
3412         (WebCore::toV8):
3413         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3414         (WebCore::toV8):
3415         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3416         (WebCore::toV8):
3417         * bindings/v8/custom/V8HTMLElementCustom.cpp:
3418         (WebCore::toV8):
3419         * bindings/v8/custom/V8IDBAnyCustom.cpp:
3420         (WebCore::toV8):
3421         * bindings/v8/custom/V8IDBKeyCustom.cpp:
3422         (WebCore::toV8):
3423         * bindings/v8/custom/V8ImageDataCustom.cpp:
3424         (WebCore::toV8):
3425         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
3426         (WebCore::toV8):
3427         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
3428         (WebCore::toV8):
3429         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
3430         (WebCore::toV8):
3431         * bindings/v8/custom/V8LocationCustom.cpp:
3432         (WebCore::toV8):
3433         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3434         (WebCore::toV8):
3435         * bindings/v8/custom/V8NodeCustom.cpp:
3436         (WebCore::toV8Slow):
3437         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
3438         (WebCore::toV8):
3439         * bindings/v8/custom/V8SVGElementCustom.cpp:
3440         (WebCore::toV8):
3441         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
3442         (WebCore::toV8):
3443         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
3444         (WebCore::toV8):
3445         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
3446         (WebCore::toV8):
3447         * bindings/v8/custom/V8StyleSheetCustom.cpp:
3448         (WebCore::toV8):
3449         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
3450         (WebCore::toV8):
3451         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
3452         (WebCore::toV8):
3453         * bindings/v8/custom/V8Uint8ArrayCustom.cpp: