Unskip test fixed in r111520.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
2
3         Unreviewed build fix for r111529.
4
5         * inspector/InjectedScriptHost.h:
6         (WebCore):
7
8 2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
9
10         Unreviewed, rolling out r111497, r111506, r111508, and
11         r111513.
12         http://trac.webkit.org/changeset/111497
13         http://trac.webkit.org/changeset/111506
14         http://trac.webkit.org/changeset/111508
15         http://trac.webkit.org/changeset/111513
16         https://bugs.webkit.org/show_bug.cgi?id=81774
17
18         It broke 2 tests on all platform (Requested by Ossy on
19         #webkit).
20
21         * css/CSSStyleSelector.cpp:
22         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
23         * css/SelectorChecker.cpp:
24         (WebCore::SelectorChecker::checkOneSelector):
25         * html/HTMLKeygenElement.cpp:
26         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
27         * html/HTMLOptionElement.cpp:
28         (WebCore::HTMLOptionElement::HTMLOptionElement):
29         (WebCore::HTMLOptionElement::create):
30         (WebCore::HTMLOptionElement::attach):
31         (WebCore::HTMLOptionElement::detach):
32         (WebCore::HTMLOptionElement::formControlType):
33         (WebCore):
34         (WebCore::HTMLOptionElement::parseAttribute):
35         (WebCore::HTMLOptionElement::childrenChanged):
36         (WebCore::HTMLOptionElement::insertedIntoTree):
37         * html/HTMLOptionElement.h:
38         (HTMLOptionElement):
39         (WebCore::HTMLOptionElement::ownElementDisabled):
40         * html/HTMLTagNames.in:
41
42 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
43
44         Web Inspector: expose getEventListeners() to console command line API
45         https://bugs.webkit.org/show_bug.cgi?id=81658
46
47         Reviewed by Yury Semikhatsky.
48
49         Test: inspector/console/command-line-api-getEventListeners.html
50
51         * bindings/js/JSInjectedScriptHostCustom.cpp:
52         (WebCore::JSInjectedScriptHost::functionDetails):
53         (WebCore):
54         (WebCore::getJSListenerFunctions):
55         (WebCore::JSInjectedScriptHost::getEventListeners):
56         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
57         (WebCore::getJSListenerFunctions):
58         (WebCore):
59         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
60         * inspector/InjectedScriptHost.cpp:
61         (WebCore::InjectedScriptHost::InjectedScriptHost):
62         (WebCore::InjectedScriptHost::disconnect):
63         (WebCore::InjectedScriptHost::getEventListenersImpl):
64         (WebCore):
65         * inspector/InjectedScriptHost.h:
66         (WebCore):
67         (WebCore::InjectedScriptHost::init):
68         (InjectedScriptHost):
69         * inspector/InjectedScriptHost.idl:
70         * inspector/InjectedScriptSource.js:
71         (.):
72         * inspector/InspectorController.cpp:
73         (WebCore::InspectorController::InspectorController):
74         * inspector/InspectorDOMAgent.cpp:
75         (WebCore::InspectorDOMAgent::getEventListenersForNode):
76         (WebCore::InspectorDOMAgent::getEventListeners):
77         (WebCore):
78         * inspector/InspectorDOMAgent.h:
79         (InspectorDOMAgent):
80         * inspector/WorkerInspectorController.cpp:
81         (WebCore::WorkerInspectorController::WorkerInspectorController):
82
83 2012-03-21  Kentaro Hara  <haraken@chromium.org>
84
85         Unreviewed, rebaselined run-bindings-tests results.
86
87         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
88         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
89         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
90         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
91
92 2012-03-21  Ian Vollick  <vollick@chromium.org>
93
94         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
95         https://bugs.webkit.org/show_bug.cgi?id=81692
96
97         Reviewed by Adrienne Walker.
98
99         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
100
101         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
102
103 2012-03-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
104
105         [Qt] Cookie Jar blocks on fsync in SQLITE
106         https://bugs.webkit.org/show_bug.cgi?id=81755
107
108         Reviewed by Simon Hausmann.
109
110         Set PRAGMA synchronous to OFF, which tells SQLITE to never fsync.
111
112         * platform/qt/CookieJarQt.cpp:
113         (WebCore::SharedCookieJarQt::ensureDatabaseTable):
114
115 2012-03-21  Ian Vollick  <vollick@chromium.org>
116
117         [chromium] Animation events should only be used for synchronizing animation start times
118         https://bugs.webkit.org/show_bug.cgi?id=81484
119
120         Reviewed by Adrienne Walker.
121
122         Tested in CCLayerTreeHostTestSynchronizeAnimationStartTimes
123
124         Eliminated animation finished events. Animations will finish naturally on the
125         main thread and the final values will be set.
126
127         Animation started events are now also used to synchronize the main thread
128         animations' start times with their impl thread equivalents, preventing skew.
129         Until main thread animations receive their synchronized start times, they will
130         apply their initial values (i.e., they will be paused at time zero). This
131         guarantees that we will not jump to the animation's final value on the main
132         thread while we wait for the synchronized start time.
133
134         * WebCore.gypi:
135         * platform/graphics/chromium/LayerChromium.cpp:
136         (WebCore::LayerChromium::notifyAnimationStarted):
137         * platform/graphics/chromium/LayerChromium.h:
138         (WebCore):
139         (LayerChromium):
140         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
141         (WebCore::CCActiveAnimation::CCActiveAnimation):
142         * platform/graphics/chromium/cc/CCActiveAnimation.h:
143         (CCActiveAnimation):
144         (WebCore::CCActiveAnimation::needsSynchronizedStartTime):
145         (WebCore::CCActiveAnimation::setNeedsSynchronizedStartTime):
146         * platform/graphics/chromium/cc/CCAnimationEvents.cpp: Removed.
147         * platform/graphics/chromium/cc/CCAnimationEvents.h:
148         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
149         (CCAnimationStartedEvent):
150         (WebCore):
151         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
152         (WebCore::CCLayerAnimationController::animate):
153         (WebCore::CCLayerAnimationController::notifyAnimationStarted):
154         (WebCore):
155         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
156         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
157         (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
158         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
159         (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
160         (WebCore::CCLayerAnimationController::tickAnimations):
161         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
162         (CCLayerAnimationController):
163         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
164         (WebCore::CCLayerTreeHost::updateAnimations):
165         (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
166         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
167         (CCLayerTreeHost):
168
169 2012-03-21  Zeno Albisser  <zeno@webkit.org>
170
171         [Qt][WK2][Mac] MiniBrowser asserts at HashTable.h:480
172         https://bugs.webkit.org/show_bug.cgi?id=81113
173
174         The GLContext is created by QWindow/QSurface using
175         QOpenGLContext which is implemented using NSOpenGL functions
176         on mac. Therefore we should use QOpenGLContext as well when
177         querying for the current context. AGL is not supposed
178         to be paired with NSOpenGL.
179         Altering the typedef for GLContext is fine, since
180         the GLContext type is only used as a key in a map.
181
182         Reviewed by Kenneth Rohde Christiansen.
183
184         * platform/graphics/texmap/TextureMapperGL.cpp:
185         (SharedGLData):
186         (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
187
188 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
189
190         Web Inspector: HeapSnapshot: make _bfs twice as fast as the old version.
191         https://bugs.webkit.org/show_bug.cgi?id=81756
192
193         Reviewed by Yury Semikhatsky.
194
195         * inspector/front-end/HeapSnapshot.js:
196         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
197         (WebInspector.HeapSnapshot.prototype._bfs):
198
199 2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
200
201         https://bugs.webkit.org/show_bug.cgi?id=81705
202         REGRESSION (r111416): fast/dom/prototype-inheritance-2.html is failing.
203
204         Reviewed by Csaba Osztrogonác.
205
206         No new tests.
207
208         * bindings/js/JSDOMBinding.h: Needs passing globalObject to constructArray().
209         (WebCore::jsArray):
210
211 2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
212
213         [BlackBerry] Upstreaming blackberry specific css file
214         https://bugs.webkit.org/show_bug.cgi?id=81650
215
216         Ustream BlackBerry specific css files, including:
217         css/themeBlackBerry.css
218         css/mediaControlsBlackBerry.css
219
220         Reviewed by Nikolas Zimmermann.
221
222         No new tests, this is the initial upstream patch
223         for BlackBerry specific css files.
224
225         * css/mediaControlsBlackBerry.css: Added.
226         (audio):
227         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
228         (video:-webkit-full-page-media::-webkit-media-controls-panel):
229         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
230         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
231         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
232         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
233         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
234         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
235         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
236         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
237         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
238         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
239         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
240         * css/themeBlackBerry.css: Added.
241         (textarea):
242         (input, textarea):
243         (input[type="color"]):
244         (select:focus):
245         (select[size][multiple]):
246         (select[size][multiple]:focus):
247
248 2012-03-21  Levi Weintraub  <leviw@chromium.org>
249
250         Update LayoutUnit usage in descendants of RenderReplaced
251         https://bugs.webkit.org/show_bug.cgi?id=80918
252
253         Reviewed by Eric Seidel.
254
255         Replaced elements have to flow in the new sub-pixel Render Tree, but since the rendering of these
256         often takes place outside of WebCore (or in cases such as foreign objects, in WebCore after
257         passing through platform code), care must be taken to determine the final rendered size and
258         location before render time. This patch brings these classes up to the latest and greatest in the
259         subpixellayout branch.
260
261         See https://trac.webkit.org/wiki/LayoutUnit for more information.
262
263         No new tests. No change in behavior.
264
265         * rendering/RenderFrameBase.cpp:
266         (WebCore::RenderFrameBase::layoutWithFlattening): Build Fix.
267         * rendering/RenderFullScreen.cpp:
268         (RenderFullScreen::createPlaceholder): Ditto.
269         * rendering/RenderFullScreen.h:
270         (RenderFullScreen): Ditto.
271         * rendering/RenderHTMLCanvas.cpp:
272         (WebCore::RenderHTMLCanvas::canvasSizeChanged): Ditto.
273         * rendering/RenderIFrame.cpp:
274         (WebCore::RenderIFrame::computeLogicalHeight): Ditto.
275         (WebCore::RenderIFrame::computeLogicalWidth): Ditto.
276         * rendering/RenderImage.cpp:
277         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Intrinsic sizes are always integers, since they
278         originate outside of WebCore.
279         (WebCore::RenderImage::paintIntoRect): Use pixel snapping to paint into an arbitrary rect.
280         (WebCore::RenderImage::computeReplacedLogicalWidth): Intrinsic size is always integral -- rounding
281         values to integers.
282         * rendering/RenderImage.h:
283         (RenderImage):
284         * rendering/RenderVideo.cpp:
285         (WebCore::RenderVideo::videoBox):
286         (WebCore::RenderVideo::paintReplaced): Painting at integer boundaries.
287         * rendering/RenderWidget.cpp:
288         (WebCore):
289         (WebCore::roundedIntRect): Widgets are rendered outside of WebCore, so we always align them to
290         integer boundaries. This means we can actually round the size of our ultimate content box. This
291         function is implemented here specifically to prevent its misuse if we put it elsewhere.
292         (WebCore::RenderWidget::setWidgetGeometry): We simplify layout by taking a LayoutRect and rounding
293         it to its final location within this function.
294         (WebCore::RenderWidget::updateWidgetGeometry): We keep things in LayoutUnits until handing off to
295         setWidgetGeometry.
296         (WebCore::RenderWidget::paint): Rounding the paint location before handing painting off to the
297         widget itself.
298         * rendering/RenderWidget.h:
299         (RenderWidget):
300
301 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
302
303         Web Inspector: HeapProfiler: support distance column in Summary View.
304         https://bugs.webkit.org/show_bug.cgi?id=81675
305
306         In many cases when a page leaked an object we see not only this object
307         but the all objects it retains. It is quite difficult to find out which
308         the object is the root of leak. It'd be simpler to sort the leaked
309         objects by Distance column and track down the first one.
310
311         Reviewed by Yury Semikhatsky.
312
313         * inspector/front-end/DetailedHeapshotGridNodes.js:
314         (WebInspector.HeapSnapshotGenericObjectNode):
315         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
316         (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
317         (WebInspector.HeapSnapshotConstructorNode):
318         (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
319         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
320         * inspector/front-end/DetailedHeapshotView.js:
321         (WebInspector.HeapSnapshotConstructorsDataGrid):
322         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
323         * inspector/front-end/HeapSnapshot.js:
324         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
325
326 2012-03-21  Charles Wei  <charles.wei@torchmobile.com.cn>
327
328         [BlackBerry] Remove redundant code in SocketStreamHandler
329         https://bugs.webkit.org/show_bug.cgi?id=81726
330
331         Reviewed by George Staikos.
332
333         No new tests needed. Just remove redundant code.
334
335         * platform/network/blackberry/SocketStreamHandle.h:
336         (SocketStreamHandle):
337         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
338
339 2012-03-20  Eric Seidel  <eric@webkit.org>
340
341         Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
342         https://bugs.webkit.org/show_bug.cgi?id=80911
343
344         Reviewed by Adam Barth.
345
346         * CMakeLists.txt:
347          - Look for headers in Source/WTF as well.
348
349 2012-03-20  Dana Jansens  <danakj@chromium.org>
350
351         [chromium] Use origin transform to transform occlusion from surface content space to its target content space
352         https://bugs.webkit.org/show_bug.cgi?id=81730
353
354         Reviewed by Adrienne Walker.
355
356         Unit test: CCOcclusionTrackerTestSurfaceOcclusionTranslatesToParent
357
358         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
359         (WebCore::transformSurfaceOpaqueRegion):
360         (WebCore::::leaveToTargetRenderSurface):
361
362 2012-03-19  Shinya Kawanaka  <shinyak@chromium.org>
363
364         [Crash] RenderMenuList::addChild() in Shadow DOM.
365         https://bugs.webkit.org/show_bug.cgi?id=81201
366
367         Reviewed by Dimitri Glazkov.
368
369         <audio>, <video>, <meter>, <progress>, and <select> are implemented using
370         Shadow DOM having HTMLContentElement. Their renderer children basically should not
371         create a renderer unless they are on the upper shadow encapsulation boundary,
372         which means they are the direct children of the shadow root.
373
374         However, current implementation allows their renderer children to create a renderer
375         even if they are on a lower shadow encapsulation boundary, which means
376         they are distributed elements of HTMLContentElement.
377
378         This patch makes there renderer children not to create a renderer if they are on a lower shadow
379         encapsulation boudary.
380
381         Tests: fast/dom/shadow/content-element-in-media-element.html
382                fast/dom/shadow/content-element-in-meter-element.html
383                fast/dom/shadow/content-element-in-progress-element.html
384                fast/dom/shadow/content-element-in-select-element.html
385
386         * dom/NodeRenderingContext.h:
387         (NodeRenderingContext):
388         (WebCore::NodeRenderingContext::isOnUpperEncapsulationBoundary):
389         (WebCore):
390         * html/HTMLMediaElement.cpp:
391         (WebCore::HTMLMediaElement::childShouldCreateRenderer):
392         * html/HTMLMeterElement.cpp:
393         (WebCore::HTMLMeterElement::childShouldCreateRenderer):
394         * html/HTMLProgressElement.cpp:
395         (WebCore::HTMLProgressElement::childShouldCreateRenderer):
396         * html/HTMLSelectElement.cpp:
397         (WebCore::HTMLSelectElement::childShouldCreateRenderer):
398
399 2012-03-20  Dana Jansens  <danakj@chromium.org>
400
401         [chromium] Store origin/screen space transforms for surface and replica in the surface
402         https://bugs.webkit.org/show_bug.cgi?id=81296
403
404         Reviewed by Adrienne Walker.
405
406         Compute and save a number of transforms for render surfaces. The origin
407         tranform for the replica into its target surface. The origin transform
408         for the replica into the screen. And the origin transform for the surface
409         into the screen.
410
411         These transforms will allow us to detect occlusion of render surfaces,
412         allowing us to cull (or partially-cull) the render surface quad during
413         drawing.
414
415         This also fixes a subtle bug in the transforms used by the damage
416         tracking code.
417
418         Unit test: CCLayerTreeHostCommonTest.verifyTransformsForSingleRenderSurface
419                    CCLayerTreeHostCommonTest.verifyTransformsForReplica
420                    CCLayerTreeHostCommonTest.verifyTransformsForRenderSurfaceHierarchy
421
422         * platform/graphics/chromium/RenderSurfaceChromium.h:
423         (WebCore::RenderSurfaceChromium::screenSpaceTransform):
424         (WebCore::RenderSurfaceChromium::setScreenSpaceTransform):
425         (RenderSurfaceChromium):
426         (WebCore::RenderSurfaceChromium::replicaOriginTransform):
427         (WebCore::RenderSurfaceChromium::setReplicaOriginTransform):
428         (WebCore::RenderSurfaceChromium::replicaScreenSpaceTransform):
429         (WebCore::RenderSurfaceChromium::setReplicaScreenSpaceTransform):
430         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
431         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
432         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
433         (WebCore::calculateDrawTransformsAndVisibilityInternal):
434         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
435         (WebCore::damageInSurfaceSpace):
436         * platform/graphics/chromium/cc/CCRenderSurface.h:
437         (WebCore::CCRenderSurface::setDrawTransform):
438         (WebCore::CCRenderSurface::drawTransform):
439         (WebCore::CCRenderSurface::setScreenSpaceTransform):
440         (WebCore::CCRenderSurface::screenSpaceTransform):
441         (CCRenderSurface):
442         (WebCore::CCRenderSurface::setReplicaDrawTransform):
443         (WebCore::CCRenderSurface::replicaDrawTransform):
444         (WebCore::CCRenderSurface::setReplicaOriginTransform):
445         (WebCore::CCRenderSurface::replicaOriginTransform):
446         (WebCore::CCRenderSurface::setReplicaScreenSpaceTransform):
447         (WebCore::CCRenderSurface::replicaScreenSpaceTransform):
448
449 2012-03-20  Yoshifumi Inoue  <yosin@chromium.org>
450
451         [Forms] The option element should not be form associated element.
452         https://bugs.webkit.org/show_bug.cgi?id=79764
453
454         Reviewed by Kent Tamura.
455
456         This patch changes base class of HTMLOptionELement to HTMLElement
457         from HTMLFormControlElement for saving memory space and iteration
458         time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
459         and matching the HTML5 specification for ease of maintenance.
460
461         This patch changes behavior of handling of CSS pseudo classes "invalid"
462         and "valid". The "option" elements no longer use these CSS pseudo classes
463         as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
464
465         Changes of TextIterator is lead by usage of isFormControlElement. This
466         changes will be replaced with more meaningful predicate as part of
467         https://bugs.webkit.org/show_bug.cgi?id=80381
468
469         No new tests but updated select-live-pseudo-selectors.html test.
470
471         * css/CSSStyleSelector.cpp:
472         (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
473         * css/SelectorChecker.cpp:
474         (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
475         * html/HTMLKeygenElement.cpp:
476         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
477         * html/HTMLOptionElement.cpp:
478         (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
479         (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
480         (WebCore::HTMLOptionElement::attach): Changeid base class.
481         (WebCore::HTMLOptionElement::detach): Changed base class.
482         (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
483         (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
484         (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
485         * html/HTMLOptionElement.h:
486         (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
487         (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
488         * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
489
490 2012-03-20  Xiaomei Ji  <xji@chromium.org>
491
492         Crash introduced in r110965.
493         https://bugs.webkit.org/show_bug.cgi?id=81720
494
495         Reviewed by Ryosuke Niwa.
496
497         Since word break iterator just keeps a pointer to the UChar array given to the constructor,
498         we need to allocate the UChar array deeper in the stack than the iterator.
499
500         Test: editing/selection/move-by-word-visually-crash-test-5.html
501
502         * editing/visible_units.cpp:
503         (WebCore::wordBreakIteratorForMinOffsetBoundary):
504         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
505         (WebCore::visualWordPosition):
506
507 2012-03-20  W. James MacLean  <wjmaclean@chromium.org>
508
509         [chromium] Convert TouchFlingPlatformGestureCurve to a 2-D Bezier for better control of curve shape.
510         https://bugs.webkit.org/show_bug.cgi?id=81713
511
512         Reviewed by Dirk Pranke.
513
514         Exisiting unit test revised to cover this change.
515
516         Change the fling gesture animation curve to use a 2-D Bezier to obtain greater control
517         over the shape of the curve. Also, change time scaling code to be logarithmic for more
518         natural feel.
519
520         * platform/TouchFlingPlatformGestureCurve.cpp:
521         (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
522         (WebCore::TouchFlingPlatformGestureCurve::apply):
523
524 2012-03-18  Tim Horton  <timothy_horton@apple.com>
525
526         Infinite repaint loop with SVGImageCache and deferred repaint timers
527         https://bugs.webkit.org/show_bug.cgi?id=78315
528         <rdar://problem/10651634>
529
530         Reviewed by Nikolas Zimmermann.
531
532         Only defer image redraw on a timer if we're in layout. This breaks
533         the repaint loop while still preventing us from drawing inside layout.
534
535         Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
536         preventing deferred repaint timers from being started during that process.
537
538         No new tests, as the problem only occurs in a nonstandard configuration.
539
540         * page/FrameView.cpp:
541         (WebCore::FrameView::FrameView):
542         (WebCore::FrameView::reset):
543         (WebCore::FrameView::repaintContentRectangle):
544         (WebCore::FrameView::endDeferredRepaints):
545         (WebCore::FrameView::startDeferredRepaintTimer):
546         (WebCore):
547         (WebCore::FrameView::doDeferredRepaints):
548         (WebCore::FrameView::deferredRepaintTimerFired):
549         (WebCore::FrameView::beginDisableRepaints):
550         (WebCore::FrameView::endDisableRepaints):
551         * page/FrameView.h:
552         (FrameView):
553         (WebCore::FrameView::repaintsDisabled):
554         * rendering/RenderView.cpp:
555         (WebCore::RenderView::shouldRepaint):
556         * svg/graphics/SVGImage.cpp:
557         (WebCore::SVGImage::drawSVGToImageBuffer):
558         (WebCore::SVGImage::draw):
559         (WebCore::SVGImage::frameView):
560         (WebCore):
561         * svg/graphics/SVGImage.h:
562         (WebCore):
563         * svg/graphics/SVGImageCache.cpp:
564         (WebCore::SVGImageCache::imageContentChanged):
565         (WebCore::SVGImageCache::redraw):
566         (WebCore::SVGImageCache::redrawTimerFired):
567         (WebCore):
568         * svg/graphics/SVGImageCache.h:
569         (SVGImageCache):
570
571 2012-03-20  Adam Klein  <adamk@chromium.org>
572
573         Include fix for dom/xhtml test promised in r111449.
574
575         * dom/ContainerNode.cpp:
576         (WebCore::ContainerNode::replaceChild): Check against next instead of
577         prev when deciding there's no work to do.
578
579 2012-03-20  Jon Lee  <jonlee@apple.com>
580
581         Restrict access to notifications for unique origins and file URLs with no local file access
582         https://bugs.webkit.org/show_bug.cgi?id=79704
583         <rdar://problem/10912430>
584
585         Reviewed by Adam Barth.
586
587         Before checking or requesting permissions, we look at whether we can show notifications based on
588         the security context. If not, we short circuit and do not forward the request to the client.
589
590         * notifications/Notification.cpp:
591         (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
592         different logic for checking permissions than when checking permissions through the
593         notification center.
594         * notifications/NotificationCenter.cpp:
595         (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
596         (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
597         we asynchronously call the callback with that decision. Otherwise we ask the client.
598
599         Add new variable in the notification center to keep track of pending callbacks when we short-circuit
600         requestPermission().
601         * notifications/NotificationCenter.h:
602         (NotificationRequestCallback): Add new private class encapsulating the callback.
603         * notifications/NotificationCenter.cpp:
604         (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
605         (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
606         know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
607         to invoke the callback.
608         (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
609         (WebCore::NotificationCenter::NotificationRequest::startTimer):
610         (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
611         center.
612         * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
613         regardless of any restrictions that might otherwise cause toString() to return "null".
614         * page/SecurityOrigin.cpp:
615         (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
616         the origin can show notifications. If the origin is unique, we never let it show. If the origin has
617         universal access, we always let it show. Otherwise the client should be asked.
618         (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
619         (WebCore::SecurityOrigin::toRawString):
620
621         Added FIXME's regarding the naming of enforceFilePathSeparation().
622         * dom/Document.cpp:
623         (WebCore::Document::initSecurityContext): Also, tab reformatting.
624
625         * WebCore.exp.in: Export toRawString().
626
627 2012-03-20  Mark Pilgrim  <pilgrim@chromium.org>
628
629         Move webaudio to Modules/webaudio/
630         https://bugs.webkit.org/show_bug.cgi?id=81541
631
632         Reviewed by Kentaro Hara.
633
634         No new tests, all existing tests pass.
635
636         * CMakeLists.txt:
637         * DerivedSources.make:
638         * DerivedSources.pri:
639         * GNUmakefile.am:
640         * GNUmakefile.list.am:
641         * Modules/webaudio: Added.
642         * Modules/webaudio/AsyncAudioDecoder.cpp: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.cpp.
643         * Modules/webaudio/AsyncAudioDecoder.h: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.h.
644         * Modules/webaudio/AudioBasicProcessorNode.cpp: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.cpp.
645         * Modules/webaudio/AudioBasicProcessorNode.h: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.h.
646         * Modules/webaudio/AudioBuffer.cpp: Copied from Source/WebCore/webaudio/AudioBuffer.cpp.
647         * Modules/webaudio/AudioBuffer.h: Copied from Source/WebCore/webaudio/AudioBuffer.h.
648         * Modules/webaudio/AudioBuffer.idl: Copied from Source/WebCore/webaudio/AudioBuffer.idl.
649         * Modules/webaudio/AudioBufferCallback.h: Copied from Source/WebCore/webaudio/AudioBufferCallback.h.
650         * Modules/webaudio/AudioBufferCallback.idl: Copied from Source/WebCore/webaudio/AudioBufferCallback.idl.
651         * Modules/webaudio/AudioBufferSourceNode.cpp: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.cpp.
652         * Modules/webaudio/AudioBufferSourceNode.h: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.h.
653         * Modules/webaudio/AudioBufferSourceNode.idl: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.idl.
654         * Modules/webaudio/AudioChannelMerger.cpp: Copied from Source/WebCore/webaudio/AudioChannelMerger.cpp.
655         * Modules/webaudio/AudioChannelMerger.h: Copied from Source/WebCore/webaudio/AudioChannelMerger.h.
656         * Modules/webaudio/AudioChannelMerger.idl: Copied from Source/WebCore/webaudio/AudioChannelMerger.idl.
657         * Modules/webaudio/AudioChannelSplitter.cpp: Copied from Source/WebCore/webaudio/AudioChannelSplitter.cpp.
658         * Modules/webaudio/AudioChannelSplitter.h: Copied from Source/WebCore/webaudio/AudioChannelSplitter.h.
659         * Modules/webaudio/AudioChannelSplitter.idl: Copied from Source/WebCore/webaudio/AudioChannelSplitter.idl.
660         * Modules/webaudio/AudioContext.cpp: Copied from Source/WebCore/webaudio/AudioContext.cpp.
661         * Modules/webaudio/AudioContext.h: Copied from Source/WebCore/webaudio/AudioContext.h.
662         * Modules/webaudio/AudioContext.idl: Copied from Source/WebCore/webaudio/AudioContext.idl.
663         * Modules/webaudio/AudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/AudioDestinationNode.cpp.
664         * Modules/webaudio/AudioDestinationNode.h: Copied from Source/WebCore/webaudio/AudioDestinationNode.h.
665         * Modules/webaudio/AudioDestinationNode.idl: Copied from Source/WebCore/webaudio/AudioDestinationNode.idl.
666         * Modules/webaudio/AudioGain.h: Copied from Source/WebCore/webaudio/AudioGain.h.
667         * Modules/webaudio/AudioGain.idl: Copied from Source/WebCore/webaudio/AudioGain.idl.
668         * Modules/webaudio/AudioGainNode.cpp: Copied from Source/WebCore/webaudio/AudioGainNode.cpp.
669         * Modules/webaudio/AudioGainNode.h: Copied from Source/WebCore/webaudio/AudioGainNode.h.
670         * Modules/webaudio/AudioGainNode.idl: Copied from Source/WebCore/webaudio/AudioGainNode.idl.
671         * Modules/webaudio/AudioListener.cpp: Copied from Source/WebCore/webaudio/AudioListener.cpp.
672         * Modules/webaudio/AudioListener.h: Copied from Source/WebCore/webaudio/AudioListener.h.
673         * Modules/webaudio/AudioListener.idl: Copied from Source/WebCore/webaudio/AudioListener.idl.
674         * Modules/webaudio/AudioNode.cpp: Copied from Source/WebCore/webaudio/AudioNode.cpp.
675         * Modules/webaudio/AudioNode.h: Copied from Source/WebCore/webaudio/AudioNode.h.
676         * Modules/webaudio/AudioNode.idl: Copied from Source/WebCore/webaudio/AudioNode.idl.
677         * Modules/webaudio/AudioNodeInput.cpp: Copied from Source/WebCore/webaudio/AudioNodeInput.cpp.
678         * Modules/webaudio/AudioNodeInput.h: Copied from Source/WebCore/webaudio/AudioNodeInput.h.
679         * Modules/webaudio/AudioNodeOutput.cpp: Copied from Source/WebCore/webaudio/AudioNodeOutput.cpp.
680         * Modules/webaudio/AudioNodeOutput.h: Copied from Source/WebCore/webaudio/AudioNodeOutput.h.
681         * Modules/webaudio/AudioPannerNode.cpp: Copied from Source/WebCore/webaudio/AudioPannerNode.cpp.
682         * Modules/webaudio/AudioPannerNode.h: Copied from Source/WebCore/webaudio/AudioPannerNode.h.
683         * Modules/webaudio/AudioPannerNode.idl: Copied from Source/WebCore/webaudio/AudioPannerNode.idl.
684         * Modules/webaudio/AudioParam.cpp: Copied from Source/WebCore/webaudio/AudioParam.cpp.
685         * Modules/webaudio/AudioParam.h: Copied from Source/WebCore/webaudio/AudioParam.h.
686         * Modules/webaudio/AudioParam.idl: Copied from Source/WebCore/webaudio/AudioParam.idl.
687         * Modules/webaudio/AudioParamTimeline.cpp: Copied from Source/WebCore/webaudio/AudioParamTimeline.cpp.
688         * Modules/webaudio/AudioParamTimeline.h: Copied from Source/WebCore/webaudio/AudioParamTimeline.h.
689         * Modules/webaudio/AudioProcessingEvent.cpp: Copied from Source/WebCore/webaudio/AudioProcessingEvent.cpp.
690         * Modules/webaudio/AudioProcessingEvent.h: Copied from Source/WebCore/webaudio/AudioProcessingEvent.h.
691         * Modules/webaudio/AudioProcessingEvent.idl: Copied from Source/WebCore/webaudio/AudioProcessingEvent.idl.
692         * Modules/webaudio/AudioSourceNode.h: Copied from Source/WebCore/webaudio/AudioSourceNode.h.
693         * Modules/webaudio/AudioSourceNode.idl: Copied from Source/WebCore/webaudio/AudioSourceNode.idl.
694         * Modules/webaudio/BiquadDSPKernel.cpp: Copied from Source/WebCore/webaudio/BiquadDSPKernel.cpp.
695         * Modules/webaudio/BiquadDSPKernel.h: Copied from Source/WebCore/webaudio/BiquadDSPKernel.h.
696         * Modules/webaudio/BiquadFilterNode.cpp: Copied from Source/WebCore/webaudio/BiquadFilterNode.cpp.
697         * Modules/webaudio/BiquadFilterNode.h: Copied from Source/WebCore/webaudio/BiquadFilterNode.h.
698         * Modules/webaudio/BiquadFilterNode.idl: Copied from Source/WebCore/webaudio/BiquadFilterNode.idl.
699         * Modules/webaudio/BiquadProcessor.cpp: Copied from Source/WebCore/webaudio/BiquadProcessor.cpp.
700         * Modules/webaudio/BiquadProcessor.h: Copied from Source/WebCore/webaudio/BiquadProcessor.h.
701         * Modules/webaudio/ConvolverNode.cpp: Copied from Source/WebCore/webaudio/ConvolverNode.cpp.
702         * Modules/webaudio/ConvolverNode.h: Copied from Source/WebCore/webaudio/ConvolverNode.h.
703         * Modules/webaudio/ConvolverNode.idl: Copied from Source/WebCore/webaudio/ConvolverNode.idl.
704         * Modules/webaudio/DOMWindowWebAudio.idl: Copied from Source/WebCore/webaudio/DOMWindowWebAudio.idl.
705         * Modules/webaudio/DefaultAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.cpp.
706         * Modules/webaudio/DefaultAudioDestinationNode.h: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.h.
707         * Modules/webaudio/DelayDSPKernel.cpp: Copied from Source/WebCore/webaudio/DelayDSPKernel.cpp.
708         * Modules/webaudio/DelayDSPKernel.h: Copied from Source/WebCore/webaudio/DelayDSPKernel.h.
709         * Modules/webaudio/DelayNode.cpp: Copied from Source/WebCore/webaudio/DelayNode.cpp.
710         * Modules/webaudio/DelayNode.h: Copied from Source/WebCore/webaudio/DelayNode.h.
711         * Modules/webaudio/DelayNode.idl: Copied from Source/WebCore/webaudio/DelayNode.idl.
712         * Modules/webaudio/DelayProcessor.cpp: Copied from Source/WebCore/webaudio/DelayProcessor.cpp.
713         * Modules/webaudio/DelayProcessor.h: Copied from Source/WebCore/webaudio/DelayProcessor.h.
714         * Modules/webaudio/DynamicsCompressorNode.cpp: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.cpp.
715         * Modules/webaudio/DynamicsCompressorNode.h: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.h.
716         * Modules/webaudio/DynamicsCompressorNode.idl: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.idl.
717         * Modules/webaudio/HighPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/HighPass2FilterNode.cpp.
718         * Modules/webaudio/HighPass2FilterNode.h: Copied from Source/WebCore/webaudio/HighPass2FilterNode.h.
719         * Modules/webaudio/HighPass2FilterNode.idl: Copied from Source/WebCore/webaudio/HighPass2FilterNode.idl.
720         * Modules/webaudio/JavaScriptAudioNode.cpp: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.cpp.
721         * Modules/webaudio/JavaScriptAudioNode.h: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.h.
722         * Modules/webaudio/JavaScriptAudioNode.idl: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.idl.
723         * Modules/webaudio/LowPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/LowPass2FilterNode.cpp.
724         * Modules/webaudio/LowPass2FilterNode.h: Copied from Source/WebCore/webaudio/LowPass2FilterNode.h.
725         * Modules/webaudio/LowPass2FilterNode.idl: Copied from Source/WebCore/webaudio/LowPass2FilterNode.idl.
726         * Modules/webaudio/MediaElementAudioSourceNode.cpp: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.cpp.
727         * Modules/webaudio/MediaElementAudioSourceNode.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
728         * Modules/webaudio/MediaElementAudioSourceNode.idl: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.idl.
729         * Modules/webaudio/OfflineAudioCompletionEvent.cpp: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.cpp.
730         * Modules/webaudio/OfflineAudioCompletionEvent.h: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.h.
731         * Modules/webaudio/OfflineAudioCompletionEvent.idl: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.idl.
732         * Modules/webaudio/OfflineAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp.
733         * Modules/webaudio/OfflineAudioDestinationNode.h: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.h.
734         * Modules/webaudio/RealtimeAnalyser.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyser.cpp.
735         * Modules/webaudio/RealtimeAnalyser.h: Copied from Source/WebCore/webaudio/RealtimeAnalyser.h.
736         * Modules/webaudio/RealtimeAnalyserNode.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.cpp.
737         * Modules/webaudio/RealtimeAnalyserNode.h: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.h.
738         * Modules/webaudio/RealtimeAnalyserNode.idl: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.idl.
739         * Modules/webaudio/WaveShaperDSPKernel.cpp: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.cpp.
740         * Modules/webaudio/WaveShaperDSPKernel.h: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.h.
741         * Modules/webaudio/WaveShaperNode.cpp: Copied from Source/WebCore/webaudio/WaveShaperNode.cpp.
742         * Modules/webaudio/WaveShaperNode.h: Copied from Source/WebCore/webaudio/WaveShaperNode.h.
743         * Modules/webaudio/WaveShaperNode.idl: Copied from Source/WebCore/webaudio/WaveShaperNode.idl.
744         * Modules/webaudio/WaveShaperProcessor.cpp: Copied from Source/WebCore/webaudio/WaveShaperProcessor.cpp.
745         * Modules/webaudio/WaveShaperProcessor.h: Copied from Source/WebCore/webaudio/WaveShaperProcessor.h.
746         * WebCore.gyp/WebCore.gyp:
747         * WebCore.gypi:
748         * WebCore.pri:
749         * WebCore.xcodeproj/project.pbxproj:
750         * webaudio/AsyncAudioDecoder.cpp: Removed.
751         * webaudio/AsyncAudioDecoder.h: Removed.
752         * webaudio/AudioBasicProcessorNode.cpp: Removed.
753         * webaudio/AudioBasicProcessorNode.h: Removed.
754         * webaudio/AudioBuffer.cpp: Removed.
755         * webaudio/AudioBuffer.h: Removed.
756         * webaudio/AudioBuffer.idl: Removed.
757         * webaudio/AudioBufferCallback.h: Removed.
758         * webaudio/AudioBufferCallback.idl: Removed.
759         * webaudio/AudioBufferSourceNode.cpp: Removed.
760         * webaudio/AudioBufferSourceNode.h: Removed.
761         * webaudio/AudioBufferSourceNode.idl: Removed.
762         * webaudio/AudioChannelMerger.cpp: Removed.
763         * webaudio/AudioChannelMerger.h: Removed.
764         * webaudio/AudioChannelMerger.idl: Removed.
765         * webaudio/AudioChannelSplitter.cpp: Removed.
766         * webaudio/AudioChannelSplitter.h: Removed.
767         * webaudio/AudioChannelSplitter.idl: Removed.
768         * webaudio/AudioContext.cpp: Removed.
769         * webaudio/AudioContext.h: Removed.
770         * webaudio/AudioContext.idl: Removed.
771         * webaudio/AudioDestinationNode.cpp: Removed.
772         * webaudio/AudioDestinationNode.h: Removed.
773         * webaudio/AudioDestinationNode.idl: Removed.
774         * webaudio/AudioGain.h: Removed.
775         * webaudio/AudioGain.idl: Removed.
776         * webaudio/AudioGainNode.cpp: Removed.
777         * webaudio/AudioGainNode.h: Removed.
778         * webaudio/AudioGainNode.idl: Removed.
779         * webaudio/AudioListener.cpp: Removed.
780         * webaudio/AudioListener.h: Removed.
781         * webaudio/AudioListener.idl: Removed.
782         * webaudio/AudioNode.cpp: Removed.
783         * webaudio/AudioNode.h: Removed.
784         * webaudio/AudioNode.idl: Removed.
785         * webaudio/AudioNodeInput.cpp: Removed.
786         * webaudio/AudioNodeInput.h: Removed.
787         * webaudio/AudioNodeOutput.cpp: Removed.
788         * webaudio/AudioNodeOutput.h: Removed.
789         * webaudio/AudioPannerNode.cpp: Removed.
790         * webaudio/AudioPannerNode.h: Removed.
791         * webaudio/AudioPannerNode.idl: Removed.
792         * webaudio/AudioParam.cpp: Removed.
793         * webaudio/AudioParam.h: Removed.
794         * webaudio/AudioParam.idl: Removed.
795         * webaudio/AudioParamTimeline.cpp: Removed.
796         * webaudio/AudioParamTimeline.h: Removed.
797         * webaudio/AudioProcessingEvent.cpp: Removed.
798         * webaudio/AudioProcessingEvent.h: Removed.
799         * webaudio/AudioProcessingEvent.idl: Removed.
800         * webaudio/AudioSourceNode.h: Removed.
801         * webaudio/AudioSourceNode.idl: Removed.
802         * webaudio/BiquadDSPKernel.cpp: Removed.
803         * webaudio/BiquadDSPKernel.h: Removed.
804         * webaudio/BiquadFilterNode.cpp: Removed.
805         * webaudio/BiquadFilterNode.h: Removed.
806         * webaudio/BiquadFilterNode.idl: Removed.
807         * webaudio/BiquadProcessor.cpp: Removed.
808         * webaudio/BiquadProcessor.h: Removed.
809         * webaudio/ConvolverNode.cpp: Removed.
810         * webaudio/ConvolverNode.h: Removed.
811         * webaudio/ConvolverNode.idl: Removed.
812         * webaudio/DOMWindowWebAudio.idl: Removed.
813         * webaudio/DefaultAudioDestinationNode.cpp: Removed.
814         * webaudio/DefaultAudioDestinationNode.h: Removed.
815         * webaudio/DelayDSPKernel.cpp: Removed.
816         * webaudio/DelayDSPKernel.h: Removed.
817         * webaudio/DelayNode.cpp: Removed.
818         * webaudio/DelayNode.h: Removed.
819         * webaudio/DelayNode.idl: Removed.
820         * webaudio/DelayProcessor.cpp: Removed.
821         * webaudio/DelayProcessor.h: Removed.
822         * webaudio/DynamicsCompressorNode.cpp: Removed.
823         * webaudio/DynamicsCompressorNode.h: Removed.
824         * webaudio/DynamicsCompressorNode.idl: Removed.
825         * webaudio/HighPass2FilterNode.cpp: Removed.
826         * webaudio/HighPass2FilterNode.h: Removed.
827         * webaudio/HighPass2FilterNode.idl: Removed.
828         * webaudio/JavaScriptAudioNode.cpp: Removed.
829         * webaudio/JavaScriptAudioNode.h: Removed.
830         * webaudio/JavaScriptAudioNode.idl: Removed.
831         * webaudio/LowPass2FilterNode.cpp: Removed.
832         * webaudio/LowPass2FilterNode.h: Removed.
833         * webaudio/LowPass2FilterNode.idl: Removed.
834         * webaudio/MediaElementAudioSourceNode.cpp: Removed.
835         * webaudio/MediaElementAudioSourceNode.h: Removed.
836         * webaudio/MediaElementAudioSourceNode.idl: Removed.
837         * webaudio/OfflineAudioCompletionEvent.cpp: Removed.
838         * webaudio/OfflineAudioCompletionEvent.h: Removed.
839         * webaudio/OfflineAudioCompletionEvent.idl: Removed.
840         * webaudio/OfflineAudioDestinationNode.cpp: Removed.
841         * webaudio/OfflineAudioDestinationNode.h: Removed.
842         * webaudio/RealtimeAnalyser.cpp: Removed.
843         * webaudio/RealtimeAnalyser.h: Removed.
844         * webaudio/RealtimeAnalyserNode.cpp: Removed.
845         * webaudio/RealtimeAnalyserNode.h: Removed.
846         * webaudio/RealtimeAnalyserNode.idl: Removed.
847         * webaudio/WaveShaperDSPKernel.cpp: Removed.
848         * webaudio/WaveShaperDSPKernel.h: Removed.
849         * webaudio/WaveShaperNode.cpp: Removed.
850         * webaudio/WaveShaperNode.h: Removed.
851         * webaudio/WaveShaperNode.idl: Removed.
852         * webaudio/WaveShaperProcessor.cpp: Removed.
853         * webaudio/WaveShaperProcessor.h: Removed.
854
855 2012-03-20  Anders Carlsson  <andersca@apple.com>
856
857         Add a per-ScrollableArea tile cache base class
858         https://bugs.webkit.org/show_bug.cgi?id=81694
859
860         Reviewed by Sam Weinig.
861
862         Add an abstract base class, TiledBacking, that can be used to inform tile caches about changed
863         state in scrollable areas (such as the currently visible rect, whether the page is active or not, etc).
864
865         Make TileCache inherit from TiledBacking and port updating the visible rect over to this new mechanism.
866
867         * WebCore.xcodeproj/project.pbxproj:
868         * page/FrameView.cpp:
869         (WebCore::FrameView::tiledBacking):
870         (WebCore):
871         * page/FrameView.h:
872         (FrameView):
873         * platform/ScrollableArea.h:
874         (WebCore):
875         (ScrollableArea):
876         (WebCore::ScrollableArea::tiledBacking):
877         * platform/graphics/GraphicsLayer.h:
878         (WebCore):
879         (WebCore::GraphicsLayer::tiledBacking):
880         * platform/graphics/TiledBacking.h: Added.
881         (WebCore):
882         (TiledBacking):
883         (WebCore::TiledBacking::~TiledBacking):
884         * platform/graphics/ca/GraphicsLayerCA.cpp:
885         (WebCore::GraphicsLayerCA::tiledBacking):
886         * platform/graphics/ca/GraphicsLayerCA.h:
887         (GraphicsLayerCA):
888         * platform/graphics/ca/PlatformCALayer.h:
889         (PlatformCALayer):
890         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
891         (PlatformCALayer::tiledBacking):
892         * platform/graphics/ca/mac/TileCache.h:
893         (TileCache):
894         * platform/graphics/ca/mac/WebTileCacheLayer.h:
895         (WebCore):
896         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
897         (-[WebTileCacheLayer WebCore::]):
898         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
899         (PlatformCALayer::tiledBacking):
900         * rendering/RenderLayerCompositor.cpp:
901         (WebCore::RenderLayerCompositor::frameViewDidScroll):
902
903 2012-03-20  Xiaomei Ji  <xji@chromium.org>
904
905         visual word movement: crashes on CSS generated content.
906         https://bugs.webkit.org/show_bug.cgi?id=81581
907
908         Reviewed by Ryosuke Niwa.
909
910         Check for null pointer when referencing box->renderer()->node() in previousRootInlineBox and nextRootInlineBox.
911
912         Test: editing/selection/move-by-word-visually-crash-test-css-generated-content.html
913
914         * editing/visible_units.cpp:
915         (WebCore::previousRootInlineBox):
916         (WebCore::nextRootInlineBox):
917
918 2012-03-20  Luke Macpherson  <macpherson@chromium.org>
919
920         Use CSSPrimitiveValue::convertToLength() to handle CSSPropertyWebkitBoxReflect and in createGridTrackBreadth.
921         https://bugs.webkit.org/show_bug.cgi?id=81633
922
923         Reviewed by Andreas Kling.
924
925         No new tests / refactoring only.
926
927         * css/CSSStyleSelector.cpp:
928         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
929
930 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
931
932         Unreviewed, rolling out r111442.
933         http://trac.webkit.org/changeset/111442
934         https://bugs.webkit.org/show_bug.cgi?id=81711
935
936         Causes crashes and image mismatches in canvas tests (Requested
937         by leviw on #webkit).
938
939         * html/HTMLCanvasElement.cpp:
940         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
941         (WebCore::HTMLCanvasElement::reset):
942         (WebCore::HTMLCanvasElement::createImageBuffer):
943         (WebCore::HTMLCanvasElement::clearCopiedImage):
944         * html/HTMLCanvasElement.h:
945         (HTMLCanvasElement):
946         * html/canvas/CanvasRenderingContext2D.cpp:
947         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
948         (WebCore::CanvasRenderingContext2D::unwindStateStack):
949         (WebCore::CanvasRenderingContext2D::reset):
950
951 2012-03-20  Adrienne Walker  <enne@google.com>
952
953         RenderLayerCompositor doesn't properly clip graphics layer sizes
954         https://bugs.webkit.org/show_bug.cgi?id=80372
955
956         Reviewed by Simon Fraser.
957
958         To find the bounds for a composited layer, calculateCompositedBounds
959         iterates through all non-composited child layers using z-order and
960         normal flow lists. This does not preserve clipping from ancestor
961         layers, because a clipping ancestor layer can end up as a sibling to
962         its clipped descendent because it is not a stacking context.
963
964         Fix by explicitly checking cached clip roots.
965
966         Test: compositing/clip-child-by-non-stacking-ancestor.html
967
968         * rendering/RenderLayer.cpp:
969         (WebCore::RenderLayer::localClipRect):
970         (WebCore):
971         * rendering/RenderLayer.h:
972         (RenderLayer):
973         * rendering/RenderLayerCompositor.cpp:
974         (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
975         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
976
977 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
978
979         Unreviewed, rolling out r111445 and r111446.
980         http://trac.webkit.org/changeset/111445
981         http://trac.webkit.org/changeset/111446
982         https://bugs.webkit.org/show_bug.cgi?id=81708
983
984         It broke Qt and GTK build intentionally (Requested by Ossy on
985         #webkit).
986
987         * WebCore.exp.in:
988         * dom/Document.cpp:
989         (WebCore::Document::initSecurityContext):
990         * notifications/Notification.cpp:
991         (WebCore::Notification::Notification):
992         * notifications/NotificationCenter.cpp:
993         (WebCore::NotificationCenter::checkPermission):
994         (WebCore::NotificationCenter::requestPermission):
995         * notifications/NotificationCenter.h:
996         (NotificationCenter):
997         * page/SecurityOrigin.cpp:
998         (WebCore::SecurityOrigin::toString):
999         * page/SecurityOrigin.h:
1000         (SecurityOrigin):
1001
1002 2012-03-20  Adam Klein  <adamk@chromium.org>
1003
1004         Refactor ContainerNode::replaceChild to match other mutation methods and share code
1005         https://bugs.webkit.org/show_bug.cgi?id=81579
1006
1007         Reviewed by Ojan Vafai.
1008
1009         Originally landed as r111310, this fixes a bug in replaceChild
1010         introduced when switching to the insert-before logic.
1011
1012         A future change will make use of the consistency among insertBefore/appendChild/replaceChild
1013         to handle insertion of DocumentFragments more cleanly.
1014
1015         No new tests, no change in behavior.
1016
1017         * dom/ContainerNode.cpp:
1018         (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
1019         Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
1020         (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
1021         (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.
1022
1023 2012-03-20  Jon Lee  <jonlee@apple.com>
1024
1025         Restrict access to notifications for unique origins and file URLs with no local file access
1026         https://bugs.webkit.org/show_bug.cgi?id=79704
1027         <rdar://problem/10912430>
1028
1029         Reviewed by Adam Barth.
1030
1031         Before checking or requesting permissions, we look at whether we can show notifications based on
1032         the security context. If not, we short circuit and do not forward the request to the client.
1033
1034         * notifications/Notification.cpp:
1035         (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
1036         different logic for checking permissions than when checking permissions through the
1037         notification center.
1038         * notifications/NotificationCenter.cpp:
1039         (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
1040         (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
1041         we asynchronously call the callback with that decision. Otherwise we ask the client.
1042
1043         Add new variable in the notification center to keep track of pending callbacks when we short-circuit
1044         requestPermission().
1045         * notifications/NotificationCenter.h:
1046         (NotificationRequestCallback): Add new private class encapsulating the callback.
1047         * notifications/NotificationCenter.cpp:
1048         (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
1049         (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
1050         know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
1051         to invoke the callback.
1052         (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
1053         (WebCore::NotificationCenter::NotificationRequest::startTimer):
1054         (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
1055         center.
1056         * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
1057         regardless of any restrictions that might otherwise cause toString() to return "null".
1058         * page/SecurityOrigin.cpp:
1059         (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
1060         the origin can show notifications. If the origin is unique, we never let it show. If the origin has
1061         universal access, we always let it show. Otherwise the client should be asked.
1062         (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
1063         (WebCore::SecurityOrigin::toRawString):
1064
1065         Added FIXME's regarding the naming of enforceFilePathSeparation().
1066         * dom/Document.cpp:
1067         (WebCore::Document::initSecurityContext): Also, tab reformatting.
1068
1069         * WebCore.exp.in: Export toRawString().
1070
1071 2012-03-20  Andreas Kling  <kling@webkit.org>
1072
1073         Remove unused CSSPrimitiveValue constructors.
1074         <http://webkit.org/b/81695>
1075
1076         Reviewed by Antti Koivisto.
1077
1078         Kill off CSSPrimitiveValue constructors that aren't used anywhere.
1079
1080         * css/CSSPrimitiveValue.cpp:
1081         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1082         * css/CSSPrimitiveValue.h:
1083         (CSSPrimitiveValueBase):
1084         (WebCore::CSSPrimitiveValueBase::CSSPrimitiveValueBase):
1085         (CSSPrimitiveValue):
1086         * css/CSSPrimitiveValueMappings.h:
1087
1088 2012-03-20  Sami Kyostila  <skyostil@chromium.org>
1089
1090         Reuse buffer allocation if canvas size does not change
1091         https://bugs.webkit.org/show_bug.cgi?id=80871
1092
1093         Reviewed by Stephen White.
1094
1095         If the user changes the width or height attributes of a canvas element,
1096         the contents of the canvas should be cleared and the context state
1097         should be reset. This has become a common idiom to clear the canvas
1098         "efficiently" at the start of a frame.
1099
1100         Previously, this code path triggered a full reallocation of the image
1101         buffer backing the canvas, leading to reduced performance. This patch
1102         implements an optimization where we reuse the previous image buffer
1103         allocation if the size of the canvas did not change. Also, instead of
1104         clearing the canvas every time its dimensions are touched, we only clear
1105         if anything has been drawn into the canvas since it was previously
1106         cleared.
1107
1108         Note that for now this optimization only applies for 2D canvases,
1109         since it is not entirely clear how touching the dimensions of a WebGL
1110         canvas should work.
1111
1112         Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
1113               existing layout tests for canvas resetting.
1114
1115         * html/HTMLCanvasElement.cpp:
1116         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1117         (WebCore::HTMLCanvasElement::reset):
1118         (WebCore::HTMLCanvasElement::createImageBuffer):
1119         (WebCore::HTMLCanvasElement::clearImageBuffer):
1120         (WebCore):
1121         (WebCore::HTMLCanvasElement::clearCopiedImage):
1122         * html/HTMLCanvasElement.h:
1123         (HTMLCanvasElement):
1124         * html/canvas/CanvasRenderingContext2D.cpp:
1125         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Save the
1126         initial graphics context state so we can restore it without creating a
1127         new context.
1128         (WebCore::CanvasRenderingContext2D::unwindStateStack):
1129         (WebCore::CanvasRenderingContext2D::reset): No need to notify the
1130         compositor when the context is reset, because clearing the image buffer
1131         does the same thing. We can also skip the notification if we did not
1132         have an image buffer at the time of the reset, because the reset will
1133         not have any visual impact in this case. Finally, if the canvas size
1134         did change, the notification is also unnecessary because of the call
1135         to RenderObject::repaint() from HTMLCanvasElement::reset().
1136
1137 2012-03-20  Dana Jansens  <danakj@chromium.org>
1138
1139         [chromium] Allow us to disable overdraw metrics when tracing is off
1140         https://bugs.webkit.org/show_bug.cgi?id=81431
1141
1142         Reviewed by Adrienne Walker.
1143
1144         This change allows us to disable overdraw metrics conditionally in the
1145         future with a one-line change in each LayerTreeHost class.
1146
1147         Unit test: CCQuadCullerTest.verifyWithoutMetrics
1148
1149         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1150         (WebCore::CCLayerTreeHost::paintLayerContents):
1151         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1152         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1153         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1154         (WebCore::::CCOcclusionTrackerBase):
1155         (WebCore):
1156         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1157         (CCOcclusionTrackerBase):
1158         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
1159         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
1160         (WebCore::CCOverdrawMetrics::didCull):
1161         (WebCore::CCOverdrawMetrics::didDraw):
1162         (WebCore::CCOverdrawMetrics::recordMetrics):
1163         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
1164         (WebCore::CCOverdrawMetrics::create):
1165         (CCOverdrawMetrics):
1166
1167 2012-03-20  Robert Hogan  <robert@webkit.org>
1168
1169         Use-after-free of continuation in RenderBlock::paintContinuationOutlines()
1170         https://bugs.webkit.org/show_bug.cgi?id=81276
1171
1172         Reviewed by David Hyatt.
1173
1174         Test: fast/css/relative-positioned-block-crash.html
1175
1176         https://trac.webkit.org/changeset/108185/ allowed anonymous blocks to get their own layer (when they're
1177         relatively positioned). This broke the dependency in addContinuationWithOutline() on the owner of the continuation
1178         table and the renderer getting added to it always being in the same layer. When they're not in the same layer
1179         there's no guarantee that the owner of the continuation table will get painted again and so avoid any stale pointers
1180         in its continuation table should any of the renderers in there get destroyed.
1181
1182         Fix this for now by only adding renderers to the containing block's continuation table if we don't have our own layer.
1183         This fix causes fast/inline/continuation-outlines-with-layers.html to regress as it uses blocks inside relatively positioned
1184         inlines, so skip it on all platforms pending a medium-term fix.
1185
1186         * rendering/RenderBlock.cpp:
1187         (WebCore::RenderBlock::paintObject):
1188
1189 2012-03-20  Adele Peterson  <adele@apple.com>
1190
1191         "Attempt to insert nil value " exception when calling attributed string APIs on content with a custom font
1192         https://bugs.webkit.org/show_bug.cgi?id=81630
1193         <rdar://problem/10650660> 
1194
1195         Reviewed by Alexey Proskuryakov. 
1196
1197         Test: TestWebKitAPI/Tests/mac/AttributedString.mm 
1198
1199         If content is using a custom font, then the platform font will be nil and needs to be nil checked.
1200
1201         * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
1202
1203 2012-03-20  Julien Chaffraix  <jchaffraix@webkit.org>
1204
1205         Make distributeExtraLogicalHeightToRows return the consumed logical height
1206         https://bugs.webkit.org/show_bug.cgi?id=81678
1207
1208         Reviewed by Tony Chang.
1209
1210         Small refactoring, no change in behavior.
1211
1212         * rendering/RenderTable.cpp:
1213         (WebCore::RenderTable::distributeExtraLogicalHeight):
1214         Remove the consumed logical height from the available height.
1215
1216         * rendering/RenderTableSection.cpp:
1217         (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
1218         (WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
1219         (WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
1220         Changed those method to not return anything but remove from the available width.
1221
1222         (WebCore::RenderTableSection::distributeExtraLogicalHeightToRows):
1223         Return the consumed logical height.
1224
1225         * rendering/RenderTableSection.h:
1226         Updated the previous distribute functions signature and the comment about
1227         the returned value from distributeExtraLogicalHeightToRows.
1228
1229 2012-03-20  Jacky Jiang  <zhajiang@rim.com>
1230
1231         [BlackBerry] Dijit crash WebCore::CookieManager::getRawCookies
1232         https://bugs.webkit.org/show_bug.cgi?id=81686
1233
1234         Reviewed by Rob Buis.
1235
1236         HTML plugin element with an empty src caused an ASSERT failure on debug
1237         build and a crash on release build.
1238         When getting cookie, url can be null, so we need to check for it to
1239         avoid the crash.
1240
1241         No new tests as this is covered by
1242         LayoutTests/fast/loader/empty-embed-src-attribute.html.
1243
1244         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
1245         (WebCore::ResourceRequest::initializePlatformRequest):
1246
1247 2012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>
1248
1249         Web Inspector: Tabbed pane drop down should be sorted.
1250         https://bugs.webkit.org/show_bug.cgi?id=81680
1251
1252         Reviewed by Pavel Feldman.
1253
1254         * inspector/front-end/TabbedPane.js:
1255         (WebInspector.TabbedPane.prototype._populateDropDownFromIndex.compareFunction):
1256         (WebInspector.TabbedPane.prototype._populateDropDownFromIndex):
1257
1258 2012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>
1259
1260         Web Inspector: Open resource dialog scripts list should be sorted.
1261         https://bugs.webkit.org/show_bug.cgi?id=81682
1262
1263         Reviewed by Pavel Feldman.
1264
1265         * inspector/front-end/FilteredItemSelectionDialog.js:
1266         (WebInspector.OpenResourceDialog.compareFunction):
1267         (WebInspector.OpenResourceDialog):
1268
1269 2012-03-20  Dana Jansens  <danakj@chromium.org>
1270
1271         [chromium] Use opaque contents for paint culling
1272         https://bugs.webkit.org/show_bug.cgi?id=81676
1273
1274         Reviewed by Adrienne Walker.
1275
1276         UnitTest: CCLayerTreeHostTestContentLayerOcclusion
1277
1278         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1279         (WebCore::CCLayerTreeHost::paintLayerContents):
1280
1281 2012-03-20  Dan Bernstein  <mitz@apple.com>
1282
1283         Build fix after r111419.
1284
1285         * dom/WebKitNamedFlow.cpp:
1286         * dom/WebKitNamedFlow.h:
1287
1288 2012-03-20  Dan Bernstein  <mitz@apple.com>
1289
1290         REGRESSION (r111229): css1/basic/inheritance.html is failing
1291         https://bugs.webkit.org/show_bug.cgi?id=81684
1292
1293         Reverted r111229.
1294
1295         Rubber-stamped by Dave Hyatt.
1296
1297         * dom/Document.cpp:
1298         (WebCore::Document::webkitGetFlowByName):
1299         * dom/Document.h:
1300         (Document):
1301         * dom/Element.cpp:
1302         (WebCore::Element::detach):
1303         * dom/NodeRenderingContext.cpp:
1304         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1305         * dom/WebKitNamedFlow.cpp:
1306         (WebCore):
1307         * dom/WebKitNamedFlow.h:
1308         (WebCore):
1309         (WebKitNamedFlow):
1310         * dom/WebKitNamedFlow.idl:
1311
1312 2012-03-20  Vineet Chaudhary  <rgf748@motorola.com>
1313
1314         https://bugs.webkit.org/show_bug.cgi?id=80696
1315         Remove custom bindings for attribute type Array.
1316
1317         Reviewed by Kentaro Hara.
1318
1319         No new tests.
1320
1321         * bindings/js/JSConsoleCustom.cpp: Removed custom function.
1322         (WebCore):
1323         * bindings/js/JSDOMBinding.h: Added template jsArray and toNativeArray.
1324         (WebCore):
1325         (WebCore::jsArray):
1326         (WebCore::toNativeArray):
1327         * bindings/scripts/CodeGenerator.pm: Modified codegenerators to generate appropriate code.
1328         (GetArrayType): Added GetArrayType to get return type of attribute interface.
1329         * bindings/scripts/CodeGeneratorGObject.pm: Modified codegenerators to generate appropriate code.
1330         (SkipAttribute):
1331         * bindings/scripts/CodeGeneratorJS.pm: Modified codegenerators to generate appropriate code.
1332         (AddIncludesForType):
1333         (JSValueToNative):
1334         (NativeToJSValue):
1335         * bindings/scripts/CodeGeneratorV8.pm: Modified codegenerators to generate appropriate code.
1336         (GenerateNormalAttrGetter):
1337         (GenerateNormalAttrSetter):
1338         (JSValueToNative):
1339         (NativeToJSValue):
1340         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated results from running binding tests.
1341         (webkit_dom_test_obj_get_property):
1342         (webkit_dom_test_obj_class_init):
1343         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
1344         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1345         (WebCore::jsTestObjSequenceAttr):
1346         (WebCore::setJSTestObjSequenceAttr):
1347         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
1348         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1349         (WebCore::TestObjInternal::sequenceAttrAttrGetter):
1350         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
1351         (WebCore::TestObjInternal::methodReturningSequenceCallback):
1352         * bindings/v8/V8Binding.h: Added template v8Array and toNativeArray.
1353         (WebCore):
1354         (WebCore::v8Array):
1355         (WebCore::toNativeArray):
1356         * bindings/v8/custom/V8ConsoleCustom.cpp: Removed custom function.
1357         (WebCore):
1358         * page/Console.idl: Replaced attribute type Array to sequence<SriptProfile> to remove
1359           custom bindings.
1360
1361 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1362
1363         Unreviewed, rolling out r111310.
1364         http://trac.webkit.org/changeset/111310
1365         https://bugs.webkit.org/show_bug.cgi?id=81683
1366
1367         Broke layout test
1368         dom/xhtml/level3/core/nodereplacechild30.xhtml (Requested by
1369         aklein on #webkit).
1370
1371         * dom/ContainerNode.cpp:
1372         (WebCore::ContainerNode::replaceChild):
1373         (WebCore::ContainerNode::appendChild):
1374         (WebCore::ContainerNode::parserAddChild):
1375
1376 2012-03-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1377
1378         Convert hasSpellingMarker to use Internals interface.
1379         https://bugs.webkit.org/show_bug.cgi?id=81300
1380
1381         Reviewed by Ryosuke Niwa.
1382
1383         Remove hasSpellingMarker functions, because it is able to work in the
1384         cross-port way through the Internals interface.
1385
1386         No new tests, since we are improving here the infra-structure
1387         for testing a specific method.
1388
1389         * testing/Internals.cpp:
1390         (WebCore::Internals::hasSpellingMarker):
1391         (WebCore):
1392         * testing/Internals.h:
1393         (Internals):
1394         * testing/Internals.idl:
1395
1396 2012-03-20  Dan Bernstein  <mitz@apple.com>
1397
1398         Build fix.
1399
1400         * history/PageCache.cpp: Fixed an unused function warning introduced in r111391.
1401
1402 2012-03-20  Konrad Piascik  <kpiascik@rim.com>
1403
1404         (r110063) m_mouseDownMayStartDrag is used without being behind the ENABLE(DRAG_SUPPORT) macro
1405         https://bugs.webkit.org/show_bug.cgi?id=81666
1406
1407         Reviewed by Rob Buis.
1408
1409         Compiled with feature disabled and built.
1410
1411         * page/EventHandler.cpp:
1412         (WebCore::EventHandler::selectCursor):
1413
1414 2012-03-20  W. James MacLean  <wjmaclean@chromium.org>
1415
1416         [chromium] Tune fling physics curve. [Not for review yet]
1417         https://bugs.webkit.org/show_bug.cgi?id=81398
1418
1419         Reviewed by James Robinson.
1420
1421         Existing tests updated.
1422
1423         Tune physics of curve for better feel.
1424
1425         * platform/TouchFlingPlatformGestureCurve.cpp:
1426         (WebCore::TouchFlingPlatformGestureCurve::apply):
1427
1428 2012-03-20  Alexis Menard  <alexis.menard@openbossa.org>
1429
1430         Implement a fast path when setting CSS properties with keywords from JS.
1431         https://bugs.webkit.org/show_bug.cgi?id=80874
1432
1433         Reviewed by Antti Koivisto.
1434
1435         The idea is to avoid the creation of the CSSParser instance and to run the parser on
1436         a string we know it should be a keyword. When JS calls parseValue we try to check if we can
1437         use the fast path and if the keyword is accepted then we just add it to the declaration directly.
1438         For the sake of maintenance the parseValue function used by CSSGrammar.y is sharing some code with
1439         the fast path (keyword matching mostly).
1440
1441         This patch improves this use case by 20%. Setting keyword properties from JS is used a lot in
1442         Google Maps for example (when zooming or panning).
1443
1444         No new tests : it's a performance improvement, there shouldn't be any behavior change.
1445
1446         * css/CSSParser.cpp:
1447         (WebCore):
1448         (WebCore::isValidKeywordPropertyAndValue):
1449         (WebCore::isKeywordPropertyID):
1450         (WebCore::parseKeywordValue):
1451         (WebCore::CSSParser::parseValue):
1452
1453 2012-03-20  Ian Vollick  <vollick@chromium.org>
1454
1455         [chromium] Infrastructure to allow animating layers to be only partially updated
1456         https://bugs.webkit.org/show_bug.cgi?id=81106
1457
1458         Reviewed by James Robinson
1459
1460         Merged the controller tests in CCLayerAnimationControllerTest
1461
1462         * WebCore.gypi:
1463         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1464         * platform/graphics/chromium/GraphicsLayerChromium.h:
1465         (GraphicsLayerChromium):
1466         * platform/graphics/chromium/LayerChromium.cpp:
1467         (WebCore::LayerChromium::LayerChromium):
1468         (WebCore::LayerChromium::pushPropertiesTo):
1469         (WebCore::LayerChromium::setOpacityFromAnimation):
1470         (WebCore):
1471         (WebCore::LayerChromium::setTransformFromAnimation):
1472         (WebCore::LayerChromium::addAnimation):
1473         (WebCore::LayerChromium::pauseAnimation):
1474         (WebCore::LayerChromium::removeAnimation):
1475         (WebCore::LayerChromium::suspendAnimations):
1476         (WebCore::LayerChromium::resumeAnimations):
1477         (WebCore::LayerChromium::setLayerAnimationController):
1478         (WebCore::LayerChromium::hasActiveAnimation):
1479         (WebCore::LayerChromium::setAnimationEvent):
1480         * platform/graphics/chromium/LayerChromium.h:
1481         (WebCore):
1482         (LayerChromium):
1483         (WebCore::LayerChromium::id):
1484         (WebCore::LayerChromium::opacity):
1485         (WebCore::LayerChromium::transform):
1486         (WebCore::LayerChromium::bounds):
1487         * platform/graphics/chromium/cc/CCActiveAnimation.h:
1488         (CCActiveAnimation):
1489         * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
1490         (WebCore::CCAnimationEvent::CCAnimationEvent):
1491         (WebCore::CCAnimationEvent::toFloatAnimationFinishedEvent):
1492         (WebCore::CCAnimationEvent::toTransformAnimationFinishedEvent):
1493         (WebCore::CCAnimationStartedEvent::create):
1494         (WebCore):
1495         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
1496         (WebCore::CCFloatAnimationFinishedEvent::create):
1497         (WebCore::CCFloatAnimationFinishedEvent::CCFloatAnimationFinishedEvent):
1498         (WebCore::CCFloatAnimationFinishedEvent::~CCFloatAnimationFinishedEvent):
1499         (WebCore::CCFloatAnimationFinishedEvent::type):
1500         (WebCore::CCTransformAnimationFinishedEvent::create):
1501         (WebCore::CCTransformAnimationFinishedEvent::CCTransformAnimationFinishedEvent):
1502         (WebCore::CCTransformAnimationFinishedEvent::~CCTransformAnimationFinishedEvent):
1503         (WebCore::CCTransformAnimationFinishedEvent::type):
1504         * platform/graphics/chromium/cc/CCAnimationEvents.h:
1505         (WebCore):
1506         (WebCore::CCAnimationEvent::targetProperty):
1507         (CCAnimationEvent):
1508         (CCAnimationStartedEvent):
1509         (CCFloatAnimationFinishedEvent):
1510         (WebCore::CCFloatAnimationFinishedEvent::finalValue):
1511         (CCTransformAnimationFinishedEvent):
1512         (WebCore::CCTransformAnimationFinishedEvent::finalValue):
1513         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1514         (WebCore::CCLayerAnimationController::CCLayerAnimationController):
1515         (WebCore::CCLayerAnimationController::create):
1516         (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
1517         (WebCore::CCLayerAnimationController::animate):
1518         (WebCore):
1519         (WebCore::CCLayerAnimationController::add):
1520         (WebCore::CCLayerAnimationController::getActiveAnimation):
1521         (WebCore::CCLayerAnimationController::hasActiveAnimation):
1522         (WebCore::CCLayerAnimationController::isAnimatingProperty):
1523         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
1524         (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
1525         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
1526         (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
1527         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
1528         (WebCore::CCLayerAnimationController::resolveConflicts):
1529         (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
1530         (WebCore::CCLayerAnimationController::tickAnimations):
1531         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
1532         (WebCore):
1533         (CCLayerAnimationControllerClient):
1534         (WebCore::CCLayerAnimationControllerClient::~CCLayerAnimationControllerClient):
1535         (CCLayerAnimationController):
1536         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: Removed.
1537         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: Removed.
1538         * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h:
1539         (CCLayerAnimationDelegate):
1540         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1541         (WebCore::CCLayerImpl::CCLayerImpl):
1542         (WebCore::CCLayerImpl::setOpacityFromAnimation):
1543         (WebCore):
1544         (WebCore::CCLayerImpl::setTransformFromAnimation):
1545         * platform/graphics/chromium/cc/CCLayerImpl.h:
1546         (CCLayerImpl):
1547         (WebCore::CCLayerImpl::id):
1548         (WebCore::CCLayerImpl::layerAnimationController):
1549         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1550         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1551         (WebCore::CCLayerTreeHost::updateAnimations):
1552         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
1553         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
1554         (WebCore::CCLayerTreeHost::animateLayers):
1555         (WebCore):
1556         (WebCore::CCLayerTreeHost::animateLayersRecursive):
1557         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1558         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1559         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1560         (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
1561         (WebCore::CCLayerTreeHostImpl::animateLayers):
1562         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1563         (CCLayerTreeHostImpl):
1564         * platform/graphics/chromium/cc/CCThreadProxy.h:
1565         (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
1566
1567 2012-03-20  Ilya Tikhonovsky  <loislo@chromium.org>
1568
1569         Web Inspector: REGRESSION Detached DOM Nodes are not highlighted
1570         https://bugs.webkit.org/show_bug.cgi?id=81662
1571
1572         Reviewed by Yury Semikhatsky.
1573
1574         * inspector/front-end/HeapSnapshot.js:
1575         (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
1576
1577 2012-03-20  Gavin Peters  <gavinp@chromium.org>
1578
1579         New PageCache histogram for tracking the highest leverage frame reject reasons.
1580         https://bugs.webkit.org/show_bug.cgi?id=81358
1581
1582         Reviewed by Adam Barth.
1583
1584         The current chromium FrameClientImpl always denies page cache; but
1585         that's easily fixable.  This histogram tracks which rejection
1586         causes occur alone with that cause.  I'm particularly interested
1587         in knowing how many more pages would work in the page cache if we
1588         could get plugins in.
1589
1590         * history/PageCache.cpp:
1591         (WebCore::logCanCachePageDecision):
1592
1593 2012-03-15  Pavel Podivilov  <podivilov@chromium.org>
1594
1595         Web Inspector: support inline source maps.
1596         https://bugs.webkit.org/show_bug.cgi?id=81248
1597
1598         - support optional map.sourcesContent array with sources content
1599         - support data: url as script sourceMapURL, e.g. "//@ sourceMappingURL=data:application/json;base64,<base64-encoded map>"
1600
1601         Reviewed by Pavel Feldman.
1602
1603         * inspector/front-end/CompilerSourceMapping.js:
1604         (WebInspector.ClosureCompilerSourceMapping):
1605         (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
1606         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
1607         (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
1608
1609 2012-03-20  Pavel Feldman  <pfeldman@chromium.org>
1610
1611         Web Inspector: treat Uint* external arrays as arrays in console.
1612         https://bugs.webkit.org/show_bug.cgi?id=81653
1613
1614         Reviewed by Yury Semikhatsky.
1615
1616         * bindings/js/JSInjectedScriptHostCustom.cpp:
1617         (WebCore::JSInjectedScriptHost::type):
1618         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1619         (WebCore::V8InjectedScriptHost::typeCallback):
1620
1621 2012-03-20  Andreas Kling  <kling@webkit.org>
1622
1623         Let CSSImageValue inherit directly from CSSValue.
1624         <http://webkit.org/b/81635>
1625
1626         Reviewed by Antti Koivisto.
1627
1628         This removes the last of the CSSPrimitiveValue subclasses, which will
1629         open up the class to heavier refactoring.
1630
1631         Those CSSImageValues that used to represent the 'none' value are now
1632         simply created as CSSPrimitiveValue identifiers by the parser.
1633
1634         Test: fast/css/image-value-type.html
1635
1636         * css/CSSCursorImageValue.cpp:
1637         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
1638         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
1639         (WebCore::CSSCursorImageValue::cachedImage):
1640         * css/CSSImageValue.cpp:
1641         (WebCore::CSSImageValue::CSSImageValue):
1642         (WebCore::CSSImageValue::cachedOrPendingImage):
1643         (WebCore::CSSImageValue::cachedImage):
1644         (WebCore::CSSImageValue::customCssText):
1645         * css/CSSImageValue.h:
1646         (WebCore::CSSImageValue::url):
1647         * css/CSSParser.cpp:
1648         (WebCore::CSSParser::parseValue):
1649         (WebCore::CSSParser::parseFillImage):
1650         (WebCore::CSSParser::parseBorderImage):
1651         * css/CSSStyleApplyProperty.cpp:
1652         (WebCore::ApplyPropertyCursor::applyValue):
1653         * css/CSSStyleSelector.cpp:
1654         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1655         * css/CSSValue.h:
1656         (WebCore::CSSValue::isPrimitiveValue):
1657
1658 2012-03-20  Pavel Feldman  <pfeldman@chromium.org>
1659
1660         Web Inspector: call .length as the last check when detecting arrays.
1661         https://bugs.webkit.org/show_bug.cgi?id=81335
1662
1663         Reviewed by Yury Semikhatsky.
1664
1665         * inspector/InjectedScriptSource.js:
1666
1667 2012-03-20  Alexander Pavlov  <apavlov@chromium.org>
1668
1669         Web Inspector: newly added CSS rules shouldn't rewrite HTML content in the resources panel
1670         https://bugs.webkit.org/show_bug.cgi?id=81414
1671
1672         Reviewed by Vsevolod Vlasov.
1673
1674         * inspector/front-end/CSSStyleModel.js:
1675         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
1676         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
1677
1678 2012-03-20  Yury Semikhatsky  <yurys@chromium.org>
1679
1680         Web Inspector: provide class name filter for "comparison" view in heap profiler
1681         https://bugs.webkit.org/show_bug.cgi?id=81641
1682
1683         Class name filtering now works for both Summary and Comparison views.
1684
1685         Reviewed by Pavel Feldman.
1686
1687         * inspector/front-end/DetailedHeapshotView.js:
1688         (WebInspector.DetailedHeapshotView.prototype._createToolbarWithClassNameFilter):
1689         (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
1690         * inspector/front-end/heapProfiler.css:
1691         (.detailed-heapshot-view .class-view-grid):
1692         (.detailed-heapshot-view .class-view-toolbar):
1693         (.detailed-heapshot-view .class-view-toolbar input.class-name-filter):
1694
1695 2012-03-20  Nikolas Zimmermann  <nzimmermann@rim.com>
1696
1697         Make animVal support type-safe
1698         https://bugs.webkit.org/show_bug.cgi?id=81640
1699
1700         Reviewed by Antti Koivisto.
1701
1702         Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html
1703
1704         Redesign animVal support in a type-safe fashion, avoiding the SVGGenericAnimatedType
1705         and associated reinterpret_casts, which require all call-sites to assure that the
1706         types are safe to cast, before actually calling the method.
1707
1708         Remove pure virtual animationStarted/Ended/ValueWillChange/ValueDidChange & currentBaseValueVariant methods from SVGAnimatedProperty,
1709         and de-virtualize them in classes that inherit from SVGAnimatedProperty, like SVGAnimatedPropertyTearOff, etc.
1710
1711         Add startAnimValAnimation/stopAnimValAnimation/resetAnimValToBaseVal/animValWillChange/animVallDidChange methods to all
1712         SVGAnimatedXXXAnimator classes that currently support animVal (SVGAnimatedLength/LengthList/Number(OptionalNumber)/NumberList/TransformList).
1713         Those SVGAnimatedLengthAnimator can cast the generic SVGAnimatedProperty* associated with a certain SVG DOM property, to the real type
1714         eg. SVGAnimatedLength (which is a SVGAnimatedPropertyTearOff<SVGLength>). This way we can call those methods, without relying on virtual
1715         function calls. Also it makes the "SVGGenericAnimatedType* currentBaseValueVariant()" accessor needless, as we can just call the method
1716         right on eg. the SVGAnimatedLength, which gives us the "const SVGLength&" object, instead of a generic pointer type, that we have to
1717         reinterpret_cast to some hopefully-matching expected type. The new approach is truly type-safey, but needs a bit more boilerplate code.
1718
1719         To reduce the amount of copy&paste across the SVGAnimatedXXXAnimator classes, all code is placed in template functions in
1720         SVGAnimatedTypeAnimator.h, which can be shared across all SVGAnimatedXXXAnimator classes, that inherit from SVGAnimatedTypeAnimator.
1721
1722         Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html
1723
1724         * svg/SVGAnimateElement.cpp:
1725         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1726         (WebCore::SVGAnimateElement::resetToBaseValue):
1727         (WebCore::SVGAnimateElement::applyResultsToTarget):
1728         (WebCore):
1729         (WebCore::SVGAnimateElement::targetElementWillChange):
1730         * svg/SVGAnimatedLength.cpp:
1731         (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
1732         (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
1733         (WebCore):
1734         (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
1735         (WebCore::SVGAnimatedLengthAnimator::animValWillChange):
1736         (WebCore::SVGAnimatedLengthAnimator::animValDidChange):
1737         * svg/SVGAnimatedLength.h:
1738         (WebCore):
1739         (SVGAnimatedLengthAnimator):
1740         * svg/SVGAnimatedLengthList.cpp:
1741         (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
1742         (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
1743         (WebCore):
1744         (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
1745         (WebCore::SVGAnimatedLengthListAnimator::animValWillChange):
1746         (WebCore::SVGAnimatedLengthListAnimator::animValDidChange):
1747         * svg/SVGAnimatedLengthList.h:
1748         (WebCore):
1749         (SVGAnimatedLengthListAnimator):
1750         * svg/SVGAnimatedNumber.cpp:
1751         (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
1752         (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
1753         (WebCore):
1754         (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
1755         (WebCore::SVGAnimatedNumberAnimator::animValWillChange):
1756         (WebCore::SVGAnimatedNumberAnimator::animValDidChange):
1757         * svg/SVGAnimatedNumber.h:
1758         (WebCore):
1759         (SVGAnimatedNumberAnimator):
1760         * svg/SVGAnimatedNumberList.cpp:
1761         (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
1762         (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
1763         (WebCore):
1764         (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
1765         (WebCore::SVGAnimatedNumberListAnimator::animValWillChange):
1766         (WebCore::SVGAnimatedNumberListAnimator::animValDidChange):
1767         * svg/SVGAnimatedNumberList.h:
1768         (WebCore):
1769         (SVGAnimatedNumberListAnimator):
1770         * svg/SVGAnimatedNumberOptionalNumber.cpp:
1771         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
1772         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
1773         (WebCore):
1774         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
1775         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
1776         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
1777         * svg/SVGAnimatedNumberOptionalNumber.h:
1778         (WebCore):
1779         (SVGAnimatedNumberOptionalNumberAnimator):
1780         * svg/SVGAnimatedTransformList.cpp:
1781         (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
1782         (WebCore):
1783         (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
1784         (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
1785         (WebCore::SVGAnimatedTransformListAnimator::animValWillChange):
1786         (WebCore::SVGAnimatedTransformListAnimator::animValDidChange):
1787         * svg/SVGAnimatedTransformList.h:
1788         (WebCore):
1789         (SVGAnimatedTransformListAnimator):
1790         * svg/SVGAnimatedType.h:
1791         (WebCore):
1792         * svg/SVGAnimatedTypeAnimator.h:
1793         (WebCore):
1794         (SVGAnimatedTypeAnimator):
1795         (WebCore::SVGAnimatedTypeAnimator::startAnimValAnimation):
1796         (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimation):
1797         (WebCore::SVGAnimatedTypeAnimator::resetAnimValToBaseVal):
1798         (WebCore::SVGAnimatedTypeAnimator::animValWillChange):
1799         (WebCore::SVGAnimatedTypeAnimator::animValDidChange):
1800         (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
1801         (WebCore::SVGAnimatedTypeAnimator::startAnimation):
1802         (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
1803         (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
1804         (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
1805         (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
1806         (WebCore::SVGAnimatedTypeAnimator::resetFromOneBaseValue):
1807         (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
1808         (WebCore::SVGAnimatedTypeAnimator::resetFromTwoBaseValues):
1809         (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
1810         (WebCore::SVGAnimatedTypeAnimator::collectAnimatedPropertiesFromInstances):
1811         * svg/SVGAnimationElement.cpp:
1812         (WebCore::SVGAnimationElement::applyAnimatedValue):
1813         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
1814         * svg/SVGAnimationElement.h:
1815         (SVGAnimationElement):
1816         * svg/SVGElementInstance.cpp:
1817         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
1818         (WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
1819         (WebCore):
1820         (WebCore::SVGElementInstance::InstanceUpdateBlocker::~InstanceUpdateBlocker):
1821         * svg/SVGElementInstance.h:
1822         (WebCore):
1823         (InstanceUpdateBlocker):
1824         (SVGElementInstance):
1825         * svg/properties/SVGAnimatedListPropertyTearOff.h:
1826         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
1827         (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
1828         (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
1829         (WebCore::SVGAnimatedListPropertyTearOff::animValWillChange):
1830         (WebCore::SVGAnimatedListPropertyTearOff::animValDidChange):
1831         * svg/properties/SVGAnimatedProperty.h:
1832         (WebCore):
1833         * svg/properties/SVGAnimatedPropertyTearOff.h:
1834         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValue):
1835         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
1836         (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
1837         (WebCore::SVGAnimatedPropertyTearOff::animValWillChange):
1838         (WebCore::SVGAnimatedPropertyTearOff::animValDidChange):
1839         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
1840         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
1841         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
1842         (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
1843         (WebCore::SVGAnimatedStaticPropertyTearOff::animValWillChange):
1844         (WebCore::SVGAnimatedStaticPropertyTearOff::animValDidChange):
1845
1846 2012-03-20  Mihnea Ovidenie  <mihnea@adobe.com>
1847
1848         [CSSRegions]Implement NamedFlow::getRegionsByContentNode
1849         https://bugs.webkit.org/show_bug.cgi?id=77746
1850
1851         Reviewed by David Hyatt.
1852
1853         The list of regions returned is a static node list.
1854
1855         Tests: fast/regions/get-regions-by-content-node-horiz-bt.html
1856                fast/regions/get-regions-by-content-node-horiz-tb.html
1857                fast/regions/get-regions-by-content-node-vert-lr.html
1858                fast/regions/get-regions-by-content-node-vert-rl.html
1859                fast/regions/get-regions-by-content-node.html
1860                fast/regions/get-regions-by-content-node2.html
1861
1862         * dom/WebKitNamedFlow.cpp:
1863         (WebCore::WebKitNamedFlow::getRegionsByContentNode):
1864         (WebCore):
1865         * dom/WebKitNamedFlow.h:
1866         (WebKitNamedFlow):
1867         * dom/WebKitNamedFlow.idl:
1868         * rendering/RenderFlowThread.cpp:
1869         (WebCore::RenderFlowThread::regionInRange):
1870         (WebCore):
1871         (WebCore::RenderFlowThread::objectInFlowRegion):
1872         * rendering/RenderFlowThread.h:
1873         * rendering/RenderRegion.h:
1874         (WebCore::RenderRegion::flowThread):
1875
1876 2012-03-20  Luke Macpherson  <macpherson@chromium.org>
1877
1878         Remove min and max parameters from CSSPrimitiveValue's roundForImpreciseConversion function.
1879         https://bugs.webkit.org/show_bug.cgi?id=81629
1880
1881         Reviewed by Andreas Kling.
1882
1883         No new tests / refactoring only.
1884
1885         * css/CSSPrimitiveValue.cpp:
1886         (WebCore::CSSPrimitiveValue::computeLength):
1887         * css/CSSPrimitiveValue.h:
1888         (WebCore::roundForImpreciseConversion):
1889         * rendering/style/RenderStyle.h:
1890         (WebCore::adjustForAbsoluteZoom):
1891
1892 2012-03-20  Jason Liu  <jason.liu@torchmobile.com.cn>
1893
1894         [BlackBerry]Cookies shouldn't be set into each of webcore's request and platform's request. And this makes a regression.
1895         https://bugs.webkit.org/show_bug.cgi?id=80800
1896
1897         FrameLoaderClientBlackBerry::dispatchWillSendRequest sets cookies to resourceRequest's header
1898         list to show cookies in inspector. And NetworkManager::startJob will set cookies to platformRequest's
1899         m_cookieData again. So cookies are set two times. This causes performance issue.
1900
1901         Moreover, platformRequest will copy cookies from the resourceRequest. And then platformRequest has
1902         the same cookies in its header list and m_cookieData. Network will use header list's cookies which
1903         are output as latin1 only. This causes the regression of https://bugs.webkit.org/show_bug.cgi?id=80307.
1904
1905         Now, set cookies in initializePlatformRequest to ensure setting cookies only once.
1906
1907         Reviewed by George Staikos.
1908
1909         Test: http/tests/cookies/resources/setUtf8Cookies.php
1910
1911         * platform/network/blackberry/NetworkManager.cpp:
1912         (WebCore::NetworkManager::startJob):
1913         * platform/network/blackberry/ResourceRequest.h:
1914         (ResourceRequest):
1915         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
1916         (WebCore::ResourceRequest::initializePlatformRequest):
1917
1918 2012-03-19  Benjamin Poulain  <bpoulain@apple.com>
1919
1920         Build fix for Debug build after r111358
1921
1922         Unreviewed.
1923
1924         * bindings/js/CachedScriptSourceProvider.h:
1925         * bindings/js/StringSourceProvider.h:
1926
1927 2012-03-19  Emil A Eklund  <eae@chromium.org>
1928
1929         Add FractionalLayoutUnit version of blend to AnimationUtilities
1930         https://bugs.webkit.org/show_bug.cgi?id=81572
1931
1932         Reviewed by Eric Seidel.
1933         
1934         Add version of blend method that operates on FractionalLayoutUnits. This
1935         will be used in place of the integer version in many places once we
1936         enable support for subpixel layout.
1937
1938         No new tests.
1939
1940         * platform/FractionalLayoutUnit.h:
1941         Include math.h to make GTK build happy.
1942
1943         * platform/animation/AnimationUtilities.h:
1944         (WebCore::blend):
1945
1946 2012-03-19  Adam Barth  <abarth@webkit.org>
1947
1948         Remove support for "magic" iframe
1949         https://bugs.webkit.org/show_bug.cgi?id=81590
1950
1951         Reviewed by Eric Seidel.
1952
1953         This patch removes support for "magic" iframe, which previously allowed
1954         an iframe to be transfered from one document to another without
1955         reloading the iframe.  The idea behind this feature was to let sites
1956         create "pop out" windows that could outlive their parents by
1957         transfering state to these windows via these magic iframes.
1958
1959         Unforuntately, this feature was never implemented by other browsers and
1960         has been the source of a series of security vulnerabilities.  Although
1961         we have fixed each vulnerability as it has been discovered, the feature
1962         is still a complex corner case that isn't widely exercised on the web.
1963         For that reason, it's likely to have more vulnerabilities in the
1964         future.
1965
1966         I'm not aware of any web sites that use this feature anymore.  There
1967         were a handful of them, but we appear to have been successful in
1968         evangalizing them to move away from "magic" iframe.
1969
1970         * dom/Document.cpp:
1971         (WebCore::Document::adoptNode):
1972         * html/HTMLFrameElementBase.cpp:
1973         (WebCore):
1974         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
1975         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
1976         * html/HTMLFrameElementBase.h:
1977         (HTMLFrameElementBase):
1978         * loader/DocumentLoader.cpp:
1979         (WebCore):
1980         * loader/DocumentLoader.h:
1981         (DocumentLoader):
1982         * loader/EmptyClients.h:
1983         (WebCore::EmptyFrameLoaderClient::createFrame):
1984         * loader/FrameLoader.cpp:
1985         (WebCore):
1986         * loader/FrameLoader.h:
1987         (FrameLoader):
1988         * loader/FrameLoaderClient.h:
1989         (FrameLoaderClient):
1990         * loader/ResourceLoadNotifier.cpp:
1991         (WebCore):
1992         * loader/ResourceLoadNotifier.h:
1993         (ResourceLoadNotifier):
1994         * page/Frame.cpp:
1995         (WebCore):
1996         * page/Frame.h:
1997         (Frame):
1998
1999 2012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
2000
2001         REGRESSION(r110072): Improper repainting on table with overflow: hidden
2002         https://bugs.webkit.org/show_bug.cgi?id=81460
2003
2004         Reviewed by Simon Fraser.
2005
2006         Test: fast/repaint/table-hover-on-link.html
2007
2008         * rendering/RenderTable.cpp:
2009         (WebCore::RenderTable::layout): Add a call to RenderBlock::updateCachedSizeForOverflowClip
2010         so that we properly keep our cached size up to date. This fixes the problem for now but the
2011         real solution is to make sure it is called on all classes that needs to. This is tracked by
2012         bug 81461.
2013
2014 2012-03-19  Pablo Flouret  <pablof@motorola.com>
2015
2016         Add support for crossorigin attribute in script elements
2017         https://bugs.webkit.org/show_bug.cgi?id=81438
2018
2019         Reviewed by Adam Barth.
2020
2021         Works similarly to img and its crossorigin attribute. In the future it
2022         could allow for things like showing full error messages in error
2023         handlers, etc.
2024
2025         Tests: http/tests/security/script-crossorigin-loads-correctly.html
2026                http/tests/security/script-crossorigin-loads-same-origin.html
2027                http/tests/security/script-with-failed-cors-check-fails-to-load.html
2028
2029         * dom/ScriptElement.cpp:
2030         (WebCore::ScriptElement::ScriptElement):
2031         (WebCore::ScriptElement::requestScript):
2032         (WebCore::ScriptElement::notifyFinished):
2033         * dom/ScriptElement.h:
2034         (ScriptElement):
2035         * html/HTMLScriptElement.idl:
2036
2037 2012-03-19  Benjamin Poulain  <benjamin@webkit.org>
2038
2039         Do not copy the script source in the SourceProvider, just reference the existing string
2040         https://bugs.webkit.org/show_bug.cgi?id=81466
2041
2042         Reviewed by Geoffrey Garen.
2043
2044         Instead of creating a copy of the string with 16bits characters, we just return
2045         a shared StringImpl.
2046
2047         * bindings/js/CachedScriptSourceProvider.h:
2048         * bindings/js/StringSourceProvider.h:
2049
2050 2012-03-19  Dana Jansens  <danakj@chromium.org>
2051
2052         A quick early-out for Region::contains() test
2053         https://bugs.webkit.org/show_bug.cgi?id=81625
2054
2055         Reviewed by Anders Carlsson.
2056
2057         If the bounds of region B include a row/column that is outside the bounds of
2058         region A, then region B contains a pixel within that row/column that is
2059         outside of region A.
2060
2061         * platform/graphics/Region.cpp:
2062         (WebCore::Region::contains):
2063
2064 2012-03-19  Eric Seidel  <eric@webkit.org>
2065
2066         Unreviewed attempt to fix the EFL build.
2067
2068         * platform/graphics/efl/IconEfl.cpp:
2069
2070 2012-03-19  Eric Seidel  <eric@webkit.org>
2071
2072         Fix more WTF header include paths in WebCore
2073         https://bugs.webkit.org/show_bug.cgi?id=81602
2074
2075         Reviewed by Martin Robinson.
2076
2077         Chromium, Mac and Win already build w/o including wtf subdirectories
2078         in their include paths for WebCore/WebKit.  Gtk, Qt, and other ports
2079         should eventually do the same.  This patch fixes up a few loose
2080         wtf includes in these ports using some search/replace across WebCore.
2081         If the EWS bots pass this patch doesn't really need any other review.
2082
2083         * accessibility/gtk/AXObjectCacheAtk.cpp:
2084         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
2085         * platform/KURL.cpp:
2086         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2087         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2088         * platform/audio/gtk/AudioBusGtk.cpp:
2089         * platform/clutter/GRefPtrClutter.h:
2090         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
2091         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
2092         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
2093         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2094         * platform/graphics/gtk/ImageBufferGtk.cpp:
2095         * platform/graphics/pango/FontPango.cpp:
2096         * platform/graphics/qt/ImageBufferDataQt.h:
2097         * platform/graphics/wx/ImageBufferDataWx.h:
2098         * platform/gtk/ContextMenuGtk.cpp:
2099         * platform/gtk/ContextMenuItemGtk.cpp:
2100         * platform/gtk/FileSystemGtk.cpp:
2101         * platform/gtk/GOwnPtrGtk.h:
2102         * platform/gtk/GtkAuthenticationDialog.h:
2103         * platform/gtk/GtkPopupMenu.cpp:
2104         * platform/gtk/LanguageGtk.cpp:
2105         * platform/gtk/LocalizedStringsGtk.cpp:
2106         * platform/gtk/PopupMenuGtk.cpp:
2107         * platform/gtk/RenderThemeGtk.cpp:
2108         * platform/gtk/RenderThemeGtk.h:
2109         * platform/network/soup/GOwnPtrSoup.h:
2110         * platform/network/soup/ResourceRequestSoup.cpp:
2111         * platform/network/soup/ResourceResponseSoup.cpp:
2112         * platform/network/soup/SocketStreamHandle.h:
2113         * platform/network/soup/SoupURIUtils.cpp:
2114         * platform/text/TextEncoding.cpp:
2115         * platform/text/gtk/TextBreakIteratorGtk.cpp:
2116         * platform/text/gtk/TextCodecGtk.cpp:
2117         * platform/text/gtk/TextCodecGtk.h:
2118
2119 2012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
2120
2121         Move the extra logical height distribution into RenderTable as a new step in our layout algorithm
2122         https://bugs.webkit.org/show_bug.cgi?id=81548
2123
2124         Reviewed by Tony Chang.
2125
2126         Refactoring, no expected change in behavior.
2127
2128         Moving the distribution step into RenderTable is needed to implement a better distribution algorithm that would
2129         span several RenderTableSection (which is what IE and FF are doing right now).
2130
2131         * rendering/RenderTable.cpp:
2132         (WebCore::RenderTable::distributeExtraLogicalHeight):
2133         (WebCore::RenderTable::layout):
2134         Moved the distribution step into distributeExtraLogicalHeight. While at it, changed the code to make use of the helper
2135         methods to iterate over the sections and explicitly floor the LayoutUnit before calling distributeExtraLogicalHeight.
2136
2137         * rendering/RenderTable.h:
2138         Added distributeExtraLogicalHeight.
2139
2140         * rendering/RenderTableSection.cpp:
2141         (WebCore::RenderTableSection::layoutRows):
2142         Changed the method signature as it doesn't handle the distribution step anymore.
2143
2144         * rendering/RenderTableSection.h:
2145         Updated layoutRows signature and exposed distributeExtraLogicalHeightToRows for RenderTable use.
2146
2147 2012-03-19  Anders Carlsson  <andersca@apple.com>
2148
2149         Another attempt at fixing the Windows build.
2150
2151         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2152         (WebCore::LayerClient::platformCALayerDeviceScaleFactor):
2153
2154 2012-03-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2155
2156         [EFL] Fix build break because of PlatformString.h
2157         https://bugs.webkit.org/show_bug.cgi?id=81619
2158
2159         Unreviewed. Fix build break because of PlatformString.h.
2160
2161         * platform/graphics/efl/IconEfl.cpp: Include PlatformString.h from text directory.
2162
2163 2012-03-19  Eric Seidel  <eric@webkit.org>
2164
2165         Fix CrWin build after r111258.
2166         https://bugs.webkit.org/show_bug.cgi?id=81281
2167
2168         Unreviewed build fix.
2169         I also fixed similarly incorrect wtf/ includes for other ports
2170         (which aren't yet as strict as Chromium about wtf includes).
2171
2172         * platform/blackberry/CookieManager.cpp:
2173         * platform/blackberry/CookieParser.cpp:
2174         * platform/blackberry/ParsedCookie.cpp:
2175         * platform/blackberry/SharedTimerBlackBerry.cpp:
2176         * platform/graphics/qt/GraphicsLayerQt.cpp:
2177         * platform/graphics/texmap/TextureMapperAnimation.cpp:
2178         * rendering/RenderThemeChromiumWin.cpp:
2179         (WebCore):
2180
2181 2012-03-19  Eric Seidel  <eric@webkit.org>
2182
2183         Fix CrWin build after r111258.
2184         https://bugs.webkit.org/show_bug.cgi?id=81281
2185
2186         Unreviewed build fix.
2187
2188         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2189         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2190         * platform/graphics/texmap/TextureMapperAnimation.h:
2191
2192 2012-03-19  Tony Chang  <tony@chromium.org>
2193
2194         add css parsing of flex-line-pack
2195         https://bugs.webkit.org/show_bug.cgi?id=81427
2196
2197         Reviewed by Ojan Vafai.
2198
2199         Spec: http://dev.w3.org/csswg/css3-flexbox/#flex-line-pack
2200
2201         Updated tests in css3/flexbox/css-properties.html
2202
2203         * css/CSSComputedStyleDeclaration.cpp:
2204         (WebCore):
2205         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2206         * css/CSSParser.cpp:
2207         (WebCore::CSSParser::parseValue):
2208         * css/CSSPrimitiveValueMappings.h:
2209         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2210         (WebCore):
2211         (WebCore::CSSPrimitiveValue::operator EFlexLinePack):
2212         * css/CSSProperty.cpp:
2213         (WebCore::CSSProperty::isInheritedProperty):
2214         * css/CSSPropertyNames.in:
2215         * css/CSSStyleApplyProperty.cpp:
2216         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2217         * css/CSSStyleSelector.cpp:
2218         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2219         * css/CSSValueKeywords.in:
2220         * rendering/style/RenderStyle.h:
2221         * rendering/style/RenderStyleConstants.h:
2222         * rendering/style/StyleFlexibleBoxData.cpp:
2223         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
2224         (WebCore::StyleFlexibleBoxData::operator==):
2225         * rendering/style/StyleFlexibleBoxData.h:
2226         (StyleFlexibleBoxData):
2227
2228 2012-03-19  Gustavo Noronha Silva  <gns@gnome.org>
2229
2230         [GTK] libWebCore.la has become too big for make
2231         https://bugs.webkit.org/show_bug.cgi?id=81582
2232
2233         Unreviewed build fix.
2234
2235         * GNUmakefile.am: build an intermediate library for modules, so that the list
2236         of source files used to build WebCore can be split and not reach make's limits;
2237         also try to force relinking libWebCore.la and libWebCoreModules.la when the
2238         GNUmakefile.am or GNUmakefile.list.am change
2239
2240 2012-03-19  Dana Jansens  <danakj@chromium.org>
2241
2242         [chromium] Push culled tiles that are prepainted
2243         https://bugs.webkit.org/show_bug.cgi?id=81552
2244
2245         Reviewed by Adrienne Walker.
2246
2247         If a tile was culled during paint, but then prepainted in the following
2248         idle paint pass, it was still marked as culled (and thus dirty) and not
2249         pushed to the impl side.
2250
2251         Renames tile->m_updateCulled to tile->m_updated. This value is true if
2252         the tile is updated any time during a commit, and remains false if it
2253         is culled every time the layer is painted.
2254
2255         Unit test: TiledLayerChromiumTest.pushIdlePaintedOccludedTiles
2256
2257         * platform/graphics/chromium/TiledLayerChromium.cpp:
2258         (WebCore::UpdatableTile::isDirtyForCurrentFrame):
2259         (UpdatableTile):
2260         (WebCore::UpdatableTile::UpdatableTile):
2261         (WebCore::TiledLayerChromium::updateCompositorResources):
2262         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2263         (WebCore::TiledLayerChromium::resetUpdateState):
2264
2265 2012-03-19  Anders Carlsson  <andersca@apple.com>
2266
2267         Fix Snow Leopard build.
2268
2269         * platform/graphics/ca/mac/TileCache.mm:
2270         (WebCore::TileCache::createTileLayer):
2271
2272 2012-03-19  Michal Mocny  <mmocny@google.com>
2273
2274         [chromium] Adding support for GL_EXT_discard_framebuffer.
2275         https://bugs.webkit.org/show_bug.cgi?id=81383
2276
2277         Reviewed by James Robinson.
2278
2279         * platform/graphics/chromium/Extensions3DChromium.h:
2280
2281 2012-03-19  Adam Klein  <adamk@chromium.org>
2282
2283         Refactor ContainerNode::replaceChild to match other mutation methods and share code
2284         https://bugs.webkit.org/show_bug.cgi?id=81579
2285
2286         Reviewed by Ojan Vafai.
2287
2288         A future change will make use of the consistency among insertBefore/appendChild/replaceChild
2289         to handle insertion of DocumentFragments more cleanly.
2290
2291         No new tests, no change in behavior.
2292
2293         * dom/ContainerNode.cpp:
2294         (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
2295         Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
2296         (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
2297         (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.
2298
2299 2012-03-19  Ian Vollick  <vollick@chromium.org>
2300
2301         [chromium] Times in the cc should be expressed in seconds.
2302         https://bugs.webkit.org/show_bug.cgi?id=80514
2303
2304         Reviewed by James Robinson.
2305
2306         Updated timer tests to use seconds.
2307
2308         * platform/TouchFlingPlatformGestureCurve.h:
2309         (TouchFlingPlatformGestureCurve):
2310         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
2311         (WebCore::CCActiveGestureAnimation::animate):
2312         * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
2313         (CCActiveGestureAnimation):
2314         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
2315         (WebCore::CCDelayBasedTimeSource::create):
2316         (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
2317         (WebCore::CCDelayBasedTimeSource::setActive):
2318         (WebCore::CCDelayBasedTimeSource::onTimerFired):
2319         (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
2320         (WebCore):
2321         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
2322         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
2323         (CCDelayBasedTimeSource):
2324         * platform/graphics/chromium/cc/CCGestureCurve.h:
2325         (CCGestureCurve):
2326         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2327         (WTF):
2328         (WebCore::CCThreadProxy::beginContextRecreation):
2329         (WebCore::CCThreadProxy::tryToRecreateContext):
2330         (WebCore::CCThreadProxy::initializeImplOnImplThread):
2331         * platform/graphics/chromium/cc/CCTimer.cpp:
2332         (WebCore::CCTimer::startOneShot):
2333         * platform/graphics/chromium/cc/CCTimer.h:
2334         (CCTimer):
2335
2336 2012-03-19  Florin Malita  <fmalita@google.com>
2337
2338         Relative-height block SVG root not layed out on container height change
2339         https://bugs.webkit.org/show_bug.cgi?id=81513
2340
2341         Reviewed by Dirk Schulze.
2342
2343         Tests: svg/custom/svg-percent-scale-block-expected.html
2344                svg/custom/svg-percent-scale-block.html
2345
2346         A couple of places still have style()->logical{Min,Max,}Height percent checks,
2347         which do not work for SVG elements. This patch adds a virtual hasRelativeLogicalHeight()
2348         RenderBox method to replace the explicit style checks.
2349
2350         * rendering/RenderBlock.cpp:
2351         (WebCore::RenderBlock::layoutBlockChildren):
2352         Use virtual hasRelativeLogicalHeight() instead of logical height style checks.
2353
2354         * rendering/RenderBox.cpp:
2355         (WebCore::RenderBox::hasRelativeLogicalHeight):
2356         (WebCore):
2357         * rendering/RenderBox.h:
2358         (RenderBox):
2359         Add virtual hasRelativeLogicalHeight().
2360
2361         * rendering/RenderView.cpp:
2362         (WebCore::RenderView::layout):
2363         Use virtual hasRelativeLogicalHeight() instead of logical height style checks, if possible.
2364
2365         * rendering/svg/RenderSVGRoot.cpp:
2366         (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
2367         (WebCore):
2368         * rendering/svg/RenderSVGRoot.h:
2369         (RenderSVGRoot):
2370         Add hasRelativeLogicalHeight() override.
2371
2372 2012-03-19  Jer Noble  <jer.noble@apple.com>
2373
2374         Assertion failure in RenderBlock::addChildIgnoringAnonymousColumnBlocks when running fullscreen/full-screen-twice-crash.html 
2375         causing "crashes" on the Lion Intel Debug WebKit2 test bots.
2376         https://bugs.webkit.org/show_bug.cgi?id=81171
2377
2378         Reviewed by Dan Bernstein.
2379
2380         No new tests; fixes fullscreen/* tests when running in WebKitTestRunner (WebKit2).
2381
2382         Add a special-case check if the parent anonymous container is a full screen renderer or placeholder.
2383
2384         * rendering/RenderBlock.cpp:
2385         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
2386
2387 2012-03-19  Enrica Casucci  <enrica@apple.com>
2388
2389         WebKit2: create sandbox extensions for files that are dropped in an input control.
2390         https://bugs.webkit.org/show_bug.cgi?id=81153
2391         <rdar://problem/11031207>
2392
2393         Reviewed by Alexey Proskuryakov.
2394
2395         Now the pasteboard access is performed only in the UI process, it is
2396         necessary to create sandbox extensions for each file that is dropped into
2397         an input type=file element. The extensions are created at the time the files
2398         are dropped and consumed immediately.
2399
2400         * page/DragActions.h: Added new drag action to be used by the WebDragClient.
2401         * page/DragController.cpp:
2402         (WebCore::DragController::concludeEditDrag): Added call to the drag client with the new action.
2403
2404 2012-03-19  Eric Seidel  <eric@webkit.org>
2405
2406         Fix Chromium Win
2407         https://bugs.webkit.org/show_bug.cgi?id=81281
2408
2409         Unreviewed build fix.
2410
2411         * platform/graphics/chromium/TransparencyWin.h:
2412
2413 2012-03-19  Eric Seidel  <eric@webkit.org>
2414
2415         Fix the chromium world.
2416         https://bugs.webkit.org/show_bug.cgi?id=81281
2417
2418         Unreviewed build fix.
2419
2420         * rendering/RenderThemeChromiumSkia.cpp:
2421
2422 2012-03-19  Brady Eidson  <beidson@apple.com>
2423
2424         <rdar://problem/10917120> and https://bugs.webkit.org/show_bug.cgi?id=81066
2425         Crash in 3rd party WebKit apps under XHR/Cache code
2426
2427         Reviewed by Antti Koivisto.
2428
2429         No new layout tests.
2430         TestWebKitAPI test MemoryCachePruneWithinResourceLoadDelegate included
2431
2432         A CachedResource representing an XHR was being deleted by cache pruning during a delegate callback.
2433         This worked until http://trac.webkit.org/changeset/98380
2434
2435         * history/PageCache.cpp:
2436         (WebCore::PageCache::releaseAutoreleasedPagesNow): Only trigger pruning after the page cache
2437           autorelease if it was enabled before.
2438
2439         * loader/cache/CachedResourceLoader.cpp:
2440         (WebCore::CachedResourceLoader::loadResource): Disable pruning before loading the resource and
2441           re-enable it afterwards if necessary.
2442
2443         * loader/cache/MemoryCache.h:
2444         (WebCore::MemoryCache::pruneEnabled):
2445
2446 2012-03-19  Anders Carlsson  <andersca@apple.com>
2447
2448         Fix Windows build.
2449
2450         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2451         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDeviceScaleFactor):
2452
2453 2012-03-18  James Robinson  <jamesr@chromium.org>
2454
2455         [chromium] Implement fling-by-wheel on compositor thread
2456         https://bugs.webkit.org/show_bug.cgi?id=81462
2457
2458         Reviewed by Adrienne Walker.
2459
2460         Adds compositor thread support for a fling type implemented as a sequence of wheel scrolls. Covered by new tests
2461         in WebCompositorInputHandlerImplTests.
2462
2463         * platform/graphics/chromium/cc/CCInputHandler.h:
2464         (CCInputHandler):
2465         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2466         (WebCore::CCLayerTreeHostImpl::scheduleAnimation):
2467         (WebCore):
2468         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2469         (CCLayerTreeHostImpl):
2470         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2471         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
2472
2473 2012-03-19  Emil A Eklund  <eae@chromium.org>
2474
2475         [mac/chromium] Change platform code to use pixelSnappedRect methods
2476         https://bugs.webkit.org/show_bug.cgi?id=81016
2477
2478         Reviewed by Eric Seidel.
2479
2480         Change platform code to use Node::getPixelSnappedRect,
2481         pixelSnappedBoundingBoxRect and pixelSnappedAbsoluteClippedOverflowRect
2482         to avoid exposing subpixel types to the platform layer.
2483
2484         No new tests.
2485
2486         * WebCore.exp.in:
2487         * rendering/RenderObject.cpp:
2488         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
2489         Add pixelSnapped version of absoluteClippedOverflowRect
2490         
2491         (WebCore):
2492         * rendering/RenderObject.h:
2493         (RenderObject):
2494
2495 2012-03-19  Brady Eidson  <beidson@apple.com>
2496
2497         <rdar://problem/10848575> and https://bugs.webkit.org/show_bug.cgi?id=81516
2498         REGRESSION (r107435) URLs copied from WebKit apps aren't in the right pasteboard format
2499
2500         Reviewed by Enrica Casucci.
2501
2502         r107435 started saving/restoring URLs as strings.
2503         We need to go back to setting the URL on the pasteboard using AppKit URL pasteboard APIs.
2504
2505         WebKit API test: ContextMenuCanCopyURL
2506         No WebKit2 API test possible at this time.
2507
2508         * platform/mac/PlatformPasteboardMac.mm:
2509         (WebCore::PlatformPasteboard::setURL):
2510
2511 2012-03-19  Anders Carlsson  <andersca@apple.com>
2512
2513         Make the TileCache work with HiDPI again
2514         https://bugs.webkit.org/show_bug.cgi?id=81569
2515         <rdar://problem/11031542>
2516
2517         Reviewed by Sam Weinig.
2518
2519         Set the contentsScale of the individual tile layers to be the same as the device scale factor.
2520         Also, take into account the fact that the value passed to TileCache::setScale is the product of the
2521         page scale factor and the device scale factor, so divide it by the device scale factor before storing
2522         it in m_scale.
2523
2524         * platform/graphics/ca/GraphicsLayerCA.cpp:
2525         (WebCore::GraphicsLayerCA::platformCALayerDeviceScaleFactor):
2526         (WebCore):
2527         * platform/graphics/ca/GraphicsLayerCA.h:
2528         (GraphicsLayerCA):
2529         * platform/graphics/ca/PlatformCALayerClient.h:
2530         (PlatformCALayerClient):
2531         * platform/graphics/ca/mac/TileCache.h:
2532         (TileCache):
2533         * platform/graphics/ca/mac/TileCache.mm:
2534         (WebCore::TileCache::TileCache):
2535         (WebCore::TileCache::setScale):
2536         (WebCore::TileCache::createTileLayer):
2537
2538 2012-03-19  Abhishek Arya  <inferno@chromium.org>
2539
2540         Crash due to layer tree information not updated when moving run-in children.
2541         https://bugs.webkit.org/show_bug.cgi?id=81265
2542
2543         Reviewed by Julien Chaffraix.
2544
2545         We need to do a full removal as the run-in child is getting inserted into
2546         the neighbouring block and |blockRunIn| is going to be destroyed later
2547         in the function.
2548
2549         Test: fast/runin/run-in-layer-not-removed-crash.html
2550
2551         * rendering/RenderBlock.cpp:
2552         (WebCore::RenderBlock::handleRunInChild):
2553
2554 2012-03-19  Dana Jansens  <danakj@chromium.org>
2555
2556         [chromium] Remove misleading double-if
2557         https://bugs.webkit.org/show_bug.cgi?id=81557
2558
2559         Reviewed by Adrienne Walker.
2560
2561         Simple code cleanup, no functionality change.
2562
2563         * platform/graphics/chromium/TiledLayerChromium.cpp:
2564         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2565
2566 2012-03-19  Eric Seidel  <eric@webkit.org>
2567
2568         Fix WTF header include discipline in Chromium WebKit
2569         https://bugs.webkit.org/show_bug.cgi?id=81281
2570
2571         Reviewed by James Robinson.
2572
2573         I also fixed some bad include dicipline for other ports
2574         as well.  Those changes are not yet necessary for those ports
2575         to keep building, but soon should be as those authors
2576         remove all the extra WTF includes from WebCore and other non-WTF projects.
2577
2578         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
2579         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
2580         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
2581         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
2582         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
2583         * bindings/v8/NPV8Object.cpp:
2584         * bindings/v8/SerializedScriptValue.cpp:
2585         * bindings/v8/SerializedScriptValue.h:
2586         * bindings/v8/V8Binding.cpp:
2587         * bindings/v8/V8Binding.h:
2588         * bindings/v8/V8DOMWrapper.cpp:
2589         * bindings/v8/V8Utilities.cpp:
2590         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2591         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2592         * bindings/v8/custom/V8AudioContextCustom.cpp:
2593         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2594         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2595         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
2596         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
2597         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
2598         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
2599         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
2600         * bindings/v8/custom/V8MessagePortCustom.cpp:
2601         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
2602         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
2603         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
2604         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
2605         * bindings/v8/custom/V8WorkerCustom.cpp:
2606         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2607         * bridge/qt/qt_runtime.cpp:
2608         * editing/gtk/FrameSelectionGtk.cpp:
2609         * loader/archive/mhtml/MHTMLArchive.cpp:
2610         * platform/ScrollAnimatorNone.cpp:
2611         * platform/blackberry/CookieMap.h:
2612         * platform/blackberry/CookieParser.h:
2613         * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:
2614         * platform/chromium/DragImageChromiumSkia.cpp:
2615         * platform/chromium/PlatformCursor.h:
2616         * platform/chromium/PlatformSupport.h:
2617         * platform/chromium/PopupMenuPrivate.h:
2618         * platform/chromium/TraceEvent.h:
2619         * platform/chromium/WidgetChromium.cpp:
2620         * platform/efl/RefPtrEfl.h:
2621         * platform/graphics/cairo/RefPtrCairo.h:
2622         * platform/graphics/chromium/RateLimiter.h:
2623         * platform/graphics/chromium/TiledLayerChromium.cpp:
2624         * platform/graphics/efl/IconEfl.cpp:
2625         * platform/graphics/gstreamer/GStreamerGWorld.h:
2626         * platform/graphics/gtk/IconGtk.cpp:
2627         * platform/graphics/skia/PlatformContextSkia.h:
2628         * platform/graphics/texmap/TextureMapperBackingStore.h:
2629         * platform/graphics/texmap/TextureMapperLayer.cpp:
2630         * platform/graphics/wx/TransformationMatrixWx.cpp:
2631         * platform/gtk/PlatformMouseEventGtk.cpp:
2632         * platform/leveldb/LevelDBSlice.h:
2633         * platform/mediastream/MediaStreamCenter.cpp:
2634         * platform/network/soup/SocketStreamHandleSoup.cpp:
2635         * platform/network/win/ResourceHandleWin.cpp:
2636         * platform/qt/RenderThemeQtMobile.cpp:
2637         * platform/wx/MouseEventWx.cpp:
2638         * platform/wx/wxcode/win/fontprops.cpp:
2639
2640 2012-03-19  Dana Jansens  <danakj@chromium.org>
2641
2642         [chromium] Invalidate/update evicted tiles during commit
2643         https://bugs.webkit.org/show_bug.cgi?id=81529
2644
2645         Reviewed by Adrienne Walker.
2646
2647         A previous change caused a regression where evicted (invalid) tiles
2648         were no longer marked as dirty and updated. The regress was caused
2649         in https://bugs.webkit.org/show_bug.cgi?id=81175 and is fixed here.
2650
2651         Unit test: TiledLayerChromiumTest.pushDeletedTiles
2652
2653         * platform/graphics/chromium/TiledLayerChromium.cpp:
2654         (WebCore::UpdatableTile::copyAndClearDirty):
2655         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2656
2657 2012-03-19  Adam Barth  <abarth@webkit.org>
2658
2659         Remove PLATFORM(TORCHMOBILE) ifdef from MainResourceLoader.cpp
2660         https://bugs.webkit.org/show_bug.cgi?id=81549
2661
2662         Reviewed by Eric Seidel.
2663
2664         This appears to be the only PLATFORM(TORCHMOBILE) ifdef in WebCore.  I
2665         don't believe this ifdef is needed anymore.
2666
2667         * loader/MainResourceLoader.cpp:
2668         (WebCore::shouldLoadAsEmptyDocument):
2669         (WebCore):
2670
2671 2012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2672
2673         Unreviewed, rolling out r111207.
2674         http://trac.webkit.org/changeset/111207
2675         https://bugs.webkit.org/show_bug.cgi?id=81561
2676
2677         Causing chromium unit test failure (Requested by reveman on
2678         #webkit).
2679
2680         * platform/graphics/chromium/Extensions3DChromium.h:
2681         (Extensions3DChromium):
2682
2683 2012-03-19  Anders Carlsson  <andersca@apple.com>
2684
2685         Remove unnecessary CALayer overrides from WebTileCacheLayer
2686         https://bugs.webkit.org/show_bug.cgi?id=81562
2687
2688         Reviewed by Dan Bernstein.
2689
2690         * platform/graphics/ca/mac/TileCache.h:
2691         (TileCache):
2692         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
2693
2694 2012-03-19  Emil A Eklund  <eae@chromium.org>
2695
2696         Correct usage of LayoutUnits in page code in preparation for turning on subpixel layout
2697         https://bugs.webkit.org/show_bug.cgi?id=81538
2698
2699         Reviewed by Eric Seidel.
2700
2701         Fix usage of LayoutUnits and conversions between types in page code.
2702
2703         No new tests.
2704
2705         * page/DOMWindow.cpp:
2706         (WebCore::DOMWindow::innerHeight):
2707         (WebCore::DOMWindow::innerWidth):
2708         Explicitly cast long to int. InspectorInstrumentation requires a long and
2709         FractionalLayoutUnit has no constructor that takes long.
2710         
2711         * page/EventHandler.cpp:
2712         (WebCore::EventHandler::sendContextMenuEventForKey):
2713         Pixel snap overflow rect as selection rects are integer based.
2714         
2715         * page/FrameView.cpp:
2716         (WebCore::FrameView::scrollContentsFastPath):
2717         Pixel snap repaint rects when computing update rect as all scrolling is
2718         done on integer bounds.
2719         
2720         * page/GestureTapHighlighter.cpp:
2721         Change rects vector to IntRect as addFocusRingRects operates on IntRects.
2722         
2723         * page/Page.cpp:
2724         (WebCore::Page::addRelevantRepaintedObject):
2725         (WebCore::Page::addRelevantUnpaintedObject):
2726         Change paint methods to take a LayoutRect paint rect.
2727         
2728         * page/SpatialNavigation.cpp:
2729         (WebCore::distanceDataForNode):
2730         Change distance calculation to use floats instead of converting to float
2731         at the end.
2732
2733 2012-03-19  David Hyatt  <hyatt@apple.com>
2734
2735         https://bugs.webkit.org/show_bug.cgi?id=81553
2736         
2737         [New Multicolumn] Stub out classes to represent sets of column region boxes.
2738
2739         RenderRegionSet is an abstract class representing a set of contiguous anonymous
2740         same-size regions.
2741         
2742         RenderMultiColumnSet derives from RenderRegionSet and represents a set of contiguous
2743         columns. It will also handle unique column behavior like column rule painting.
2744         
2745         Eventually there will be a RenderPageSet derived class for printing/pages, but
2746         that will come later after I finish rebuilding multi-column layout.
2747
2748         Reviewed by Dan Bernstein.
2749
2750         * GNUmakefile.list.am:
2751         * Target.pri:
2752         * WebCore.gypi:
2753         * WebCore.vcproj/WebCore.vcproj:
2754         * WebCore.xcodeproj/project.pbxproj:
2755         * rendering/RenderMultiColumnSet.cpp: Added.
2756         (WebCore):
2757         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
2758         (WebCore::RenderMultiColumnSet::renderName):
2759         * rendering/RenderMultiColumnSet.h: Added.
2760         (WebCore):
2761         (RenderMultiColumnSet):
2762         * rendering/RenderRegionSet.cpp: Added.
2763         (WebCore):
2764         (WebCore::RenderRegionSet::RenderRegionSet):
2765         * rendering/RenderRegionSet.h: Added.
2766         (WebCore):
2767         (RenderRegionSet):
2768
2769 2012-03-19  Raymond Toy  <rtoy@google.com>
2770
2771         Add playback state for AudioBufferSourceNode and add number of active nodes
2772         https://bugs.webkit.org/show_bug.cgi?id=79701
2773
2774         Add a playback state to AudioBufferSourceNode so that the user can
2775         tell if the node is scheduled, playing, or finished.
2776
2777         For an AudioContext, add a count of the number of
2778         AudioBufferSourceNode's that are active (playing audio).
2779
2780         Deleted m_isPlaying and m_hasFinished. For the record, m_isPlaying
2781         is the same as a playbackState of SCHEDULED_STATE or PLAYING_STATE.
2782         m_hasFinished is equivalent to a playbackState of FINISHED_STATE.
2783         
2784         Reviewed by Chris Rogers.
2785
2786         Test: webaudio/audiobuffersource-playbackState.html
2787
2788         * webaudio/AudioBufferSourceNode.cpp:
2789         (WebCore):
2790         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
2791         initialize playbackState, remove m_isPlaying, m_hasFinished.
2792         (WebCore::AudioBufferSourceNode::process): Update playbackState
2793         (WebCore::AudioBufferSourceNode::finish): Update playbackState
2794         (WebCore::AudioBufferSourceNode::noteOn): Update playbackState
2795         (WebCore::AudioBufferSourceNode::noteGrainOn): Update playbackState
2796         (WebCore::AudioBufferSourceNode::noteOff): Use playbackState 
2797         * webaudio/AudioBufferSourceNode.h:
2798         (AudioBufferSourceNode): Define states, remove m_isPlaying, m_hasFinished.
2799         (WebCore::AudioBufferSourceNode::playbackState): Added.
2800         * webaudio/AudioBufferSourceNode.idl: Define constants for the
2801         playback state, add attribute playbackState.
2802         * webaudio/AudioContext.cpp:
2803         (WebCore::AudioContext::activeSourceCount): Added.
2804         (WebCore::AudioContext::incrementActiveSourceCount): Added.
2805         (WebCore::AudioContext::decrementActiveSourceCount): Added.
2806         * webaudio/AudioContext.h:
2807         (AudioContext):
2808         * webaudio/AudioContext.idl: Add attribute activeSourceCount.
2809
2810 2012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
2811
2812         Unreviewed, rolling out r109014.
2813         http://trac.webkit.org/changeset/109014
2814         https://bugs.webkit.org/show_bug.cgi?id=81551
2815
2816         Causing crashes (Requested by inferno-sec on #webkit).
2817
2818         * rendering/style/RenderStyle.h:
2819
2820 2012-03-19  Tony Chang  <tony@chromium.org>
2821
2822         Unreviewed, remove headers that no longer exist or moved in WebCore.gypi.
2823
2824         * WebCore.gypi:
2825
2826 2012-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
2827
2828         [CSSRegions]Implement NamedFlow::contentNodes attribute
2829         https://bugs.webkit.org/show_bug.cgi?id=80134
2830
2831         Reviewed by David Hyatt.
2832
2833         The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
2834         In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
2835         The list of nodes is returned as a static node list.
2836
2837         Test: fast/regions/webkit-named-flow-content-nodes.html
2838
2839         * dom/Document.cpp:
2840         (WebCore::Document::webkitGetFlowByName):
2841         * dom/Document.h:
2842         * dom/Element.cpp:
2843         (WebCore::Element::detach):
2844         * dom/NodeRenderingContext.cpp:
2845         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
2846         * dom/WebKitNamedFlow.cpp:
2847         (WebCore::WebKitNamedFlow::contentNodes):
2848         (WebCore):
2849         (WebCore::WebKitNamedFlow::registerContentNode):
2850         * dom/WebKitNamedFlow.h:
2851         (WebCore):
2852         (WebKitNamedFlow):
2853         (WebCore::WebKitNamedFlow::unregisterContentNode):
2854         * dom/WebKitNamedFlow.idl:
2855
2856 2012-03-19  Xingnan Wang  <xingnan.wang@intel.com>
2857
2858         ConvolverNode should not incur processing latency
2859         https://bugs.webkit.org/show_bug.cgi?id=75564
2860
2861         Reviewed by Chris Rogers.
2862
2863         Add the DirectConvolver instead of FFTConvolver for the processing of the leading portion of impulse response.
2864
2865         * WebCore.gypi:
2866         * platform/audio/DirectConvolver.cpp: Added.
2867         (WebCore):
2868         (WebCore::DirectConvolver::DirectConvolver):
2869         (WebCore::DirectConvolver::process):
2870         (WebCore::DirectConvolver::reset):
2871         * platform/audio/DirectConvolver.h: Added.
2872         (WebCore):
2873         (DirectConvolver):
2874         (WebCore::DirectConvolver::convolveSize):
2875         * platform/audio/ReverbConvolver.cpp:
2876         (WebCore::ReverbConvolver::ReverbConvolver):
2877         * platform/audio/ReverbConvolver.h:
2878         * platform/audio/ReverbConvolverStage.cpp:
2879         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
2880         (WebCore::ReverbConvolverStage::process):
2881         (WebCore::ReverbConvolverStage::reset):
2882         * platform/audio/ReverbConvolverStage.h:
2883         (WebCore):
2884         (ReverbConvolverStage):
2885
2886 2012-03-19  Anders Carlsson  <andersca@apple.com>
2887
2888         Find in page highlights get out of place when scrolling
2889         https://bugs.webkit.org/show_bug.cgi?id=81543
2890
2891         Reviewed by Sam Weinig.
2892
2893         Remove a now unused function from GraphicsLayer.
2894
2895         * platform/graphics/GraphicsLayer.h:
2896         (GraphicsLayer):
2897         * platform/graphics/ca/GraphicsLayerCA.h:
2898         (GraphicsLayerCA):
2899
2900 2012-03-19  David Hyatt  <hyatt@apple.com>
2901
2902         https://bugs.webkit.org/show_bug.cgi?id=81534
2903
2904         [New Multicolumn] Make the multi-column block re-layout its children when the column width/count change.
2905         Cache the count/width on the multi-column block for easy access.
2906
2907         Reviewed by Antti Koivisto.
2908
2909         * rendering/RenderBlock.cpp:
2910         (WebCore::RenderBlock::recomputeLogicalWidth):
2911         (WebCore::RenderBlock::layoutBlock):
2912         * rendering/RenderBlock.h:
2913         Virtualize the code that recomputes the logical width for a block and sets relayoutChildren to true,
2914         so that column code can subclass the method to also check for changes in the column width/count.
2915
2916         * rendering/RenderMultiColumnBlock.cpp:
2917         (WebCore::RenderMultiColumnBlock::computeColumnCountAndWidth):
2918         The column count/width determination algorithm in one method on the RenderMultiColumnBlock. It's a copy
2919         of the code from RenderBlock (which will be going away eventually).
2920
2921         (WebCore::RenderMultiColumnBlock::recomputeLogicalWidth):
2922         * rendering/RenderMultiColumnBlock.h:
2923         (RenderMultiColumnBlock):
2924         Subclassed method to also check for changes in the column width to set relayoutChildren to true.
2925
2926 2012-03-19  Michal Mocny  <mmocny@google.com>
2927
2928         [chromium] Updating WebGraphicsContext3D MemoryAllocation callback to accept a struct with have backbuffer suggestion.
2929         https://bugs.webkit.org/show_bug.cgi?id=81279
2930
2931         Reviewed by James Robinson.
2932
2933         * platform/graphics/chromium/Extensions3DChromium.h:
2934         (GpuMemoryAllocationCHROMIUM):
2935         (WebCore::Extensions3DChromium::GpuMemoryAllocationCHROMIUM::GpuMemoryAllocationCHROMIUM):
2936         (GpuMemoryAllocationChangedCallbackCHROMIUM):
2937
2938 2012-03-19  Tony Chang  <tony@chromium.org>
2939
2940         flex-item-align: stretch should only grow, never shrink
2941         https://bugs.webkit.org/show_bug.cgi?id=80882
2942
2943         Reviewed by Ojan Vafai.
2944
2945         New test cases in css3/flexbox/flex-align-stretch.html.
2946
2947         * rendering/RenderFlexibleBox.cpp:
2948         (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
2949         (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
2950         (WebCore):
2951         * rendering/RenderFlexibleBox.h:
2952         (RenderFlexibleBox):
2953
2954 2012-03-19  Vsevolod Vlasov  <vsevik@chromium.org>
2955
2956         Web Inspector: Implement snippets evaluation.
2957         https://bugs.webkit.org/show_bug.cgi?id=81334
2958
2959         Reviewed by Pavel Feldman.
2960
2961         * inspector/front-end/ConsoleView.js:
2962         (WebInspector.ConsoleView.prototype.evaluateUsingTextPrompt):
2963         (WebInspector.ConsoleView.prototype._enterKeyPressed):
2964         * inspector/front-end/ScriptMapping.js:
2965         (WebInspector.MainScriptMapping):
2966         * inspector/front-end/SnippetsModel.js:
2967         * inspector/front-end/externs.js:
2968         (WebInspector.evaluateInConsole):
2969         * inspector/front-end/inspector.js:
2970         (WebInspector.evaluateInConsole):
2971
2972 2012-03-19  Tommy Widenflycht  <tommyw@google.com>
2973
2974         MediaStream API (JSEP): Introducing PeerConnection00Handler
2975         https://bugs.webkit.org/show_bug.cgi?id=81333
2976
2977         Reviewed by Adam Barth.
2978
2979         In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
2980
2981         Not possible to test until the entire JSEP feature is commited.
2982
2983         * GNUmakefile.list.am:
2984         * WebCore.gypi:
2985         * platform/mediastream/PeerConnection00Handler.cpp: Added.
2986         (WebCore):
2987         (WebCore::PeerConnection00Handler::create):
2988         (WebCore::PeerConnection00Handler::PeerConnection00Handler):
2989         (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
2990         (WebCore::PeerConnection00Handler::createOffer):
2991         (WebCore::PeerConnection00Handler::createAnswer):
2992         (WebCore::PeerConnection00Handler::setLocalDescription):
2993         (WebCore::PeerConnection00Handler::setRemoteDescription):
2994         (WebCore::PeerConnection00Handler::localDescription):
2995         (WebCore::PeerConnection00Handler::remoteDescription):
2996         (WebCore::PeerConnection00Handler::startIce):
2997         (WebCore::PeerConnection00Handler::processIceMessage):
2998         (WebCore::PeerConnection00Handler::addStream):
2999         (WebCore::PeerConnection00Handler::removeStream):
3000         (WebCore::PeerConnection00Handler::stop):
3001         * platform/mediastream/PeerConnection00Handler.h: Added.
3002         (WebCore):
3003         (PeerConnection00Handler):
3004         * platform/mediastream/PeerConnection00HandlerClient.h: Added.
3005         (WebCore):
3006         (PeerConnection00HandlerClient):
3007         (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
3008
3009 2012-03-19  David Reveman  <reveman@chromium.org>
3010
3011         [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
3012         https://bugs.webkit.org/show_bug.cgi?id=80988
3013
3014         Reviewed by Adrienne Walker.
3015
3016         Expose EXT_occlusion_query API to WebKit compositor. Add
3017         GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
3018         enums.
3019
3020         * platform/graphics/chromium/Extensions3DChromium.h:
3021         (Extensions3DChromium):
3022
3023 2012-03-19  Mike Lawther  <mikelawther@chromium.org>
3024
3025         CSS3 calc: make mask images work with mixed percent/absolute
3026         https://bugs.webkit.org/show_bug.cgi?id=81477
3027
3028         Reviewed by Ojan Vafai.
3029
3030         Test: css3/calc/simple-composited-mask-expected.html
3031
3032         * css/CSSStyleSelector.cpp:
3033         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3034
3035 2012-03-19  Mark Pilgrim  <pilgrim@chromium.org>
3036
3037         Style cleanup in Modules/filesystem/
3038         https://bugs.webkit.org/show_bug.cgi?id=81520
3039
3040         Reviewed by Adam Barth.
3041
3042         No new tests, all existing tests pass.
3043
3044         * Modules/filesystem/AsyncFileWriter.h:
3045         (WebCore::AsyncFileWriter::~AsyncFileWriter):
3046         * Modules/filesystem/AsyncFileWriterClient.h:
3047         (WebCore::AsyncFileWriterClient::~AsyncFileWriterClient):
3048         * Modules/filesystem/DOMFilePath.cpp:
3049         (WebCore::DOMFilePath::getDirectory):
3050         * Modules/filesystem/DOMFilePath.h:
3051         (DOMFilePath):
3052         * Modules/filesystem/DOMFileSystemBase.h:
3053         (DOMFileSystemBase):
3054         * Modules/filesystem/DirectoryEntry.h:
3055         * Modules/filesystem/DirectoryEntrySync.h:
3056         * Modules/filesystem/EntryArray.h:
3057         (EntryArray):
3058         * Modules/filesystem/FileEntry.h:
3059         (FileEntry):
3060         * Modules/filesystem/FileSystemCallbacks.h:
3061         (FileSystemCallbacksBase):
3062         * Modules/filesystem/FileWriter.cpp:
3063         (WebCore::FileWriter::abort):
3064
3065 2012-03-19  Mike Lawther  <mikelawther@chromium.org>
3066
3067         CSS3 calc: background positioning works with mixed percent/absolute expressions
3068         https://bugs.webkit.org/show_bug.cgi?id=81478
3069
3070         Reviewed by Ojan Vafai.
3071
3072         Test: css3/calc/background-position-parsing-expected.html
3073
3074         * css/CSSStyleSelector.cpp:
3075         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3076
3077 2012-03-19  Alexander Færøy  <alexander.faeroy@nokia.com>
3078
3079         Add NodeRenderStyle.h to TouchAdjustment.cpp
3080
3081         Unreviewed build fix after r111185.
3082
3083         * page/TouchAdjustment.cpp:
3084
3085 2012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>
3086
3087         [BlackBerry] Add PlatformMediaEngineClassName for blackberry in platform/graphics/MediaPlayer.cpp
3088         https://bugs.webkit.org/show_bug.cgi?id=81489
3089
3090         Reviewed by Rob Buis.
3091
3092         * platform/graphics/MediaPlayer.cpp:
3093
3094 2012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>
3095
3096         [BlackBerry] Upstream the BlackBerry change to platform/PlatformKeyboardEvent.h
3097         https://bugs.webkit.org/show_bug.cgi?id=81312
3098
3099         Reviewed by Rob Buis.
3100
3101         * platform/PlatformKeyboardEvent.h:
3102         (Platform):
3103         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3104         (PlatformKeyboardEvent):
3105         (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
3106         Add BlackBerry specific constructor and member fields.
3107         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
3108         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3109         Change the parameter type to const reference type to adapt to the declaration.
3110
3111 2012-03-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3112
3113         Select best target for tap gesture.
3114         https://bugs.webkit.org/show_bug.cgi?id=78801
3115
3116         Reviewed by Kenneth Rohde Christiansen.
3117         IntRect changes reviewed by Dave Hyatt.
3118
3119         The new API is available through EventHandler::bestClickableNodeForTouchPoint, but
3120         implementation details have been placed in page/TouchAdjustment.
3121
3122         The default hit detection is performed by measuring the distance to the center
3123         lines of the absolute rects of the hit nodes. Absolute rects are used instead
3124         of bounding rects to make hit-detecting against links over line breaks. Distance
3125         to center line is used to make it easier to hit small links next to large links.
3126         For line-rects the distance to the center-line is a better expression of the distance
3127         to a rectangles center than the distance to the center-point.
3128
3129         Tests: touchadjustment/event-triggered-widgets.html
3130                touchadjustment/html-label.html
3131                touchadjustment/nested-touch.html
3132                touchadjustment/touch-inlines.html
3133
3134         * Target.pri:
3135         * page/EventHandler.cpp:
3136         (WebCore::EventHandler::handleGestureTap):
3137         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
3138         * page/EventHandler.h:
3139         * page/TouchAdjustment.cpp: Added.
3140         (WebCore::TouchAdjustment::QuadForHitTest::QuadForHitTest):
3141         (WebCore::TouchAdjustment::QuadForHitTest::node):
3142         (WebCore::TouchAdjustment::QuadForHitTest::quad):
3143         (WebCore::TouchAdjustment::QuadForHitTest::boundingBox):
3144         (WebCore::TouchAdjustment::nodeRespondsToTapGesture):
3145         (WebCore::TouchAdjustment::appendAbsoluteQuadsForNodeToHitTestList):
3146         (WebCore::TouchAdjustment::compileQuadsForHitTesting):
3147         (WebCore::TouchAdjustment::distanceSquaredToQuadCenterLine):
3148         (WebCore::TouchAdjustment::findNodeWithLowestMetric):
3149         (WebCore::findBestClickableCandidate):
3150         * page/TouchAdjustment.h: Added.
3151         * platform/graphics/FloatQuad.h:
3152         (WebCore::FloatQuad::center):
3153         * platform/graphics/IntPoint.h:
3154         (WebCore::IntPoint::distanceSquaredToPoint):
3155         * platform/graphics/IntRect.cpp:
3156         (WebCore::distanceToInterval):
3157         (WebCore::IntRect::differenceToPoint):
3158         (WebCore::IntRect::differenceFromCenterLineToPoint):
3159         * platform/graphics/IntRect.h:
3160         (WebCore::IntRect::distanceSquaredToPoint):
3161         (WebCore::IntRect::distanceSquaredFromCenterLineToPoint):
3162         * platform/graphics/IntSize.h:
3163         (WebCore::IntSize::diagonalLengthSquared):
3164         * testing/Internals.cpp:
3165         (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
3166         (WebCore::Internals::touchNodeAdjustedToBestClickableNode):
3167         * testing/Internals.h:
3168         * testing/Internals.idl:
3169
3170 2012-03-19  Mark Pilgrim  <pilgrim@chromium.org>
3171
3172         Add ENABLED(FILE_SYSTEM) to DOMFilePath.h
3173         https://bugs.webkit.org/show_bug.cgi?id=81393
3174
3175         Reviewed by Kentaro Hara.
3176
3177         No new tests, all existing tests pass.
3178
3179         * Modules/filesystem/DOMFilePath.h:
3180
3181 2012-03-19  Max Vujovic  <mvujovic@adobe.com>
3182
3183         inspector highlight of SVG root element with viewbox does not match dimensions of element
3184         https://bugs.webkit.org/show_bug.cgi?id=78037
3185
3186         Reviewed by Nikolas Zimmermann.
3187
3188         Functions such as RenderBox::absoluteQuads and DOMNodeHighlighter::getOrDrawNodeHighlight
3189         eventually call RenderSVGRoot::mapLocalToContainer, passing along local CSS box coordinates.
3190
3191         However, before this patch, RenderSVGRoot::mapLocalToContainer expected local SVG viewport
3192         coordinates. This caused the inspector highlight to be incorrectly sized and positioned.
3193
3194         Now, RenderSVGRoot::mapLocalToContainer expects local CSS box coordinates, like other HTML
3195         renderers.
3196
3197         Test: inspector/elements/highlight-svg-root.html
3198
3199         * dom/Element.cpp:
3200         (WebCore::Element::getBoundingClientRect):
3201             Now, the SVG root element can use the code path for elements with CSS boxes to calculate
3202             its bounding client rect.
3203
3204         * rendering/svg/RenderSVGRoot.cpp:
3205         (WebCore::RenderSVGRoot::mapLocalToContainer):
3206             RenderSVGRoot::mapLocalToContainer no longer needs to apply the
3207             localToBorderBoxTransform to convert from local SVG viewport coordinates to local CSS
3208             box coordinates. Now, it receives local CSS box coordinates.
3209
3210         * rendering/svg/RenderSVGRoot.h:
3211         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
3212             RenderSVGRoot::localToBorderBoxTransform has been exposed for child elements in the SVG
3213             namespace to use when mapping from local SVG viewport coordinates to local CSS box
3214             coordinates.
3215
3216         (RenderSVGRoot):
3217         * rendering/svg/SVGRenderSupport.cpp:
3218         (WebCore::SVGRenderSupport::mapLocalToContainer):
3219             Elements in the SVG namespace should now apply the localToBorderBoxTransform at the
3220             SVG/HTML boundary (aka RenderSVGRoot) when mapping their coordinates up the render tree.
3221
3222         * svg/SVGSVGElement.cpp:
3223         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
3224             Same as above. This method is eventually used in the SVGLocatable::getScreenCTM
3225             calculation.
3226
3227 2012-03-19  Hironori Bono  <hbono@chromium.org>
3228
3229         Add a copy constructor to CollapsedBorderValue
3230         https://bugs.webkit.org/show_bug.cgi?id=81502
3231
3232         Reviewed by Hajime Morita.
3233
3234         Due to the lack of this copy constructor, GCC (x86) creates a broken copy
3235         constructor and it causes a build break on Google Chrome.
3236
3237         * rendering/style/CollapsedBorderValue.h:
3238         (WebCore::CollapsedBorderValue::CollapsedBorderValue):
3239         (CollapsedBorderValue):
3240
3241 2012-03-18  Matt Falkenhagen  <falken@chromium.org>
3242
3243         Fallback to common script when per-script font setting is the empty string
3244         https://bugs.webkit.org/show_bug.cgi?id=81329
3245
3246         Reviewed by Kent Tamura.
3247
3248         Tests: fast/text/international/font-fallback-to-common-script.html
3249
3250         * page/Settings.cpp:
3251         (WebCore::setGenericFontFamilyForScript): Remove the setting when the per-script font family is the empty string.
3252
3253 2012-03-18  Luke Macpherson   <macpherson@chromium.org>
3254
3255         Remove remnants of code that assume Lengths are 28 bit integers.
3256         https://bugs.webkit.org/show_bug.cgi?id=67976
3257
3258         Reviewed by Eric Seidel.
3259
3260         Test: LayoutTests/fast/table/max-width-integer-overflow-expected.html
3261
3262         * css/CSSPrimitiveValue.cpp:
3263         (WebCore::CSSPrimitiveValue::computeLength):
3264         Bound by INT_MAX and INT_MIN instead of 28 bit bounds.
3265         * css/CSSStyleApplyProperty.cpp:
3266         (WebCore::ApplyPropertyBorderRadius::applyValue):
3267         Use PrimitiveValue::computeLength function directly.
3268         * platform/Length.h:
3269         Remove 28 bit integer limit constants.
3270         * rendering/AutoTableLayout.cpp:
3271         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
3272         Use std::numeric_limits.
3273
3274 2012-03-16  Shinya Kawanaka  <shinyak@chromium.org>
3275
3276         Should remove RuntimeEnabledFeatures::multipleShadowSubtreesEnabled
3277         https://bugs.webkit.org/show_bug.cgi?id=79307
3278
3279         Reviewed by Dimitri Glazkov.
3280
3281         Since RuntimeEnabledFeatures::multipleShadowSubtreesEnabled was introduced for
3282         temporal unstability of multiple shadow roots. We should remove it now, and
3283         enable it by default.
3284
3285         Test: fast/dom/shadow/shadow-root-js-api.html should cover this change.
3286         The other shadow related tests should also covers this change.
3287
3288         * WebCore.exp.in:
3289         * bindings/generic/RuntimeEnabledFeatures.cpp:
3290         (WebCore):
3291         * bindings/generic/RuntimeEnabledFeatures.h:
3292         (RuntimeEnabledFeatures):
3293         * dom/ShadowRoot.cpp:
3294         (WebCore::ShadowRoot::create):
3295         * dom/ShadowTree.cpp:
3296         (WebCore::ShadowTree::addShadowRoot):
3297         * testing/Internals.cpp:
3298         * testing/Internals.h:
3299         (Internals):
3300         * testing/Internals.idl:
3301
3302 2012-03-18  Dana Jansens  <danakj@chromium.org>
3303
3304         [chromium] Don't occlude on main-thread behind layers/surfaces with impl-thread animations
3305         https://bugs.webkit.org/show_bug.cgi?id=81354
3306
3307         Reviewed by Adrienne Walker.
3308
3309         Layers and surfaces can have an animating opacity or translation on the
3310         impl thread. In this case, the main thread does not know their actual
3311         values, and treats these values as "unknowns". This means we can't use
3312         them for marking areas of the screen as occluded, and we can't consider
3313         a part of a layer occluded in a space that we can not reliably transform
3314         to.
3315
3316         Unit test: CCOcclusionTrackerTestAnimationOpacity0OnMainThread
3317                    CCOcclusionTrackerTestAnimationOpacity1OnMainThread
3318                    CCOcclusionTrackerTestAnimationTranslateOnMainThread
3319
3320         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
3321         (WebCore::layerOpacityKnown):
3322         (WebCore::layerTransformsToTargetKnown):
3323         (WebCore::layerTransformsToScreenKnown):
3324         (WebCore):
3325         (WebCore::surfaceOpacityUnknown):
3326         (WebCore::surfaceTransformsToTargetUnknown):
3327         (WebCore::surfaceTransformsToScreenUnknown):
3328         (WebCore::::finishedTargetRenderSurface):
3329         (WebCore::contentToScreenSpaceTransform):
3330         (WebCore::contentToTargetSurfaceTransform):
3331         (WebCore::::markOccludedBehindLayer):
3332         (WebCore::::occluded):
3333         (WebCore::::unoccludedContentRect):
3334
3335 2012-03-18  Dana Jansens  <danakj@chromium.org>
3336
3337         [chromium] Animating opacity is not opaque and should create a render surface on main thread
3338         https://bugs.webkit.org/show_bug.cgi?id=81401
3339
3340         Reviewed by James Robinson.
3341
3342         Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
3343
3344         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3345         (WebCore::layerOpacityIsOpaque):
3346         (WebCore):
3347         (WebCore::subtreeShouldRenderToSeparateSurface):
3348
3349 2012-03-18  Sam Weinig  <sam@webkit.org>
3350
3351         WebCore::BitmapImage::getCGImageRef should not be used off the main thread.
3352         https://bugs.webkit.org/show_bug.cgi?id=81441
3353
3354         Reviewed by Anders Carlsson.
3355
3356         Covered by existing tests.
3357
3358         * loader/cache/MemoryCache.cpp:
3359         (WebCore::memoryCache):
3360         (WebCore::MemoryCache::add):
3361         (WebCore::MemoryCache::revalidationFailed):
3362         (WebCore::MemoryCache::resourceForURL):
3363         (WebCore::MemoryCache::evict):
3364         Add back main thread assertions.
3365
3366         * platform/graphics/cg/PatternCG.cpp:
3367         (PatternCallbackData):
3368         (WebCore::patternCallback):
3369         (WebCore::patternReleaseOnMainThreadCallback):
3370         (WebCore::Pattern::createPlatformPattern):
3371         Instead of pulling out the CGImageRef in the pattern callback, do it upfront.
3372
3373 2012-03-18  Alexander Færøy  <alexander.faeroy@nokia.com>
3374
3375         [Qt] Don't prepare SQL statements when the database is not open
3376         https://bugs.webkit.org/show_bug.cgi?id=81470
3377
3378         Reviewed by Kenneth Rohde Christiansen.
3379
3380         Already covered by existing tests.
3381
3382         * platform/qt/CookieJarQt.cpp:
3383         (WebCore::SharedCookieJarQt::deleteCookiesForHostname):
3384         (WebCore::SharedCookieJarQt::deleteAllCookies):
3385         (WebCore::SharedCookieJarQt::setCookiesFromUrl):
3386         (WebCore::SharedCookieJarQt::loadCookies):
3387
3388 2012-03-18  Kentaro Hara  <haraken@chromium.org>
3389
3390         Unreviewed, rolling out r110994 due to Chromium crash
3391
3392         * CMakeLists.txt:
3393         * DerivedSources.make:
3394         * DerivedSources.pri:
3395         * GNUmakefile.list.am:
3396         * Target.pri:
3397         * WebCore.gypi:
3398         * WebCore.vcproj/WebCore.vcproj:
3399         * WebCore.xcodeproj/project.pbxproj:
3400         * notifications/DOMWindowNotifications.cpp: Removed.
3401         * notifications/DOMWindowNotifications.h: Removed.
3402         * notifications/DOMWindowNotifications.idl: Removed.
3403         * page/DOMWindow.cpp:
3404         (WebCore::DOMWindow::~DOMWindow):
3405         (WebCore::DOMWindow::willDetachPage):
3406         (WebCore::DOMWindow::disconnectDOMWindowProperties):
3407         (WebCore::DOMWindow::clearDOMWindowProperties):
3408         (WebCore):
3409         (WebCore::DOMWindow::webkitNotifications):
3410         (WebCore::DOMWindow::resetNotifications):
3411         * page/DOMWindow.h:
3412         (WebCore):
3413         (DOMWindow):
3414         * page/DOMWindow.idl:
3415         * page/Frame.cpp:
3416         (WebCore::Frame::willDetachPage):
3417         (WebCore::Frame::transferChildFrameToNewDocument):
3418
3419 2012-03-18  Kentaro Hara  <haraken@chromium.org>
3420
3421         Unreviewed, rolling out r111086.
3422         http://trac.webkit.org/changeset/111086
3423         https://bugs.webkit.org/show_bug.cgi?id=81374
3424
3425         Chromium crash
3426
3427         * notifications/DOMWindowNotifications.cpp:
3428         (WebCore::DOMWindowNotifications::disconnectFrame):
3429
3430 2012-03-18  David Reveman  <reveman@chromium.org>
3431
3432         Invalidation issue when creating backing layer for fixed positioned element.
3433         https://bugs.webkit.org/show_bug.cgi?id=80647
3434
3435         Reviewed by James Robinson.
3436
3437         Ensure that root layer is correctly invalidated by handling scroll and
3438         invalidation from movement of fixed position elements prior to creating
3439         any backing layers.
3440
3441         Test: compositing/layer-creation/fixed-position-scroll.html
3442
3443         * page/FrameView.cpp:
3444         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
3445         (WebCore):
3446         (WebCore::FrameView::updateFixedElementsAfterScrolling):
3447         * page/FrameView.h:
3448         (FrameView):
3449         * platform/ScrollView.cpp:
3450         (WebCore::ScrollView::scrollTo):
3451         * platform/ScrollView.h:
3452         (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
3453         (WebCore::ScrollView::updateFixedElementsAfterScrolling):</