[chromium] Layers with animating transforms should prepaint even if they are not...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-25  Dana Jansens  <danakj@chromium.org>
2
3         [chromium] Layers with animating transforms should prepaint even if they are not visible yet
4         https://bugs.webkit.org/show_bug.cgi?id=82117
5
6         Reviewed by Adrienne Walker.
7
8         For animating transforms, instead of early-outing when the layer's
9         visible rect is empty, let it prepaint regardless.
10
11         For now, we just only paint the outermost tiles, and only for small
12         layers, with at most 9 tiles.
13
14         This changes the behaviour of ContentLayerChromium's
15         idlePaintContentsIfDirty() so I've guarded the behaviour of the two
16         prepainting functions that it calls to ensure the old behaviour holds
17         without animations, and the new behaviour works with them.
18
19         Unit test: TiledLayerChromiumTest.idlePaintZeroSizedLayer
20                    TiledLayerChromiumTest.idlePaintZeroSizedAnimatingLayer
21                    TiledLayerChromiumTest.idlePaintNonVisibleLayers
22                    TiledLayerChromiumTest.idlePaintNonVisibleAnimatingLayers
23
24         * platform/graphics/chromium/ContentLayerChromium.cpp:
25         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
26         * platform/graphics/chromium/TiledLayerChromium.cpp:
27         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
28         (WebCore::TiledLayerChromium::needsIdlePaint):
29         (WebCore::TiledLayerChromium::idlePaintRect):
30         * platform/graphics/chromium/TiledLayerChromium.h:
31         (WebCore::TiledLayerChromium::numPaintedTiles):
32         (TiledLayerChromium):
33
34 2012-03-25  Antti Koivisto  <antti@apple.com>
35
36         Don't use CSSRuleList for child rule ownership
37         https://bugs.webkit.org/show_bug.cgi?id=82127
38
39         Reviewed by Andreas Kling.
40
41         CSSMediaRule, WebKitCSSKeyframesRule and WebKitRegionRule use CSSRuleList for storing children. 
42         They should use a simple rule vector instead. CSSRuleList is a CSSOM type that should be 
43         instantiated on-demand for API purposes only.
44         
45         - Use Vector<RefPtr<CSSRule>> for storing the rule children of CSSMediaRule, WebKitCSSKeyframesRule 
46           and WebKitRegionRule.
47         - Add direct accessors, use internally instead of CSSRuleList.
48         - Make CSSRuleList an abstract base. Add concrete subclasses for dealing with the underlying storage.
49         - Instantiate CSSRuleLists on-demand.
50         - Make CSSStyleSheet.cssRules always return the same object instance. This matches Firefox and the rest
51           of our CSSOM implementation. Tested by fast/dom/gc-9.html.
52           
53         The patch decouples internals from the external API. It simplifies the child rule ownership and reduces 
54         indirection. Memory use of css rules with children is reduced (by a ptr, refcount and heap allocation overhead).
55
56         * css/CSSGrammar.y:
57         * css/CSSMediaRule.cpp:
58         (WebCore::CSSMediaRule::CSSMediaRule):
59         (WebCore::CSSMediaRule::~CSSMediaRule):
60         (WebCore::CSSMediaRule::append):
61         (WebCore::CSSMediaRule::insertRule):
62         (WebCore::CSSMediaRule::deleteRule):
63         (WebCore::CSSMediaRule::cssText):
64         (WebCore::CSSMediaRule::cssRules):
65         * css/CSSMediaRule.h:
66         (WebCore::CSSMediaRule::create):
67         (CSSMediaRule):
68         (WebCore::CSSMediaRule::ruleCount):
69         (WebCore::CSSMediaRule::ruleAt):
70         * css/CSSParser.cpp:
71         (WebCore::CSSParser::createMediaRule):
72         (WebCore::CSSParser::createRuleList):
73         (WebCore::CSSParser::createRegionRule):
74         * css/CSSParser.h:
75         (WebCore):
76         * css/CSSRuleList.cpp:
77         (WebCore):
78         (WebCore::StaticCSSRuleList::StaticCSSRuleList):
79         (WebCore::StaticCSSRuleList::~StaticCSSRuleList):
80         (WebCore::StaticCSSRuleList::deref):
81         (WebCore::StaticCSSRuleList::item):        
82         * css/CSSRuleList.h:
83         (CSSRuleList):
84
85             Turn CSSRuleList into abstract interface.
86                     
87         (StaticCSSRuleList):
88         (WebCore::StaticCSSRuleList::create):
89         (WebCore::StaticCSSRuleList::ref):
90         (WebCore::StaticCSSRuleList::rules):
91         (WebCore::StaticCSSRuleList::styleSheet):
92         (WebCore::StaticCSSRuleList::length):
93         
94             Concrete implementation for fixed list of rules.
95     
96         (WebCore):
97         (LiveCSSRuleList):
98         (WebCore::LiveCSSRuleList::LiveCSSRuleList):
99         (WebCore::LiveCSSRuleList::ref):
100         (WebCore::LiveCSSRuleList::deref):
101         (WebCore::LiveCSSRuleList::length):
102         (WebCore::LiveCSSRuleList::item):
103         (WebCore::LiveCSSRuleList::styleSheet):
104         
105             Concrete implemenation for live list backed by the underlying container rule.
106             LiveCSSRuleList is owned by the underlying rule. Refcount is forwarded. 
107         
108         * css/CSSStyleSelector.cpp:
109         (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
110         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
111         * css/CSSStyleSelector.h:
112         (CSSStyleSelector):
113         * css/CSSStyleSheet.cpp:
114         
115             The same scheme for CSSStyleSheet.cssRule as with container rules.
116         
117         (StyleSheetCSSRuleList):
118         (WebCore::StyleSheetCSSRuleList::StyleSheetCSSRuleList):
119         (WebCore::StyleSheetCSSRuleList::ref):
120         (WebCore::StyleSheetCSSRuleList::deref):
121         (WebCore::StyleSheetCSSRuleList::length):
122         (WebCore::StyleSheetCSSRuleList::item):
123         (WebCore::StyleSheetCSSRuleList::styleSheet):
124         (WebCore):
125         (WebCore::CSSStyleSheet::rules):
126         (WebCore::CSSStyleSheet::cssRules):
127         * css/CSSStyleSheet.h:
128         (CSSStyleSheet):
129         * css/WebKitCSSKeyframesRule.cpp:
130         (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
131         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
132         (WebCore):
133         (WebCore::WebKitCSSKeyframesRule::append):
134         (WebCore::WebKitCSSKeyframesRule::deleteRule):
135         (WebCore::WebKitCSSKeyframesRule::findRule):
136         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
137         (WebCore::WebKitCSSKeyframesRule::cssText):
138         (WebCore::WebKitCSSKeyframesRule::cssRules):
139         * css/WebKitCSSKeyframesRule.h:
140         (WebKitCSSKeyframesRule):
141         (WebCore::WebKitCSSKeyframesRule::ruleCount):
142         (WebCore::WebKitCSSKeyframesRule::ruleAt):
143         (WebCore::WebKitCSSKeyframesRule::length):
144         (WebCore::WebKitCSSKeyframesRule::item):
145         * css/WebKitCSSRegionRule.cpp:
146         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
147         (WebCore::WebKitCSSRegionRule::~WebKitCSSRegionRule):
148         (WebCore::WebKitCSSRegionRule::cssText):
149         (WebCore::WebKitCSSRegionRule::cssRules):
150         * css/WebKitCSSRegionRule.h:
151         * inspector/InspectorStyleSheet.cpp:
152         (WebCore::asCSSRuleList):
153         (WebCore::InspectorStyleSheet::addRule):
154         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
155
156 2012-03-25  Kentaro Hara  <haraken@chromium.org>
157
158         Remove duplicated GenerateConditionalString() from code generators
159         https://bugs.webkit.org/show_bug.cgi?id=82148
160
161         Reviewed by Adam Barth.
162
163         Previously GenerateConditionalString()s were defined in each code generator,
164         and they were doing the same thing. This patch puts GenerateConditionalString()
165         in CodeGenerator.pm and removes duplicated GenerateConditionalString()s.
166
167         No tests. No change in the generated code.
168
169         * bindings/scripts/CodeGenerator.pm:
170         (GenerateConditionalString):
171         * bindings/scripts/CodeGeneratorCPP.pm:
172         (GenerateHeader):
173         (GenerateImplementation):
174         * bindings/scripts/CodeGeneratorGObject.pm:
175         (GenerateProperty):
176         (GenerateProperties):
177         (GenerateFunction):
178         (WriteData):
179         * bindings/scripts/CodeGeneratorJS.pm:
180         (GenerateHeaderContentHeader):
181         (GenerateImplementationContentHeader):
182         (GenerateHeader):
183         (GenerateImplementation):
184         (GenerateCallbackHeader):
185         (GenerateCallbackImplementation):
186         * bindings/scripts/CodeGeneratorObjC.pm:
187         (GenerateHeader):
188         (GenerateImplementation):
189         * bindings/scripts/CodeGeneratorV8.pm:
190         (GenerateHeader):
191         (GenerateNormalAttrGetter):
192         (GenerateNormalAttrSetter):
193         (GenerateOverloadedFunctionCallback):
194         (GenerateFunctionCallback):
195         (GenerateBatchedAttributeData):
196         (GenerateImplementation):
197         (GenerateHeaderContentHeader):
198         (GenerateImplementationContentHeader):
199         (GenerateCallbackHeader):
200         (GenerateCallbackImplementation):
201
202 2012-03-25  Kentaro Hara  <haraken@chromium.org>
203
204         Move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*, and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*
205         https://bugs.webkit.org/show_bug.cgi?id=82146
206
207         Reviewed by Adam Barth.
208
209         Now SQLDatabase is renamed to WebDatabase (See Modules/webdatabase/).
210         We should move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*,
211         and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*.
212         We'll rename the SQL_DATABASE flag to the WEB_DATABASE flag in a follow-up patch.
213
214         No tests. No change in behavior.
215
216         * Modules/webdatabase/DOMWindowWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.cpp.
217         (WebCore):
218         (WebCore::DOMWindowWebDatabase::openDatabase):
219         * Modules/webdatabase/DOMWindowWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.h.
220         (WebCore):
221         (DOMWindowWebDatabase):
222         (WebCore::DOMWindowWebDatabase::DOMWindowWebDatabase):
223         (WebCore::DOMWindowWebDatabase::~DOMWindowWebDatabase):
224         * Modules/webdatabase/DOMWindowWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.idl.
225         * Modules/webdatabase/WorkerContextWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.cpp.
226         (WebCore):
227         (WebCore::WorkerContextWebDatabase::openDatabase):
228         (WebCore::WorkerContextWebDatabase::openDatabaseSync):
229         * Modules/webdatabase/WorkerContextWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.h.
230         (WebCore):
231         (WorkerContextWebDatabase):
232         (WebCore::WorkerContextWebDatabase::WorkerContextWebDatabase):
233         (WebCore::WorkerContextWebDatabase::~WorkerContextWebDatabase):
234         * Modules/webdatabase/WorkerContextWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.idl.
235
236         * DerivedSources.make:
237         * DerivedSources.pri:
238         * GNUmakefile.list.am:
239         * Target.pri:
240         * WebCore.gypi:
241         * WebCore.vcproj/WebCore.vcproj:
242         * WebCore.xcodeproj/project.pbxproj:
243
244 2012-03-25  Philip Rogers  <pdr@google.com>
245
246         Avoid race condition when iterating over pending resources
247         https://bugs.webkit.org/show_bug.cgi?id=82115
248
249         Reviewed by Nikolas Zimmermann.
250
251         We can hit a race condition in SVGStyledElement::buildPendingResourcesIfNeeded
252         where pending elements can become non-pending while we iterate over them.
253
254         This patch cleans up buildPendingResourcesIfNeeded and re-works how pending
255         resources are removed. Because pending resources can be modified while
256         iterating over them, we introduce m_pendingResourcesForRemoval that
257         holds pending resources that are marked for removal. Instead of iterating
258         over this list we simply remove each pending resource from
259         m_pendingResourcesForRemoval; if a pending resource is modified or removed
260         during the processing of another pending resource this list is updated before
261         the next element can be accessed.
262
263         This change also removes removePendingResourceForElement which is no longer
264         referenced.
265
266         Test: http/tests/svg/change-id-with-pending-resources.html
267
268         * svg/SVGDocumentExtensions.cpp:
269         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
270         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
271         (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
272         (WebCore):
273         (WebCore::SVGDocumentExtensions::markPendingResourcesForRemoval):
274         (WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
275         * svg/SVGDocumentExtensions.h:
276         (SVGDocumentExtensions):
277         * svg/SVGStyledElement.cpp:
278         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
279
280 2012-03-25  Arvid Nilsson  <anilsson@rim.com>
281
282         [BlackBerry] Accelerated compositing layers fail to render when using WebPageCompositor
283         https://bugs.webkit.org/show_bug.cgi?id=82104
284         RIM PR: 145963
285
286         Reviewed by Rob Buis.
287
288         The embedder may use vertex buffers, which affected the interpretation
289         our vertex array pointers from memory pointers to offsets into a vertex
290         buffer. The resulting geometry often resulted in no visible layers on
291         screen.
292
293         Fixed by getting rid of any bound buffer when we enter
294         LayerRenderer::drawLayers().
295
296         * platform/graphics/blackberry/LayerRenderer.cpp:
297         (WebCore::LayerRenderer::drawLayers):
298
299 2012-03-24  Nat Duca  <nduca@chromium.org>
300
301         [chromium] Instrument gesture animations with async traces
302         https://bugs.webkit.org/show_bug.cgi?id=82076
303
304         Reviewed by Adrienne Walker.
305
306         * platform/ActivePlatformGestureAnimation.cpp:
307         (WebCore::ActivePlatformGestureAnimation::~ActivePlatformGestureAnimation):
308         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
309         * platform/PlatformGestureCurve.h:
310         (PlatformGestureCurve):
311         * platform/TouchpadFlingPlatformGestureCurve.h:
312         (WebCore::TouchpadFlingPlatformGestureCurve::debugName):
313         * platform/WheelFlingPlatformGestureCurve.h:
314         (WebCore::WheelFlingPlatformGestureCurve::debugName):
315         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
316         (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
317         (WebCore::CCActiveGestureAnimation::~CCActiveGestureAnimation):
318         * platform/graphics/chromium/cc/CCGestureCurve.h:
319         (CCGestureCurve):
320
321 2012-03-24  Jeffrey Pfau  <jpfau@apple.com>
322
323         XML error document creation should not fire mutation events
324         https://bugs.webkit.org/show_bug.cgi?id=80765
325
326         Reviewed by Adam Barth.
327
328         Broke two tests that expected the old behavior, which have now been updated.
329
330         * xml/XMLErrors.cpp:
331         (WebCore::createXHTMLParserErrorHeader):
332         (WebCore::XMLErrors::insertErrorMessageBlock):
333
334 2012-03-24  Florin Malita  <fmalita@google.com>
335
336         ForeignObject content is zoomed two times
337         https://bugs.webkit.org/show_bug.cgi?id=76282
338
339         Reviewed by Nikolas Zimmermann.
340
341         Test: svg/zoom/page/zoom-foreign-content.svg
342
343         Reset the effective zoom property for FO-nested content to avoid
344         having the zoom factor applied multiple times (zooming is handled by
345         the top level SVG root element).
346
347         * css/CSSStyleSelector.cpp:
348         (WebCore::CSSStyleSelector::adjustRenderStyle):
349
350 2012-03-24  Chris Fleizach  <cfleizach@apple.com>
351
352         AX: Support solution to handle invalid ax text marker
353         https://bugs.webkit.org/show_bug.cgi?id=82023
354
355         Reviewed by Oliver Hunt.
356
357         This provides methods to better use text markers so that assistive technologies
358         can know when they are valid, and can convert them to and from absolute positions.
359
360         Test: platform/mac/accessibility/textmarker-routines.html
361
362         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
363         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
364         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
365         (-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
366         (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
367         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
368
369 2012-03-24  Victor Carbune  <vcarbune@adobe.com>
370
371         Quick fix for rendering controls regression.
372         https://bugs.webkit.org/show_bug.cgi?id=82125
373
374         Reviewed by Eric Carlson.
375
376         Only temporary fix. Tests to cover the problem should be added
377
378         * html/shadow/MediaControlElements.cpp:
379         (WebCore::MediaControlPanelElement::makeOpaque): The display:none
380         property should be toggled only by the media element now.
381         (WebCore::MediaControlPanelElement::makeTransparent): The timer
382         that toggles the dispalay:none shouldn't be used now.
383
384 2012-03-24  Kevin Ollivier  <kevino@theolliviers.com>
385
386         [wx] Unreviewed. Add header needed for compilation.
387
388         * html/shadow/TextFieldDecorationElement.cpp:
389
390 2012-03-24  Abhishek Arya  <inferno@chromium.org>
391
392         Crash in ApplyStyleCommand::applyInlineStyleToNodeRange.
393         https://bugs.webkit.org/show_bug.cgi?id=81959
394
395         Reviewed by Ryosuke Niwa.
396
397         Test: editing/execCommand/apply-style-command-crash.html
398
399         * editing/ApplyStyleCommand.cpp:
400         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): RefPtr the weak
401         node iterator |node|.
402         * editing/ApplyStyleCommand.h:
403         (ApplyStyleCommand): convert |startNode| and |pastEndNode| into PassRefPtr.
404
405 2012-03-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
406
407         Unreviewed, build fix since we use "-Werror=unused-but-set-variable".
408
409         The variable 'it' was set at TextureMapperShaderManager.h:110 but never used.
410
411         * platform/graphics/texmap/TextureMapperShaderManager.h:
412         (WebCore::TextureMapperShaderManager::getShaderProgram):
413
414 2012-03-24  Zeno Albisser  <zeno@webkit.org>
415
416         [Qt][WK2] Make TextureMapperShaderManager::getShaderProgram() not be a template.
417         https://bugs.webkit.org/show_bug.cgi?id=82049
418
419         Change the getShaderProgram() function to not be a template.
420         This is a workaround for a compiler bug that leads to an assert
421         when compiling in debug mode on mac.
422
423         Reviewed by Noam Rosenthal.
424
425         * platform/graphics/texmap/TextureMapperGL.cpp:
426         (WebCore::TextureMapperGL::drawTexture):
427         (WebCore::TextureMapperGL::beginClip):
428         * platform/graphics/texmap/TextureMapperShaderManager.h:
429         (TextureMapperShaderProgram):
430         (WebCore::TextureMapperShaderManager::getShaderProgram):
431         (TextureMapperShaderManager):
432
433 2012-03-23  Shawn Singh  <shawnsingh@chromium.org>
434
435         [chromium] Incorrect replica originTransform used in CCDamageTracker
436         https://bugs.webkit.org/show_bug.cgi?id=82118
437
438         Reviewed by Adrienne Walker.
439
440         Unit test added to CCDamageTrackerTest.cpp
441
442         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
443         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
444
445 2012-03-23  Dana Jansens  <danakj@chromium.org>
446
447         [chromium] When prepainting fails, tiles dirty rects may be cleared
448         https://bugs.webkit.org/show_bug.cgi?id=82107
449
450         Reviewed by Adrienne Walker.
451
452         When prepainting, if a tile is unable to be reserved due to memory
453         limits, we bail out of prepareToUpdateTiles. But we would have
454         cleared the dirty rect of any previous tiles. This leaves them
455         in a bad state where their textures are reserved, but their textureIds
456         are set to 0, and they are not marked dirty. This means that they will
457         not be updated and displayed if they become visible, since it is
458         assumed that valid textures with zero textureId must have a dirty
459         region.
460
461         We fix this by not clearing the dirty rects until we know we are
462         going to update the layer.
463
464         Unit test: TiledLayerChromiumTest.pushTilesAfterIdlePaintFailed
465
466         * platform/graphics/chromium/TiledLayerChromium.cpp:
467         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
468         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
469         (WebCore::CCTiledLayerImpl::hasTextureIdForTileAt):
470         (WebCore):
471         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
472         (CCTiledLayerImpl):
473
474 2012-03-23  Stephanie Lewis  <slewis@apple.com>
475
476         https://bugs.webkit.org/show_bug.cgi?id=81963 WebProcess can get stuck in GC during many low memory signals.
477         <rdar://problem/11094830> WebProcess appears to get stuck in its GC handler (81963).
478         Remove the call to garbage collect  in low memory signal handler.  Did some testing with hitting the low memory handler
479         during Membuster and we would get back at most 100k - 200k.  That isn't enough to help the system, and in 
480         that state the GC collection can take a substantial amount of time.
481
482         Reviewed by Geoff Garen.
483
484         Performance Change, no change in behavior.
485
486         * platform/mac/MemoryPressureHandlerMac.mm:
487         (WebCore::MemoryPressureHandler::releaseMemory):
488
489 2012-03-23  W. James MacLean  <wjmaclean@chromium.org>
490
491         [chromium] CCLayerTreeHostImpl::scrollBegin() should return ScrollFailed for CCInputHandlerClient::Gesture type when wheel handlers found.
492         https://bugs.webkit.org/show_bug.cgi?id=82106
493
494         Reviewed by Adrienne Walker.
495
496         Existing unit tests updated.
497
498         With gesture scroll events now being handled as mouse wheel events, we should not start a gesture scroll when
499         wheel handlers are present.
500
501         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
502         (WebCore::CCLayerTreeHostImpl::scrollBegin):
503
504 2012-03-23  Adam Barth  <abarth@webkit.org>
505
506         Move Notifications APIs from WorkerContext.idl to WorkerContextNotifications.idl
507         https://bugs.webkit.org/show_bug.cgi?id=79635
508
509         Reviewed by Kentaro Hara.
510
511         This patch moves the NotificationCenter from WorkerContext to
512         WorkerContextNotificiations, reducing clutter in WorkerContext.  After
513         this patch, Notifications are almost entirely contained in the
514         notifications directory.
515
516         * CMakeLists.txt:
517         * DerivedSources.make:
518         * DerivedSources.pri:
519         * GNUmakefile.list.am:
520         * Target.pri:
521         * WebCore.gypi:
522         * WebCore.vcproj/WebCore.vcproj:
523         * WebCore.xcodeproj/project.pbxproj:
524         * workers/WorkerContext.cpp:
525         (WebCore::WorkerContext::~WorkerContext):
526         * workers/WorkerContext.h:
527         (WebCore):
528         (WorkerContext):
529         * workers/WorkerContext.idl:
530
531 2012-03-23  Michal Mocny  <mmocny@google.com>
532
533         [chromium] RootLayer was not being checked for null causing segfaults very rarely.
534         https://bugs.webkit.org/show_bug.cgi?id=82111
535
536         Reviewed by Adrienne Walker.
537
538         * platform/graphics/chromium/LayerRendererChromium.cpp:
539         (WebCore::LayerRendererChromium::beginDrawingFrame):
540         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
541         (WebCore::CCLayerTreeHostImpl::drawLayers):
542
543 2012-03-23  Shawn Singh  <shawnsingh@chromium.org>
544
545         [chromium] Fix race bug that clobbers CCLayerImpl updateRect
546         https://bugs.webkit.org/show_bug.cgi?id=82109
547
548         Reviewed by Dirk Pranke.
549
550         If the main thread commits twice before the impl thread actually
551         draws, then the updateRect of the first frame gets lost forever,
552         and not propagated to the damage tracker.
553
554         The solution is to accumulate the updateRect. The CCLayerImpl
555         updateRect is already being correctly cleared at the appropriate
556         time after drawing.
557
558         Unit test added to LayerChromiumTest.cpp.
559
560         * platform/graphics/chromium/LayerChromium.cpp:
561         (WebCore::LayerChromium::pushPropertiesTo):
562
563 2012-03-23  Rafael Weinstein  <rafaelw@chromium.org>
564
565         [MutationObservers] attributeFilter should be case sensitive at all times
566         https://bugs.webkit.org/show_bug.cgi?id=81822
567
568         Reviewed by Ryosuke Niwa.
569
570         This removes the behavior in MutationObserverRegistration which treats
571         attributeFilter as case insensitive for HTML elements in HTML documents.
572
573         Relevant tests have been updated.
574
575         * dom/MutationObserverRegistration.cpp:
576         (WebCore::MutationObserverRegistration::resetObservation):
577         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
578         * dom/MutationObserverRegistration.h:
579         (MutationObserverRegistration):
580
581 2012-03-23  Kentaro Hara  <haraken@chromium.org>
582
583         Move WebSocket APIs from WorkerContext.idl to WorkerContextWebSocket.idl
584         https://bugs.webkit.org/show_bug.cgi?id=79663
585
586         Reviewed by Adam Barth.
587
588         For WebKit modularization, this patch moves WebSocket APIs from WorkerContext.idl
589         to WorkerContextWebSocket.idl.
590
591         Tests: http/tests/websocket/tests/hybi/workers/* (No change in test results)
592
593         * CMakeLists.txt:
594         * DerivedSources.make:
595         * DerivedSources.pri:
596         * GNUmakefile.list.am:
597         * Modules/websockets/WorkerContextWebSocket.idl: Added.
598         * WebCore.gypi:
599         * WebCore.xcodeproj/project.xcodeproj:
600         * workers/WorkerContext.idl:
601
602 2012-03-23  Parag Radke  <parag@motorola.com>
603
604         REGRESSION: can select text of an input button
605         https://bugs.webkit.org/show_bug.cgi?id=13624
606
607         Reviewed by Ryosuke Niwa.
608
609         Text in a button should never have a selection background of its own painted
610         but if the button is inside an editable area, then the whole button should
611         have it's selection background painted.
612
613         Test: editing/selection/selection-button-text.html
614
615         * rendering/RenderButton.h:
616         Added implementation for the virtual function canBeSelectionLeaf()
617         which returns true if the button renderer is editable, false other wise.
618         * rendering/RenderTextFragment.h:
619         Added implementation for the virtual function canBeSelectionLeaf()
620         which returns true if the text fragment renderer is editable, false other wise.
621
622 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
623
624         Remove unnecessary ASSERT from LoadableTextTrack::trackElementIndex
625         https://bugs.webkit.org/show_bug.cgi?id=82095
626
627         Reviewed by Dan Bernstein.
628
629         No new tests, removed a bogus ASSERT that was sometimes triggered by tests.
630
631         * html/track/LoadableTextTrack.cpp:
632         (WebCore::LoadableTextTrack::trackElementIndex): Remove ASSERT.
633
634 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
635
636         Layout Test media/video-source-load.html is failing
637         https://bugs.webkit.org/show_bug.cgi?id=82094
638
639         Reviewed by Alexey Proskuryakov.
640
641         No new tests, tested by media/video-source-load.html.
642
643         * html/HTMLMediaElement.cpp:
644         (WebCore::HTMLMediaElement::sourceWasAdded): Set m_nextChildNodeToConsider when called 
645             with networkState == NETWORK_EMPTY because the resource selection algorithm has
646             not started yet.
647
648 2012-03-23  Alexey Proskuryakov  <ap@apple.com>
649
650         [Mac] No need for platform-specific ENABLE_BLOB values
651         https://bugs.webkit.org/show_bug.cgi?id=82102
652
653         Reviewed by David Kilzer.
654
655         * Configurations/FeatureDefines.xcconfig:
656
657 2012-03-23  Kent Tamura  <tkent@chromium.org>
658
659         Add TextFieldDecorator and TextFieldDecorationElement
660         https://bugs.webkit.org/show_bug.cgi?id=80580
661
662         Reviewed by Dimitri Glazkov.
663
664         These classes will be used to add a decoration icon to a text field
665         <input> from outside of WebCore. We have a plan to use them in Chromium
666         port. So this patch doesn't add TextFieldDecorationElement.{cpp,h} to
667         non-Chromium build files.
668
669         How it works:
670         When a shadow subtree for a text field is created, we ask ChromeClient
671         to decorate it. ChromeClient appends a TextFieldDecorationElement to the
672         existing shadow subtree or another shadow tree. A TextFieldDecorator is
673         associated to a TextFieldDecorationElement, and it provides decoration
674         icon images and a click handler.
675
676         No new tests. This patch won't make any behavior change for now.
677
678         * WebCore.gypi: Add TextFieldDecorationElement.cpp and TextFieldDecorationElement.h
679         * dom/Element.h:
680         (WebCore::Element::isTextFieldDecoration):
681         * html/TextFieldInputType.cpp:
682         (WebCore::TextFieldInputType::createShadowSubtree):
683         Calls ChromeClient::willAddTextFieldDecorationsTo() and addTextFieldDecorationsTo().
684         * html/shadow/TextFieldDecorationElement.cpp: Added.
685         (WebCore::TextFieldDecorator::~TextFieldDecorator):
686         (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
687         (WebCore::TextFieldDecorationElement::create):
688         (WebCore::TextFieldDecorationElement::isTextFieldDecoration):
689         (WebCore::TextFieldDecorationElement::updateImage):
690         (WebCore::TextFieldDecorationElement::customStyleForRenderer):
691         Sets the size to a square of the font-size.
692         (WebCore::TextFieldDecorationElement::createRenderer):
693         Always creates a RenderImage.
694         (WebCore::TextFieldDecorationElement::attach):
695         Sets an image for appropriate state.
696         (WebCore::TextFieldDecorationElement::isMouseFocusable):
697         (WebCore::TextFieldDecorationElement::defaultEventHandler):
698         Delegate a click event to the corresponding function of TextFieldDecorator.
699         * html/shadow/TextFieldDecorationElement.h: Added.
700         (TextFieldDecorator): Added.
701         (TextFieldDecorationElement): Added.
702         (WebCore::toTextFieldDecorationElement): Added.
703         * page/ChromeClient.h:
704         (WebCore::ChromeClient::willAddTextFieldDecorationsTo): Add an empty implementation.
705         (WebCore::ChromeClient::addTextFieldDecorationsTo): ditto.
706
707 2012-03-23  Adam Klein  <adamk@chromium.org>
708
709         Match DOM4 spec with respect to DocumentFragment insertion
710         https://bugs.webkit.org/show_bug.cgi?id=82089
711
712         Reviewed by Ryosuke Niwa.
713
714         DOM4 specifies the behavior of appendChild, insertBefore, and replaceChild
715         in terms of "mutation algorithms":
716
717         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#mutation-algorithms
718
719         This change updates WebKit to match, in particular with regard to DocumentFragments.
720         Previously, ContainerNode would remove nodes one at a time, then add them to the new parent.
721         When combined with MutationObservers, this results in overly-verbose mutation records.
722         Now we create as few records as possible, matching the spec as well as Gecko's implementation
723         of MutationObservers.
724
725         Note that we still need to check validity each time through the loop,
726         since inserting a node may dispatch events. In a future change, I hope
727         to move these events so that they fire only after all nodes are inserted,
728         but that's too much to tackle all in one.
729
730         Tests: fast/mutation/document-fragment-insertion.html
731
732         * dom/ContainerNode.cpp:
733         (WebCore::collectChildrenAndRemoveFromOldParent): New helper method
734         combining collectTargetNodes() with the removal of the collected nodes from
735         their old parent, if any.
736         (WebCore::ContainerNode::insertBefore): Use new helper method instead
737         of removing nodes one at a time from the fragment.
738         (WebCore::ContainerNode::replaceChild): ditto. Also removed some redundant asserts
739         and moved the "do nothing" check out of the loop.
740         (WebCore::ContainerNode::appendChild): Use new helper method.
741
742 2012-03-23  Stephen White  <senorblanco@chromium.org>
743
744         [skia] Switch to Skia's implementation of the feMorphology filter.
745         https://bugs.webkit.org/show_bug.cgi?id=82085
746
747         Reviewed by Dirk Schulze.
748
749         Covered by existing tests in svg/filters/.
750
751         * WebCore.gypi:
752         * platform/graphics/filters/FEMorphology.h:
753         (FEMorphology):
754         * platform/graphics/filters/skia/FEMorphologySkia.cpp: Added.
755         (WebCore):
756         (WebCore::FEMorphology::platformApplySkia):
757
758 2012-03-23  Adam Barth  <abarth@webkit.org>
759
760         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 3)
761         https://bugs.webkit.org/show_bug.cgi?id=82027
762
763         Reviewed by Kentaro Hara.
764
765         Rather than watching for willDetachPage, NotificationCenter can just
766         override ActiveDOMObject::stop directly to be notified when it needs to
767         stop.
768
769         Switching NotificationCenter over to using ActiveDOMObject callbacks
770         frees DOMWindowNotification to implement reconnectFrame.  However, this
771         is only really a victory in princple because NotificationCenter always
772         returns false for canSuspend(), which means we'll never actually use
773         the reconnectFrame functionality.  However, this patch does move us
774         closer to the time when NotificationCenter can implement
775         ActiveDOMObject::suspend/resume to play nice with the PageCache.
776
777         * notifications/DOMWindowNotifications.cpp:
778         (WebCore::DOMWindowNotifications::disconnectFrame):
779         (WebCore::DOMWindowNotifications::reconnectFrame):
780         * notifications/DOMWindowNotifications.h:
781         (DOMWindowNotifications):
782         * notifications/NotificationCenter.cpp:
783         (WebCore::NotificationCenter::NotificationCenter):
784         (WebCore::NotificationCenter::stop):
785         * notifications/NotificationCenter.h:
786         (NotificationCenter):
787
788 2012-03-23  Daniel Cheng  <dcheng@chromium.org>
789
790         [chromium] Support file drag out using DataTransferItemList::add(File)
791         https://bugs.webkit.org/show_bug.cgi?id=81261
792
793         Reviewed by Tony Chang.
794
795         Original patch by Varun Jain <varunjain@chromium.org>.
796         I've updated the original patch to remove 'downloadurl' handling since it's not tested, nor
797         is it necessary for File objects, since File objects correspond to a native filesystem path.
798
799         Test: fast/events/drag-dataTransferItemList-file-handling.html
800
801         * platform/chromium/DataTransferItemListChromium.cpp:
802         (WebCore::DataTransferItemListChromium::add):
803
804 2012-03-23  Zan Dobersek  <zandobersek@gmail.com>
805
806         [GObject bindings] Supplemental interfaces are not disabled with the "Conditional" attribute
807         https://bugs.webkit.org/show_bug.cgi?id=80030
808
809         Reviewed by Martin Robinson.
810
811         Changes in CodeGeneratorGObject.pm:
812         - group implementation of private helpers and guard them inside
813         an ifdef if a root conditional attribute is present.
814         - always define the type of a GObject binding, even if the root
815         conditional feature is not enabled
816         - the methods are generated as well, but are simply stubs if the
817         feature is not enabled, throwing a warning upon interaction.
818         - if the method itself is guarded by a conditional attribute,
819         the stub implementation gains one more level of depth, throwing
820         a warning if the method's conditional feature is not enabled
821         but the root conditional feature is.
822         - small style fixes in random places.
823
824         Also changed are GObject baselines for binding tests.
825
826         No new tests - no new testable functionality.
827
828         * bindings/gobject/GNUmakefile.am:
829         * bindings/scripts/CodeGeneratorGObject.pm:
830         (HumanReadableConditional):
831         (GenerateConditionalWarn):
832         (GenerateProperty):
833         (GenerateProperties):
834         (GenerateFunction):
835         (GenerateFunctions):
836         (GenerateCFile):
837         (GenerateEventTargetIface):
838         (Generate):
839         (WriteData):
840         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
841         (WebKit):
842         (WebKit::kit):
843         (WebKit::wrapFloat64Array):
844         (webkit_dom_float64array_finalize):
845         (webkit_dom_float64array_foo):
846         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
847         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
848         (WebKit):
849         (WebKit::kit):
850         (WebKit::wrapTestActiveDOMObject):
851         (webkit_dom_test_active_dom_object_finalize):
852         (webkit_dom_test_active_dom_object_exciting_function):
853         (webkit_dom_test_active_dom_object_post_message):
854         (webkit_dom_test_active_dom_object_get_exciting_attr):
855         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
856         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
857         (WebKit):
858         (WebKit::kit):
859         (WebKit::core):
860         (WebKit::wrapTestCallback):
861         (webkit_dom_test_callback_finalize):
862         (webkit_dom_test_callback_callback_with_no_param):
863         (webkit_dom_test_callback_callback_with_class1param):
864         (webkit_dom_test_callback_callback_with_class2param):
865         (webkit_dom_test_callback_callback_with_non_bool_return_type):
866         (webkit_dom_test_callback_callback_with_string_list):
867         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
868         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
869         (WebKit):
870         (WebKit::kit):
871         (WebKit::wrapTestCustomNamedGetter):
872         (webkit_dom_test_custom_named_getter_finalize):
873         (webkit_dom_test_custom_named_getter_another_function):
874         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
875         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
876         (WebKit):
877         (WebKit::kit):
878         (WebKit::wrapTestEventConstructor):
879         (webkit_dom_test_event_constructor_finalize):
880         (webkit_dom_test_event_constructor_get_attr1):
881         (webkit_dom_test_event_constructor_get_attr2):
882         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
883         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
884         (WebKit):
885         (WebKit::core):
886         (WebKit::wrapTestEventTarget):
887         (webkit_dom_test_event_target_finalize):
888         (webkit_dom_test_event_target_item):
889         (webkit_dom_test_event_target_dispatch_event):
890         * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
891         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
892         (WebKit):
893         (WebKit::kit):
894         (WebKit::core):
895         (WebKit::wrapTestInterface):
896         (webkit_dom_test_interface_finalize):
897         (webkit_dom_test_interface_supplemental_method1):
898         (webkit_dom_test_interface_supplemental_method2):
899         (webkit_dom_test_interface_supplemental_method4):
900         (webkit_dom_test_interface_get_supplemental_str1):
901         (webkit_dom_test_interface_get_supplemental_str2):
902         (webkit_dom_test_interface_set_supplemental_str2):
903         (webkit_dom_test_interface_get_supplemental_node):
904         (webkit_dom_test_interface_set_supplemental_node):
905         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
906         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
907         (WebKit):
908         (WebKit::kit):
909         (WebKit::wrapTestMediaQueryListListener):
910         (webkit_dom_test_media_query_list_listener_finalize):
911         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
912         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
913         (WebKit):
914         (WebKit::kit):
915         (WebKit::wrapTestNamedConstructor):
916         (webkit_dom_test_named_constructor_finalize):
917         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
918         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
919         (WebKit):
920         (WebKit::kit):
921         (WebKit::core):
922         (WebKit::wrapTestObj):
923         (webkit_dom_test_obj_finalize):
924         (webkit_dom_test_obj_set_property):
925         (webkit_dom_test_obj_get_property):
926         (webkit_dom_test_obj_constructed):
927         (webkit_dom_test_obj_class_init):
928         (webkit_dom_test_obj_init):
929         (webkit_dom_test_obj_void_method):
930         (webkit_dom_test_obj_void_method_with_args):
931         (webkit_dom_test_obj_int_method):
932         (webkit_dom_test_obj_int_method_with_args):
933         (webkit_dom_test_obj_obj_method):
934         (webkit_dom_test_obj_obj_method_with_args):
935         (webkit_dom_test_obj_method_with_sequence_arg):
936         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
937         (webkit_dom_test_obj_serialized_value):
938         (webkit_dom_test_obj_idb_key):
939         (webkit_dom_test_obj_options_object):
940         (webkit_dom_test_obj_method_with_exception):
941         (webkit_dom_test_obj_with_script_state_void):
942         (webkit_dom_test_obj_with_script_state_obj):
943         (webkit_dom_test_obj_with_script_state_void_exception):
944         (webkit_dom_test_obj_with_script_state_obj_exception):
945         (webkit_dom_test_obj_with_script_execution_context):
946         (webkit_dom_test_obj_with_script_execution_context_and_script_state):
947         (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception):
948         (webkit_dom_test_obj_with_script_execution_context_and_script_state_with_spaces):
949         (webkit_dom_test_obj_method_with_optional_arg):
950         (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
951         (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
952         (webkit_dom_test_obj_method_with_optional_string):
953         (webkit_dom_test_obj_method_with_optional_string_is_undefined):
954         (webkit_dom_test_obj_method_with_optional_string_is_null_string):
955         (webkit_dom_test_obj_conditional_method1):
956         (webkit_dom_test_obj_conditional_method2):
957         (webkit_dom_test_obj_conditional_method3):
958         (webkit_dom_test_obj_class_method):
959         (webkit_dom_test_obj_class_method_with_optional):
960         (webkit_dom_test_obj_overloaded_method1):
961         (webkit_dom_test_obj_convert1):
962         (webkit_dom_test_obj_convert2):
963         (webkit_dom_test_obj_convert3):
964         (webkit_dom_test_obj_convert4):
965         (webkit_dom_test_obj_convert5):
966         (webkit_dom_test_obj_mutable_point_function):
967         (webkit_dom_test_obj_immutable_point_function):
968         (webkit_dom_test_obj_orange):
969         (webkit_dom_test_obj_strict_function):
970         (webkit_dom_test_obj_get_read_only_int_attr):
971         (webkit_dom_test_obj_get_read_only_string_attr):
972         (webkit_dom_test_obj_get_read_only_test_obj_attr):
973         (webkit_dom_test_obj_get_short_attr):
974         (webkit_dom_test_obj_set_short_attr):
975         (webkit_dom_test_obj_get_unsigned_short_attr):
976         (webkit_dom_test_obj_set_unsigned_short_attr):
977         (webkit_dom_test_obj_get_int_attr):
978         (webkit_dom_test_obj_set_int_attr):
979         (webkit_dom_test_obj_get_long_long_attr):
980         (webkit_dom_test_obj_set_long_long_attr):
981         (webkit_dom_test_obj_get_unsigned_long_long_attr):
982         (webkit_dom_test_obj_set_unsigned_long_long_attr):
983         (webkit_dom_test_obj_get_string_attr):
984         (webkit_dom_test_obj_set_string_attr):
985         (webkit_dom_test_obj_get_test_obj_attr):
986         (webkit_dom_test_obj_set_test_obj_attr):
987         (webkit_dom_test_obj_get_xml_obj_attr):
988         (webkit_dom_test_obj_set_xml_obj_attr):
989         (webkit_dom_test_obj_get_create):
990         (webkit_dom_test_obj_set_create):
991         (webkit_dom_test_obj_get_reflected_string_attr):
992         (webkit_dom_test_obj_set_reflected_string_attr):
993         (webkit_dom_test_obj_get_reflected_integral_attr):
994         (webkit_dom_test_obj_set_reflected_integral_attr):
995         (webkit_dom_test_obj_get_reflected_unsigned_integral_attr):
996         (webkit_dom_test_obj_set_reflected_unsigned_integral_attr):
997         (webkit_dom_test_obj_get_reflected_boolean_attr):
998         (webkit_dom_test_obj_set_reflected_boolean_attr):
999         (webkit_dom_test_obj_get_reflected_url_attr):
1000         (webkit_dom_test_obj_set_reflected_url_attr):
1001         (webkit_dom_test_obj_get_reflected_custom_integral_attr):
1002         (webkit_dom_test_obj_set_reflected_custom_integral_attr):
1003         (webkit_dom_test_obj_get_reflected_custom_boolean_attr):
1004         (webkit_dom_test_obj_set_reflected_custom_boolean_attr):
1005         (webkit_dom_test_obj_get_reflected_custom_url_attr):
1006         (webkit_dom_test_obj_set_reflected_custom_url_attr):
1007         (webkit_dom_test_obj_get_attr_with_getter_exception):
1008         (webkit_dom_test_obj_set_attr_with_getter_exception):
1009         (webkit_dom_test_obj_get_attr_with_setter_exception):
1010         (webkit_dom_test_obj_set_attr_with_setter_exception):
1011         (webkit_dom_test_obj_get_string_attr_with_getter_exception):
1012         (webkit_dom_test_obj_set_string_attr_with_getter_exception):
1013         (webkit_dom_test_obj_get_string_attr_with_setter_exception):
1014         (webkit_dom_test_obj_set_string_attr_with_setter_exception):
1015         (webkit_dom_test_obj_get_with_script_state_attribute):
1016         (webkit_dom_test_obj_set_with_script_state_attribute):
1017         (webkit_dom_test_obj_get_with_script_execution_context_attribute):
1018         (webkit_dom_test_obj_set_with_script_execution_context_attribute):
1019         (webkit_dom_test_obj_get_with_script_state_attribute_raises):
1020         (webkit_dom_test_obj_set_with_script_state_attribute_raises):
1021         (webkit_dom_test_obj_get_with_script_execution_context_attribute_raises):
1022         (webkit_dom_test_obj_set_with_script_execution_context_attribute_raises):
1023         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute):
1024         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute):
1025         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises):
1026         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute_raises):
1027         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_with_spaces_attribute):
1028         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_with_spaces_attribute):
1029         (webkit_dom_test_obj_get_conditional_attr1):
1030         (webkit_dom_test_obj_set_conditional_attr1):
1031         (webkit_dom_test_obj_get_conditional_attr2):
1032         (webkit_dom_test_obj_set_conditional_attr2):
1033         (webkit_dom_test_obj_get_conditional_attr3):
1034         (webkit_dom_test_obj_set_conditional_attr3):
1035         (webkit_dom_test_obj_get_content_document):
1036         (webkit_dom_test_obj_get_mutable_point):
1037         (webkit_dom_test_obj_set_mutable_point):
1038         (webkit_dom_test_obj_get_immutable_point):
1039         (webkit_dom_test_obj_set_immutable_point):
1040         (webkit_dom_test_obj_get_strict_float):
1041         (webkit_dom_test_obj_set_strict_float):
1042         (webkit_dom_test_obj_get_description):
1043         (webkit_dom_test_obj_get_id):
1044         (webkit_dom_test_obj_set_id):
1045         (webkit_dom_test_obj_get_hash):
1046         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
1047         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1048         (WebKit):
1049         (WebKit::kit):
1050         (WebKit::core):
1051         (WebKit::wrapTestSerializedScriptValueInterface):
1052         (webkit_dom_test_serialized_script_value_interface_finalize):
1053         (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
1054         (webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
1055         (webkit_dom_test_serialized_script_value_interface_get_value):
1056         (webkit_dom_test_serialized_script_value_interface_set_value):
1057         (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
1058         (webkit_dom_test_serialized_script_value_interface_get_cached_value):
1059         (webkit_dom_test_serialized_script_value_interface_set_cached_value):
1060         (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
1061         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
1062
1063 2012-03-23  Dana Jansens  <danakj@chromium.org>
1064
1065         [chromium] Record painted pixel counts for measuring effectiveness of per-tile painting
1066         https://bugs.webkit.org/show_bug.cgi?id=82057
1067
1068         Reviewed by Adrienne Walker.
1069
1070         Adds painted pixel metrics to CCOverdrawMetrics class, and calls in
1071         to report painted areas when updating tiles in the TiledLayerChromium
1072         class.
1073
1074         Unit test: TiledLayerChromiumTest.opaqueContentsRegion
1075                    TiledLayerChromiumTest.pixelsPaintedMetrics
1076
1077         * platform/graphics/chromium/TiledLayerChromium.cpp:
1078         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1079         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
1080         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
1081         (WebCore::CCOverdrawMetrics::didPaint):
1082         (WebCore):
1083         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
1084         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
1085         (CCOverdrawMetrics):
1086         (WebCore::CCOverdrawMetrics::pixelsPainted):
1087
1088 2012-03-23  Abhishek Arya  <inferno@chromium.org>
1089
1090         Crash in RenderBlock::splitBlocks.
1091         https://bugs.webkit.org/show_bug.cgi?id=81926
1092
1093         Reviewed by Julien Chaffraix.
1094
1095         We are updating the :after content before calling splitFlow. The :after content
1096         gets blown away since it will go to the continuation. beforeChild was earlier
1097         set to the first child. Being the last anonymous block, its children gets pulled
1098         up in collapseAnonymousBoxChild and it gets destroyed. So, we need to update
1099         beforeChild value. 
1100
1101         Test: fast/multicol/span/update-after-content-before-child-crash.html
1102
1103         * rendering/RenderBlock.cpp:
1104         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1105
1106 2012-03-23  Dana Jansens  <danakj@chromium.org>
1107
1108         [chromium] Improved composited debug borders
1109         https://bugs.webkit.org/show_bug.cgi?id=82071
1110
1111         Reviewed by Adrienne Walker.
1112
1113         Fix the problem with missing debug borders. Since we append quads
1114         to the list front to back now, we draw the quads in the list from
1115         back to front of the list. Which means if the debug quad is added
1116         after the layer it is drawing around, the layer can draw over top
1117         of its debug quad. Reverse the ordering when appending to fix it.
1118
1119         Make the border red around tiles that are checkerboarded. Missing
1120         tiles in non-root layers are drawn clear, so this makes them more
1121         visible.
1122
1123         Put a blue border around each render surface, and a purple border
1124         on their replicas.
1125
1126         No new tests.
1127
1128         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1129         (WebCore):
1130         (WebCore::CCRenderPass::appendQuadsForLayer):
1131         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
1132         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1133         (WebCore::CCRenderSurface::hasReplica):
1134         (WebCore):
1135         (WebCore::CCRenderSurface::createReplicaSharedQuadState):
1136         * platform/graphics/chromium/cc/CCRenderSurface.h:
1137         (CCRenderSurface):
1138         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1139         (WebCore):
1140         (WebCore::CCTiledLayerImpl::appendQuads):
1141
1142 2012-03-23  Simon Fraser  <simon.fraser@apple.com>
1143
1144         Move code that calls setAcceleratesDrawing() on GraphicsLayers into RenderLayerBacking
1145         https://bugs.webkit.org/show_bug.cgi?id=82092
1146
1147         Reviewed by Dean Jackson.
1148
1149         A RenderLayerBacking manages several GraphicsLayers, but RenderLayerCompositor
1150         was only calling setAcceleratesDrawing() on the one it knows about. Fix by moving
1151         this setting code down into RenderLayerBacking.
1152         
1153         RenderLayerCompositor now caches the setAcceleratesDrawing setting, as it does
1154         for other compositing-related settings, so that RenderLayerBacking doesn't have
1155         to grovel for Settings every time.
1156
1157         * rendering/RenderLayerBacking.cpp:
1158         (WebCore::RenderLayerBacking::createGraphicsLayer):
1159         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1160         * rendering/RenderLayerCompositor.cpp:
1161         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1162         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
1163         (WebCore::RenderLayerCompositor::updateBacking):
1164         * rendering/RenderLayerCompositor.h:
1165         (WebCore::RenderLayerCompositor::acceleratedDrawingEnabled):
1166         (RenderLayerCompositor):
1167
1168 2012-03-23  Beth Dakin  <bdakin@apple.com>
1169
1170         https://bugs.webkit.org/show_bug.cgi?id=82083
1171
1172         Rubber-stamped by Simon Fraser.
1173
1174         This patch is just a name change. getExistingScrollAnimator() (which was 
1175         added earlier today) is now existingScrollAnimator().
1176         * loader/FrameLoader.cpp:
1177         (WebCore::FrameLoader::transitionToCommitted):
1178         * page/EventHandler.cpp:
1179         (WebCore::EventHandler::handleGestureTapDown):
1180         * page/FrameView.cpp:
1181         (WebCore::FrameView::setAnimatorsAreActive):
1182         * platform/ScrollView.cpp:
1183         (WebCore::ScrollView::updateScrollbars):
1184         * platform/ScrollableArea.cpp:
1185         (WebCore::ScrollableArea::willStartLiveResize):
1186         (WebCore::ScrollableArea::willEndLiveResize):
1187         (WebCore::ScrollableArea::contentAreaWillPaint):
1188         (WebCore::ScrollableArea::mouseEnteredContentArea):
1189         (WebCore::ScrollableArea::mouseExitedContentArea):
1190         (WebCore::ScrollableArea::mouseMovedInContentArea):
1191         (WebCore::ScrollableArea::contentAreaDidShow):
1192         (WebCore::ScrollableArea::contentAreaDidHide):
1193         (WebCore::ScrollableArea::contentsResized):
1194         (WebCore::ScrollableArea::serviceScrollAnimations):
1195         * platform/ScrollableArea.h:
1196         (WebCore::ScrollableArea::existingScrollAnimator):
1197
1198 2012-03-23  Abhishek Arya  <inferno@chromium.org>
1199
1200         Crash due to accessing removed parent lineboxes when clearing selection.
1201         https://bugs.webkit.org/show_bug.cgi?id=81359
1202
1203         Reviewed by Eric Seidel.
1204
1205         Similar to r110323, adds the canUpdateSelectionOnRootLineBoxes
1206         check to more places.
1207
1208         Test: editing/selection/clear-selection-crash.html
1209
1210         * rendering/RenderObject.cpp:
1211         (WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):
1212         * rendering/RenderSelectionInfo.h:
1213         (WebCore::RenderSelectionInfo::RenderSelectionInfo):
1214         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
1215
1216 2012-03-23  Beth Dakin  <bdakin@apple.com>
1217
1218         https://bugs.webkit.org/show_bug.cgi?id=82083
1219         Too many ScrollAnimators are allocated on pages with frames
1220
1221         Reviewed by Geoffrey Garen.
1222
1223         This patch adds a new getter to ScrollableArea called 
1224         getExistingScrollAnimator() unlike scrollAnimator() this new function will 
1225         just return null if there is not already a ScrollAnimator. Callers should use 
1226         this new function when they have business with ScrollAnimator that does not 
1227         need to do anything when there are no scrollbars.
1228         * loader/FrameLoader.cpp:
1229         (WebCore::FrameLoader::transitionToCommitted):
1230         * page/EventHandler.cpp:
1231         (WebCore::EventHandler::handleGestureTapDown):
1232         * page/FrameView.cpp:
1233         (WebCore::FrameView::setAnimatorsAreActive):
1234         * platform/ScrollView.cpp:
1235         (WebCore::ScrollView::updateScrollbars):
1236         * platform/ScrollableArea.cpp:
1237         (WebCore::ScrollableArea::willStartLiveResize):
1238         (WebCore::ScrollableArea::willEndLiveResize):
1239         (WebCore::ScrollableArea::contentAreaWillPaint):
1240         (WebCore::ScrollableArea::mouseEnteredContentArea):
1241         (WebCore::ScrollableArea::mouseExitedContentArea):
1242         (WebCore::ScrollableArea::mouseMovedInContentArea):
1243         (WebCore::ScrollableArea::contentAreaDidShow):
1244         (WebCore::ScrollableArea::contentAreaDidHide):
1245         (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
1246         (WebCore::ScrollableArea::contentsResized):
1247         (WebCore::ScrollableArea::serviceScrollAnimations):
1248         * platform/ScrollableArea.h:
1249         (ScrollableArea):
1250         (WebCore::ScrollableArea::getExistingScrollAnimator):
1251
1252 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
1253
1254         Deal with DOM modifications when evaluating source elements.
1255         https://bugs.webkit.org/show_bug.cgi?id=81163
1256
1257         Reviewed by Alexey Proskuryakov.
1258
1259         Test: media/video-beforeload-remove-source.html
1260
1261         * dom/ContainerNode.cpp: Make NodeVector and collectNodes public, renamed as getChildNodes.
1262         (WebCore::ContainerNode::takeAllChildrenFrom): collectNodes -> getChildNodes.
1263         (WebCore::ContainerNode::willRemove): collectNodes -> getChildNodes.
1264         (WebCore::ContainerNode::willRemoveChildren): collectNodes -> getChildNodes.
1265         (WebCore::ContainerNode::insertedIntoDocument): collectNodes -> getChildNodes.
1266         (WebCore::ContainerNode::removedFromDocument): collectNodes -> getChildNodes.
1267         * dom/ContainerNode.h:
1268         (WebCore::getChildNodes):
1269
1270         * editing/ReplaceSelectionCommand.cpp: Remove unused NodeVector declaration.
1271
1272         * html/HTMLMediaElement.cpp:
1273         (WebCore::HTMLMediaElement::HTMLMediaElement): m_nextChildNodeToConsider and m_currentSourceNode
1274             are now RefPtrs.
1275         (WebCore::HTMLMediaElement::loadTimerFired): Protect HTMLMediaElement from being deleted during
1276             a DOM modification during an event callback.
1277         (WebCore::HTMLMediaElement::load): Ditto.
1278         (WebCore::HTMLMediaElement::selectMediaResource): Set m_nextChildNodeToConsider to the first
1279             child node, it will be the first node considered.
1280         (WebCore::HTMLMediaElement::havePotentialSourceChild): m_nextChildNodeToConsider and m_currentSourceNode
1281             are now RefPtrs.
1282         (WebCore::HTMLMediaElement::selectNextSourceChild): Collect all child nodes in a vector before
1283             looking for <source> nodes because 'beforeload' event handlers can mutate the DOM. Don't
1284             use a <source> that is no longer a child node after 'beforeload'. Use 0 to represent the end
1285             of the child node list because m_nextChildNodeToConsider is now a RefPtr so using the previous 
1286             sentinel, "this", would cause a retain cycle.
1287         (WebCore::HTMLMediaElement::sourceWasAdded):  m_nextChildNodeToConsider and m_currentSourceNode
1288             are now RefPtrs.
1289         (WebCore::HTMLMediaElement::sourceWillBeRemoved): Ditto.
1290         (WebCore::HTMLMediaElement::getPluginProxyParams): Protect HTMLMediaElement from being deleted during
1291             a DOM modification during an event callback.
1292         * html/HTMLMediaElement.h:
1293
1294 2012-03-23  Dean Jackson  <dino@apple.com>
1295
1296         Disable CSS_SHADERS in Apple builds
1297         https://bugs.webkit.org/show_bug.cgi?id=81996
1298
1299         Reviewed by Simon Fraser.
1300
1301         Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
1302
1303         * Configurations/FeatureDefines.xcconfig:
1304
1305 2012-03-23  Dave Michael  <dmichael@chromium.org>
1306
1307         Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
1308         https://bugs.webkit.org/show_bug.cgi?id=80428
1309
1310         Reviewed by Eric Seidel and Ryosuke Niwa.
1311
1312         Make HTMLPluginElement release its m_NPObject in detach() to break a
1313         reference-counting cycle that happens on reload or navigation. With this
1314         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
1315         was removed. Note that Releasing m_NPObject does not result in a call to
1316         the plugin; it simply releases a reference count on the wrapper object
1317         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
1318         when the render tree is destroyed, when PluginView calls
1319         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
1320         detach, because it can not result in layout or style changes.
1321
1322         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
1323         window.internals to enable testing.
1324
1325         Test: plugins/netscape-dom-access-and-reload.html
1326
1327         * WebCore.exp.in:
1328         * html/HTMLPlugInElement.cpp:
1329         (WebCore::HTMLPlugInElement::detach):
1330         * html/HTMLPlugInElement.h:
1331         (HTMLPlugInElement):
1332         * testing/Internals.cpp:
1333         (WebCore):
1334         (WebCore::Internals::numberOfLiveNodes):
1335         (WebCore::Internals::numberOfLiveDocuments):
1336         * testing/Internals.h:
1337         (Internals):
1338         * testing/Internals.idl:
1339
1340 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
1341
1342         CSSParser doesn't set border-*-width/style/color to initial by border shorthand property
1343         https://bugs.webkit.org/show_bug.cgi?id=82040
1344
1345         Reviewed by Antti Koivisto.
1346
1347         The border shorthand property sets values for border-width, border-style, and border-color shorthand properties.
1348         While CSSParser::parseValue can process these shorthand properties properly and set the longhand properties
1349         such as border-top-width, border-right-width, ... border-left-color, CSSParser::addProperty can't and the
1350         initialization in parseShorthand fails for the border property.
1351
1352         Fixed the bug by explicitly initializing longhand properties.
1353
1354         Changing the behavior here is unlikely to break the Web since our behavior already differs from that of Firefox
1355         and Internet Explorer. Both of those browsers return the actual initial values such as "medium" and "currentColor".
1356         This discrepancy is tracked by https://bugs.webkit.org/show_bug.cgi?id=82078.
1357
1358         Test: fast/css/border-shorthand-initialize-longhands.html
1359
1360         * css/CSSParser.cpp:
1361         (WebCore::CSSParser::parseValue): Uses borderAbridgedLonghand.
1362         (WebCore::CSSParser::parseShorthand): Uses longhand properties for initialization if one is available.
1363         This allows us to initialize multiple properties (e.g. border-*-color) for a single property missing in the set.
1364         * css/CSSPropertyLonghand.cpp:
1365         (WebCore::borderAbridgedLonghand): Added. The longhand here (border-width, border-style, border-color) is
1366         "abridged" in the sense that they're still shorthands.
1367         * css/CSSPropertyLonghand.h:
1368         (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
1369         (CSSPropertyLonghand): Added the version that takes longhand instances for initialization purposes.
1370         (WebCore::CSSPropertyLonghand::longhandsForInitialization):
1371
1372 2012-03-23  Tony Chang  <tony@chromium.org>
1373
1374         [chromium] rename newwtf target back to wtf
1375         https://bugs.webkit.org/show_bug.cgi?id=82064
1376
1377         Reviewed by Adam Barth.
1378
1379         No new tests, only renaming a build target.
1380
1381         * WebCore.gyp/WebCore.gyp:
1382
1383 2012-03-23  Adrienne Walker  <enne@google.com>
1384
1385         [chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
1386         https://bugs.webkit.org/show_bug.cgi?id=82066
1387
1388         Reviewed by James Robinson.
1389
1390         With threaded compositing, OSX will crash and Windows will have black
1391         scrollbars. Fix that by reverting to the previosu behavior of updating
1392         scrollbars on the main thread instead.
1393
1394         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1395         (WebCore::scrollbarLayerDidChange):
1396
1397 2012-03-23  Dan Bernstein  <mitz@apple.com>
1398
1399         <rdar://problem/7883987> ASSERTION FAILED: ASSERT(input == AnimationStateInputEndTimerFired || input == AnimationStateInputPlayStatePaused) in AnimationBase::updateStateMachine causing multiple "crashes" on Lion Intel Debug WebKit testers
1400         https://bugs.webkit.org/show_bug.cgi?id=81351
1401
1402         Rubber-stamped by Jessie Berlin.
1403
1404         * page/animation/AnimationBase.cpp:
1405         (WebCore::AnimationBase::updateStateMachine): Replaced the assertion with a LOG_ERROR so that
1406         the issue is still noticeable, but it does not automatically make the debug bots red.
1407
1408 2012-03-23  Mike Lawther  <mikelawther@chromium.org>
1409
1410         CSS3 calc: image sizing works with mixed percentage/absolute
1411         https://bugs.webkit.org/show_bug.cgi?id=82017
1412
1413         Reviewed by Ojan Vafai.
1414
1415         Test: css3/calc/img-size-expected.html
1416
1417         * rendering/RenderBox.cpp:
1418         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1419         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1420
1421 2012-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
1422
1423         REGRESSION(107971): Google Voice contact list is broken in WebKit due to badly allocating the extra height
1424         https://bugs.webkit.org/show_bug.cgi?id=81826
1425
1426         Reviewed by Tony Chang.
1427
1428         Covered by tables/mozilla/bugs/bug27038-{1|2}.html.
1429
1430         This partly reverts r107971: the extra logical height distribution change was not needed
1431         to fix the bug (it is needed by the test though). We revert to giving all the extra height
1432         to the first tbody and not the first section.
1433
1434         This is broken but unfortunately some websites are relying on that. Getting a real
1435         distribution algorithm is covered by bug 81824. However this is super tricky to get
1436         right and I did not want to add more compatibility risks until I have something solid.
1437
1438         * rendering/RenderTable.cpp:
1439         (WebCore::RenderTable::distributeExtraLogicalHeight):
1440
1441 2012-03-23  Xingnan Wang  <xingnan.wang@intel.com>
1442
1443         Optimize for IPP in DirectConvolver::process()
1444         https://bugs.webkit.org/show_bug.cgi?id=80255
1445
1446         Reviewed by Chris Rogers.
1447
1448         Increase ~2X performance by conv() in IPP.
1449
1450         * platform/audio/DirectConvolver.cpp:
1451         (WebCore::DirectConvolver::DirectConvolver):
1452         (WebCore::DirectConvolver::process):
1453         * platform/audio/DirectConvolver.h:
1454         (DirectConvolver):
1455
1456 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
1457
1458         MediaStream API (JSEP): Introducing PeerConnection00 and IceCallback
1459         https://bugs.webkit.org/show_bug.cgi?id=81657
1460
1461         Reviewed by Adam Barth.
1462
1463         Last major WebCore patch for the JSEP PeerConnection, together with the associated
1464         IceCallback (they both depend on each other and IceCallback has very few lines of real code).
1465
1466         My next patch after this one will do a major overhaul of the existing layout tests
1467         and add a few new ones.
1468
1469         * GNUmakefile.list.am:
1470         * Modules/mediastream/DOMWindowMediaStream.idl:
1471         * Modules/mediastream/IceCallback.h: Added.
1472         (WebCore):
1473         (IceCallback):
1474         (WebCore::IceCallback::~IceCallback):
1475         * Modules/mediastream/IceCallback.idl: Added.
1476         * Modules/mediastream/PeerConnection00.cpp: Added.
1477         (WebCore):
1478         (WebCore::PeerConnection00::create):
1479         (WebCore::PeerConnection00::PeerConnection00):
1480         (WebCore::PeerConnection00::~PeerConnection00):
1481         (WebCore::PeerConnection00::hasLocalAudioTrack):
1482         (WebCore::PeerConnection00::hasLocalVideoTrack):
1483         (WebCore::PeerConnection00::parseMediaHints):
1484         (WebCore::PeerConnection00::createOffer):
1485         (WebCore::PeerConnection00::createAnswer):
1486         (WebCore::PeerConnection00::setLocalDescription):
1487         (WebCore::PeerConnection00::setRemoteDescription):
1488         (WebCore::PeerConnection00::localDescription):
1489         (WebCore::PeerConnection00::remoteDescription):
1490         (WebCore::PeerConnection00::startIce):
1491         (WebCore::PeerConnection00::processIceMessage):
1492         (WebCore::PeerConnection00::readyState):
1493         (WebCore::PeerConnection00::iceState):
1494         (WebCore::PeerConnection00::addStream):
1495         (WebCore::PeerConnection00::removeStream):
1496         (WebCore::PeerConnection00::localStreams):
1497         (WebCore::PeerConnection00::remoteStreams):
1498         (WebCore::PeerConnection00::close):
1499         (WebCore::PeerConnection00::didGenerateIceCandidate):
1500         (WebCore::PeerConnection00::didChangeReadyState):
1501         (WebCore::PeerConnection00::didChangeIceState):
1502         (WebCore::PeerConnection00::didAddRemoteStream):
1503         (WebCore::PeerConnection00::didRemoveRemoteStream):
1504         (WebCore::PeerConnection00::interfaceName):
1505         (WebCore::PeerConnection00::scriptExecutionContext):
1506         (WebCore::PeerConnection00::stop):
1507         (WebCore::PeerConnection00::eventTargetData):
1508         (WebCore::PeerConnection00::ensureEventTargetData):
1509         (WebCore::PeerConnection00::changeReadyState):
1510         (WebCore::PeerConnection00::changeIceState):
1511         * Modules/mediastream/PeerConnection00.h: Added.
1512         (WebCore):
1513         (PeerConnection00):
1514         (WebCore::PeerConnection00::refEventTarget):
1515         (WebCore::PeerConnection00::derefEventTarget):
1516         * Modules/mediastream/PeerConnection00.idl: Added.
1517         * WebCore.gypi:
1518         * bindings/generic/RuntimeEnabledFeatures.h:
1519         (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
1520         * bindings/js/JSPeerConnection00Custom.cpp: Added.
1521         (WebCore):
1522         (WebCore::JSPeerConnection00Constructor::constructJSPeerConnection00):
1523         * dom/EventTargetFactory.in:
1524
1525 2012-03-23  Adrienne Walker  <enne@google.com>
1526
1527         [chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
1528         https://bugs.webkit.org/show_bug.cgi?id=82062
1529
1530         Reviewed by James Robinson.
1531
1532         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1533         (CCScrollbarLayerImpl):
1534
1535 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
1536
1537         [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter
1538         https://bugs.webkit.org/show_bug.cgi?id=81924
1539
1540         Reviewed by Adam Barth.
1541
1542         Nothing to test, just moving methods.
1543
1544         * platform/mediastream/MediaStreamCenter.cpp:
1545         (WebCore::MediaStreamCenter::constructSDP):
1546         (WebCore):
1547
1548 2012-03-23  Sami Kyostila  <skyostil@chromium.org>
1549
1550         Reuse buffer allocation if canvas size does not change
1551         https://bugs.webkit.org/show_bug.cgi?id=80871
1552
1553         Reviewed by Stephen White.
1554
1555         If the user changes the width or height attributes of a canvas element,
1556         the contents of the canvas should be cleared and the context state
1557         should be reset. This has become a common idiom to clear the canvas
1558         "efficiently" at the start of a frame.
1559
1560         Previously, this code path triggered a full reallocation of the image
1561         buffer backing the canvas, leading to reduced performance. This patch
1562         implements an optimization where we reuse the previous image buffer
1563         allocation if the size of the canvas did not change. Also, instead of
1564         clearing the canvas every time its dimensions are touched, we only clear
1565         if anything has been drawn into the canvas since it was previously
1566         cleared.
1567
1568         Note that for now this optimization only applies for 2D canvases,
1569         since it is not entirely clear how touching the dimensions of a WebGL
1570         canvas should work.
1571
1572         Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
1573               existing layout tests for canvas resetting.
1574
1575         * html/HTMLCanvasElement.cpp:
1576         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1577         (WebCore::HTMLCanvasElement::reset):
1578         (WebCore::HTMLCanvasElement::createImageBuffer): Save the initial
1579         graphics context state so we can restore it without creating a new
1580         context.
1581         (WebCore::HTMLCanvasElement::clearImageBuffer):
1582         (WebCore):
1583         (WebCore::HTMLCanvasElement::clearCopiedImage):
1584         * html/HTMLCanvasElement.h:
1585         (HTMLCanvasElement):
1586         * html/canvas/CanvasRenderingContext2D.cpp:
1587         (WebCore::CanvasRenderingContext2D::reset): No need to notify the
1588         compositor when the context is reset, because clearing the image buffer
1589         does the same thing. We can also skip the notification if we did not
1590         have an image buffer at the time of the reset, because the reset will
1591         not have any visual impact in this case. Finally, if the canvas size
1592         did change, the notification is also unnecessary because of the call
1593         to RenderObject::repaint() from HTMLCanvasElement::reset().
1594
1595 2012-03-22  Martin Robinson  <mrobinson@igalia.com>
1596
1597         Fix some code generation warnings on GTK+.
1598
1599         Reviewed by Gustavo Noronha Silva.
1600
1601         No new tests. This just fixes warnings.
1602
1603         * GNUmakefile.am: Remove nonexistent directories from the list IDL directories.
1604
1605 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1606
1607         Unreviewed, rolling out r111751.
1608         http://trac.webkit.org/changeset/111751
1609         https://bugs.webkit.org/show_bug.cgi?id=82060
1610
1611         caused 15% page cycler regression for chromium-linux
1612         (Requested by eae on #webkit).
1613
1614         * css/CSSStyleSelector.cpp:
1615         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1616
1617 2012-03-23  Kentaro Hara  <haraken@chromium.org>
1618
1619         Support [ImplementedAs] for attributes
1620         https://bugs.webkit.org/show_bug.cgi?id=81605
1621
1622         Reviewed by Adam Barth.
1623
1624         [ImplementedAs] just supports methods. [ImplementedAs] should support
1625         attributes too.
1626
1627         Explained here: https://trac.webkit.org/wiki/WebKitIDL#ImplementedAs
1628
1629         Test: bindings/scripts/test/TestObj.idl
1630
1631         * bindings/scripts/CodeGenerator.pm: Modified to support [ImplementedAs] for attributes.
1632         (AttributeNameForGetterAndSetter):
1633
1634         * bindings/scripts/test/TestObj.idl: Added a test case.
1635
1636         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
1637         (WebDOMTestObj::strawberry):
1638         (WebDOMTestObj::setStrawberry):
1639         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1640         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1641         (webkit_dom_test_obj_get_strawberry):
1642         (webkit_dom_test_obj_set_strawberry):
1643         (webkit_dom_test_obj_get_property):
1644         (webkit_dom_test_obj_class_init):
1645         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1646         * bindings/scripts/test/JS/JSTestObj.cpp:
1647         (WebCore):
1648         (WebCore::jsTestObjStrawberry):
1649         (WebCore::setJSTestObjStrawberry):
1650         * bindings/scripts/test/JS/JSTestObj.h:
1651         (WebCore):
1652         * bindings/scripts/test/ObjC/DOMTestObj.h:
1653         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1654         (-[DOMTestObj strawberry]):
1655         (-[DOMTestObj setStrawberry:]):
1656         * bindings/scripts/test/V8/V8TestObj.cpp:
1657         (WebCore::TestObjInternal::strawberryAttrGetter):
1658         (TestObjInternal):
1659         (WebCore::TestObjInternal::strawberryAttrSetter):
1660         (WebCore):
1661
1662 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
1663
1664         The JSC code generator doesn't generate correct code for Constructors
1665         https://bugs.webkit.org/show_bug.cgi?id=82046
1666
1667         Reviewed by Kentaro Hara.
1668
1669         The main bulk of generated code for constructors uses the name jsConstructor
1670         for the created object, and then calls GenerateParametersCheck which generates
1671         code that uses the name castedThis.
1672
1673         * bindings/scripts/CodeGeneratorJS.pm:
1674         (GenerateConstructorDefinition):
1675         * bindings/scripts/test/JS/JSTestInterface.cpp:
1676         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
1677         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1678         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
1679         * bindings/scripts/test/JS/JSTestObj.cpp:
1680         (WebCore::JSTestObjConstructor::finishCreation):
1681         (WebCore::JSTestObjConstructor::constructJSTestObj):
1682         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1683         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
1684         * bindings/scripts/test/TestObj.idl:
1685         * bindings/scripts/test/V8/V8TestObj.cpp:
1686         (WebCore::V8TestObj::constructorCallback):
1687
1688 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
1689
1690         The JSC code generator can't handle boolean arguments for Callbacks
1691         https://bugs.webkit.org/show_bug.cgi?id=82045
1692
1693         Reviewed by Kentaro Hara.
1694
1695         CodeGeneratorJS.pm only handles DOMStrings and objects as arguments
1696         for a Callback, so I added support for boolean values as well.
1697
1698         * bindings/scripts/CodeGeneratorJS.pm:
1699         (GenerateCallbackImplementation):
1700         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
1701         (WebDOMTestCallback::callbackWithBoolean):
1702         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
1703         (WebDOMTestCallback):
1704         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1705         (webkit_dom_test_callback_callback_with_boolean):
1706         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1707         * bindings/scripts/test/JS/JSTestCallback.cpp:
1708         (WebCore::JSTestCallback::callbackWithBoolean):
1709         (WebCore):
1710         * bindings/scripts/test/JS/JSTestCallback.h:
1711         (JSTestCallback):
1712         * bindings/scripts/test/ObjC/DOMTestCallback.h:
1713         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
1714         (-[DOMTestCallback callbackWithBoolean:]):
1715         * bindings/scripts/test/TestCallback.idl:
1716         * bindings/scripts/test/V8/V8TestCallback.cpp:
1717         (WebCore::V8TestCallback::callbackWithBoolean):
1718         (WebCore):
1719         * bindings/scripts/test/V8/V8TestCallback.h:
1720         (V8TestCallback):
1721
1722 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1723
1724         Touch adjustment forgets some subtarget quads.
1725         https://bugs.webkit.org/show_bug.cgi?id=82044
1726
1727         Reviewed by Kenneth Rohde Christiansen.
1728
1729         Do not uncritically skip all nodes that are ancestors to other test results.
1730         Instead return the inner-most element if multiple nodes have the same distance.
1731
1732         Test: touchadjustment/block-testing.html
1733
1734         * page/TouchAdjustment.cpp:
1735         (WebCore::TouchAdjustment::compileSubtargetList):
1736         (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
1737
1738 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1739
1740         TouchAdjustment does not correct for frame position
1741         https://bugs.webkit.org/show_bug.cgi?id=82043
1742
1743         Reviewed by Kenneth Rohde Christiansen.
1744
1745         Convert geometry to window coordinates before calculating distance.
1746
1747         Test: touchadjustment/iframe.html
1748
1749         * page/TouchAdjustment.cpp:
1750         (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
1751
1752 2012-03-23  Vlad Voicu  <vladv@rosedu.org>
1753
1754         Fixed minor WebInspector display issue
1755         Clicking on disabled sections in Styles Sidebar Pane creates new elements.
1756         https://bugs.webkit.org/show_bug.cgi?id=81925
1757
1758         Reviewed by Timothy Hatcher
1759
1760         No new tests should be required.
1761
1762         * inspector/front-end/StylesSidebarPane.js:
1763         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
1764         (WebInspector.StylePropertyTreeElement.prototype):
1765
1766 2012-03-23  Kentaro Hara  <haraken@chromium.org>
1767
1768         Unreviewed, rebaselined run-bindings-tests results.
1769
1770         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1771         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1772         * bindings/scripts/test/JS/JSTestObj.cpp:
1773         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
1774         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
1775         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
1776         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
1777         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
1778         * bindings/scripts/test/V8/V8TestObj.cpp:
1779         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
1780         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
1781         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
1782         (WebCore::TestObjInternal::overloadedMethod5Callback):
1783         (WebCore::TestObjInternal::overloadedMethodCallback):
1784
1785 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
1786
1787         cssText should use StringBuilder
1788         https://bugs.webkit.org/show_bug.cgi?id=82028
1789
1790         Reviewed by Hajime Morita.
1791
1792         Make StylePropertySet::asText more efficient by deploying StringBuilder;
1793         avoids heap churn by String::operator+ and String::operator+=.
1794
1795         * css/StylePropertySet.cpp:
1796         (WebCore::StylePropertySet::asText):
1797
1798 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
1799
1800         REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
1801         https://bugs.webkit.org/show_bug.cgi?id=82035
1802
1803         Rollout r111754 since it caused a test to fail and the test added by the patch
1804         is failing on Mac WebKit 2.
1805
1806         * WebCore.exp.in:
1807         * html/HTMLPlugInElement.cpp:
1808         (WebCore::HTMLPlugInElement::detach):
1809         (WebCore):
1810         (WebCore::HTMLPlugInElement::removedFromDocument):
1811         * html/HTMLPlugInElement.h:
1812         (HTMLPlugInElement):
1813         * testing/Internals.cpp:
1814         * testing/Internals.h:
1815         (Internals):
1816         * testing/Internals.idl:
1817
1818 2012-03-23  Adam Barth  <abarth@webkit.org>
1819
1820         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 2)
1821         https://bugs.webkit.org/show_bug.cgi?id=82026
1822
1823         Reviewed by Kentaro Hara.
1824
1825         This patch removes DOMWindow::resetNotifications, which was unneeded
1826         special-case logic for clearing the notifications center.  The previous
1827         patch that tried to accomplish the same thing did not override
1828         willDetachPage, which is why it caused crashes.
1829
1830         There's actually a cleaner way to handle these cases, which will let us
1831         implement reconnectFrame, but that will need to wait for the next
1832         patch.
1833
1834         * notifications/DOMWindowNotifications.cpp:
1835         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
1836         (WebCore::DOMWindowNotifications::from):
1837         (WebCore::DOMWindowNotifications::webkitNotifications):
1838         (WebCore):
1839         (WebCore::DOMWindowNotifications::disconnectFrame):
1840         (WebCore::DOMWindowNotifications::willDetachPage):
1841         (WebCore::DOMWindowNotifications::reset):
1842         * notifications/DOMWindowNotifications.h:
1843         (DOMWindowNotifications):
1844         * page/DOMWindow.cpp:
1845         (WebCore::DOMWindow::willDetachPage):
1846         (WebCore::DOMWindow::disconnectDOMWindowProperties):
1847         (WebCore::DOMWindow::clearDOMWindowProperties):
1848         * page/DOMWindow.h:
1849         (DOMWindow):
1850         * page/Frame.cpp:
1851         (WebCore::Frame::willDetachPage):
1852
1853 2012-03-22  Adam Barth  <abarth@webkit.org>
1854
1855         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 1)
1856         https://bugs.webkit.org/show_bug.cgi?id=82015
1857
1858         Reviewed by Kentaro Hara.
1859
1860         This patch moves DOMWindow.webkitNotifications from DOMWindow.idl to
1861         DOMWindowNotificiations.idl in preparation for moving notificiations
1862         into Modules.
1863
1864         A future patch will remove DOMWindow::resetNotificaitions in favor of
1865         more general mechanisms.
1866
1867         * CMakeLists.txt:
1868         * DerivedSources.make:
1869         * DerivedSources.pri:
1870         * GNUmakefile.list.am:
1871         * Target.pri:
1872         * WebCore.gypi:
1873         * WebCore.vcproj/WebCore.vcproj:
1874         * WebCore.xcodeproj/project.pbxproj:
1875         * notifications/DOMWindowNotifications.cpp: Added.
1876         (WebCore):
1877         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
1878         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
1879         (WebCore::DOMWindowNotifications::from):
1880         (WebCore::DOMWindowNotifications::webkitNotifications):
1881         (WebCore::DOMWindowNotifications::reset):
1882         (WebCore::DOMWindowNotifications::supplementName):
1883         * notifications/DOMWindowNotifications.h: Added.
1884         (WebCore):
1885         (DOMWindowNotifications):
1886         * notifications/DOMWindowNotifications.idl: Added.
1887         * page/DOMWindow.cpp:
1888         (WebCore::DOMWindow::~DOMWindow):
1889         (WebCore):
1890         (WebCore::DOMWindow::resetNotifications):
1891         * page/DOMWindow.h:
1892         (WebCore):
1893         (DOMWindow):
1894         * page/DOMWindow.idl:
1895
1896 2012-03-22  Li Yin  <li.yin@intel.com>
1897
1898         A client MUST close a connection if it detects a masked frame
1899         https://bugs.webkit.org/show_bug.cgi?id=81361
1900
1901         Reviewed by Kent Tamura.
1902
1903         A server must not mask any frames that it sends to the client.
1904         Change the test case, not mask the frames from server to client.
1905         
1906         Test: http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html
1907
1908         * Modules/websockets/WebSocketChannel.cpp:
1909         (WebCore::WebSocketChannel::processFrame):
1910
1911 2012-03-22  Li Yin  <li.yin@intel.com>
1912
1913         [WebSocket]The minimal number of bytes MUST be used to encode the length
1914         https://bugs.webkit.org/show_bug.cgi?id=81443
1915
1916         Reviewed by Kent Tamura.
1917
1918         From RFC 6455 http://tools.ietf.org/html/rfc6455#section-5.2
1919         the minimal number of bytes MUST be used to encode the length
1920         
1921         New test case : http/tests/websocket/tests/hybi/invalid-encode-length.html
1922
1923         * Modules/websockets/WebSocketChannel.cpp:
1924         (WebCore::WebSocketChannel::parseFrame):
1925
1926 2012-03-22  Adam Barth  <abarth@webkit.org>
1927
1928         Unreviewed.  Sort xcodeproj file.
1929
1930         * WebCore.xcodeproj/project.pbxproj:
1931
1932 2012-03-22  Mao Yujie  <yujie.mao@intel.com>
1933
1934         Implement strict testing criterion for callback function definition
1935         https://bugs.webkit.org/show_bug.cgi?id=80005
1936
1937         Reviewed by Adam Barth.
1938
1939         Callback function should be defined as the function type instead of
1940         the object type.
1941
1942         LayoutTest: fast/dom/MediaStream/argument-types.html
1943
1944         * bindings/scripts/CodeGeneratorJS.pm:
1945         (GenerateParametersCheckExpression):
1946         (GenerateParametersCheck):
1947         * bindings/scripts/CodeGeneratorV8.pm:
1948         (GenerateParametersCheckExpression):
1949         (GenerateParametersCheck):
1950
1951 2012-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1952
1953         Convert hasGrammarMarker to use Internals interface
1954         https://bugs.webkit.org/show_bug.cgi?id=82004
1955
1956         Reviewed by Ryosuke Niwa.
1957
1958         Remove hasGrammarMarker functions, because it is able to work in the
1959         cross-port way through the Internals interface.
1960
1961         No new tests, since we are improving here the infra-structure
1962         for testing a specific method.
1963
1964         * testing/Internals.cpp:
1965         (WebCore::Internals::hasGrammarMarker):
1966         (WebCore):
1967         * testing/Internals.h:
1968         (Internals):
1969         * testing/Internals.idl:
1970
1971 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
1972
1973         Add exception for the setter of "fftSize" in RealtimeAnalyserNode
1974         https://bugs.webkit.org/show_bug.cgi?id=81748
1975
1976         Reviewed by Chris Rogers.
1977
1978         * Modules/webaudio/RealtimeAnalyser.cpp:
1979         (WebCore::RealtimeAnalyser::setFftSize):
1980         * Modules/webaudio/RealtimeAnalyser.h:
1981         (RealtimeAnalyser):
1982         * Modules/webaudio/RealtimeAnalyserNode.cpp:
1983         (WebCore::RealtimeAnalyserNode::setFftSize):
1984         (WebCore):
1985         * Modules/webaudio/RealtimeAnalyserNode.h:
1986         (RealtimeAnalyserNode):
1987         * Modules/webaudio/RealtimeAnalyserNode.idl:
1988
1989 2012-03-22  Leo Yang  <leo.yang@torchmobile.com.cn>
1990
1991         [BlackBerry] Add HistoryItemViewState for BlackBerry port
1992         https://bugs.webkit.org/show_bug.cgi?id=81867
1993
1994         Reviewed by Rob Buis.
1995
1996         HistoryItemViewState is the blackberry specific field of HistoryItem.
1997         It's used to maintain the porting specific view state.
1998
1999         No new test because the port can't be built yet.
2000
2001         * history/HistoryItem.h:
2002         (HistoryItem):
2003         (WebCore::HistoryItem::viewState):
2004
2005 2012-03-22  SravanKumar Sandela  <ssandela@innominds.com>
2006
2007         Fieldset unexpectedly stretches to minimum intrinsic width
2008         https://bugs.webkit.org/show_bug.cgi?id=79128
2009
2010         Reviewed by Julien Chaffraix.
2011
2012         Fieldset element width will now check if css width is specified explicitly
2013         before stretching to minimum intrinsic width. The reference
2014         can be taken from IE9, instead of FF(FF acknowledged the broken behavior). 
2015
2016         Tests: fast/forms/fieldset-width-nostretch-ifspecified-expected.html
2017                fast/forms/fieldset-width-nostretch-ifspecified.html
2018
2019         * rendering/RenderFieldset.cpp:
2020         (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
2021         (WebCore):
2022         * rendering/RenderFieldset.h:
2023         (RenderFieldset):
2024
2025 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
2026
2027         [chromium] Target surface should be damaged for a new layers even when layer had no changes
2028         https://bugs.webkit.org/show_bug.cgi?id=81879
2029
2030         Reviewed by Adrienne Walker.
2031
2032         Unit test added to CCDamageTrackerTest.
2033
2034         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
2035         (WebCore::CCDamageTracker::removeRectFromCurrentFrame): added a
2036         boolean arg to detect if the layer is new on this update.
2037
2038         (WebCore::CCDamageTracker::extendDamageForLayer): added logic that
2039         damages the target surface if the layer is new.
2040
2041         (WebCore::CCDamageTracker::extendDamageForRenderSurface): added
2042         logic that damages the target surface if the descendant surface is
2043         new; similar logic for the surface's replica if the replica is new.
2044
2045         * platform/graphics/chromium/cc/CCDamageTracker.h:
2046         (CCDamageTracker):
2047
2048 2012-03-22  Charles Wei  <charles.wei@torchmobile.com.cn>
2049
2050         [BlackBerry] Need to store the meta info of a page in the ViewState of the history
2051         https://bugs.webkit.org/show_bug.cgi?id=82000
2052
2053         Reviewed by Rob Buis.
2054
2055         Internally reviewed by George Staikos.
2056
2057         No new tests, BlackBerry porting doesn't build yet upstreaming.
2058
2059         * history/blackberry/HistoryItemViewState.h:
2060         (WebCore::HistoryItemViewState::HistoryItemViewState):
2061         (HistoryItemViewState):
2062
2063 2012-03-22  Adam Klein  <adamk@chromium.org>
2064
2065         [v8] wrapSlow methods should ref underlying object before creating wrapper
2066         https://bugs.webkit.org/show_bug.cgi?id=81919
2067
2068         Reviewed by Adam Barth.
2069
2070         Because instatiating the wrapper can trigger GC, it's important that
2071         wrapSlow() hold a reference to an object when creating a wrapper for
2072         that object. Once the V8 wrapper exists and is associated with the object,
2073         the reference can be handed off (via leakRef) to be handled by the normal
2074         binding code logic (where derefObject is called if the handle is GCed).
2075
2076         Binding tests have been updated to reflect this change.
2077
2078         Testing the change directly is hard. Any test landed today would only
2079         be a valid test until V8's logic about when to GC changes, at which point
2080         it would become dead weight. So I don't think it's worth landing a
2081         layout test along with this.
2082
2083         * bindings/scripts/CodeGeneratorV8.pm:
2084         (GenerateHeader): Make wrapSlow take a PassRefPtr for RefCounted objects.
2085         (GenerateToV8Converters): Get rid of the explicit call to ref() and
2086         instead call leakRef() when adding a RefCounted object to the DOM map.
2087         (GetPassRefPtrType): Helper to generate "PassRefPtr<T>", or "PassRefPtr<T<U> >" as appropriate.
2088         * bindings/scripts/test/V8/V8Float64Array.cpp:
2089         (WebCore::V8Float64Array::wrapSlow):
2090         * bindings/scripts/test/V8/V8Float64Array.h:
2091         (V8Float64Array):
2092         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2093         (WebCore::V8TestActiveDOMObject::wrapSlow):
2094         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2095         (V8TestActiveDOMObject):
2096         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2097         (WebCore::V8TestCustomNamedGetter::wrapSlow):
2098         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2099         (V8TestCustomNamedGetter):
2100         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2101         (WebCore::V8TestEventConstructor::wrapSlow):
2102         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2103         (V8TestEventConstructor):
2104         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2105         (WebCore::V8TestEventTarget::wrapSlow):
2106         * bindings/scripts/test/V8/V8TestEventTarget.h:
2107         (V8TestEventTarget):
2108         * bindings/scripts/test/V8/V8TestInterface.cpp:
2109         (WebCore::V8TestInterface::wrapSlow):
2110         * bindings/scripts/test/V8/V8TestInterface.h:
2111         (V8TestInterface):
2112         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2113         (WebCore::V8TestMediaQueryListListener::wrapSlow):
2114         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2115         (V8TestMediaQueryListListener):
2116         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2117         (WebCore::V8TestNamedConstructor::wrapSlow):
2118         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2119         (V8TestNamedConstructor):
2120         * bindings/scripts/test/V8/V8TestObj.cpp:
2121         (WebCore::V8TestObj::wrapSlow):
2122         * bindings/scripts/test/V8/V8TestObj.h:
2123         (V8TestObj):
2124         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2125         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
2126         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2127         (V8TestSerializedScriptValueInterface):
2128
2129 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2130
2131         [BlackBerry] add interface clearCredentials() and clearNeverRememberSites()
2132         https://bugs.webkit.org/show_bug.cgi?id=81887
2133
2134         Reviewed by Rob Buis.
2135
2136         Fixed SQL issue when clearing table logins and table never_remember.
2137
2138         No new tests.
2139
2140         * platform/network/blackberry/CredentialBackingStore.cpp:
2141         (WebCore::CredentialBackingStore::clearLogins):
2142         (WebCore::CredentialBackingStore::clearNeverRemember):
2143
2144 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2145
2146         [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
2147         https://bugs.webkit.org/show_bug.cgi?id=80135
2148
2149         Reviewed by Rob Buis.
2150
2151         Modified the interface function authenticationChallenge() in class
2152         PageClientBlackBerry, moved Credential from return value to the
2153         function's reference parameter, and returned a bool to indicate if
2154         user pressed Ok button or not.
2155         Removed the logic which checks m_currentWebChallenge not null,
2156         because we should challenge user again if the last provided credential
2157         is not valid; also added the logic that will popup challenge
2158         dialog again immediately if user press Ok buttton directly without
2159         inputting anything.
2160
2161         No new tests.
2162
2163         * platform/blackberry/PageClientBlackBerry.h:
2164         * platform/network/blackberry/NetworkJob.cpp:
2165         (WebCore::NetworkJob::handleAuthHeader):
2166         (WebCore::NetworkJob::sendRequestWithCredentials):
2167
2168 2012-03-22  Jason Liu  <jason.liu@torchmobile.com.cn>
2169
2170         [BlackBerry] Synchronize platform/network/blackberry
2171         https://bugs.webkit.org/show_bug.cgi?id=81874
2172
2173         We changed a lot in these files locally. But the changes are not upstreamed.
2174         It is not convenient to do the other upstreaming work based on these differences.
2175         So upstream these changes.
2176
2177         Reviewed by Rob Buis.
2178
2179         No new tests. Just synchronize codes.
2180
2181         * platform/network/blackberry/NetworkJob.cpp:
2182         (WebCore::NetworkJob::NetworkJob):
2183         (WebCore::NetworkJob::initialize):
2184         (WebCore::NetworkJob::handleNotifyHeaderReceived):
2185         (WebCore::NetworkJob::handleNotifyDataReceived):
2186         (WebCore::NetworkJob::sendResponseIfNeeded):
2187         (WebCore::NetworkJob::sendRequestWithCredentials):
2188         (WebCore::NetworkJob::handleAbout):
2189         * platform/network/blackberry/NetworkJob.h:
2190         (WebCore::NetworkJob::isError):
2191         (NetworkJob):
2192         * platform/network/blackberry/NetworkManager.cpp:
2193         (WebCore::NetworkManager::startJob):
2194         * platform/network/blackberry/ResourceRequest.h:
2195         (WebCore::ResourceRequest::ResourceRequest):
2196         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2197         (WebCore::platformTargetTypeForRequest):
2198
2199 2012-03-22  Tom Sepez  <tsepez@chromium.org>
2200
2201         XSS Auditor bypass via script tag src=data:, URLS.
2202         https://bugs.webkit.org/show_bug.cgi?id=81948
2203
2204         Reviewed by Adam Barth.
2205
2206         This change fixes an XSSAuditor bypass wherby a script with a data: URL src
2207         attribute could evade detection by using characters from the page to create
2208         a snippet for matching not found in the URL's reflected vector.  This change 
2209         terminates the snippet for matching earlier in these cases.
2210         
2211         Test: http/tests/security/xssAuditor/script-tag-with-source-data-url2.html
2212
2213         * html/parser/XSSAuditor.cpp:
2214         (WebCore::XSSAuditor::decodedSnippetForAttribute):
2215
2216 2012-03-22  Dana Jansens  <danakj@chromium.org>
2217
2218         [chromium] Incorrect assert on animating opacity for a surface
2219         https://bugs.webkit.org/show_bug.cgi?id=81994
2220
2221         Reviewed by Adrienne Walker.
2222
2223         Draw opacity and animation state match on the surface itself. A
2224         surface with animating opacity always has an owning layer without
2225         animation, as the surface does the animation for it.
2226
2227         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2228         (WebCore::CCLayerTreeHost::paintLayerContents):
2229
2230 2012-03-22  Dana Jansens  <danakj@chromium.org>
2231
2232         [chromium] Skip frames when checkerboarding an animation
2233         https://bugs.webkit.org/show_bug.cgi?id=81716
2234
2235         Reviewed by Adrienne Walker.
2236
2237         This will stop drawing frames when prepareToDraw fails, if the draw is
2238         not forced. The expected behaviour is outlined below by the unit tests.
2239
2240         When a draw fails, we:
2241         1. Set m_needsRedraw to try again next vsync
2242         2. Set m_needsCommit because we need more data from webkit to succeed
2243         3. Set m_drawIfPossibleFailed. This allows us to try draw again within
2244         the same vsync *if* a commit finishes during this time.
2245
2246         Unit test: CCSchedulerTest.RequestRedrawInsideFailedDraw
2247                    CCSchedulerTest.RequestCommitInsideFailedDraw
2248                    CCSchedulerTest.NoBeginFrameWhenDrawFails
2249                    CCSchedulerStateMachineTest.TestFailedDrawSetsNeedsCommitAndDoesNotDrawAgain
2250                    CCSchedulerStateMachineTest.TestSetNeedsRedrawDuringFailedDrawDoesNotRemoveNeedsRedraw
2251                    CCSchedulerStateMachineTest.TestCommitAfterFailedDrawAllowsDrawInSameFrame
2252                    CCSchedulerStateMachineTest.TestCommitAfterFailedAndSuccessfulDrawDoesNotAllowDrawInSameFrame
2253                    CCSchedulerStateMachineTest.TestFailedDrawIsRetriedNextVSync
2254
2255         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2256         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2257         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2258         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2259         (CCLayerTreeHostImpl):
2260         * platform/graphics/chromium/cc/CCScheduler.cpp:
2261         (WebCore::CCScheduler::processScheduledActions):
2262         * platform/graphics/chromium/cc/CCScheduler.h:
2263         (CCSchedulerClient):
2264         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
2265         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
2266         (WebCore::CCSchedulerStateMachine::nextAction):
2267         (WebCore::CCSchedulerStateMachine::updateState):
2268         (WebCore::CCSchedulerStateMachine::didDrawIfPossibleCompleted):
2269         (WebCore):
2270         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
2271         (CCSchedulerStateMachine):
2272         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2273         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
2274         (WebCore):
2275         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
2276         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
2277         * platform/graphics/chromium/cc/CCThreadProxy.h:
2278         (CCThreadProxy):
2279
2280 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
2281
2282         [chromium] Force update of nonFastScrollableRegion if target CCLayerImpl has been freshly created.
2283         https://bugs.webkit.org/show_bug.cgi?id=81968
2284
2285         Reviewed by Adrienne Walker.
2286
2287         Added unit test to existing tests for TreeSynchronizer.
2288
2289         When creating a new CCLayerImpl during tree synchronization, make sure we transfer the nonFastScrollableRegion as
2290         the new CCLayerImpl will default to an empty region.
2291
2292         * platform/graphics/chromium/LayerChromium.h:
2293         (WebCore::LayerChromium::nonFastScrollableRegion):
2294         (WebCore::LayerChromium::setNonFastScrollableRegionChanged):
2295         * platform/graphics/chromium/TreeSynchronizer.cpp:
2296         (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
2297
2298 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
2299
2300         [CMake] Unreviewed build fix after r111778.
2301
2302         * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
2303         ${WTF_DIR}/wtf ones.
2304
2305 2012-03-22  Tony Chang  <tony@chromium.org>
2306
2307         Unreviewed, fix chromium build after wtf move.
2308
2309         Only use newwtf, remove references to wtf.
2310
2311         * WebCore.gyp/WebCore.gyp:
2312
2313 2012-03-22  Benjamin Poulain  <bpoulain@apple.com>
2314
2315         Remove an obsolete comment regarding magic frames from Geolocation
2316         https://bugs.webkit.org/show_bug.cgi?id=81871
2317
2318         Reviewed by Alexey Proskuryakov.
2319
2320         Moving a frame into another document is no longer possible after r111361. The comment
2321         is now irrelevant.
2322
2323         * Modules/geolocation/Geolocation.cpp:
2324         (WebCore::Geolocation::stop):
2325
2326 2012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
2327
2328         Actually move WTF files to their new home
2329         https://bugs.webkit.org/show_bug.cgi?id=81844
2330
2331         [Qt] Unreviewed buildfix after r111778.
2332
2333         * Target.pri:
2334
2335 2012-03-22  Kentaro Hara  <haraken@chromium.org>
2336
2337         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl
2338         https://bugs.webkit.org/show_bug.cgi?id=81852
2339
2340         Reviewed by Adam Barth.
2341
2342         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl:
2343
2344         Use of uninitialized value in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2743.
2345         Use of uninitialized value $name in substitution (s///) at WebCore/bindings/scripts/CodeGenerator.pm line 119.
2346         Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2969.
2347         Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2972.
2348         Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 367.
2349         Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 368.
2350         ...
2351
2352         This is because [Constructor(...)] does not yet support [Optional] arguments.
2353         It just supports [Optional=DefaultIsUndefined] and [Optional=DefaultIsNullString] arguments:
2354         https://trac.webkit.org/wiki/WebKitIDL#Constructor
2355
2356         This patch replaces [Optional] with [Optional=DefaultIsUndefined]
2357         in TestSerializedScriptValueInterface.idl.
2358
2359         Test: bindings/scripts/test/TestSerializedScriptValueInterface.idl
2360
2361         * bindings/scripts/CodeGeneratorJS.pm:
2362         (GenerateConstructorDefinition):
2363         * bindings/scripts/CodeGeneratorV8.pm:
2364         (GenerateConstructorCallback):
2365         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2366         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2367         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
2368         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2369         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2370
2371 2012-03-22  Michal Mocny  <mmocny@google.com>
2372
2373         [chromium] LayerRendererChromium should use GpuMemoryAllocationChanged callback to explicitly manage framebuffer.
2374         https://bugs.webkit.org/show_bug.cgi?id=81823
2375
2376         Reviewed by Adrienne Walker.
2377
2378         New UnitTests: LayerRendererChromiumTest
2379
2380         * platform/graphics/chromium/LayerRendererChromium.cpp:
2381         (LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
2382         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::create):
2383         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::~LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
2384         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
2385         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
2386         (WebCore):
2387         (WebCore::LayerRendererChromium::LayerRendererChromium):
2388         (WebCore::LayerRendererChromium::initialize):
2389         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2390         (WebCore::LayerRendererChromium::setVisible):
2391         (WebCore::LayerRendererChromium::swapBuffers):
2392         (WebCore::LayerRendererChromium::discardFramebuffer):
2393         (WebCore::LayerRendererChromium::ensureFramebuffer):
2394         * platform/graphics/chromium/LayerRendererChromium.h:
2395         (WebCore):
2396         (LayerRendererChromiumClient):
2397         (LayerRendererChromium):
2398         (WebCore::LayerRendererChromium::isFramebufferDiscarded):
2399         (ScopedEnsureFramebufferAllocation):
2400         (WebCore::ScopedEnsureFramebufferAllocation::ScopedEnsureFramebufferAllocation):
2401         (WebCore::ScopedEnsureFramebufferAllocation::~ScopedEnsureFramebufferAllocation):
2402         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2403         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2404         (LayerRendererCapabilities):
2405         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2406         (WebCore::CCLayerTreeHostImpl::setVisible):
2407         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2408         (CCLayerTreeHostImpl):
2409         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2410         (WebCore::CCSingleThreadProxy::compositeAndReadback):
2411         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2412         (WebCore::CCThreadProxy::compositeAndReadback):
2413
2414 2012-03-22  Adam Barth  <abarth@webkit.org>
2415
2416         ContainerNode::insertedIntoTree and removedFromTree use weak iteration patterns
2417         https://bugs.webkit.org/show_bug.cgi?id=80570
2418
2419         Reviewed by Ryosuke Niwa.
2420
2421         These functions use weak iteration patterns, but as far as I can tell,
2422         we never execute script below these functions.  This patch adds ASSERTs
2423         to help us avoid adding events in the future.
2424
2425         * dom/ContainerNode.cpp:
2426         (WebCore::ContainerNode::insertedIntoTree):
2427         (WebCore::ContainerNode::removedFromTree):
2428         * html/HTMLMediaElement.cpp:
2429         (WebCore::HTMLMediaElement::loadInternal):
2430             - There's a somewhat complex call chain from insertedIntoTree into
2431               HTMLMediaElement, and somewhat complex control flow below
2432               loadInternal that eventually leads to the BeforeLoad event being
2433               fired.  In studying this code, I don't see a way for the
2434               BeforeLoad event to be fired during insertedIntoTree, but I've
2435               added this assert here to make sure we don't call loadInternal
2436               when we're not supposed to dispatch events.  This ASSERT should
2437               help us catch these BeforeLoad errors more quickly.
2438
2439 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
2440
2441         Crash in fast/dom/navigator-detached-nocrash.html
2442         https://bugs.webkit.org/show_bug.cgi?id=81773
2443
2444         Reviewed by Adam Barth.
2445
2446         BatteryManager::create() blindly assumes the Navigator* it
2447         receives has a valid Frame, which is not always the case, as made
2448         evident by the crashing test.
2449
2450         Follow abarth's suggestion and just stop
2451         NavigatorBattery::webkitBattery() before it reaches the call to
2452         BatteryManager::create() if that's the case.
2453
2454         No new tests, covered by fast/dom/navigator-detached-nocrash.html.
2455
2456         * Modules/battery/NavigatorBattery.cpp:
2457         (WebCore::NavigatorBattery::webkitBattery):
2458
2459 2012-03-22  Emil A Eklund  <eae@chromium.org>
2460
2461         Unreviewed, add missing include statement for CSSValueList.h.
2462
2463         * css/CSSStyleSelector.h:
2464
2465 2012-03-22  Tony Chang  <tony@chromium.org>
2466
2467         flexbox flexing implementation should match the spec
2468         https://bugs.webkit.org/show_bug.cgi?id=70796
2469
2470         Reviewed by Ojan Vafai.
2471
2472         Match the algorithm in the spec. Handling min/max constraints are slightly improved.
2473         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
2474
2475         New test cases in css3/flexbox/flex-algorithm-min-max.html.
2476
2477         * rendering/RenderFlexibleBox.cpp:
2478         (WebCore::adjustFlexSizeForMinAndMax): Step 5 of resolving flexible lengths.
2479         (WebCore):
2480         (WebCore::RenderFlexibleBox::Violation::Violation):
2481         (RenderFlexibleBox::Violation):
2482         (WebCore::RenderFlexibleBox::freezeViolations): Used by step 6.
2483         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
2484         * rendering/RenderFlexibleBox.h:
2485
2486 2012-03-22  Emil A Eklund  <eae@chromium.org>
2487
2488         Unreviewed, add missing import.
2489
2490         * rendering/RenderThemeMac.mm:
2491
2492 2012-03-22  Anders Carlsson  <andersca@apple.com>
2493
2494         ASSERT(!needsLayout) in RenderView.cpp when visiting http://www.panic.com/blog/
2495         https://bugs.webkit.org/show_bug.cgi?id=81953
2496         <rdar://problem/11086998>
2497
2498         Reviewed by Sam Weinig.
2499
2500         If a page ends up creating CATiledLayers, CA transactions can be committed outside of the normal
2501         CA run loop observer, so we can't call setNeedsDisplay on tile cache layers directly because then
2502         we'll end up calling into painting code before all the layers have been flushed.
2503
2504         Fix this by adding a list of dirty rects to platformCALayerDidCreateTiles and change GraphicsLayerCA to
2505         mark them as dirty. This ensures that any CA transaction commits won't cause newly added layers to be painted.
2506
2507         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2508         (WebCore::LayerClient::platformCALayerDidCreateTiles):
2509         * platform/graphics/ca/GraphicsLayerCA.cpp:
2510         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
2511         * platform/graphics/ca/GraphicsLayerCA.h:
2512         (GraphicsLayerCA):
2513         * platform/graphics/ca/PlatformCALayerClient.h:
2514         (PlatformCALayerClient):
2515         * platform/graphics/ca/mac/TileCache.mm:
2516         (WebCore::TileCache::setScale):
2517         (WebCore::TileCache::revalidateTiles):
2518         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2519         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
2520
2521 2012-03-19  Robert Hogan  <robert@webkit.org>
2522
2523         Text should overflow when list item height set to 0
2524         https://bugs.webkit.org/show_bug.cgi?id=78726
2525
2526         Reviewed by Julien Chaffraix.
2527
2528         Tests: css2.1/20110323/height-applies-to-010a-expected.html
2529                fast/css/heightless-list-item-expected.html
2530                fast/css/heightless-list-item.html
2531
2532         * rendering/RenderListItem.cpp:
2533         (WebCore::RenderListItem::paint):
2534            If the list item has height:0, only paint it if the list item allows any block or inline content 
2535            to overflow unclipped. The zero-height check is a shortcut to avoid unnecessary painting and 
2536            this seems to be the only case where there's something to do.
2537
2538 2012-03-22  Dave Michael  <dmichael@chromium.org>
2539
2540         HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
2541         https://bugs.webkit.org/show_bug.cgi?id=80428
2542
2543         Reviewed by Eric Seidel.
2544
2545         Make HTMLPluginElement release its m_NPObject in detach() to break a
2546         reference-counting cycle that happens on reload or navigation. With this
2547         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
2548         was removed. Note that Releasing m_NPObject does not result in a call to
2549         the plugin; it simply releases a reference count on the wrapper object
2550         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
2551         when the render tree is destroyed, when PluginView calls
2552         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
2553         detach, because it can not result in layout or style changes.
2554
2555         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
2556         window.internals to enable testing.
2557
2558         Test: plugins/netscape-dom-access-and-reload.html
2559
2560         * WebCore.exp.in:
2561         * html/HTMLPlugInElement.cpp:
2562         (WebCore::HTMLPlugInElement::detach):
2563         * html/HTMLPlugInElement.h:
2564         (HTMLPlugInElement):
2565         * testing/Internals.cpp:
2566         (WebCore::Internals::numberOfLiveDocuments):
2567         (WebCore::Internals::numberOfLiveNodes):
2568         (WebCore):
2569         * testing/Internals.h:
2570         (Internals):
2571         * testing/Internals.idl:
2572
2573 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
2574
2575         [chromium] Make CCDamageTracker robust to empty layer lists
2576         https://bugs.webkit.org/show_bug.cgi?id=81831
2577
2578         Reviewed by Adrienne Walker.
2579
2580         Added a unit test in CCDamageTrackerTest that causes a crash in
2581         the old code. With this patch applied, the crash will not occur.
2582         In theory, that crash should never occur anyway, unless there is a
2583         bug outside the damage tracker, but for robustness it's
2584         appropriate to handle it properly.
2585
2586         In addition to this fix, performed some trivial maintenance on the
2587         damage tracker code.
2588
2589         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
2590         (WebCore::CCDamageTracker::updateDamageTrackingState): removed
2591         unclean code that accessed the targetSurface to get necessary
2592         information. Instead, we now pass those args through the damage
2593         tracker's API.
2594
2595         * platform/graphics/chromium/cc/CCDamageTracker.h:
2596         (CCDamageTracker): modified args passed to damage tracker on update.
2597
2598         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2599         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
2600         modified args passed to damage tracker on update.
2601
2602 2012-03-22  Julien Chaffraix  <jchaffraix@webkit.org>
2603
2604         Enable style sharing for elements with a style attribute
2605         https://bugs.webkit.org/show_bug.cgi?id=81523
2606
2607         Reviewed by Antti Koivisto.
2608
2609         Memory improvement change only.
2610
2611         Overall, this is a performance wash (some benchmarks may regress a bit due to the increase in time taken
2612         by CSSStyleSelector::locateSharedStyle as we try more nodes, others increase their performance due to style sharing).
2613
2614         Instrumenting our style sharing, this should give us some nice memory shavings on some benchmarks:
2615         - HTML5 isn't impacted as it doesn't use much inline style
2616         - page cyclers' intl1 showed a 6% increase in style sharing.
2617
2618         * css/CSSStyleSelector.cpp:
2619         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2620         This method now handles inline style like presentation attributes on the element.
2621
2622         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2623         (WebCore::CSSStyleSelector::locateSharedStyle):
2624         Don't bail out for an element with an inline style declaration.
2625
2626         (WebCore::CSSStyleSelector::stylesEqual):
2627         Generalized attributeStylesEqual to share the logic between attribute and
2628         inline style property set. This means that attribute checks are actually
2629         doing a little extra more work but that didn't impact our benchmarks.
2630
2631 2012-03-22  Kevin Ollivier  <kevino@theolliviers.com>
2632
2633         [wx] Unreviewed. WebDOM build fix after array type changes.
2634
2635         * bindings/scripts/CodeGeneratorCPP.pm:
2636         (ShouldSkipType):
2637
2638 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2639
2640         Web Inspector: text gutter decorations should move upon edits.
2641         https://bugs.webkit.org/show_bug.cgi?id=81932
2642
2643         Reviewed by Vsevolod Vlasov.
2644
2645         Decorations set by the line number now shift as editing inserts / removes lines.
2646
2647         * inspector/front-end/TextViewer.js:
2648         (WebInspector.TextViewer.prototype._syncLineHeight):
2649         (WebInspector.TextEditorGutterPanel):
2650         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
2651         (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
2652         (WebInspector.TextEditorGutterPanel.prototype.addDecoration):
2653         (WebInspector.TextEditorGutterPanel.prototype.removeDecoration):
2654
2655 2012-03-21  Robert Hogan  <robert@webkit.org>
2656
2657         CSS 2.1 failure: fixed-table-layout-006 fails
2658         https://bugs.webkit.org/show_bug.cgi?id=78412
2659
2660         Reviewed by Julien Chaffraix.
2661
2662         Tests: css2.1/20110323/fixed-table-layout-006.htm
2663                fast/css/fixed-table-layout-cell-padding.htm
2664
2665         In fixed tables, positive width specified on a column should include borders and padding.
2666         See the thread at http://lists.w3.org/Archives/Public/www-style/2011Oct/0502.html. The discussion
2667         there resulted in a whole new set of tests for section 17.5.2.1 in the CSS 2.1 spec. See 
2668         http://test.csswg.org/harness/test/CSS21_DEV/section/17.5.2.1/. This patch allows WebKit
2669         to pass all of them, and all tests for the 17.5.2.1 section as a whole. I'll land them all separately.
2670     
2671         * rendering/FixedTableLayout.cpp:
2672         (WebCore::FixedTableLayout::calcWidthArray): Include border width and cell padding in the width of the column.
2673          Note that borderAndPaddingLogicalWidth() returns the border width for separate and collapsed borders as appropriate.
2674
2675 2012-03-22  Simon Fraser  <simon.fraser@apple.com>
2676
2677         Factor compositing layer updates after scroll into a new method
2678         https://bugs.webkit.org/show_bug.cgi?id=81943
2679
2680         Reviewed by Dean Jackson.
2681
2682         Move some code that updates compositing layers after scrolling
2683         into its own method, for cleanliness.
2684
2685         * rendering/RenderLayer.cpp:
2686         (WebCore::RenderLayer::scrollTo):
2687         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
2688         (WebCore):
2689         * rendering/RenderLayer.h:
2690         (RenderLayer):
2691
2692 2012-03-22  Gavin Barraclough  <barraclough@apple.com>
2693
2694         Add JSValue::isFunction
2695         https://bugs.webkit.org/show_bug.cgi?id=81935
2696
2697         Reviewed by Geoff Garen.
2698
2699         This would be useful in the WebCore bindings code.
2700         Also, remove asFunction, replace with jsCast<JSFunction*>.
2701
2702         * bindings/js/JSInjectedScriptHostCustom.cpp:
2703         (WebCore::JSInjectedScriptHost::functionDetails):
2704         * bindings/js/ScriptCallStackFactory.cpp:
2705         (WebCore::createScriptCallStack):
2706
2707 2012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2708
2709         TiledBackingStore: Fix test regressions that appeared with r111560.
2710         https://bugs.webkit.org/show_bug.cgi?id=81519
2711
2712         Reviewed by Kenneth Rohde Christiansen.
2713
2714         The visible rect wasn't intersected with the contents rect anymore which
2715         could lead to an astronomical layer size to check for intersecting tiles.
2716
2717         Add a visibleContentsRect that doesn't do the conversion and use it
2718         in visibleAreaIsCovered.
2719
2720         * platform/graphics/TiledBackingStore.cpp:
2721         (WebCore::TiledBackingStore::visibleContentsRect):
2722         (WebCore):
2723         (WebCore::TiledBackingStore::visibleRect):
2724         (WebCore::TiledBackingStore::visibleAreaIsCovered):
2725         * platform/graphics/TiledBackingStore.h:
2726         (TiledBackingStore):
2727
2728 2012-03-22  Joe Thomas  <joethomas@motorola.com>
2729
2730         Make Length Calculation functions non-inline
2731         https://bugs.webkit.org/show_bug.cgi?id=81733
2732
2733         Currently length calculation functions in LengthFunctions.h are inline. These functions are pretty big to be inline.
2734         And these functions are expected to grow again when new length units will be introduced in bug 27160.
2735
2736         A decent rule of thumb is to not inline a function if it is more than 10 lines long. Also it's typically not cost effective to inline
2737         functions with loops or switch statements. (Reference: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Inline_Functions).
2738
2739         Ran PerformanceTests/Parser/html5-full-render.html on Mac Snow-Leopard with and without the patch and did not see much performance difference.
2740
2741         Reviewed by Antti Koivisto.
2742
2743         * CMakeLists.txt:
2744         * GNUmakefile.list.am:
2745         * Target.pri:
2746         * WebCore.gypi:
2747         * WebCore.vcproj/WebCore.vcproj:
2748         * WebCore.xcodeproj/project.pbxproj:
2749         * css/LengthFunctions.cpp: Added.
2750         (WebCore):
2751         (WebCore::miminumValueForLength):
2752         (WebCore::valueForLength):
2753         (WebCore::floatValueForLength):
2754         * css/LengthFunctions.h:
2755         (WebCore):
2756
2757 2012-03-22  Alexis Menard  <alexis.menard@openbossa.org>
2758
2759         Increase code sharing between CSSParser and CSSPropertyLonghand.
2760         https://bugs.webkit.org/show_bug.cgi?id=81587
2761
2762         Reviewed by Antti Koivisto.
2763
2764         Expose the longhands declaration for a given shorthand in CSSPropertyLonghand and
2765         make CSSParser use them. It will make the declaration of longhands in one place only.
2766         Remove the map of CSSPropertyLonghand and replace it by a regular switch/case.
2767         The map doesn't bring much here and it's cleaner and faster to use the switch.
2768         It also shows a little performance improvement in CSS/CSSPropertySetterGetter.html.
2769
2770         No new tests : no behavior change.
2771
2772         * css/CSSParser.cpp:
2773         (WebCore::CSSParser::parseValue):
2774         (WebCore::CSSParser::parseAnimationShorthand):
2775         (WebCore::CSSParser::parseTransitionShorthand):
2776         (WebCore::CSSParser::parseShorthand):
2777         Modify the prototype of this function to directly use the CSSPropertyLonghand.
2778         * css/CSSParser.h:
2779         (WebCore):
2780         (CSSParser):
2781         * css/CSSPropertyLonghand.cpp:
2782         (WebCore):
2783         (WebCore::backgroundLonghand):
2784         (WebCore::backgroundPositionLonghand):
2785         (WebCore::backgroundRepeatLonghand):
2786         (WebCore::borderLonghand):
2787         (WebCore::borderBottomLonghand):
2788         (WebCore::borderColorLonghand):
2789         (WebCore::borderImageLonghand):
2790         (WebCore::borderLeftLonghand):
2791         (WebCore::borderRadiusLonghand):
2792         (WebCore::borderRightLonghand):
2793         (WebCore::borderSpacingLonghand):
2794         (WebCore::borderStyleLonghand):
2795         (WebCore::borderTopLonghand):
2796         (WebCore::borderWidthLonghand):
2797         (WebCore::listStyleLonghand):
2798         (WebCore::fontLonghand):
2799         (WebCore::marginLonghand):
2800         (WebCore::outlineLonghand):
2801         (WebCore::overflowLonghand):
2802         (WebCore::paddingLonghand):
2803         (WebCore::webkitAnimationLonghand):
2804         (WebCore::webkitBorderAfterLonghand):
2805         (WebCore::webkitBorderBeforeLonghand):
2806         (WebCore::webkitBorderEndLonghand):
2807         (WebCore::webkitBorderStartLonghand):
2808         (WebCore::webkitColumnsLonghand):
2809         (WebCore::webkitColumnRuleLonghand):
2810         (WebCore::webkitFlexFlowLonghand):
2811         (WebCore::webkitMarginCollapseLonghand):
2812         (WebCore::webkitMarqueeLonghand):
2813         (WebCore::webkitMaskLonghand):
2814         (WebCore::webkitMaskPositionLonghand):
2815         (WebCore::webkitMaskRepeatLonghand):
2816         (WebCore::webkitTextEmphasisLonghand):
2817         (WebCore::webkitTextStrokeLonghand):
2818         (WebCore::webkitTransitionLonghand):
2819         (WebCore::webkitTransformOriginLonghand):
2820         (WebCore::webkitWrapLonghand):
2821         (WebCore::longhandForProperty):
2822         * css/CSSPropertyLonghand.h:
2823         (WebCore):
2824
2825 2012-03-22  Emil A Eklund  <eae@chromium.org>
2826
2827         Unreviewed, touching file to force bots to pick up CSS_SHADERS flag change. 
2828
2829         * css/CSSStyleSelector.h:
2830         (CSSStyleSelector):
2831
2832 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
2833
2834         ReverbConvolver::latencyFrames() should return 0.
2835         https://bugs.webkit.org/show_bug.cgi?id=81806
2836
2837         Reviewed by Chris Rogers.
2838
2839         * platform/audio/ReverbConvolver.cpp:
2840         (WebCore::ReverbConvolver::latencyFrames):
2841
2842 2012-03-22  Tony Chang  <tony@chromium.org>
2843
2844         refactor flexbox in preparation for flex-line-pack
2845         https://bugs.webkit.org/show_bug.cgi?id=81843
2846
2847         Reviewed by Ojan Vafai.
2848
2849         Replace WrapReverseContext with a vector of LineContexts that contain
2850         the same information, plus values needed for flex-align.
2851
2852         alignChildren has been moved to after all the lines have been
2853         positioned. We want to align children after flex-line-pack has changed
2854         the size of each line to avoid unnecessary layouts.
2855
2856         Take 2: Remove the assert. If there are no children, then there are no
2857         flex lines. Instead, assert that child is not null.
2858
2859         No new tests, just refactoring.
2860
2861         * rendering/RenderFlexibleBox.cpp:
2862         (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
2863         holds information needed for wrap-reverse and aligning children.
2864         (RenderFlexibleBox::LineContext):
2865         (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
2866         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
2867         (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
2868         (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
2869         * rendering/RenderFlexibleBox.h:
2870
2871 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2872
2873         Event dispatching in XMLHttpRequestProgressEventThrottle should go through XMLHttpRequestProgressEventThrottle::dispatchEvent
2874         https://bugs.webkit.org/show_bug.cgi?id=46743
2875
2876         Reviewed by Julien Chaffraix
2877         Based on original patch by Anton D'Auria
2878
2879         In preparation for platform-specific queuing of XMLHttpRequest events,
2880         this patch changes all calls to m_target->dispatchEvent to
2881         XMLHttpRequestProgressEventThrottle::dispatchEvent.
2882         Currently, we queue only one progress event on suspend() if we have
2883         throttled progress events. We should be able to queue all XHR events
2884         that can be generated after suspend(), if the platform network layer
2885         continues to receive data.
2886         XMLHttpRequest uses XMLHttpRequestProgressEventThrottle to dispatch only
2887         download events, so this doesn't change behavior of upload events, which
2888         aren't throttled or queued.
2889
2890         * xml/XMLHttpRequest.cpp:
2891         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2892         * xml/XMLHttpRequestProgressEventThrottle.cpp:
2893         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent):
2894         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
2895         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
2896         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent):
2897         (WebCore::XMLHttpRequestProgressEventThrottle::fired):
2898         * xml/XMLHttpRequestProgressEventThrottle.h:
2899         (XMLHttpRequestProgressEventThrottle):
2900
2901 2012-03-22  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2902
2903         [EFL] Map BackSpace key code to Unicode value
2904         https://bugs.webkit.org/show_bug.cgi?id=81130
2905
2906         Reviewed by Gustavo Noronha Silva.
2907
2908         Test: fast/events/backspace-navigates-back.html
2909
2910         * platform/efl/EflKeyboardUtilities.cpp:
2911         (WebCore::createKeyMap): Map BackSpace to Unicode value
2912
2913 2012-03-22  Abhishek Arya  <inferno@chromium.org>
2914
2915         Incorrect beforeChild parent calculation in RenderRubyBase::moveChildren.
2916         https://bugs.webkit.org/show_bug.cgi?id=80297
2917
2918         Reviewed by Julien Chaffraix.
2919
2920         beforeChild might share the same anonymous block parent with other previous
2921         siblings. Before moving the children across ruby bases, we need to make sure
2922         to split the tree across the beforeChild correctly.
2923
2924         Test: fast/ruby/ruby-text-before-child-split.html
2925
2926         * rendering/RenderRubyBase.cpp:
2927         (WebCore::RenderRubyBase::moveChildren):
2928
2929 2012-03-22  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
2930
2931         [Qt] Fix Qt minimal build after r111692
2932
2933         Reviewed by Csaba Osztrogonác.
2934
2935         * bindings/js/JSScriptProfileNodeCustom.cpp:
2936
2937 2012-03-22  Adrienne Walker  <enne@google.com>
2938
2939         [chromium] Fix scrollbar layers holding onto invalid textures after lost context
2940         https://bugs.webkit.org/show_bug.cgi?id=81841
2941
2942         Reviewed by James Robinson.
2943
2944         Unit test: CCLayerTreeHostImplTest.scrollbarLayerLostContext
2945
2946         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2947         (WebCore::CCScrollbarLayerImpl::willDraw):
2948
2949 2012-03-22  Philippe Normand  <pnormand@igalia.com>
2950
2951         [GTK] ASSERT bug in WebAudio (AudioFileReader)
2952         https://bugs.webkit.org/show_bug.cgi?id=81777
2953
2954         Reviewed by Martin Robinson.
2955
2956         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2957         (WebCore::AudioFileReader::decodeAudioForBusCreation): Don't steal
2958         the GstBus floating reference.
2959         (WebCore::AudioFileReader::createBus): Ditto.
2960
2961 2012-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
2962
2963         Unreviewed: Web Inspector: fix syntax error in text.
2964
2965         * English.lproj/localizedStrings.js:
2966         * inspector/front-end/HeapSnapshotProxy.js:
2967         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
2968
2969 2012-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2970
2971         Unreviewed, rolling out r111688.
2972         http://trac.webkit.org/changeset/111688
2973         https://bugs.webkit.org/show_bug.cgi?id=81912
2974
2975         "Heap profiler test fails" (Requested by yurys on #webkit).
2976
2977         * inspector/front-end/HeapSnapshot.js:
2978         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2979
2980 2012-03-22  Dana Jansens  <danakj@chromium.org>
2981
2982         [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
2983         https://bugs.webkit.org/show_bug.cgi?id=81437
2984
2985         Reviewed by Adrienne Walker.
2986
2987         Split CCLayerTreeHostImpl::drawLayers() into two phases:
2988         prepareToDraw() and drawLayers().
2989
2990         When calculating a RenderPass, and we checkerboard a quad on a
2991         layer, bubble this info back up to CCLayerTreeHostImpl. If the
2992         layer is transforming in an animation, then abort the prepareToDraw()
2993         phase and cause it to return false back to the thread proxy.
2994
2995         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
2996
2997         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2998         (WebCore::CCLayerImpl::appendQuads):
2999         * platform/graphics/chromium/cc/CCLayerImpl.h:
3000         (CCLayerImpl):
3001         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3002         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3003         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
3004         (WebCore):
3005         (WebCore::CCLayerTreeHostImpl::drawLayers):
3006         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3007         (CCLayerTreeHostImpl):
3008         (FrameData):
3009         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
3010         (WebCore::CCQuadCuller::append):
3011         * platform/graphics/chromium/cc/CCQuadCuller.h:
3012         (CCQuadCuller):
3013         * platform/graphics/chromium/cc/CCRenderPass.cpp:
3014         (WebCore::CCRenderPass::appendQuadsForLayer):
3015         * platform/graphics/chromium/cc/CCRenderPass.h:
3016         (CCRenderPass):
3017         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
3018         (WebCore::CCScrollbarLayerImpl::appendQuads):
3019         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
3020         (CCScrollbarLayerImpl):
3021         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3022         (WebCore::CCSingleThreadProxy::doComposite):
3023         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
3024         (WebCore::CCSolidColorLayerImpl::appendQuads):
3025         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
3026         (CCSolidColorLayerImpl):
3027         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
3028         (WebCore::CCTextureLayerImpl::appendQuads):
3029         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
3030         (CCTextureLayerImpl):
3031         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3032         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
3033         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3034         (WebCore::CCTiledLayerImpl::appendQuads):
3035         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
3036         (CCTiledLayerImpl):
3037         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3038         (WebCore::CCVideoLayerImpl::appendQuads):
3039         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3040         (CCVideoLayerImpl):
3041
3042 2012-03-22  Levi Weintraub  <leviw@chromium.org>
3043
3044         Correct LayoutUnit usage in Accessibility code
3045         https://bugs.webkit.org/show_bug.cgi?id=81789
3046
3047         Reviewed by Eric Seidel.
3048
3049         Reverting Accessibility hit testing code back to integers. Accessibility hit tests originate from
3050         the embedder and don't accumulate offsets, so we get nothing from using LayoutUnits, and needlessly
3051         expose them to the embedder.
3052
3053         No new tests. No change in behavior.
3054
3055         * accessibility/AccessibilityListBox.cpp:
3056         (WebCore::AccessibilityListBox::elementAccessibilityHitTest): See above.
3057         * accessibility/AccessibilityListBox.h:
3058         (AccessibilityListBox):
3059         * accessibility/AccessibilityObject.cpp:
3060         (WebCore::AccessibilityObject::clickPoint): This value is only ever used to display a context menu,
3061         which is always done with integer coordinates.
3062         (WebCore::AccessibilityObject::boundingBoxForQuads): This is a bounding box built from floats. We
3063         don't pixel snap floats, so we return an integer bounding box.
3064         (WebCore::AccessibilityObject::elementAccessibilityHitTest): See above.
3065         (WebCore::AccessibilityObject::scrollToMakeVisible): Pixel snapping the bounding box and simplifying
3066         up the code to position it at (0,0).
3067         * accessibility/AccessibilityObject.h:
3068         (WebCore::AccessibilityObject::accessibilityHitTest): See above.
3069         (AccessibilityObject):
3070         (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect): Convenience method for embedder callers.
3071         * accessibility/AccessibilityRenderObject.cpp:
3072         (WebCore::AccessibilityRenderObject::visiblePositionForPoint): The point passed in here is comes from
3073         screen coordinates and originates in embedder code. Reverting it to take an integer.
3074         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): See above.
3075         (WebCore::AccessibilityRenderObject::accessibilityHitTest): See above.
3076         * accessibility/AccessibilityRenderObject.h:
3077         (AccessibilityRenderObject):
3078         * accessibility/AccessibilityScrollView.cpp:
3079         (WebCore::AccessibilityScrollView::accessibilityHitTest): See above.
3080         * accessibility/AccessibilityScrollView.h:
3081         (AccessibilityScrollView):
3082         * accessibility/AccessibilitySlider.cpp:
3083         (WebCore::AccessibilitySlider::elementAccessibilityHitTest): See above.
3084         * accessibility/AccessibilitySlider.h:
3085         (AccessibilitySlider):
3086
3087 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
3088
3089         Web Inspector: HeapProfiler: Heap snapshot worker has to report the errors to the front-end
3090         https://bugs.webkit.org/show_bug.cgi?id=81804
3091
3092         Sometimes the worker process of HeapSnapshot does some wrong thing and throw an Exception.
3093         At this momemnt we have no way to see the error in the front-end.
3094
3095         Reviewed by Yury Semikhatsky.
3096
3097         * English.lproj/localizedStrings.js:
3098         * inspector/front-end/HeapSnapshotProxy.js: check the exception field and dump it into front-end's console.
3099         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
3100         * inspector/front-end/HeapSnapshotWorkerDispatcher.js: catch the exception and transfer it's text to requester's side.
3101         (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
3102
3103 2012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>
3104
3105         [GTK] Use the angle-bracket form to include wtf headers
3106         https://bugs.webkit.org/show_bug.cgi?id=81884
3107
3108         Reviewed by Eric Seidel.
3109
3110         Use #include <wtf/foo> instead of #include "foo".
3111
3112         * platform/graphics/freetype/FontPlatformData.h:
3113         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3114         * platform/gtk/DataObjectGtk.h:
3115         * platform/network/ResourceHandleInternal.h:
3116         * platform/network/soup/SocketStreamHandleSoup.cpp:
3117
3118 2012-03-22  Alexander Pavlov  <apavlov@chromium.org>
3119
3120         Web Inspector: Case of the elements of the xml document should be shown as it is in the console
3121         https://bugs.webkit.org/show_bug.cgi?id=81902
3122
3123         When registering a detached root, DOMAgent always presumes it is a node,
3124         while it can also be a document.
3125
3126         Reviewed by Vsevolod Vlasov.
3127
3128         Test: inspector/console/console-xml-document.html
3129
3130         * inspector/front-end/ConsoleMessage.js:
3131         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
3132         * inspector/front-end/DOMAgent.js:
3133         (WebInspector.DOMAgent.prototype._setDetachedRoot):
3134
3135 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
3136
3137         Web Inspector: Introduce ScriptBound/ScriptUnbound events in ScriptMapping.
3138         https://bugs.webkit.org/show_bug.cgi?id=81904
3139
3140         Reviewed by Pavel Feldman.
3141
3142         This is another step on the way to cleaner BreakpointManager logic.
3143         Here we extract ScriptBound/ScriptUnbound events from UISourceCodeListChanged event.
3144         This allows us to handle script-uiSourceCode binding separately from
3145         uiSourceCode creation/deletion and to handle unbinding that was not
3146         possible at all before.
3147
3148         * inspector/front-end/CompilerScriptMapping.js:
3149         (WebInspector.CompilerScriptMapping.prototype._uiSourceCodesForSourceMap):
3150         (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
3151         (WebInspector.CompilerScriptMapping.prototype.addScript):
3152         (WebInspector.CompilerScriptMapping.prototype.reset):
3153         * inspector/front-end/ResourceScriptMapping.js:
3154         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
3155         * inspector/front-end/ScriptMapping.js:
3156         (WebInspector.MainScriptMapping):
3157         (WebInspector.MainScriptMapping.prototype._updateLiveLocation):
3158         (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
3159         (WebInspector.MainScriptMapping.prototype._handleScriptBound):
3160         (WebInspector.MainScriptMapping.prototype._handleScriptUnbound):
3161         * inspector/front-end/SnippetsModel.js:
3162         (WebInspector.SnippetsScriptMapping.prototype.addScript.get this):
3163         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
3164         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
3165         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
3166         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
3167         (WebInspector.SnippetsScriptMapping.prototype.reset):
3168
3169 2012-03-22  Vineet Chaudhary  <rgf748@motorola.com>
3170
3171         https://bugs.webkit.org/show_bug.cgi?id=81893
3172         Remove custom bindings form ScriptProfileNode.idl of attribute type Array.
3173
3174         Reviewed by Kentaro Hara.
3175
3176         Replace [CustomGetter] Array with sequence<ScriptProfileNode>.
3177         To remove the custom bindings code.
3178
3179         Test: No new tests. LayoutTests/fast/profiler/* test are enough for this.
3180
3181         * bindings/js/JSScriptProfileNodeCustom.cpp: Removed custom function.
3182         (WebCore::JSScriptProfileNode::callUID):
3183         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Removed custom function.
3184         (WebCore):
3185         * inspector/ScriptProfileNode.idl: Replaced Array with sequence<ScriptProfileNode>.
3186
3187 2012-03-22  Andrey Kosyakov  <caseq@chromium.org>
3188
3189         Web Inspector: only update timeline overview categories strips when these are visible
3190         https://bugs.webkit.org/show_bug.cgi?id=81903
3191
3192         Reviewed by Pavel Feldman.
3193
3194         - factor out category strips update into a separate method;
3195         - only invoke it when "Timeline" overview mode is selected.
3196
3197         * inspector/front-end/TimelineOverviewPane.js:
3198         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
3199         (WebInspector.TimelineOverviewPane.prototype.update):
3200         (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
3201
3202 2012-03-22  Levi Weintraub  <leviw@chromium.org>
3203
3204         Update LayoutUnit usage in FrameSelection
3205         https://bugs.webkit.org/show_bug.cgi?id=81754
3206
3207         Reviewed by Eric Seidel.
3208
3209         FrameSelection stores its caret and repaint bounds in absolute coordinates. Absolute coordinates
3210         we treat as pixel values, so this patch changes these values to integers. Sub-pixel precision
3211         will still be used when these coordinates are passed down and used locally.
3212
3213         No new tests. No change in behavior.
3214
3215         * editing/FrameSelection.cpp:
3216         (WebCore::absoluteCaretY): Uses absolute coordinates, which are ints.
3217         (WebCore::FrameSelection::modify): Uses absolute coordinates to handle vertical selection
3218         modification. Sub-pixel precision will be used when these values are converted to local ones.
3219         (WebCore::CaretBase::absoluteBoundsForLocalRect): Absolute coordinates -> ints.
3220         (WebCore::FrameSelection::absoluteCaretBounds): Ditto.
3221         (WebCore::CaretBase::caretRepaintRect): The caret repaint rect is stored in absolute coordinates.
3222         Reverting the values to ints.
3223         (WebCore::FrameSelection::recomputeCaretRect): Ditto.
3224         * editing/FrameSelection.h:
3225         (FrameSelection):
3226         * editing/mac/FrameSelectionMac.mm:
3227         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Switching to store absolute
3228         coordinates as integers.
3229
3230 2012-03-22  Alexei Filippov  <alexeif@chromium.org>
3231
3232         Web Inspector: Speed up the build retainers phase.
3233         https://bugs.webkit.org/show_bug.cgi?id=81763
3234
3235         Replacing the edge iterator with a raw loop makes it
3236         faster by more than 10 times.
3237
3238         Reviewed by Yury Semikhatsky.
3239
3240         * inspector/front-end/HeapSnapshot.js:
3241         (WebInspector.HeapSnapshot.prototype._buildRetainers):
3242
3243 2012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
3244
3245         [Qt][WK2] The background appears to have one extra pixel from the contents
3246         https://bugs.webkit.org/show_bug.cgi?id=81830
3247
3248         Reviewed by Kenneth Rohde Christiansen.
3249
3250         TextureMapperGL applied a 1-offset that was covering for another bug,
3251         which was already fixed.
3252
3253         No new tests, this would be tested once we test GL rendering results.
3254
3255         * platform/graphics/texmap/TextureMapperGL.cpp:
3256         (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
3257
3258 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
3259
3260         Rename touchpad fling curve, add curve parameters to constructor.
3261         https://bugs.webkit.org/show_bug.cgi?id=81820
3262
3263         Reviewed by Adrienne Walker.
3264
3265         Covered by existing unit tests.
3266
3267         * GNUmakefile.list.am:
3268         * WebCore.gypi:
3269         * platform/ScrollAnimatorNone.cpp:
3270         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
3271         * platform/TouchpadFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp.
3272         (WebCore):
3273         (WebCore::TouchpadFlingPlatformGestureCurve::create):
3274         (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
3275         (WebCore::TouchpadFlingPlatformGestureCurve::~TouchpadFlingPlatformGestureCurve):
3276         (WebCore::TouchpadFlingPlatformGestureCurve::apply):
3277         * platform/TouchpadFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.h.
3278         (WebCore):
3279         (TouchpadFlingPlatformGestureCurve):
3280
3281 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
3282
3283         Web Inspector: make CSS and JavaScript files editable by default.
3284         https://bugs.webkit.org/show_bug.cgi?id=81787
3285
3286         Reviewed by Vsevolod Vlasov.
3287
3288         This change removes cancelEditing and setReadOnly capabilities from source frame.
3289         It removes dblclick handler as well since one does not need to enter editing mode.
3290         It also establishes proper content dispatching so that views are updated with the
3291         resource content. All these are inter-dependent, need to be landed simultaneously.
3292         Drive-by follow up to the r111675 where range is modified prior to the exiting
3293         edit mode.
3294
3295         * inspector/front-end/JavaScriptSourceFrame.js:
3296         (WebInspector.JavaScriptSourceFrame):
3297         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
3298         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
3299         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
3300         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
3301         (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
3302         * inspector/front-end/ResourceView.js:
3303         (WebInspector.ResourceSourceFrame):
3304         (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
3305         (WebInspector.ResourceSourceFrame.prototype._contentChanged):
3306         (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
3307         (WebInspector.EditableResourceSourceFrame.prototype.editContent.callbackWrapper):
3308         (WebInspector.EditableResourceSourceFrame.prototype.editContent):
3309         (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
3310         * inspector/front-end/ResourcesPanel.js:
3311         (WebInspector.ResourcesPanel.prototype._innerShowView):
3312         (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
3313         * inspector/front-end/ScriptsPanel.js:
3314         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
3315         * inspector/front-end/Settings.js:
3316         (WebInspector.ExperimentsSettings):
3317         * inspector/front-end/SourceFrame.js:
3318         (WebInspector.SourceFrame):
3319         (WebInspector.SourceFrame.prototype.wasShown):
3320         (WebInspector.SourceFrame.prototype.willHide):
3321         (WebInspector.SourceFrame.prototype.beforeTextChanged):
3322         (WebInspector.SourceFrame.prototype.setContent):
3323         (WebInspector.SourceFrame.prototype.commitEditing):
3324         (WebInspector.SourceFrame.prototype.didEditContent):
3325         (WebInspector.SourceFrame.prototype.editContent):
3326         * inspector/front-end/TextPrompt.js:
3327         (WebInspector.TextPrompt.prototype._startEditing):
3328         (WebInspector.TextPrompt.prototype._stopEditing):
3329         * inspector/front-end/TextViewer.js:
3330         (WebInspector.TextViewer):
3331         (WebInspector.TextViewer.prototype._registerShortcuts):
3332         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
3333
3334 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3335
3336         [Qt] Enable FAST_MOBILE_SCROLLING when scrolling is delegated.
3337         https://bugs.webkit.org/show_bug.cgi?id=81889
3338
3339         Reviewed by Kenneth Rohde Christiansen.
3340
3341         On the Qt platform only enable the fast mobile scroll feature when scrolling is delegated.
3342
3343         * rendering/RenderObject.cpp:
3344         (WebCore::RenderObject::styleWillChange):
3345
3346 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
3347
3348         Web Inspector: dispatch styleSheetChanged event synchronously.
3349         https://bugs.webkit.org/show_bug.cgi?id=81892
3350
3351         Reviewed by Vsevolod Vlasov.
3352
3353         Today, backend generates stylesheet change event synchronously from within set* command.
3354         But CSSStyleModel defers its dispatching until the stylesheet content is available. This
3355         prevents us from ignoring update events from within commands that initiated those updates.
3356
3357         This change makes stylesheet change event dispatch synchronously and delegates stylesheet
3358         content fetching to the event client.
3359
3360         * inspector/front-end/CSSStyleModel.js:
3361         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
3362         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
3363         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
3364         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
3365         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
3366         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.callback):
3367         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
3368         (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
3369
3370 2012-03-21  Ian Vollick  <vollick@chromium.org>
3371
3372         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
3373         https://bugs.webkit.org/show_bug.cgi?id=81692
3374
3375         Reviewed by Adrienne Walker.
3376
3377         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
3378
3379         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3380
3381 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
3382
3383         Web Inspector: allow on-hover popover while in edit mode.
3384         https://bugs.webkit.org/show_bug.cgi?id=81898
3385
3386         Reviewed by Vsevolod Vlasov.
3387
3388         This change allows popover while in-edit mode, hides it upon Esc. It also introduces anchorOverride
3389         concept in ObjectPopoverHelper that allows dynamically switching the anchor (say if we want to highlight anchor itself).
3390
3391         * inspector/front-end/DetailedHeapshotView.js:
3392         * inspector/front-end/ElementsPanel.js:
3393         * inspector/front-end/JavaScriptSourceFrame.js:
3394         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
3395         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
3396         (WebInspector.JavaScriptSourceFrame.prototype._onKeyDown):
3397         * inspector/front-end/NetworkPanel.js:
3398         * inspector/front-end/ObjectPopoverHelper.js:
3399         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
3400         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
3401         * inspector/front-end/Popover.js:
3402         (WebInspector.PopoverHelper.prototype.isPopoverVisible):
3403         * inspector/front-end/TimelinePanel.js:
3404
3405 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
3406
3407         Web Inspector: breakpoints should shift when line break is inserted in the middle of the line.
3408         https://bugs.webkit.org/show_bug.cgi?id=81896
3409
3410         Reviewed by Vsevolod Vlasov.
3411
3412         There is a bug that collapses selection prior to exiting change mode, we should never
3413         collapse edit area prior committing.
3414
3415         * inspector/front-end/TextEditorModel.js:
3416         (WebInspector.TextEditorModel.endsWithBracketRegex.):
3417         * inspector/front-end/TextViewer.js:
3418         (WebInspector.TextViewer):
3419         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
3420         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
3421         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
3422
3423 2012-03-22  Zoltan Herczeg  <zherczeg@webkit.org>
3424
3425         Merge SVGImageBufferTools to SVGRenderingContext
3426         https://bugs.webkit.org/show_bug.cgi?id=81890
3427
3428         Reviewed by Nikolas Zimmermann.
3429
3430         Copy the code to SVGRenderingContext and delete
3431         SVGImageBufferTools[.cpp.h]. Update build systems,
3432         no functionality change. This is the first step
3433         towards making SVGImageBufferTools stageful.
3434
3435         Existing tests cover this issue.
3436
3437         * CMakeLists.txt:
3438         * GNUmakefile.list.am:
3439         * Target.pri:
3440         * WebCore.gypi:
3441         * WebCore.xcodeproj/project.pbxproj:
3442         * platform/graphics/filters/FETile.cpp:
3443         (WebCore::FETile::platformApplySoftware):
3444         * rendering/svg/RenderSVGAllInOne.cpp:
3445         * rendering/svg/RenderSVGInlineText.cpp:
3446         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
3447         * rendering/svg/RenderSVGResourceClipper.cpp:
3448         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
3449         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
3450         * rendering/svg/RenderSVGResourceFilter.cpp:
3451         (WebCore::RenderSVGResourceFilter::applyResource):
3452         * rendering/svg/RenderSVGResourceGradient.cpp:
3453         (WebCore::createMaskAndSwapContextForTextGradient):
3454         (WebCore::clipToTextMask):
3455         * rendering/svg/RenderSVGResourceMasker.cpp:
3456         (WebCore::RenderSVGResourceMasker::applyResource):
3457         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
3458         * rendering/svg/RenderSVGResourcePattern.cpp:
3459         (WebCore::RenderSVGResourcePattern::applyResource):
3460         (WebCore::RenderSVGResourcePattern::createTileImage):
3461         * rendering/svg/SVGImageBufferTools.cpp: Removed.
3462         * rendering/svg/SVGImageBufferTools.h: Removed.