[EFL][WK2] Add RunLoopEfl and WorkQueueEfl
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-27  YoungTaeck Song  <youngtaeck.song@samsung.com>
2
3         [EFL][WK2] Add RunLoopEfl and WorkQueueEfl
4         https://bugs.webkit.org/show_bug.cgi?id=62777
5
6         Reviewed by Hajime Morita.
7
8         Add initial version RunLoopEfl for WebKit2 Efl.
9
10         * platform/RunLoop.h:
11         (TimerBase):
12         (RunLoop):
13         * platform/efl/RunLoopEfl.cpp:
14         (WebCore::RunLoop::RunLoop):
15         (WebCore::RunLoop::~RunLoop):
16         (WebCore):
17         (WebCore::RunLoop::run):
18         (WebCore::RunLoop::stop):
19         (WebCore::RunLoop::wakeUpEvent):
20         (WebCore::RunLoop::wakeUp):
21         (WebCore::RunLoop::TimerBase::TimerBase):
22         (WebCore::RunLoop::TimerBase::~TimerBase):
23         (WebCore::RunLoop::TimerBase::timerFired):
24         (WebCore::RunLoop::TimerBase::start):
25         (WebCore::RunLoop::TimerBase::stop):
26         (WebCore::RunLoop::TimerBase::isActive):
27
28 2012-03-27  Benjamin Poulain  <bpoulain@apple.com>
29
30         Reinforce Geolocation to prevent accidental leak of the user position
31         https://bugs.webkit.org/show_bug.cgi?id=82396
32
33         Reviewed by Adam Barth.
34
35         It is very important not to provide the position of the user to a page
36         unless the user authorize it.
37
38         The code used to make it easy to cause such problems, because any part
39         of the Geolocation object could invoke the success callback directly.
40
41         This patch add encapsulation for all the attributes of GeoNotifier,
42         and add extra guards for the two callbacks.
43
44         In the case of the success callback, we do one extra check before sending
45         the value to the bindings.
46
47         * Modules/geolocation/Geolocation.cpp:
48         (WebCore::Geolocation::GeoNotifier::runSuccessCallback):
49         (WebCore::Geolocation::GeoNotifier::runErrorCallback):
50         (WebCore):
51         (WebCore::Geolocation::GeoNotifier::stopTimer):
52         (WebCore::Geolocation::GeoNotifier::timerFired):
53         (WebCore::Geolocation::startRequest):
54         (WebCore::Geolocation::sendError):
55         (WebCore::Geolocation::sendPosition):
56         (WebCore::Geolocation::stopTimer):
57         (WebCore::Geolocation::extractNotifiersWithCachedPosition):
58         (WebCore::Geolocation::startUpdating):
59         * Modules/geolocation/Geolocation.h:
60         (WebCore::Geolocation::isAllowed):
61         (Geolocation):
62         (GeoNotifier):
63         (WebCore::Geolocation::GeoNotifier::options):
64         (WebCore::Geolocation::GeoNotifier::useCachedPosition):
65
66 2012-03-27  Kausalya Madhusudhanan  <kmadhusu@chromium.org>
67
68         [Coverity] Address some uninitialized constructor values.
69         https://bugs.webkit.org/show_bug.cgi?id=82376
70
71         Reviewed by James Robinson.
72
73         New tests are not required since I did not modify any code behavior.
74
75         * html/shadow/MediaControlRootElementChromium.cpp:
76         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
77         * inspector/InspectorIndexedDBAgent.h:
78         (InspectorIndexedDBAgent):
79         * inspector/InspectorTimelineAgent.cpp:
80         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
81         * page/scrolling/ScrollingCoordinator.cpp:
82         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
83         * platform/ScrollAnimatorNone.cpp:
84         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
85         * platform/chromium/DataTransferItemChromium.cpp:
86         (WebCore::DataTransferItemChromium::DataTransferItemChromium):
87         * platform/graphics/skia/ImageBufferSkia.cpp:
88         (WebCore::ImageBuffer::ImageBuffer):
89         * storage/StorageTask.cpp:
90         (WebCore::StorageTask::StorageTask):
91
92 2012-03-27  Alexis Menard  <alexis.menard@openbossa.org>
93
94         Simplify CSSPropertyBorderSpacing parsing.
95         https://bugs.webkit.org/show_bug.cgi?id=82397
96
97         Reviewed by Benjamin Poulain.
98
99         Remove the local array of longhand properties as it doesn't really
100         bring much in this simple parsing algorithm.
101
102         No new tests, no functionality change intended.
103
104         * css/CSSParser.cpp:
105         (WebCore::CSSParser::parseValue):
106
107 2012-03-27  Anders Carlsson  <andersca@apple.com>
108
109         Fix race condition when initializing the scrolling thread
110         https://bugs.webkit.org/show_bug.cgi?id=82398
111         <rdar://problem/11002166>
112
113         Reviewed by Sam Weinig.
114
115         Lock m_initializeRunLoopConditionMutex when assigning m_threadIdentifier since we're
116         asserting that it's not null in the scrolling thread.
117
118         * page/scrolling/ScrollingThread.cpp:
119         (WebCore::ScrollingThread::createThreadIfNeeded):
120
121 2012-03-27  Luke Macpherson  <macpherson@chromium.org>
122
123         Add assertions to valueForLength() and RenderBox::computeLogicalWidthInRegionUsing() to help with debugging.
124         https://bugs.webkit.org/show_bug.cgi?id=82393
125
126         Reviewed by Eric Seidel.
127
128         No new tests / adding assetions only.
129
130         * css/LengthFunctions.cpp:
131         (WebCore::valueForLength):
132         * rendering/RenderBox.cpp:
133         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
134
135 2012-03-27  Tony Chang  <tony@chromium.org>
136
137         use the correct size when computing flex-pack space
138         https://bugs.webkit.org/show_bug.cgi?id=82378
139
140         Reviewed by Ojan Vafai.
141
142         Fix 2 bugs:
143         - We weren't properly updating available space before computing
144           packing space. If a min/max is not hit, we still need to adjust
145           the available free space.
146         - For flex-pack:end, we need to put the overflow in the start edge.
147
148         New test cases in css3/flexbox/flex-pack.html
149
150         * rendering/RenderFlexibleBox.cpp:
151         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
152         (WebCore::initialPackingOffset):
153
154 2012-03-27  Dana Jansens  <danakj@chromium.org>
155
156         [chromium] Unknown transforms should be treated as non-axis aligned on main thread
157         https://bugs.webkit.org/show_bug.cgi?id=82370
158
159         Reviewed by Adrienne Walker.
160
161         On main thread, animating transforms have "unknown" values as they are changing
162         out of sync on the impl thread. So treat them as non-axis-aligned since they
163         may be, when deciding to create a render surface.
164
165         In addition, since surfaces are cheap on main thread, create one for all layers
166         with animating transforms and a drawing descendant, as this allows paint culling
167         within the layer's subtree (the animated transform won't affect drawTransforms
168         inside the subtree).
169
170         Also renamed the layerIsInAnimatingSubtreeFor* to animatingTransformTo*.
171         The old name made me pause and think what it meant and I'm the one who
172         created it. Hopefully this is more clear.
173
174         Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
175
176         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
177         (WebCore::transformToParentIsKnown):
178         (WebCore):
179         (WebCore::subtreeShouldRenderToSeparateSurface):
180         (WebCore::calculateDrawTransformsAndVisibilityInternal):
181
182 2012-03-27  Dirk Pranke  <dpranke@chromium.org>
183
184         Re-land r112277; reverting it doesn't seem to have fixed anything.
185
186         Unreviewed, build fix.
187
188         * svg/SVGUseElement.cpp:
189         (WebCore::SVGUseElement::insertedIntoDocument):
190         (WebCore::SVGUseElement::svgAttributeChanged):
191         (WebCore::SVGUseElement::willRecalcStyle):
192         (WebCore::SVGUseElement::finishParsingChildren):
193         * xml/XMLErrors.cpp:
194         (WebCore::XMLErrors::insertErrorMessageBlock):
195
196 2012-03-27  Dana Jansens  <danakj@chromium.org>
197
198         [chromium] Rename opaqueContentsRegion() to visibleContentOpaqueRegion()
199         https://bugs.webkit.org/show_bug.cgi?id=81689
200
201         Reviewed by Adrienne Walker.
202
203         The return value from this function is a region of opaque pixels in the
204         layer's content space that intersect with its visible rect. Rather than
205         adding a comment to this effect, renaming the method to make it clear.
206
207         * platform/graphics/chromium/LayerChromium.h:
208         (WebCore::LayerChromium::visibleContentOpaqueRegion):
209         * platform/graphics/chromium/TiledLayerChromium.cpp:
210         (WebCore::TiledLayerChromium::visibleContentOpaqueRegion):
211         * platform/graphics/chromium/TiledLayerChromium.h:
212         * platform/graphics/chromium/cc/CCLayerImpl.h:
213         (WebCore::CCLayerImpl::visibleContentOpaqueRegion):
214         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
215         (WebCore::computeOcclusionBehindLayer):
216         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
217         (WebCore::CCTiledLayerImpl::visibleContentOpaqueRegion):
218         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
219         (CCTiledLayerImpl):
220
221 2012-03-27  James Robinson  <jamesr@chromium.org>
222
223         Scrollable plugins not registered properly in ScrollingCoordinator
224         https://bugs.webkit.org/show_bug.cgi?id=82163
225
226         Reviewed by Anders Carlsson.
227
228         Whenever a ScrollableArea is added or removed from a FrameView's ScrollableAreaSet, we have to recalculate the
229         nonFastScrollableRegion. This can happen for certain types of plugins that are scrollable.
230
231         This also reverts 112142 which was a not quite right way to handle these plugins.
232
233         * page/FrameView.cpp:
234         (WebCore::FrameView::addScrollableArea):
235         (WebCore::FrameView::removeScrollableArea):
236         * page/scrolling/ScrollingCoordinator.cpp:
237         (WebCore::computeNonFastScrollableRegion):
238         (WebCore::ScrollingCoordinator::frameViewScrollableAreasDidChange):
239         (WebCore):
240         * page/scrolling/ScrollingCoordinator.h:
241         (ScrollingCoordinator):
242         * plugins/PluginViewBase.h:
243
244 2012-03-27  Adam Klein  <adamk@chromium.org>
245
246         Hold a reference to refChild in insertBefore before calling collectChildrenAndRemoveFromOldParent
247         https://bugs.webkit.org/show_bug.cgi?id=82377
248
249         Reviewed by Ryosuke Niwa.
250
251         This fixes a regression from r111925.
252
253         Test: fast/dom/insertBefore-refChild-crash.html
254
255         * dom/ContainerNode.cpp:
256         (WebCore::ContainerNode::insertBefore): Move the 'next' RefPtr above the call to
257         collectChildrenAndRemoveFromOldParent and rename refChildPreviousSibling
258         to 'prev' (matching appendChild and replaceChild).
259
260 2012-03-27  Ryosuke Niwa  <rniwa@webkit.org>
261
262         cssText should not generate literal 'initial' in shorthand properties
263         https://bugs.webkit.org/show_bug.cgi?id=82364
264
265         Reviewed by Antti Koivisto.
266
267         Fixed the bug by treating initial value as if the value is not set.
268         While this is incorrect for properties that inherits by default,
269         it's strictly better than generating unparsable value as we do today.
270
271         The proper fix is for CSSInitialValue::cssText to fetch the respective
272         default value from what's currently in CSSStyleSelector code but that requires
273         a considerable amount of refactoring and work.
274
275         * css/StylePropertySet.cpp:
276         (WebCore::StylePropertySet::getShorthandValue):
277         (WebCore::StylePropertySet::getCommonValue):
278
279 2012-03-26  Adam Klein  <adamk@chromium.org>
280
281         Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
282         https://bugs.webkit.org/show_bug.cgi?id=82256
283
284         Reviewed by Adam Barth.
285
286         This moves leakRef() calls out of generated code, centralizing them in
287         V8DOMWrapper implementation. Ideally, WeakReferenceMap::set would take
288         PassRefPtrs, but that's tricky given that some WeakReferenceMap's KeyType is 'void'
289         (which clearly can't be wrapped in a PassRefPtr).
290
291         Updated binding tests to reflect changes in CodeGeneratorV8.pm, no change in behavior.
292
293         Relanding r112207 with setJSWrapperForDOMSVGElementInstance defined
294         out-of-line to avoid SVG header dependencies.
295
296         * bindings/scripts/CodeGeneratorV8.pm:
297         (GenerateConstructorCallback): Use GetDomMapFunction instead of custom logic.
298         (GenerateNamedConstructorCallback): ditto.
299         (GenerateToV8Converters): Call V8DOMWrapper::setJSWrapper* method
300         instead of directly accessing the wrapper maps and calling set.
301         (GetDomMapFunction): Refactored to call new GetDomWrapperMapName function.
302         (GetDomWrapperMapName): Helper pulled out of GetDomMapFunction.
303         * bindings/scripts/test/V8/V8Float64Array.cpp:
304         (WebCore::V8Float64Array::wrapSlow):
305         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
306         (WebCore::V8TestActiveDOMObject::wrapSlow):
307         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
308         (WebCore::V8TestCustomNamedGetter::wrapSlow):
309         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
310         (WebCore::V8TestEventConstructor::wrapSlow):
311         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
312         (WebCore::V8TestEventTarget::wrapSlow):
313         * bindings/scripts/test/V8/V8TestInterface.cpp:
314         (WebCore::V8TestInterface::wrapSlow):
315         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
316         (WebCore::V8TestMediaQueryListListener::wrapSlow):
317         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
318         (WebCore::V8TestNamedConstructor::wrapSlow):
319         * bindings/scripts/test/V8/V8TestObj.cpp:
320         (WebCore::V8TestObj::wrapSlow):
321         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
322         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
323         * bindings/v8/V8DOMWrapper.cpp: Moved setJSWrapperForDOMNode method to header to inline it.
324         (WebCore::V8DOMWrapper::setJSWrapperForDOMSVGElementInstance): New helper method for SVGElementInstances.
325         Not inline to avoid header dependency on SVGElementInstance.h.
326         * bindings/v8/V8DOMWrapper.h:
327         (V8DOMWrapper):
328         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Made inline.
329         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): ditto.
330         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Refactored into two methods;
331         this one handles non-active Nodes.
332         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): Pulled out of previouse
333         DOMNode method, now handles only active Nodes.
334
335 2012-03-27  Levi Weintraub  <leviw@chromium.org>
336
337         Correct LayoutUnit usage in virtual function layoutBlock in RenderFlexibleBox
338         https://bugs.webkit.org/show_bug.cgi?id=82344
339
340         Reviewed by Eric Seidel.
341
342         Correcting the signature of RenderFlexibleBox::layoutBlock to use a LayoutUnit
343         for the page height, and avoiding assigning the renderer's size to an IntSize.
344
345         No new tests. No change in behavior.
346
347         * rendering/RenderFlexibleBox.cpp:
348         (WebCore::RenderFlexibleBox::layoutBlock):
349         * rendering/RenderFlexibleBox.h:
350         (RenderFlexibleBox):
351
352 2012-03-27  Timothy Hatcher  <timothy@apple.com>
353
354         Make WebKit properly load a staged framework when soft linking.
355
356         https://webkit.org/b/82371
357         rdar://problem/11125989
358
359         Reviewed by Dan Bernstein.
360
361         * platform/mac/SoftLinking.h: Replaced SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL with
362         SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL and made it use the StagedFrameworks path
363         if the first dlopen failed.
364
365 2012-03-26  Dirk Schulze  <krit@webkit.org>
366
367         Use enumeration for CSS parser mode
368         https://bugs.webkit.org/show_bug.cgi?id=82056
369
370         Reviewed by Antti Koivisto.
371
372         Introduce a new CSSParserMode enum to differ between strict / quirks and SVG presentation
373         attribute parsing modes.
374         The followup patch will make use of the enum in all other classes.
375         After that it will be easier possible to reuse the CSS parser in SVG as much as possible and
376         introduce SVG specific functionality.
377
378         No new tests. No change on functionality yet. This is just a refactoring to use the enumeration.
379
380         * GNUmakefile.list.am: Added new file CSSParserMode.h with the new enum, which can be used by any caller of CSSParser, CSSStyleSheet and others.
381         * Target.pri: Ditto.
382         * WebCore.gypi: Ditto.
383         * WebCore.vcproj/WebCore.vcproj: Ditto.
384         * WebCore.xcodeproj/project.pbxproj: Ditto.
385         * css/CSSGrammar.y: Make use of the new enumeration.
386         * css/CSSParser.cpp: Replaced boolean by enumeration. No change of functionality at this point of time.
387         (WebCore::CSSParser::inStrictMode): Helper function.
388         (WebCore):
389         (WebCore::CSSParser::inQuirksMode): Helper function.
390         (WebCore::CSSParser::CSSParser):
391         (WebCore::CSSParser::validUnit):
392         (WebCore::CSSParser::checkForOrphanedUnits):
393         (WebCore::CSSParser::parseValue):
394         (WebCore::CSSParser::parseSizeParameter):
395         (WebCore::CSSParser::parseBackgroundColor):
396         (WebCore::CSSParser::parseFillPositionX):
397         (WebCore::CSSParser::parseFillPositionY):
398         (WebCore::CSSParser::parseFillPositionComponent):
399         (WebCore::CSSParser::parseFillSize):
400         (WebCore::CSSParser::parseAnimationDelay):
401         (WebCore::CSSParser::parseAnimationDuration):
402         (WebCore::CSSParser::parseAnimationIterationCount):
403         (WebCore::CSSParser::parseTransformOriginShorthand):
404         (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
405         (WebCore::CSSParser::parseAnimationTimingFunction):
406         (WebCore::CSSParser::parseGridTrackList):
407         (WebCore::CSSParser::parseDashboardRegions):
408         (WebCore::CSSParser::parseShape):
409         (WebCore::CSSParser::parseWrapShapeRect):
410         (WebCore::CSSParser::parseWrapShapeCircle):
411         (WebCore::CSSParser::parseWrapShapeEllipse):
412         (WebCore::CSSParser::parseWrapShapePolygon):
413         (WebCore::CSSParser::parseFont):
414         (WebCore::CSSParser::parseFontWeight):
415         (WebCore::CSSParser::parseColorParameters):
416         (WebCore::CSSParser::parseHSLParameters):
417         (WebCore::CSSParser::parseColorFromValue):
418         (WebCore::CSSParser::parseShadow):
419         (WebCore::CSSParser::parseReflect):
420         (WebCore::CSSParser::parseFlex):
421         (WebCore::CSSParser::parseBorderImageSlice):
422         (WebCore::CSSParser::parseBorderImageQuad):
423         (WebCore::CSSParser::parseBorderRadius):
424         (WebCore::CSSParser::parseAspectRatio):
425         (WebCore::CSSParser::parseLinearGradient):
426         (WebCore::CSSParser::parseRadialGradient):
427         (WebCore::CSSParser::parseGradientColorStops):
428         (WebCore::CSSParser::parseTransform):
429         (WebCore::CSSParser::parseCustomFilter):
430         (WebCore::CSSParser::parseBuiltinFilterArguments):
431         (WebCore::CSSParser::parseTransformOrigin):
432         (WebCore::CSSParser::createStyleRule):
433         (WebCore::CSSParser::createFontFaceRule):
434         (WebCore::CSSParser::createPageRule):
435         (WebCore::CSSParser::createKeyframeRule):
436         * css/CSSParser.h:
437         (CSSParser):
438         * css/CSSParserMode.h: Added. New enumeration CSSParserMode.
439         * css/SVGCSSParser.cpp: Use new SVGAttributeMode CSS parsing mode.
440         (WebCore::CSSParser::parseSVGValue):
441         (WebCore::CSSParser::parseSVGStrokeDasharray):
442
443 2012-03-27  Nate Chapin  <japhet@chromium.org>
444
445         Don't manually set an identifier for main resource
446         loads in FrameLoader. ResourceLoader::willSendRequest()
447         will set an identifier for the request if one isn't found,
448         so this code appears to be unnecessary duplication.
449         https://bugs.webkit.org/show_bug.cgi?id=82248
450
451         Reviewed by Adam Barth.
452
453         No new tests, no functionality change intended.
454
455         * loader/DocumentLoader.cpp:
456         (WebCore::DocumentLoader::startLoadingMainResource): Mark navigation start
457             here, since it's conceptually part of starting the main resource load.
458         * loader/DocumentLoader.h:
459         * loader/FrameLoader.cpp:
460         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Remove duplicate identifier
461             logic, and move navigation timing call to startLoadingMainResource, since
462             it fits better logically there.
463         * loader/ResourceLoader.h: No callers of setIdentifier() remain, so delete it.
464
465 2012-03-27  Dirk Pranke  <dpranke@chromium.org>
466
467         Unreviewed, rolling out r112277.
468         http://trac.webkit.org/changeset/112277
469         https://bugs.webkit.org/show_bug.cgi?id=81985
470
471         possibly causing crashes?
472
473         * svg/SVGUseElement.cpp:
474         (WebCore::SVGUseElement::insertedIntoDocument):
475         (WebCore::SVGUseElement::svgAttributeChanged):
476         (WebCore::SVGUseElement::willRecalcStyle):
477         (WebCore::SVGUseElement::finishParsingChildren):
478         * xml/XMLErrors.cpp:
479         (WebCore::XMLErrors::insertErrorMessageBlock):
480
481 2012-03-27  Joseph Pecoraro  <pecoraro@apple.com>
482
483         <http://webkit.org/b/82362> Web Inspector: Provide private -[DOMNode inspect]
484
485         Reviewed by Timothy Hatcher.
486
487         No new tests, this is only an ObjC SPI.
488
489         * bindings/objc/DOM.mm:
490         * bindings/objc/DOMPrivate.h:
491         (-[DOMNode inspect]):
492         Call through to InspectorController inspect for the node.
493
494         * inspector/InspectorDOMAgent.cpp:
495         (WebCore::InspectorDOMAgent::handleMousePress):
496         (WebCore::InspectorDOMAgent::inspect):
497         Whenever we inspect an element, clear the node search.
498         The frontend already takes this approach.
499
500 2012-03-27  Joe Mason  <jmason@rim.com>
501
502         [BlackBerry] fix confusing destruction sequence in LayerCompositingThread
503         https://bugs.webkit.org/show_bug.cgi?id=81706
504
505         Reviewed by Rob Buis.
506
507         LayerCompositingThread has a destructor that does a synchronous
508         dispatch to the compositing thread and then does the actual cleanup
509         from a helper function. This is confusing.It should be the
510         opposite: the helper function dispatches to the compositing thread,
511         which calls delete.
512
513         No new tests since the existing animation tests will exercise this
514         code.
515
516         * platform/graphics/blackberry/LayerCompositingThread.cpp:
517         (WebCore::LayerCompositingThread::destroyOnCompositingThread):
518         (WebCore):
519         (WebCore::LayerCompositingThread::~LayerCompositingThread):
520         * platform/graphics/blackberry/LayerCompositingThread.h:
521         (LayerCompositingThread):
522         (WTF):
523         (WTF::::deref):
524
525 2012-03-27  Alexey Proskuryakov  <ap@apple.com>
526
527         [Mac] Stop using NSMapTable in FormDataStreamMac.mm
528         https://bugs.webkit.org/show_bug.cgi?id=82358
529
530         Reviewed by Darin Adler.
531
532         * platform/network/mac/FormDataStreamMac.mm: Use WTF::HashMap, as we always do. All accesses
533         are protected with a mutex anyway.
534
535 2012-03-27  Joe Thomas  <joethomas@motorola.com>
536
537         Implement vw/vh/vmin (viewport sizes) from CSS3 Values and Units
538         https://bugs.webkit.org/show_bug.cgi?id=27160
539
540         Reviewed by Antti Koivisto.
541
542         vw/vh/vmin are implemented as primitive length units. Added the parsing logic for these new units.
543         New Length types such as ViewportRelativeWidth, ViewportRelativeHeight and ViewportRelativeMin are added for these length units
544         and included the support for fetching the value of these relative units based on the current viewport size.
545
546         The specification related to this implementation is http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths.
547
548         Tests: css3/viewport-relative-lengths/css3-viewport-relative-lengths-getStyle.html
549                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-absolute.html
550                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh.html
551                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-absolute.html
552                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin.html
553                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-absolute.html
554                css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw.html
555
556         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: Modified to support viewport relative Length types.
557         (getAttributeSetForAccessibilityObject):
558         * css/CSSComputedStyleDeclaration.cpp: Ditto.
559         (WebCore::getPositionOffsetValue):
560         (WebCore::getBorderRadiusCornerValues):
561         (WebCore::getBorderRadiusCornerValue):
562         (WebCore::getBorderRadiusShorthandValue):
563         (WebCore::lineHeightFromStyle):
564         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
565         * css/CSSGrammar.y: Added vw/vh/vmin support.
566         * css/CSSParser.cpp: Parsing of relative units and creation of CSSPrimitiveValue.
567         (WebCore::CSSParser::validUnit): Added vw/vh/vmin to the valid units.
568         (WebCore::CSSParser::createPrimitiveNumericValue): Added vw/vh/vmin as valid primitive units.
569         (WebCore::unitFromString):
570         (WebCore::CSSParser::parseValidPrimitive): Creation of CSSPrimitiveValue for vw/vh/vmin.
571         (WebCore::CSSParser::detectNumberToken): Parsing the vw/vh/vmin tokens.
572         * css/CSSPrimitiveValue.cpp:
573         (WebCore::isValidCSSUnitTypeForDoubleConversion): Added support for vw/vh/vmin.
574         (WebCore::unitCategory): Ditto.
575         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
576         (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): Added support for vw/vh/vmin.
577         (WebCore::CSSPrimitiveValue::customCssText): Ditto.
578         (WebCore::CSSPrimitiveValue::viewportRelativeLength): Function to create the Length structure for the viewport-relative unit types.
579         (WebCore):
580         * css/CSSPrimitiveValue.h:
581         (WebCore::CSSPrimitiveValue::isViewportRelativeLength): Checks whether the primitive value is ViewportRelative Lengths.
582         (CSSPrimitiveValue):
583         * css/CSSPrimitiveValue.idl: Added support for vw/vh/vmin.
584         * css/CSSPrimitiveValueMappings.h:
585         (WebCore::CSSPrimitiveValue::convertToLength): Ditto.
586         * css/CSSStyleApplyProperty.cpp: Applying relative viewport length units to the specific CSS property.
587         (WebCore::ApplyPropertyLength::applyValue):
588         (WebCore::ApplyPropertyBorderRadius::applyValue):
589         (WebCore::ApplyPropertyFontSize::applyValue):
590         (WebCore::ApplyPropertyLineHeight::applyValue):
591         (WebCore::ApplyPropertyVerticalAlign::applyValue):
592         * css/CSSStyleSelector.cpp: Added support for viewport relative units.
593         * css/LengthFunctions.cpp: Calcuation of length value based on the current viewport size.
594         (WebCore::miminumValueForLength):
595         (WebCore::valueForLength):
596         (WebCore::floatValueForLength):
597         * css/LengthFunctions.h: Added new RenderView argument.
598         (WebCore):
599         * dom/Document.cpp:
600         (WebCore::Document::pageSizeAndMarginsInPixels): Modified to support viewport relative Length types.
601         (WebCore::Document::viewportSize): New function to fetch the current viewport size.
602         (WebCore):
603         * dom/Document.h: Ditto.
604         (Document):
605         * html/HTMLAreaElement.cpp: Modified to support viewport relative Length types.
606         (WebCore::HTMLAreaElement::getRegion):
607         * platform/Length.h:
608         (WebCore::Length::isViewportRelative): To check the Length is of type ViewportRelative.
609         (WebCore::Length::viewportRelativeLength): To get the relative value.
610         * rendering/RenderBR.cpp: Modified to support viewport relative Length types.
611         (WebCore::RenderBR::lineHeight):
612         * rendering/RenderBlock.cpp: Ditto.
613         (WebCore::RenderBlock::textIndentOffset):
614         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
615         (WebCore::RenderBlock::lineHeight):
616         * rendering/RenderBox.cpp: Ditto.
617         (WebCore::RenderBox::reflectionOffset):
618         (WebCore::RenderBox::paintBoxDecorations):
619         (WebCore::RenderBox::clipRect):
620         (WebCore::RenderBox::computeLogicalWidthInRegion):
621         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
622         (WebCore::RenderBox::computeInlineDirectionMargins):
623         (WebCore::RenderBox::computeContentLogicalHeightUsing):
624         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
625         (WebCore::RenderBox::computeBlockDirectionMargins):
626         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
627         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
628         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
629         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
630         * rendering/RenderBoxModelObject.cpp: Ditto.
631         (WebCore::RenderBoxModelObject::relativePositionOffsetX):
632         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
633         (WebCore::RenderBoxModelObject::paddingTop):
634         (WebCore::RenderBoxModelObject::paddingBottom):
635         (WebCore::RenderBoxModelObject::paddingLeft):
636         (WebCore::RenderBoxModelObject::paddingRight):
637         (WebCore::RenderBoxModelObject::paddingBefore):
638         (WebCore::RenderBoxModelObject::paddingAfter):
639         (WebCore::RenderBoxModelObject::paddingStart):
640         (WebCore::RenderBoxModelObject::paddingEnd):
641         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
642         (WebCore::RenderBoxModelObject::calculateFillTileSize):
643         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
644         (WebCore::computeBorderImageSide):
645         (WebCore::RenderBoxModelObject::paintNinePieceImage):
646         (WebCore::RenderBoxModelObject::paintBorder):
647         (WebCore::RenderBoxModelObject::paintBoxShadow):
648         * rendering/RenderFlexibleBox.cpp: Ditto.
649         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
650         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
651         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
652         * rendering/RenderInline.cpp: Ditto.
653         (WebCore::computeMargin):
654         (WebCore::RenderInline::lineHeight):
655         * rendering/RenderMenuList.cpp: Ditto.
656         (WebCore::RenderMenuList::updateOptionsWidth):
657         * rendering/RenderObject.cpp: Ditto.
658         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
659         * rendering/RenderReplaced.cpp: Ditto.
660         (WebCore::RenderReplaced::paint):
661         * rendering/RenderScrollbarPart.cpp: Ditto.
662         (WebCore::calcScrollbarThicknessUsing):
663         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
664         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
665         * rendering/RenderTable.cpp: Ditto.
666         (WebCore::RenderTable::computeLogicalWidth):
667         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
668         * rendering/RenderTableCell.cpp: Ditto.
669         (WebCore::RenderTableCell::logicalHeightForRowSizing):
670         * rendering/RenderTableSection.cpp: Ditto.
671         (WebCore::RenderTableSection::calcRowLogicalHeight):
672         * rendering/RenderText.h: Ditto.
673         (WebCore::RenderText::marginLeft):
674         (WebCore::RenderText::marginRight):
675         * rendering/RenderThemeMac.mm: Ditto.
676         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
677         * rendering/RenderView.h:
678         (WebCore::RenderView::viewportSize):
679         * rendering/RenderWidget.cpp: Ditto.
680         (WebCore::RenderWidget::paint):
681         * rendering/RootInlineBox.cpp: Ditto.
682         (WebCore::RootInlineBox::verticalPositionForBox):
683         * rendering/style/RenderStyle.cpp: Ditto.
684         (WebCore::calcRadiiFor):
685         (WebCore::RenderStyle::getRoundedBorderFor):
686         * rendering/style/RenderStyle.h: Ditto.
687         * rendering/svg/RenderSVGRoot.cpp: Ditto.
688         (WebCore::resolveLengthAttributeForSVG):
689         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
690         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
691
692 2012-03-27  Gao Chun  <chun.gao@intel.com>
693
694         Remove deprecated LowPass2FilterNode and HighPass2FilterNode
695         https://bugs.webkit.org/show_bug.cgi?id=82296
696
697         Reviewed by Chris Rogers.
698
699         * CMakeLists.txt:
700         * DerivedSources.make:
701         * DerivedSources.pri:
702         * GNUmakefile.list.am:
703         * Modules/webaudio/AudioContext.cpp:
704         * Modules/webaudio/AudioContext.h:
705         (WebCore):
706         (AudioContext):
707         * Modules/webaudio/AudioContext.idl:
708         * Modules/webaudio/AudioNode.h:
709         * Modules/webaudio/BiquadFilterNode.cpp:
710         (WebCore::BiquadFilterNode::BiquadFilterNode):
711         * Modules/webaudio/BiquadProcessor.cpp:
712         * Modules/webaudio/BiquadProcessor.h:
713         * Modules/webaudio/HighPass2FilterNode.cpp: Removed.
714         * Modules/webaudio/HighPass2FilterNode.h: Removed.
715         * Modules/webaudio/HighPass2FilterNode.idl: Removed.
716         * Modules/webaudio/LowPass2FilterNode.cpp: Removed.
717         * Modules/webaudio/LowPass2FilterNode.h: Removed.
718         * Modules/webaudio/LowPass2FilterNode.idl: Removed.
719         * WebCore.gypi:
720         * WebCore.xcodeproj/project.pbxproj:
721
722 2012-03-27  Sami Kyostila  <skyostil@chromium.org>
723
724         [chromium] Add TextureCopier for copying texture contents
725         https://bugs.webkit.org/show_bug.cgi?id=80870
726
727         Reviewed by Stephen White.
728
729         This patch introduces a TextureCopier class whose job is to copy the
730         contents from one GL texture to another using the most efficient means
731         for the current GPU. This version uses render-to-texture to do the copy,
732         but a path based on EXT_framebuffer_blit can be added later.
733
734         The class is intended to replace the use of image path operations such
735         as glCopyTex{Sub}Image2D for duplicating texture contents. The reason is
736         that such functions may not be very well optimized in some -- mainly
737         mobile -- GPU drivers.
738
739         With this patch the new copier is used just for Canvas2D layer
740         presentation, but another potential use is for WebGL layer presentation.
741
742         Test: webkit_unit_tests: TextureCopierTest
743
744         * WebCore.gypi:
745         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
746         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
747         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
748         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
749         * platform/graphics/chromium/Canvas2DLayerChromium.h:
750         (Canvas2DLayerChromium):
751         * platform/graphics/chromium/LayerRendererChromium.cpp:
752         (WebCore::LayerRendererChromium::initializeSharedObjects):
753         * platform/graphics/chromium/LayerRendererChromium.h:
754         (WebCore):
755         (WebCore::LayerRendererChromium::textureCopier):
756         (LayerRendererChromium):
757         * platform/graphics/chromium/ShaderChromium.cpp:
758         (WebCore::VertexShaderPosTexIdentity::getShaderString):
759         (WebCore):
760         (WebCore::FragmentShaderRGBATexCopy::getShaderString):
761         * platform/graphics/chromium/ShaderChromium.h:
762         (VertexShaderPosTexIdentity):
763         (WebCore::VertexShaderPosTexIdentity::init):
764         (WebCore):
765         (FragmentShaderRGBATexCopy):
766         * platform/graphics/chromium/TextureCopier.cpp: Added.
767         (WebCore):
768         (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
769         (WebCore::AcceleratedTextureCopier::~AcceleratedTextureCopier):
770         (WebCore::AcceleratedTextureCopier::copyTexture):
771         * platform/graphics/chromium/TextureCopier.h: Added.
772         (WebCore):
773         (TextureCopier):
774         (WebCore::TextureCopier::~TextureCopier):
775         (AcceleratedTextureCopier):
776         (WebCore::AcceleratedTextureCopier::create):
777         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
778         (WebCore::CCSingleThreadProxy::doCommit):
779         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
780         (WebCore::CCTextureUpdater::CCTextureUpdater):
781         * platform/graphics/chromium/cc/CCTextureUpdater.h:
782         (WebCore):
783         (CCTextureUpdater):
784         (WebCore::CCTextureUpdater::copier):
785         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
786         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
787
788 2012-03-27  Levi Weintraub  <leviw@chromium.org>
789
790         Correct SVG paint functions that are still using IntPoints
791         https://bugs.webkit.org/show_bug.cgi?id=82343
792
793         Reviewed by Eric Seidel.
794
795         Two small corrections to SVG paint functions that should use LayoutPoint instead
796         of IntPoint.
797
798         No new tests. No change in behavior.
799
800         * rendering/svg/RenderSVGShape.cpp:
801         (WebCore::RenderSVGShape::paint):
802         * rendering/svg/RenderSVGText.cpp:
803         (WebCore::RenderSVGText::paint):
804
805 2012-03-27  Zalan Bujtas  <zbujtas@gmail.com>
806
807         Frame flattening: childframe in FrameView::layout() needs protector.
808         https://bugs.webkit.org/show_bug.cgi?id=82345
809
810         Reviewed by Kenneth Rohde Christiansen.
811
812         RefPtr<FrameView> protector(this) is supposed to protect the current frameview in
813         FrameView::layout() from being destroyed by recalcStyle().
814         However, when frame flattening is on and a child frame is re-starting layout from
815         the topmost parent, the protection is missing and parent's recalcStyle()
816         can destroy the child frame.
817         Moving the protector before the layout re-starting is initiated makes the child frame
818         safe.
819
820         No new tests. Unable to create a test case, where this scenario is reproducible.
821
822         * page/FrameView.cpp:
823         (WebCore::FrameView::layout):
824
825 2012-03-27  Antti Koivisto  <antti@apple.com>
826
827         Construct CSSCharsetRule on CSSOM API access only 
828         https://bugs.webkit.org/show_bug.cgi?id=82332
829
830         Reviewed by Andreas Kling.
831
832         Charset is just a string. There is usually no need to construct CSSCharsetRule at all.
833         
834         - Make CSS parser to return encoding string instead of CSSCharsetRule object. This
835           string is used for constructing CSSCharsetRule if it is needed (and nothing else,
836           @charset has no effect after string decoding).
837         - Remove internal interface for adding and removing rules. It has no clients.
838         
839         * css/CSSGrammar.y:
840         * css/CSSParser.cpp:
841         (WebCore):
842         * css/CSSParser.h:
843         * css/CSSStyleSelector.cpp:
844         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
845         * css/CSSStyleSheet.cpp:
846         (WebCore::CSSStyleSheet::~CSSStyleSheet):
847         (WebCore::CSSStyleSheet::parserAppendRule):
848         (WebCore::CSSStyleSheet::ensureCharsetRule):
849         (WebCore):
850         (WebCore::CSSStyleSheet::length):
851         (WebCore::CSSStyleSheet::item):
852         (WebCore::CSSStyleSheet::clearCharsetRule):
853         (WebCore::CSSStyleSheet::clearRules):
854         (WebCore::CSSStyleSheet::parserSetEncodingFromCharsetRule):
855         (WebCore::CSSStyleSheet::rules):
856         (WebCore::CSSStyleSheet::insertRule):
857         (WebCore::CSSStyleSheet::addRule):
858         (WebCore::CSSStyleSheet::deleteRule):
859         * css/CSSStyleSheet.h:
860         (WebCore):
861         (CSSStyleSheet):
862         (WebCore::CSSStyleSheet::ruleVector):
863         (WebCore::CSSStyleSheet::hasCharsetRule):
864         * inspector/InspectorStyleSheet.cpp:
865         (WebCore::InspectorStyleSheet::reparseStyleSheet):
866
867 2012-03-27  Stephen White  <senorblanco@chromium.org>
868
869         [chromium] Fix filter context creation to be more conservative.
870         https://bugs.webkit.org/show_bug.cgi?id=82349
871
872         Reviewed by James Robinson.
873
874         Covered by webkit_unit_tests, and css3/filters layout tests.
875
876         * platform/graphics/chromium/LayerChromium.cpp:
877         (WebCore::LayerChromium::setFilters):
878         Only request a filter context if the filter lists is non-empty.
879         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
880         (WebCore::CCLayerTreeHost::setNeedsFilterContext):
881         Add a bool param, so tests can cancel a request for filter contexts.
882
883 2012-03-27  Stephen Chenney  <schenney@chromium.org>
884
885         <svg:use> elements in the parser can create elements not marked as created by the parser
886         https://bugs.webkit.org/show_bug.cgi?id=81985
887
888         Reviewed by Adam Barth.
889
890         The SVGUseElement was creating its shadow tree immediately upon
891         demand. This resulted in nodes being created that were not marked as
892         "createdByParser", even during parsing. As it happens, there is
893         already code in there to track "createdByParser" in the SVGUseElement,
894         it was just being ignored all the time. This may even have been
895         inefficient. Now we delay creating the shadow dom tree until children
896         are finished, which is the standard time to handle the createdByParser
897         flag.
898
899         I also verified that other SVG classes that derived from core DOM
900         classes that use the createdByParser flag do correctly pass this flag
901         on.
902
903         No new tests as this is covered by existing tests and does not have new behavior.
904
905         * svg/SVGUseElement.cpp:
906         (WebCore::SVGUseElement::insertedIntoDocument):
907         (WebCore::SVGUseElement::svgAttributeChanged):
908         (WebCore::SVGUseElement::willRecalcStyle):
909         (WebCore::SVGUseElement::finishParsingChildren):
910         * xml/XMLErrors.cpp:
911         (WebCore::XMLErrors::insertErrorMessageBlock):
912
913 2012-03-27  Ming Xie  <mxie@rim.com>
914
915         [BlackBerry] Disable DisallowCType.h usage
916         https://bugs.webkit.org/show_bug.cgi?id=82211
917
918         Reviewed by Rob Buis.
919
920         Build fix: QNX port does use ctype.h, so we should not
921         include <wtf/DisallowCType.h> in WebCore/config.h
922
923         No new tests - Build Fix
924
925         * config.h:
926
927 2012-03-27  Hao Zheng  <zhenghao@chromium.org>
928
929         Change default position attribute of media control panel to relative for Android.
930         https://bugs.webkit.org/show_bug.cgi?id=82303
931
932         Reviewed by Eric Carlson.
933
934         Follow up https://bugs.webkit.org/show_bug.cgi?id=79746 .
935
936         * css/mediaControlsChromiumAndroid.css:
937         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
938
939 2012-03-27  Alexei Filippov  <alexeif@chromium.org>
940
941         Web Inspector: Speed up snapshot parsing.
942         https://bugs.webkit.org/show_bug.cgi?id=82325
943
944         Replacing the iterators with raw nodes/edges access speeds up
945         some phases phasses up to 10 times, taking down the whole init
946         time to less than 6 sec.
947
948         Reviewed by Yury Semikhatsky.
949
950         * inspector/front-end/HeapSnapshot.js:
951         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
952         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
953         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
954
955 2012-03-27  Antti Koivisto  <antti@apple.com>
956
957         Assertion failure in acid2.
958
959         Rubber-stamped by Andreas Kling.
960
961         Remove assert added in http://trac.webkit.org/changeset/112258. It seems insertedInto/removedFromDocument
962         don't always pair.
963
964         * svg/SVGDocumentExtensions.cpp:
965         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
966
967 2012-03-27  Yury Semikhatsky  <yurys@chromium.org>
968
969         Web Inspector: simplify heap profiler front-end
970         https://bugs.webkit.org/show_bug.cgi?id=82338
971
972         Simplify constructors of WebInspector.HeapSnapshotArraySlice and
973         WebInspector.HeapSnapshotEdgesProvider.
974
975         Reviewed by Pavel Feldman.
976
977         * inspector/front-end/HeapSnapshot.js:
978         (WebInspector.HeapSnapshotArraySlice):
979         (WebInspector.HeapSnapshotArraySlice.prototype.item):
980         (WebInspector.HeapSnapshotArraySlice.prototype.slice):
981         (WebInspector.HeapSnapshotNode.prototype.get rawEdges):
982         (WebInspector.HeapSnapshot.prototype._retainersForNode):
983         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
984         (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
985         (WebInspector.HeapSnapshotEdgesProvider):
986
987 2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
988
989         Web Inspector: Tabbed pane should set focus on its contents on tab click.
990         https://bugs.webkit.org/show_bug.cgi?id=82323
991
992         Reviewed by Pavel Feldman.
993
994         Otherwise selected tab does not have focus.
995         Also added tabIndex on tabElements to prevent pasting on closing middle click.
996
997         * inspector/front-end/TabbedPane.js:
998         (WebInspector.TabbedPane):
999         (WebInspector.TabbedPane.prototype.focus):
1000         (WebInspector.TabbedPane.prototype.selectTab):
1001         (WebInspector.TabbedPaneTab.prototype._createTabElement):
1002         (WebInspector.TabbedPaneTab.prototype._tabClicked):
1003
1004 2012-03-27  Pavel Podivilov  <podivilov@chromium.org>
1005
1006         Web Inspector: dispatch breakpoint-added and breakpoint-removed events on UISourceCode.
1007         https://bugs.webkit.org/show_bug.cgi?id=82318
1008
1009         Reviewed by Vsevolod Vlasov.
1010
1011         Breakpoint-added and breakpoint-removed events are always related to specific UISourceCode.
1012         See bug 82224 for more details.
1013
1014         * inspector/front-end/BreakpointManager.js:
1015         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
1016         (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
1017         * inspector/front-end/DebuggerPresentationModel.js:
1018         (WebInspector.DebuggerPresentationModel):
1019         (WebInspector.UISourceCodeImpl.prototype.breakpointAdded):
1020         (WebInspector.UISourceCodeImpl.prototype.breakpointRemoved):
1021         * inspector/front-end/ScriptsPanel.js:
1022         (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
1023         (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
1024         (WebInspector.ScriptsPanel.prototype._addBreakpointListeners):
1025         (WebInspector.ScriptsPanel.prototype._removeBreakpointListeners):
1026         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
1027         * inspector/front-end/UISourceCode.js:
1028
1029 2012-03-27  Jason Liu  <jason.liu@torchmobile.com.cn>
1030
1031         [BlackBerry]Cleanup WTF string in platform/network/blackberry
1032         https://bugs.webkit.org/show_bug.cgi?id=82005
1033
1034         Reviewed by Rob Buis.
1035
1036         No new tests. Just replace WTF::String with String.
1037
1038         * platform/network/blackberry/NetworkJob.cpp:
1039         (WebCore::NetworkJob::handleNotifyDataReceived):
1040
1041 2012-03-27  Alexander Pavlov  <apavlov@chromium.org>
1042
1043         Web Inspector: Enable "number" parameters in the web inspector protocol methods
1044         https://bugs.webkit.org/show_bug.cgi?id=82334
1045
1046         The generated protocol dispatcher does not understand protocol method parameters of type "number"
1047         (mapped to "double" in the native code.)
1048
1049         Reviewed by Vsevolod Vlasov.
1050
1051         * inspector/CodeGeneratorInspector.py:
1052         (RawTypes.Number.get_getter_name):
1053         (RawTypes.Number.get_c_initializer):
1054         (RawTypes.Number.get_js_bind_type):
1055         (RawTypes.Number.get_validate_method_params.ValidateMethodParams):
1056         (RawTypes.Number.get_validate_method_params):
1057
1058 2012-03-27  Alexei Filippov  <alexeif@chromium.org>
1059
1060         Web Inspector: Fix missing objects in the dominators view.
1061         https://bugs.webkit.org/show_bug.cgi?id=82194
1062
1063         Due to the nature of dominators tree it is not possible to hide internal
1064         objects there because they may happen to contain user objects that can't
1065         be hidden.
1066         Besides that it fixes a small bug in HeapSnapshotArraySlice.slice
1067         function.
1068
1069         Reviewed by Yury Semikhatsky.
1070
1071         * inspector/front-end/DetailedHeapshotGridNodes.js:
1072         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
1073         * inspector/front-end/HeapSnapshot.js:
1074         (WebInspector.HeapSnapshotArraySlice.prototype.slice):
1075
1076 2012-03-27  Antti Koivisto  <antti@apple.com>
1077
1078         Remove Document::mappedElementSheet() 
1079         https://bugs.webkit.org/show_bug.cgi?id=82242
1080
1081         Reviewed by Andreas Kling and Nikolas Zimmermann.
1082
1083         The only thing this is used for anymore is SVGFontFaceElement. That can be handled without
1084         the confusing extra stylesheet.
1085
1086         * css/CSSStyleSelector.cpp:
1087         (WebCore::CSSStyleSelector::CSSStyleSelector):
1088         * css/CSSStyleSelector.h:
1089         (CSSStyleSelector):
1090         
1091             - Add font face rules from registered SVGFontFaceElements.
1092             - Simplify the constructor signature. Stylesheets are part of the document.
1093             
1094         * dom/Document.cpp:
1095         (WebCore::Document::~Document):
1096         (WebCore::Document::createStyleSelector):
1097         (WebCore):
1098         (WebCore::Document::updateBaseURL):
1099         * dom/Document.h:
1100         (WebCore):
1101         (WebCore::Document::documentUserSheets):
1102         (Document):
1103
1104             - Remove mappedElementSheet        
1105             - Adapt to the CSSStyleSelector constructor signature changes.
1106
1107         * svg/SVGDocumentExtensions.cpp:
1108         (WebCore::SVGDocumentExtensions::svgFontFaceElements):
1109         (WebCore):
1110         (WebCore::SVGDocumentExtensions::registerSVGFontFaceElement):
1111         (WebCore::SVGDocumentExtensions::unregisterSVGFontFaceElement):
1112         * svg/SVGDocumentExtensions.h:
1113         (WebCore):
1114         (SVGDocumentExtensions):
1115         
1116             - Add map for SVGFontFaceElements
1117
1118         * svg/SVGFontFaceElement.cpp:
1119         (WebCore::SVGFontFaceElement::insertedIntoDocument):
1120         (WebCore::SVGFontFaceElement::removedFromDocument):
1121         (WebCore):
1122         * svg/SVGFontFaceElement.h:
1123         (SVGFontFaceElement):
1124         (WebCore::SVGFontFaceElement::fontFaceRule):
1125         
1126             - Switch to updating svgFontFaceElements map.
1127             - Use elementSheet as the parent sheet (nothing is ever added to the elementSheet, it is used for
1128               resolving relative URLs only).
1129
1130 2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
1131
1132         Web Inspector: startEditing should remove tabIndex attribute from the element if it was not set before.
1133         https://bugs.webkit.org/show_bug.cgi?id=82322
1134
1135         Reviewed by Pavel Feldman.
1136
1137         This patch removes tabIndex attribute from the element after editing if it was not present before.
1138         Otherwise tabIndex becomes set unexpectedly after exiting edit mode.
1139
1140         * inspector/front-end/UIUtils.js:
1141         (WebInspector.startEditing.cleanUpAfterEditing):
1142
1143 2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
1144
1145         Web Inspector: Tree outline should not start search on key press if it is being edited.
1146         https://bugs.webkit.org/show_bug.cgi?id=82327
1147
1148         Reviewed by Pavel Feldman.
1149
1150         This is needed for snippet renaming support.
1151
1152         * inspector/front-end/treeoutline.js:
1153         (TreeOutline):
1154         (TreeOutline.prototype._treeKeyPress):
1155
1156 2012-03-27  Levi Weintraub  <leviw@chromium.org>
1157
1158         Revert RenderApplet::intrinsicSize to integers
1159         https://bugs.webkit.org/show_bug.cgi?id=82206
1160
1161         Reviewed by Eric Seidel.
1162
1163         Intrinsic sizes originate either outside of WebCore, or from their initial values,
1164         which are always integers. Reverting RenderApplet::intrinsicSize to integers, the
1165         last spot improperly using LayoutUnits
1166
1167         No new tests. No change in behavior.
1168
1169         * rendering/RenderApplet.cpp:
1170         (WebCore::RenderApplet::intrinsicSize):
1171         * rendering/RenderApplet.h:
1172         (RenderApplet):
1173
1174
1175 2012-03-27  Alexis Menard  <alexis.menard@openbossa.org>
1176
1177         Increase code sharing between CSSComputedStyleDeclaration and CSSPropertyLonghand.
1178         https://bugs.webkit.org/show_bug.cgi?id=82261
1179
1180         Reviewed by Ryosuke Niwa.
1181
1182         Use longhands declaration from CSSPropertyLonghand in CSSComputedStyleDeclaration to avoid
1183         code duplication.
1184
1185         No new tests : refactoring only, we shouldn't have any behavior difference.
1186
1187         * css/CSSComputedStyleDeclaration.cpp:
1188         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1189         (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForShorthandProperties):
1190         (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
1191         * css/CSSComputedStyleDeclaration.h:
1192         (WebCore):
1193         (CSSComputedStyleDeclaration):
1194         * css/CSSPropertyLonghand.cpp:
1195         (WebCore::outlineLonghand):
1196         Re-order to match the spec default order and also remove outline-offset as it is not part
1197         of the shorthand (http://www.w3.org/TR/css3-ui/#outline). Luckily this was cover by a layout test.
1198
1199 2012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
1200
1201         Web Inspector: Editable TextViewer should show cursor when it is focused.
1202         https://bugs.webkit.org/show_bug.cgi?id=82320
1203
1204         Reviewed by Pavel Feldman.
1205
1206         TextViewer now focuses editable inner container unless read-only flag is set.
1207
1208         * inspector/front-end/TextViewer.js:
1209         (WebInspector.TextViewer.prototype.focus):
1210         (WebInspector.TextEditorMainPanel):
1211         (WebInspector.TextEditorMainPanel.prototype._handleElementFocus):
1212         (WebInspector.TextEditorMainPanel.prototype.focus):
1213
1214 2012-03-26  Levi Weintraub  <leviw@chromium.org>
1215
1216         Unreviewed. Removing change markers from ChangeLog.
1217
1218 2012-03-26  Levi Weintraub  <leviw@chromium.org>
1219
1220         Convert RenderSelectionInfo::rect to LayoutUnits
1221         https://bugs.webkit.org/show_bug.cgi?id=82213
1222
1223         Reviewed by Eric Seidel.
1224
1225         RenderSelectionInfoBase stores a cached repaint rect in local coordinates. Coordinates local to
1226         renderers should be stored in LayoutUnits.
1227
1228         No new tests. No change in behavior.
1229
1230         * rendering/RenderSelectionInfo.h:
1231         (WebCore::RenderSelectionInfo::rect):
1232         (RenderSelectionInfo):
1233
1234 2012-03-26  Levi Weintraub  <leviw@chromium.org>
1235
1236         Convert RenderSelectionInfo::rect to LayoutUnits
1237         https://bugs.webkit.org/show_bug.cgi?id=82213
1238
1239         Reviewed by Eric Seidel.
1240
1241         RenderSelectionInfoBase stores a cached repaint rect in local coordinates. Coordinates
1242         local to renderers should be stored in LayoutUnits as described in
1243         http://trac.webkit.org/wiki/LayoutUnit
1244
1245         No new tests. No change in behavior.
1246
1247         * rendering/RenderSelectionInfo.h:
1248         (WebCore::RenderSelectionInfo::rect):
1249         (RenderSelectionInfo):
1250
1251 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
1252
1253         Enable animVal support for SVGAnimatedRect
1254         https://bugs.webkit.org/show_bug.cgi?id=82317
1255
1256         Reviewed by Zoltan Herczeg.
1257
1258         Enable animVal support for SVGAnimatedRect. Very simple now that everything is prepared.
1259         All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedRectAnimator.
1260
1261         Extended existing tests to cover this.
1262
1263         * svg/SVGAnimatedRect.cpp:
1264         (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
1265         (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
1266         (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
1267         (WebCore::SVGAnimatedRectAnimator::animValWillChange):
1268         (WebCore::SVGAnimatedRectAnimator::animValDidChange):
1269         * svg/SVGAnimatedRect.h:
1270         (SVGAnimatedRectAnimator):
1271         * svg/SVGAnimatedType.cpp:
1272         (WebCore::SVGAnimatedType::supportsAnimVal):
1273
1274 2012-03-27  Sheriff Bot  <webkit.review.bot@gmail.com>
1275
1276         Unreviewed, rolling out r112201.
1277         http://trac.webkit.org/changeset/112201
1278         https://bugs.webkit.org/show_bug.cgi?id=82302
1279
1280         Breaks chromium's WebPageSerializerTest.HTMLNodes test
1281         (Requested by pfeldman on #webkit).
1282
1283         * loader/cache/CachedCSSStyleSheet.cpp:
1284         (WebCore::CachedCSSStyleSheet::error):
1285         (WebCore):
1286         * loader/cache/CachedCSSStyleSheet.h:
1287         (CachedCSSStyleSheet):
1288         * loader/cache/CachedFont.cpp:
1289         (WebCore):
1290         (WebCore::CachedFont::error):
1291         * loader/cache/CachedFont.h:
1292         (CachedFont):
1293         * loader/cache/CachedImage.cpp:
1294         (WebCore::CachedImage::error):
1295         * loader/cache/CachedResource.h:
1296         (CachedResource):
1297         * loader/cache/CachedScript.cpp:
1298         (WebCore::CachedScript::error):
1299         (WebCore):
1300         * loader/cache/CachedScript.h:
1301         (CachedScript):
1302         * loader/cache/CachedXSLStyleSheet.cpp:
1303         (WebCore::CachedXSLStyleSheet::error):
1304         (WebCore):
1305         * loader/cache/CachedXSLStyleSheet.h:
1306         (CachedXSLStyleSheet):
1307
1308 2012-03-27  Levi Weintraub  <leviw@chromium.org>
1309
1310         LayoutRepainter: Remove unused constructor parameter and update to LayoutUnits
1311         https://bugs.webkit.org/show_bug.cgi?id=82185
1312
1313         Reviewed by Eric Seidel.
1314
1315         Removing an optional parameter for old bounds in LayoutRepainter's constructor that
1316         is no longer used. The old bounds are instead always gleaned from the renderer's
1317         clippedOverflowRectForRepaint.
1318
1319         The renderer's bounds and outline rect also are stored in LayoutUnits to properly
1320         detect sub-pixel changes during layout. Eventually, we'll pixel snap these values
1321         when telling the embedder to invalidate. Adding a comment to that effect.
1322
1323         No new tests. No change in behavior.
1324
1325         * rendering/LayoutRepainter.cpp:
1326         (WebCore::LayoutRepainter::LayoutRepainter):
1327         * rendering/LayoutRepainter.h:
1328         (LayoutRepainter):
1329
1330 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
1331
1332         Enable animVal support for SVGAnimatedString
1333         https://bugs.webkit.org/show_bug.cgi?id=82316
1334
1335         Reviewed by Zoltan Herczeg.
1336
1337         Enable animVal support for SVGAnimatedString. Very simple now that everything is prepared.
1338         All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedStringAnimator.
1339
1340         Test: svg/animations/svgstring-animation-1.html
1341
1342         * svg/SVGAnimatedString.cpp:
1343         (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
1344         (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
1345         (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
1346         (WebCore::SVGAnimatedStringAnimator::animValWillChange):
1347         (WebCore::SVGAnimatedStringAnimator::animValDidChange):
1348         * svg/SVGAnimatedString.h:
1349         (SVGAnimatedStringAnimator):
1350         * svg/SVGAnimatedType.cpp:
1351         (WebCore::SVGAnimatedType::supportsAnimVal):
1352
1353 2012-03-27  Levi Weintraub  <leviw@chromium.org>
1354
1355         Update usage of LayoutUnits in RenderListMarker
1356         https://bugs.webkit.org/show_bug.cgi?id=81921
1357
1358         Reviewed by Eric Seidel.
1359
1360         Implementing proper pixel snapping in list marker painting, and correcting usage of integers
1361         for local coordinates/margins that should be sub-pixel.
1362
1363         No new tests. No change in behavior.
1364
1365         * rendering/RenderListMarker.cpp:
1366         (WebCore::RenderListMarker::localSelectionRect): Changed to LayoutUnits since this represents
1367         a rect in local coordinates.
1368         (WebCore::RenderListMarker::paint): Doing proper pixel snapping, and using integers for
1369         results from text measurement.
1370         (WebCore::RenderListMarker::computePreferredLogicalWidths): Using integers for results
1371         from text measurement.
1372         (WebCore::RenderListMarker::updateMargins): Fixing to be LayoutUnits.
1373         * rendering/RenderListMarker.h:
1374         (RenderListMarker):
1375
1376 2012-03-27  Levi Weintraub  <leviw@chromium.org>
1377
1378         Revert linesBoundingBox to integers
1379         https://bugs.webkit.org/show_bug.cgi?id=82182
1380
1381         Reviewed by Eric Seidel.
1382
1383         LayoutRects are intended to be pixel snapped to determine the ultimate screen
1384         coordinates, but the Inline Box tree is laid out using floats, and pixel snapping
1385         the resulting box from linesBoundingBox would produce a potentially incorrect
1386         rectangle. Keeping this using enclosingIntRect retains the previous accuracy and
1387         prevents misuse.
1388
1389         No new tests. No change in behavior.
1390
1391         * rendering/RenderInline.cpp:
1392         (WebCore::RenderInline::linesBoundingBox):
1393         * rendering/RenderInline.h:
1394         (RenderInline):
1395         * rendering/RenderLayer.cpp:
1396         (WebCore::RenderLayer::updateLayerPosition):
1397         * rendering/RenderText.cpp:
1398         (WebCore::RenderText::linesBoundingBox):
1399         * rendering/svg/RenderSVGInlineText.cpp:
1400         (WebCore::RenderSVGInlineText::linesBoundingBox):
1401         * rendering/svg/RenderSVGInlineText.h:
1402         (RenderSVGInlineText):
1403
1404 2012-03-26  Pavel Podivilov  <podivilov@chromium.org>
1405
1406         Web Inspector: store UIBreakpoints on UISourceCode.
1407         https://bugs.webkit.org/show_bug.cgi?id=82214
1408
1409         This change will allow us to make breakpoint-added and breakpoint-removed events a part of UISourceCode interface.
1410         See bug 82224 for more details.
1411
1412         Reviewed by Vsevolod Vlasov.
1413
1414         * inspector/front-end/BreakpointManager.js:
1415         (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
1416         (WebInspector.BreakpointManager.prototype.setBreakpoint):
1417         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
1418         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
1419         (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
1420         (WebInspector.BreakpointManager.prototype.debuggerReset):
1421         * inspector/front-end/CompilerScriptMapping.js:
1422         (WebInspector.CompilerScriptMapping.prototype.addScript):
1423         * inspector/front-end/DebuggerPresentationModel.js:
1424         (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
1425         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForUISourceCode):
1426         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
1427         (WebInspector.UISourceCodeImpl):
1428         (WebInspector.UISourceCodeImpl.prototype.breakpoints):
1429         (WebInspector.UISourceCodeImpl.prototype.breakpointAdded):
1430         (WebInspector.UISourceCodeImpl.prototype.breakpointRemoved):
1431         * inspector/front-end/RawSourceCode.js:
1432         (WebInspector.RawSourceCode.prototype._createUISourceCode):
1433         * inspector/front-end/SnippetsModel.js:
1434         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
1435         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
1436         * inspector/front-end/UISourceCode.js:
1437         (WebInspector.UISourceCode.prototype.get domain):
1438         (WebInspector.UISourceCode.prototype.get folderName):
1439         (WebInspector.UISourceCode.prototype.get fileName):
1440         (WebInspector.UISourceCode.prototype.get displayName):
1441         (WebInspector.UISourceCode.prototype._parseURL):
1442         (WebInspector.UISourceCode.prototype._didRequestContent):
1443         (WebInspector.UISourceCode.prototype.breakpoints):
1444         * inspector/front-end/inspector.html:
1445
1446 2012-03-27  Nat Duca  <nduca@chromium.org>
1447
1448         [chromium] Fix crash with fling with tracing enabled
1449         https://bugs.webkit.org/show_bug.cgi?id=82306
1450
1451         The TRACE_EVENT_START instrumentation was deferencing a PassOwnPtr
1452         after it had been passed into another OwnPtr. This caused frequent
1453         crashes when tracing was enabled.
1454
1455         Reviewed by Adam Barth.
1456
1457         * platform/ActivePlatformGestureAnimation.cpp:
1458         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
1459         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
1460         (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
1461
1462 2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
1463
1464         [SOUP] Implement missing methods in CookieJarSoup
1465         https://bugs.webkit.org/show_bug.cgi?id=82082
1466
1467         Reviewed by Martin Robinson.
1468
1469         * platform/network/soup/CookieJarSoup.cpp:
1470         (WebCore::defaultCookieJar): Return a global GRefPtr to store the
1471         default cookie jar.
1472         (WebCore::soupCookieJar): Return the current cookie jar or create
1473         a new one.
1474         (WebCore::setSoupCookieJar): Set the current cookie jar.
1475         (WebCore::setCookies): Fix coding style.
1476         (WebCore::cookiesForDocument): Helper function to get the list of
1477         cookies as a string.
1478         (WebCore::cookies): Use cookiesForDocument().
1479         (WebCore::cookieRequestHeaderFieldValue): Ditto.
1480         (WebCore::getRawCookies): Get the list of cookies for the given
1481         document and url.
1482         (WebCore::deleteCookie): Delete the given cookie.
1483         (WebCore::getHostnamesWithCookies): Use GOwnPtr.
1484         (WebCore::deleteCookiesForHostname): Use GOwnPtr and
1485         soup_cookie_domain_matches() instead of comparing the domain
1486         directly with the given hostname.
1487         (WebCore::deleteAllCookies): Use GOwnPtr.
1488         * platform/network/soup/CookieJarSoup.h:
1489         * platform/network/soup/GOwnPtrSoup.cpp:
1490         (WTF::SoupCookie): Add GOwnPtr template for SoupCookie.
1491         * platform/network/soup/GOwnPtrSoup.h:
1492         * platform/network/soup/ResourceHandleSoup.cpp:
1493         (WebCore::ensureSessionIsInitialized): Use soupCookieJar() instead
1494         of defaultCookieJar().
1495
1496 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
1497
1498         Enable animVal support for SVGAnimatedBoolean
1499         https://bugs.webkit.org/show_bug.cgi?id=82311
1500
1501         Reviewed by Antti Koivisto.
1502
1503         Enable animVal support for SVGAnimatedBoolean. Very simple now that everything is prepared.
1504         All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedBooleanAnimator.
1505
1506         Extended existing tests to cover this.
1507
1508         * svg/SVGAnimatedBoolean.cpp:
1509         (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
1510         (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
1511         (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
1512         (WebCore::SVGAnimatedBooleanAnimator::animValWillChange):
1513         (WebCore::SVGAnimatedBooleanAnimator::animValDidChange):
1514         * svg/SVGAnimatedBoolean.h:
1515         (SVGAnimatedBooleanAnimator):
1516         * svg/SVGAnimatedType.cpp:
1517         (WebCore::SVGAnimatedType::setValueAsString):
1518         (WebCore::SVGAnimatedType::supportsAnimVal):
1519
1520 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
1521
1522         <img style='width: 100%' src='foo.svg'> gets pixellated when stretched
1523         https://bugs.webkit.org/show_bug.cgi?id=81631
1524
1525         Reviewed by Antti Koivisto.
1526
1527         Final cleanup of RenderReplaced after the intrinsic size negotiation patch series from some weeks/months ago.
1528         Stop tracking whether a RenderReplaced has an intrinsic size or not with an extra-bool, instead assume each
1529         RenderReplaced derived class has an intrinsic size. If not, the class should override
1530         computeIntrinsicRatioInformation() for any custom logic - currently only done by RenderImage.
1531
1532         Remove all logic depending on m_hasIntrinsicSize from computeReplacedLogicalWidth/Height, which was used
1533         to support different sizing models depending on if the replaced element is a RenderImage or a RenderPart.
1534         Unify all of this in computeIntrinsicRatioInformation right in RenderReplaced. This allows to remove
1535         a hack from RenderImage::computeReplacedLogicalWidth(), which forced the synchroniziation of the intrinsicSize()
1536         before calling the base classes RenderReplaced::computeReplacedLogicalWidth().
1537         Now RenderImage just overrides the layout() method, calls RenderReplaced::layout() and then sets the container
1538         size of the image resources to [contentWidth(), contentHeight()] - reflecting the actual result of the layout.
1539         Furthermore this now allows us to unify CachedImage::imageSizeForRenderer() again for both SVG and non-SVG images.
1540
1541         Propagating the right container size to the image resource fixes the actual bug, that the SVGImage got pixellated.
1542         Adding new tests covering percentage width or height set on an <img> embedding an external SVG, no more pixelation.
1543
1544         Tests: svg/as-image/img-relative-height-expected.html
1545                svg/as-image/img-relative-height.html
1546                svg/as-image/img-relative-width-expected.html
1547                svg/as-image/img-relative-width.html
1548
1549         * loader/cache/CachedImage.cpp:
1550         (WebCore::CachedImage::imageSizeForRenderer):
1551         * rendering/RenderEmbeddedObject.cpp:
1552         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
1553         * rendering/RenderImage.cpp:
1554         (WebCore::RenderImage::layout):
1555         (WebCore::RenderImage::computeIntrinsicRatioInformation):
1556         * rendering/RenderImage.h:
1557         (RenderImage):
1558         * rendering/RenderReplaced.cpp:
1559         (WebCore::RenderReplaced::RenderReplaced):
1560         (WebCore::rendererHasAspectRatio):
1561         (WebCore):
1562         (WebCore::RenderReplaced::computeIntrinsicRatioInformationForRenderBox):
1563         (WebCore::RenderReplaced::computeIntrinsicRatioInformation):
1564         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
1565         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
1566         * rendering/RenderReplaced.h:
1567         (WebCore::RenderReplaced::intrinsicSize):
1568         (RenderReplaced):
1569         (WebCore::RenderReplaced::setIntrinsicSize):
1570         * svg/graphics/SVGImage.cpp:
1571         (WebCore::SVGImage::setContainerSize):
1572         * svg/graphics/SVGImage.h:
1573         (WebCore::SVGImage::usesContainerSize):
1574
1575 2012-03-27  Ilya Tikhonovsky  <loislo@chromium.org>
1576
1577         Web Inspector: HeapSnapshot: speed-up distanceToWindow calculation.
1578         https://bugs.webkit.org/show_bug.cgi?id=82305
1579
1580         Reviewed by Yury Semikhatsky.
1581
1582         * inspector/front-end/HeapSnapshot.js:
1583         (WebInspector.HeapSnapshot.prototype._bfs):
1584
1585 2012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
1586
1587         SVGAnimatedType should support SVGAnimatedIntegerOptionalInteger animation
1588         https://bugs.webkit.org/show_bug.cgi?id=67563
1589
1590         Reviewed by Dirk Schulze.
1591
1592         Add SVGAnimatedIntegerOptionalInteger type handling animation of pair<int, int> objects
1593         as used for the SVG properties 'filterRes' and 'order'. They're currently animated as
1594         SVGAnimatedNumberOptionalNumber - but that won't work for animVal support. Fix that
1595         and enable animVal support for SVGAnimatedInteger(OptionalInteger).
1596
1597         Use 'int' as datatype for SVGAnimatedInteger instead of 'long' for consistency, and
1598         move SVGAnimatedEnumeration from 'int' to 'unsigned short', to make them distinguishable.
1599
1600         Test: svg/animations/svginteger-animation-2.html
1601
1602         * CMakeLists.txt:
1603         * GNUmakefile.list.am:
1604         * Target.pri:
1605         * WebCore.gypi:
1606         * WebCore.vcproj/WebCore.vcproj:
1607         * WebCore.xcodeproj/project.pbxproj:
1608         * svg/SVGAllInOne.cpp:
1609         * svg/SVGAnimatedEnumeration.h:
1610         (WebCore):
1611         * svg/SVGAnimatedInteger.cpp:
1612         (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
1613         (WebCore):
1614         (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
1615         (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
1616         (WebCore::SVGAnimatedIntegerAnimator::animValWillChange):
1617         (WebCore::SVGAnimatedIntegerAnimator::animValDidChange):
1618         (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
1619         (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
1620         * svg/SVGAnimatedInteger.h:
1621         (WebCore):
1622         (SVGAnimatedIntegerAnimator):
1623         * svg/SVGAnimatedIntegerOptionalInteger.cpp: Added.
1624         (WebCore):
1625         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::SVGAnimatedIntegerOptionalIntegerAnimator):
1626         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
1627         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
1628         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
1629         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
1630         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
1631         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
1632         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndToValues):
1633         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndByValues):
1634         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
1635         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateDistance):
1636         * svg/SVGAnimatedIntegerOptionalInteger.h: Copied from Source/WebCore/svg/SVGAnimatedInteger.h.
1637         (WebCore):
1638         (SVGAnimatedIntegerOptionalIntegerAnimator):
1639         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::~SVGAnimatedIntegerOptionalIntegerAnimator):
1640         * svg/SVGAnimatedNumberOptionalNumber.cpp:
1641         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
1642         * svg/SVGAnimatedType.cpp:
1643         (WebCore::SVGAnimatedType::~SVGAnimatedType):
1644         (WebCore::SVGAnimatedType::createIntegerOptionalInteger):
1645         (WebCore):
1646         (WebCore::SVGAnimatedType::integerOptionalInteger):
1647         (WebCore::SVGAnimatedType::valueAsString):
1648         (WebCore::SVGAnimatedType::setValueAsString):
1649         (WebCore::SVGAnimatedType::supportsAnimVal):
1650         * svg/SVGAnimatedType.h:
1651         (SVGAnimatedType):
1652         * svg/SVGAnimatorFactory.h:
1653         (WebCore::SVGAnimatorFactory::create):
1654         * svg/SVGFilterElement.cpp:
1655         (WebCore::SVGFilterElement::setFilterRes):
1656         * svg/SVGFilterElement.h:
1657         (SVGFilterElement):
1658         * svg/SVGPathElement.cpp:
1659         (WebCore::SVGPathElement::getPathSegAtLength):
1660         * svg/SVGPathElement.h:
1661         (SVGPathElement):
1662         * svg/SVGPathParserFactory.cpp:
1663         (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
1664         * svg/SVGPathParserFactory.h:
1665         (SVGPathParserFactory):
1666         * svg/SVGPathTraversalStateBuilder.cpp:
1667         (WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex):
1668         * svg/SVGPathTraversalStateBuilder.h:
1669         (SVGPathTraversalStateBuilder):
1670         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
1671         (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):
1672         (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
1673         (WebCore::SVGAnimatedEnumerationPropertyTearOff::currentAnimatedValue):
1674         (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
1675         * svg/properties/SVGPropertyInfo.h:
1676         * svg/properties/SVGPropertyTraits.h:
1677
1678 2012-03-25  Nikolas Zimmermann  <nzimmermann@rim.com>
1679
1680         Enable animVal support for SVGAngle
1681         https://bugs.webkit.org/show_bug.cgi?id=82144
1682
1683         Reviewed by Rob Buis.
1684
1685         Enable animVal support for SVGAnimatedAngle. Very simple now that everything is prepared.
1686         All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedAngleAnimator.
1687
1688         Extended existing tests to cover this.
1689
1690         * svg/SVGAnimatedAngle.cpp:
1691         (WebCore::sharedSVGAngle):
1692         (WebCore::SVGAnimatedAngleAnimator::constructFromString):
1693         (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
1694         (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
1695         (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
1696         (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
1697         (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
1698         (WebCore::SVGAnimatedAngleAnimator::calculateDistance):
1699         * svg/SVGAnimatedAngle.h:
1700         (SVGAnimatedAngleAnimator):
1701         * svg/SVGAnimatedType.cpp:
1702         (WebCore::SVGAnimatedType::supportsAnimVal):
1703
1704 2012-03-27  Yury Semikhatsky  <yurys@chromium.org>
1705
1706         Web Inspector: remove remains of path finder in heap profiler front-end
1707         https://bugs.webkit.org/show_bug.cgi?id=82304
1708
1709         Removed remainders of heap path finder as this code is not used anymore.
1710
1711         Reviewed by Pavel Feldman.
1712
1713         * inspector/front-end/HeapSnapshot.js:
1714         * inspector/front-end/HeapSnapshotProxy.js:
1715
1716 2012-03-27  Dan Bernstein  <mitz@apple.com>
1717
1718         Reverted r112214, since it was not the right fix for the build.
1719
1720         * css/StylePropertySet.cpp:
1721         (WebCore::StylePropertySet::asText):
1722
1723 2012-03-27  Kentaro Hara  <haraken@chromium.org>
1724
1725         [V8][Performance] Optimize createTextNode(), createElement(), cloneNode(), etc
1726         https://bugs.webkit.org/show_bug.cgi?id=82201
1727
1728         Reviewed by Adam Barth.
1729
1730         This patch improves performance of createTextNode() by 13%, createElement() by 14%,
1731         and cloneNode() by 16%. Similar performance improvement will be observed in
1732         DOM methods that create a new object every time.
1733
1734         Performance test: https://bugs.webkit.org/attachment.cgi?id=133799
1735
1736         The performance test results are as follows. Since the performance of V8's GC is
1737         really unstable, the average of measured times makes no sense in Chromium.
1738         Instead, let us focus on the median. I believe that this performance
1739         improvement has impact on Dromaeo, but we cannot observe the improvement
1740         due to the unsteadiness of V8's GC, as shown below.
1741
1742         Chromium/V8/Linux (without the patch):
1743         createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms)
1744         createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms)
1745         cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms)
1746         Dromaeo/dom-modify/createElement: 439.17runs/s +-31.60% (<--- pretty noisy)
1747         Dromaeo/dom-modify/createTextNode: 287.71runs/s +-28.39% (<--- pretty noisy)
1748         Dromaeo/dom-modify/cloneNode: 174.62runs/s +-25.68% (<--- pretty noisy)
1749
1750         Chromium/V8/Linux (with the patch):
1751         createTextNode : median=240ms (mean=411.12ms, min=237ms, max=2965ms)
1752         createElement : median=325ms (mean=585.30ms, min=317ms, max=2984ms)
1753         cloneNode : median=310ms (mean=522.48ms, min=302ms, max=2988ms)
1754         Dromaeo/dom-modify/createElement: 507.15runs/s +-36.00% (<--- pretty noisy)
1755         Dromaeo/dom-modify/createTextNode: 251.01runs/s +-6.57%
1756         Dromaeo/dom-modify/cloneNode: 177.85runs/s +-28.74% (<--- pretty noisy)
1757
1758         Chromium/V8/Mac (without the patch):
1759         createTextNode : median=317ms (mean=439.08ms, min=303ms, max=3126ms)
1760         createElement : median=403ms (mean=695.70ms, min=398ms, max=5615ms)
1761         cloneNode : median=384ms (mean=577.96ms, min=372ms, max=5313ms)
1762         Dromaeo/dom-modify/createElement: 493.89runs/s +-28.32% (<--- pretty noisy)
1763         Dromaeo/dom-modify/createTextNode: 279.66runs/s +-1.91%
1764         Dromaeo/dom-modify/cloneNode: 173.06runs/s +-24.41% (<--- pretty noisy)
1765
1766         Chromium/V8/Mac (with the patch):
1767         createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms)
1768         createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms)
1769         cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms)
1770         Dromaeo/dom-modify/createElement: 510.47runs/s +-28.13% (<--- pretty noisy)
1771         Dromaeo/dom-modify/createTextNode: 215.80runs/s +-20.99% (<--- pretty noisy)
1772         Dromaeo/dom-modify/cloneNode: 174.41runs/s +-24.85% (<--- pretty noisy)
1773
1774         Safari/JavaScriptCore/Mac:
1775         createTextNode : median=142ms (mean=141.04ms, min=110ms, max=168ms)
1776         createElement : median=234ms (mean=245.74ms, min=219ms, max=305ms)
1777         cloneNode : median=210ms (mean=213.36ms, min=204ms, max=284ms)
1778         Dromaeo/dom-modify/createElement: 822.49runs/s +-1.69%
1779         Dromaeo/dom-modify/createTextNode: 735.57runs/s +-0.91%
1780         Dromaeo/dom-modify/cloneNode: 135.20runs/s +-4.13%
1781
1782         This patch makes the following two optimizations:
1783
1784         [1] If the currently running context is equal to the context that we are about to enter,
1785         we do not call context->Enter().
1786         [2] We do not create a Local handle of the context until we really need to enter the context.
1787
1788         * bindings/scripts/CodeGeneratorV8.pm:
1789         (GenerateToV8Converters):
1790         * bindings/v8/V8Proxy.cpp:
1791         (WebCore::V8Proxy::persistentContext):
1792         (WebCore):
1793         * bindings/v8/V8Proxy.h:
1794         (V8Proxy):
1795
1796         * WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Updated run-bindings-tests results.
1797
1798 2012-03-27  Bill Budge  <bbudge@chromium.org>
1799
1800         cross-origin XMLHttpRequest doesn't work with redirect
1801         https://bugs.webkit.org/show_bug.cgi?id=57600
1802
1803         Reviewed by Adam Barth.
1804
1805         Changes DocumentThreadableLoader to follow the CORS redirect steps when
1806         asynchronously loading a cross origin request with access control. Synchronous
1807         loads should not be affected. Also adds methods to ResourceRequestBase to
1808         clear special request headers that aren't allowed when using access control.
1809         Follows the CORS spec as described in the Latest Editor Draft at:
1810         http://www.w3.org/TR/cors/
1811
1812         Test: http/tests/xmlhttprequest/access-control-and-redirects-async.html
1813
1814         * loader/DocumentThreadableLoader.cpp:
1815         * loader/DocumentThreadableLoader.h:
1816         * platform/network/ResourceRequestBase.cpp:
1817         * platform/network/ResourceRequestBase.h:
1818
1819 2012-03-27  Adam Barth  <abarth@webkit.org>
1820
1821         ImageLoader::m_firedLoadEvent is a confusing name
1822         https://bugs.webkit.org/show_bug.cgi?id=82283
1823
1824         Reviewed by Kentaro Hara.
1825
1826         This patch renames m_firedLoadEvent (and friends) to
1827         m_hasPendingLoadEvent (and negates the value).  That name more
1828         accurately reflects the semantics of this piece of state.  For example,
1829         we now initialize m_hasPendingLoadEvent to false, which makes sense as
1830         there is no pending load event, whereas before we initialized
1831         m_firedLoadEvent to true, which made less sense since we hadn't yet
1832         actually fired the load event.
1833
1834         * bindings/v8/V8GCController.cpp:
1835         (WebCore::calculateGroupId):
1836         * html/HTMLImageElement.cpp:
1837         (WebCore::HTMLImageElement::attach):
1838         * html/HTMLImageElement.h:
1839         (HTMLImageElement):
1840         (WebCore::HTMLImageElement::hasPendingLoadEvent):
1841         (WebCore::HTMLImageElement::hasPendingActivity):
1842         * html/ImageInputType.cpp:
1843         (WebCore::ImageInputType::attach):
1844         * loader/ImageLoader.cpp:
1845         (WebCore::ImageLoader::ImageLoader):
1846         (WebCore::ImageLoader::~ImageLoader):
1847         (WebCore::ImageLoader::setImage):
1848         (WebCore::ImageLoader::updateFromElement):
1849         (WebCore::ImageLoader::notifyFinished):
1850         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
1851         (WebCore::ImageLoader::dispatchPendingLoadEvent):
1852         (WebCore::ImageLoader::dispatchPendingErrorEvent):
1853         * loader/ImageLoader.h:
1854         (WebCore::ImageLoader::hasPendingBeforeLoadEvent):
1855         (WebCore::ImageLoader::hasPendingLoadEvent):
1856         (ImageLoader):
1857         * svg/SVGImageElement.cpp:
1858         (WebCore::SVGImageElement::haveLoadedRequiredResources):
1859
1860 2012-03-27  Dan Bernstein  <mitz@apple.com>
1861
1862         Tried to fix 32-bit builds.
1863
1864         * css/StylePropertySet.cpp:
1865         (WebCore::StylePropertySet::asText):
1866
1867 2012-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1868
1869         Unreviewed, rolling out r112199.
1870         http://trac.webkit.org/changeset/112199
1871         https://bugs.webkit.org/show_bug.cgi?id=82295
1872
1873         Breaks Chromium Win compilation (Requested by pfeldman on
1874         #webkit).
1875
1876         * bindings/scripts/CodeGeneratorV8.pm:
1877         (GenerateConstructorCallback):
1878         (GenerateNamedConstructorCallback):
1879         (GenerateToV8Converters):
1880         (GetDomMapFunction):
1881         * bindings/scripts/test/V8/V8Float64Array.cpp:
1882         (WebCore::V8Float64Array::wrapSlow):
1883         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1884         (WebCore::V8TestActiveDOMObject::wrapSlow):
1885         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1886         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1887         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1888         (WebCore::V8TestEventConstructor::wrapSlow):
1889         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1890         (WebCore::V8TestEventTarget::wrapSlow):
1891         * bindings/scripts/test/V8/V8TestInterface.cpp:
1892         (WebCore::V8TestInterface::wrapSlow):
1893         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1894         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1895         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1896         (WebCore::V8TestNamedConstructor::wrapSlow):
1897         * bindings/scripts/test/V8/V8TestObj.cpp:
1898         (WebCore::V8TestObj::wrapSlow):
1899         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1900         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1901         * bindings/v8/V8DOMWrapper.cpp:
1902         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
1903         (WebCore):
1904         * bindings/v8/V8DOMWrapper.h:
1905         (WebCore):
1906         (V8DOMWrapper):
1907         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
1908         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
1909
1910 2012-03-26  David Kilzer  <ddkilzer@apple.com>
1911
1912         Build system prep work for upstreaming iOS changes
1913         <http://webkit.org/b/82267>
1914
1915         Reviewed by Mark Rowe.
1916
1917         * DerivedSources.make: Move 'bison' into a variable and use
1918         xcrun to find it on Mac OS X.
1919         * bindings/scripts/preprocessor.pm:
1920         (applyPreprocessor): Add local @args variable.  On iOS, the
1921         compiler needs additional "-isysroot $(SDKROOT)" arguments when
1922         invoked, so it's easier to add them to an array, especially if
1923         $SDKROOT contains a space in the path.  Remove now-redundant
1924         $gccLocation variable.
1925
1926 2012-03-26  Nate Chapin  <japhet@chromium.org>
1927
1928         Remove duplicate error() impls in CachedResource subclasses
1929         https://bugs.webkit.org/show_bug.cgi?id=81161
1930
1931         Reviewed by Alexey Proskuryakov.
1932
1933         No new tests, refactor only.
1934
1935         * loader/cache/CachedCSSStyleSheet.cpp:
1936         * loader/cache/CachedCSSStyleSheet.h:
1937         * loader/cache/CachedFont.cpp:
1938         * loader/cache/CachedFont.h:
1939         * loader/cache/CachedImage.cpp:
1940         * loader/cache/CachedResource.h: Make checkNotify()
1941              virtual, so the right checkNotify() gets called in error().
1942         * loader/cache/CachedScript.cpp:
1943         * loader/cache/CachedScript.h:
1944         * loader/cache/CachedXSLStyleSheet.cpp:
1945         * loader/cache/CachedXSLStyleSheet.h:
1946
1947 2012-03-26  Ken Buchanan  <kenrb@chromium.org>
1948
1949         Assert failure from capitalized RenderTextFragment
1950         https://bugs.webkit.org/show_bug.cgi?id=82096
1951
1952         Reviewed by Ryosuke Niwa.
1953
1954         The cause of this bug was the call to RenderTextFragment::setTextInternal
1955         resulting from a style change from RenderObject::addChild. The idea here
1956         is to better separate the code path for transforming existing text from
1957         the code path for replacing the underlying text of a node. For
1958         RenderTextFragment this has to be clear because only in the latter case
1959         does the first-letter get reset.
1960
1961         * rendering/RenderObject.cpp:
1962         (WebCore::RenderObject::addChild): Added call to transformText
1963         * rendering/RenderText.cpp:
1964         (WebCore::RenderText::styleDidChange): Added call to transformText
1965         (WebCore::RenderText::transformText): Added
1966         * rendering/RenderText.h:
1967         (WebCore::RenderText::setText): Changed to virtual so RenderTextFragment can override
1968         (WebCore::RenderText::transformText): Added
1969         * rendering/RenderTextFragment.cpp:
1970         (WebCore::RenderTextFragment::styleDidChange): Removed references to
1971         m_allowFragmentReset which was the previous approach to separating the
1972         code paths
1973         (WebCore::RenderTextFragment::setTextInternal): Deleted
1974         (WebCore::RenderTextFragment::setText): Added with most of logic that was
1975         previously in setTextInternal
1976         (WebCore::RenderTextFragment::transformText): Added
1977         * rendering/RenderTextFragment.h:
1978         (WebCore::RenderTextFragment::setText): Added
1979         (WebCore::RenderTextFragment::transformText): Added
1980         (WebCore::RenderTextFragment::setTextInternal): Deleted
1981
1982 2012-03-26  Adam Klein  <adamk@chromium.org>
1983
1984         Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
1985         https://bugs.webkit.org/show_bug.cgi?id=82256
1986
1987         Reviewed by Adam Barth.
1988
1989         This moves leakRef() calls out of generated code, centralizing them in
1990         V8DOMWrapper implementation. Ideally, WeakReferenceMap::set would take
1991         PassRefPtrs, but that's tricky given that some WeakReferenceMap's KeyType is 'void'
1992         (which clearly can't be wrapped in a PassRefPtr).
1993
1994         Updated binding tests to reflect changes in CodeGeneratorV8.pm, no change in behavior.
1995
1996         * bindings/scripts/CodeGeneratorV8.pm:
1997         (GenerateConstructorCallback): Use GetDomMapFunction instead of custom logic.
1998         (GenerateNamedConstructorCallback): ditto.
1999         (GenerateToV8Converters): Call V8DOMWrapper::setJSWrapper* method
2000         instead of directly accessing the wrapper maps and calling set.
2001         (GetDomMapFunction): Refactored to call new GetDomWrapperMapName function.
2002         (GetDomWrapperMapName): Helper pulled out of GetDomMapFunction.
2003         * bindings/scripts/test/V8/V8Float64Array.cpp:
2004         (WebCore::V8Float64Array::wrapSlow):
2005         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2006         (WebCore::V8TestActiveDOMObject::wrapSlow):
2007         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2008         (WebCore::V8TestCustomNamedGetter::wrapSlow):
2009         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2010         (WebCore::V8TestEventConstructor::wrapSlow):
2011         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2012         (WebCore::V8TestEventTarget::wrapSlow):
2013         * bindings/scripts/test/V8/V8TestInterface.cpp:
2014         (WebCore::V8TestInterface::wrapSlow):
2015         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2016         (WebCore::V8TestMediaQueryListListener::wrapSlow):
2017         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2018         (WebCore::V8TestNamedConstructor::wrapSlow):
2019         * bindings/scripts/test/V8/V8TestObj.cpp:
2020         (WebCore::V8TestObj::wrapSlow):
2021         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2022         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
2023         * bindings/v8/V8DOMWrapper.cpp: Moved setJSWrapperForDOMNode method to header to inline it.
2024         * bindings/v8/V8DOMWrapper.h:
2025         (WebCore): Forward decls.
2026         (V8DOMWrapper):
2027         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Made inline.
2028         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): ditto.
2029         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Refactored into two methods;
2030         this one handles non-active Nodes.
2031         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): Pulled out of previouse
2032         DOMNode method, now handles only active Nodes.
2033         (WebCore::V8DOMWrapper::setJSWrapperForDOMSVGElementInstance): New helper method for SVGElementInstances.
2034
2035 2012-03-26  Pratik Solanki  <psolanki@apple.com>
2036
2037         Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength
2038         https://bugs.webkit.org/show_bug.cgi?id=82254
2039
2040         Reviewed by Benjamin Poulain.
2041
2042         No new tests because no functional changes.
2043
2044         * css/CSSComputedStyleDeclaration.cpp:
2045         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2046         * css/LengthFunctions.cpp:
2047         (WebCore::minimumValueForLength):
2048         (WebCore::valueForLength):
2049         * css/LengthFunctions.h:
2050         (WebCore):
2051         * html/HTMLAreaElement.cpp:
2052         (WebCore::HTMLAreaElement::getRegion):
2053         * platform/win/PopupMenuWin.cpp:
2054         (WebCore::PopupMenuWin::paint):
2055         * rendering/AutoTableLayout.cpp:
2056         (WebCore::AutoTableLayout::layout):
2057         * rendering/RenderBlock.cpp:
2058         (WebCore::RenderBlock::textIndentOffset):
2059         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2060         * rendering/RenderBox.cpp:
2061         (WebCore::RenderBox::computeLogicalWidthInRegion):
2062         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2063         (WebCore::RenderBox::computeInlineDirectionMargins):
2064         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2065         (WebCore::RenderBox::computeBlockDirectionMargins):
2066         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2067         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
2068         * rendering/RenderBoxModelObject.cpp:
2069         (WebCore::RenderBoxModelObject::paddingTop):
2070         (WebCore::RenderBoxModelObject::paddingBottom):
2071         (WebCore::RenderBoxModelObject::paddingLeft):
2072         (WebCore::RenderBoxModelObject::paddingRight):
2073         (WebCore::RenderBoxModelObject::paddingBefore):
2074         (WebCore::RenderBoxModelObject::paddingAfter):
2075         (WebCore::RenderBoxModelObject::paddingStart):
2076         (WebCore::RenderBoxModelObject::paddingEnd):
2077         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2078         * rendering/RenderFlexibleBox.cpp:
2079         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
2080         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
2081         * rendering/RenderInline.cpp:
2082         (WebCore::computeMargin):
2083         * rendering/RenderMenuList.cpp:
2084         (WebCore::RenderMenuList::updateOptionsWidth):
2085         * rendering/RenderReplaced.cpp:
2086         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2087         * rendering/RenderScrollbarPart.cpp:
2088         (WebCore::calcScrollbarThicknessUsing):
2089         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
2090         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
2091         * rendering/RenderTable.cpp:
2092         (WebCore::RenderTable::computeLogicalWidth):
2093         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
2094         * rendering/RenderTableSection.cpp:
2095         (WebCore::RenderTableSection::calcRowLogicalHeight):
2096         * rendering/RenderText.h:
2097         (WebCore::RenderText::marginLeft):
2098         (WebCore::RenderText::marginRight):
2099         * rendering/style/RenderStyle.h:
2100
2101 2012-03-26  Shinya Kawanaka  <shinyak@chromium.org>
2102
2103         Triggers assertion if dragging from outside of <meter> in a shadow tree to inside of it.
2104         https://bugs.webkit.org/show_bug.cgi?id=82177
2105
2106         Reviewed by Dimitri Glazkov.
2107
2108         VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries has moved the start position or
2109         the end position to the invalid position, i.e. position after (before) the non-existing node.
2110
2111         This patch fixes the problem, and adds assertion that the selection does not cross shadow boundaries.
2112
2113         Test: fast/dom/shadow/drag-to-meter-in-shadow-crash.html
2114
2115         * editing/VisibleSelection.cpp:
2116         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
2117
2118 2012-03-26  Scott Byer  <scottbyer@chromium.org>
2119
2120         Enable layout testing of the scroll animator.
2121         https://bugs.webkit.org/show_bug.cgi?id=81858
2122         Add a call to the InternalSettings that layout tests can use to
2123         turn on scroll animation. Enable animation updates for the
2124         Chromium platform DRT when scroll animation has been turned on in
2125         a test. This should be a no-op for all current layout tests.
2126
2127         Reviewed by James Robinson.
2128
2129         No new tests. Layout test results should be unchanged.
2130
2131         * testing/InternalSettings.cpp:
2132         (WebCore::InternalSettings::setEnableScrollAnimator):
2133         (WebCore):
2134         (WebCore::InternalSettings::scrollAnimatorEnabled):
2135         * testing/InternalSettings.h:
2136         (InternalSettings):
2137         * testing/InternalSettings.idl:
2138
2139 2012-03-26  Charles Wei  <charles.wei@torchmobile.com.cn>
2140
2141         Fix minor spell error in DocumentLoader.h
2142         https://bugs.webkit.org/show_bug.cgi?id=82141
2143
2144         Reviewed by Nate Chapin.
2145
2146         Just fix spell error, no new tests.
2147
2148         * loader/DocumentLoader.h:
2149         (WebCore::DocumentLoader::setClientRedirectSourceForHistory):
2150
2151 2012-03-26  Brian Salomon  <bsalomon@google.com>
2152
2153         [Skia] Remove use of deprecated Skia constant and struct field names
2154         https://bugs.webkit.org/show_bug.cgi?id=81034
2155
2156         Reviewed by James Robinson.
2157
2158         No behavior change, so no tests. The modified code is executed by many existing tests.
2159
2160         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
2161         (WebCore::createAcceleratedCanvas):
2162         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
2163         (WebCore::CCRenderSurfaceFilters::apply):
2164         * platform/graphics/skia/ImageBufferSkia.cpp:
2165         (WebCore::createAcceleratedCanvas):
2166
2167 2012-03-26  Nat Duca  <nduca@chromium.org>
2168
2169         [chromium] Add isInputThrottled/didBecomeReadyForAdditionalInput to WebWidget
2170         https://bugs.webkit.org/show_bug.cgi?id=82265
2171
2172         In threaded compositing mode, the WebWidget is self-scheduled,
2173         receiving damage and processing it without forwarding that damage
2174         up to the embedding WebWidgetClient. In Chromium's case, the
2175         client uses the presence of damage to perform input flow
2176         control. This patch exposes the need for input flow control to the
2177         embedder, while keeping the actual logic about what exactly
2178         warrants input flow control inside the implementation.
2179
2180         Reviewed by James Robinson.
2181
2182         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2183         (WebCore::CCLayerTreeHost::commitComplete):
2184         (WebCore::CCLayerTreeHost::commitRequested):
2185         (WebCore):
2186         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2187         (CCLayerTreeHostClient):
2188         (CCLayerTreeHost):
2189         * platform/graphics/chromium/cc/CCProxy.h:
2190         (CCProxy):
2191         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2192         (WebCore::CCSingleThreadProxy::commitRequested):
2193         (WebCore):
2194         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
2195         (CCSingleThreadProxy):
2196         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2197         (WebCore::CCThreadProxy::commitRequested):
2198         (WebCore):
2199         * platform/graphics/chromium/cc/CCThreadProxy.h:
2200         (CCThreadProxy):
2201
2202 2012-03-26  Adam Barth  <abarth@webkit.org>
2203
2204         When <img crossorigin> fails the CORS check, we should fire the error event
2205         https://bugs.webkit.org/show_bug.cgi?id=81998
2206
2207         Reviewed by Nate Chapin.
2208
2209         The spec says we're supposed to fire the error event when the CORS
2210         check fails, but we haven't been.  This patch is larger than it might
2211         otherwise be because we're firing the event asynchronously, but that
2212         seems like the right thing to do.
2213
2214         Tests: http/tests/security/img-with-failed-cors-check-fails-to-load.html
2215
2216         * dom/Document.cpp:
2217         (WebCore::Document::implicitClose):
2218         * loader/ImageLoader.cpp:
2219         (WebCore::errorEventSender):
2220         (WebCore):
2221         (WebCore::ImageLoader::ImageLoader):
2222         (WebCore::ImageLoader::~ImageLoader):
2223         (WebCore::ImageLoader::setImage):
2224         (WebCore::ImageLoader::updateFromElement):
2225         (WebCore::ImageLoader::notifyFinished):
2226         (WebCore::ImageLoader::dispatchPendingEvent):
2227         (WebCore::ImageLoader::dispatchPendingErrorEvent):
2228         (WebCore::ImageLoader::dispatchPendingErrorEvents):
2229         * loader/ImageLoader.h:
2230         (ImageLoader):
2231
2232 2012-03-26  Stephen White  <senorblanco@chromium.org>
2233
2234         Make filters and the threaded compositor play well together.
2235         https://bugs.webkit.org/show_bug.cgi?id=78139
2236         
2237         Use a dedicated GraphicsContext3D instance for all filters calls in
2238         the threaded case.  Clone all FilterOperations for thread safety
2239         in the threaded case.
2240
2241         Reviewed by James Robinson.
2242         
2243         Covered by tests in LayoutTests/css3/filters.
2244
2245         * platform/graphics/chromium/LayerChromium.cpp:
2246         (WebCore::LayerChromium::setFilters):
2247         Set a global flag if we've seen content with filters, so we know
2248         we need to create the filter context.
2249         (WebCore::LayerChromium::pushPropertiesTo):
2250         Clone all filter operations if we're in the threaded case.
2251         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2252         (WebCore):
2253         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2254         (WebCore::CCLayerTreeHost::needsFilterContext):
2255         (WebCore::CCLayerTreeHost::setNeedsFilterContext):
2256         (CCLayerTreeHost):
2257         Add flag and accessors for needsFilterContext.
2258         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2259         (WebCore::CCRenderSurface::applyFilters):
2260         Pick up the appropriate context from SharedGraphicsContext3D,
2261         depending if we're in the threaded case or not.
2262         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2263         (WebCore::CCThreadProxy::recreateContext):
2264         For the threaded compositor re-create the filter context
2265         alongside the main compositor context on lost context, if requested.
2266         (WebCore::CCThreadProxy::beginFrame):
2267         Create the filter context in beginFrame, if it was resquested and is
2268         NULL.  This handles the first-use case.
2269         * platform/graphics/filters/CustomFilterOperation.h:
2270         (WebCore::CustomFilterOperation::clone):
2271         Assert if trying to clone the custom filter operation (it has
2272         non-threadsafe members).
2273         * platform/graphics/filters/FilterOperation.h:
2274         (WebCore::DefaultFilterOperation::clone):
2275         (WebCore::PassthroughFilterOperation::clone):
2276         (WebCore::ReferenceFilterOperation::clone):
2277         (WebCore::BasicColorMatrixFilterOperation::clone):
2278         (WebCore::BasicComponentTransferFilterOperation::clone):
2279         (WebCore::GammaFilterOperation::clone):
2280         (WebCore::BlurFilterOperation::clone):
2281         (WebCore::DropShadowFilterOperation::clone):
2282         Add clone methods for all FilterOperations.
2283         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2284         (WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):
2285         (WebCore::SharedGraphicsContext3DImpl::getContext):
2286         (WebCore::SharedGraphicsContext3DImpl::createContext):
2287         (WebCore::SharedGraphicsContext3D::get):
2288         (WebCore::getOrCreateContextForImplThread):
2289         (WebCore::SharedGraphicsContext3D::getForImplThread):
2290         (WebCore::SharedGraphicsContext3D::haveForImplThread):
2291         (WebCore::SharedGraphicsContext3D::createForImplThread):
2292         Split out context creation, lost context recovery, and retrieval
2293         into separate functions, so the impl thread can use only the parts
2294         it wants on the threads it wants (create and have on main, get on impl).
2295         Add asserts to ensure that's how they're called.
2296         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2297         (SharedGraphicsContext3D):
2298         Reuse the SharedGraphicsContext infrastructure to create a new
2299         context singleton for filter use in the threaded compositor.
2300
2301 2012-03-26  Adam Barth  <abarth@webkit.org>
2302
2303         FrameLoader::shouldAllowNavigation uses Frame for context rather than Document
2304         https://bugs.webkit.org/show_bug.cgi?id=81020
2305
2306         Reviewed by Eric Seidel.
2307
2308         The vast majority of security checks in the browser should use a
2309         ScriptExecutionContext (aka a Document) to designate "who" is
2310         attempting to perform a given action.  Unfortunately,
2311         shouldAllowNavigation was using a Frame to designate "who" is
2312         attempting the navigation.
2313
2314         In cases when the executing script is "inactive" (i.e., belongs to a
2315         document that is not currently displayed in a Frame), using the Frame
2316         can cause us to grant the script the privileges of the document that's
2317         currently displayed in the Frame rather than the one that contains the
2318         script.
2319
2320         This patch moves shouldAllowNavigation from FrameLoader to Document
2321         (and renames it to canNavigate), effectively change the context object
2322         from a Frame to a Document.
2323
2324         Test: http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html
2325
2326         * bindings/generic/BindingSecurity.h:
2327         (BindingSecurity):
2328         (WebCore):
2329         * bindings/v8/V8Utilities.cpp:
2330         (WebCore):
2331         * bindings/v8/V8Utilities.h:
2332         (WebCore):
2333             - Deletes unused code.
2334         * dom/Document.cpp:
2335         (WebCore::canAccessAncestor):
2336         (WebCore):
2337         (WebCore::Document::canNavigate):
2338             - canNavigate is copied from FrameLoader::shouldAllowNavigation.
2339               I've added a null-check bailout if the document is inactive.
2340         * dom/Document.h:
2341         (Document):
2342         * loader/FormState.cpp:
2343         (WebCore::FormState::FormState):
2344         (WebCore::FormState::create):
2345         * loader/FormState.h:
2346         (WebCore):
2347         (FormState):
2348         (WebCore::FormState::sourceDocument):
2349         * loader/FormSubmission.cpp:
2350         (WebCore::FormSubmission::create):
2351             - Changes the context object from Frame to Document.
2352         * loader/FrameLoader.cpp:
2353         (WebCore::FrameLoader::submitForm):
2354         (WebCore::FrameLoader::loadFrameRequest):
2355         (WebCore):
2356         (WebCore::FrameLoader::findFrameForNavigation):
2357             - FrameLoader::findFrameForNavigation still incorrectly uses Frame
2358               as the context object, but that's a bug for another patch.
2359         (WebCore::createWindow):
2360         * loader/FrameLoader.h:
2361         (FrameLoader):
2362         * loader/NavigationScheduler.cpp:
2363         (WebCore::ScheduledFormSubmission::fire):
2364         * page/DOMWindow.cpp:
2365         (WebCore::DOMWindow::close):
2366         (WebCore::DOMWindow::setLocation):
2367         (WebCore::DOMWindow::open):
2368         * page/History.cpp:
2369         (WebCore::History::go):
2370
2371 2012-03-26  Vangelis Kokkevis  <vangelis@chromium.org>
2372
2373         [chromium] Simplify and fix CCLayerSorter
2374         https://bugs.webkit.org/show_bug.cgi?id=82114
2375
2376         A significant cleanup, simplification and improvement of the CCLayerSorter code.
2377         Simplified the LayerShape structure to use WebCore's FloatQuad for all overlap tests.
2378         By treating every layer as two triangles, the old overlap code did a lot of redundant work
2379         including testing two of the vertices of the layer and its diagonal twice. The new overlap
2380         tests check:
2381         1. The four corners of each of the two layers against the other layer.
2382         2. The four edges of each layer against the edges of the other layer.
2383         Unlike the old code, the new code has no early-outs in the overlap tests as those where causing
2384         us to miss legitimate overlaps.
2385         A new technique for breaking dependency cycles introduced by intersecting layers is implemented.
2386         Instead of arbitrarily breaking cycles by choosing the node in the graph with the smallest number of
2387         incoming edges (i.e. layers that need to be drawn before it) we chose the one with the smallest sum
2388         of graph edge weights (defined as the max depth difference between two layers). Layers that intersect
2389         have their respective graph edge weight set to zero, making them more likely to be picked for breaking
2390         the cycles (it's not a perfect solution but it seems to perform much better than the previous one).
2391
2392         In addition to being overly complex and doing reduntant work, the old code was missing a
2393         perspective divide when computing the coordinates of the layer's corners in the projected plane
2394         which was the source of a lot of mis-sorted results.
2395
2396         In all, these improvements, fix a lot of outstanding issues with layer sorting, on pages such as:
2397         http://www.keithclark.co.uk/labs/3dcss/demo/
2398         http://2012.beercamp.com
2399         https://developer.mozilla.org/fr/demos/detail/the-box/launch
2400
2401         Tests: CCLayerSorter unit tests.
2402
2403         Reviewed by Kenneth Russell.
2404
2405         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
2406         (WebCore):
2407         (WebCore::perpProduct):
2408         (WebCore::edgeEdgeTest):
2409         (WebCore::CCLayerSorter::checkOverlap):
2410         (WebCore::CCLayerSorter::LayerShape::LayerShape):
2411         (WebCore::CCLayerSorter::LayerShape::layerZFromProjectedPoint):
2412         (WebCore::CCLayerSorter::createGraphNodes):
2413         (WebCore::CCLayerSorter::createGraphEdges):
2414         (WebCore::CCLayerSorter::sort):
2415         * platform/graphics/chromium/cc/CCLayerSorter.h:
2416         (WebCore::CCLayerSorter::CCLayerSorter):
2417         (CCLayerSorter):
2418         (LayerShape):
2419         (WebCore::CCLayerSorter::GraphNode::GraphNode):
2420         (GraphNode):
2421         (WebCore::CCLayerSorter::GraphEdge::GraphEdge):
2422         (GraphEdge):
2423
2424 2012-03-26  Fady Samuel  <fsamuel@chromium.org>
2425
2426         [Chromium] Using WebViewPlugins with --force-compositing-mode causes an ASSERT to fail
2427         https://bugs.webkit.org/show_bug.cgi?id=81954
2428
2429         Reviewed by James Robinson.
2430
2431         A static variable s_inPaintContents is set when painting, and it ensures
2432         that we don't delete GraphicsLayers or create GraphicsLayers while painting.
2433
2434         However, because this variable is static, it does not permit the existence
2435         of multiple WebViews in different stages (one laying out and one painting).
2436
2437         This manifests itself if one attempts to use the --force-compositing-mode
2438         in Chromium and attempts to navigate to a page with a missing or old plugin
2439         or a browser plugin (which uses a WebViewPlugin as a placeholder until it's
2440         done loading).
2441
2442         The solution to simplify debugging is to make this flag per-Page.
2443         We can access Page from RenderLayerBacking which is a GraphicsLayerClient.
2444         We add a new method GraphicsLayerClient::verifyNotPainting with a default
2445         (do nothing) implementation and override it in RenderLayerBacking to
2446         test the flag set in Page.
2447
2448         * page/Page.cpp:
2449         (WebCore::Page::Page):
2450         * page/Page.h:
2451         (Page):
2452         (WebCore::Page::setIsPainting):
2453         (WebCore::Page::isPainting):
2454         * platform/graphics/GraphicsLayer.cpp:
2455         (WebCore::GraphicsLayer::GraphicsLayer):
2456         (WebCore::GraphicsLayer::~GraphicsLayer):
2457         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
2458         * platform/graphics/GraphicsLayerClient.h:
2459         (GraphicsLayerClient):
2460         (WebCore::GraphicsLayerClient::verifyNotPainting):
2461         * rendering/RenderLayerBacking.cpp:
2462         (WebCore::RenderLayerBacking::paintContents):
2463         (WebCore):
2464         (WebCore::RenderLayerBacking::verifyNotPainting):
2465         * rendering/RenderLayerBacking.h:
2466         (RenderLayerBacking):
2467
2468 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
2469
2470         cssText should use shorthand notations
2471         https://bugs.webkit.org/show_bug.cgi?id=81737
2472
2473         Reviewed by Enrica Casucci.
2474
2475         Use shorthand properties to serialize style properties for cssText.
2476
2477         The overall algorithm is to look for any property that has a shorthand, and then check if
2478         the shorthand value could be obtained (the condition is quite complicated for border properties).
2479         If it could, then append that value to the string builder, and set the corresponding entries in
2480         shorthandPropertyAppeared and shorthandPropertyUsed. If not, only turn on the bit in
2481         shorthandPropertyAppeared on to avoid calling getPropertyValue again for longhand properties
2482         that use the same shorthand property when we cannot use the shorthand.
2483
2484         Test: fast/css/cssText-shorthand.html
2485
2486         * css/StylePropertySet.cpp:
2487         (WebCore::StylePropertySet::asText):
2488
2489 2012-03-26  Bolin Hsu  <bhsu@google.com>
2490
2491         [Chromium] Add Android keycodes
2492         https://bugs.webkit.org/show_bug.cgi?id=81950
2493
2494         Add the missing Android keycodes listed in the bug.
2495
2496         Reviewed by Adam Barth.
2497
2498         * platform/chromium/KeyCodeConversionAndroid.cpp:
2499         (WebCore::windowsKeyCodeForKeyEvent):
2500         * platform/chromium/KeyboardCodes.h:
2501
2502 2012-03-26  Levi Weintraub  <leviw@chromium.org>
2503
2504         Switch ColumnInfo::addForcedBreak to LayoutUnits
2505         https://bugs.webkit.org/show_bug.cgi?id=82210
2506
2507         Reviewed by Eric Seidel.
2508
2509         Forced breaks are added by local offsets, which should be in LayoutUnits.
2510
2511         No new tests. No change in behavior.
2512
2513         * rendering/ColumnInfo.h:
2514         (WebCore::ColumnInfo::addForcedBreak):
2515
2516 2012-03-26  Levi Weintraub  <leviw@chromium.org>
2517
2518         Update LayoutUnit usage in ContainerNode, Element, and ElementRareData
2519         https://bugs.webkit.org/show_bug.cgi?id=82219
2520
2521         Reviewed by Eric Seidel.
2522
2523         No new tests. No change in behavior.
2524
2525         * dom/ContainerNode.cpp:
2526         (WebCore::ContainerNode::getLowerRightCorner): linesBoundingBox returns the enclosing IntRect
2527         of the contained lines. Inline's aren't bounded in LayoutUnits nor pixel snapped.
2528         * dom/Element.cpp:
2529         (WebCore::Element::boundsInRootViewSpace): Coordinates in root view space are akin to absolute
2530         coordinates, which are always expressed in integers.
2531         * dom/Element.h:
2532         (Element):
2533         * dom/ElementRareData.h:
2534         (WebCore::defaultMinimumSizeForResizing): Using numeric_limits<LayoutUnit>::max instead of
2535         INT_MAX to avoid overflowing when LayoutUnits are sub-pixel.
2536
2537 2012-03-26  Adam Klein  <adamk@chromium.org>
2538
2539         Update binding test output for V8 after r112163.
2540
2541         * bindings/scripts/test/V8/V8TestInterface.cpp:
2542         (WebCore::V8TestInterface::constructorCallback):
2543         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2544         (WebCore::V8TestNamedConstructorConstructorCallback):
2545         * bindings/scripts/test/V8/V8TestObj.cpp:
2546         (WebCore::V8TestObj::constructorCallback):
2547         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2548         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2549
2550 2012-03-26  Levi Weintraub  <leviw@chromium.org>
2551
2552         Update localSelectionRect to return a LayoutRect
2553         https://bugs.webkit.org/show_bug.cgi?id=82183
2554
2555         Reviewed by Eric Seidel.
2556
2557         localSelectionRect returns a rectangle in the coordinate space of its renderer,
2558         and therefor should remain LayoutUnits until being promoted to absolute
2559         coordinates or painted. Also fixing an incorrect conversion of startPos and
2560         endPos in selectionRectForRepaint.
2561
2562         No new tests. No change in behavior.
2563
2564         * rendering/InlineTextBox.cpp:
2565         (WebCore::InlineTextBox::localSelectionRect): Continuing to use enclosingIntRect
2566         for the value being returned from the font engine since these floating point
2567         values should not be pixel snapped.
2568         * rendering/InlineTextBox.h:
2569         (InlineTextBox):
2570         * rendering/RenderReplaced.cpp:
2571         (WebCore::RenderReplaced::localSelectionRect):
2572         * rendering/RenderReplaced.h:
2573         (RenderReplaced):
2574         * rendering/RenderText.cpp:
2575         (WebCore::localQuadForTextBox):
2576         (WebCore::RenderText::absoluteRectsForRange):
2577         (WebCore::RenderText::absoluteQuadsForRange):
2578         (WebCore::RenderText::selectionRectForRepaint): Fixing an incorrect conversion of
2579         start/endPos to LayoutUnits. These values represent a range of selected characters,
2580         not layout values!
2581         * rendering/svg/RenderSVGInlineText.cpp:
2582         (WebCore::RenderSVGInlineText::localCaretRect):
2583         * rendering/svg/SVGInlineTextBox.cpp:
2584         (WebCore::SVGInlineTextBox::localSelectionRect):
2585         * rendering/svg/SVGInlineTextBox.h:
2586         (SVGInlineTextBox):
2587
2588 2012-03-26  Justin Novosad  <junov@chromium.org>
2589
2590         [Chromium] Crash in Canvas2DLayerChromium::pushPropertiesTo
2591         https://bugs.webkit.org/show_bug.cgi?id=82243
2592
2593         Reviewed by James Robinson.
2594
2595         Adding null pointer check to prevent crash and texture object
2596         validity check to prevent potential graphics glitch
2597
2598         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2599         (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
2600
2601 2012-03-26  Adam Klein  <adamk@chromium.org>
2602
2603         Use PassRefPtr in V8DOMWrapper interface to avoid explicit ref() calls
2604         https://bugs.webkit.org/show_bug.cgi?id=82238
2605
2606         Reviewed by Adam Barth.
2607
2608         The setJSWrapper* methods previously featured a comment that asked
2609         callers to ref the objects before passing them in. This change makes
2610         that contract explicit (and allows the removal of the comment).
2611
2612         In addition, for ConstructorCallbacks, this change slightly reduces
2613         refcount churn by passing on the initial ref via RefPtr::release().
2614
2615         No new tests, no change in behavior.
2616
2617         * bindings/scripts/CodeGeneratorV8.pm:
2618         (GenerateConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref() call.
2619         (GenerateNamedConstructorCallback): ditto.
2620         * bindings/v8/V8DOMWindowShell.cpp:
2621         (WebCore::V8DOMWindowShell::installDOMWindow): Cast to a PassRefPtr and remove explicit ref call.
2622         * bindings/v8/V8DOMWrapper.cpp:
2623         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Pass leaked refs into the DOMNodeMaps.
2624         * bindings/v8/V8DOMWrapper.h:
2625         (V8DOMWrapper): Make the setJSWrapperFor* methods take PassRefPtr<T>.
2626         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Pass leaked ref into the DOMObjectMap.
2627         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): Pass leaked ref into the ActiveDOMObjectMap.
2628         * bindings/v8/V8Proxy.h:
2629         (WebCore::toV8): Remove explicit ref.
2630         * bindings/v8/WorkerContextExecutionProxy.cpp:
2631         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Cast to a PassRefPTr and remove explicit ref call.
2632         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2633         (WebCore::v8HTMLImageElementConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref.
2634         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
2635         (WebCore::V8WebKitMutationObserver::constructorCallback): ditto.
2636         * bindings/v8/custom/V8WebSocketCustom.cpp:
2637         (WebCore::V8WebSocket::constructorCallback): ditto.
2638         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2639         (WebCore::V8XMLHttpRequest::constructorCallback): ditto.
2640
2641 2012-03-26  Alexey Proskuryakov  <ap@apple.com>
2642
2643         Remove obsolete FormDataStreamMac code
2644         https://bugs.webkit.org/show_bug.cgi?id=82244
2645
2646         Reviewed by Brady Eidson.
2647
2648         * platform/network/ResourceHandle.h:
2649         Removed ResourceHandle::didSendBodyDataDelegateExists().
2650
2651         * platform/network/mac/FormDataStreamMac.h:
2652         * platform/network/mac/FormDataStreamMac.mm:
2653         Removed code that was needed to call ResourceLoaderClient::didSendData() before Foundation
2654         added support for it.
2655
2656         * platform/network/mac/ResourceHandleMac.mm:
2657         (WebCore::ResourceHandle::start):
2658         (WebCore::ResourceHandle::cancel):
2659         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
2660         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
2661         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
2662         We no longer need to associate streams with ResourceHandles!
2663
2664 2012-03-26  Adam Klein  <adamk@chromium.org>
2665
2666         V8RecursionScope should not hold a raw pointer to ScriptExecutionContext
2667         https://bugs.webkit.org/show_bug.cgi?id=82222
2668
2669         Reviewed by Eric Seidel.
2670
2671         Instead of holding onto ScriptExecutionContext, cache the boolean value we
2672         care about (context->isDocument()). This avoids problems if the
2673         context goes away as a result of the script we just ran.
2674
2675         Test: fast/frames/subframe-load-js-url-crash.html
2676
2677         * bindings/v8/V8RecursionScope.cpp:
2678         (WebCore::V8RecursionScope::didLeaveScriptContext): Check the cached
2679         bool instead of calling into the context.
2680         * bindings/v8/V8RecursionScope.h:
2681         (WebCore::V8RecursionScope::V8RecursionScope): Call isDocument from
2682         the constructor and cache the result.
2683         (WebCore::V8RecursionScope::~V8RecursionScope): No longer need to pass
2684         anything to didLeaveScriptContext since it's now a member.
2685         (V8RecursionScope): Make didLeaveScriptContext a member function and
2686         remove its argument. Add member bool to hold the value of isDocument.
2687
2688 2012-03-26  Dana Jansens  <danakj@chromium.org>
2689
2690         [chromium] assertion being hit in CCLayerTreeHost::updateCompositorResources
2691         https://bugs.webkit.org/show_bug.cgi?id=82239
2692
2693         Reviewed by Adrienne Walker.
2694
2695         The assert is incorrect and should check the animation state on
2696         the surface, not the owning layer.
2697
2698         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2699         (WebCore::CCLayerTreeHost::updateCompositorResources):
2700
2701 2012-03-26  Levi Weintraub  <leviw@chromium.org>
2702
2703         Correct LayoutUnit usage in RenderFieldSet and RenderMenuItem
2704         https://bugs.webkit.org/show_bug.cgi?id=82179
2705
2706         Reviewed by Julien Chaffraix.
2707
2708         Correcting small misuses of ints vs LayoutUnits in RenderFieldSet and RenderMenuItem. Also
2709         adding zeroLayoutUnit where necessary to fix the sub-pixel build. See below for details.
2710
2711         No new tests. No change in behavior.
2712
2713         * rendering/RenderFieldset.cpp:
2714         (WebCore::RenderFieldset::paintBoxDecorations): Clip rects need to be pixel snapped to mirror
2715         the actual coordinates we paint.
2716         (WebCore::RenderFieldset::paintMask): Using zeroLayoutUnit for ternary operation to fix the
2717         sub-pixel build.
2718         * rendering/RenderMenuList.cpp:
2719         (WebCore::RenderMenuList::showPopup): Correctly using an IntRect for absoluteBoundingBoxRect.
2720         (WebCore::RenderMenuList::clientPaddingLeft): Correcting mismatched return type with header.
2721         (WebCore::RenderMenuList::clientPaddingRight): Ditto.
2722
2723 2012-03-26  Dan Bernstein  <mitz@apple.com>
2724
2725         Tried to fix an unused parameter warning after r112154.
2726
2727         * rendering/RenderFlexibleBox.cpp:
2728         (WebCore::RenderFlexibleBox::layoutBlock): Changed to not pass relayoutChildren to
2729         layoutFlexItems.
2730         (WebCore::RenderFlexibleBox::layoutFlexItems): Removed the unused relayoutChildren parameter.
2731         * rendering/RenderFlexibleBox.h:
2732
2733 2012-03-26  Rob Arnold  <robarnold@fb.com>
2734
2735         SyntheticStyleCalc on an element should not force recalculation on its children
2736         https://bugs.webkit.org/show_bug.cgi?id=79389
2737
2738         Reviewed by Simon Fraser.
2739
2740         No new tests. Existing tests cover correctness, not sure how to test for performance.
2741
2742         * dom/Element.cpp:
2743         (WebCore::Element::recalcStyle):
2744
2745 2012-03-26  Tony Chang  <tony@chromium.org>
2746
2747         apply cross axis constraints before aligning children in flexbox
2748         https://bugs.webkit.org/show_bug.cgi?id=82240
2749
2750         Reviewed by Ojan Vafai.
2751
2752         We weren't applying max-height constraints before aligning children.
2753         This would cause center, end, stretch alignment to be wrong if we hit
2754         a max-height on a flexbox.
2755
2756         This patch also moves the repositioning logic to happen after
2757         computeLogicalHeight, which will be useful for flex-line-pack.
2758
2759         New test case in css3/flexbox/flex-align.html
2760
2761         * rendering/RenderFlexibleBox.cpp:
2762         (WebCore::RenderFlexibleBox::layoutBlock):
2763         (WebCore::RenderFlexibleBox::layoutFlexItems):
2764         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2765         * rendering/RenderFlexibleBox.h:
2766
2767 2012-03-26  Anders Carlsson  <andersca@apple.com>
2768
2769         Find in page overlay and bouncy are not always positioned correctly
2770         https://bugs.webkit.org/show_bug.cgi?id=82247
2771         <rdar://problem/10866139>
2772
2773         Reviewed by Sam Weinig.
2774
2775         In WebCore, a lot of code depends on scroll position updates to happen synchronously, so
2776         update the frame view scroll position before asking the scrolling thread to scroll.
2777
2778         * page/scrolling/ScrollingCoordinator.cpp:
2779         (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
2780
2781 2012-03-26  Nate Chapin  <japhet@chromium.org>
2782
2783         Simplify setting loading state in DocumentLoader
2784         https://bugs.webkit.org/show_bug.cgi?id=82099
2785
2786         Reviewed by Adam Barth.
2787
2788         The logic for deciding what to return for DocumentLoader::isLoading()
2789         is crazy. It's indirectly based on the ResourceLoaders that have
2790         registered themselves with the DocumentLoader, but we can make that
2791         relationship more direct.
2792
2793         * loader/DocumentLoader.cpp:
2794         (WebCore::DocumentLoader::checkLoadComplete): Renamed from updateLoading, since it's not actually
2795             updating anything anymore. It now calls DOMWindow::finishedLoading() if loading is in fact done.
2796         (WebCore::DocumentLoader::startLoadingMainResource): The only reason this had a return value was to call
2797             updateLoading() if loading failed. Just call checkLoadComplete() directly (this allows it to
2798             be private, whereas updateLoading() was public).
2799         (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
2800         * loader/DocumentLoader.h:
2801         (WebCore::DocumentLoader::isLoading): Rather than holding a separate bool, return based on the presence
2802             of non-multipart ResourceLoaders directly.
2803         * loader/FrameLoader.cpp:
2804         (WebCore::FrameLoader::isLoading): Depend on DocumentLoader::isLoading() for the activeDocumentLoader(),
2805             rather than indirectly the other way around.
2806         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Remove several assertions that should now be
2807             absolutely identical to the remaining !pdl->isLoading().
2808         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
2809
2810 2012-03-26  James Robinson  <jamesr@chromium.org>
2811
2812         Scrollable plugins not registered properly in ScrollingCoordinator
2813         https://bugs.webkit.org/show_bug.cgi?id=82163
2814
2815         Reviewed by Anders Carlsson.
2816
2817         Plugins may be scrollable, so we have to add them in the non-fast scrollable region. Tested manually.
2818
2819         * page/scrolling/ScrollingCoordinator.cpp:
2820         (WebCore::computeNonFastScrollableRegion):
2821         (WebCore::ScrollingCoordinator::nonFastScrollableRegion):
2822         (WebCore):
2823         * page/scrolling/ScrollingCoordinator.h:
2824         (ScrollingCoordinator):
2825         * plugins/PluginViewBase.h:
2826         (WebCore::PluginViewBase::scrollable):
2827         (PluginViewBase):
2828
2829 2012-03-26  Joone Hur  <joone.hur@collabora.co.uk>
2830
2831         [GTK] Build fix for Accelerated Compositing with Clutter
2832         https://bugs.webkit.org/show_bug.cgi?id=81785
2833
2834         Reviewed by Martin Robinson.
2835
2836         AcceleratedCompositingContext was introduced to isolate different accelerated 
2837         compositing implementations(r104194), but the Clutter implementation doesn't 
2838         build with it. This includes an initial implementation of GraphicsContext3D 
2839         and fixes the build error.
2840
2841         * GNUmakefile.list.am:
2842         * platform/graphics/clutter/DrawingBufferClutter.cpp: Added.
2843         (WebCore):
2844         (WebCore::DrawingBuffer::DrawingBuffer):
2845         (WebCore::DrawingBuffer::~DrawingBuffer):
2846         (WebCore::DrawingBuffer::platformColorBuffer):
2847         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
2848         * platform/graphics/clutter/GraphicsContext3DClutter.cpp: Added.
2849         (WebCore):
2850         (WebCore::GraphicsContext3D::create):
2851         (WebCore::GraphicsContext3D::GraphicsContext3D):
2852         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2853         (WebCore::GraphicsContext3D::getImageData):
2854         (WebCore::GraphicsContext3D::paintToCanvas):
2855         (WebCore::GraphicsContext3D::setContextLostCallback):
2856         (WebCore::GraphicsContext3D::setErrorMessageCallback):
2857         (WebCore::GraphicsContext3D::makeContextCurrent):
2858         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
2859         (WebCore::GraphicsContext3D::isGLES2Compliant):
2860         (WebCore::GraphicsContext3D::platformLayer):
2861         * platform/graphics/clutter/GraphicsContext3DPrivate.cpp: Added.
2862         (WebCore):
2863         (WebCore::GraphicsContext3DPrivate::create):
2864         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2865         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
2866         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
2867         (WebCore::GraphicsContext3DPrivate::platformContext):
2868         (WebCore::GraphicsContext3DPrivate::paintToGraphicsLayerActor):
2869         * platform/graphics/clutter/GraphicsContext3DPrivate.h: Added.
2870         (WebCore):
2871         (GraphicsContext3DPrivate):
2872         (WebCore::GraphicsContext3DPrivate::platformLayer):
2873
2874 2012-03-26  Peter Rybin  <prybin@chromium.org>
2875
2876         Web Inspector: Expose InspectorTypeBuilder.h to other components
2877         https://bugs.webkit.org/show_bug.cgi?id=82226
2878
2879         Reviewed by Vsevolod Vlasov.
2880
2881         This is a provisional commit that simplifies passing ealy warning system
2882         for the main patch https://bugs.webkit.org/show_bug.cgi?id=81558
2883
2884         * WebCore.xcodeproj/project.pbxproj: config file is changed in Xcode UI.
2885
2886 2012-03-26  Antaryami Pandia  <antaryami.pandia@motorola.com>
2887
2888         An <area> element remains focusable even though its associated <img> is not rendered.
2889         https://bugs.webkit.org/show_bug.cgi?id=71788
2890
2891         Reviewed by Andy Estes.
2892
2893         HTMLAreaElement::isFocusable() needs to consider the display and
2894         visibility state.
2895
2896         Test: fast/events/tab-test-not-visible-imagemap.html
2897
2898         * html/HTMLAreaElement.cpp:
2899         (WebCore::HTMLAreaElement::imageElement):
2900         (WebCore::HTMLAreaElement::isFocusable):
2901         * html/HTMLAreaElement.h: Make imageElement() const.
2902         (HTMLAreaElement):
2903
2904 2012-03-26  Anton Muhin  <antonm@chromium.org>
2905
2906         Fix a typo in IDL
2907         https://bugs.webkit.org/show_bug.cgi?id=82215
2908
2909         Reviewed by Adam Barth.
2910
2911         No new tests, just a typo fix.
2912
2913         * notifications/WorkerContextNotifications.idl:
2914
2915 2012-03-26  W. James MacLean  <wjmaclean@chromium.org>
2916
2917         [chromium] Change handleGestureFling() to use CCInputHandlerClient::Wheel.
2918         https://bugs.webkit.org/show_bug.cgi?id=82133
2919
2920         Reviewed by James Robinson.
2921
2922         Covered by existing unit tests.
2923
2924         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2925         (WebCore::CCLayerTreeHostImpl::scrollBegin):
2926
2927 2012-03-26  Mike Lawther  <mikelawther@chromium.org>
2928
2929         CSS3 calc: mixed percent/absolute for box-reflect
2930         https://bugs.webkit.org/show_bug.cgi?id=82161
2931
2932         Reviewed by Ojan Vafai.
2933
2934         Tests: css3/calc/box-reflect-expected.html
2935                css3/calc/box-reflect.html
2936
2937         * css/CSSStyleSelector.cpp:
2938         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2939
2940 2012-03-26  Mike Lawther  <mikelawther@chromium.org>
2941
2942         CSS3 calc: mixed percent/absolute support for vertical-align
2943         https://bugs.webkit.org/show_bug.cgi?id=82152
2944
2945         Reviewed by Ojan Vafai.
2946
2947         Tests: css3/calc/vertical-align-expected.html
2948                css3/calc/vertical-align.html
2949
2950         * css/CSSStyleApplyProperty.cpp:
2951         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2952
2953 2012-03-26  Filip Spacek  <fspacek@rim.com>
2954
2955         [BlackBerry] Accelerated compositing updates
2956         https://bugs.webkit.org/show_bug.cgi?id=82058
2957
2958         Reviewed by Rob Buis.
2959
2960         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
2961         (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
2962         (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
2963         (WebCore::CanvasLayerWebKitThread::setDevice):
2964         (WebCore::CanvasLayerWebKitThread::updateTextureContentsIfNeeded):
2965         * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
2966         (WebCore::CanvasLayerWebKitThread::create):
2967         (CanvasLayerWebKitThread):
2968         * platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
2969         (WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
2970         (WebCore::InstrumentedPlatformCanvas::save):
2971         (WebCore::InstrumentedPlatformCanvas::saveLayer):
2972         (WebCore::InstrumentedPlatformCanvas::restore):
2973         (WebCore::InstrumentedPlatformCanvas::translate):
2974         (WebCore::InstrumentedPlatformCanvas::scale):
2975         (WebCore::InstrumentedPlatformCanvas::rotate):
2976         (WebCore::InstrumentedPlatformCanvas::skew):
2977         (WebCore::InstrumentedPlatformCanvas::concat):
2978         (WebCore::InstrumentedPlatformCanvas::setMatrix):
2979         (WebCore::InstrumentedPlatformCanvas::clipRect):
2980         (WebCore::InstrumentedPlatformCanvas::clipPath):
2981         (WebCore::InstrumentedPlatformCanvas::clipRegion):
2982         (WebCore::InstrumentedPlatformCanvas::clear):
2983         (WebCore::InstrumentedPlatformCanvas::drawPaint):
2984         (WebCore::InstrumentedPlatformCanvas::drawPoints):
2985         (WebCore::InstrumentedPlatformCanvas::drawRect):
2986         (WebCore::InstrumentedPlatformCanvas::drawPath):
2987         (WebCore::InstrumentedPlatformCanvas::drawBitmap):
2988         (WebCore::InstrumentedPlatformCanvas::drawBitmapRect):
2989         (WebCore::InstrumentedPlatformCanvas::drawBitmapMatrix):
2990         (WebCore::InstrumentedPlatformCanvas::drawSprite):
2991         (WebCore::InstrumentedPlatformCanvas::drawText):
2992         (WebCore::InstrumentedPlatformCanvas::drawPosText):
2993         (WebCore::InstrumentedPlatformCanvas::drawPosTextH):
2994         (WebCore::InstrumentedPlatformCanvas::drawTextOnPath):
2995         (WebCore::InstrumentedPlatformCanvas::drawPicture):
2996         (WebCore::InstrumentedPlatformCanvas::drawVertices):
2997         (WebCore::InstrumentedPlatformCanvas::drawData):
2998         * platform/graphics/blackberry/LayerData.h:
2999         (WebCore::LayerData::LayerData):
3000         (WebCore::LayerData::needsTexture):
3001         (LayerData):
3002         * platform/graphics/blackberry/LayerTiler.cpp:
3003         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
3004         * platform/graphics/blackberry/LayerWebKitThread.cpp:
3005         (WebCore::LayerWebKitThread::paintContents):
3006         (WebCore::LayerWebKitThread::setDrawable):
3007         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
3008         (WebCore::loadBufferingImageData):
3009         * platform/graphics/blackberry/skia/ImageBufferDataSkia.h: Renamed from Source/WebCore/platform/graphics/blackberry/skia/ImageBufferData.h.
3010         (WebCore):
3011         (ImageBufferData):
3012
3013 2012-03-26  Stephen Chenney  <schenney@chromium.org>
3014
3015         Failure to invalidate text position attributes when DOM changes
3016         https://bugs.webkit.org/show_bug.cgi?id=81464
3017
3018         Reviewed by Nikolas Zimmermann.
3019
3020         The text positioning elements data structure in RenderSVGText must be
3021         updated when either the children of the corresponding element are
3022         modified, or the length of the text inside the elements changes.
3023         Previously, the call to clear the text positioning elements (to force
3024         recomputation) was guarded by a flag. If code tried to invalidate when
3025         the flag was not set, then something set the flag, the elements would
3026         be invalid at use time.
3027
3028         This patch modifies the method that invalidates the positining
3029         attributes so that the action always happens. It also renames the
3030         method to more accurately reflect its function.
3031
3032         Test: svg/custom/delete-modified-text-in-defs-crash.svg
3033
3034         * rendering/svg/RenderSVGInlineText.cpp:
3035         (WebCore::RenderSVGInlineText::setTextInternal): Rename textDOMChanged to invalidateTextPositioningElements
3036         * rendering/svg/RenderSVGText.cpp:
3037         (WebCore::RenderSVGText::invalidateTextPositioningElements): Rename
3038         textDOMChanged to invalidateTextPositioningElements and remove the check against the needsPosition... flag.
3039         * rendering/svg/RenderSVGText.h:
3040         (RenderSVGText): Rename textDOMChanged to invalidateTextPositioningElements
3041         * svg/SVGAElement.cpp:
3042         (WebCore::SVGAElement::childrenChanged): Rename textDOMChanged to invalidateTextPositioningElements
3043         * svg/SVGTextContentElement.cpp:
3044         (WebCore::SVGTextContentElement::childrenChanged): Rename textDOMChanged to invalidateTextPositioningElements
3045
3046 2012-03-26  Julien Chaffraix  <jchaffraix@webkit.org>
3047
3048         REGRESSION (r110065-r110080): fast/forms/placeholder-set-attribute.html is failing intermittently because WebKit fails to repaint after setting the placeholder attribute
3049         https://bugs.webkit.org/show_bug.cgi?id=81802
3050
3051         Reviewed by Dan Bernstein.
3052
3053         Covered by fast/forms/placeholder-set-attribute.html which should be less flaky.
3054
3055         Unfortunately no new test case as this bug requires a very specific set of conditions that I couldn't reproduce deterministically.
3056
3057         This is a regression from r110072: RenderTextControlSingleLine would rely on the placeholder's RenderLayer to properly repaint during
3058         the first layout as the placeholder has overflow: hidden set. r110072 removed the layer in this case and thus we miss a repaint.
3059
3060         * rendering/RenderTextControlSingleLine.cpp:
3061         (WebCore::RenderTextControlSingleLine::layout):
3062         For our first layout, we need to make sure our placeholder is painted. layoutBlockChild has a very similar logic to force repaint
3063         on a first layout. We don't hit this logic as the placeholder is explicitly skipped in RenderTextControl::layoutSpecialExcludedChild.
3064
3065 2012-03-26  Julien Chaffraix  <jchaffraix@webkit.org>
3066
3067         REGRESSION(r110072): fast/forms/textfield-overflow.html is failing
3068         https://bugs.webkit.org/show_bug.cgi?id=80531
3069
3070         Reviewed by Ojan Vafai.
3071
3072         Tested by fast/forms/textfield-overflow.html (re-enabled after this change).
3073
3074         The existing code would happily query layout information before calling layout (FTW!).
3075         The solution is to properly layout our object, then modify some dimensions as needed while
3076         marking ourself as needing layout and then layouting again.
3077
3078         * rendering/RenderTextControlSingleLine.cpp:
3079         (WebCore::RenderTextControlSingleLine::layout):
3080         Implemented a proper 2 pass layout algorithm. Removed the |relayoutChildren| logic as:
3081         - layoutBlock handles automatically logical height changes.
3082         - we were not modifying the logical width between layouts so we don't need to force a
3083         child relayout in this case.
3084
3085 2012-03-26  Robin Cao  <robin.cao@torchmobile.com.cn>
3086
3087         [BlackBerry] Upstream LayerCompositingThread.{h, cpp}
3088         https://bugs.webkit.org/show_bug.cgi?id=79873
3089
3090         Reviewed by Rob Buis.
3091
3092         Initial upstream, no new tests.
3093
3094         * platform/graphics/blackberry/LayerCompositingThread.cpp: Added.
3095         (WebCore):
3096         (WebCore::LayerCompositingThread::create):
3097         (WebCore::LayerCompositingThread::LayerCompositingThread):
3098         (WebCore::LayerCompositingThread::~LayerCompositingThread):
3099         (WebCore::LayerCompositingThread::destroyOnCompositingThread):
3100         (WebCore::LayerCompositingThread::setLayerRenderer):
3101         (WebCore::LayerCompositingThread::deleteTextures):
3102         (WebCore::LayerCompositingThread::setDrawTransform):
3103         (WebCore::getTransformedRect):
3104         (WebCore::LayerCompositingThread::getTransformedHolePunchRect):
3105         (WebCore::LayerCompositingThread::drawTextures):
3106         (WebCore::LayerCompositingThread::drawSurface):
3107         (WebCore::LayerCompositingThread::drawMissingTextures):
3108         (WebCore::LayerCompositingThread::releaseTextureResources):
3109         (WebCore::LayerCompositingThread::setPluginView):
3110         (WebCore::LayerCompositingThread::setMediaPlayer):
3111         (WebCore::LayerCompositingThread::clearAnimations):
3112         (WebCore::LayerCompositingThread::removeSublayer):
3113         (WebCore::LayerCompositingThread::indexOfSublayer):
3114         (WebCore::LayerCompositingThread::rootLayer):
3115         (WebCore::LayerCompositingThread::removeFromSuperlayer):
3116         (WebCore::LayerCompositingThread::setSublayers):
3117         (WebCore::LayerCompositingThread::updateTextureContentsIfNeeded):
3118         (WebCore::LayerCompositingThread::setVisible):
3119         (WebCore::LayerCompositingThread::setNeedsCommit):
3120         (WebCore::LayerCompositingThread::scheduleCommit):
3121         (WebCore::LayerCompositingThread::updateAnimations):
3122         (WebCore::LayerCompositingThread::hasVisibleHolePunchRect):
3123         (WebCore::LayerCompositingThread::createLayerRendererSurface):
3124         * platform/graphics/blackberry/LayerCompositingThread.h: Added.
3125         (Graphics):
3126         (WebCore):
3127         (LayerCompositingThread):
3128         (WebCore::LayerCompositingThread::bindContentsTexture):
3129         (WebCore::LayerCompositingThread::getSublayers):
3130         (WebCore::LayerCompositingThread::setSuperlayer):
3131         (WebCore::LayerCompositingThread::superlayer):
3132         (WebCore::LayerCompositingThread::drawTransform):
3133         (WebCore::LayerCompositingThread::setDrawOpacity):
3134         (WebCore::LayerCompositingThread::drawOpacity):
3135         (WebCore::LayerCompositingThread::layerRendererSurface):
3136         (WebCore::LayerCompositingThread::clearLayerRendererSurface):
3137         (WebCore::LayerCompositingThread::setMaskLayer):
3138         (WebCore::LayerCompositingThread::maskLayer):
3139         (WebCore::LayerCompositingThread::setReplicaLayer):
3140         (WebCore::LayerCompositingThread::replicaLayer):
3141         (WebCore::LayerCompositingThread::getDrawRect):
3142         (WebCore::LayerCompositingThread::getTransformedBounds):
3143         (WebCore::LayerCompositingThread::hasMissingTextures):
3144         (WebCore::LayerCompositingThread::isDirty):
3145         (WebCore::LayerCompositingThread::isVisible):
3146         (WebCore::LayerCompositingThread::setOpacity):
3147         (WebCore::LayerCompositingThread::setTransform):
3148         (WebCore::LayerCompositingThread::hasRunningAnimations):
3149         (WebCore::LayerCompositingThread::numSublayers):
3150
3151 2012-03-26  Kent Tamura  <tkent@chromium.org>
3152
3153         Add a notification function for detaching to TextFieldDecorator
3154         https://bugs.webkit.org/show_bug.cgi?id=82142
3155
3156         Reviewed by Dimitri Glazkov.
3157
3158         Add willDetach() functio to TextFieldDecorator. This will be
3159         needed if a decorator opens a popup UI on handleClick(), and the
3160         popup UI should be closed when the attaching text field is
3161         detached.
3162
3163         No new tests because of no behavior changes in any platforms.
3164
3165         * html/shadow/TextFieldDecorationElement.cpp:
3166         (WebCore::TextFieldDecorationElement::hostInput):
3167         Added. A utilify function to get an HTMLInputElement*.
3168         (WebCore::TextFieldDecorationElement::updateImage): Use hostInput().
3169         (WebCore::TextFieldDecorationElement::customStyleForRenderer): ditto.
3170         (WebCore::TextFieldDecorationElement::detach): Added. Calls TextFieldDecorator::willDetach().
3171         (WebCore::TextFieldDecorationElement::defaultEventHandler): Use hostInput().
3172         * html/shadow/TextFieldDecorationElement.h:
3173         (TextFieldDecorator):
3174         (TextFieldDecorationElement):
3175
3176 2012-03-26  Dan Bernstein  <mitz@apple.com>
3177
3178         Tried to fix the 32-bit build after r112021.
3179
3180         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3181         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
3182
3183 2012-03-26  Leo Yang  <leo.yang@torchmobile.com.cn>
3184
3185         [BlackBerry] Skeleton code of AsyncFileSystemBlackBerry.cpp
3186         https://bugs.webkit.org/show_bug.cgi?id=82157
3187
3188         Reviewed by Rob Buis.
3189
3190         AsyncFileSystemBlackBerry is responsible for asynchronous operating
3191         on file system for the blackberry porting. It's just skeleton code
3192         containing no implementation yet.
3193
3194         No new tests because of skeleton code.
3195
3196         * PlatformBlackBerry.cmake: Add AsyncFileSystemBlackBerry.cpp if ENABLE_FILE_SYSTEM is on.
3197         * platform/AsyncFileSystem.cpp:
3198         (WebCore):
3199         * platform/blackberry/AsyncFileSystemBlackBerry.cpp: Added.
3200         (WebCore):
3201         (WebCore::AsyncFileSystem::isAvailable):
3202         (WebCore::AsyncFileSystem::isValidType):
3203         (WebCore::AsyncFileSystem::create):
3204         (WebCore::AsyncFileSystem::openFileSystem):
3205         (WebCore::AsyncFileSystem::crackFileSystemURL):
3206         (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
3207         (WebCore::AsyncFileSystemBlackBerry::~AsyncFileSystemBlackBerry):
3208         (WebCore::AsyncFileSystemBlackBerry::toURL):
3209         (WebCore::AsyncFileSystemBlackBerry::move):
3210         (WebCore::AsyncFileSystemBlackBerry::copy):
3211         (WebCore::AsyncFileSystemBlackBerry::remove):
3212         (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
3213         (WebCore::AsyncFileSystemBlackBerry::readMetadata):
3214         (WebCore::AsyncFileSystemBlackBerry::createFile):
3215         (WebCore::AsyncFileSystemBlackBerry::createDirectory):
3216         (WebCore::AsyncFileSystemBlackBerry::fileExists):
3217         (WebCore::AsyncFileSystemBlackBerry::directoryExists):
3218         (WebCore::AsyncFileSystemBlackBerry::readDirectory):
3219         (WebCore::AsyncFileSystemBlackBerry::createWriter):
3220         (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
3221         * platform/blackberry/AsyncFileSystemBlackBerry.h: Added.
3222         (WebCore):
3223         (AsyncFileSystemBlackBerry):
3224
3225 2012-03-26  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3226
3227         [BlackBerry] CredentialBackingStore implement encryptString() and decryptString()
3228         https://bugs.webkit.org/show_bug.cgi?id=82204
3229
3230         Reviewed by Rob Buis.
3231
3232         Implemented encryptedString() and decryptedString() in class CredentialBackingStore
3233         by calling BlackBerry::Platform::Encryptor::encryptString() and
3234         BlackBerry::Platform::Encryptor::encryptString() respectively.
3235
3236         No new tests.
3237
3238         * platform/network/blackberry/CredentialBackingStore.cpp:
3239         (WebCore::CredentialBackingStore::encryptedString):
3240         (WebCore::CredentialBackingStore::decryptedString):
3241
3242 2012-03-26  Pavel Feldman  <pfeldman@chromium.org>
3243
3244         Web Inspector: 'use strict' exceptions stop in inspector code
3245         https://bugs.webkit.org/show_bug.cgi?id=82199
3246
3247         Reviewed by Yury Semikhatsky.
3248
3249         Accessing callee from within InjectedScript made inspector stop on handled exceptions.
3250         I replaced it with Object.prototype.toString.call(obj) === "[object Arguments]".
3251
3252         * inspector/InjectedScriptSource.js:
3253
3254 2012-03-26  Mihai Balan  <mibalan@adobe.com>
3255
3256         [CSS Regions] In region styling (@-webkit-region) the position for CSS rules is incorrectly computed
3257         https://bugs.webkit.org/show_bug.cgi?id=81901
3258
3259         Reviewed by Antti Koivisto.
3260
3261         Right now CSS rules position does not take into account rules that are inside a @-webkit-region
3262         declaration, leading to buggy behavior where rules that appear later in the document are superseded
3263         by rules that appear earlier in the document (opposite as how things should be). The fix updates
3264         the "global" rules counter once the rules in a @-webkit-region declaration have been added.
3265
3266         Tests: fast/regions/region-style-rule-position-expected.html
3267                fast/regions/region-style-rule-position.html
3268
3269         * css/CSSStyleSelector.cpp:
3270         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3271
3272 2012-03-26  Pierre Rossi  <pierre.rossi@nokia.com>
3273
3274         [Qt] Disable focus ring in the mobile theme.
3275         https://bugs.webkit.org/show_bug.cgi?id=81934
3276
3277         For mobile devices intended to be used only through
3278         touch, the focus rings makes little sense and feels
3279         awkward.
3280
3281         Reviewed by Kenneth Rohde Christiansen.
3282
3283         No new tests. This is merely a cosmetic touch.
3284
3285         * platform/qt/RenderThemeQtMobile.h:
3286         (RenderThemeQtMobile):
3287         (WebCore::RenderThemeQtMobile::platformFocusRingColor):
3288
3289 2012-03-26  Charles Wei  <charles.wei@torchmobile.com.cn>
3290
3291         [BlackBerry] Clean up networking code and remove WML support.
3292         https://bugs.webkit.org/show_bug.cgi?id=82170
3293
3294         Reviewed by Rob Buis.
3295
3296         This just removes the WML support of BlackBerry porting, which is already 
3297         removed from WebCore. No new tests needed.
3298
3299         * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
3300         (WebCore):
3301         * platform/network/blackberry/DeferredData.cpp:
3302         (WebCore::DeferredData::DeferredData):
3303         (WebCore::DeferredData::processDeferredData):
3304         * platform/network/blackberry/DeferredData.h:
3305         (DeferredData):
3306         (WebCore::DeferredData::hasDeferredData):
3307         * platform/network/blackberry/NetworkJob.cpp:
3308         * platform/network/blackberry/NetworkJob.h:
3309         (NetworkJob):
3310         * platform/network/blackberry/ResourceResponse.h:
3311         (WebCore::ResourceResponse::ResourceResponse):
3312         (ResourceResponse):
3313         * platform/network/blackberry/ResourceResponseBlackBerry.cpp:
3314         (WebCore::ResourceResponse::doPlatformCopyData):
3315         (WebCore::ResourceResponse::doPlatformAdopt):
3316
3317 2012-03-26  Philip Rogers  <pdr@google.com>
3318
3319         Add invalid bounding box concept to SVG containers
3320         https://bugs.webkit.org/show_bug.cgi?id=81104
3321
3322         Reviewed by Nikolas Zimmermann.
3323
3324         An empty <g> element needs to use an invalid bounding box because
3325         an empty bounding box isn't the default state. This change
3326         introduces the concept of an invalid object bounding box for
3327         both RenderSVGContainer and RenderSVGRoot. Code that
3328         does not explicitly check that the bounding box is valid
3329         should be unaffected by this change. We use this new invalid
3330         flag in computeContainerBoundingBoxes so that we do not
3331         include invalid bounding boxes.
3332
3333         This change also contains a small fix in
3334         RenderSVGContainer::toRenderSVGContainer which depended on
3335         RenderSVGViewportContainer not inheriting from RenderSVGContainer,
3336         which it now does.
3337
3338         Test: svg/custom/getBBox-empty-container.html
3339
3340         * rendering/svg/RenderSVGContainer.cpp:
3341         (WebCore::RenderSVGContainer::RenderSVGContainer):
3342         (WebCore::RenderSVGContainer::updateCachedBoundaries):
3343         * rendering/svg/RenderSVGContainer.h:
3344         (WebCore::RenderSVGContainer::isObjectBoundingBoxValid):
3345         (RenderSVGContainer):
3346         (WebCore::toRenderSVGContainer):
3347         * rendering/svg/RenderSVGRoot.cpp:
3348         (WebCore::RenderSVGRoot::RenderSVGRoot):
3349         (WebCore::RenderSVGRoot::updateCachedBoundaries):
3350         * rendering/svg/RenderSVGRoot.h:
3351         (RenderSVGRoot):
3352         * rendering/svg/SVGRenderSupport.cpp:
3353         (WebCore):
3354         (WebCore::updateObjectBoundingBox):
3355         (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
3356         * rendering/svg/SVGRenderSupport.h:
3357         (SVGRenderSupport):
3358
3359 2012-03-26  Alexei Filippov  <alexeif@chromium.org>
3360
3361         Web Inspector: Speed up the retainers build phase.
3362         https://bugs.webkit.org/show_bug.cgi?id=81763
3363
3364         Replacing the edge iterator in retainers building phase
3365         makes it run 10 times faster (400 ms vs. 4 sec).
3366
3367         Reviewed by Yury Semikhatsky.
3368
3369         * inspector/front-end/HeapSnapshot.js:
3370         (WebInspector.HeapSnapshot.prototype._buildRetainers):
3371
3372 2012-03-22  Alexander Pavlov  <apavlov@chromium.org>
3373
3374         Web Inspector: Migrate InspectorCSSAgent to strict protocol types
3375         https://bugs.webkit.org/show_bug.cgi?id=81923
3376
3377         Reviewed by Pavel Feldman.
3378
3379         No new tests, as this is a refactoring.
3380
3381         * inspector/CodeGeneratorInspector.py:
3382         * inspector/InspectorCSSAgent.cpp:
3383         (SelectorProfile):
3384         (WebCore::SelectorProfile::toInspectorObject):
3385         (WebCore::InspectorCSSAgent::clearFrontend):
3386         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
3387         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
3388         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
3389         (WebCore::InspectorCSSAgent::getAllStyleSheets):
3390         (WebCore::InspectorCSSAgent::getStyleSheet):
3391         (WebCore::InspectorCSSAgent::setPropertyText):
3392         (WebCore::InspectorCSSAgent::toggleProperty):
3393         (WebCore::InspectorCSSAgent::setRuleSelector):
3394         (WebCore::InspectorCSSAgent::addRule):
3395         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
3396         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
3397         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
3398         (WebCore::InspectorCSSAgent::collectStyleSheets):
3399         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
3400         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
3401         * inspector/InspectorCSSAgent.h:
3402         (InspectorCSSAgent):
3403         * inspector/InspectorStyleSheet.cpp:
3404         (WebCore::buildSourceRangeObject):
3405         (WebCore::buildMediaObject):
3406         (WebCore::fillMediaListChain):
3407         (WebCore::InspectorStyle::buildObjectForStyle):
3408         (WebCore::InspectorStyle::buildArrayForComputedStyle):
3409         (WebCore::InspectorStyle::styleWithProperties):
3410         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3411         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
3412         (WebCore::InspectorStyleSheet::buildObjectForRule):
3413         (WebCore::InspectorStyleSheet::buildObjectForStyle):
3414         * inspector/InspectorStyleSheet.h:
3415         (WebCore::InspectorCSSId::asProtocolValue):
3416         (InspectorStyle):
3417         (InspectorStyleSheet):
3418
3419 2012-03-26  Alexander Pavlov  <apavlov@chromium.org>
3420
3421         Web Inspector: [REGRESSION] Workarounds for security checks when retrieving stylesheet rule lists are broken
3422         https://bugs.webkit.org/show_bug.cgi?id=82191
3423
3424         Reviewed by Vsevolod Vlasov.
3425
3426         Test: http/tests/inspector/modify-cross-domain-rule.html
3427
3428         * inspector/InspectorStyleSheet.cpp:
3429         (WebCore::asCSSRuleList):
3430         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3431
3432 2012-03-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3433
3434         Unreviewed. Fix make distcheck.
3435
3436         * GNUmakefile.list.am: Add missing files.
3437
3438 2012-03-26  Jason Liu  <jason.liu@torchmobile.com.cn>
3439
3440         [BlackBerry] Cookies mismatch when login to gmail.
3441         https://bugs.webkit.org/show_bug.cgi?id=82165
3442
3443         Redirection's response can add or update cookies. The cookies of ResourceRequest is dirty
3444         in this case. We shouldn't copy the dirty cookie header from ResourceRequest to PlatformRequest
3445         for redirection loading.
3446
3447         This issue didn't happen before because we used m_cookieData not the cookie header.
3448         Now we use the cookie header to avoid storing double cookie's data, and m_cookieData is removed.
3449