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