0cd8a89670a4e8d4aa2e17dc12dfb3e5da54cfa5
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-21  David Barton  <dbarton@mathscribe.com>
2
3         MathML internals - improve naming in RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
4         https://bugs.webkit.org/show_bug.cgi?id=81850
5
6         Reviewed by Eric Seidel.
7
8         This prepares these files for bug fixes, and eventually combining their common code. To
9         understand this patch, I suggest you start with RenderMathMLSquareRoot.cpp, as it's
10         simpler than RenderMathMLRoot.cpp.
11
12         No new tests. LayoutTests/mathml/presentation/roots.xhtml is thorough enough for this.
13
14         * rendering/mathml/RenderMathMLRoot.cpp:
15         (WebCore):
16         (WebCore::RenderMathMLRoot::addChild):
17         (WebCore::RenderMathMLRoot::paint):
18         (WebCore::RenderMathMLRoot::layout):
19         * rendering/mathml/RenderMathMLRoot.h:
20         (WebCore):
21         (RenderMathMLRoot):
22         * rendering/mathml/RenderMathMLSquareRoot.cpp:
23         (WebCore):
24         (WebCore::RenderMathMLSquareRoot::paint):
25         (WebCore::RenderMathMLSquareRoot::layout):
26         * rendering/mathml/RenderMathMLSquareRoot.h:
27         (WebCore):
28         (RenderMathMLSquareRoot):
29         * rendering/mathml/RenderMathMLSubSup.h:
30         (WebCore):
31
32 2012-03-21  Tony Chang  <tony@chromium.org>
33
34         refactor flexbox in preparation for flex-line-pack
35         https://bugs.webkit.org/show_bug.cgi?id=81843
36
37         Reviewed by Ojan Vafai.
38
39         Replace WrapReverseContext with a vector of LineContexts that contain
40         the same information, plus values needed for flex-align.
41
42         alignChildren has been moved to after all the lines have been
43         positioned. We want to align children after flex-line-pack has changed
44         the size of each line to avoid unnecessary layouts.
45
46         No new tests, just refactoring.
47
48         * rendering/RenderFlexibleBox.cpp:
49         (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
50         holds information needed for wrap-reverse and aligning children.
51         (RenderFlexibleBox::LineContext):
52         (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
53         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
54         (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
55         (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
56         * rendering/RenderFlexibleBox.h:
57
58 2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
59
60         BDI element should have dir=auto by default
61         https://bugs.webkit.org/show_bug.cgi?id=68773
62
63         Reviewed by Daniel Bates.
64
65         Treat bdi elements without dir content attribute as if they have dir=auto per spec:
66         http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-bdi-element
67
68         The patch tries to encapsulate the logic to look for dir content attribute and dir=auto.
69
70         It also adds HTMLBDIElement interface (binding remains to use HTMLElement) to set
71         selfOrAncestorHasDirAutoAttribute flag true by default, which is used by functions like
72         directionalityIfhasDirAutoAttribute to look for elements with dir=auto. Since dir=auto-ness of bdi
73         elements can be overridden by dir content attribute, we must change and only change the default value.
74
75         Tests: fast/text/international/bdi-dir-default-to-auto-expected.html
76                fast/text/international/bdi-dir-default-to-auto.html
77
78         * GNUmakefile.list.am:
79         * Target.pri:
80         * WebCore.gypi:
81         * WebCore.vcproj/WebCore.vcproj:
82         * WebCore.xcodeproj/project.pbxproj:
83         * css/CSSStyleSelector.cpp:
84         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
85         * html/HTMLBDIElement.h: Added.
86         (WebCore):
87         (HTMLBDIElement):
88         (WebCore::HTMLBDIElement::create):
89         (WebCore::HTMLBDIElement::HTMLBDIElement): Sets selfOrAncestorHasDirAutoAttribute to true because
90         bdi elements are treated as if it has dir=auto by default.
91         * html/HTMLElement.cpp:
92         (WebCore::elementAffectsDirectionality): Added. Checks if the specified element is bdi or
93         has dir content attribute.
94         (WebCore):
95         (WebCore::setHasDirAutoFlagRecursively):
96         (WebCore::HTMLElement::hasDirectionAuto): Added. Checks if the specified element should be treated
97         as if it has dir=auto (bdi or element with dir=auto).
98         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
99         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
100         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
101         * html/HTMLElement.h:
102         (HTMLElement):
103         * html/HTMLTagNames.in: Use HTMLBDIElement instead of HTMLElement for constructing bdi element
104         to set selfOrAncestorHasDirAutoAttribute true but still use HTMLElement for binding.
105
106 2012-03-21  Luke Macpherson  <macpherson@chromium.org>
107
108         Use CSSPrimitiveValue::convertToLength() in a few places.
109         https://bugs.webkit.org/show_bug.cgi?id=81492
110
111         Reviewed by Eric Seidel.
112
113         No new tests - refactoring only.
114
115         CSSPrimitiveValue::convertToLength() provides the same functionality that is duplicated
116         in many places in CSSStyleSelector. This patch removes some of that code duplication.
117
118         * css/CSSStyleApplyProperty.cpp:
119         (WebCore::ApplyPropertyVerticalAlign::applyValue):
120         * css/CSSStyleSelector.cpp:
121         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
122
123 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
124
125         Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r111601.
126
127         * rendering/svg/RenderSVGRoot.cpp:
128
129 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
130
131         Build fix for !ENABLE(INSPECTOR) after r104831.
132
133         * bindings/js/ScriptDebugServer.cpp:
134         (WebCore::ScriptDebugServer::dispatchDidParseSource):
135
136 2012-03-21  Xiaomei Ji  <xji@chromium.org>
137
138         visual word movement: using cache to decrease the number of collectLeafBoxesInLogicalOrder on RootInlineBox
139         https://bugs.webkit.org/show_bug.cgi?id=81408
140
141         Reviewed by Ryosuke Niwa.
142
143         Cache logically ordered leaf boxes under a particular root box.
144         Also, move 'Vector<UChar, 1024> string' declared in visualWordPosition() to outside of loop (it is always
145         clear-ed before use).
146
147         * editing/visible_units.cpp:
148         (CachedLogicallyOrderedLeafBoxes): Add class to cache logically ordered leaf boxes under a particular root box.
149         (WebCore::CachedLogicallyOrderedLeafBoxes::size):
150         (WebCore::CachedLogicallyOrderedLeafBoxes::firstBox):
151         (WebCore):
152         (WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes):
153         (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextBox):
154         (WebCore::CachedLogicallyOrderedLeafBoxes::nextTextBox):
155         (WebCore::CachedLogicallyOrderedLeafBoxes::collectBoxes):
156         (WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves):
157         (WebCore::logicallyPreviousBox): Pass CachedLogicallyOrderedLeafBoxes object around.
158         (WebCore::logicallyNextBox):
159         (WebCore::wordBreakIteratorForMinOffsetBoundary):
160         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
161         (WebCore::visualWordPosition):
162
163 2012-03-21  Dana Jansens  <danakj@chromium.org>
164
165         [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
166         https://bugs.webkit.org/show_bug.cgi?id=81437
167
168         Reviewed by Adrienne Walker.
169
170         Split CCLayerTreeHostImpl::drawLayers() into two phases:
171         prepareToDraw() and drawLayers().
172
173         When calculating a RenderPass, and we checkerboard a quad on a
174         layer, bubble this info back up to CCLayerTreeHostImpl. If the
175         layer is transforming in an animation, then abort the prepareToDraw()
176         phase and cause it to return false back to the thread proxy.
177
178         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
179
180         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
181         (WebCore::CCLayerImpl::appendQuads):
182         * platform/graphics/chromium/cc/CCLayerImpl.h:
183         (CCLayerImpl):
184         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
185         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
186         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
187         (WebCore):
188         (WebCore::CCLayerTreeHostImpl::drawLayers):
189         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
190         (CCLayerTreeHostImpl):
191         (FrameData):
192         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
193         (WebCore::CCQuadCuller::append):
194         * platform/graphics/chromium/cc/CCQuadCuller.h:
195         (CCQuadCuller):
196         * platform/graphics/chromium/cc/CCRenderPass.cpp:
197         (WebCore::CCRenderPass::appendQuadsForLayer):
198         * platform/graphics/chromium/cc/CCRenderPass.h:
199         (CCRenderPass):
200         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
201         (WebCore::CCScrollbarLayerImpl::appendQuads):
202         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
203         (CCScrollbarLayerImpl):
204         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
205         (WebCore::CCSingleThreadProxy::doComposite):
206         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
207         (WebCore::CCSolidColorLayerImpl::appendQuads):
208         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
209         (CCSolidColorLayerImpl):
210         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
211         (WebCore::CCTextureLayerImpl::appendQuads):
212         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
213         (CCTextureLayerImpl):
214         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
215         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
216         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
217         (WebCore::CCTiledLayerImpl::appendQuads):
218         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
219         (CCTiledLayerImpl):
220         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
221         (WebCore::CCVideoLayerImpl::appendQuads):
222         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
223         (CCVideoLayerImpl):
224
225 2012-03-21  Enrica Casucci  <enrica@apple.com>
226
227         WebKitURLWithTitles pasteboard format should support URLs containing Emoji characters.
228         https://bugs.webkit.org/show_bug.cgi?id=81835
229         <rdar://problem/11082749>
230
231         Reviewed by Brady Eidson.
232
233         When writing the URL in the pasteboard for the WebURLWithTitles format,
234         we use the user visible string instead of the original URL.
235         In case of URL with Unicode characters, we lose the encoding.
236         
237         Added TestWebKitAPI test.
238
239         * platform/mac/PasteboardMac.mm:
240         (WebCore::writeURLForTypes): Writes to the pasteboard the original URL.
241
242 2012-03-21  Levi Weintraub  <leviw@chromium.org>
243
244         Correct LayoutUnit usage in VisiblePosition.cpp
245         https://bugs.webkit.org/show_bug.cgi?id=81775
246
247         Reviewed by Eric Seidel.
248
249         Correcting a mismatch between the .h and .cpp for the definition of localCaretRect,
250         and properly using LayoutUnits for local coordinates.
251
252         No new tests. No change in behavior.
253
254         * editing/VisiblePosition.cpp:
255         (WebCore::VisiblePosition::localCaretRect): Switching to return a LayoutRect, as in the
256         header. Local coordinates are in LayoutUnits.
257         (WebCore::VisiblePosition::absoluteCaretBounds): Using LayoutRect for the localCaretRect.
258         (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Ditto.
259
260 2012-03-21  Adam Klein  <adamk@chromium.org>
261
262         "this" argument for MutationCallbacks should be the MutationObserver
263         https://bugs.webkit.org/show_bug.cgi?id=81712
264
265         Reviewed by Adam Barth.
266
267         Test: fast/mutation/callback-arguments.html
268
269         * bindings/js/JSCallbackData.cpp:
270         (WebCore::JSCallbackData::invokeCallback): Add an overload that takes
271         an explicit this argument and have the old method call the new one.
272         * bindings/js/JSCallbackData.h:
273         (JSCallbackData):
274         * bindings/js/JSMutationCallbackCustom.cpp:
275         (WebCore::JSMutationCallback::handleEvent): Call the new overload.
276         * bindings/v8/custom/V8CustomVoidCallback.cpp:
277         (WebCore::invokeCallback): Add an overload that takes an explicit this
278         argument and have the old method call the new one.
279         * bindings/v8/custom/V8CustomVoidCallback.h:
280         (WebCore):
281         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
282         (WebCore::V8MutationCallback::handleEvent): Call the new overload.
283
284 2012-03-21  Alexandru Chiculita  <achicu@adobe.com>
285
286         [CSS Shaders] Make CSS Shaders compile on Chromium
287         https://bugs.webkit.org/show_bug.cgi?id=81435
288
289         Reviewed by Stephen White.
290
291         This patch enables the CSS Shaders compile time flag, but keeps the runtime flag disabled.
292         The only way to test the functionality now is to use the overridePreference from dump render tree.
293
294         Also part of this patch I fix a layering violation: I removed the "Document" reference from the FECustomFilter.cpp and passed the
295         HostWindow directly. There should be no problem when the HostWindow changes, because the RenderLayer and the FECustomFilter
296         get recreated anyway.
297
298         No new tests. I've updated the existing custom filter tests to run under Chromium and added the expected results.
299         I've just added window.layoutTestController.overridePreference("WebKitCSSCustomFilterEnabled", "1") to force 
300         enable the feature at runtime. 
301
302         * loader/cache/CachedResource.cpp: Made CachedResource::ShaderResource report as ResourceRequest::TargetIsSubresource for Chromium.
303         (WebCore::cachedResourceTypeToTargetType):
304
305         * platform/graphics/filters/FECustomFilter.cpp:
306         (WebCore::FECustomFilter::FECustomFilter): Removed Document and just used the HostWindow directly.
307         (WebCore::FECustomFilter::create):
308         (WebCore::FECustomFilter::initializeContext):
309         (WebCore::FECustomFilter::bindVertexAttribute): There was a typo and instead of using the "size" parameter it always used 4 component attribute.
310         Other drivers didn't complain about it, but it was clearly a bug.
311         (WebCore::FECustomFilter::bindProgramAndBuffers): Reading the image back from GPU will flip vertically the framebuffer in Chromium. I've flipped the
312         projection matrix only on Chromium, so that we get the correct result.
313
314         * rendering/FilterEffectRenderer.cpp:
315         (WebCore::FilterEffectRenderer::build): Passing the HostWindow instead of the Document.
316
317 2012-03-21  Mark Pilgrim  <pilgrim@chromium.org>
318
319         Realphabetize about webaudio move
320         https://bugs.webkit.org/show_bug.cgi?id=81825
321
322         Reviewed by Adam Barth.
323
324         No new tests, all existing tests pass.
325
326         * CMakeLists.txt:
327
328 2012-03-21  Anders Carlsson  <andersca@apple.com>
329
330         Evict tiles from pages in background tabs
331         https://bugs.webkit.org/show_bug.cgi?id=81829
332         <rdar://problem/10866152>
333
334         Reviewed by Andreas Kling.
335
336         When the tile cache for a page is no longer in a window (which happens when it's moved to 
337         a background tab), schedule a tile revalidation after 4 seconds. This tile revalidation 
338         will ensure that tiles outside of the visible rect will be dropped.
339
340         * platform/graphics/ca/mac/TileCache.h:
341         (TileCache):
342         * platform/graphics/ca/mac/TileCache.mm:
343         (WebCore::TileCache::tileCacheLayerBoundsChanged):
344         (WebCore::TileCache::setIsInWindow):
345         (WebCore::TileCache::tileCoverageRect):
346         (WebCore):
347         (WebCore::TileCache::scheduleTileRevalidation):
348         (WebCore::TileCache::revalidateTiles):
349
350 2012-03-21  Stephen Chenney  <schenney@chromium.org>
351
352         SVG layout leaves objects still needing layout
353         https://bugs.webkit.org/show_bug.cgi?id=81006
354
355         Reviewed by Nikolas Zimmermann.
356
357         Change the layout of SVG objects such that resources that trigger
358         layout of other objects are handled in a distinct pass, and then
359         objects still requiring layout are laid out again.
360
361         Test: svg/custom/delete-text-innerText-crash.html
362
363         * rendering/svg/RenderSVGResourceContainer.cpp:
364         (WebCore::RenderSVGResourceContainer::layout):
365         * rendering/svg/RenderSVGResourceMarker.cpp:
366         (WebCore::RenderSVGResourceMarker::layout):
367         * rendering/svg/RenderSVGRoot.cpp:
368         (WebCore::RenderSVGRoot::layout):
369         (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
370         (WebCore):
371         * rendering/svg/RenderSVGRoot.h:
372         (RenderSVGRoot):
373
374 2012-03-21  Tim Horton  <timothy_horton@apple.com>
375
376         Make use of CG rounded-rect primitives
377         https://bugs.webkit.org/show_bug.cgi?id=79932
378         <rdar://problem/9274953>
379
380         Reviewed by Simon Fraser.
381
382         Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
383
384         Dispatch to potentially platform-specific rounded rectangle path
385         construction from addPathForRoundedRect. Make use of this to call
386         wkCGPathAddRoundedRect on Lion and above, as long as the rounded
387         corners are all equivalent.
388
389         The origin of the stroke dash differs between the bezier approach
390         and the path added by wkCGPathAddRoundedRect, so Path::addRoundedRect()
391         takes a new parameter allowing code which is sensitive to stroke dash
392         origin (i.e. SVG) to fall back to the old behavior if need be.
393
394         Make use of the new Path::addRoundedRect() parameter to fall back to
395         the old (bezier) rounded-rect behavior when constructing a dashed SVG path,
396         in order to continue complying with the spec.
397
398         No new tests, as this is covered by many that use rounded corners,
399         and is only a performance improvement.
400
401         * WebCore.exp.in:
402         * platform/graphics/Path.cpp:
403         (WebCore::Path::addRoundedRect):
404         (WebCore):
405         (WebCore::Path::addPathForRoundedRect):
406         * platform/graphics/Path.h:
407         (Path):
408         * platform/graphics/cg/PathCG.cpp:
409         (WebCore::Path::platformAddPathForRoundedRect):
410         (WebCore):
411         * platform/mac/WebCoreSystemInterface.h:
412         * platform/mac/WebCoreSystemInterface.mm:
413         * rendering/svg/SVGPathData.cpp:
414         (WebCore::updatePathFromRectElement):
415
416 2012-03-21  David Reveman  <reveman@chromium.org>
417
418         [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
419         https://bugs.webkit.org/show_bug.cgi?id=80988
420
421         Reviewed by Adrienne Walker.
422
423         Expose EXT_occlusion_query API to WebKit compositor. Add
424         GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
425         enums.
426
427         * platform/graphics/chromium/Extensions3DChromium.h:
428         (Extensions3DChromium):
429
430 2012-03-21  Tony Chang  <tony@chromium.org>
431
432         compute the sign of flexibility for new flexbox
433         https://bugs.webkit.org/show_bug.cgi?id=81722
434
435         Reviewed by Ojan Vafai.
436
437         This implements the computation of the sign of flexibility used by the
438         new flexing algorithm.
439         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
440
441         No new tests, we don't use the sign of flexibility yet.
442
443         * rendering/RenderFlexibleBox.cpp:
444         (WebCore::RenderFlexibleBox::layoutFlexItems):
445         (WebCore::RenderFlexibleBox::computeNextFlexLine): Compute the size
446         adjusted for min/max as well as not adjusted.
447         (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Renamed to match
448         spec text better.
449         * rendering/RenderFlexibleBox.h: Added enum for flex sign.
450
451 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
452
453         Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
454         https://bugs.webkit.org/show_bug.cgi?id=81669
455
456         Reviewed by Pavel Feldman.
457
458         * inspector/front-end/BreakpointManager.js:
459         (WebInspector.BreakpointManager.get for):
460         (WebInspector.BreakpointManager):
461         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
462         (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
463         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
464         (WebInspector.BreakpointManager.prototype.setBreakpoint):
465         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
466         (WebInspector.BreakpointManager.prototype._innerRemoveBreakpoint):
467         (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
468         (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
469         (WebInspector.BreakpointManager.prototype._uiBreakpoints.get this):
470         (WebInspector.BreakpointManager.prototype._uiBreakpoints):
471         (WebInspector.BreakpointManager.prototype.get _uiBreakpoint):
472         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
473         (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
474         (WebInspector.BreakpointManager.prototype._breakpoints):
475         (WebInspector.BreakpointManager.prototype._breakpoint):
476         (WebInspector.BreakpointManager.prototype._addBreakpointToModel):
477         (WebInspector.BreakpointManager.prototype._removeBreakpointFromModel):
478         (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
479         (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
480         (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
481         (WebInspector.BreakpointManager.prototype.debuggerReset):
482         (WebInspector.Breakpoint.prototype.serialize):
483         (WebInspector.Breakpoint.prototype.get uiBreakpoint):
484         (WebInspector.Breakpoint.prototype.createUIBreakpoint):
485         (WebInspector.Breakpoint.prototype.removeUIBreakpoint):
486         (WebInspector.UIBreakpoint):
487         * inspector/front-end/DebuggerPresentationModel.js:
488         (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
489         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
490         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
491         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
492         * inspector/front-end/ScriptsPanel.js:
493
494 2012-03-21  Anders Carlsson  <andersca@apple.com>
495
496         TileCache needs to know if its containing page is in a window
497         https://bugs.webkit.org/show_bug.cgi?id=81821
498
499         Reviewed by Andreas Kling.
500
501         This is in preparation for throwing away invisible tiles in background tabs to reduce memory usage.
502
503         * page/FrameView.cpp:
504         (WebCore::FrameView::didMoveOnscreen):
505         (WebCore::FrameView::willMoveOffscreen):
506         * page/Page.cpp:
507         (WebCore::Page::Page):
508         (WebCore::Page::didMoveOnscreen):
509         (WebCore::Page::willMoveOffscreen):
510         * page/Page.h:
511         (WebCore::Page::isOnscreen):
512         (Page):
513         * platform/graphics/TiledBacking.h:
514         (TiledBacking):
515         * platform/graphics/ca/mac/TileCache.h:
516         (TileCache):
517         * platform/graphics/ca/mac/TileCache.mm:
518         (WebCore::TileCache::TileCache):
519         (WebCore::TileCache::setIsInWindow):
520         (WebCore):
521         * rendering/RenderLayerBacking.cpp:
522         (WebCore::RenderLayerBacking::RenderLayerBacking):
523
524 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
525
526         Web audio layout test failed in debug with an ASSERT error in ReverbConvolverStage.cpp
527         https://bugs.webkit.org/show_bug.cgi?id=81744
528
529         Reviewed by Chris Rogers.
530
531         * platform/audio/ReverbConvolverStage.cpp:
532         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
533
534 2012-03-21  Xiaomei Ji  <xji@chromium.org>
535
536         [chromium] Font fallback in cr-win is wrong for string contains zero-width-space.
537         https://bugs.webkit.org/show_bug.cgi?id=79961
538
539         Reviewed by Adam Barth.
540
541         Treat zero-width-space (\u200B) as true for treatAsZeroWidthSpaceInComplexScipt().
542
543         * platform/graphics/Font.h:
544         (WebCore::Font::treatAsZeroWidthSpaceInComplexScript):
545         * platform/graphics/mac/ComplexTextController.cpp:
546         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
547         * platform/graphics/win/UniscribeController.cpp:
548         (WebCore::UniscribeController::shapeAndPlaceItem):
549
550 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
551
552         Build fix for !ENABLE(INSPECTOR) after r111005.
553
554         * inspector/ContentSearchUtils.h:
555
556 2012-03-21  Ulan Degenbaev  <ulan@chromium.org>
557
558         [V8] V8GCForContextDispose should indicate whether a context is disposed for the main frame or not
559         https://bugs.webkit.org/show_bug.cgi?id=81200
560
561         Reviewed by Adam Barth.
562
563         Pass a hint to V8::IdleNotification that requests more aggressive GC
564         when a main frame context is disposed and requests incremental GC otherwise.
565
566         * bindings/v8/V8DOMWindowShell.cpp:
567         (WebCore::V8DOMWindowShell::disposeContextHandles):
568         * bindings/v8/V8GCForContextDispose.cpp:
569         (WebCore::V8GCForContextDispose::V8GCForContextDispose):
570         (WebCore::V8GCForContextDispose::notifyContextDisposed):
571         (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
572         * bindings/v8/V8GCForContextDispose.h:
573         (V8GCForContextDispose):
574
575 2012-03-21  Nat Duca  <nduca@chromium.org>
576
577         [chromium] CCThreadProxy must initialize frameBeginTime to monotonicallyIncreasingTime rather than zero
578         https://bugs.webkit.org/show_bug.cgi?id=81790
579
580         Reviewed by James Robinson.
581
582         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
583         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
584
585 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
586
587         Add multichannel support in RealtimeAnalyser
588         https://bugs.webkit.org/show_bug.cgi?id=81745
589
590         Reviewed by Chris Rogers.
591
592         * Modules/webaudio/RealtimeAnalyser.cpp:
593         (WebCore::RealtimeAnalyser::writeInput):
594         (WebCore):
595
596 2012-03-21  Eric Carlson  <eric.carlson@apple.com>
597
598         Removing HTMLTrackElement does not delete TextTrack
599         https://bugs.webkit.org/show_bug.cgi?id=80873
600
601         Reviewed by Antti Koivisto.
602
603         No new tests, but media/track/track-language-preference.html has been updated
604         to test this fix.
605
606         * html/HTMLMediaElement.cpp:
607         (WebCore::HTMLMediaElement::didAddTrack): Renamed from trackWasAdded.
608         (WebCore::HTMLMediaElement::willRemoveTrack): Renamed from trackWasRemoved because it is
609         called before the track is removed, to allow the TextTrack to be removed.
610         * html/HTMLMediaElement.h:
611
612         * html/HTMLTrackElement.cpp:
613         (WebCore::HTMLTrackElement::insertedIntoTree): Renamed from insertedIntoDocument
614         (WebCore::HTMLTrackElement::willRemove): Renamed from removedFromDocument.
615         * html/HTMLTrackElement.h:
616
617         * html/track/LoadableTextTrack.cpp:
618         (WebCore::LoadableTextTrack::trackElementIndex): Don't include tracks that are not in the
619         document in the calcualtion.
620
621 2012-03-21  Zeno Albisser  <zeno@webkit.org>
622
623         [Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
624         https://bugs.webkit.org/show_bug.cgi?id=81750
625
626         Building WebCore on mac currently creates an archive that is bigger than
627         4GB. But ranlib fails to create a symbol table for such a big archive,
628         even on 64bit machines.
629         Therefore we start using SVGAllInOne.cpp when building debug
630         on mac. This reduces the size of the archive by about 300MB.
631
632         Reviewed by Tor Arne Vestbø.
633
634         * Target.pri:
635
636 2012-03-21  Tommy Widenflycht  <tommyw@google.com>
637
638         [chromium] MediaStream API (JSEP): Introducing WebSessionDescription and WebIceCandidate
639         https://bugs.webkit.org/show_bug.cgi?id=81339
640
641         Reviewed by Adam Barth.
642
643         Not possible to test until the entire JSEP feature is commited.
644
645         * Modules/mediastream/IceCandidate.cpp:
646         (WebCore::IceCandidate::toSdp):
647         * Modules/mediastream/SessionDescription.cpp:
648         (WebCore::SessionDescription::toSdp):
649         * platform/mediastream/IceCandidateDescriptor.cpp:
650         (WebCore::IceCandidateDescriptor::toSDP):
651         * platform/mediastream/IceCandidateDescriptor.h:
652         (IceCandidateDescriptor):
653         * platform/mediastream/MediaStreamCenter.cpp:
654         (WebCore::MediaStreamCenter::constructSDP):
655         * platform/mediastream/MediaStreamCenter.h:
656         (MediaStreamCenter):
657         * platform/mediastream/SessionDescriptionDescriptor.cpp:
658         (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
659         (WebCore::SessionDescriptionDescriptor::toSDP):
660         (WebCore::SessionDescriptionDescriptor::initialSDP):
661         * platform/mediastream/SessionDescriptionDescriptor.h:
662         (SessionDescriptionDescriptor):
663
664 2012-03-21  Yuta Kitamura  <yutak@chromium.org>
665
666         Use RFC version of WebSocket protocol by default
667         https://bugs.webkit.org/show_bug.cgi?id=81718
668
669         Reviewed by Kent Tamura.
670
671         Flip the default value of Settings::m_useHixie76WebSocketProtocol so WebKit ports will use
672         RFC version of WebSocket protocol by default.
673
674         All the existing ports already use the RFC protocol as of now, so this change will not make
675         any impact (hopefully).
676
677         No new tests. No change in functionality.
678
679         * page/Settings.cpp:
680         (WebCore::Settings::Settings):
681
682 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
683
684         Web Inspector: only show JS event listeners in Event Listeners tab of Elements panel
685         https://bugs.webkit.org/show_bug.cgi?id=81798
686
687         Reviewed by Pavel Feldman.
688
689         * bindings/js/JSInjectedScriptHostCustom.cpp:
690         (WebCore::getJSListenerFunctions):
691         * bindings/js/ScriptEventListener.cpp:
692         (WebCore::eventListenerHandlerBody):
693         (WebCore::eventListenerHandlerLocation):
694         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
695         (WebCore::getJSListenerFunctions):
696         * inspector/InspectorDOMAgent.cpp:
697         (WebCore::InspectorDOMAgent::getEventListeners):
698
699 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
700
701         EventListener::Type enum has unused member InspectorDOMAgentType
702         https://bugs.webkit.org/show_bug.cgi?id=81794
703
704         Reviewed by Pavel Feldman.
705
706         * dom/EventListener.h:
707
708 2012-03-21  Tom Hudson  <tomhudson@google.com>
709
710         Incremental cleanup of BitmapImage: inlined virtual functions
711         https://bugs.webkit.org/show_bug.cgi?id=81688
712
713         Reviewed by James Robinson.
714
715         No change in functionality, so no new tests.
716
717         Move virtual functions defined in headers into .cpp files.
718
719         * WebCore.gypi:
720         * platform/graphics/BitmapImage.cpp:
721         (WebCore::BitmapImage::isBitmapImage):
722         (WebCore):
723         (WebCore::BitmapImage::hasSingleSecurityOrigin):
724         (WebCore::BitmapImage::nativeImageForCurrentFrame):
725         (WebCore::BitmapImage::currentFrameHasAlpha):
726         (WebCore::BitmapImage::notSolidColor):
727         (WebCore::BitmapImage::decodedSize):
728         (WebCore::BitmapImage::mayFillWithSolidColor):
729         (WebCore::BitmapImage::solidColor):
730         * platform/graphics/BitmapImage.h:
731         (BitmapImage):
732         * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Added.
733         (WebCore):
734         (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
735         (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
736         (WebCore::BitmapImageSingleFrameSkia::size):
737         (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
738         (WebCore::BitmapImageSingleFrameSkia::decodedSize):
739         (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
740         (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
741         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
742         (BitmapImageSingleFrameSkia):
743
744 2012-03-21  Alexey Proskuryakov  <ap@apple.com>
745
746         Remove obsolete File attributes
747         https://bugs.webkit.org/show_bug.cgi?id=79383
748
749         Reviewed by Hajime Morita.
750
751         * bindings/objc/PublicDOMInterfaces.h:
752         * fileapi/File.h:
753         * fileapi/File.idl:
754         Removed fileName and fileSize, they have different names now.
755
756         * html/FileInputType.cpp:
757         (WebCore::FileInputType::appendFormData):
758         (WebCore::FileInputType::getTypeSpecificValue):
759         (WebCore::FileInputType::defaultToolTip):
760         Updated to use new function names.
761
762 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
763
764         TiledBackingStore: Create the first round of tiles synchronously after setting the visible rect.
765         https://bugs.webkit.org/show_bug.cgi?id=81762
766
767         Reviewed by Kenneth Rohde Christiansen.
768
769         The first round of tiles should cover completely the visible rect.
770         Creating the tiles synchronously allows us to get the new tiles immediately
771         and prevents an extra AC layers sync to be able to remove the old tiles.
772
773         At some point it might also make sense to remove the tile creation timer
774         completely.
775
776         * platform/graphics/TiledBackingStore.cpp:
777         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
778
779 2012-03-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
780
781         TiledBackingStore: When checking if the visible area is covered, only convert to scaled coordinates once.
782         https://bugs.webkit.org/show_bug.cgi?id=81519
783
784         Reviewed by Kenneth Rohde Christiansen.
785
786         Both visibleRect and coverageRatio call mapFromContents on the input rect,
787         this woulc cause the coverageRatio to never reach 1.0 when the contents is
788         scaled up.
789
790         * platform/graphics/TiledBackingStore.cpp:
791         (WebCore::TiledBackingStore::visibleAreaIsCovered):
792
793 2012-03-21  Mao Yujie  <yujie.mao@intel.com>
794
795         MediaStream API: Need to support MediaStream constructor for JSC
796         https://bugs.webkit.org/show_bug.cgi?id=78781
797
798         Reviewed by Adam Barth.
799
800         No new tests.
801
802         * Modules/mediastream/DOMWindowMediaStream.idl:
803         * bindings/generic/RuntimeEnabledFeatures.h:
804         (WebCore::RuntimeEnabledFeatures::webkitMediaStreamEnabled):
805
806 2012-03-21  Philip Rogers  <pdr@google.com>
807
808         Skip building resources if SVGTRef is not in a document
809         https://bugs.webkit.org/show_bug.cgi?id=81473
810
811         Reviewed by Nikolas Zimmermann.
812
813         We can skip the building of pending resources in SVGTRef if we're not
814         yet in a document. This mirrors the nearly identical logic in
815         SVGUseElement::buildPendingResource() and
816         SVGFEImageElement::buildPendingResource().
817
818         Test: http/tests/svg/tref-adoptNode-crash.html
819
820         * svg/SVGTRefElement.cpp:
821         (WebCore::SVGTRefElement::buildPendingResource):
822
823 2012-03-21  Sami Kyostila  <skyostil@chromium.org>
824
825         [chromium] Use floating point scroll deltas for layers
826         https://bugs.webkit.org/show_bug.cgi?id=81546
827
828         Reviewed by James Robinson.
829
830         Use floating point scroll deltas for layers instead of integral scroll
831         deltas. This is because due to page scaling it may be necessary to
832         scroll layers in sub-CSS-pixel steps to avoid visible jumps. When the
833         floating point scroll offset is committed to the main thread, it is
834         truncated to integer, but the fractional part is kept on the CC side to
835         make sure fractional scroll offsets are accumulated correctly over
836         multiple commits.
837
838         Test: CCLayerTreeHostTestFractionalScroll
839
840         * platform/graphics/FloatPoint.h:
841         (WebCore::toSize):
842         (WebCore):
843         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
844         (WebCore::CCLayerImpl::scrollBy):
845         (WebCore::CCLayerImpl::setScrollDelta):
846         * platform/graphics/chromium/cc/CCLayerImpl.h:
847         (WebCore::CCLayerImpl::scrollDelta):
848         (CCLayerImpl):
849         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
850         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
851         (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
852         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
853         (WebCore::CCLayerTreeHostImpl::animatePageScale):
854
855 2012-03-21  Li Yin  <li.yin@intel.com>
856
857         [WebSocket]The Sec-WebSocket-Accept MUST NOT appear more than once in an HTTP response
858         https://bugs.webkit.org/show_bug.cgi?id=81655
859
860         Reviewed by Adam Barth.
861
862         Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header.html
863
864         * Modules/websockets/WebSocketHandshake.cpp:
865         (WebCore::WebSocketHandshake::readHTTPHeaders):
866
867 2012-03-21  Alexei Filippov  <alexeif@chromium.org>
868
869         Web Inspector: Speedup heap snapshot loading.
870         https://bugs.webkit.org/show_bug.cgi?id=81788
871
872         Reviewed by Yury Semikhatsky.
873
874         * inspector/front-end/HeapSnapshot.js:
875         (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
876
877 2012-03-21  Pavel Feldman  <pfeldman@chromium.org>
878
879         Web Inspector: get rid of isInEditMode, use isBeingEdited on particular element.
880         https://bugs.webkit.org/show_bug.cgi?id=81766
881
882         Reviewed by Yury Semikhatsky.
883
884         We should check event target and its ancestors for being edited, not use some
885         global property. This change also introduces Event.prototype.consume so that we
886         were consistently consuming events.
887
888         * inspector/front-end/AdvancedSearchController.js:
889         (WebInspector.SearchView.prototype._onKeyDown):
890         * inspector/front-end/BreakpointsSidebarPane.js:
891         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
892         * inspector/front-end/CSSSelectorProfileView.js:
893         * inspector/front-end/Checkbox.js:
894         (WebInspector.Checkbox.prototype.addEventListener):
895         * inspector/front-end/ConsoleView.js:
896         (WebInspector.ConsoleView.prototype._enterKeyPressed):
897         (WebInspector.ConsoleGroup.prototype._titleClicked):
898         * inspector/front-end/ContextMenu.js:
899         (WebInspector.ContextMenu.prototype.show):
900         * inspector/front-end/DataGrid.js:
901         (WebInspector.DataGrid.prototype._keyDown):
902         * inspector/front-end/DatabaseQueryView.js:
903         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
904         * inspector/front-end/DetailedHeapshotView.js:
905         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
906         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
907         (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
908         (WebInspector.DetailedHeapshotView.prototype._endRetainersHeaderDragging):
909         * inspector/front-end/Dialog.js:
910         (WebInspector.Dialog.prototype._onKeyDown):
911         * inspector/front-end/Drawer.js:
912         (WebInspector.Drawer.prototype._startStatusBarDragging):
913         (WebInspector.Drawer.prototype._statusBarDragging):
914         (WebInspector.Drawer.prototype._endStatusBarDragging):
915         * inspector/front-end/EventListenersSidebarPane.js:
916         (WebInspector.EventListenersSidebarPane.get if):
917         * inspector/front-end/HelpScreen.js:
918         (WebInspector.HelpScreen.prototype._onKeyDown):
919         * inspector/front-end/InspectorView.js:
920         (WebInspector.InspectorView.prototype._keyDown):
921         * inspector/front-end/MetricsSidebarPane.js:
922         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
923         * inspector/front-end/NetworkPanel.js:
924         * inspector/front-end/Object.js:
925         (WebInspector.Event.prototype.preventDefault):
926         (WebInspector.Event.prototype.consume):
927         * inspector/front-end/ObjectPropertiesSection.js:
928         (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
929         * inspector/front-end/ProfileView.js:
930         * inspector/front-end/SearchController.js:
931         (WebInspector.SearchController.prototype._onKeyDown):
932         * inspector/front-end/Section.js:
933         (WebInspector.Section.prototype.handleClick):
934         * inspector/front-end/Settings.js:
935         (WebInspector.ExperimentsSettings):
936         * inspector/front-end/SoftContextMenu.js:
937         (.WebInspector.SoftContextMenu.prototype.show):
938         (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
939         (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
940         (.WebInspector.SoftContextMenu.prototype._discardMenu):
941         * inspector/front-end/Spectrum.js:
942         (WebInspector.Spectrum.draggable.consume):
943         (WebInspector.Spectrum.draggable.start):
944         (WebInspector.Spectrum.draggable.stop):
945         (WebInspector.Spectrum.draggable):
946         (WebInspector.Spectrum.prototype._onKeyDown):
947         * inspector/front-end/StylesSidebarPane.js:
948         (WebInspector.StylesSidebarPane.muteEventListener):
949         (WebInspector.StylesSidebarPane):
950         (WebInspector.StylesSidebarPane.prototype.set _createNewRule):
951         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
952         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
953         (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
954         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
955         (WebInspector.StylePropertyTreeElement.prototype):
956         * inspector/front-end/TextPrompt.js:
957         (WebInspector.TextPrompt.prototype.onKeyDown):
958         (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
959         (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
960         * inspector/front-end/TextViewer.js:
961         (WebInspector.TextViewer.prototype._handleKeyDown):
962         * inspector/front-end/Toolbar.js:
963         (WebInspector.ToolbarDropdown.prototype._onKeyDown):
964         * inspector/front-end/UIUtils.js:
965         (WebInspector.isBeingEdited):
966         (WebInspector.startEditing):
967         * inspector/front-end/View.js:
968         (WebInspector.View.prototype._doLoadCSS):
969         * inspector/front-end/WatchExpressionsSidebarPane.js:
970         (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
971         (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
972         * inspector/front-end/inspector.js:
973         (WebInspector.documentClick.followLink):
974         (WebInspector.documentClick):
975         (WebInspector.documentKeyDown):
976         (WebInspector.postDocumentKeyDown):
977         (WebInspector.addMainEventListeners):
978         * inspector/front-end/treeoutline.js:
979         (TreeOutline.prototype._treeKeyPress):
980         (TreeOutline.prototype._treeKeyDown):
981         (TreeOutline.prototype._searchInputKeyDown):
982         (TreeElement.treeElementToggled):
983         (TreeElement.prototype.selectOnMouseDown):
984         * inspector/front-end/utilities.js:
985         (Event.prototype.consume):
986
987 2012-03-21  Yury Semikhatsky  <yurys@chromium.org>
988
989         Web Inspector: event listener section doesn't show all event listeners of the element ancestors
990         https://bugs.webkit.org/show_bug.cgi?id=81782
991
992         Event listeners section now contains all event listeners for the selected
993         element ancestors chain (in case option "All Nodes" is selected).
994
995         Reviewed by Pavel Feldman.
996
997         * inspector/InspectorDOMAgent.cpp:
998         (WebCore::InspectorDOMAgent::getEventListenersForNode):
999         * inspector/front-end/EventListenersSidebarPane.js:
1000         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
1001         (WebInspector.EventListenersSidebarPane.prototype.update):
1002         (WebInspector.EventListenersSidebarPane.prototype):
1003
1004 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
1005
1006         Web Inspector: HeapSnapshot: move all builders and calculation calls to HeapSnapshot._init function.
1007         https://bugs.webkit.org/show_bug.cgi?id=81784
1008
1009         Reviewed by Yury Semikhatsky.
1010
1011         * inspector/front-end/HeapSnapshot.js:
1012         (WebInspector.HeapSnapshot.prototype._init):
1013         (WebInspector.HeapSnapshot.prototype.dispose):
1014         (WebInspector.HeapSnapshot.prototype._retainersForNode):
1015         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
1016         (WebInspector.HeapSnapshot.prototype._flagsOfNode):
1017         (WebInspector.HeapSnapshot.prototype.aggregates):
1018         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1019         (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
1020
1021 2012-03-21  Jessie Berlin  <jberlin@apple.com>
1022
1023         WTF headers should be in $(ConfigurationBuildDir)\include\private\wtf, not
1024         $(ConfigurationBuildDir)\include\private\JavaScriptCore\wtf.
1025         https://bugs.webkit.org/show_bug.cgi?id=81739
1026
1027         Reviewed by Dan Bernstein.
1028
1029         * WebCore.vcproj/WebCore.vcproj:
1030         Look for AtomicString.cpp, StringBuilder.cpp, StringImpl.cpp, and WTFString.cpp in the wtf
1031         subdirectory of the build output, not the JavaScriptCore/wtf subdirectory.
1032
1033 2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1034
1035         [BlackBerry] Credential save and autofill implemetation
1036         https://bugs.webkit.org/show_bug.cgi?id=80401
1037
1038         Reviewed by Rob Buis.
1039
1040         Added interface function authenticationChallenge() and
1041         notifyShouldSaveCredential() into PageClientBlackBerry.
1042         As this class is our platform specific interface,
1043         by doing this we don't need to add an interface function
1044         in class FrameLoaderClient which is a platform
1045         independent interface.
1046
1047         No new tests.
1048
1049         * platform/blackberry/PageClientBlackBerry.h:
1050         (WebCore):
1051         * platform/network/blackberry/NetworkJob.cpp:
1052         (WebCore::NetworkJob::sendRequestWithCredentials):
1053
1054 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
1055
1056         Web Inspector: HeapProfiler: DOM node id can overflow Int32.
1057         https://bugs.webkit.org/show_bug.cgi?id=81776
1058
1059         Reviewed by Pavel Feldman.
1060
1061         * inspector/front-end/HeapSnapshot.js:
1062         (WebInspector.Uint32Array):
1063         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
1064         (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
1065         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
1066         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
1067
1068 2012-03-21  Tim Dresser  <tdresser@chromium.org>
1069
1070         [chromium] Increase size of Combo Box Options for touch and high DPI devices
1071         https://bugs.webkit.org/show_bug.cgi?id=80027
1072
1073         Reviewed by Darin Fisher.
1074
1075         Scale Combo box popups by defaultDeviceScaleFactor, and add padding to
1076         <option> elements when touch is enabled.
1077
1078         Manually tested with --default-device-scale-factor=1,2 and unset.
1079         Each of these were tested with RuntimeEnabledFeatures::touchEnabled
1080         set to true and false.
1081
1082         * platform/chromium/PopupListBox.cpp:
1083         (WebCore::PopupListBox::paint):
1084         (WebCore::PopupListBox::paintRow):
1085         (WebCore::PopupListBox::getRowHeight):
1086         * platform/chromium/PopupListBox.h:
1087         (PopupContainerSettings):
1088         * platform/chromium/PopupMenuChromium.cpp:
1089         (WebCore):
1090         (WebCore::PopupMenuChromium::show):
1091         * platform/chromium/PopupMenuChromium.h:
1092         (WebCore::PopupMenuChromium::optionPaddingForTouch):
1093         (WebCore::PopupMenuChromium::setOptionPaddingForTouch):
1094         (PopupMenuChromium):
1095         * rendering/RenderMenuList.cpp:
1096         (WebCore::RenderMenuList::showPopup):
1097
1098 2012-03-21  Takashi Toyoshima  <toyoshim@chromium.org>
1099
1100         [Chromium] [WebSocket] provide WebFrameClient with a chance of
1101         accessing to opening WebSocketStreamHandle.
1102         https://bugs.webkit.org/show_bug.cgi?id=78459
1103
1104         Reviewed by Kent Tamura and Darin Fisher.
1105
1106         Add willOpenSocketStream client function to WebFrameClient with an
1107         argument representing an opening SocketStreamHandle.
1108         These mechanisms provide embedders with a chance to bind arbitrary
1109         data to a WebSocketStreamHandle from WebFrameClient to which the
1110         WebSocket object having the WebSocketStreamHandle belongs.
1111
1112         No new tests because this change just provide mechanisms to embedders.
1113
1114         * Modules/websockets/WebSocketChannel.cpp: Implement willOpenSocketStream to call a client function in WebFrameClient.
1115         (WebCore::WebSocketChannel::willOpenSocketStream):
1116         (WebCore):
1117         * Modules/websockets/WebSocketChannel.h: Add willOpenSocketStream declaration.
1118         (WebSocketChannel):
1119         * loader/FrameLoaderClient.h: Add dispatchWillOpenSocketStream declaration.
1120         (WebCore):
1121         (FrameLoaderClient):
1122         (WebCore::FrameLoaderClient::dispatchWillOpenSocketStream):
1123         * platform/network/SocketStreamHandleClient.h: Add willOpenSocketStream declaration.
1124         (WebCore::SocketStreamHandleClient::willOpenSocketStream):
1125
1126 2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
1127
1128         https://bugs.webkit.org/show_bug.cgi?id=81761
1129         Fix Gobject binding for sequence<T> for function return type.
1130
1131         Reviewed by Kentaro Hara.
1132
1133         No new tests.
1134
1135         * bindings/scripts/CodeGeneratorGObject.pm:
1136         (SkipFunction): Skip function with sequence<T> return type.
1137         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1138         (webkit_dom_test_obj_method_with_sequence_arg):
1139         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1140
1141 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
1142
1143         Unreviewed build fix for r111529.
1144
1145         * inspector/InjectedScriptHost.h:
1146         (WebCore):
1147
1148 2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1149
1150         Unreviewed, rolling out r111497, r111506, r111508, and
1151         r111513.
1152         http://trac.webkit.org/changeset/111497
1153         http://trac.webkit.org/changeset/111506
1154         http://trac.webkit.org/changeset/111508
1155         http://trac.webkit.org/changeset/111513
1156         https://bugs.webkit.org/show_bug.cgi?id=81774
1157
1158         It broke 2 tests on all platform (Requested by Ossy on
1159         #webkit).
1160
1161         * css/CSSStyleSelector.cpp:
1162         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1163         * css/SelectorChecker.cpp:
1164         (WebCore::SelectorChecker::checkOneSelector):
1165         * html/HTMLKeygenElement.cpp:
1166         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1167         * html/HTMLOptionElement.cpp:
1168         (WebCore::HTMLOptionElement::HTMLOptionElement):
1169         (WebCore::HTMLOptionElement::create):
1170         (WebCore::HTMLOptionElement::attach):
1171         (WebCore::HTMLOptionElement::detach):
1172         (WebCore::HTMLOptionElement::formControlType):
1173         (WebCore):
1174         (WebCore::HTMLOptionElement::parseAttribute):
1175         (WebCore::HTMLOptionElement::childrenChanged):
1176         (WebCore::HTMLOptionElement::insertedIntoTree):
1177         * html/HTMLOptionElement.h:
1178         (HTMLOptionElement):
1179         (WebCore::HTMLOptionElement::ownElementDisabled):
1180         * html/HTMLTagNames.in:
1181
1182 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
1183
1184         Web Inspector: expose getEventListeners() to console command line API
1185         https://bugs.webkit.org/show_bug.cgi?id=81658
1186
1187         Reviewed by Yury Semikhatsky.
1188
1189         Test: inspector/console/command-line-api-getEventListeners.html
1190
1191         * bindings/js/JSInjectedScriptHostCustom.cpp:
1192         (WebCore::JSInjectedScriptHost::functionDetails):
1193         (WebCore):
1194         (WebCore::getJSListenerFunctions):
1195         (WebCore::JSInjectedScriptHost::getEventListeners):
1196         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1197         (WebCore::getJSListenerFunctions):
1198         (WebCore):
1199         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
1200         * inspector/InjectedScriptHost.cpp:
1201         (WebCore::InjectedScriptHost::InjectedScriptHost):
1202         (WebCore::InjectedScriptHost::disconnect):
1203         (WebCore::InjectedScriptHost::getEventListenersImpl):
1204         (WebCore):
1205         * inspector/InjectedScriptHost.h:
1206         (WebCore):
1207         (WebCore::InjectedScriptHost::init):
1208         (InjectedScriptHost):
1209         * inspector/InjectedScriptHost.idl:
1210         * inspector/InjectedScriptSource.js:
1211         (.):
1212         * inspector/InspectorController.cpp:
1213         (WebCore::InspectorController::InspectorController):
1214         * inspector/InspectorDOMAgent.cpp:
1215         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1216         (WebCore::InspectorDOMAgent::getEventListeners):
1217         (WebCore):
1218         * inspector/InspectorDOMAgent.h:
1219         (InspectorDOMAgent):
1220         * inspector/WorkerInspectorController.cpp:
1221         (WebCore::WorkerInspectorController::WorkerInspectorController):
1222
1223 2012-03-21  Kentaro Hara  <haraken@chromium.org>
1224
1225         Unreviewed, rebaselined run-bindings-tests results.
1226
1227         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
1228         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
1229         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
1230         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
1231
1232 2012-03-21  Ian Vollick  <vollick@chromium.org>
1233
1234         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
1235         https://bugs.webkit.org/show_bug.cgi?id=81692
1236
1237         Reviewed by Adrienne Walker.
1238
1239         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
1240
1241         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1242
1243 2012-03-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1244
1245         [Qt] Cookie Jar blocks on fsync in SQLITE
1246         https://bugs.webkit.org/show_bug.cgi?id=81755
1247
1248         Reviewed by Simon Hausmann.
1249
1250         Set PRAGMA synchronous to OFF, which tells SQLITE to never fsync.
1251
1252         * platform/qt/CookieJarQt.cpp:
1253         (WebCore::SharedCookieJarQt::ensureDatabaseTable):
1254
1255 2012-03-21  Ian Vollick  <vollick@chromium.org>
1256
1257         [chromium] Animation events should only be used for synchronizing animation start times
1258         https://bugs.webkit.org/show_bug.cgi?id=81484
1259
1260         Reviewed by Adrienne Walker.
1261
1262         Tested in CCLayerTreeHostTestSynchronizeAnimationStartTimes
1263
1264         Eliminated animation finished events. Animations will finish naturally on the
1265         main thread and the final values will be set.
1266
1267         Animation started events are now also used to synchronize the main thread
1268         animations' start times with their impl thread equivalents, preventing skew.
1269         Until main thread animations receive their synchronized start times, they will
1270         apply their initial values (i.e., they will be paused at time zero). This
1271         guarantees that we will not jump to the animation's final value on the main
1272         thread while we wait for the synchronized start time.
1273
1274         * WebCore.gypi:
1275         * platform/graphics/chromium/LayerChromium.cpp:
1276         (WebCore::LayerChromium::notifyAnimationStarted):
1277         * platform/graphics/chromium/LayerChromium.h:
1278         (WebCore):
1279         (LayerChromium):
1280         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
1281         (WebCore::CCActiveAnimation::CCActiveAnimation):
1282         * platform/graphics/chromium/cc/CCActiveAnimation.h:
1283         (CCActiveAnimation):
1284         (WebCore::CCActiveAnimation::needsSynchronizedStartTime):
1285         (WebCore::CCActiveAnimation::setNeedsSynchronizedStartTime):
1286         * platform/graphics/chromium/cc/CCAnimationEvents.cpp: Removed.
1287         * platform/graphics/chromium/cc/CCAnimationEvents.h:
1288         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
1289         (CCAnimationStartedEvent):
1290         (WebCore):
1291         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1292         (WebCore::CCLayerAnimationController::animate):
1293         (WebCore::CCLayerAnimationController::notifyAnimationStarted):
1294         (WebCore):
1295         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
1296         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
1297         (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
1298         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
1299         (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
1300         (WebCore::CCLayerAnimationController::tickAnimations):
1301         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
1302         (CCLayerAnimationController):
1303         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1304         (WebCore::CCLayerTreeHost::updateAnimations):
1305         (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
1306         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1307         (CCLayerTreeHost):
1308
1309 2012-03-21  Zeno Albisser  <zeno@webkit.org>
1310
1311         [Qt][WK2][Mac] MiniBrowser asserts at HashTable.h:480
1312         https://bugs.webkit.org/show_bug.cgi?id=81113
1313
1314         The GLContext is created by QWindow/QSurface using
1315         QOpenGLContext which is implemented using NSOpenGL functions
1316         on mac. Therefore we should use QOpenGLContext as well when
1317         querying for the current context. AGL is not supposed
1318         to be paired with NSOpenGL.
1319         Altering the typedef for GLContext is fine, since
1320         the GLContext type is only used as a key in a map.
1321
1322         Reviewed by Kenneth Rohde Christiansen.
1323
1324         * platform/graphics/texmap/TextureMapperGL.cpp:
1325         (SharedGLData):
1326         (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
1327
1328 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
1329
1330         Web Inspector: HeapSnapshot: make _bfs twice as fast as the old version.
1331         https://bugs.webkit.org/show_bug.cgi?id=81756
1332
1333         Reviewed by Yury Semikhatsky.
1334
1335         * inspector/front-end/HeapSnapshot.js:
1336         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
1337         (WebInspector.HeapSnapshot.prototype._bfs):
1338
1339 2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
1340
1341         https://bugs.webkit.org/show_bug.cgi?id=81705
1342         REGRESSION (r111416): fast/dom/prototype-inheritance-2.html is failing.
1343
1344         Reviewed by Csaba Osztrogonác.
1345
1346         No new tests.
1347
1348         * bindings/js/JSDOMBinding.h: Needs passing globalObject to constructArray().
1349         (WebCore::jsArray):
1350
1351 2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1352
1353         [BlackBerry] Upstreaming blackberry specific css file
1354         https://bugs.webkit.org/show_bug.cgi?id=81650
1355
1356         Ustream BlackBerry specific css files, including:
1357         css/themeBlackBerry.css
1358         css/mediaControlsBlackBerry.css
1359
1360         Reviewed by Nikolas Zimmermann.
1361
1362         No new tests, this is the initial upstream patch
1363         for BlackBerry specific css files.
1364
1365         * css/mediaControlsBlackBerry.css: Added.
1366         (audio):
1367         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1368         (video:-webkit-full-page-media::-webkit-media-controls-panel):
1369         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
1370         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
1371         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
1372         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
1373         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
1374         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
1375         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1376         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1377         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
1378         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
1379         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
1380         * css/themeBlackBerry.css: Added.
1381         (textarea):
1382         (input, textarea):
1383         (input[type="color"]):
1384         (select:focus):
1385         (select[size][multiple]):
1386         (select[size][multiple]:focus):
1387
1388 2012-03-21  Levi Weintraub  <leviw@chromium.org>
1389
1390         Update LayoutUnit usage in descendants of RenderReplaced
1391         https://bugs.webkit.org/show_bug.cgi?id=80918
1392
1393         Reviewed by Eric Seidel.
1394
1395         Replaced elements have to flow in the new sub-pixel Render Tree, but since the rendering of these
1396         often takes place outside of WebCore (or in cases such as foreign objects, in WebCore after
1397         passing through platform code), care must be taken to determine the final rendered size and
1398         location before render time. This patch brings these classes up to the latest and greatest in the
1399         subpixellayout branch.
1400
1401         See https://trac.webkit.org/wiki/LayoutUnit for more information.
1402
1403         No new tests. No change in behavior.
1404
1405         * rendering/RenderFrameBase.cpp:
1406         (WebCore::RenderFrameBase::layoutWithFlattening): Build Fix.
1407         * rendering/RenderFullScreen.cpp:
1408         (RenderFullScreen::createPlaceholder): Ditto.
1409         * rendering/RenderFullScreen.h:
1410         (RenderFullScreen): Ditto.
1411         * rendering/RenderHTMLCanvas.cpp:
1412         (WebCore::RenderHTMLCanvas::canvasSizeChanged): Ditto.
1413         * rendering/RenderIFrame.cpp:
1414         (WebCore::RenderIFrame::computeLogicalHeight): Ditto.
1415         (WebCore::RenderIFrame::computeLogicalWidth): Ditto.
1416         * rendering/RenderImage.cpp:
1417         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Intrinsic sizes are always integers, since they
1418         originate outside of WebCore.
1419         (WebCore::RenderImage::paintIntoRect): Use pixel snapping to paint into an arbitrary rect.
1420         (WebCore::RenderImage::computeReplacedLogicalWidth): Intrinsic size is always integral -- rounding
1421         values to integers.
1422         * rendering/RenderImage.h:
1423         (RenderImage):
1424         * rendering/RenderVideo.cpp:
1425         (WebCore::RenderVideo::videoBox):
1426         (WebCore::RenderVideo::paintReplaced): Painting at integer boundaries.
1427         * rendering/RenderWidget.cpp:
1428         (WebCore):
1429         (WebCore::roundedIntRect): Widgets are rendered outside of WebCore, so we always align them to
1430         integer boundaries. This means we can actually round the size of our ultimate content box. This
1431         function is implemented here specifically to prevent its misuse if we put it elsewhere.
1432         (WebCore::RenderWidget::setWidgetGeometry): We simplify layout by taking a LayoutRect and rounding
1433         it to its final location within this function.
1434         (WebCore::RenderWidget::updateWidgetGeometry): We keep things in LayoutUnits until handing off to
1435         setWidgetGeometry.
1436         (WebCore::RenderWidget::paint): Rounding the paint location before handing painting off to the
1437         widget itself.
1438         * rendering/RenderWidget.h:
1439         (RenderWidget):
1440
1441 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
1442
1443         Web Inspector: HeapProfiler: support distance column in Summary View.
1444         https://bugs.webkit.org/show_bug.cgi?id=81675
1445
1446         In many cases when a page leaked an object we see not only this object
1447         but the all objects it retains. It is quite difficult to find out which
1448         the object is the root of leak. It'd be simpler to sort the leaked
1449         objects by Distance column and track down the first one.
1450
1451         Reviewed by Yury Semikhatsky.
1452
1453         * inspector/front-end/DetailedHeapshotGridNodes.js:
1454         (WebInspector.HeapSnapshotGenericObjectNode):
1455         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
1456         (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
1457         (WebInspector.HeapSnapshotConstructorNode):
1458         (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
1459         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
1460         * inspector/front-end/DetailedHeapshotView.js:
1461         (WebInspector.HeapSnapshotConstructorsDataGrid):
1462         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
1463         * inspector/front-end/HeapSnapshot.js:
1464         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
1465
1466 2012-03-21  Charles Wei  <charles.wei@torchmobile.com.cn>
1467
1468         [BlackBerry] Remove redundant code in SocketStreamHandler
1469         https://bugs.webkit.org/show_bug.cgi?id=81726
1470
1471         Reviewed by George Staikos.
1472
1473         No new tests needed. Just remove redundant code.
1474
1475         * platform/network/blackberry/SocketStreamHandle.h:
1476         (SocketStreamHandle):
1477         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
1478
1479 2012-03-20  Eric Seidel  <eric@webkit.org>
1480
1481         Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
1482         https://bugs.webkit.org/show_bug.cgi?id=80911
1483
1484         Reviewed by Adam Barth.
1485
1486         * CMakeLists.txt:
1487          - Look for headers in Source/WTF as well.
1488
1489 2012-03-20  Dana Jansens  <danakj@chromium.org>
1490
1491         [chromium] Use origin transform to transform occlusion from surface content space to its target content space
1492         https://bugs.webkit.org/show_bug.cgi?id=81730
1493
1494         Reviewed by Adrienne Walker.
1495
1496         Unit test: CCOcclusionTrackerTestSurfaceOcclusionTranslatesToParent
1497
1498         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1499         (WebCore::transformSurfaceOpaqueRegion):
1500         (WebCore::::leaveToTargetRenderSurface):
1501
1502 2012-03-19  Shinya Kawanaka  <shinyak@chromium.org>
1503
1504         [Crash] RenderMenuList::addChild() in Shadow DOM.
1505         https://bugs.webkit.org/show_bug.cgi?id=81201
1506
1507         Reviewed by Dimitri Glazkov.
1508
1509         <audio>, <video>, <meter>, <progress>, and <select> are implemented using
1510         Shadow DOM having HTMLContentElement. Their renderer children basically should not
1511         create a renderer unless they are on the upper shadow encapsulation boundary,
1512         which means they are the direct children of the shadow root.
1513
1514         However, current implementation allows their renderer children to create a renderer
1515         even if they are on a lower shadow encapsulation boundary, which means
1516         they are distributed elements of HTMLContentElement.
1517
1518         This patch makes there renderer children not to create a renderer if they are on a lower shadow
1519         encapsulation boudary.
1520
1521         Tests: fast/dom/shadow/content-element-in-media-element.html
1522                fast/dom/shadow/content-element-in-meter-element.html
1523                fast/dom/shadow/content-element-in-progress-element.html
1524                fast/dom/shadow/content-element-in-select-element.html
1525
1526         * dom/NodeRenderingContext.h:
1527         (NodeRenderingContext):
1528         (WebCore::NodeRenderingContext::isOnUpperEncapsulationBoundary):
1529         (WebCore):
1530         * html/HTMLMediaElement.cpp:
1531         (WebCore::HTMLMediaElement::childShouldCreateRenderer):
1532         * html/HTMLMeterElement.cpp:
1533         (WebCore::HTMLMeterElement::childShouldCreateRenderer):
1534         * html/HTMLProgressElement.cpp:
1535         (WebCore::HTMLProgressElement::childShouldCreateRenderer):
1536         * html/HTMLSelectElement.cpp:
1537         (WebCore::HTMLSelectElement::childShouldCreateRenderer):
1538
1539 2012-03-20  Dana Jansens  <danakj@chromium.org>
1540
1541         [chromium] Store origin/screen space transforms for surface and replica in the surface
1542         https://bugs.webkit.org/show_bug.cgi?id=81296
1543
1544         Reviewed by Adrienne Walker.
1545
1546         Compute and save a number of transforms for render surfaces. The origin
1547         tranform for the replica into its target surface. The origin transform
1548         for the replica into the screen. And the origin transform for the surface
1549         into the screen.
1550
1551         These transforms will allow us to detect occlusion of render surfaces,
1552         allowing us to cull (or partially-cull) the render surface quad during
1553         drawing.
1554
1555         This also fixes a subtle bug in the transforms used by the damage
1556         tracking code.
1557
1558         Unit test: CCLayerTreeHostCommonTest.verifyTransformsForSingleRenderSurface
1559                    CCLayerTreeHostCommonTest.verifyTransformsForReplica
1560                    CCLayerTreeHostCommonTest.verifyTransformsForRenderSurfaceHierarchy
1561
1562         * platform/graphics/chromium/RenderSurfaceChromium.h:
1563         (WebCore::RenderSurfaceChromium::screenSpaceTransform):
1564         (WebCore::RenderSurfaceChromium::setScreenSpaceTransform):
1565         (RenderSurfaceChromium):
1566         (WebCore::RenderSurfaceChromium::replicaOriginTransform):
1567         (WebCore::RenderSurfaceChromium::setReplicaOriginTransform):
1568         (WebCore::RenderSurfaceChromium::replicaScreenSpaceTransform):
1569         (WebCore::RenderSurfaceChromium::setReplicaScreenSpaceTransform):
1570         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1571         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
1572         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1573         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1574         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1575         (WebCore::damageInSurfaceSpace):
1576         * platform/graphics/chromium/cc/CCRenderSurface.h:
1577         (WebCore::CCRenderSurface::setDrawTransform):
1578         (WebCore::CCRenderSurface::drawTransform):
1579         (WebCore::CCRenderSurface::setScreenSpaceTransform):
1580         (WebCore::CCRenderSurface::screenSpaceTransform):
1581         (CCRenderSurface):
1582         (WebCore::CCRenderSurface::setReplicaDrawTransform):
1583         (WebCore::CCRenderSurface::replicaDrawTransform):
1584         (WebCore::CCRenderSurface::setReplicaOriginTransform):
1585         (WebCore::CCRenderSurface::replicaOriginTransform):
1586         (WebCore::CCRenderSurface::setReplicaScreenSpaceTransform):
1587         (WebCore::CCRenderSurface::replicaScreenSpaceTransform):
1588
1589 2012-03-20  Yoshifumi Inoue  <yosin@chromium.org>
1590
1591         [Forms] The option element should not be form associated element.
1592         https://bugs.webkit.org/show_bug.cgi?id=79764
1593
1594         Reviewed by Kent Tamura.
1595
1596         This patch changes base class of HTMLOptionELement to HTMLElement
1597         from HTMLFormControlElement for saving memory space and iteration
1598         time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
1599         and matching the HTML5 specification for ease of maintenance.
1600
1601         This patch changes behavior of handling of CSS pseudo classes "invalid"
1602         and "valid". The "option" elements no longer use these CSS pseudo classes
1603         as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
1604
1605         Changes of TextIterator is lead by usage of isFormControlElement. This
1606         changes will be replaced with more meaningful predicate as part of
1607         https://bugs.webkit.org/show_bug.cgi?id=80381
1608
1609         No new tests but updated select-live-pseudo-selectors.html test.
1610
1611         * css/CSSStyleSelector.cpp:
1612         (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
1613         * css/SelectorChecker.cpp:
1614         (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
1615         * html/HTMLKeygenElement.cpp:
1616         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
1617         * html/HTMLOptionElement.cpp:
1618         (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
1619         (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
1620         (WebCore::HTMLOptionElement::attach): Changeid base class.
1621         (WebCore::HTMLOptionElement::detach): Changed base class.
1622         (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
1623         (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
1624         (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
1625         * html/HTMLOptionElement.h:
1626         (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
1627         (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
1628         * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
1629
1630 2012-03-20  Xiaomei Ji  <xji@chromium.org>
1631
1632         Crash introduced in r110965.
1633         https://bugs.webkit.org/show_bug.cgi?id=81720
1634
1635         Reviewed by Ryosuke Niwa.
1636
1637         Since word break iterator just keeps a pointer to the UChar array given to the constructor,
1638         we need to allocate the UChar array deeper in the stack than the iterator.
1639
1640         Test: editing/selection/move-by-word-visually-crash-test-5.html
1641
1642         * editing/visible_units.cpp:
1643         (WebCore::wordBreakIteratorForMinOffsetBoundary):
1644         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
1645         (WebCore::visualWordPosition):
1646
1647 2012-03-20  W. James MacLean  <wjmaclean@chromium.org>
1648
1649         [chromium] Convert TouchFlingPlatformGestureCurve to a 2-D Bezier for better control of curve shape.
1650         https://bugs.webkit.org/show_bug.cgi?id=81713
1651
1652         Reviewed by Dirk Pranke.
1653
1654         Exisiting unit test revised to cover this change.
1655
1656         Change the fling gesture animation curve to use a 2-D Bezier to obtain greater control
1657         over the shape of the curve. Also, change time scaling code to be logarithmic for more
1658         natural feel.
1659
1660         * platform/TouchFlingPlatformGestureCurve.cpp:
1661         (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
1662         (WebCore::TouchFlingPlatformGestureCurve::apply):
1663
1664 2012-03-18  Tim Horton  <timothy_horton@apple.com>
1665
1666         Infinite repaint loop with SVGImageCache and deferred repaint timers
1667         https://bugs.webkit.org/show_bug.cgi?id=78315
1668         <rdar://problem/10651634>
1669
1670         Reviewed by Nikolas Zimmermann.
1671
1672         Only defer image redraw on a timer if we're in layout. This breaks
1673         the repaint loop while still preventing us from drawing inside layout.
1674
1675         Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
1676         preventing deferred repaint timers from being started during that process.
1677
1678         No new tests, as the problem only occurs in a nonstandard configuration.
1679
1680         * page/FrameView.cpp:
1681         (WebCore::FrameView::FrameView):
1682         (WebCore::FrameView::reset):
1683         (WebCore::FrameView::repaintContentRectangle):
1684         (WebCore::FrameView::endDeferredRepaints):
1685         (WebCore::FrameView::startDeferredRepaintTimer):
1686         (WebCore):
1687         (WebCore::FrameView::doDeferredRepaints):
1688         (WebCore::FrameView::deferredRepaintTimerFired):
1689         (WebCore::FrameView::beginDisableRepaints):
1690         (WebCore::FrameView::endDisableRepaints):
1691         * page/FrameView.h:
1692         (FrameView):
1693         (WebCore::FrameView::repaintsDisabled):
1694         * rendering/RenderView.cpp:
1695         (WebCore::RenderView::shouldRepaint):
1696         * svg/graphics/SVGImage.cpp:
1697         (WebCore::SVGImage::drawSVGToImageBuffer):
1698         (WebCore::SVGImage::draw):
1699         (WebCore::SVGImage::frameView):
1700         (WebCore):
1701         * svg/graphics/SVGImage.h:
1702         (WebCore):
1703         * svg/graphics/SVGImageCache.cpp:
1704         (WebCore::SVGImageCache::imageContentChanged):
1705         (WebCore::SVGImageCache::redraw):
1706         (WebCore::SVGImageCache::redrawTimerFired):
1707         (WebCore):
1708         * svg/graphics/SVGImageCache.h:
1709         (SVGImageCache):
1710
1711 2012-03-20  Adam Klein  <adamk@chromium.org>
1712
1713         Include fix for dom/xhtml test promised in r111449.
1714
1715         * dom/ContainerNode.cpp:
1716         (WebCore::ContainerNode::replaceChild): Check against next instead of
1717         prev when deciding there's no work to do.
1718
1719 2012-03-20  Jon Lee  <jonlee@apple.com>
1720
1721         Restrict access to notifications for unique origins and file URLs with no local file access
1722         https://bugs.webkit.org/show_bug.cgi?id=79704
1723         <rdar://problem/10912430>
1724
1725         Reviewed by Adam Barth.
1726
1727         Before checking or requesting permissions, we look at whether we can show notifications based on
1728         the security context. If not, we short circuit and do not forward the request to the client.
1729
1730         * notifications/Notification.cpp:
1731         (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
1732         different logic for checking permissions than when checking permissions through the
1733         notification center.
1734         * notifications/NotificationCenter.cpp:
1735         (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
1736         (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
1737         we asynchronously call the callback with that decision. Otherwise we ask the client.
1738
1739         Add new variable in the notification center to keep track of pending callbacks when we short-circuit
1740         requestPermission().
1741         * notifications/NotificationCenter.h:
1742         (NotificationRequestCallback): Add new private class encapsulating the callback.
1743         * notifications/NotificationCenter.cpp:
1744         (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
1745         (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
1746         know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
1747         to invoke the callback.
1748         (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
1749         (WebCore::NotificationCenter::NotificationRequest::startTimer):
1750         (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
1751         center.
1752         * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
1753         regardless of any restrictions that might otherwise cause toString() to return "null".
1754         * page/SecurityOrigin.cpp:
1755         (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
1756         the origin can show notifications. If the origin is unique, we never let it show. If the origin has
1757         universal access, we always let it show. Otherwise the client should be asked.
1758         (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
1759         (WebCore::SecurityOrigin::toRawString):
1760
1761         Added FIXME's regarding the naming of enforceFilePathSeparation().
1762         * dom/Document.cpp:
1763         (WebCore::Document::initSecurityContext): Also, tab reformatting.
1764
1765         * WebCore.exp.in: Export toRawString().
1766
1767 2012-03-20  Mark Pilgrim  <pilgrim@chromium.org>
1768
1769         Move webaudio to Modules/webaudio/
1770         https://bugs.webkit.org/show_bug.cgi?id=81541
1771
1772         Reviewed by Kentaro Hara.
1773
1774         No new tests, all existing tests pass.
1775
1776         * CMakeLists.txt:
1777         * DerivedSources.make:
1778         * DerivedSources.pri:
1779         * GNUmakefile.am:
1780         * GNUmakefile.list.am:
1781         * Modules/webaudio: Added.
1782         * Modules/webaudio/AsyncAudioDecoder.cpp: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.cpp.
1783         * Modules/webaudio/AsyncAudioDecoder.h: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.h.
1784         * Modules/webaudio/AudioBasicProcessorNode.cpp: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.cpp.
1785         * Modules/webaudio/AudioBasicProcessorNode.h: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.h.
1786         * Modules/webaudio/AudioBuffer.cpp: Copied from Source/WebCore/webaudio/AudioBuffer.cpp.
1787         * Modules/webaudio/AudioBuffer.h: Copied from Source/WebCore/webaudio/AudioBuffer.h.
1788         * Modules/webaudio/AudioBuffer.idl: Copied from Source/WebCore/webaudio/AudioBuffer.idl.
1789         * Modules/webaudio/AudioBufferCallback.h: Copied from Source/WebCore/webaudio/AudioBufferCallback.h.
1790         * Modules/webaudio/AudioBufferCallback.idl: Copied from Source/WebCore/webaudio/AudioBufferCallback.idl.
1791         * Modules/webaudio/AudioBufferSourceNode.cpp: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.cpp.
1792         * Modules/webaudio/AudioBufferSourceNode.h: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.h.
1793         * Modules/webaudio/AudioBufferSourceNode.idl: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.idl.
1794         * Modules/webaudio/AudioChannelMerger.cpp: Copied from Source/WebCore/webaudio/AudioChannelMerger.cpp.
1795         * Modules/webaudio/AudioChannelMerger.h: Copied from Source/WebCore/webaudio/AudioChannelMerger.h.
1796         * Modules/webaudio/AudioChannelMerger.idl: Copied from Source/WebCore/webaudio/AudioChannelMerger.idl.
1797         * Modules/webaudio/AudioChannelSplitter.cpp: Copied from Source/WebCore/webaudio/AudioChannelSplitter.cpp.
1798         * Modules/webaudio/AudioChannelSplitter.h: Copied from Source/WebCore/webaudio/AudioChannelSplitter.h.
1799         * Modules/webaudio/AudioChannelSplitter.idl: Copied from Source/WebCore/webaudio/AudioChannelSplitter.idl.
1800         * Modules/webaudio/AudioContext.cpp: Copied from Source/WebCore/webaudio/AudioContext.cpp.
1801         * Modules/webaudio/AudioContext.h: Copied from Source/WebCore/webaudio/AudioContext.h.
1802         * Modules/webaudio/AudioContext.idl: Copied from Source/WebCore/webaudio/AudioContext.idl.
1803         * Modules/webaudio/AudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/AudioDestinationNode.cpp.
1804         * Modules/webaudio/AudioDestinationNode.h: Copied from Source/WebCore/webaudio/AudioDestinationNode.h.
1805         * Modules/webaudio/AudioDestinationNode.idl: Copied from Source/WebCore/webaudio/AudioDestinationNode.idl.
1806         * Modules/webaudio/AudioGain.h: Copied from Source/WebCore/webaudio/AudioGain.h.
1807         * Modules/webaudio/AudioGain.idl: Copied from Source/WebCore/webaudio/AudioGain.idl.
1808         * Modules/webaudio/AudioGainNode.cpp: Copied from Source/WebCore/webaudio/AudioGainNode.cpp.
1809         * Modules/webaudio/AudioGainNode.h: Copied from Source/WebCore/webaudio/AudioGainNode.h.
1810         * Modules/webaudio/AudioGainNode.idl: Copied from Source/WebCore/webaudio/AudioGainNode.idl.
1811         * Modules/webaudio/AudioListener.cpp: Copied from Source/WebCore/webaudio/AudioListener.cpp.
1812         * Modules/webaudio/AudioListener.h: Copied from Source/WebCore/webaudio/AudioListener.h.
1813         * Modules/webaudio/AudioListener.idl: Copied from Source/WebCore/webaudio/AudioListener.idl.
1814         * Modules/webaudio/AudioNode.cpp: Copied from Source/WebCore/webaudio/AudioNode.cpp.
1815         * Modules/webaudio/AudioNode.h: Copied from Source/WebCore/webaudio/AudioNode.h.
1816         * Modules/webaudio/AudioNode.idl: Copied from Source/WebCore/webaudio/AudioNode.idl.
1817         * Modules/webaudio/AudioNodeInput.cpp: Copied from Source/WebCore/webaudio/AudioNodeInput.cpp.
1818         * Modules/webaudio/AudioNodeInput.h: Copied from Source/WebCore/webaudio/AudioNodeInput.h.
1819         * Modules/webaudio/AudioNodeOutput.cpp: Copied from Source/WebCore/webaudio/AudioNodeOutput.cpp.
1820         * Modules/webaudio/AudioNodeOutput.h: Copied from Source/WebCore/webaudio/AudioNodeOutput.h.
1821         * Modules/webaudio/AudioPannerNode.cpp: Copied from Source/WebCore/webaudio/AudioPannerNode.cpp.
1822         * Modules/webaudio/AudioPannerNode.h: Copied from Source/WebCore/webaudio/AudioPannerNode.h.
1823         * Modules/webaudio/AudioPannerNode.idl: Copied from Source/WebCore/webaudio/AudioPannerNode.idl.
1824         * Modules/webaudio/AudioParam.cpp: Copied from Source/WebCore/webaudio/AudioParam.cpp.
1825         * Modules/webaudio/AudioParam.h: Copied from Source/WebCore/webaudio/AudioParam.h.
1826         * Modules/webaudio/AudioParam.idl: Copied from Source/WebCore/webaudio/AudioParam.idl.
1827         * Modules/webaudio/AudioParamTimeline.cpp: Copied from Source/WebCore/webaudio/AudioParamTimeline.cpp.
1828         * Modules/webaudio/AudioParamTimeline.h: Copied from Source/WebCore/webaudio/AudioParamTimeline.h.
1829         * Modules/webaudio/AudioProcessingEvent.cpp: Copied from Source/WebCore/webaudio/AudioProcessingEvent.cpp.
1830         * Modules/webaudio/AudioProcessingEvent.h: Copied from Source/WebCore/webaudio/AudioProcessingEvent.h.
1831         * Modules/webaudio/AudioProcessingEvent.idl: Copied from Source/WebCore/webaudio/AudioProcessingEvent.idl.
1832         * Modules/webaudio/AudioSourceNode.h: Copied from Source/WebCore/webaudio/AudioSourceNode.h.
1833         * Modules/webaudio/AudioSourceNode.idl: Copied from Source/WebCore/webaudio/AudioSourceNode.idl.
1834         * Modules/webaudio/BiquadDSPKernel.cpp: Copied from Source/WebCore/webaudio/BiquadDSPKernel.cpp.
1835         * Modules/webaudio/BiquadDSPKernel.h: Copied from Source/WebCore/webaudio/BiquadDSPKernel.h.
1836         * Modules/webaudio/BiquadFilterNode.cpp: Copied from Source/WebCore/webaudio/BiquadFilterNode.cpp.
1837         * Modules/webaudio/BiquadFilterNode.h: Copied from Source/WebCore/webaudio/BiquadFilterNode.h.
1838         * Modules/webaudio/BiquadFilterNode.idl: Copied from Source/WebCore/webaudio/BiquadFilterNode.idl.
1839         * Modules/webaudio/BiquadProcessor.cpp: Copied from Source/WebCore/webaudio/BiquadProcessor.cpp.
1840         * Modules/webaudio/BiquadProcessor.h: Copied from Source/WebCore/webaudio/BiquadProcessor.h.
1841         * Modules/webaudio/ConvolverNode.cpp: Copied from Source/WebCore/webaudio/ConvolverNode.cpp.
1842         * Modules/webaudio/ConvolverNode.h: Copied from Source/WebCore/webaudio/ConvolverNode.h.
1843         * Modules/webaudio/ConvolverNode.idl: Copied from Source/WebCore/webaudio/ConvolverNode.idl.
1844         * Modules/webaudio/DOMWindowWebAudio.idl: Copied from Source/WebCore/webaudio/DOMWindowWebAudio.idl.
1845         * Modules/webaudio/DefaultAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.cpp.
1846         * Modules/webaudio/DefaultAudioDestinationNode.h: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.h.
1847         * Modules/webaudio/DelayDSPKernel.cpp: Copied from Source/WebCore/webaudio/DelayDSPKernel.cpp.
1848         * Modules/webaudio/DelayDSPKernel.h: Copied from Source/WebCore/webaudio/DelayDSPKernel.h.
1849         * Modules/webaudio/DelayNode.cpp: Copied from Source/WebCore/webaudio/DelayNode.cpp.
1850         * Modules/webaudio/DelayNode.h: Copied from Source/WebCore/webaudio/DelayNode.h.
1851         * Modules/webaudio/DelayNode.idl: Copied from Source/WebCore/webaudio/DelayNode.idl.
1852         * Modules/webaudio/DelayProcessor.cpp: Copied from Source/WebCore/webaudio/DelayProcessor.cpp.
1853         * Modules/webaudio/DelayProcessor.h: Copied from Source/WebCore/webaudio/DelayProcessor.h.
1854         * Modules/webaudio/DynamicsCompressorNode.cpp: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.cpp.
1855         * Modules/webaudio/DynamicsCompressorNode.h: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.h.
1856         * Modules/webaudio/DynamicsCompressorNode.idl: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.idl.
1857         * Modules/webaudio/HighPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/HighPass2FilterNode.cpp.
1858         * Modules/webaudio/HighPass2FilterNode.h: Copied from Source/WebCore/webaudio/HighPass2FilterNode.h.
1859         * Modules/webaudio/HighPass2FilterNode.idl: Copied from Source/WebCore/webaudio/HighPass2FilterNode.idl.
1860         * Modules/webaudio/JavaScriptAudioNode.cpp: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.cpp.
1861         * Modules/webaudio/JavaScriptAudioNode.h: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.h.
1862         * Modules/webaudio/JavaScriptAudioNode.idl: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.idl.
1863         * Modules/webaudio/LowPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/LowPass2FilterNode.cpp.
1864         * Modules/webaudio/LowPass2FilterNode.h: Copied from Source/WebCore/webaudio/LowPass2FilterNode.h.
1865         * Modules/webaudio/LowPass2FilterNode.idl: Copied from Source/WebCore/webaudio/LowPass2FilterNode.idl.
1866         * Modules/webaudio/MediaElementAudioSourceNode.cpp: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.cpp.
1867         * Modules/webaudio/MediaElementAudioSourceNode.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
1868         * Modules/webaudio/MediaElementAudioSourceNode.idl: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.idl.
1869         * Modules/webaudio/OfflineAudioCompletionEvent.cpp: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.cpp.
1870         * Modules/webaudio/OfflineAudioCompletionEvent.h: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.h.
1871         * Modules/webaudio/OfflineAudioCompletionEvent.idl: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.idl.
1872         * Modules/webaudio/OfflineAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp.
1873         * Modules/webaudio/OfflineAudioDestinationNode.h: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.h.
1874         * Modules/webaudio/RealtimeAnalyser.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyser.cpp.
1875         * Modules/webaudio/RealtimeAnalyser.h: Copied from Source/WebCore/webaudio/RealtimeAnalyser.h.
1876         * Modules/webaudio/RealtimeAnalyserNode.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.cpp.
1877         * Modules/webaudio/RealtimeAnalyserNode.h: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.h.
1878         * Modules/webaudio/RealtimeAnalyserNode.idl: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.idl.
1879         * Modules/webaudio/WaveShaperDSPKernel.cpp: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.cpp.
1880         * Modules/webaudio/WaveShaperDSPKernel.h: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.h.
1881         * Modules/webaudio/WaveShaperNode.cpp: Copied from Source/WebCore/webaudio/WaveShaperNode.cpp.
1882         * Modules/webaudio/WaveShaperNode.h: Copied from Source/WebCore/webaudio/WaveShaperNode.h.
1883         * Modules/webaudio/WaveShaperNode.idl: Copied from Source/WebCore/webaudio/WaveShaperNode.idl.
1884         * Modules/webaudio/WaveShaperProcessor.cpp: Copied from Source/WebCore/webaudio/WaveShaperProcessor.cpp.
1885         * Modules/webaudio/WaveShaperProcessor.h: Copied from Source/WebCore/webaudio/WaveShaperProcessor.h.
1886         * WebCore.gyp/WebCore.gyp:
1887         * WebCore.gypi:
1888         * WebCore.pri:
1889         * WebCore.xcodeproj/project.pbxproj:
1890         * webaudio/AsyncAudioDecoder.cpp: Removed.
1891         * webaudio/AsyncAudioDecoder.h: Removed.
1892         * webaudio/AudioBasicProcessorNode.cpp: Removed.
1893         * webaudio/AudioBasicProcessorNode.h: Removed.
1894         * webaudio/AudioBuffer.cpp: Removed.
1895         * webaudio/AudioBuffer.h: Removed.
1896         * webaudio/AudioBuffer.idl: Removed.
1897         * webaudio/AudioBufferCallback.h: Removed.
1898         * webaudio/AudioBufferCallback.idl: Removed.
1899         * webaudio/AudioBufferSourceNode.cpp: Removed.
1900         * webaudio/AudioBufferSourceNode.h: Removed.
1901         * webaudio/AudioBufferSourceNode.idl: Removed.
1902         * webaudio/AudioChannelMerger.cpp: Removed.
1903         * webaudio/AudioChannelMerger.h: Removed.
1904         * webaudio/AudioChannelMerger.idl: Removed.
1905         * webaudio/AudioChannelSplitter.cpp: Removed.
1906         * webaudio/AudioChannelSplitter.h: Removed.
1907         * webaudio/AudioChannelSplitter.idl: Removed.
1908         * webaudio/AudioContext.cpp: Removed.
1909         * webaudio/AudioContext.h: Removed.
1910         * webaudio/AudioContext.idl: Removed.
1911         * webaudio/AudioDestinationNode.cpp: Removed.
1912         * webaudio/AudioDestinationNode.h: Removed.
1913         * webaudio/AudioDestinationNode.idl: Removed.
1914         * webaudio/AudioGain.h: Removed.
1915         * webaudio/AudioGain.idl: Removed.
1916         * webaudio/AudioGainNode.cpp: Removed.
1917         * webaudio/AudioGainNode.h: Removed.
1918         * webaudio/AudioGainNode.idl: Removed.
1919         * webaudio/AudioListener.cpp: Removed.
1920         * webaudio/AudioListener.h: Removed.
1921         * webaudio/AudioListener.idl: Removed.
1922         * webaudio/AudioNode.cpp: Removed.
1923         * webaudio/AudioNode.h: Removed.
1924         * webaudio/AudioNode.idl: Removed.
1925         * webaudio/AudioNodeInput.cpp: Removed.
1926         * webaudio/AudioNodeInput.h: Removed.
1927         * webaudio/AudioNodeOutput.cpp: Removed.
1928         * webaudio/AudioNodeOutput.h: Removed.
1929         * webaudio/AudioPannerNode.cpp: Removed.
1930         * webaudio/AudioPannerNode.h: Removed.
1931         * webaudio/AudioPannerNode.idl: Removed.
1932         * webaudio/AudioParam.cpp: Removed.
1933         * webaudio/AudioParam.h: Removed.
1934         * webaudio/AudioParam.idl: Removed.
1935         * webaudio/AudioParamTimeline.cpp: Removed.
1936         * webaudio/AudioParamTimeline.h: Removed.
1937         * webaudio/AudioProcessingEvent.cpp: Removed.
1938         * webaudio/AudioProcessingEvent.h: Removed.
1939         * webaudio/AudioProcessingEvent.idl: Removed.
1940         * webaudio/AudioSourceNode.h: Removed.
1941         * webaudio/AudioSourceNode.idl: Removed.
1942         * webaudio/BiquadDSPKernel.cpp: Removed.
1943         * webaudio/BiquadDSPKernel.h: Removed.
1944         * webaudio/BiquadFilterNode.cpp: Removed.
1945         * webaudio/BiquadFilterNode.h: Removed.
1946         * webaudio/BiquadFilterNode.idl: Removed.
1947         * webaudio/BiquadProcessor.cpp: Removed.
1948         * webaudio/BiquadProcessor.h: Removed.
1949         * webaudio/ConvolverNode.cpp: Removed.
1950         * webaudio/ConvolverNode.h: Removed.
1951         * webaudio/ConvolverNode.idl: Removed.
1952         * webaudio/DOMWindowWebAudio.idl: Removed.
1953         * webaudio/DefaultAudioDestinationNode.cpp: Removed.
1954         * webaudio/DefaultAudioDestinationNode.h: Removed.
1955         * webaudio/DelayDSPKernel.cpp: Removed.
1956         * webaudio/DelayDSPKernel.h: Removed.
1957         * webaudio/DelayNode.cpp: Removed.
1958         * webaudio/DelayNode.h: Removed.
1959         * webaudio/DelayNode.idl: Removed.
1960         * webaudio/DelayProcessor.cpp: Removed.
1961         * webaudio/DelayProcessor.h: Removed.
1962         * webaudio/DynamicsCompressorNode.cpp: Removed.
1963         * webaudio/DynamicsCompressorNode.h: Removed.
1964         * webaudio/DynamicsCompressorNode.idl: Removed.
1965         * webaudio/HighPass2FilterNode.cpp: Removed.
1966         * webaudio/HighPass2FilterNode.h: Removed.
1967         * webaudio/HighPass2FilterNode.idl: Removed.
1968         * webaudio/JavaScriptAudioNode.cpp: Removed.
1969         * webaudio/JavaScriptAudioNode.h: Removed.
1970         * webaudio/JavaScriptAudioNode.idl: Removed.
1971         * webaudio/LowPass2FilterNode.cpp: Removed.
1972         * webaudio/LowPass2FilterNode.h: Removed.
1973         * webaudio/LowPass2FilterNode.idl: Removed.
1974         * webaudio/MediaElementAudioSourceNode.cpp: Removed.
1975         * webaudio/MediaElementAudioSourceNode.h: Removed.
1976         * webaudio/MediaElementAudioSourceNode.idl: Removed.
1977         * webaudio/OfflineAudioCompletionEvent.cpp: Removed.
1978         * webaudio/OfflineAudioCompletionEvent.h: Removed.
1979         * webaudio/OfflineAudioCompletionEvent.idl: Removed.
1980         * webaudio/OfflineAudioDestinationNode.cpp: Removed.
1981         * webaudio/OfflineAudioDestinationNode.h: Removed.
1982         * webaudio/RealtimeAnalyser.cpp: Removed.
1983         * webaudio/RealtimeAnalyser.h: Removed.
1984         * webaudio/RealtimeAnalyserNode.cpp: Removed.
1985         * webaudio/RealtimeAnalyserNode.h: Removed.
1986         * webaudio/RealtimeAnalyserNode.idl: Removed.
1987         * webaudio/WaveShaperDSPKernel.cpp: Removed.
1988         * webaudio/WaveShaperDSPKernel.h: Removed.
1989         * webaudio/WaveShaperNode.cpp: Removed.
1990         * webaudio/WaveShaperNode.h: Removed.
1991         * webaudio/WaveShaperNode.idl: Removed.
1992         * webaudio/WaveShaperProcessor.cpp: Removed.
1993         * webaudio/WaveShaperProcessor.h: Removed.
1994
1995 2012-03-20  Anders Carlsson  <andersca@apple.com>
1996
1997         Add a per-ScrollableArea tile cache base class
1998         https://bugs.webkit.org/show_bug.cgi?id=81694
1999
2000         Reviewed by Sam Weinig.
2001
2002         Add an abstract base class, TiledBacking, that can be used to inform tile caches about changed
2003         state in scrollable areas (such as the currently visible rect, whether the page is active or not, etc).
2004
2005         Make TileCache inherit from TiledBacking and port updating the visible rect over to this new mechanism.
2006
2007         * WebCore.xcodeproj/project.pbxproj:
2008         * page/FrameView.cpp:
2009         (WebCore::FrameView::tiledBacking):
2010         (WebCore):
2011         * page/FrameView.h:
2012         (FrameView):
2013         * platform/ScrollableArea.h:
2014         (WebCore):
2015         (ScrollableArea):
2016         (WebCore::ScrollableArea::tiledBacking):
2017         * platform/graphics/GraphicsLayer.h:
2018         (WebCore):
2019         (WebCore::GraphicsLayer::tiledBacking):
2020         * platform/graphics/TiledBacking.h: Added.
2021         (WebCore):
2022         (TiledBacking):
2023         (WebCore::TiledBacking::~TiledBacking):
2024         * platform/graphics/ca/GraphicsLayerCA.cpp:
2025         (WebCore::GraphicsLayerCA::tiledBacking):
2026         * platform/graphics/ca/GraphicsLayerCA.h:
2027         (GraphicsLayerCA):
2028         * platform/graphics/ca/PlatformCALayer.h:
2029         (PlatformCALayer):
2030         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2031         (PlatformCALayer::tiledBacking):
2032         * platform/graphics/ca/mac/TileCache.h:
2033         (TileCache):
2034         * platform/graphics/ca/mac/WebTileCacheLayer.h:
2035         (WebCore):
2036         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
2037         (-[WebTileCacheLayer WebCore::]):
2038         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2039         (PlatformCALayer::tiledBacking):
2040         * rendering/RenderLayerCompositor.cpp:
2041         (WebCore::RenderLayerCompositor::frameViewDidScroll):
2042
2043 2012-03-20  Xiaomei Ji  <xji@chromium.org>
2044
2045         visual word movement: crashes on CSS generated content.
2046         https://bugs.webkit.org/show_bug.cgi?id=81581
2047
2048         Reviewed by Ryosuke Niwa.
2049
2050         Check for null pointer when referencing box->renderer()->node() in previousRootInlineBox and nextRootInlineBox.
2051
2052         Test: editing/selection/move-by-word-visually-crash-test-css-generated-content.html
2053
2054         * editing/visible_units.cpp:
2055         (WebCore::previousRootInlineBox):
2056         (WebCore::nextRootInlineBox):
2057
2058 2012-03-20  Luke Macpherson  <macpherson@chromium.org>
2059
2060         Use CSSPrimitiveValue::convertToLength() to handle CSSPropertyWebkitBoxReflect and in createGridTrackBreadth.
2061         https://bugs.webkit.org/show_bug.cgi?id=81633
2062
2063         Reviewed by Andreas Kling.
2064
2065         No new tests / refactoring only.
2066
2067         * css/CSSStyleSelector.cpp:
2068         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2069
2070 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2071
2072         Unreviewed, rolling out r111442.
2073         http://trac.webkit.org/changeset/111442
2074         https://bugs.webkit.org/show_bug.cgi?id=81711
2075
2076         Causes crashes and image mismatches in canvas tests (Requested
2077         by leviw on #webkit).
2078
2079         * html/HTMLCanvasElement.cpp:
2080         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2081         (WebCore::HTMLCanvasElement::reset):
2082         (WebCore::HTMLCanvasElement::createImageBuffer):
2083         (WebCore::HTMLCanvasElement::clearCopiedImage):
2084         * html/HTMLCanvasElement.h:
2085         (HTMLCanvasElement):
2086         * html/canvas/CanvasRenderingContext2D.cpp:
2087         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2088         (WebCore::CanvasRenderingContext2D::unwindStateStack):
2089         (WebCore::CanvasRenderingContext2D::reset):
2090
2091 2012-03-20  Adrienne Walker  <enne@google.com>
2092
2093         RenderLayerCompositor doesn't properly clip graphics layer sizes
2094         https://bugs.webkit.org/show_bug.cgi?id=80372
2095
2096         Reviewed by Simon Fraser.
2097
2098         To find the bounds for a composited layer, calculateCompositedBounds
2099         iterates through all non-composited child layers using z-order and
2100         normal flow lists. This does not preserve clipping from ancestor
2101         layers, because a clipping ancestor layer can end up as a sibling to
2102         its clipped descendent because it is not a stacking context.
2103
2104         Fix by explicitly checking cached clip roots.
2105
2106         Test: compositing/clip-child-by-non-stacking-ancestor.html
2107
2108         * rendering/RenderLayer.cpp:
2109         (WebCore::RenderLayer::localClipRect):
2110         (WebCore):
2111         * rendering/RenderLayer.h:
2112         (RenderLayer):
2113         * rendering/RenderLayerCompositor.cpp:
2114         (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
2115         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2116
2117 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2118
2119         Unreviewed, rolling out r111445 and r111446.
2120         http://trac.webkit.org/changeset/111445
2121         http://trac.webkit.org/changeset/111446
2122         https://bugs.webkit.org/show_bug.cgi?id=81708
2123
2124         It broke Qt and GTK build intentionally (Requested by Ossy on
2125         #webkit).
2126
2127         * WebCore.exp.in:
2128         * dom/Document.cpp:
2129         (WebCore::Document::initSecurityContext):
2130         * notifications/Notification.cpp:
2131         (WebCore::Notification::Notification):
2132         * notifications/NotificationCenter.cpp:
2133         (WebCore::NotificationCenter::checkPermission):
2134         (WebCore::NotificationCenter::requestPermission):
2135         * notifications/NotificationCenter.h:
2136         (NotificationCenter):
2137         * page/SecurityOrigin.cpp:
2138         (WebCore::SecurityOrigin::toString):
2139         * page/SecurityOrigin.h:
2140         (SecurityOrigin):
2141
2142 2012-03-20  Adam Klein  <adamk@chromium.org>
2143
2144         Refactor ContainerNode::replaceChild to match other mutation methods and share code
2145         https://bugs.webkit.org/show_bug.cgi?id=81579
2146
2147         Reviewed by Ojan Vafai.
2148
2149         Originally landed as r111310, this fixes a bug in replaceChild
2150         introduced when switching to the insert-before logic.
2151
2152         A future change will make use of the consistency among insertBefore/appendChild/replaceChild
2153         to handle insertion of DocumentFragments more cleanly.
2154
2155         No new tests, no change in behavior.
2156
2157         * dom/ContainerNode.cpp:
2158         (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
2159         Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
2160         (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
2161         (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.
2162
2163 2012-03-20  Jon Lee  <jonlee@apple.com>
2164
2165         Restrict access to notifications for unique origins and file URLs with no local file access
2166         https://bugs.webkit.org/show_bug.cgi?id=79704
2167         <rdar://problem/10912430>
2168
2169         Reviewed by Adam Barth.
2170
2171         Before checking or requesting permissions, we look at whether we can show notifications based on
2172         the security context. If not, we short circuit and do not forward the request to the client.
2173
2174         * notifications/Notification.cpp:
2175         (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
2176         different logic for checking permissions than when checking permissions through the
2177         notification center.
2178         * notifications/NotificationCenter.cpp:
2179         (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
2180         (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
2181         we asynchronously call the callback with that decision. Otherwise we ask the client.
2182
2183         Add new variable in the notification center to keep track of pending callbacks when we short-circuit
2184         requestPermission().
2185         * notifications/NotificationCenter.h:
2186         (NotificationRequestCallback): Add new private class encapsulating the callback.
2187         * notifications/NotificationCenter.cpp:
2188         (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
2189         (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
2190         know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
2191         to invoke the callback.
2192         (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
2193         (WebCore::NotificationCenter::NotificationRequest::startTimer):
2194         (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
2195         center.
2196         * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
2197         regardless of any restrictions that might otherwise cause toString() to return "null".
2198         * page/SecurityOrigin.cpp:
2199         (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
2200         the origin can show notifications. If the origin is unique, we never let it show. If the origin has
2201         universal access, we always let it show. Otherwise the client should be asked.
2202         (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
2203         (WebCore::SecurityOrigin::toRawString):
2204
2205         Added FIXME's regarding the naming of enforceFilePathSeparation().
2206         * dom/Document.cpp:
2207         (WebCore::Document::initSecurityContext): Also, tab reformatting.
2208
2209         * WebCore.exp.in: Export toRawString().
2210
2211 2012-03-20  Andreas Kling  <kling@webkit.org>
2212
2213         Remove unused CSSPrimitiveValue constructors.
2214         <http://webkit.org/b/81695>
2215
2216         Reviewed by Antti Koivisto.
2217
2218         Kill off CSSPrimitiveValue constructors that aren't used anywhere.
2219
2220         * css/CSSPrimitiveValue.cpp:
2221         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2222         * css/CSSPrimitiveValue.h:
2223         (CSSPrimitiveValueBase):
2224         (WebCore::CSSPrimitiveValueBase::CSSPrimitiveValueBase):
2225         (CSSPrimitiveValue):
2226         * css/CSSPrimitiveValueMappings.h:
2227
2228 2012-03-20  Sami Kyostila  <skyostil@chromium.org>
2229
2230         Reuse buffer allocation if canvas size does not change
2231         https://bugs.webkit.org/show_bug.cgi?id=80871
2232
2233         Reviewed by Stephen White.
2234
2235         If the user changes the width or height attributes of a canvas element,
2236         the contents of the canvas should be cleared and the context state
2237         should be reset. This has become a common idiom to clear the canvas
2238         "efficiently" at the start of a frame.
2239
2240         Previously, this code path triggered a full reallocation of the image
2241         buffer backing the canvas, leading to reduced performance. This patch
2242         implements an optimization where we reuse the previous image buffer
2243         allocation if the size of the canvas did not change. Also, instead of
2244         clearing the canvas every time its dimensions are touched, we only clear
2245         if anything has been drawn into the canvas since it was previously
2246         cleared.
2247
2248         Note that for now this optimization only applies for 2D canvases,
2249         since it is not entirely clear how touching the dimensions of a WebGL
2250         canvas should work.
2251
2252         Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
2253               existing layout tests for canvas resetting.
2254
2255         * html/HTMLCanvasElement.cpp:
2256         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2257         (WebCore::HTMLCanvasElement::reset):
2258         (WebCore::HTMLCanvasElement::createImageBuffer):
2259         (WebCore::HTMLCanvasElement::clearImageBuffer):
2260         (WebCore):
2261         (WebCore::HTMLCanvasElement::clearCopiedImage):
2262         * html/HTMLCanvasElement.h:
2263         (HTMLCanvasElement):
2264         * html/canvas/CanvasRenderingContext2D.cpp:
2265         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Save the
2266         initial graphics context state so we can restore it without creating a
2267         new context.
2268         (WebCore::CanvasRenderingContext2D::unwindStateStack):
2269         (WebCore::CanvasRenderingContext2D::reset): No need to notify the
2270         compositor when the context is reset, because clearing the image buffer
2271         does the same thing. We can also skip the notification if we did not
2272         have an image buffer at the time of the reset, because the reset will
2273         not have any visual impact in this case. Finally, if the canvas size
2274         did change, the notification is also unnecessary because of the call
2275         to RenderObject::repaint() from HTMLCanvasElement::reset().
2276
2277 2012-03-20  Dana Jansens  <danakj@chromium.org>
2278
2279         [chromium] Allow us to disable overdraw metrics when tracing is off
2280         https://bugs.webkit.org/show_bug.cgi?id=81431
2281
2282         Reviewed by Adrienne Walker.
2283
2284         This change allows us to disable overdraw metrics conditionally in the
2285         future with a one-line change in each LayerTreeHost class.
2286
2287         Unit test: CCQuadCullerTest.verifyWithoutMetrics
2288
2289         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2290         (WebCore::CCLayerTreeHost::paintLayerContents):
2291         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2292         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2293         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2294         (WebCore::::CCOcclusionTrackerBase):
2295         (WebCore):
2296         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
2297         (CCOcclusionTrackerBase):
2298         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
2299         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
2300         (WebCore::CCOverdrawMetrics::didCull):
2301         (WebCore::CCOverdrawMetrics::didDraw):
2302         (WebCore::CCOverdrawMetrics::recordMetrics):
2303         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
2304         (WebCore::CCOverdrawMetrics::create):
2305         (CCOverdrawMetrics):
2306
2307 2012-03-20  Robert Hogan  <robert@webkit.org>
2308
2309         Use-after-free of continuation in RenderBlock::paintContinuationOutlines()
2310         https://bugs.webkit.org/show_bug.cgi?id=81276
2311
2312         Reviewed by David Hyatt.
2313
2314         Test: fast/css/relative-positioned-block-crash.html
2315
2316         https://trac.webkit.org/changeset/108185/ allowed anonymous blocks to get their own layer (when they're
2317         relatively positioned). This broke the dependency in addContinuationWithOutline() on the owner of the continuation
2318         table and the renderer getting added to it always being in the same layer. When they're not in the same layer
2319         there's no guarantee that the owner of the continuation table will get painted again and so avoid any stale pointers
2320         in its continuation table should any of the renderers in there get destroyed.
2321
2322         Fix this for now by only adding renderers to the containing block's continuation table if we don't have our own layer.
2323         This fix causes fast/inline/continuation-outlines-with-layers.html to regress as it uses blocks inside relatively positioned
2324         inlines, so skip it on all platforms pending a medium-term fix.
2325
2326         * rendering/RenderBlock.cpp:
2327         (WebCore::RenderBlock::paintObject):
2328
2329 2012-03-20  Adele Peterson  <adele@apple.com>
2330
2331         "Attempt to insert nil value " exception when calling attributed string APIs on content with a custom font
2332         https://bugs.webkit.org/show_bug.cgi?id=81630
2333         <rdar://problem/10650660> 
2334
2335         Reviewed by Alexey Proskuryakov. 
2336
2337         Test: TestWebKitAPI/Tests/mac/AttributedString.mm 
2338
2339         If content is using a custom font, then the platform font will be nil and needs to be nil checked.
2340
2341         * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
2342
2343 2012-03-20  Julien Chaffraix  <jchaffraix@webkit.org>
2344
2345         Make distributeExtraLogicalHeightToRows return the consumed logical height
2346         https://bugs.webkit.org/show_bug.cgi?id=81678
2347
2348         Reviewed by Tony Chang.
2349
2350         Small refactoring, no change in behavior.
2351
2352         * rendering/RenderTable.cpp:
2353         (WebCore::RenderTable::distributeExtraLogicalHeight):
2354         Remove the consumed logical height from the available height.
2355
2356         * rendering/RenderTableSection.cpp:
2357         (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
2358         (WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
2359         (WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
2360         Changed those method to not return anything but remove from the available width.
2361
2362         (WebCore::RenderTableSection::distributeExtraLogicalHeightToRows):
2363         Return the consumed logical height.
2364
2365         * rendering/RenderTableSection.h:
2366         Updated the previous distribute functions signature and the comment about
2367         the returned value from distributeExtraLogicalHeightToRows.
2368
2369 2012-03-20  Jacky Jiang  <zhajiang@rim.com>
2370
2371         [BlackBerry] Dijit crash WebCore::CookieManager::getRawCookies
2372         https://bugs.webkit.org/show_bug.cgi?id=81686
2373
2374         Reviewed by Rob Buis.
2375
2376         HTML plugin element with an empty src caused an ASSERT failure on debug
2377         build and a crash on release build.
2378         When getting cookie, url can be null, so we need to check for it to
2379         avoid the crash.
2380
2381         No new tests as this is covered by
2382         LayoutTests/fast/loader/empty-embed-src-attribute.html.
2383
2384         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2385         (WebCore::ResourceRequest::initializePlatformRequest):
2386
2387 2012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>
2388
2389         Web Inspector: Tabbed pane drop down should be sorted.
2390         https://bugs.webkit.org/show_bug.cgi?id=81680
2391
2392         Reviewed by Pavel Feldman.
2393
2394         * inspector/front-end/TabbedPane.js:
2395         (WebInspector.TabbedPane.prototype._populateDropDownFromIndex.compareFunction):
2396         (WebInspector.TabbedPane.prototype._populateDropDownFromIndex):
2397
2398 2012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>
2399
2400         Web Inspector: Open resource dialog scripts list should be sorted.
2401         https://bugs.webkit.org/show_bug.cgi?id=81682
2402
2403         Reviewed by Pavel Feldman.
2404
2405         * inspector/front-end/FilteredItemSelectionDialog.js:
2406         (WebInspector.OpenResourceDialog.compareFunction):
2407         (WebInspector.OpenResourceDialog):
2408
2409 2012-03-20  Dana Jansens  <danakj@chromium.org>
2410
2411         [chromium] Use opaque contents for paint culling
2412         https://bugs.webkit.org/show_bug.cgi?id=81676
2413
2414         Reviewed by Adrienne Walker.
2415
2416         UnitTest: CCLayerTreeHostTestContentLayerOcclusion
2417
2418         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2419         (WebCore::CCLayerTreeHost::paintLayerContents):
2420
2421 2012-03-20  Dan Bernstein  <mitz@apple.com>
2422
2423         Build fix after r111419.
2424
2425         * dom/WebKitNamedFlow.cpp:
2426         * dom/WebKitNamedFlow.h:
2427
2428 2012-03-20  Dan Bernstein  <mitz@apple.com>
2429
2430         REGRESSION (r111229): css1/basic/inheritance.html is failing
2431         https://bugs.webkit.org/show_bug.cgi?id=81684
2432
2433         Reverted r111229.
2434
2435         Rubber-stamped by Dave Hyatt.
2436
2437         * dom/Document.cpp:
2438         (WebCore::Document::webkitGetFlowByName):
2439         * dom/Document.h:
2440         (Document):
2441         * dom/Element.cpp:
2442         (WebCore::Element::detach):
2443         * dom/NodeRenderingContext.cpp:
2444         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
2445         * dom/WebKitNamedFlow.cpp:
2446         (WebCore):
2447         * dom/WebKitNamedFlow.h:
2448         (WebCore):
2449         (WebKitNamedFlow):
2450         * dom/WebKitNamedFlow.idl:
2451
2452 2012-03-20  Vineet Chaudhary  <rgf748@motorola.com>
2453
2454         https://bugs.webkit.org/show_bug.cgi?id=80696
2455         Remove custom bindings for attribute type Array.
2456
2457         Reviewed by Kentaro Hara.
2458
2459         No new tests.
2460
2461         * bindings/js/JSConsoleCustom.cpp: Removed custom function.
2462         (WebCore):
2463         * bindings/js/JSDOMBinding.h: Added template jsArray and toNativeArray.
2464         (WebCore):
2465         (WebCore::jsArray):
2466         (WebCore::toNativeArray):
2467         * bindings/scripts/CodeGenerator.pm: Modified codegenerators to generate appropriate code.
2468         (GetArrayType): Added GetArrayType to get return type of attribute interface.
2469         * bindings/scripts/CodeGeneratorGObject.pm: Modified codegenerators to generate appropriate code.
2470         (SkipAttribute):
2471         * bindings/scripts/CodeGeneratorJS.pm: Modified codegenerators to generate appropriate code.
2472         (AddIncludesForType):
2473         (JSValueToNative):
2474         (NativeToJSValue):
2475         * bindings/scripts/CodeGeneratorV8.pm: Modified codegenerators to generate appropriate code.
2476         (GenerateNormalAttrGetter):
2477         (GenerateNormalAttrSetter):
2478         (JSValueToNative):
2479         (NativeToJSValue):
2480         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated results from running binding tests.
2481         (webkit_dom_test_obj_get_property):
2482         (webkit_dom_test_obj_class_init):
2483         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
2484         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
2485         (WebCore::jsTestObjSequenceAttr):
2486         (WebCore::setJSTestObjSequenceAttr):
2487         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
2488         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
2489         (WebCore::TestObjInternal::sequenceAttrAttrGetter):
2490         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
2491         (WebCore::TestObjInternal::methodReturningSequenceCallback):
2492         * bindings/v8/V8Binding.h: Added template v8Array and toNativeArray.
2493         (WebCore):
2494         (WebCore::v8Array):
2495         (WebCore::toNativeArray):
2496         * bindings/v8/custom/V8ConsoleCustom.cpp: Removed custom function.
2497         (WebCore):
2498         * page/Console.idl: Replaced attribute type Array to sequence<SriptProfile> to remove
2499           custom bindings.
2500
2501 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2502
2503         Unreviewed, rolling out r111310.
2504         http://trac.webkit.org/changeset/111310
2505         https://bugs.webkit.org/show_bug.cgi?id=81683
2506
2507         Broke layout test
2508         dom/xhtml/level3/core/nodereplacechild30.xhtml (Requested by
2509         aklein on #webkit).
2510
2511         * dom/ContainerNode.cpp:
2512         (WebCore::ContainerNode::replaceChild):
2513         (WebCore::ContainerNode::appendChild):
2514         (WebCore::ContainerNode::parserAddChild):
2515
2516 2012-03-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2517
2518         Convert hasSpellingMarker to use Internals interface.
2519         https://bugs.webkit.org/show_bug.cgi?id=81300
2520
2521         Reviewed by Ryosuke Niwa.
2522
2523         Remove hasSpellingMarker functions, because it is able to work in the
2524         cross-port way through the Internals interface.
2525
2526         No new tests, since we are improving here the infra-structure
2527         for testing a specific method.
2528
2529         * testing/Internals.cpp:
2530         (WebCore::Internals::hasSpellingMarker):
2531         (WebCore):
2532         * testing/Internals.h:
2533         (Internals):
2534         * testing/Internals.idl:
2535
2536 2012-03-20  Dan Bernstein  <mitz@apple.com>
2537
2538         Build fix.
2539
2540         * history/PageCache.cpp: Fixed an unused function warning introduced in r111391.
2541
2542 2012-03-20  Konrad Piascik  <kpiascik@rim.com>
2543
2544         (r110063) m_mouseDownMayStartDrag is used without being behind the ENABLE(DRAG_SUPPORT) macro
2545         https://bugs.webkit.org/show_bug.cgi?id=81666
2546
2547         Reviewed by Rob Buis.
2548
2549         Compiled with feature disabled and built.
2550
2551         * page/EventHandler.cpp:
2552         (WebCore::EventHandler::selectCursor):
2553
2554 2012-03-20  W. James MacLean  <wjmaclean@chromium.org>
2555
2556         [chromium] Tune fling physics curve. [Not for review yet]
2557         https://bugs.webkit.org/show_bug.cgi?id=81398
2558
2559         Reviewed by James Robinson.
2560
2561         Existing tests updated.
2562
2563         Tune physics of curve for better feel.
2564
2565         * platform/TouchFlingPlatformGestureCurve.cpp:
2566         (WebCore::TouchFlingPlatformGestureCurve::apply):
2567
2568 2012-03-20  Alexis Menard  <alexis.menard@openbossa.org>
2569
2570         Implement a fast path when setting CSS properties with keywords from JS.
2571         https://bugs.webkit.org/show_bug.cgi?id=80874
2572
2573         Reviewed by Antti Koivisto.
2574
2575         The idea is to avoid the creation of the CSSParser instance and to run the parser on
2576         a string we know it should be a keyword. When JS calls parseValue we try to check if we can
2577         use the fast path and if the keyword is accepted then we just add it to the declaration directly.
2578         For the sake of maintenance the parseValue function used by CSSGrammar.y is sharing some code with
2579         the fast path (keyword matching mostly).
2580
2581         This patch improves this use case by 20%. Setting keyword properties from JS is used a lot in
2582         Google Maps for example (when zooming or panning).
2583
2584         No new tests : it's a performance improvement, there shouldn't be any behavior change.
2585
2586         * css/CSSParser.cpp:
2587         (WebCore):
2588         (WebCore::isValidKeywordPropertyAndValue):
2589         (WebCore::isKeywordPropertyID):
2590         (WebCore::parseKeywordValue):
2591         (WebCore::CSSParser::parseValue):
2592
2593 2012-03-20  Ian Vollick  <vollick@chromium.org>
2594
2595         [chromium] Infrastructure to allow animating layers to be only partially updated
2596         https://bugs.webkit.org/show_bug.cgi?id=81106
2597
2598         Reviewed by James Robinson
2599
2600         Merged the controller tests in CCLayerAnimationControllerTest
2601
2602         * WebCore.gypi:
2603         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2604         * platform/graphics/chromium/GraphicsLayerChromium.h:
2605         (GraphicsLayerChromium):
2606         * platform/graphics/chromium/LayerChromium.cpp:
2607         (WebCore::LayerChromium::LayerChromium):
2608         (WebCore::LayerChromium::pushPropertiesTo):
2609         (WebCore::LayerChromium::setOpacityFromAnimation):
2610         (WebCore):
2611         (WebCore::LayerChromium::setTransformFromAnimation):
2612         (WebCore::LayerChromium::addAnimation):
2613         (WebCore::LayerChromium::pauseAnimation):
2614         (WebCore::LayerChromium::removeAnimation):
2615         (WebCore::LayerChromium::suspendAnimations):
2616         (WebCore::LayerChromium::resumeAnimations):
2617         (WebCore::LayerChromium::setLayerAnimationController):
2618         (WebCore::LayerChromium::hasActiveAnimation):
2619         (WebCore::LayerChromium::setAnimationEvent):
2620         * platform/graphics/chromium/LayerChromium.h:
2621         (WebCore):
2622         (LayerChromium):
2623         (WebCore::LayerChromium::id):
2624         (WebCore::LayerChromium::opacity):
2625         (WebCore::LayerChromium::transform):
2626         (WebCore::LayerChromium::bounds):
2627         * platform/graphics/chromium/cc/CCActiveAnimation.h:
2628         (CCActiveAnimation):
2629         * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
2630         (WebCore::CCAnimationEvent::CCAnimationEvent):
2631         (WebCore::CCAnimationEvent::toFloatAnimationFinishedEvent):
2632         (WebCore::CCAnimationEvent::toTransformAnimationFinishedEvent):
2633         (WebCore::CCAnimationStartedEvent::create):
2634         (WebCore):
2635         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
2636         (WebCore::CCFloatAnimationFinishedEvent::create):
2637         (WebCore::CCFloatAnimationFinishedEvent::CCFloatAnimationFinishedEvent):
2638         (WebCore::CCFloatAnimationFinishedEvent::~CCFloatAnimationFinishedEvent):
2639         (WebCore::CCFloatAnimationFinishedEvent::type):
2640         (WebCore::CCTransformAnimationFinishedEvent::create):
2641         (WebCore::CCTransformAnimationFinishedEvent::CCTransformAnimationFinishedEvent):
2642         (WebCore::CCTransformAnimationFinishedEvent::~CCTransformAnimationFinishedEvent):
2643         (WebCore::CCTransformAnimationFinishedEvent::type):
2644         * platform/graphics/chromium/cc/CCAnimationEvents.h:
2645         (WebCore):
2646         (WebCore::CCAnimationEvent::targetProperty):
2647         (CCAnimationEvent):
2648         (CCAnimationStartedEvent):
2649         (CCFloatAnimationFinishedEvent):
2650         (WebCore::CCFloatAnimationFinishedEvent::finalValue):
2651         (CCTransformAnimationFinishedEvent):
2652         (WebCore::CCTransformAnimationFinishedEvent::finalValue):
2653         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2654         (WebCore::CCLayerAnimationController::CCLayerAnimationController):
2655         (WebCore::CCLayerAnimationController::create):
2656         (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
2657         (WebCore::CCLayerAnimationController::animate):
2658         (WebCore):
2659         (WebCore::CCLayerAnimationController::add):
2660         (WebCore::CCLayerAnimationController::getActiveAnimation):
2661         (WebCore::CCLayerAnimationController::hasActiveAnimation):
2662         (WebCore::CCLayerAnimationController::isAnimatingProperty):
2663         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
2664         (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
2665         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
2666         (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
2667         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
2668         (WebCore::CCLayerAnimationController::resolveConflicts):
2669         (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
2670         (WebCore::CCLayerAnimationController::tickAnimations):
2671         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
2672         (WebCore):
2673         (CCLayerAnimationControllerClient):
2674         (WebCore::CCLayerAnimationControllerClient::~CCLayerAnimationControllerClient):
2675         (CCLayerAnimationController):
2676         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: Removed.
2677         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: Removed.
2678         * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h:
2679         (CCLayerAnimationDelegate):
2680         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2681         (WebCore::CCLayerImpl::CCLayerImpl):
2682         (WebCore::CCLayerImpl::setOpacityFromAnimation):
2683         (WebCore):
2684         (WebCore::CCLayerImpl::setTransformFromAnimation):
2685         * platform/graphics/chromium/cc/CCLayerImpl.h:
2686         (CCLayerImpl):
2687         (WebCore::CCLayerImpl::id):
2688         (WebCore::CCLayerImpl::layerAnimationController):
2689         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2690         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2691         (WebCore::CCLayerTreeHost::updateAnimations):
2692         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2693         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
2694         (WebCore::CCLayerTreeHost::animateLayers):
2695         (WebCore):
2696         (WebCore::CCLayerTreeHost::animateLayersRecursive):
2697         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2698         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2699         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2700         (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
2701         (WebCore::CCLayerTreeHostImpl::animateLayers):
2702         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2703         (CCLayerTreeHostImpl):
2704         * platform/graphics/chromium/cc/CCThreadProxy.h:
2705         (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
2706
2707 2012-03-20  Ilya Tikhonovsky  <loislo@chromium.org>
2708
2709         Web Inspector: REGRESSION Detached DOM Nodes are not highlighted
2710         https://bugs.webkit.org/show_bug.cgi?id=81662
2711
2712         Reviewed by Yury Semikhatsky.
2713
2714         * inspector/front-end/HeapSnapshot.js:
2715         (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
2716
2717 2012-03-20  Gavin Peters  <gavinp@chromium.org>
2718
2719         New PageCache histogram for tracking the highest leverage frame reject reasons.
2720         https://bugs.webkit.org/show_bug.cgi?id=81358
2721
2722         Reviewed by Adam Barth.
2723
2724         The current chromium FrameClientImpl always denies page cache; but
2725         that's easily fixable.  This histogram tracks which rejection
2726         causes occur alone with that cause.  I'm particularly interested
2727         in knowing how many more pages would work in the page cache if we
2728         could get plugins in.
2729
2730         * history/PageCache.cpp:
2731         (WebCore::logCanCachePageDecision):
2732
2733 2012-03-15  Pavel Podivilov  <podivilov@chromium.org>
2734
2735         Web Inspector: support inline source maps.
2736         https://bugs.webkit.org/show_bug.cgi?id=81248
2737
2738         - support optional map.sourcesContent array with sources content
2739         - support data: url as script sourceMapURL, e.g. "//@ sourceMappingURL=data:application/json;base64,<base64-encoded map>"
2740
2741         Reviewed by Pavel Feldman.
2742
2743         * inspector/front-end/CompilerSourceMapping.js:
2744         (WebInspector.ClosureCompilerSourceMapping):
2745         (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
2746         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
2747         (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
2748
2749 2012-03-20  Pavel Feldman  <pfeldman@chromium.org>
2750
2751         Web Inspector: treat Uint* external arrays as arrays in console.
2752         https://bugs.webkit.org/show_bug.cgi?id=81653
2753
2754         Reviewed by Yury Semikhatsky.
2755
2756         * bindings/js/JSInjectedScriptHostCustom.cpp:
2757         (WebCore::JSInjectedScriptHost::type):
2758         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2759         (WebCore::V8InjectedScriptHost::typeCallback):
2760
2761 2012-03-20  Andreas Kling  <kling@webkit.org>
2762
2763         Let CSSImageValue inherit directly from CSSValue.
2764         <http://webkit.org/b/81635>
2765
2766         Reviewed by Antti Koivisto.
2767
2768         This removes the last of the CSSPrimitiveValue subclasses, which will
2769         open up the class to heavier refactoring.
2770
2771         Those CSSImageValues that used to represent the 'none' value are now
2772         simply created as CSSPrimitiveValue identifiers by the parser.
2773
2774         Test: fast/css/image-value-type.html
2775
2776         * css/CSSCursorImageValue.cpp:
2777         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
2778         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2779         (WebCore::CSSCursorImageValue::cachedImage):
2780         * css/CSSImageValue.cpp:
2781         (WebCore::CSSImageValue::CSSImageValue):
2782         (WebCore::CSSImageValue::cachedOrPendingImage):
2783         (WebCore::CSSImageValue::cachedImage):
2784         (WebCore::CSSImageValue::customCssText):
2785         * css/CSSImageValue.h:
2786         (WebCore::CSSImageValue::url):
2787         * css/CSSParser.cpp:
2788         (WebCore::CSSParser::parseValue):
2789         (WebCore::CSSParser::parseFillImage):
2790         (WebCore::CSSParser::parseBorderImage):
2791         * css/CSSStyleApplyProperty.cpp:
2792         (WebCore::ApplyPropertyCursor::applyValue):
2793         * css/CSSStyleSelector.cpp:
2794         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2795         * css/CSSValue.h:
2796         (WebCore::CSSValue::isPrimitiveValue):
2797
2798 2012-03-20  Pavel Feldman  <pfeldman@chromium.org>
2799
2800         Web Inspector: call .length as the last check when detecting arrays.
2801         https://bugs.webkit.org/show_bug.cgi?id=81335
2802
2803         Reviewed by Yury Semikhatsky.
2804
2805         * inspector/InjectedScriptSource.js:
2806
2807 2012-03-20  Alexander Pavlov  <apavlov@chromium.org>
2808
2809         Web Inspector: newly added CSS rules shouldn't rewrite HTML content in the resources panel
2810         https://bugs.webkit.org/show_bug.cgi?id=81414
2811
2812         Reviewed by Vsevolod Vlasov.
2813
2814         * inspector/front-end/CSSStyleModel.js:
2815         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
2816         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
2817
2818 2012-03-20  Yury Semikhatsky  <yurys@chromium.org>
2819
2820         Web Inspector: provide class name filter for "comparison" view in heap profiler
2821         https://bugs.webkit.org/show_bug.cgi?id=81641
2822
2823         Class name filtering now works for both Summary and Comparison views.
2824
2825         Reviewed by Pavel Feldman.
2826
2827         * inspector/front-end/DetailedHeapshotView.js:
2828         (WebInspector.DetailedHeapshotView.prototype._createToolbarWithClassNameFilter):
2829         (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
2830         * inspector/front-end/heapProfiler.css:
2831         (.detailed-heapshot-view .class-view-grid):
2832         (.detailed-heapshot-view .class-view-toolbar):
2833         (.detailed-heapshot-view .class-view-toolbar input.class-name-filter):
2834
2835 2012-03-20  Nikolas Zimmermann  <nzimmermann@rim.com>
2836
2837         Make animVal support type-safe
2838         https://bugs.webkit.org/show_bug.cgi?id=81640
2839
2840         Reviewed by Antti Koivisto.
2841
2842         Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html
2843
2844         Redesign animVal support in a type-safe fashion, avoiding the SVGGenericAnimatedType
2845         and associated reinterpret_casts, which require all call-sites to assure that the
2846         types are safe to cast, before actually calling the method.
2847
2848         Remove pure virtual animationStarted/Ended/ValueWillChange/ValueDidChange & currentBaseValueVariant methods from SVGAnimatedProperty,
2849         and de-virtualize them in classes that inherit from SVGAnimatedProperty, like SVGAnimatedPropertyTearOff, etc.
2850
2851         Add startAnimValAnimation/stopAnimValAnimation/resetAnimValToBaseVal/animValWillChange/animVallDidChange methods to all
2852         SVGAnimatedXXXAnimator classes that currently support animVal (SVGAnimatedLength/LengthList/Number(OptionalNumber)/NumberList/TransformList).
2853         Those SVGAnimatedLengthAnimator can cast the generic SVGAnimatedProperty* associated with a certain SVG DOM property, to the real type
2854         eg. SVGAnimatedLength (which is a SVGAnimatedPropertyTearOff<SVGLength>). This way we can call those methods, without relying on virtual
2855         function calls. Also it makes the "SVGGenericAnimatedType* currentBaseValueVariant()" accessor needless, as we can just call the method
2856         right on eg. the SVGAnimatedLength, which gives us the "const SVGLength&" object, instead of a generic pointer type, that we have to
2857         reinterpret_cast to some hopefully-matching expected type. The new approach is truly type-safey, but needs a bit more boilerplate code.
2858
2859         To reduce the amount of copy&paste across the SVGAnimatedXXXAnimator classes, all code is placed in template functions in
2860         SVGAnimatedTypeAnimator.h, which can be shared across all SVGAnimatedXXXAnimator classes, that inherit from SVGAnimatedTypeAnimator.
2861
2862         Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html
2863
2864         * svg/SVGAnimateElement.cpp:
2865         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2866         (WebCore::SVGAnimateElement::resetToBaseValue):
2867         (WebCore::SVGAnimateElement::applyResultsToTarget):
2868         (WebCore):
2869         (WebCore::SVGAnimateElement::targetElementWillChange):
2870         * svg/SVGAnimatedLength.cpp:
2871         (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
2872         (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
2873         (WebCore):
2874         (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
2875         (WebCore::SVGAnimatedLengthAnimator::animValWillChange):
2876         (WebCore::SVGAnimatedLengthAnimator::animValDidChange):
2877         * svg/SVGAnimatedLength.h:
2878         (WebCore):
2879         (SVGAnimatedLengthAnimator):
2880         * svg/SVGAnimatedLengthList.cpp:
2881         (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
2882         (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
2883         (WebCore):
2884         (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
2885         (WebCore::SVGAnimatedLengthListAnimator::animValWillChange):
2886         (WebCore::SVGAnimatedLengthListAnimator::animValDidChange):
2887         * svg/SVGAnimatedLengthList.h:
2888         (WebCore):
2889         (SVGAnimatedLengthListAnimator):
2890         * svg/SVGAnimatedNumber.cpp:
2891         (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
2892         (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
2893         (WebCore):
2894         (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
2895         (WebCore::SVGAnimatedNumberAnimator::animValWillChange):
2896         (WebCore::SVGAnimatedNumberAnimator::animValDidChange):
2897         * svg/SVGAnimatedNumber.h:
2898         (WebCore):
2899         (SVGAnimatedNumberAnimator):
2900         * svg/SVGAnimatedNumberList.cpp:
2901         (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
2902         (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
2903         (WebCore):
2904         (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
2905         (WebCore::SVGAnimatedNumberListAnimator::animValWillChange):
2906         (WebCore::SVGAnimatedNumberListAnimator::animValDidChange):
2907         * svg/SVGAnimatedNumberList.h:
2908         (WebCore):
2909         (SVGAnimatedNumberListAnimator):
2910         * svg/SVGAnimatedNumberOptionalNumber.cpp:
2911         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
2912         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
2913         (WebCore):
2914         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
2915         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
2916         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
2917         * svg/SVGAnimatedNumberOptionalNumber.h:
2918         (WebCore):
2919         (SVGAnimatedNumberOptionalNumberAnimator):
2920         * svg/SVGAnimatedTransformList.cpp:
2921         (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
2922         (WebCore):
2923         (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
2924         (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
2925         (WebCore::SVGAnimatedTransformListAnimator::animValWillChange):
2926         (WebCore::SVGAnimatedTransformListAnimator::animValDidChange):
2927         * svg/SVGAnimatedTransformList.h:
2928         (WebCore):
2929         (SVGAnimatedTransformListAnimator):
2930         * svg/SVGAnimatedType.h:
2931         (WebCore):
2932         * svg/SVGAnimatedTypeAnimator.h:
2933         (WebCore):
2934         (SVGAnimatedTypeAnimator):
2935         (WebCore::SVGAnimatedTypeAnimator::startAnimValAnimation):
2936         (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimation):
2937         (WebCore::SVGAnimatedTypeAnimator::resetAnimValToBaseVal):
2938         (WebCore::SVGAnimatedTypeAnimator::animValWillChange):
2939         (WebCore::SVGAnimatedTypeAnimator::animValDidChange):
2940         (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
2941         (WebCore::SVGAnimatedTypeAnimator::startAnimation):
2942         (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
2943         (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
2944         (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
2945         (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
2946         (WebCore::SVGAnimatedTypeAnimator::resetFromOneBaseValue):
2947         (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
2948         (WebCore::SVGAnimatedTypeAnimator::resetFromTwoBaseValues):
2949         (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
2950         (WebCore::SVGAnimatedTypeAnimator::collectAnimatedPropertiesFromInstances):
2951         * svg/SVGAnimationElement.cpp:
2952         (WebCore::SVGAnimationElement::applyAnimatedValue):
2953         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2954         * svg/SVGAnimationElement.h:
2955         (SVGAnimationElement):
2956         * svg/SVGElementInstance.cpp:
2957         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
2958         (WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
2959         (WebCore):
2960         (WebCore::SVGElementInstance::InstanceUpdateBlocker::~InstanceUpdateBlocker):
2961         * svg/SVGElementInstance.h:
2962         (WebCore):
2963         (InstanceUpdateBlocker):
2964         (SVGElementInstance):
2965         * svg/properties/SVGAnimatedListPropertyTearOff.h:
2966         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
2967         (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
2968         (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
2969         (WebCore::SVGAnimatedListPropertyTearOff::animValWillChange):
2970         (WebCore::SVGAnimatedListPropertyTearOff::animValDidChange):
2971         * svg/properties/SVGAnimatedProperty.h:
2972         (WebCore):
2973         * svg/properties/SVGAnimatedPropertyTearOff.h:
2974         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValue):
2975         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
2976         (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
2977         (WebCore::SVGAnimatedPropertyTearOff::animValWillChange):
2978         (WebCore::SVGAnimatedPropertyTearOff::animValDidChange):
2979         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2980         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
2981         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
2982         (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
2983         (WebCore::SVGAnimatedStaticPropertyTearOff::animValWillChange):
2984         (WebCore::SVGAnimatedStaticPropertyTearOff::animValDidChange):
2985
2986 2012-03-20  Mihnea Ovidenie  <mihnea@adobe.com>
2987
2988         [CSSRegions]Implement NamedFlow::getRegionsByContentNode
2989         https://bugs.webkit.org/show_bug.cgi?id=77746
2990
2991         Reviewed by David Hyatt.
2992
2993         The list of regions returned is a static node list.
2994
2995         Tests: fast/regions/get-regions-by-content-node-horiz-bt.html
2996                fast/regions/get-regions-by-content-node-horiz-tb.html
2997                fast/regions/get-regions-by-content-node-vert-lr.html
2998                fast/regions/get-regions-by-content-node-vert-rl.html
2999                fast/regions/get-regions-by-content-node.html
3000                fast/regions/get-regions-by-content-node2.html
3001
3002         * dom/WebKitNamedFlow.cpp:
3003         (WebCore::WebKitNamedFlow::getRegionsByContentNode):
3004         (WebCore):
3005         * dom/WebKitNamedFlow.h:
3006         (WebKitNamedFlow):
3007         * dom/WebKitNamedFlow.idl:
3008         * rendering/RenderFlowThread.cpp:
3009         (WebCore::RenderFlowThread::regionInRange):
3010         (WebCore):
3011         (WebCore::RenderFlowThread::objectInFlowRegion):
3012         * rendering/RenderFlowThread.h:
3013         * rendering/RenderRegion.h:
3014         (WebCore::RenderRegion::flowThread):
3015
3016 2012-03-20  Luke Macpherson  <macpherson@chromium.org>
3017
3018         Remove min and max parameters from CSSPrimitiveValue's roundForImpreciseConversion function.
3019         https://bugs.webkit.org/show_bug.cgi?id=81629
3020
3021         Reviewed by Andreas Kling.
3022
3023         No new tests / refactoring only.
3024
3025         * css/CSSPrimitiveValue.cpp:
3026         (WebCore::CSSPrimitiveValue::computeLength):
3027         * css/CSSPrimitiveValue.h:
3028         (WebCore::roundForImpreciseConversion):
3029         * rendering/style/RenderStyle.h:
3030         (WebCore::adjustForAbsoluteZoom):
3031
3032 2012-03-20  Jason Liu  <jason.liu@torchmobile.com.cn>
3033
3034         [BlackBerry]Cookies shouldn't be set into each of webcore's request and platform's request. And this makes a regression.
3035         https://bugs.webkit.org/show_bug.cgi?id=80800
3036
3037         FrameLoaderClientBlackBerry::dispatchWillSendRequest sets cookies to resourceRequest's header
3038         list to show cookies in inspector. And NetworkManager::startJob will set cookies to platformRequest's
3039         m_cookieData again. So cookies are set two times. This causes performance issue.
3040
3041         Moreover, platformRequest will copy cookies from the resourceRequest. And then platformRequest has
3042         the same cookies in its header list and m_cookieData. Network will use header list's cookies which
3043         are output as latin1 only. This causes the regression of https://bugs.webkit.org/show_bug.cgi?id=80307.
3044
3045         Now, set cookies in initializePlatformRequest to ensure setting cookies only once.
3046
3047         Reviewed by George Staikos.
3048
3049         Test: http/tests/cookies/resources/setUtf8Cookies.php
3050
3051         * platform/network/blackberry/NetworkManager.cpp:
3052         (WebCore::NetworkManager::startJob):
3053         * platform/network/blackberry/ResourceRequest.h:
3054         (ResourceRequest):
3055         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
3056         (WebCore::ResourceRequest::initializePlatformRequest):
3057
3058 2012-03-19  Benjamin Poulain  <bpoulain@apple.com>
3059
3060         Build fix for Debug build after r111358
3061
3062         Unreviewed.
3063
3064         * bindings/js/CachedScriptSourceProvider.h:
3065         * bindings/js/StringSourceProvider.h:
3066
3067 2012-03-19  Emil A Eklund  <eae@chromium.org>
3068
3069         Add FractionalLayoutUnit version of blend to AnimationUtilities
3070         https://bugs.webkit.org/show_bug.cgi?id=81572
3071
3072         Reviewed by Eric Seidel.
3073         
3074         Add version of blend method that operates on FractionalLayoutUnits. This
3075         will be used in place of the integer version in many places once we
3076         enable support for subpixel layout.
3077
3078         No new tests.
3079
3080         * platform/FractionalLayoutUnit.h:
3081         Include math.h to make GTK build happy.
3082
3083         * platform/animation/AnimationUtilities.h:
3084         (WebCore::blend):
3085
3086 2012-03-19  Adam Barth  <abarth@webkit.org>
3087
3088         Remove support for "magic" iframe
3089         https://bugs.webkit.org/show_bug.cgi?id=81590
3090
3091         Reviewed by Eric Seidel.
3092
3093         This patch removes support for "magic" iframe, which previously allowed
3094         an iframe to be transfered from one document to another without
3095         reloading the iframe.  The idea behind this feature was to let sites
3096         create "pop out" windows that could outlive their parents by
3097         transfering state to these windows via these magic iframes.
3098
3099         Unforuntately, this feature was never implemented by other browsers and
3100         has been the source of a series of security vulnerabilities.  Although
3101         we have fixed each vulnerability as it has been discovered, the feature
3102         is still a complex corner case that isn't widely exercised on the web.
3103         For that reason, it's likely to have more vulnerabilities in the
3104         future.
3105
3106         I'm not aware of any web sites that use this feature anymore.  There
3107         were a handful of them, but we appear to have been successful in
3108         evangalizing them to move away from "magic" iframe.
3109
3110         * dom/Document.cpp:
3111         (WebCore::Document::adoptNode):
3112         * html/HTMLFrameElementBase.cpp:
3113         (WebCore):
3114         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
3115         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
3116         * html/HTMLFrameElementBase.h:
3117         (HTMLFrameElementBase):
3118         * loader/DocumentLoader.cpp:
3119         (WebCore):
3120         * loader/DocumentLoader.h:
3121         (DocumentLoader):
3122         * loader/EmptyClients.h:
3123         (WebCore::EmptyFrameLoaderClient::createFrame):
3124         * loader/FrameLoader.cpp:
3125         (WebCore):
3126         * loader/FrameLoader.h:
3127         (FrameLoader):
3128         * loader/FrameLoaderClient.h:
3129         (FrameLoaderClient):
3130         * loader/ResourceLoadNotifier.cpp:
3131         (WebCore):
3132         * loader/ResourceLoadNotifier.h:
3133         (ResourceLoadNotifier):
3134         * page/Frame.cpp:
3135         (WebCore):
3136         * page/Frame.h:
3137         (Frame):
3138
3139 2012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
3140
3141         REGRESSION(r110072): Improper repainting on table with overflow: hidden
3142         https://bugs.webkit.org/show_bug.cgi?id=81460
3143
3144         Reviewed by Simon Fraser.
3145
3146         Test: fast/repaint/table-hover-on-link.html
3147
3148         * rendering/RenderTable.cpp:
3149         (WebCore::RenderTable::layout): Add a call to RenderBlock::updateCachedSizeForOverflowClip
3150         so that we properly keep our cached size up to date. This fixes the problem for now but the
3151         real solution is to make sure it is called on all classes that needs to. This is tracked by
3152         bug 81461.
3153
3154 2012-03-19  Pablo Flouret  <pablof@motorola.com>
3155
3156         Add support for crossorigin attribute in script elements
3157         https://bugs.webkit.org/show_bug.cgi?id=81438
3158
3159         Reviewed by Adam Barth.
3160
3161         Works similarly to img and its crossorigin attribute. In the future it
3162         could allow for things like showing full error messages in error
3163         handlers, etc.
3164
3165         Tests: http/tests/security/script-crossorigin-loads-correctly.html
3166                http/tests/security/script-crossorigin-loads-same-origin.html
3167                http/tests/security/script-with-failed-cors-check-fails-to-load.html
3168
3169         * dom/ScriptElement.cpp:
3170         (WebCore::ScriptElement::ScriptElement):
3171         (WebCore::ScriptElement::requestScript):
3172         (WebCore::ScriptElement::notifyFinished):
3173         * dom/ScriptElement.h:
3174         (ScriptElement):
3175         * html/HTMLScriptElement.idl:
3176
3177 2012-03-19  Benjamin Poulain  <benjamin@webkit.org>
3178
3179         Do not copy the script source in the SourceProvider, just reference the existing string
3180         https://bugs.webkit.org/show_bug.cgi?id=81466
3181
3182         Reviewed by Geoffrey Garen.
3183
3184         Instead of creating a copy of the string with 16bits characters, we just return
3185         a shared StringImpl.
3186
3187         * bindings/js/CachedScriptSourceProvider.h:
3188         * bindings/js/StringSourceProvider.h:
3189
3190 2012-03-19  Dana Jansens  <danakj@chromium.org>
3191
3192         A quick early-out for Region::contains() test
3193         https://bugs.webkit.org/show_bug.cgi?id=81625
3194
3195         Reviewed by Anders Carlsson.
3196
3197         If the bounds of region B include a row/column that is outside the bounds of
3198         region A, then region B contains a pixel within that row/column that is
3199         outside of region A.
3200
3201         * platform/graphics/Region.cpp:
3202         (WebCore::Region::contains):
3203
3204 2012-03-19  Eric Seidel  <eric@webkit.org>
3205
3206         Unreviewed attempt to fix the EFL build.
3207
3208         * platform/graphics/efl/IconEfl.cpp:
3209
3210 2012-03-19  Eric Seidel  <eric@webkit.org>
3211
3212         Fix more WTF header include paths in WebCore
3213         https://bugs.webkit.org/show_bug.cgi?id=81602
3214
3215         Reviewed by Martin Robinson.
3216
3217         Chromium, Mac and Win already build w/o including wtf subdirectories
3218         in their include paths for WebCore/WebKit.  Gtk, Qt, and other ports
3219         should eventually do the same.  This patch fixes up a few loose
3220         wtf includes in these ports using some search/replace across WebCore.
3221         If the EWS bots pass this patch doesn't really need any other review.
3222
3223         * accessibility/gtk/AXObjectCacheAtk.cpp:
3224         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
3225         * platform/KURL.cpp:
3226         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
3227         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
3228         * platform/audio/gtk/AudioBusGtk.cpp:
3229         * platform/clutter/GRefPtrClutter.h:
3230         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
3231         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
3232         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
3233         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3234         * platform/graphics/gtk/ImageBufferGtk.cpp:
3235         * platform/graphics/pango/FontPango.cpp:
3236         * platform/graphics/qt/ImageBufferDataQt.h:
3237         * platform/graphics/wx/ImageBufferDataWx.h:
3238         * platform/gtk/ContextMenuGtk.cpp:
3239         * platform/gtk/ContextMenuItemGtk.cpp:
3240         * platform/gtk/FileSystemGtk.cpp:
3241         * platform/gtk/GOwnPtrGtk.h:
3242         * platform/gtk/GtkAuthenticationDialog.h:
3243         * platform/gtk/GtkPopupMenu.cpp:
3244         * platform/gtk/LanguageGtk.cpp:
3245         * platform/gtk/LocalizedStringsGtk.cpp:
3246         * platform/gtk/PopupMenuGtk.cpp:
3247         * platform/gtk/RenderThemeGtk.cpp:
3248         * platform/gtk/RenderThemeGtk.h:
3249         * platform/network/soup/GOwnPtrSoup.h:
3250         * platform/network/soup/ResourceRequestSoup.cpp:
3251         * platform/network/soup/ResourceResponseSoup.cpp:
3252         * platform/network/soup/SocketStreamHandle.h:
3253         * platform/network/soup/SoupURIUtils.cpp:
3254         * platform/text/TextEncoding.cpp:
3255         * platform/text/gtk/TextBreakIteratorGtk.cpp:
3256         * platform/text/gtk/TextCodecGtk.cpp:
3257         * platform/text/gtk/TextCodecGtk.h:
3258
3259 2012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
3260
3261         Move the extra logical height distribution into RenderTable as a new step in our layout algorithm
3262         https://bugs.webkit.org/show_bug.cgi?id=81548
3263
3264         Reviewed by Tony Chang.
3265
3266         Refactoring, no expected change in behavior.
3267
3268         Moving the distribution step into RenderTable is needed to implement a better distribution algorithm that would
3269         span several RenderTableSection (which is what IE and FF are doing right now).
3270
3271         * rendering/RenderTable.cpp:
3272         (WebCore::RenderTable::distributeExtraLogicalHeight):
3273         (WebCore::RenderTable::layout):
3274         Moved the distribution step into distributeExtraLogicalHeight. While at it, changed the code to make use of the helper
3275         methods to iterate over the sections and explicitly floor the LayoutUnit before calling distributeExtraLogicalHeight.
3276
3277         * rendering/RenderTable.h:
3278         Added distributeExtraLogicalHeight.
3279
3280         * rendering/RenderTableSection.cpp:
3281         (WebCore::RenderTableSection::layoutRows):
3282         Changed the method signature as it doesn't handle the distribution step anymore.
3283
3284         * rendering/RenderTableSection.h:
3285         Updated layoutRows signature and exposed distributeExtraLogicalHeightToRows for RenderTable use.
3286
3287 2012-03-19  Anders Carlsson  <andersca@apple.com>
3288
3289         Another attempt at fixing the Windows build.
3290
3291         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3292         (WebCore::LayerClient::platformCALayerDeviceScaleFactor):
3293
3294 2012-03-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3295
3296         [EFL] Fix build break because of PlatformString.h
3297         https://bugs.webkit.org/show_bug.cgi?id=81619
3298
3299         Unreviewed. Fix build break because of PlatformString.h.
3300
3301         * platform/graphics/efl/IconEfl.cpp: Include PlatformString.h from text directory.
3302
3303 2012-03-19  Eric Seidel  <eric@webkit.org>
3304
3305         Fix CrWin build after r111258.
3306         https://bugs.webkit.org/show_bug.cgi?id=81281
3307
3308         Unreviewed build fix.
3309         I also fixed similarly incorrect wtf/ includes for other ports
3310         (which aren't yet as strict as Chromium about wtf includes).
3311
3312         * platform/blackberry/CookieManager.cpp:
3313         * platform/blackberry/CookieParser.cpp:
3314         * platform/blackberry/ParsedCookie.cpp:
3315         * platform/blackberry/SharedTimerBlackBerry.cpp:
3316         * platform/graphics/qt/GraphicsLayerQt.cpp:
3317         * platform/graphics/texmap/TextureMapperAnimation.cpp:
3318         * rendering/RenderThemeChromiumWin.cpp:
3319         (WebCore):
3320
3321 2012-03-19  Eric Seidel  <eric@webkit.org>
3322
3323         Fix CrWin build after r111258.
3324         https://bugs.webkit.org/show_bug.cgi?id=81281
3325
3326         Unreviewed build fix.
3327
3328         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
3329         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
3330         * platform/graphics/texmap/TextureMapperAnimation.h:
3331
3332 2012-03-19  Tony Chang  <tony@chromium.org>
3333
3334         add css parsing of flex-line-pack
3335         https://bugs.webkit.org/show_bug.cgi?id=81427
3336
3337         Reviewed by Ojan Vafai.
3338
3339         Spec: http://dev.w3.org/csswg/css3-flexbox/#flex-line-pack
3340
3341         Updated tests in css3/flexbox/css-properties.html
3342
3343         * css/CSSComputedStyleDeclaration.cpp:
3344         (WebCore):
3345         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3346         * css/CSSParser.cpp:
3347         (WebCore::CSSParser::parseValue):
3348         * css/CSSPrimitiveValueMappings.h:
3349         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3350         (WebCore):
3351         (WebCore::CSSPrimitiveValue::operator EFlexLinePack):
3352         * css/CSSProperty.cpp:
3353         (WebCore::CSSProperty::isInheritedProperty):
3354         * css/CSSPropertyNames.in:
3355         * css/CSSStyleApplyProperty.cpp:
3356         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3357         * css/CSSStyleSelector.cpp:
3358         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3359         * css/CSSValueKeywords.in:
3360         * rendering/style/RenderStyle.h:
3361         * rendering/style/RenderStyleConstants.h:
3362         * rendering/style/StyleFlexibleBoxData.cpp:
3363         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
3364         (WebCore::StyleFlexibleBoxData::operator==):
3365         * rendering/style/StyleFlexibleBoxData.h:
3366         (StyleFlexibleBoxData):
3367
3368 2012-03-19  Gustavo Noronha Silva  <gns@gnome.org>
3369
3370         [GTK] libWebCore.la has become too big for make
3371         https://bugs.webkit.org/show_bug.cgi?id=81582
3372
3373         Unreviewed build fix.
3374
3375         * GNUmakefile.am: build an intermediate library for modules, so that the list
3376         of source files used to build WebCore can be split and not reach make's limits;
3377         also try to force relinking libWebCore.la and libWebCoreModules.la when the
3378         GNUmakefile.am or GNUmakefile.list.am change
3379
3380 2012-03-19  Dana Jansens  <danakj@chromium.org>
3381
3382         [chromium] Push culled tiles that are prepainted
3383         https://bugs.webkit.org/show_bug.cgi?id=81552
3384
3385         Reviewed by Adrienne Walker.
3386
3387         If a tile was culled during paint, but then prepainted in the following
3388         idle paint pass, it was still marked as culled (and thus dirty) and not
3389         pushed to the impl side.
3390
3391         Renames tile->m_updateCulled to tile->m_updated. This value is true if
3392         the tile is updated any time during a commit, and remains false if it
3393         is culled every time the layer is painted.
3394
3395         Unit test: TiledLayerChromiumTest.pushIdlePaintedOccludedTiles
3396
3397         * platform/graphics/chromium/TiledLayerChromium.cpp:
3398         (WebCore::UpdatableTile::isDirtyForCurrentFrame):
3399         (UpdatableTile):
3400         (WebCore::UpdatableTile::UpdatableTile):
3401         (WebCore::TiledLayerChromium::updateCompositorResources):
3402         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
3403         (WebCore::TiledLayerChromium::resetUpdateState):
3404
3405 2012-03-19  Anders Carlsson  <andersca@apple.com>
3406
3407         Fix Snow Leopard build.
3408
3409         * platform/graphics/ca/mac/TileCache.mm:
3410         (WebCore::TileCache::createTileLayer):
3411
3412 2012-03-19  Michal Mocny  <mmocny@google.com>
3413
3414         [chromium] Adding support for GL_EXT_discard_framebuffer.
3415         https://bugs.webkit.org/show_bug.cgi?id=81383
3416
3417         Reviewed by James Robinson.
3418
3419         * platform/graphics/chromium/Extensions3DChromium.h:
3420
3421 2012-03-19  Adam Klein  <adamk@chromium.org>
3422
3423         Refactor ContainerNode::replaceChild to match other mutation methods and share code
3424         https://bugs.webkit.org/show_bug.cgi?id=81579
3425
3426         Reviewed by Ojan Vafai.
3427
3428         A future change will make use of the consistency among insertBefore/appendChild/replaceChild
3429         to handle insertion of DocumentFragments more cleanly.
3430
3431         No new tests, no change in behavior.
3432
3433         * dom/ContainerNode.cpp:
3434         (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
3435         Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
3436         (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
3437         (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.
3438
3439 2012-03-19  Ian Vollick  <vollick@chromium.org>
3440
3441         [chromium] Times in the cc should be expressed in seconds.
3442         https://bugs.webkit.org/show_bug.cgi?id=80514
3443
3444         Reviewed by James Robinson.
3445
3446         Updated timer tests to use seconds.
3447
3448         * platform/TouchFlingPlatformGestureCurve.h:
3449         (TouchFlingPlatformGestureCurve):
3450         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
3451         (WebCore::CCActiveGestureAnimation::animate):
3452         * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
3453         (CCActiveGestureAnimation):
3454         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
3455         (WebCore::CCDelayBasedTimeSource::create):
3456         (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
3457         (WebCore::CCDelayBasedTimeSource::setActive):
3458         (WebCore::CCDelayBasedTimeSource::onTimerFired):
3459         (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
3460         (WebCore):
3461         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
3462         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
3463         (CCDelayBasedTimeSource):
3464         * platform/graphics/chromium/cc/CCGestureCurve.h:
3465         (CCGestureCurve):
3466         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3467         (WTF):
3468         (WebCore::CCThreadProxy::beginContextRecreation):
3469         (WebCore::CCThreadProxy::tryToRecreateContext):
3470         (WebCore::CCThreadProxy::initializeImplOnImplThread):
3471         * platform/graphics/chromium/cc/CCTimer.cpp:
3472         (WebCore::CCTimer::startOneShot):
3473         * platform/graphics/chromium/cc/CCTimer.h:
3474         (CCTimer):
3475
3476 2012-03-19  Florin Malita  <fmalita@google.com>
3477
3478         Relative-height block SVG root not layed out on container height change
3479         https://bugs.webkit.org/show_bug.cgi?id=81513
3480
3481         Reviewed by Dirk Schulze.
3482
3483         Tests: svg/custom/svg-percent-scale-block-expected.html
3484                svg/custom/svg-percent-scale-block.html
3485
3486         A couple of places still have style()->logical{Min,Max,}Height percent checks,
3487         which do not work for SVG elements. This patch adds a virtual hasRelativeLogicalHeight()
3488         RenderBox method to replace the explicit style checks.
3489
3490         * rendering/RenderBlock.cpp:
3491         (WebCore::RenderBlock::layoutBlockChildren):
3492         Use virtual hasRelativeLogicalHeight() instead of logical height style checks.
3493
3494         * rendering/RenderBox.cpp:
3495         (WebCore::RenderBox::hasRelativeLogicalHeight):
3496         (WebCore):
3497         * rendering/RenderBox.h:
3498         (RenderBox):
3499         Add virtual hasRelativeLogicalHeight().
3500
3501         * rendering/RenderView.cpp:
3502         (WebCore::RenderView::layout):
3503         Use virtual hasRelativeLogicalHeight() instead of logical height style checks, if possible.
3504
3505         * rendering/svg/RenderSVGRoot.cpp:
3506         (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
3507         (WebCore):
3508         * rendering/svg/RenderSVGRoot.h:
3509         (RenderSVGRoot):
3510         Add hasRelativeLogicalHeight() override.
3511
3512 2012-03-19  Jer Noble  <jer.noble@apple.com>
3513
3514         Assertion failure in RenderBlock::addChildIgnoringAnonymousColumnBlocks when running fullscreen/full-screen-twice-crash.html 
3515         causing "crashes" on the Lion Intel Debug WebKit2 test bots.
3516         https://bugs.webkit.org/show_bug.cgi?id=81171
3517
3518         Reviewed by Dan Bernstein.
3519
3520         No new tests; fixes fullscreen/* tests when running in WebKitTestRunner (WebKit2).
3521
3522         Add a special-case check if the parent anonymous container is a full screen renderer or placeholder.
3523
3524         * rendering/RenderBlock.cpp:
3525         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
3526
3527 2012-03-19  Enrica Casucci  <enrica@apple.com>
3528
3529         WebKit2: create sandbox extensions for files that are dropped in an input control.
3530         https://bugs.webkit.org/show_bug.cgi?id=81153
3531         <rdar://problem/11031207>
3532
3533         Reviewed by Alexey Proskuryakov.
3534
3535         Now the pasteboard access is performed only in the UI process, it is
3536         necessary to create sandbox extensions for each file that is dropped into
3537         an input type=file element. The extensions are created at the time the files
3538         are dropped and consumed immediately.
3539
3540         * page/DragActions.h: Added new drag action to be used by the WebDragClient.
3541         * page/DragController.cpp:
3542         (WebCore::DragController::concludeEditDrag): Added call to the drag client with the new action.
3543
3544 2012-03-19  Eric Seidel  <eric@webkit.org>
3545
3546         Fix Chromium Win
3547         https://bugs.webkit.org/show_bug.cgi?id=81281
3548
3549         Unreviewed build fix.
3550
3551         * platform/graphics/chromium/TransparencyWin.h:
3552
3553 2012-03-19  Eric Seidel  <eric@webkit.org>
3554
3555         Fix the chromium world.
3556         https://bugs.webkit.org/show_bug.cgi?id=81281
3557
3558         Unreviewed build fix.
3559
3560         * rendering/RenderThemeChromiumSkia.cpp:
3561
3562 2012-03-19  Brady Eidson  <beidson@apple.com>
3563
3564         <rdar://problem/10917120> and https://bugs.webkit.org/show_bug.cgi?id=81066
3565         Crash in 3rd party WebKit apps under XHR/Cache code
3566
3567         Reviewed by Antti Koivisto.
3568
3569         No new layout tests.
3570         TestWebKitAPI test MemoryCachePruneWithinResourceLoadDelegate included
3571
3572         A CachedResource representing an XHR was being deleted by cache pruning during a delegate callback.
3573         This worked until http://trac.webkit.org/changeset/98380
3574
3575         * history/PageCache.cpp:
3576         (WebCore::PageCache::releaseAutoreleasedPagesNow): Only trigger pruning after the page cache
3577           autorelease if it was enabled before.
3578
3579         * loader/cache/CachedResourceLoader.cpp:
3580         (WebCore::CachedResourceLoader::loadResource): Disable pruning before loading the resource and
3581           re-enable it afterwards if necessary.
3582
3583         * loader/cache/MemoryCache.h:
3584         (WebCore::MemoryCache::pruneEnabled):
3585
3586 2012-03-19  Anders Carlsson  <andersca@apple.com>
3587
3588         Fix Windows build.
3589
3590         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3591         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDeviceScaleFactor):
3592
3593 2012-03-18  James Robinson  <jamesr@chromium.org>
3594
3595         [chromium] Implement fling-by-wheel on compositor thread
3596         https://bugs.webkit.org/show_bug.cgi?id=81462
3597
3598         Reviewed by Adrienne Walker.
3599
3600         Adds compositor thread support for a fling type implemented as a sequence of wheel scrolls. Covered by new tests
3601         in WebCompositorInputHandlerImplTests.
3602
3603         * platform/graphics/chromium/cc/CCInputHandler.h:
3604         (CCInputHandler):
3605         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3606         (WebCore::CCLayerTreeHostImpl::scheduleAnimation):
3607         (WebCore):
3608         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3609         (CCLayerTreeHostImpl):
3610         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3611         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
3612
3613 2012-03-19  Emil A Eklund  <eae@chromium.org>
3614
3615         [mac/chromium] Change platform code to use pixelSnappedRect methods
3616         https://bugs.webkit.org/show_bug.cgi?id=81016
3617
3618         Reviewed by Eric Seidel.
3619
3620         Change platform code to use Node::getPixelSnappedRect,
3621         pixelSnappedBoundingBoxRect and pixelSnappedAbsoluteClippedOverflowRect
3622         to avoid exposing subpixel types to the platform layer.
3623
3624         No new tests.
3625
3626         * WebCore.exp.in:
3627         * rendering/RenderObject.cpp:
3628         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
3629         Add pixelSnapped version of absoluteClippedOverflowRect
3630         
3631         (WebCore):
3632         * rendering/RenderObject.h:
3633         (RenderObject):
3634
3635 2012-03-19  Brady Eidson  <beidson@apple.com>
3636
3637         <rdar://problem/10848575> and https://bugs.webkit.org/show_bug.cgi?id=81516
3638         REGRESSION (r107435) URLs copied from WebKit apps aren't in the right pasteboard format
3639
3640         Reviewed by Enrica Casucci.
3641
3642         r107435 started saving/restoring URLs as strings.
3643         We need to go back to setting the URL on the pasteboard using AppKit URL pasteboard APIs.
3644
3645         WebKit API test: ContextMenuCanCopyURL
3646         No WebKit2 API test possible at this time.
3647
3648         * platform/mac/PlatformPasteboardMac.mm:
3649         (WebCore::PlatformPasteboard::setURL):
3650
3651 2012-03-19  Anders Carlsson  <andersca@apple.com>
3652
3653         Make the TileCache work with HiDPI again
3654         https://bugs.webkit.org/show_bug.cgi?id=81569
3655         <rdar://problem/11031542>
3656
3657         Reviewed by Sam Weinig.
3658
3659         Set the contentsScale of the individual tile layers to be the same as the device scale factor.
3660         Also, take into account the fact that the value passed to TileCache::setScale is the product of the
3661         page scale factor and the device scale factor, so divide it by the device scale factor before storing
3662         it in m_scale.
3663
3664         * platform/graphics/ca/GraphicsLayerCA.cpp:
3665         (WebCore::GraphicsLayerCA::platformCALayerDeviceScaleFactor):
3666         (WebCore):
3667         * platform/graphics/ca/GraphicsLayerCA.h:
3668         (GraphicsLayerCA):
3669         * platform/graphics/ca/PlatformCALayerClient.h:
3670         (PlatformCALayerClient):
3671         * platform/graphics/ca/mac/TileCache.h:
3672         (TileCache):
3673         * platform/graphics/ca/mac/TileCache.mm:
3674         (WebCore::TileCache::TileCache):
3675         (WebCore::TileCache::setScale):
3676         (WebCore::TileCache::createTileLayer):
3677
3678 2012-03-19  Abhishek Arya  <inferno@chromium.org>
3679
3680         Crash due to layer tree information not updated when moving run-in children.
3681         https://bugs.webkit.org/show_bug.cgi?id=81265
3682
3683         Reviewed by Julien Chaffraix.
3684
3685         We need to do a full removal as the run-in child is getting inserted into
3686         the neighbouring block and |blockRunIn| is going to be destroyed later
3687         in the function.
3688
3689         Test: fast/runin/run-in-layer-not-removed-crash.html
3690
3691         * rendering/RenderBlock.cpp:
3692         (WebCore::RenderBlock::handleRunInChild):
3693
3694 2012-03-19  Dana Jansens  <danakj@chromium.org>
3695
3696         [chromium] Remove misleading double-if
3697         https://bugs.webkit.org/show_bug.cgi?id=81557
3698
3699         Reviewed by Adrienne Walker.
3700
3701         Simple code cleanup, no functionality change.
3702
3703         * platform/graphics/chromium/TiledLayerChromium.cpp:
3704         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
3705
3706 2012-03-19  Eric Seidel  <eric@webkit.org>
3707
3708         Fix WTF header include discipline in Chromium WebKit
3709         https://bugs.webkit.org/show_bug.cgi?id=81281
3710
3711         Reviewed by James Robinson.
3712
3713         I also fixed some bad include dicipline for other ports
3714         as well.  Those changes are not yet necessary for those ports
3715         to keep building, but soon should be as those authors
3716         remove all the extra WTF includes from WebCore and other non-WTF projects.
3717
3718         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
3719         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
3720         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
3721         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
3722         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
3723         * bindings/v8/NPV8Object.cpp:
3724         * bindings/v8/SerializedScriptValue.cpp:
3725         * bindings/v8/SerializedScriptValue.h:
3726         * bindings/v8/V8Binding.cpp:
3727         * bindings/v8/V8Binding.h:
3728         * bindings/v8/V8DOMWrapper.cpp:
3729         * bindings/v8/V8Utilities.cpp:
3730         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3731         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3732         * bindings/v8/custom/V8AudioContextCustom.cpp:
3733         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3734         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
3735         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
3736         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
3737         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
3738         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
3739         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
3740         * bindings/v8/custom/V8MessagePortCustom.cpp:
3741         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
3742         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
3743         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
3744         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
3745         * bindings/v8/custom/V8WorkerCustom.cpp:
3746         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3747         * bridge/qt/qt_runtime.cpp:
3748         * editing/gtk/FrameSelectionGtk.cpp:
3749         * loader/archive/mhtml/MHTMLArchive.cpp:
3750         * platform/ScrollAnimatorNone.cpp:
3751         * platform/blackberry/CookieMap.h:
3752         * platform/blackberry/CookieParser.h:
3753         * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:
3754         * platform/chromium/DragImageChromiumSkia.cpp:
3755         * platform/chromium/PlatformCursor.h:
3756         * platform/chromium/PlatformSupport.h:
3757         * platform/chromium/PopupMenuPrivate.h:
3758         * platform/chromium/TraceEvent.h:
3759         * platform/chromium/WidgetChromium.cpp:
3760         * platform/efl/RefPtrEfl.h:
3761         * platform/graphics/cairo/RefPtrCairo.h:
3762         * platform/graphics/chromium/RateLimiter.h:
3763         * platform/graphics/chromium/TiledLayerChromium.cpp:
3764         * platform/graphics/efl/IconEfl.cpp:
3765         * platform/graphics/gstreamer/GStreamerGWorld.h:
3766         * platform/graphics/gtk/IconGtk.cpp:
3767         * platform/graphics/skia/PlatformContextSkia.h:
3768         * platform/graphics/texmap/TextureMapperBackingStore.h:
3769         * platform/graphics/texmap/TextureMapperLayer.cpp:
3770         * platform/graphics/wx/TransformationMatrixWx.cpp:
3771         * platform/gtk/PlatformMouseEventGtk.cpp:
3772         * platform/leveldb/LevelDBSlice.h:
3773         * platform/mediastream/MediaStreamCenter.cpp:
3774         * platform/network/soup/SocketStreamHandleSoup.cpp:
3775         * platform/network/win/ResourceHandleWin.cpp:
3776         * platform/qt/RenderThemeQtMobile.cpp:
3777         * platform/wx/MouseEventWx.cpp:
3778         * platform/wx/wxcode/win/fontprops.cpp:
3779
3780 2012-03-19  Dana Jansens  <danakj@chromium.org>
3781
3782         [chromium] Invalidate/update evicted tiles during commit
3783         https://bugs.webkit.org/show_bug.cgi?id=81529
3784
3785         Reviewed by Adrienne Walker.
3786
3787         A previous change caused a regression where evicted (invalid) tiles
3788         were no longer marked as dirty and updated. The regress was caused
3789         in https://bugs.webkit.org/show_bug.cgi?id=81175 and is fixed here.
3790
3791         Unit test: TiledLayerChromiumTest.pushDeletedTiles
3792
3793         * platform/graphics/chromium/TiledLayerChromium.cpp:
3794         (WebCore::UpdatableTile::copyAndClearDirty):
3795         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
3796
3797 2012-03-19  Adam Barth  <abarth@webkit.org>
3798
3799         Remove PLATFORM(TORCHMOBILE) ifdef from MainResourceLoader.cpp
3800         https://bugs.webkit.org/show_bug.cgi?id=81549
3801
3802         Reviewed by Eric Seidel.
3803
3804         This appears to be the only PLATFORM(TORCHMOBILE) ifdef in WebCore.  I
3805         don't believe this ifdef is needed anymore.
3806
3807         * loader/MainResourceLoader.cpp:
3808         (WebCore::shouldLoadAsEmptyDocument):
3809         (WebCore):
3810
3811 2012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3812
3813         Unreviewed, rolling out r111207.
3814         http://trac.webkit.org/changeset/111207
3815         https://bugs.webkit.org/show_bug.cgi?id=81561
3816
3817         Causing chromium unit test failure (Requested by reveman on
3818         #webkit).
3819
3820         * platform/graphics/chromium/Extensions3DChromium.h:
3821         (Extensions3DChromium):
3822
3823 2012-03-19  Anders Carlsson  <andersca@apple.com>
3824
3825         Remove unnecessary CALayer overrides from WebTileCacheLayer
3826         https://bugs.webkit.org/show_bug.cgi?id=81562
3827
3828         Reviewed by Dan Bernstein.
3829
3830         * platform/graphics/ca/mac/TileCache.h:
3831         (TileCache):
3832         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
3833
3834 2012-03-19  Emil A Eklund  <eae@chromium.org>
3835
3836         Correct usage of LayoutUnits in page code in preparation for turning on subpixel layout
3837         https://bugs.webkit.org/show_bug.cgi?id=81538
3838
3839         Reviewed by Eric Seidel.
3840
3841         Fix usage of LayoutUnits and conversions between types in page code.
3842
3843         No new tests.
3844
3845         * page/DOMWindow.cpp:
3846         (WebCore::DOMWindow::innerHeight):
3847         (WebCore::DOMWindow::innerWidth):
3848         Explicitly cast long to int. InspectorInstrumentation requires a long and
3849         FractionalLayoutUnit has no constructor that takes long.
3850         
3851         * page/EventHandler.cpp:
3852         (WebCore::EventHandler::sendContextMenuEventForKey):
3853         Pixel snap overflow rect as selection rects are integer based.
3854         
3855         * page/FrameView.cpp:
3856         (WebCore::FrameView::scrollContentsFastPath):
3857         Pixel snap repaint rects when computing update rect as all scrolling is
3858         done on integer bounds.
3859         
3860         * page/GestureTapHighlighter.cpp:
3861         Change rects vector to IntRect as addFocusRingRects operates on IntRects.
3862         
3863         * page/Page.cpp:
3864         (WebCore::Page::addRelevantRepaintedObject):
3865         (WebCore::Page::addRelevantUnpaintedObject):
3866         Change paint methods to take a LayoutRect paint rect.
3867         
3868         * page/SpatialNavigation.cpp:
3869         (WebCore::distanceDataForNode):
3870         Change distance calculation to use floats instead of converting to float
3871         at the end.
3872
3873 2012-03-19  David Hyatt  <hyatt@apple.com>
3874
3875         https://bugs.webkit.org/show_bug.cgi?id=81553
3876         
3877         [New Multicolumn] Stub out classes to represent sets of column region boxes.
3878
3879         RenderRegionSet is an abstract class representing a set of contiguous anonymous
3880         same-size regions.
3881         
3882         RenderMultiColumnSet derives from RenderRegionSet and represents a set of contiguous
3883         columns. It will also handle unique column behavior like column rule painting.
3884         
3885         Eventually there will be a RenderPageSet derived class for printing/pages, but
3886         that will come later after I finish rebuilding multi-column layout.
3887
3888         Reviewed by Dan Bernstein.
3889
3890         * GNUmakefile.list.am:
3891         * Target.pri:
3892         * WebCore.gypi:
3893         * WebCore.vcproj/WebCore.vcproj:
3894         * WebCore.xcodeproj/project.pbxproj:
3895         * rendering/RenderMultiColumnSet.cpp: Added.
3896         (WebCore):
3897         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
3898         (WebCore::RenderMultiColumnSet::renderName):
3899         * rendering/RenderMultiColumnSet.h: Added.
3900         (WebCore):
3901         (RenderMultiColumnSet):
3902         * rendering/RenderRegionSet.cpp: Added.
3903         (WebCore):
3904         (WebCore::RenderRegionSet::RenderRegionSet):
3905         * rendering/RenderRegionSet.h: Added.
3906         (WebCore):
3907         (RenderRegionSet):
3908
3909 2012-03-19  Raymond Toy  <rtoy@google.com>
3910
3911         Add playback state for AudioBufferSourceNode and add number of active nodes
3912         https://bugs.webkit.org/show_bug.cgi?id=79701
3913
3914         Add a playback state to AudioBufferSourceNode so that the user can
3915         tell if the node is scheduled, playing, or finished.
3916
3917         For an AudioContext, add a count of the number of
3918         AudioBufferSourceNode's that are active (playing audio).
3919
3920         Deleted m_isPlaying and m_hasFinished. For the record, m_isPlaying
3921         is the same as a playbackState of SCHEDULED_STATE or PLAYING_STATE.
3922         m_hasFinished is equivalent to a playbackState of FINISHED_STATE.
3923         
3924         Reviewed by Chris Rogers.
3925
3926         Test: webaudio/audiobuffersource-playbackState.html
3927
3928         * webaudio/AudioBufferSourceNode.cpp:
3929         (WebCore):
3930         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
3931         initialize playbackState, remove m_isPlaying, m_hasFinished.
3932         (WebCore::AudioBufferSourceNode::process): Update playbackState
3933         (WebCore::AudioBufferSourceNode::finish): Update playbackState
3934         (WebCore::AudioBufferSourceNode::noteOn): Update playbackState
3935         (WebCore::AudioBufferSourceNode::noteGrainOn): Update playbackState
3936         (WebCore::AudioBufferSourceNode::noteOff): Use playbackState 
3937         * webaudio/AudioBufferSourceNode.h:
3938         (AudioBufferSourceNode): Define states, remove m_isPlaying, m_hasFinished.
3939         (WebCore::AudioBufferSourceNode::playbackState): Added.
3940         * webaudio/AudioBufferSourceNode.idl: Define constants for the
3941         playback state, add attribute playbackState.
3942         * webaudio/AudioContext.cpp:
3943         (WebCore::AudioContext::activeSourceCount): Added.
3944         (WebCore::AudioContext::incrementActiveSourceCount): Added.
3945         (WebCore::AudioContext::decrementActiveSourceCount): Added.
3946         * webaudio/AudioContext.h:
3947         (AudioContext):
3948         * webaudio/AudioContext.idl: Add attribute activeSourceCount.
3949
3950 2012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3951
3952         Unreviewed, rolling out r109014.
3953         http://trac.webkit.org/changeset/109014
3954         https://bugs.webkit.org/show_bug.cgi?id=81551
3955
3956         Causing crashes (Requested by inferno-sec on #webkit).
3957
3958         * rendering/style/RenderStyle.h:
3959
3960 2012-03-19  Tony Chang  <tony@chromium.org>
3961
3962         Unreviewed, remove headers that no longer exist or moved in WebCore.gypi.
3963
3964         * WebCore.gypi:
3965
3966 2012-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
3967
3968         [CSSRegions]Implement NamedFlow::contentNodes attribute
3969         https://bugs.webkit.org/show_bug.cgi?id=80134
3970
3971         Reviewed by David Hyatt.
3972
3973         The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
3974         In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
3975         The list of nodes is returned as a static node list.
3976
3977         Test: fast/regions/webkit-named-flow-content-nodes.html
3978
3979         * dom/Document.cpp:
3980         (WebCore::Document::webkitGetFlowByName):
3981         * dom/Document.h:
3982         * dom/Element.cpp:
3983         (WebCore::Element::detach):
3984         * dom/NodeRenderingContext.cpp:
3985         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
3986         * dom/WebKitNamedFlow.cpp:
3987         (WebCore::WebKitNamedFlow::contentNodes):
3988         (WebCore):
3989         (WebCore::WebKitNamedFlow::registerContentNode):
3990         * dom/WebKitNamedFlow.h:
3991         (WebCore):
3992         (WebKitNamedFlow):
3993         (WebCore::WebKitNamedFlow::unregisterContentNode):
3994         * dom/WebKitNamedFlow.idl:
3995
3996 2012-03-19  Xingnan Wang  <xingnan.wang@intel.com>
3997
3998         ConvolverNode should not incur processing latency
3999         https://bugs.webkit.org/show_bug.cgi?id=75564
4000
4001         Reviewed by Chris Rogers.
4002
4003         Add the DirectConvolver instead of FFTConvolver for the processing of the leading portion of impulse response.
4004
4005         * WebCore.gypi:
4006         * platform/audio/DirectConvolver.cpp: Added.
4007         (WebCore):
4008         (WebCore::DirectConvolver::DirectConvolver):
4009         (WebCore::DirectConvolver::process):
4010         (WebCore::DirectConvolver::reset):
4011         * platform/audio/DirectConvolver.h: Added.
4012         (WebCore):
4013         (DirectConvolver):
4014         (WebCore::DirectConvolver::convolveSize):
4015         * platform/audio/ReverbConvolver.cpp:
4016         (WebCore::ReverbConvolver::ReverbConvolver):
4017         * platform/audio/ReverbConvolver.h:
4018         * platform/audio/ReverbConvolverStage.cpp:
4019         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
4020         (WebCore::ReverbConvolverStage::process):
4021         (WebCore::ReverbConvolverStage::reset):
4022         * platform/audio/ReverbConvolverStage.h:
4023         (WebCore):
4024         (ReverbConvolverStage):
4025
4026 2012-03-19  Anders Carlsson  <andersca@apple.com>
4027
4028         Find in page highlights get out of place when scrolling
4029         https://bugs.webkit.org/show_bug.cgi?id=81543
4030
4031         Reviewed by Sam Weinig.
4032
4033         Remove a now unused function from GraphicsLayer.
4034
4035         * platform/graphics/GraphicsLayer.h:
4036         (GraphicsLayer):
4037         * platform/graphics/ca/GraphicsLayerCA.h:
4038         (GraphicsLayerCA):
4039
4040 2012-03-19  David Hyatt  <hyatt@apple.com>
4041
4042         https://bugs.webkit.org/show_bug.cgi?id=81534
4043