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