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