flexbox flexing implementation should match the spec
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-22  Tony Chang  <tony@chromium.org>
2
3         flexbox flexing implementation should match the spec
4         https://bugs.webkit.org/show_bug.cgi?id=70796
5
6         Reviewed by Ojan Vafai.
7
8         Match the algorithm in the spec. Handling min/max constraints are slightly improved.
9         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
10
11         New test cases in css3/flexbox/flex-algorithm-min-max.html.
12
13         * rendering/RenderFlexibleBox.cpp:
14         (WebCore::adjustFlexSizeForMinAndMax): Step 5 of resolving flexible lengths.
15         (WebCore):
16         (WebCore::RenderFlexibleBox::Violation::Violation):
17         (RenderFlexibleBox::Violation):
18         (WebCore::RenderFlexibleBox::freezeViolations): Used by step 6.
19         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
20         * rendering/RenderFlexibleBox.h:
21
22 2012-03-22  Emil A Eklund  <eae@chromium.org>
23
24         Unreviewed, add missing import.
25
26         * rendering/RenderThemeMac.mm:
27
28 2012-03-22  Anders Carlsson  <andersca@apple.com>
29
30         ASSERT(!needsLayout) in RenderView.cpp when visiting http://www.panic.com/blog/
31         https://bugs.webkit.org/show_bug.cgi?id=81953
32         <rdar://problem/11086998>
33
34         Reviewed by Sam Weinig.
35
36         If a page ends up creating CATiledLayers, CA transactions can be committed outside of the normal
37         CA run loop observer, so we can't call setNeedsDisplay on tile cache layers directly because then
38         we'll end up calling into painting code before all the layers have been flushed.
39
40         Fix this by adding a list of dirty rects to platformCALayerDidCreateTiles and change GraphicsLayerCA to
41         mark them as dirty. This ensures that any CA transaction commits won't cause newly added layers to be painted.
42
43         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
44         (WebCore::LayerClient::platformCALayerDidCreateTiles):
45         * platform/graphics/ca/GraphicsLayerCA.cpp:
46         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
47         * platform/graphics/ca/GraphicsLayerCA.h:
48         (GraphicsLayerCA):
49         * platform/graphics/ca/PlatformCALayerClient.h:
50         (PlatformCALayerClient):
51         * platform/graphics/ca/mac/TileCache.mm:
52         (WebCore::TileCache::setScale):
53         (WebCore::TileCache::revalidateTiles):
54         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
55         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
56
57 2012-03-19  Robert Hogan  <robert@webkit.org>
58
59         Text should overflow when list item height set to 0
60         https://bugs.webkit.org/show_bug.cgi?id=78726
61
62         Reviewed by Julien Chaffraix.
63
64         Tests: css2.1/20110323/height-applies-to-010a-expected.html
65                fast/css/heightless-list-item-expected.html
66                fast/css/heightless-list-item.html
67
68         * rendering/RenderListItem.cpp:
69         (WebCore::RenderListItem::paint):
70            If the list item has height:0, only paint it if the list item allows any block or inline content 
71            to overflow unclipped. The zero-height check is a shortcut to avoid unnecessary painting and 
72            this seems to be the only case where there's something to do.
73
74 2012-03-22  Dave Michael  <dmichael@chromium.org>
75
76         HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
77         https://bugs.webkit.org/show_bug.cgi?id=80428
78
79         Reviewed by Eric Seidel.
80
81         Make HTMLPluginElement release its m_NPObject in detach() to break a
82         reference-counting cycle that happens on reload or navigation. With this
83         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
84         was removed. Note that Releasing m_NPObject does not result in a call to
85         the plugin; it simply releases a reference count on the wrapper object
86         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
87         when the render tree is destroyed, when PluginView calls
88         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
89         detach, because it can not result in layout or style changes.
90
91         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
92         window.internals to enable testing.
93
94         Test: plugins/netscape-dom-access-and-reload.html
95
96         * WebCore.exp.in:
97         * html/HTMLPlugInElement.cpp:
98         (WebCore::HTMLPlugInElement::detach):
99         * html/HTMLPlugInElement.h:
100         (HTMLPlugInElement):
101         * testing/Internals.cpp:
102         (WebCore::Internals::numberOfLiveDocuments):
103         (WebCore::Internals::numberOfLiveNodes):
104         (WebCore):
105         * testing/Internals.h:
106         (Internals):
107         * testing/Internals.idl:
108
109 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
110
111         [chromium] Make CCDamageTracker robust to empty layer lists
112         https://bugs.webkit.org/show_bug.cgi?id=81831
113
114         Reviewed by Adrienne Walker.
115
116         Added a unit test in CCDamageTrackerTest that causes a crash in
117         the old code. With this patch applied, the crash will not occur.
118         In theory, that crash should never occur anyway, unless there is a
119         bug outside the damage tracker, but for robustness it's
120         appropriate to handle it properly.
121
122         In addition to this fix, performed some trivial maintenance on the
123         damage tracker code.
124
125         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
126         (WebCore::CCDamageTracker::updateDamageTrackingState): removed
127         unclean code that accessed the targetSurface to get necessary
128         information. Instead, we now pass those args through the damage
129         tracker's API.
130
131         * platform/graphics/chromium/cc/CCDamageTracker.h:
132         (CCDamageTracker): modified args passed to damage tracker on update.
133
134         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
135         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
136         modified args passed to damage tracker on update.
137
138 2012-03-22  Julien Chaffraix  <jchaffraix@webkit.org>
139
140         Enable style sharing for elements with a style attribute
141         https://bugs.webkit.org/show_bug.cgi?id=81523
142
143         Reviewed by Antti Koivisto.
144
145         Memory improvement change only.
146
147         Overall, this is a performance wash (some benchmarks may regress a bit due to the increase in time taken
148         by CSSStyleSelector::locateSharedStyle as we try more nodes, others increase their performance due to style sharing).
149
150         Instrumenting our style sharing, this should give us some nice memory shavings on some benchmarks:
151         - HTML5 isn't impacted as it doesn't use much inline style
152         - page cyclers' intl1 showed a 6% increase in style sharing.
153
154         * css/CSSStyleSelector.cpp:
155         (WebCore::CSSStyleSelector::canShareStyleWithElement):
156         This method now handles inline style like presentation attributes on the element.
157
158         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
159         (WebCore::CSSStyleSelector::locateSharedStyle):
160         Don't bail out for an element with an inline style declaration.
161
162         (WebCore::CSSStyleSelector::stylesEqual):
163         Generalized attributeStylesEqual to share the logic between attribute and
164         inline style property set. This means that attribute checks are actually
165         doing a little extra more work but that didn't impact our benchmarks.
166
167 2012-03-22  Kevin Ollivier  <kevino@theolliviers.com>
168
169         [wx] Unreviewed. WebDOM build fix after array type changes.
170
171         * bindings/scripts/CodeGeneratorCPP.pm:
172         (ShouldSkipType):
173
174 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
175
176         Web Inspector: text gutter decorations should move upon edits.
177         https://bugs.webkit.org/show_bug.cgi?id=81932
178
179         Reviewed by Vsevolod Vlasov.
180
181         Decorations set by the line number now shift as editing inserts / removes lines.
182
183         * inspector/front-end/TextViewer.js:
184         (WebInspector.TextViewer.prototype._syncLineHeight):
185         (WebInspector.TextEditorGutterPanel):
186         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
187         (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
188         (WebInspector.TextEditorGutterPanel.prototype.addDecoration):
189         (WebInspector.TextEditorGutterPanel.prototype.removeDecoration):
190
191 2012-03-21  Robert Hogan  <robert@webkit.org>
192
193         CSS 2.1 failure: fixed-table-layout-006 fails
194         https://bugs.webkit.org/show_bug.cgi?id=78412
195
196         Reviewed by Julien Chaffraix.
197
198         Tests: css2.1/20110323/fixed-table-layout-006.htm
199                fast/css/fixed-table-layout-cell-padding.htm
200
201         In fixed tables, positive width specified on a column should include borders and padding.
202         See the thread at http://lists.w3.org/Archives/Public/www-style/2011Oct/0502.html. The discussion
203         there resulted in a whole new set of tests for section 17.5.2.1 in the CSS 2.1 spec. See 
204         http://test.csswg.org/harness/test/CSS21_DEV/section/17.5.2.1/. This patch allows WebKit
205         to pass all of them, and all tests for the 17.5.2.1 section as a whole. I'll land them all separately.
206     
207         * rendering/FixedTableLayout.cpp:
208         (WebCore::FixedTableLayout::calcWidthArray): Include border width and cell padding in the width of the column.
209          Note that borderAndPaddingLogicalWidth() returns the border width for separate and collapsed borders as appropriate.
210
211 2012-03-22  Simon Fraser  <simon.fraser@apple.com>
212
213         Factor compositing layer updates after scroll into a new method
214         https://bugs.webkit.org/show_bug.cgi?id=81943
215
216         Reviewed by Dean Jackson.
217
218         Move some code that updates compositing layers after scrolling
219         into its own method, for cleanliness.
220
221         * rendering/RenderLayer.cpp:
222         (WebCore::RenderLayer::scrollTo):
223         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
224         (WebCore):
225         * rendering/RenderLayer.h:
226         (RenderLayer):
227
228 2012-03-22  Gavin Barraclough  <barraclough@apple.com>
229
230         Add JSValue::isFunction
231         https://bugs.webkit.org/show_bug.cgi?id=81935
232
233         Reviewed by Geoff Garen.
234
235         This would be useful in the WebCore bindings code.
236         Also, remove asFunction, replace with jsCast<JSFunction*>.
237
238         * bindings/js/JSInjectedScriptHostCustom.cpp:
239         (WebCore::JSInjectedScriptHost::functionDetails):
240         * bindings/js/ScriptCallStackFactory.cpp:
241         (WebCore::createScriptCallStack):
242
243 2012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
244
245         TiledBackingStore: Fix test regressions that appeared with r111560.
246         https://bugs.webkit.org/show_bug.cgi?id=81519
247
248         Reviewed by Kenneth Rohde Christiansen.
249
250         The visible rect wasn't intersected with the contents rect anymore which
251         could lead to an astronomical layer size to check for intersecting tiles.
252
253         Add a visibleContentsRect that doesn't do the conversion and use it
254         in visibleAreaIsCovered.
255
256         * platform/graphics/TiledBackingStore.cpp:
257         (WebCore::TiledBackingStore::visibleContentsRect):
258         (WebCore):
259         (WebCore::TiledBackingStore::visibleRect):
260         (WebCore::TiledBackingStore::visibleAreaIsCovered):
261         * platform/graphics/TiledBackingStore.h:
262         (TiledBackingStore):
263
264 2012-03-22  Joe Thomas  <joethomas@motorola.com>
265
266         Make Length Calculation functions non-inline
267         https://bugs.webkit.org/show_bug.cgi?id=81733
268
269         Currently length calculation functions in LengthFunctions.h are inline. These functions are pretty big to be inline.
270         And these functions are expected to grow again when new length units will be introduced in bug 27160.
271
272         A decent rule of thumb is to not inline a function if it is more than 10 lines long. Also it's typically not cost effective to inline
273         functions with loops or switch statements. (Reference: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Inline_Functions).
274
275         Ran PerformanceTests/Parser/html5-full-render.html on Mac Snow-Leopard with and without the patch and did not see much performance difference.
276
277         Reviewed by Antti Koivisto.
278
279         * CMakeLists.txt:
280         * GNUmakefile.list.am:
281         * Target.pri:
282         * WebCore.gypi:
283         * WebCore.vcproj/WebCore.vcproj:
284         * WebCore.xcodeproj/project.pbxproj:
285         * css/LengthFunctions.cpp: Added.
286         (WebCore):
287         (WebCore::miminumValueForLength):
288         (WebCore::valueForLength):
289         (WebCore::floatValueForLength):
290         * css/LengthFunctions.h:
291         (WebCore):
292
293 2012-03-22  Alexis Menard  <alexis.menard@openbossa.org>
294
295         Increase code sharing between CSSParser and CSSPropertyLonghand.
296         https://bugs.webkit.org/show_bug.cgi?id=81587
297
298         Reviewed by Antti Koivisto.
299
300         Expose the longhands declaration for a given shorthand in CSSPropertyLonghand and
301         make CSSParser use them. It will make the declaration of longhands in one place only.
302         Remove the map of CSSPropertyLonghand and replace it by a regular switch/case.
303         The map doesn't bring much here and it's cleaner and faster to use the switch.
304         It also shows a little performance improvement in CSS/CSSPropertySetterGetter.html.
305
306         No new tests : no behavior change.
307
308         * css/CSSParser.cpp:
309         (WebCore::CSSParser::parseValue):
310         (WebCore::CSSParser::parseAnimationShorthand):
311         (WebCore::CSSParser::parseTransitionShorthand):
312         (WebCore::CSSParser::parseShorthand):
313         Modify the prototype of this function to directly use the CSSPropertyLonghand.
314         * css/CSSParser.h:
315         (WebCore):
316         (CSSParser):
317         * css/CSSPropertyLonghand.cpp:
318         (WebCore):
319         (WebCore::backgroundLonghand):
320         (WebCore::backgroundPositionLonghand):
321         (WebCore::backgroundRepeatLonghand):
322         (WebCore::borderLonghand):
323         (WebCore::borderBottomLonghand):
324         (WebCore::borderColorLonghand):
325         (WebCore::borderImageLonghand):
326         (WebCore::borderLeftLonghand):
327         (WebCore::borderRadiusLonghand):
328         (WebCore::borderRightLonghand):
329         (WebCore::borderSpacingLonghand):
330         (WebCore::borderStyleLonghand):
331         (WebCore::borderTopLonghand):
332         (WebCore::borderWidthLonghand):
333         (WebCore::listStyleLonghand):
334         (WebCore::fontLonghand):
335         (WebCore::marginLonghand):
336         (WebCore::outlineLonghand):
337         (WebCore::overflowLonghand):
338         (WebCore::paddingLonghand):
339         (WebCore::webkitAnimationLonghand):
340         (WebCore::webkitBorderAfterLonghand):
341         (WebCore::webkitBorderBeforeLonghand):
342         (WebCore::webkitBorderEndLonghand):
343         (WebCore::webkitBorderStartLonghand):
344         (WebCore::webkitColumnsLonghand):
345         (WebCore::webkitColumnRuleLonghand):
346         (WebCore::webkitFlexFlowLonghand):
347         (WebCore::webkitMarginCollapseLonghand):
348         (WebCore::webkitMarqueeLonghand):
349         (WebCore::webkitMaskLonghand):
350         (WebCore::webkitMaskPositionLonghand):
351         (WebCore::webkitMaskRepeatLonghand):
352         (WebCore::webkitTextEmphasisLonghand):
353         (WebCore::webkitTextStrokeLonghand):
354         (WebCore::webkitTransitionLonghand):
355         (WebCore::webkitTransformOriginLonghand):
356         (WebCore::webkitWrapLonghand):
357         (WebCore::longhandForProperty):
358         * css/CSSPropertyLonghand.h:
359         (WebCore):
360
361 2012-03-22  Emil A Eklund  <eae@chromium.org>
362
363         Unreviewed, touching file to force bots to pick up CSS_SHADERS flag change. 
364
365         * css/CSSStyleSelector.h:
366         (CSSStyleSelector):
367
368 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
369
370         ReverbConvolver::latencyFrames() should return 0.
371         https://bugs.webkit.org/show_bug.cgi?id=81806
372
373         Reviewed by Chris Rogers.
374
375         * platform/audio/ReverbConvolver.cpp:
376         (WebCore::ReverbConvolver::latencyFrames):
377
378 2012-03-22  Tony Chang  <tony@chromium.org>
379
380         refactor flexbox in preparation for flex-line-pack
381         https://bugs.webkit.org/show_bug.cgi?id=81843
382
383         Reviewed by Ojan Vafai.
384
385         Replace WrapReverseContext with a vector of LineContexts that contain
386         the same information, plus values needed for flex-align.
387
388         alignChildren has been moved to after all the lines have been
389         positioned. We want to align children after flex-line-pack has changed
390         the size of each line to avoid unnecessary layouts.
391
392         Take 2: Remove the assert. If there are no children, then there are no
393         flex lines. Instead, assert that child is not null.
394
395         No new tests, just refactoring.
396
397         * rendering/RenderFlexibleBox.cpp:
398         (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
399         holds information needed for wrap-reverse and aligning children.
400         (RenderFlexibleBox::LineContext):
401         (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
402         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
403         (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
404         (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
405         * rendering/RenderFlexibleBox.h:
406
407 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
408
409         Event dispatching in XMLHttpRequestProgressEventThrottle should go through XMLHttpRequestProgressEventThrottle::dispatchEvent
410         https://bugs.webkit.org/show_bug.cgi?id=46743
411
412         Reviewed by Julien Chaffraix
413         Based on original patch by Anton D'Auria
414
415         In preparation for platform-specific queuing of XMLHttpRequest events,
416         this patch changes all calls to m_target->dispatchEvent to
417         XMLHttpRequestProgressEventThrottle::dispatchEvent.
418         Currently, we queue only one progress event on suspend() if we have
419         throttled progress events. We should be able to queue all XHR events
420         that can be generated after suspend(), if the platform network layer
421         continues to receive data.
422         XMLHttpRequest uses XMLHttpRequestProgressEventThrottle to dispatch only
423         download events, so this doesn't change behavior of upload events, which
424         aren't throttled or queued.
425
426         * xml/XMLHttpRequest.cpp:
427         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
428         * xml/XMLHttpRequestProgressEventThrottle.cpp:
429         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent):
430         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
431         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
432         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent):
433         (WebCore::XMLHttpRequestProgressEventThrottle::fired):
434         * xml/XMLHttpRequestProgressEventThrottle.h:
435         (XMLHttpRequestProgressEventThrottle):
436
437 2012-03-22  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
438
439         [EFL] Map BackSpace key code to Unicode value
440         https://bugs.webkit.org/show_bug.cgi?id=81130
441
442         Reviewed by Gustavo Noronha Silva.
443
444         Test: fast/events/backspace-navigates-back.html
445
446         * platform/efl/EflKeyboardUtilities.cpp:
447         (WebCore::createKeyMap): Map BackSpace to Unicode value
448
449 2012-03-22  Abhishek Arya  <inferno@chromium.org>
450
451         Incorrect beforeChild parent calculation in RenderRubyBase::moveChildren.
452         https://bugs.webkit.org/show_bug.cgi?id=80297
453
454         Reviewed by Julien Chaffraix.
455
456         beforeChild might share the same anonymous block parent with other previous
457         siblings. Before moving the children across ruby bases, we need to make sure
458         to split the tree across the beforeChild correctly.
459
460         Test: fast/ruby/ruby-text-before-child-split.html
461
462         * rendering/RenderRubyBase.cpp:
463         (WebCore::RenderRubyBase::moveChildren):
464
465 2012-03-22  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
466
467         [Qt] Fix Qt minimal build after r111692
468
469         Reviewed by Csaba Osztrogonác.
470
471         * bindings/js/JSScriptProfileNodeCustom.cpp:
472
473 2012-03-22  Adrienne Walker  <enne@google.com>
474
475         [chromium] Fix scrollbar layers holding onto invalid textures after lost context
476         https://bugs.webkit.org/show_bug.cgi?id=81841
477
478         Reviewed by James Robinson.
479
480         Unit test: CCLayerTreeHostImplTest.scrollbarLayerLostContext
481
482         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
483         (WebCore::CCScrollbarLayerImpl::willDraw):
484
485 2012-03-22  Philippe Normand  <pnormand@igalia.com>
486
487         [GTK] ASSERT bug in WebAudio (AudioFileReader)
488         https://bugs.webkit.org/show_bug.cgi?id=81777
489
490         Reviewed by Martin Robinson.
491
492         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
493         (WebCore::AudioFileReader::decodeAudioForBusCreation): Don't steal
494         the GstBus floating reference.
495         (WebCore::AudioFileReader::createBus): Ditto.
496
497 2012-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
498
499         Unreviewed: Web Inspector: fix syntax error in text.
500
501         * English.lproj/localizedStrings.js:
502         * inspector/front-end/HeapSnapshotProxy.js:
503         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
504
505 2012-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
506
507         Unreviewed, rolling out r111688.
508         http://trac.webkit.org/changeset/111688
509         https://bugs.webkit.org/show_bug.cgi?id=81912
510
511         "Heap profiler test fails" (Requested by yurys on #webkit).
512
513         * inspector/front-end/HeapSnapshot.js:
514         (WebInspector.HeapSnapshot.prototype._buildRetainers):
515
516 2012-03-22  Dana Jansens  <danakj@chromium.org>
517
518         [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
519         https://bugs.webkit.org/show_bug.cgi?id=81437
520
521         Reviewed by Adrienne Walker.
522
523         Split CCLayerTreeHostImpl::drawLayers() into two phases:
524         prepareToDraw() and drawLayers().
525
526         When calculating a RenderPass, and we checkerboard a quad on a
527         layer, bubble this info back up to CCLayerTreeHostImpl. If the
528         layer is transforming in an animation, then abort the prepareToDraw()
529         phase and cause it to return false back to the thread proxy.
530
531         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
532
533         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
534         (WebCore::CCLayerImpl::appendQuads):
535         * platform/graphics/chromium/cc/CCLayerImpl.h:
536         (CCLayerImpl):
537         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
538         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
539         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
540         (WebCore):
541         (WebCore::CCLayerTreeHostImpl::drawLayers):
542         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
543         (CCLayerTreeHostImpl):
544         (FrameData):
545         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
546         (WebCore::CCQuadCuller::append):
547         * platform/graphics/chromium/cc/CCQuadCuller.h:
548         (CCQuadCuller):
549         * platform/graphics/chromium/cc/CCRenderPass.cpp:
550         (WebCore::CCRenderPass::appendQuadsForLayer):
551         * platform/graphics/chromium/cc/CCRenderPass.h:
552         (CCRenderPass):
553         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
554         (WebCore::CCScrollbarLayerImpl::appendQuads):
555         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
556         (CCScrollbarLayerImpl):
557         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
558         (WebCore::CCSingleThreadProxy::doComposite):
559         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
560         (WebCore::CCSolidColorLayerImpl::appendQuads):
561         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
562         (CCSolidColorLayerImpl):
563         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
564         (WebCore::CCTextureLayerImpl::appendQuads):
565         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
566         (CCTextureLayerImpl):
567         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
568         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
569         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
570         (WebCore::CCTiledLayerImpl::appendQuads):
571         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
572         (CCTiledLayerImpl):
573         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
574         (WebCore::CCVideoLayerImpl::appendQuads):
575         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
576         (CCVideoLayerImpl):
577
578 2012-03-22  Levi Weintraub  <leviw@chromium.org>
579
580         Correct LayoutUnit usage in Accessibility code
581         https://bugs.webkit.org/show_bug.cgi?id=81789
582
583         Reviewed by Eric Seidel.
584
585         Reverting Accessibility hit testing code back to integers. Accessibility hit tests originate from
586         the embedder and don't accumulate offsets, so we get nothing from using LayoutUnits, and needlessly
587         expose them to the embedder.
588
589         No new tests. No change in behavior.
590
591         * accessibility/AccessibilityListBox.cpp:
592         (WebCore::AccessibilityListBox::elementAccessibilityHitTest): See above.
593         * accessibility/AccessibilityListBox.h:
594         (AccessibilityListBox):
595         * accessibility/AccessibilityObject.cpp:
596         (WebCore::AccessibilityObject::clickPoint): This value is only ever used to display a context menu,
597         which is always done with integer coordinates.
598         (WebCore::AccessibilityObject::boundingBoxForQuads): This is a bounding box built from floats. We
599         don't pixel snap floats, so we return an integer bounding box.
600         (WebCore::AccessibilityObject::elementAccessibilityHitTest): See above.
601         (WebCore::AccessibilityObject::scrollToMakeVisible): Pixel snapping the bounding box and simplifying
602         up the code to position it at (0,0).
603         * accessibility/AccessibilityObject.h:
604         (WebCore::AccessibilityObject::accessibilityHitTest): See above.
605         (AccessibilityObject):
606         (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect): Convenience method for embedder callers.
607         * accessibility/AccessibilityRenderObject.cpp:
608         (WebCore::AccessibilityRenderObject::visiblePositionForPoint): The point passed in here is comes from
609         screen coordinates and originates in embedder code. Reverting it to take an integer.
610         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): See above.
611         (WebCore::AccessibilityRenderObject::accessibilityHitTest): See above.
612         * accessibility/AccessibilityRenderObject.h:
613         (AccessibilityRenderObject):
614         * accessibility/AccessibilityScrollView.cpp:
615         (WebCore::AccessibilityScrollView::accessibilityHitTest): See above.
616         * accessibility/AccessibilityScrollView.h:
617         (AccessibilityScrollView):
618         * accessibility/AccessibilitySlider.cpp:
619         (WebCore::AccessibilitySlider::elementAccessibilityHitTest): See above.
620         * accessibility/AccessibilitySlider.h:
621         (AccessibilitySlider):
622
623 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
624
625         Web Inspector: HeapProfiler: Heap snapshot worker has to report the errors to the front-end
626         https://bugs.webkit.org/show_bug.cgi?id=81804
627
628         Sometimes the worker process of HeapSnapshot does some wrong thing and throw an Exception.
629         At this momemnt we have no way to see the error in the front-end.
630
631         Reviewed by Yury Semikhatsky.
632
633         * English.lproj/localizedStrings.js:
634         * inspector/front-end/HeapSnapshotProxy.js: check the exception field and dump it into front-end's console.
635         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
636         * inspector/front-end/HeapSnapshotWorkerDispatcher.js: catch the exception and transfer it's text to requester's side.
637         (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
638
639 2012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>
640
641         [GTK] Use the angle-bracket form to include wtf headers
642         https://bugs.webkit.org/show_bug.cgi?id=81884
643
644         Reviewed by Eric Seidel.
645
646         Use #include <wtf/foo> instead of #include "foo".
647
648         * platform/graphics/freetype/FontPlatformData.h:
649         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
650         * platform/gtk/DataObjectGtk.h:
651         * platform/network/ResourceHandleInternal.h:
652         * platform/network/soup/SocketStreamHandleSoup.cpp:
653
654 2012-03-22  Alexander Pavlov  <apavlov@chromium.org>
655
656         Web Inspector: Case of the elements of the xml document should be shown as it is in the console
657         https://bugs.webkit.org/show_bug.cgi?id=81902
658
659         When registering a detached root, DOMAgent always presumes it is a node,
660         while it can also be a document.
661
662         Reviewed by Vsevolod Vlasov.
663
664         Test: inspector/console/console-xml-document.html
665
666         * inspector/front-end/ConsoleMessage.js:
667         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
668         * inspector/front-end/DOMAgent.js:
669         (WebInspector.DOMAgent.prototype._setDetachedRoot):
670
671 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
672
673         Web Inspector: Introduce ScriptBound/ScriptUnbound events in ScriptMapping.
674         https://bugs.webkit.org/show_bug.cgi?id=81904
675
676         Reviewed by Pavel Feldman.
677
678         This is another step on the way to cleaner BreakpointManager logic.
679         Here we extract ScriptBound/ScriptUnbound events from UISourceCodeListChanged event.
680         This allows us to handle script-uiSourceCode binding separately from
681         uiSourceCode creation/deletion and to handle unbinding that was not
682         possible at all before.
683
684         * inspector/front-end/CompilerScriptMapping.js:
685         (WebInspector.CompilerScriptMapping.prototype._uiSourceCodesForSourceMap):
686         (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
687         (WebInspector.CompilerScriptMapping.prototype.addScript):
688         (WebInspector.CompilerScriptMapping.prototype.reset):
689         * inspector/front-end/ResourceScriptMapping.js:
690         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
691         * inspector/front-end/ScriptMapping.js:
692         (WebInspector.MainScriptMapping):
693         (WebInspector.MainScriptMapping.prototype._updateLiveLocation):
694         (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
695         (WebInspector.MainScriptMapping.prototype._handleScriptBound):
696         (WebInspector.MainScriptMapping.prototype._handleScriptUnbound):
697         * inspector/front-end/SnippetsModel.js:
698         (WebInspector.SnippetsScriptMapping.prototype.addScript.get this):
699         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
700         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
701         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
702         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
703         (WebInspector.SnippetsScriptMapping.prototype.reset):
704
705 2012-03-22  Vineet Chaudhary  <rgf748@motorola.com>
706
707         https://bugs.webkit.org/show_bug.cgi?id=81893
708         Remove custom bindings form ScriptProfileNode.idl of attribute type Array.
709
710         Reviewed by Kentaro Hara.
711
712         Replace [CustomGetter] Array with sequence<ScriptProfileNode>.
713         To remove the custom bindings code.
714
715         Test: No new tests. LayoutTests/fast/profiler/* test are enough for this.
716
717         * bindings/js/JSScriptProfileNodeCustom.cpp: Removed custom function.
718         (WebCore::JSScriptProfileNode::callUID):
719         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Removed custom function.
720         (WebCore):
721         * inspector/ScriptProfileNode.idl: Replaced Array with sequence<ScriptProfileNode>.
722
723 2012-03-22  Andrey Kosyakov  <caseq@chromium.org>
724
725         Web Inspector: only update timeline overview categories strips when these are visible
726         https://bugs.webkit.org/show_bug.cgi?id=81903
727
728         Reviewed by Pavel Feldman.
729
730         - factor out category strips update into a separate method;
731         - only invoke it when "Timeline" overview mode is selected.
732
733         * inspector/front-end/TimelineOverviewPane.js:
734         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
735         (WebInspector.TimelineOverviewPane.prototype.update):
736         (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
737
738 2012-03-22  Levi Weintraub  <leviw@chromium.org>
739
740         Update LayoutUnit usage in FrameSelection
741         https://bugs.webkit.org/show_bug.cgi?id=81754
742
743         Reviewed by Eric Seidel.
744
745         FrameSelection stores its caret and repaint bounds in absolute coordinates. Absolute coordinates
746         we treat as pixel values, so this patch changes these values to integers. Sub-pixel precision
747         will still be used when these coordinates are passed down and used locally.
748
749         No new tests. No change in behavior.
750
751         * editing/FrameSelection.cpp:
752         (WebCore::absoluteCaretY): Uses absolute coordinates, which are ints.
753         (WebCore::FrameSelection::modify): Uses absolute coordinates to handle vertical selection
754         modification. Sub-pixel precision will be used when these values are converted to local ones.
755         (WebCore::CaretBase::absoluteBoundsForLocalRect): Absolute coordinates -> ints.
756         (WebCore::FrameSelection::absoluteCaretBounds): Ditto.
757         (WebCore::CaretBase::caretRepaintRect): The caret repaint rect is stored in absolute coordinates.
758         Reverting the values to ints.
759         (WebCore::FrameSelection::recomputeCaretRect): Ditto.
760         * editing/FrameSelection.h:
761         (FrameSelection):
762         * editing/mac/FrameSelectionMac.mm:
763         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Switching to store absolute
764         coordinates as integers.
765
766 2012-03-22  Alexei Filippov  <alexeif@chromium.org>
767
768         Web Inspector: Speed up the build retainers phase.
769         https://bugs.webkit.org/show_bug.cgi?id=81763
770
771         Replacing the edge iterator with a raw loop makes it
772         faster by more than 10 times.
773
774         Reviewed by Yury Semikhatsky.
775
776         * inspector/front-end/HeapSnapshot.js:
777         (WebInspector.HeapSnapshot.prototype._buildRetainers):
778
779 2012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
780
781         [Qt][WK2] The background appears to have one extra pixel from the contents
782         https://bugs.webkit.org/show_bug.cgi?id=81830
783
784         Reviewed by Kenneth Rohde Christiansen.
785
786         TextureMapperGL applied a 1-offset that was covering for another bug,
787         which was already fixed.
788
789         No new tests, this would be tested once we test GL rendering results.
790
791         * platform/graphics/texmap/TextureMapperGL.cpp:
792         (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
793
794 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
795
796         Rename touchpad fling curve, add curve parameters to constructor.
797         https://bugs.webkit.org/show_bug.cgi?id=81820
798
799         Reviewed by Adrienne Walker.
800
801         Covered by existing unit tests.
802
803         * GNUmakefile.list.am:
804         * WebCore.gypi:
805         * platform/ScrollAnimatorNone.cpp:
806         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
807         * platform/TouchpadFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp.
808         (WebCore):
809         (WebCore::TouchpadFlingPlatformGestureCurve::create):
810         (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
811         (WebCore::TouchpadFlingPlatformGestureCurve::~TouchpadFlingPlatformGestureCurve):
812         (WebCore::TouchpadFlingPlatformGestureCurve::apply):
813         * platform/TouchpadFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.h.
814         (WebCore):
815         (TouchpadFlingPlatformGestureCurve):
816
817 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
818
819         Web Inspector: make CSS and JavaScript files editable by default.
820         https://bugs.webkit.org/show_bug.cgi?id=81787
821
822         Reviewed by Vsevolod Vlasov.
823
824         This change removes cancelEditing and setReadOnly capabilities from source frame.
825         It removes dblclick handler as well since one does not need to enter editing mode.
826         It also establishes proper content dispatching so that views are updated with the
827         resource content. All these are inter-dependent, need to be landed simultaneously.
828         Drive-by follow up to the r111675 where range is modified prior to the exiting
829         edit mode.
830
831         * inspector/front-end/JavaScriptSourceFrame.js:
832         (WebInspector.JavaScriptSourceFrame):
833         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
834         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
835         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
836         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
837         (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
838         * inspector/front-end/ResourceView.js:
839         (WebInspector.ResourceSourceFrame):
840         (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
841         (WebInspector.ResourceSourceFrame.prototype._contentChanged):
842         (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
843         (WebInspector.EditableResourceSourceFrame.prototype.editContent.callbackWrapper):
844         (WebInspector.EditableResourceSourceFrame.prototype.editContent):
845         (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
846         * inspector/front-end/ResourcesPanel.js:
847         (WebInspector.ResourcesPanel.prototype._innerShowView):
848         (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
849         * inspector/front-end/ScriptsPanel.js:
850         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
851         * inspector/front-end/Settings.js:
852         (WebInspector.ExperimentsSettings):
853         * inspector/front-end/SourceFrame.js:
854         (WebInspector.SourceFrame):
855         (WebInspector.SourceFrame.prototype.wasShown):
856         (WebInspector.SourceFrame.prototype.willHide):
857         (WebInspector.SourceFrame.prototype.beforeTextChanged):
858         (WebInspector.SourceFrame.prototype.setContent):
859         (WebInspector.SourceFrame.prototype.commitEditing):
860         (WebInspector.SourceFrame.prototype.didEditContent):
861         (WebInspector.SourceFrame.prototype.editContent):
862         * inspector/front-end/TextPrompt.js:
863         (WebInspector.TextPrompt.prototype._startEditing):
864         (WebInspector.TextPrompt.prototype._stopEditing):
865         * inspector/front-end/TextViewer.js:
866         (WebInspector.TextViewer):
867         (WebInspector.TextViewer.prototype._registerShortcuts):
868         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
869
870 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
871
872         [Qt] Enable FAST_MOBILE_SCROLLING when scrolling is delegated.
873         https://bugs.webkit.org/show_bug.cgi?id=81889
874
875         Reviewed by Kenneth Rohde Christiansen.
876
877         On the Qt platform only enable the fast mobile scroll feature when scrolling is delegated.
878
879         * rendering/RenderObject.cpp:
880         (WebCore::RenderObject::styleWillChange):
881
882 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
883
884         Web Inspector: dispatch styleSheetChanged event synchronously.
885         https://bugs.webkit.org/show_bug.cgi?id=81892
886
887         Reviewed by Vsevolod Vlasov.
888
889         Today, backend generates stylesheet change event synchronously from within set* command.
890         But CSSStyleModel defers its dispatching until the stylesheet content is available. This
891         prevents us from ignoring update events from within commands that initiated those updates.
892
893         This change makes stylesheet change event dispatch synchronously and delegates stylesheet
894         content fetching to the event client.
895
896         * inspector/front-end/CSSStyleModel.js:
897         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
898         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
899         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
900         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
901         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
902         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.callback):
903         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
904         (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
905
906 2012-03-21  Ian Vollick  <vollick@chromium.org>
907
908         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
909         https://bugs.webkit.org/show_bug.cgi?id=81692
910
911         Reviewed by Adrienne Walker.
912
913         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
914
915         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
916
917 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
918
919         Web Inspector: allow on-hover popover while in edit mode.
920         https://bugs.webkit.org/show_bug.cgi?id=81898
921
922         Reviewed by Vsevolod Vlasov.
923
924         This change allows popover while in-edit mode, hides it upon Esc. It also introduces anchorOverride
925         concept in ObjectPopoverHelper that allows dynamically switching the anchor (say if we want to highlight anchor itself).
926
927         * inspector/front-end/DetailedHeapshotView.js:
928         * inspector/front-end/ElementsPanel.js:
929         * inspector/front-end/JavaScriptSourceFrame.js:
930         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
931         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
932         (WebInspector.JavaScriptSourceFrame.prototype._onKeyDown):
933         * inspector/front-end/NetworkPanel.js:
934         * inspector/front-end/ObjectPopoverHelper.js:
935         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
936         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
937         * inspector/front-end/Popover.js:
938         (WebInspector.PopoverHelper.prototype.isPopoverVisible):
939         * inspector/front-end/TimelinePanel.js:
940
941 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
942
943         Web Inspector: breakpoints should shift when line break is inserted in the middle of the line.
944         https://bugs.webkit.org/show_bug.cgi?id=81896
945
946         Reviewed by Vsevolod Vlasov.
947
948         There is a bug that collapses selection prior to exiting change mode, we should never
949         collapse edit area prior committing.
950
951         * inspector/front-end/TextEditorModel.js:
952         (WebInspector.TextEditorModel.endsWithBracketRegex.):
953         * inspector/front-end/TextViewer.js:
954         (WebInspector.TextViewer):
955         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
956         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
957         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
958
959 2012-03-22  Zoltan Herczeg  <zherczeg@webkit.org>
960
961         Merge SVGImageBufferTools to SVGRenderingContext
962         https://bugs.webkit.org/show_bug.cgi?id=81890
963
964         Reviewed by Nikolas Zimmermann.
965
966         Copy the code to SVGRenderingContext and delete
967         SVGImageBufferTools[.cpp.h]. Update build systems,
968         no functionality change. This is the first step
969         towards making SVGImageBufferTools stageful.
970
971         Existing tests cover this issue.
972
973         * CMakeLists.txt:
974         * GNUmakefile.list.am:
975         * Target.pri:
976         * WebCore.gypi:
977         * WebCore.xcodeproj/project.pbxproj:
978         * platform/graphics/filters/FETile.cpp:
979         (WebCore::FETile::platformApplySoftware):
980         * rendering/svg/RenderSVGAllInOne.cpp:
981         * rendering/svg/RenderSVGInlineText.cpp:
982         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
983         * rendering/svg/RenderSVGResourceClipper.cpp:
984         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
985         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
986         * rendering/svg/RenderSVGResourceFilter.cpp:
987         (WebCore::RenderSVGResourceFilter::applyResource):
988         * rendering/svg/RenderSVGResourceGradient.cpp:
989         (WebCore::createMaskAndSwapContextForTextGradient):
990         (WebCore::clipToTextMask):
991         * rendering/svg/RenderSVGResourceMasker.cpp:
992         (WebCore::RenderSVGResourceMasker::applyResource):
993         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
994         * rendering/svg/RenderSVGResourcePattern.cpp:
995         (WebCore::RenderSVGResourcePattern::applyResource):
996         (WebCore::RenderSVGResourcePattern::createTileImage):
997         * rendering/svg/SVGImageBufferTools.cpp: Removed.
998         * rendering/svg/SVGImageBufferTools.h: Removed.
999         * rendering/svg/SVGInlineTextBox.cpp:
1000         * rendering/svg/SVGRenderingContext.cpp:
1001         (WebCore::currentContentTransformation):
1002         (WebCore):
1003         (WebCore::SVGRenderingContext::calculateTransformationToOutermostSVGCoordinateSystem):
1004         (WebCore::SVGRenderingContext::createImageBuffer):
1005         (WebCore::SVGRenderingContext::createImageBufferForPattern):
1006         (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
1007         (WebCore::SVGRenderingContext::clipToImageBuffer):
1008         (WebCore::SVGRenderingContext::clampedAbsoluteTargetRect):
1009         (WebCore::SVGRenderingContext::clampedAbsoluteSize):
1010         (WebCore::SVGRenderingContext::clear2DRotation):
1011         * rendering/svg/SVGRenderingContext.h:
1012         (SVGRenderingContext):
1013         (WebCore::SVGRenderingContext::calculateImageBufferRect):
1014         * svg/graphics/filters/SVGFEImage.cpp:
1015         (WebCore::FEImage::platformApplySoftware):
1016
1017 2012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
1018
1019         [EFL] Add PageClientEfl to WebCoreSupport.
1020         https://bugs.webkit.org/show_bug.cgi?id=80748
1021
1022         Reviewed by Noam Rosenthal.
1023
1024         * platform/Widget.h: Use PageClientEfl as type for PlatformPageClient.
1025         (WebCore):
1026         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
1027         (WebCore::GraphicsContext3DPrivate::createSurface): Change the argument type.
1028         * plugins/efl/PluginViewEfl.cpp:
1029         (WebCore::PluginView::platformGetValue): Use PageClientEfl.
1030
1031 2012-03-22  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1032
1033         blur() on shadow host should work when a shadow host contains a focused element in its shadow DOM subtrees
1034         https://bugs.webkit.org/show_bug.cgi?id=81102
1035
1036         Reviewed by Hajime Morita.
1037
1038         This implementation will support blur for a focused element when its shadowHost's blur() is called.
1039         To achieve this Element::blur() function is modified to blur the focused node in it's treeScope.
1040
1041         Test: fast/dom/shadow/shadow-root-blur.html
1042
1043         * dom/Element.cpp:
1044         (WebCore::Element::blur): Modified to blur current treeScope's focused node.
1045         * dom/ShadowRoot.h:
1046         (WebCore::ShadowRoot::activeElement): Rework for code sharing.
1047         * dom/TreeScope.cpp:
1048         (WebCore::TreeScope::focusedNode): Added new function to share code for getting focused node.
1049         * dom/TreeScope.h:
1050         (TreeScope): New function declartion.
1051         * html/HTMLDocument.cpp:
1052         (WebCore::HTMLDocument::activeElement): Rework for code sharing.
1053
1054 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
1055
1056         Web Inspector: RawSourceCode does not need uiSourceCode lists because it never has more than one.
1057         https://bugs.webkit.org/show_bug.cgi?id=81894
1058
1059         RawSourceCode never has more than one uiSourceCode, uiSourceCodeList
1060         are just remains of older implementation. This patch switches RawSourceCode
1061         and SourceMappings from uiSourceCodeList to uiSourceCode.
1062
1063         Reviewed by Pavel Feldman.
1064
1065         * inspector/front-end/RawSourceCode.js:
1066         (WebInspector.RawSourceCode.prototype.uiSourceCode):
1067         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
1068         (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
1069         (WebInspector.RawSourceCode.SourceMapping.prototype.uiSourceCode):
1070         (WebInspector.RawSourceCode.PlainSourceMapping):
1071         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
1072         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
1073         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiSourceCode):
1074         (WebInspector.RawSourceCode.FormattedSourceMapping):
1075         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
1076         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
1077         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiSourceCode):
1078         * inspector/front-end/ResourceScriptMapping.js:
1079         (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
1080         (WebInspector.ResourceScriptMapping.prototype.addScript):
1081         (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
1082         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
1083         (WebInspector.ResourceScriptMapping.prototype.reset):
1084
1085 2012-03-22  Mario Sanchez Prada  <msanchez@igalia.com>
1086
1087         [GTK] Fix the only remaining coding style issue in GTK accessibility code
1088         https://bugs.webkit.org/show_bug.cgi?id=81885
1089
1090         Reviewed by Xan Lopez.
1091
1092         Add needed extra line and remove an unneeded one.
1093
1094         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1095
1096 2012-03-22  Kent Tamura  <tkent@chromium.org>
1097
1098         Expand RenderTextControlSingleLine::controlClipRect() to contain contentRect().
1099         https://bugs.webkit.org/show_bug.cgi?id=81866
1100
1101         Reviewed by Hajime Morita.
1102
1103         We need to expand the controlClipRect because the existing shadow
1104         tree of a text field can be wrapped by another shadow tree. e.g.
1105
1106         A current situation:
1107
1108         <input>
1109           ┗ ShadowRoot
1110              ┗ container element
1111         ┌────────────┐<input>'s border box
1112         │┌──────────┐│
1113         ││container box       ││
1114         │└──────────┘│
1115         └────────────┘
1116
1117         Wrapped by another ShadowRoot:
1118
1119         <input>
1120           ┗ New ShadowRoot
1121              ┣ <shadow> represents the existing shadow tree
1122              ┃  ┗ container element
1123              ┗ D: an additional decoration element
1124         ┌────────────┐<input>'s border box
1125         │┌───────┬──┐│
1126         ││container box │ D  ││
1127         │└───────┴──┘│
1128         └────────────┘
1129         In this case, if we clip child renderers by container box, D is not
1130         drawn. We should clip by the content box of the <input>.
1131
1132         A search field has an exceptional behavior. It can have the container
1133         box of which height is taller than the content box height. The
1134         controlClipRect should contain both of the container box and the content
1135         box in this case. In other cases, the container box is equivalent to the
1136         content box. So the code always unites them.
1137
1138         No new tests. This won't make any behavior change for now.
1139
1140         * rendering/RenderTextControlSingleLine.cpp:
1141         (WebCore::RenderTextControlSingleLine::controlClipRect):
1142
1143 2012-03-22  Yoshifumi Inoue  <yosin@chromium.org>
1144
1145         [Forms] The option element should not be form associated element.
1146         https://bugs.webkit.org/show_bug.cgi?id=79764
1147
1148         Reviewed by Kent Tamura.
1149
1150         This patch changes base class of HTMLOptionELement to HTMLElement
1151         from HTMLFormControlElement for saving memory space and iteration
1152         time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
1153         and matching the HTML5 specification for ease of maintenance.
1154
1155         This patch changes behavior of handling of CSS pseudo classes "invalid"
1156         and "valid". The "option" elements no longer use these CSS pseudo classes
1157         as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
1158
1159         Changes of TextIterator is lead by usage of isFormControlElement. This
1160         changes will be replaced with more meaningful predicate as part of
1161         https://bugs.webkit.org/show_bug.cgi?id=80381
1162
1163         No new tests but updated select-live-pseudo-selectors.html test.
1164
1165         * css/CSSStyleSelector.cpp:
1166         (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
1167         * css/SelectorChecker.cpp:
1168         (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
1169         * html/HTMLKeygenElement.cpp:
1170         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
1171         * html/HTMLOptionElement.cpp:
1172         (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
1173         (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
1174         (WebCore::HTMLOptionElement::attach): Changeid base class.
1175         (WebCore::HTMLOptionElement::detach): Changed base class.
1176         (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
1177         (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
1178         (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
1179         * html/HTMLOptionElement.h:
1180         (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
1181         (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
1182         * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
1183
1184 2012-03-21  Pavel Podivilov  <podivilov@chromium.org>
1185
1186         Web Inspector: rename ClosureCompilerSourceMapping to SourceMapParser and move it to CompilerScriptMapping.js.
1187         https://bugs.webkit.org/show_bug.cgi?id=81780
1188
1189         Reviewed by Pavel Feldman.
1190
1191         * WebCore.gypi:
1192         * WebCore.vcproj/WebCore.vcproj:
1193         * inspector/compile-front-end.py:
1194         * inspector/front-end/CompilerScriptMapping.js:
1195         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
1196         (WebInspector.SourceMapParserPayload):
1197         (WebInspector.SourceMapParser):
1198         (WebInspector.SourceMapParser.prototype.load):
1199         (WebInspector.SourceMapParser.prototype.compiledLocationToSourceLocation):
1200         (WebInspector.SourceMapParser.prototype.sourceLocationToCompiledLocation):
1201         (WebInspector.SourceMapParser.prototype.sources):
1202         (WebInspector.SourceMapParser.prototype.loadSourceCode):
1203         (WebInspector.SourceMapParser.prototype._findMapping):
1204         (WebInspector.SourceMapParser.prototype._parseMappingPayload):
1205         (WebInspector.SourceMapParser.prototype._parseSections):
1206         (WebInspector.SourceMapParser.prototype._parseMap):
1207         (WebInspector.SourceMapParser.prototype._isSeparator):
1208         (WebInspector.SourceMapParser.prototype._decodeVLQ):
1209         (WebInspector.SourceMapParser.prototype._canonicalizeURL):
1210         (WebInspector.SourceMapParser.StringCharIterator):
1211         (WebInspector.SourceMapParser.StringCharIterator.prototype.next):
1212         (WebInspector.SourceMapParser.StringCharIterator.prototype.peek):
1213         (WebInspector.SourceMapParser.StringCharIterator.prototype.hasNext):
1214         * inspector/front-end/CompilerSourceMapping.js: Removed.
1215         * inspector/front-end/WebKit.qrc:
1216         * inspector/front-end/inspector.html:
1217
1218 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
1219
1220         Web Inspector: IndexedDB transaction is not closed when requesting data.
1221         https://bugs.webkit.org/show_bug.cgi?id=81837
1222
1223         Reviewed by Pavel Feldman.
1224
1225         * inspector/InspectorIndexedDBAgent.cpp: Added missing IDBCursorBackendInterface::postSuccessHandlerCallback() call.
1226         (WebCore):
1227
1228 2012-03-21  Yury Semikhatsky  <yurys@chromium.org>
1229
1230         Web Inspector: event listeners section is broken for about:blank page
1231         https://bugs.webkit.org/show_bug.cgi?id=81795
1232
1233         Parse about:blank as a valid URL.
1234
1235         Reviewed by Pavel Feldman.
1236
1237         Test: inspector/elements/event-listeners-about-blank.html
1238
1239         * inspector/front-end/utilities.js:
1240         (String.prototype.asParsedURL):
1241
1242 2012-03-21  Dan Bernstein  <mitz@apple.com>
1243
1244         REGRESSION (r111635): Assertion failure in RenderFlexibleBox::layoutFlexItems() (!lineContexts.size()) in many flexbox tests
1245         https://bugs.webkit.org/show_bug.cgi?id=81870
1246
1247         Reverted r111635, the fix for bug 81843.
1248
1249         * rendering/RenderFlexibleBox.cpp:
1250         (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext):
1251         (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
1252         (RenderFlexibleBox::WrapReverseContext):
1253         (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
1254         (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta):
1255         (WebCore::RenderFlexibleBox::layoutFlexItems):
1256         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
1257         (WebCore::RenderFlexibleBox::alignChildren):
1258         (WebCore::RenderFlexibleBox::flipForWrapReverse):
1259         * rendering/RenderFlexibleBox.h:
1260
1261 2012-03-21  Emil A Eklund  <eae@chromium.org>
1262
1263         Unreviewed change touching CustomFilterProgram.h to try
1264         to force the chromium-win bots to rebuilt it and pick up
1265         on the fact that CSS_SHADERS is not set (since r111610). 
1266
1267         * platform/graphics/filters/CustomFilterProgram.h:
1268
1269 2012-03-21  Vangelis Kokkevis  <vangelis@chromium.org>
1270
1271         [chromium] FPS counter causes garbage to be displayed at top left corner
1272         https://bugs.webkit.org/show_bug.cgi?id=81851
1273
1274         The HUD expects the PlatformCanvas it paints on to be cleared on creation which is
1275         no longer true after http://src.chromium.org/viewvc/chrome?view=rev&revision=127196 .
1276         This patch does an explicit clearRect before the HUD contents are painted.
1277
1278         Reviewed by Adrienne Walker.
1279
1280         TEST=Manually verified that --show-fps-counter and --show-composited-layer-tree work correctly.
1281
1282         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1283         (WebCore::CCHeadsUpDisplay::draw):
1284
1285 2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
1286
1287         Touch a file to make Chromium Windows bots happy.
1288
1289         * css/CSSValueKeywords.in:
1290
1291 2012-03-19  Igor Oliveira  <igor.o@sisa.samsung.com>
1292
1293         Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2)
1294         https://bugs.webkit.org/show_bug.cgi?id=38025
1295
1296         Implement updateAnimationTimerForRender. This reduces unnecessary animation
1297         steps on the current RenderObject by checking the value of timeToNextService
1298         before starting a new timer.
1299
1300         Reviewed by Dean Jackson.
1301
1302         Test: animations/animation-welcome-safari.html
1303
1304         * page/animation/AnimationController.cpp:
1305         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
1306         (WebCore):
1307         (WebCore::AnimationController::updateAnimations):
1308         * page/animation/AnimationControllerPrivate.h:
1309         (AnimationControllerPrivate):
1310
1311 2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1312
1313         Unreviewed, rolling out r111616.
1314         http://trac.webkit.org/changeset/111616
1315         https://bugs.webkit.org/show_bug.cgi?id=81862
1316
1317         broke chromium mac (Requested by eae on #webkit).
1318
1319         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1320         (WebCore::CCLayerImpl::appendQuads):
1321         * platform/graphics/chromium/cc/CCLayerImpl.h:
1322         (CCLayerImpl):
1323         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1324         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1325         (WebCore::CCLayerTreeHostImpl::drawLayers):
1326         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1327         (CCLayerTreeHostImpl):
1328         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1329         (WebCore::CCQuadCuller::append):
1330         * platform/graphics/chromium/cc/CCQuadCuller.h:
1331         (CCQuadCuller):
1332         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1333         (WebCore::CCRenderPass::appendQuadsForLayer):
1334         * platform/graphics/chromium/cc/CCRenderPass.h:
1335         (CCRenderPass):
1336         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1337         (WebCore::CCScrollbarLayerImpl::appendQuads):
1338         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1339         (CCScrollbarLayerImpl):
1340         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1341         (WebCore::CCSingleThreadProxy::doComposite):
1342         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
1343         (WebCore::CCSolidColorLayerImpl::appendQuads):
1344         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
1345         (CCSolidColorLayerImpl):
1346         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
1347         (WebCore::CCTextureLayerImpl::appendQuads):
1348         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
1349         (CCTextureLayerImpl):
1350         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1351         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
1352         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1353         (WebCore::CCTiledLayerImpl::appendQuads):
1354         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1355         (CCTiledLayerImpl):
1356         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1357         (WebCore::CCVideoLayerImpl::appendQuads):
1358         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1359         (CCVideoLayerImpl):
1360
1361 2012-03-21  Beth Dakin  <bdakin@apple.com>
1362
1363         https://bugs.webkit.org/show_bug.cgi?id=80322
1364         Implement image-set
1365
1366         Reviewed by Dean Jackson.
1367
1368         This initial implementation of -webkit-image-set. 
1369         http://lists.w3.org/Archives/Public/www-style/2012Feb/1103.html
1370         The idea behind the feature is to allow authors to provide multiple variants 
1371         of the same image at differing resolutions, and to allow the User Agent to 
1372         choose the resource that is most appropriate at the time. This patch will 
1373         choose the most appropriate image based on device scale factor.
1374
1375         CSSImageSetValue inherits from CSSValueList and behaves a lot like 
1376         CSSImageValue.
1377         * WebCore.xcodeproj/project.pbxproj:
1378         * css/CSSImageSetValue.h: Added.
1379         (WebCore):
1380         (CSSImageSetValue):
1381         (WebCore::CSSImageSetValue::create):
1382         (WebCore::CSSImageSetValue::isPending):
1383         (ImageWithScale):
1384         (WebCore::CSSImageSetValue::compareByScaleFactor):
1385         * css/CSSImageSetValue.cpp: Added.
1386         (WebCore):
1387         (WebCore::CSSImageSetValue::CSSImageSetValue):
1388         (WebCore::CSSImageSetValue::~CSSImageSetValue):
1389         (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
1390         (WebCore::CSSImageSetValue::customCssText):
1391
1392         fillImageSet() iterates through the value list and turns the information into 
1393         a sorted Vector of ImageWithScales (which is a struct containing image URLs 
1394         and scale factors).
1395         (WebCore::CSSImageSetValue::fillImageSet):
1396
1397         cachedImageSet() finds which image is most appropriate based on the device 
1398         scale factor, and it loads only that image. In the future, additional scale 
1399         factors will be taken into account.
1400         (WebCore::CSSImageSetValue::bestImageForScaleFactor):
1401         (WebCore::CSSImageSetValue::cachedImageSet):
1402
1403         parseImageSet() is called everywhere in the CSSParser that a regular image or 
1404         generated image can be found.
1405         * css/CSSParser.cpp:
1406         (WebCore::CSSParser::parseValue):
1407         (WebCore::CSSParser::parseContent):
1408         (WebCore::CSSParser::parseFillImage):
1409         (WebCore::CSSParser::parseBorderImage):
1410         (WebCore):
1411         (WebCore::CSSParser::parseImageSet):
1412         * css/CSSParser.h:
1413
1414         Since CSSImageSetValue is implemented as a value list, 
1415         ApplyPropertyFillLayer::applyValue() needs to be more specific when it's 
1416         looking for a list of multiple URLs.
1417         * css/CSSStyleApplyProperty.cpp:
1418         (WebCore::ApplyPropertyFillLayer::applyValue):
1419
1420         Handle image-set as a valid image value.
1421         * css/CSSStyleSelector.cpp:
1422         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1423         * css/CSSStyleSelector.h:
1424         (CSSStyleSelector):
1425         * css/CSSValue.cpp:
1426         (WebCore::CSSValue::cssText):
1427         (WebCore::CSSValue::destroy):
1428         * css/CSSValue.h:
1429         (CSSValue):
1430         (WebCore::CSSValue::isImageSetValue):
1431
1432         computeIntrinsicDimensions() now takes an optional scaleFactor parameter that represents the author-enforced "intrinsic" scale factor of the image.
1433         * loader/cache/CachedImage.cpp:
1434         (WebCore::CachedImage::computeIntrinsicDimensions):
1435         * loader/cache/CachedImage.h:
1436         (CachedImage):
1437         * platform/graphics/GeneratedImage.h:
1438         (GeneratedImage):
1439         * platform/graphics/GeneratorGeneratedImage.cpp:
1440         (WebCore::GeneratedImage::computeIntrinsicDimensions):
1441         * platform/graphics/Image.cpp:
1442         (WebCore::Image::computeIntrinsicDimensions):
1443         * platform/graphics/Image.h:
1444         (Image):
1445         * platform/graphics/cg/PDFDocumentImage.cpp:
1446         (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
1447         * platform/graphics/cg/PDFDocumentImage.h:
1448         (PDFDocumentImage):
1449         * svg/graphics/SVGImage.cpp:
1450         (WebCore::SVGImage::computeIntrinsicDimensions):
1451         * svg/graphics/SVGImage.h:
1452         (SVGImage):
1453
1454         Inherits from StyleImage and returns a scaled size for imageSize() and 
1455         computeIntrinsicDimensions().
1456         * rendering/style/StyleCachedImageSet.cpp: Added.
1457         (WebCore):
1458         (WebCore::StyleCachedImageSet::StyleCachedImageSet):
1459         (WebCore::StyleCachedImageSet::cssValue):
1460         (WebCore::StyleCachedImageSet::canRender):
1461         (WebCore::StyleCachedImageSet::isLoaded):
1462         (WebCore::StyleCachedImageSet::errorOccurred):
1463         (WebCore::StyleCachedImageSet::imageSize):
1464         (WebCore::StyleCachedImageSet::imageHasRelativeWidth):
1465         (WebCore::StyleCachedImageSet::imageHasRelativeHeight):
1466         (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
1467         (WebCore::StyleCachedImageSet::usesImageContainerSize):
1468         (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
1469         (WebCore::StyleCachedImageSet::addClient):
1470         (WebCore::StyleCachedImageSet::removeClient):
1471         (WebCore::StyleCachedImageSet::image):
1472         * rendering/style/StyleCachedImageSet.h: Added.
1473         (WebCore):
1474         (StyleCachedImageSet):
1475         (WebCore::StyleCachedImageSet::create):
1476         (WebCore::StyleCachedImageSet::data):
1477         (WebCore::StyleCachedImageSet::cachedImage):
1478
1479         Handle image-set.
1480         * rendering/style/StyleImage.h:
1481         (WebCore::StyleImage::isCachedImageSet):
1482         (WebCore::StyleImage::StyleImage):
1483         (StyleImage):
1484         * rendering/style/StylePendingImage.h:
1485         (StylePendingImage):
1486         (WebCore::StylePendingImage::cssImageSetValue):
1487
1488 2012-03-21  David Barton  <dbarton@mathscribe.com>
1489
1490         MathML internals - improve naming in RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
1491         https://bugs.webkit.org/show_bug.cgi?id=81850
1492
1493         Reviewed by Eric Seidel.
1494
1495         This prepares these files for bug fixes, and eventually combining their common code. To
1496         understand this patch, I suggest you start with RenderMathMLSquareRoot.cpp, as it's
1497         simpler than RenderMathMLRoot.cpp.
1498
1499         No new tests. LayoutTests/mathml/presentation/roots.xhtml is thorough enough for this.
1500
1501         * rendering/mathml/RenderMathMLRoot.cpp:
1502         (WebCore):
1503         (WebCore::RenderMathMLRoot::addChild):
1504         (WebCore::RenderMathMLRoot::paint):
1505         (WebCore::RenderMathMLRoot::layout):
1506         * rendering/mathml/RenderMathMLRoot.h:
1507         (WebCore):
1508         (RenderMathMLRoot):
1509         * rendering/mathml/RenderMathMLSquareRoot.cpp:
1510         (WebCore):
1511         (WebCore::RenderMathMLSquareRoot::paint):
1512         (WebCore::RenderMathMLSquareRoot::layout):
1513         * rendering/mathml/RenderMathMLSquareRoot.h:
1514         (WebCore):
1515         (RenderMathMLSquareRoot):
1516         * rendering/mathml/RenderMathMLSubSup.h:
1517         (WebCore):
1518
1519 2012-03-21  Tony Chang  <tony@chromium.org>
1520
1521         refactor flexbox in preparation for flex-line-pack
1522         https://bugs.webkit.org/show_bug.cgi?id=81843
1523
1524         Reviewed by Ojan Vafai.
1525
1526         Replace WrapReverseContext with a vector of LineContexts that contain
1527         the same information, plus values needed for flex-align.
1528
1529         alignChildren has been moved to after all the lines have been
1530         positioned. We want to align children after flex-line-pack has changed
1531         the size of each line to avoid unnecessary layouts.
1532
1533         No new tests, just refactoring.
1534
1535         * rendering/RenderFlexibleBox.cpp:
1536         (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
1537         holds information needed for wrap-reverse and aligning children.
1538         (RenderFlexibleBox::LineContext):
1539         (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
1540         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
1541         (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
1542         (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
1543         * rendering/RenderFlexibleBox.h:
1544
1545 2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
1546
1547         BDI element should have dir=auto by default
1548         https://bugs.webkit.org/show_bug.cgi?id=68773
1549
1550         Reviewed by Daniel Bates.
1551
1552         Treat bdi elements without dir content attribute as if they have dir=auto per spec:
1553         http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-bdi-element
1554
1555         The patch tries to encapsulate the logic to look for dir content attribute and dir=auto.
1556
1557         It also adds HTMLBDIElement interface (binding remains to use HTMLElement) to set
1558         selfOrAncestorHasDirAutoAttribute flag true by default, which is used by functions like
1559         directionalityIfhasDirAutoAttribute to look for elements with dir=auto. Since dir=auto-ness of bdi
1560         elements can be overridden by dir content attribute, we must change and only change the default value.
1561
1562         Tests: fast/text/international/bdi-dir-default-to-auto-expected.html
1563                fast/text/international/bdi-dir-default-to-auto.html
1564
1565         * GNUmakefile.list.am:
1566         * Target.pri:
1567         * WebCore.gypi:
1568         * WebCore.vcproj/WebCore.vcproj:
1569         * WebCore.xcodeproj/project.pbxproj:
1570         * css/CSSStyleSelector.cpp:
1571         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1572         * html/HTMLBDIElement.h: Added.
1573         (WebCore):
1574         (HTMLBDIElement):
1575         (WebCore::HTMLBDIElement::create):
1576         (WebCore::HTMLBDIElement::HTMLBDIElement): Sets selfOrAncestorHasDirAutoAttribute to true because
1577         bdi elements are treated as if it has dir=auto by default.
1578         * html/HTMLElement.cpp:
1579         (WebCore::elementAffectsDirectionality): Added. Checks if the specified element is bdi or
1580         has dir content attribute.
1581         (WebCore):
1582         (WebCore::setHasDirAutoFlagRecursively):
1583         (WebCore::HTMLElement::hasDirectionAuto): Added. Checks if the specified element should be treated
1584         as if it has dir=auto (bdi or element with dir=auto).
1585         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
1586         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
1587         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
1588         * html/HTMLElement.h:
1589         (HTMLElement):
1590         * html/HTMLTagNames.in: Use HTMLBDIElement instead of HTMLElement for constructing bdi element
1591         to set selfOrAncestorHasDirAutoAttribute true but still use HTMLElement for binding.
1592
1593 2012-03-21  Luke Macpherson  <macpherson@chromium.org>
1594
1595         Use CSSPrimitiveValue::convertToLength() in a few places.
1596         https://bugs.webkit.org/show_bug.cgi?id=81492
1597
1598         Reviewed by Eric Seidel.
1599
1600         No new tests - refactoring only.
1601
1602         CSSPrimitiveValue::convertToLength() provides the same functionality that is duplicated
1603         in many places in CSSStyleSelector. This patch removes some of that code duplication.
1604
1605         * css/CSSStyleApplyProperty.cpp:
1606         (WebCore::ApplyPropertyVerticalAlign::applyValue):
1607         * css/CSSStyleSelector.cpp:
1608         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1609
1610 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
1611
1612         Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r111601.
1613
1614         * rendering/svg/RenderSVGRoot.cpp:
1615
1616 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
1617
1618         Build fix for !ENABLE(INSPECTOR) after r104831.
1619
1620         * bindings/js/ScriptDebugServer.cpp:
1621         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1622
1623 2012-03-21  Xiaomei Ji  <xji@chromium.org>
1624
1625         visual word movement: using cache to decrease the number of collectLeafBoxesInLogicalOrder on RootInlineBox
1626         https://bugs.webkit.org/show_bug.cgi?id=81408
1627
1628         Reviewed by Ryosuke Niwa.
1629
1630         Cache logically ordered leaf boxes under a particular root box.
1631         Also, move 'Vector<UChar, 1024> string' declared in visualWordPosition() to outside of loop (it is always
1632         clear-ed before use).
1633
1634         * editing/visible_units.cpp:
1635         (CachedLogicallyOrderedLeafBoxes): Add class to cache logically ordered leaf boxes under a particular root box.
1636         (WebCore::CachedLogicallyOrderedLeafBoxes::size):
1637         (WebCore::CachedLogicallyOrderedLeafBoxes::firstBox):
1638         (WebCore):
1639         (WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes):
1640         (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextBox):
1641         (WebCore::CachedLogicallyOrderedLeafBoxes::nextTextBox):
1642         (WebCore::CachedLogicallyOrderedLeafBoxes::collectBoxes):
1643         (WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves):
1644         (WebCore::logicallyPreviousBox): Pass CachedLogicallyOrderedLeafBoxes object around.
1645         (WebCore::logicallyNextBox):
1646         (WebCore::wordBreakIteratorForMinOffsetBoundary):
1647         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
1648         (WebCore::visualWordPosition):
1649
1650 2012-03-21  Dana Jansens  <danakj@chromium.org>
1651
1652         [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
1653         https://bugs.webkit.org/show_bug.cgi?id=81437
1654
1655         Reviewed by Adrienne Walker.
1656
1657         Split CCLayerTreeHostImpl::drawLayers() into two phases:
1658         prepareToDraw() and drawLayers().
1659
1660         When calculating a RenderPass, and we checkerboard a quad on a
1661         layer, bubble this info back up to CCLayerTreeHostImpl. If the
1662         layer is transforming in an animation, then abort the prepareToDraw()
1663         phase and cause it to return false back to the thread proxy.
1664
1665         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
1666
1667         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1668         (WebCore::CCLayerImpl::appendQuads):
1669         * platform/graphics/chromium/cc/CCLayerImpl.h:
1670         (CCLayerImpl):
1671         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1672         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1673         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
1674         (WebCore):
1675         (WebCore::CCLayerTreeHostImpl::drawLayers):
1676         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1677         (CCLayerTreeHostImpl):
1678         (FrameData):
1679         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1680         (WebCore::CCQuadCuller::append):
1681         * platform/graphics/chromium/cc/CCQuadCuller.h:
1682         (CCQuadCuller):
1683         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1684         (WebCore::CCRenderPass::appendQuadsForLayer):
1685         * platform/graphics/chromium/cc/CCRenderPass.h:
1686         (CCRenderPass):
1687         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1688         (WebCore::CCScrollbarLayerImpl::appendQuads):
1689         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1690         (CCScrollbarLayerImpl):
1691         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1692         (WebCore::CCSingleThreadProxy::doComposite):
1693         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
1694         (WebCore::CCSolidColorLayerImpl::appendQuads):
1695         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
1696         (CCSolidColorLayerImpl):
1697         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
1698         (WebCore::CCTextureLayerImpl::appendQuads):
1699         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
1700         (CCTextureLayerImpl):
1701         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1702         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
1703         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1704         (WebCore::CCTiledLayerImpl::appendQuads):
1705         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1706         (CCTiledLayerImpl):
1707         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1708         (WebCore::CCVideoLayerImpl::appendQuads):
1709         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1710         (CCVideoLayerImpl):
1711
1712 2012-03-21  Enrica Casucci  <enrica@apple.com>
1713
1714         WebKitURLWithTitles pasteboard format should support URLs containing Emoji characters.
1715         https://bugs.webkit.org/show_bug.cgi?id=81835
1716         <rdar://problem/11082749>
1717
1718         Reviewed by Brady Eidson.
1719
1720         When writing the URL in the pasteboard for the WebURLWithTitles format,
1721         we use the user visible string instead of the original URL.
1722         In case of URL with Unicode characters, we lose the encoding.
1723         
1724         Added TestWebKitAPI test.
1725
1726         * platform/mac/PasteboardMac.mm:
1727         (WebCore::writeURLForTypes): Writes to the pasteboard the original URL.
1728
1729 2012-03-21  Levi Weintraub  <leviw@chromium.org>
1730
1731         Correct LayoutUnit usage in VisiblePosition.cpp
1732         https://bugs.webkit.org/show_bug.cgi?id=81775
1733
1734         Reviewed by Eric Seidel.
1735
1736         Correcting a mismatch between the .h and .cpp for the definition of localCaretRect,
1737         and properly using LayoutUnits for local coordinates.
1738
1739         No new tests. No change in behavior.
1740
1741         * editing/VisiblePosition.cpp:
1742         (WebCore::VisiblePosition::localCaretRect): Switching to return a LayoutRect, as in the
1743         header. Local coordinates are in LayoutUnits.
1744         (WebCore::VisiblePosition::absoluteCaretBounds): Using LayoutRect for the localCaretRect.
1745         (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Ditto.
1746
1747 2012-03-21  Adam Klein  <adamk@chromium.org>
1748
1749         "this" argument for MutationCallbacks should be the MutationObserver
1750         https://bugs.webkit.org/show_bug.cgi?id=81712
1751
1752         Reviewed by Adam Barth.
1753
1754         Test: fast/mutation/callback-arguments.html
1755
1756         * bindings/js/JSCallbackData.cpp:
1757         (WebCore::JSCallbackData::invokeCallback): Add an overload that takes
1758         an explicit this argument and have the old method call the new one.
1759         * bindings/js/JSCallbackData.h:
1760         (JSCallbackData):
1761         * bindings/js/JSMutationCallbackCustom.cpp:
1762         (WebCore::JSMutationCallback::handleEvent): Call the new overload.
1763         * bindings/v8/custom/V8CustomVoidCallback.cpp:
1764         (WebCore::invokeCallback): Add an overload that takes an explicit this
1765         argument and have the old method call the new one.
1766         * bindings/v8/custom/V8CustomVoidCallback.h:
1767         (WebCore):
1768         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
1769         (WebCore::V8MutationCallback::handleEvent): Call the new overload.
1770
1771 2012-03-21  Alexandru Chiculita  <achicu@adobe.com>
1772
1773         [CSS Shaders] Make CSS Shaders compile on Chromium
1774         https://bugs.webkit.org/show_bug.cgi?id=81435
1775
1776         Reviewed by Stephen White.
1777
1778         This patch enables the CSS Shaders compile time flag, but keeps the runtime flag disabled.
1779         The only way to test the functionality now is to use the overridePreference from dump render tree.
1780
1781         Also part of this patch I fix a layering violation: I removed the "Document" reference from the FECustomFilter.cpp and passed the
1782         HostWindow directly. There should be no problem when the HostWindow changes, because the RenderLayer and the FECustomFilter
1783         get recreated anyway.
1784
1785         No new tests. I've updated the existing custom filter tests to run under Chromium and added the expected results.
1786         I've just added window.layoutTestController.overridePreference("WebKitCSSCustomFilterEnabled", "1") to force 
1787         enable the feature at runtime. 
1788
1789         * loader/cache/CachedResource.cpp: Made CachedResource::ShaderResource report as ResourceRequest::TargetIsSubresource for Chromium.
1790         (WebCore::cachedResourceTypeToTargetType):
1791
1792         * platform/graphics/filters/FECustomFilter.cpp:
1793         (WebCore::FECustomFilter::FECustomFilter): Removed Document and just used the HostWindow directly.
1794         (WebCore::FECustomFilter::create):
1795         (WebCore::FECustomFilter::initializeContext):
1796         (WebCore::FECustomFilter::bindVertexAttribute): There was a typo and instead of using the "size" parameter it always used 4 component attribute.
1797         Other drivers didn't complain about it, but it was clearly a bug.
1798         (WebCore::FECustomFilter::bindProgramAndBuffers): Reading the image back from GPU will flip vertically the framebuffer in Chromium. I've flipped the
1799         projection matrix only on Chromium, so that we get the correct result.
1800
1801         * rendering/FilterEffectRenderer.cpp:
1802         (WebCore::FilterEffectRenderer::build): Passing the HostWindow instead of the Document.
1803
1804 2012-03-21  Mark Pilgrim  <pilgrim@chromium.org>
1805
1806         Realphabetize about webaudio move
1807         https://bugs.webkit.org/show_bug.cgi?id=81825
1808
1809         Reviewed by Adam Barth.
1810
1811         No new tests, all existing tests pass.
1812
1813         * CMakeLists.txt:
1814
1815 2012-03-21  Anders Carlsson  <andersca@apple.com>
1816
1817         Evict tiles from pages in background tabs
1818         https://bugs.webkit.org/show_bug.cgi?id=81829
1819         <rdar://problem/10866152>
1820
1821         Reviewed by Andreas Kling.
1822
1823         When the tile cache for a page is no longer in a window (which happens when it's moved to 
1824         a background tab), schedule a tile revalidation after 4 seconds. This tile revalidation 
1825         will ensure that tiles outside of the visible rect will be dropped.
1826
1827         * platform/graphics/ca/mac/TileCache.h:
1828         (TileCache):
1829         * platform/graphics/ca/mac/TileCache.mm:
1830         (WebCore::TileCache::tileCacheLayerBoundsChanged):
1831         (WebCore::TileCache::setIsInWindow):
1832         (WebCore::TileCache::tileCoverageRect):
1833         (WebCore):
1834         (WebCore::TileCache::scheduleTileRevalidation):
1835         (WebCore::TileCache::revalidateTiles):
1836
1837 2012-03-21  Stephen Chenney  <schenney@chromium.org>
1838
1839         SVG layout leaves objects still needing layout
1840         https://bugs.webkit.org/show_bug.cgi?id=81006
1841
1842         Reviewed by Nikolas Zimmermann.
1843
1844         Change the layout of SVG objects such that resources that trigger
1845         layout of other objects are handled in a distinct pass, and then
1846         objects still requiring layout are laid out again.
1847
1848         Test: svg/custom/delete-text-innerText-crash.html
1849
1850         * rendering/svg/RenderSVGResourceContainer.cpp:
1851         (WebCore::RenderSVGResourceContainer::layout):
1852         * rendering/svg/RenderSVGResourceMarker.cpp:
1853         (WebCore::RenderSVGResourceMarker::layout):
1854         * rendering/svg/RenderSVGRoot.cpp:
1855         (WebCore::RenderSVGRoot::layout):
1856         (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
1857         (WebCore):
1858         * rendering/svg/RenderSVGRoot.h:
1859         (RenderSVGRoot):
1860
1861 2012-03-21  Tim Horton  <timothy_horton@apple.com>
1862
1863         Make use of CG rounded-rect primitives
1864         https://bugs.webkit.org/show_bug.cgi?id=79932
1865         <rdar://problem/9274953>
1866
1867         Reviewed by Simon Fraser.
1868
1869         Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
1870
1871         Dispatch to potentially platform-specific rounded rectangle path
1872         construction from addPathForRoundedRect. Make use of this to call
1873         wkCGPathAddRoundedRect on Lion and above, as long as the rounded
1874         corners are all equivalent.
1875
1876         The origin of the stroke dash differs between the bezier approach
1877         and the path added by wkCGPathAddRoundedRect, so Path::addRoundedRect()
1878         takes a new parameter allowing code which is sensitive to stroke dash
1879         origin (i.e. SVG) to fall back to the old behavior if need be.
1880
1881         Make use of the new Path::addRoundedRect() parameter to fall back to
1882         the old (bezier) rounded-rect behavior when constructing a dashed SVG path,
1883         in order to continue complying with the spec.
1884
1885         No new tests, as this is covered by many that use rounded corners,
1886         and is only a performance improvement.
1887
1888         * WebCore.exp.in:
1889         * platform/graphics/Path.cpp:
1890         (WebCore::Path::addRoundedRect):
1891         (WebCore):
1892         (WebCore::Path::addPathForRoundedRect):
1893         * platform/graphics/Path.h:
1894         (Path):
1895         * platform/graphics/cg/PathCG.cpp:
1896         (WebCore::Path::platformAddPathForRoundedRect):
1897         (WebCore):
1898         * platform/mac/WebCoreSystemInterface.h:
1899         * platform/mac/WebCoreSystemInterface.mm:
1900         * rendering/svg/SVGPathData.cpp:
1901         (WebCore::updatePathFromRectElement):
1902
1903 2012-03-21  David Reveman  <reveman@chromium.org>
1904
1905         [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
1906         https://bugs.webkit.org/show_bug.cgi?id=80988
1907
1908         Reviewed by Adrienne Walker.
1909
1910         Expose EXT_occlusion_query API to WebKit compositor. Add
1911         GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
1912         enums.
1913
1914         * platform/graphics/chromium/Extensions3DChromium.h:
1915         (Extensions3DChromium):
1916
1917 2012-03-21  Tony Chang  <tony@chromium.org>
1918
1919         compute the sign of flexibility for new flexbox
1920         https://bugs.webkit.org/show_bug.cgi?id=81722
1921
1922         Reviewed by Ojan Vafai.
1923
1924         This implements the computation of the sign of flexibility used by the
1925         new flexing algorithm.
1926         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
1927
1928         No new tests, we don't use the sign of flexibility yet.
1929
1930         * rendering/RenderFlexibleBox.cpp:
1931         (WebCore::RenderFlexibleBox::layoutFlexItems):
1932         (WebCore::RenderFlexibleBox::computeNextFlexLine): Compute the size
1933         adjusted for min/max as well as not adjusted.
1934         (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Renamed to match
1935         spec text better.
1936         * rendering/RenderFlexibleBox.h: Added enum for flex sign.
1937
1938 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
1939
1940         Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
1941         https://bugs.webkit.org/show_bug.cgi?id=81669
1942
1943         Reviewed by Pavel Feldman.
1944
1945         * inspector/front-end/BreakpointManager.js:
1946         (WebInspector.BreakpointManager.get for):
1947         (WebInspector.BreakpointManager):
1948         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
1949         (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
1950         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
1951         (WebInspector.BreakpointManager.prototype.setBreakpoint):
1952         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
1953         (WebInspector.BreakpointManager.prototype._innerRemoveBreakpoint):
1954         (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
1955         (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
1956         (WebInspector.BreakpointManager.prototype._uiBreakpoints.get this):
1957         (WebInspector.BreakpointManager.prototype._uiBreakpoints):
1958         (WebInspector.BreakpointManager.prototype.get _uiBreakpoint):
1959         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
1960         (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
1961         (WebInspector.BreakpointManager.prototype._breakpoints):
1962         (WebInspector.BreakpointManager.prototype._breakpoint):
1963         (WebInspector.BreakpointManager.prototype._addBreakpointToModel):
1964         (WebInspector.BreakpointManager.prototype._removeBreakpointFromModel):
1965         (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
1966         (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
1967         (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
1968         (WebInspector.BreakpointManager.prototype.debuggerReset):
1969         (WebInspector.Breakpoint.prototype.serialize):
1970         (WebInspector.Breakpoint.prototype.get uiBreakpoint):
1971         (WebInspector.Breakpoint.prototype.createUIBreakpoint):
1972         (WebInspector.Breakpoint.prototype.removeUIBreakpoint):
1973         (WebInspector.UIBreakpoint):
1974         * inspector/front-end/DebuggerPresentationModel.js:
1975         (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
1976         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
1977         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
1978         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
1979         * inspector/front-end/ScriptsPanel.js:
1980
1981 2012-03-21  Anders Carlsson  <andersca@apple.com>
1982
1983         TileCache needs to know if its containing page is in a window
1984         https://bugs.webkit.org/show_bug.cgi?id=81821
1985
1986         Reviewed by Andreas Kling.
1987
1988         This is in preparation for throwing away invisible tiles in background tabs to reduce memory usage.
1989
1990         * page/FrameView.cpp:
1991         (WebCore::FrameView::didMoveOnscreen):
1992         (WebCore::FrameView::willMoveOffscreen):
1993         * page/Page.cpp:
1994         (WebCore::Page::Page):
1995         (WebCore::Page::didMoveOnscreen):
1996         (WebCore::Page::willMoveOffscreen):
1997         * page/Page.h:
1998         (WebCore::Page::isOnscreen):
1999         (Page):
2000         * platform/graphics/TiledBacking.h:
2001         (TiledBacking):
2002         * platform/graphics/ca/mac/TileCache.h:
2003         (TileCache):
2004         * platform/graphics/ca/mac/TileCache.mm:
2005         (WebCore::TileCache::TileCache):
2006         (WebCore::TileCache::setIsInWindow):
2007         (WebCore):
2008         * rendering/RenderLayerBacking.cpp:
2009         (WebCore::RenderLayerBacking::RenderLayerBacking):
2010
2011 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
2012
2013         Web audio layout test failed in debug with an ASSERT error in ReverbConvolverStage.cpp
2014         https://bugs.webkit.org/show_bug.cgi?id=81744
2015
2016         Reviewed by Chris Rogers.
2017
2018         * platform/audio/ReverbConvolverStage.cpp:
2019         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
2020
2021 2012-03-21  Xiaomei Ji  <xji@chromium.org>
2022
2023         [chromium] Font fallback in cr-win is wrong for string contains zero-width-space.
2024         https://bugs.webkit.org/show_bug.cgi?id=79961
2025
2026         Reviewed by Adam Barth.
2027
2028         Treat zero-width-space (\u200B) as true for treatAsZeroWidthSpaceInComplexScipt().
2029
2030         * platform/graphics/Font.h:
2031         (WebCore::Font::treatAsZeroWidthSpaceInComplexScript):
2032         * platform/graphics/mac/ComplexTextController.cpp:
2033         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2034         * platform/graphics/win/UniscribeController.cpp:
2035         (WebCore::UniscribeController::shapeAndPlaceItem):
2036
2037 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
2038
2039         Build fix for !ENABLE(INSPECTOR) after r111005.
2040
2041         * inspector/ContentSearchUtils.h:
2042
2043 2012-03-21  Ulan Degenbaev  <ulan@chromium.org>
2044
2045         [V8] V8GCForContextDispose should indicate whether a context is disposed for the main frame or not
2046         https://bugs.webkit.org/show_bug.cgi?id=81200
2047
2048         Reviewed by Adam Barth.
2049
2050         Pass a hint to V8::IdleNotification that requests more aggressive GC
2051         when a main frame context is disposed and requests incremental GC otherwise.
2052
2053         * bindings/v8/V8DOMWindowShell.cpp:
2054         (WebCore::V8DOMWindowShell::disposeContextHandles):
2055         * bindings/v8/V8GCForContextDispose.cpp:
2056         (WebCore::V8GCForContextDispose::V8GCForContextDispose):
2057         (WebCore::V8GCForContextDispose::notifyContextDisposed):
2058         (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
2059         * bindings/v8/V8GCForContextDispose.h:
2060         (V8GCForContextDispose):
2061
2062 2012-03-21  Nat Duca  <nduca@chromium.org>
2063
2064         [chromium] CCThreadProxy must initialize frameBeginTime to monotonicallyIncreasingTime rather than zero
2065         https://bugs.webkit.org/show_bug.cgi?id=81790
2066
2067         Reviewed by James Robinson.
2068
2069         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2070         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
2071
2072 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
2073
2074         Add multichannel support in RealtimeAnalyser
2075         https://bugs.webkit.org/show_bug.cgi?id=81745
2076
2077         Reviewed by Chris Rogers.
2078
2079         * Modules/webaudio/RealtimeAnalyser.cpp:
2080         (WebCore::RealtimeAnalyser::writeInput):
2081         (WebCore):
2082
2083 2012-03-21  Eric Carlson  <eric.carlson@apple.com>
2084
2085         Removing HTMLTrackElement does not delete TextTrack
2086         https://bugs.webkit.org/show_bug.cgi?id=80873
2087
2088         Reviewed by Antti Koivisto.
2089
2090         No new tests, but media/track/track-language-preference.html has been updated
2091         to test this fix.
2092
2093         * html/HTMLMediaElement.cpp:
2094         (WebCore::HTMLMediaElement::didAddTrack): Renamed from trackWasAdded.
2095         (WebCore::HTMLMediaElement::willRemoveTrack): Renamed from trackWasRemoved because it is
2096         called before the track is removed, to allow the TextTrack to be removed.
2097         * html/HTMLMediaElement.h:
2098
2099         * html/HTMLTrackElement.cpp:
2100         (WebCore::HTMLTrackElement::insertedIntoTree): Renamed from insertedIntoDocument
2101         (WebCore::HTMLTrackElement::willRemove): Renamed from removedFromDocument.
2102         * html/HTMLTrackElement.h:
2103
2104         * html/track/LoadableTextTrack.cpp:
2105         (WebCore::LoadableTextTrack::trackElementIndex): Don't include tracks that are not in the
2106         document in the calcualtion.
2107
2108 2012-03-21  Zeno Albisser  <zeno@webkit.org>
2109
2110         [Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
2111         https://bugs.webkit.org/show_bug.cgi?id=81750
2112
2113         Building WebCore on mac currently creates an archive that is bigger than
2114         4GB. But ranlib fails to create a symbol table for such a big archive,
2115         even on 64bit machines.
2116         Therefore we start using SVGAllInOne.cpp when building debug
2117         on mac. This reduces the size of the archive by about 300MB.
2118
2119         Reviewed by Tor Arne Vestbø.
2120
2121         * Target.pri:
2122
2123 2012-03-21  Tommy Widenflycht  <tommyw@google.com>
2124
2125         [chromium] MediaStream API (JSEP): Introducing WebSessionDescription and WebIceCandidate
2126         https://bugs.webkit.org/show_bug.cgi?id=81339
2127
2128         Reviewed by Adam Barth.
2129
2130         Not possible to test until the entire JSEP feature is commited.
2131
2132         * Modules/mediastream/IceCandidate.cpp:
2133         (WebCore::IceCandidate::toSdp):
2134         * Modules/mediastream/SessionDescription.cpp:
2135         (WebCore::SessionDescription::toSdp):
2136         * platform/mediastream/IceCandidateDescriptor.cpp:
2137         (WebCore::IceCandidateDescriptor::toSDP):
2138         * platform/mediastream/IceCandidateDescriptor.h:
2139         (IceCandidateDescriptor):
2140         * platform/mediastream/MediaStreamCenter.cpp:
2141         (WebCore::MediaStreamCenter::constructSDP):
2142         * platform/mediastream/MediaStreamCenter.h:
2143         (MediaStreamCenter):
2144         * platform/mediastream/SessionDescriptionDescriptor.cpp:
2145         (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
2146         (WebCore::SessionDescriptionDescriptor::toSDP):
2147         (WebCore::SessionDescriptionDescriptor::initialSDP):
2148         * platform/mediastream/SessionDescriptionDescriptor.h:
2149         (SessionDescriptionDescriptor):
2150
2151 2012-03-21  Yuta Kitamura  <yutak@chromium.org>
2152
2153         Use RFC version of WebSocket protocol by default
2154         https://bugs.webkit.org/show_bug.cgi?id=81718
2155
2156         Reviewed by Kent Tamura.
2157
2158         Flip the default value of Settings::m_useHixie76WebSocketProtocol so WebKit ports will use
2159         RFC version of WebSocket protocol by default.
2160
2161         All the existing ports already use the RFC protocol as of now, so this change will not make
2162         any impact (hopefully).
2163
2164         No new tests. No change in functionality.
2165
2166         * page/Settings.cpp:
2167         (WebCore::Settings::Settings):
2168
2169 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
2170
2171         Web Inspector: only show JS event listeners in Event Listeners tab of Elements panel
2172         https://bugs.webkit.org/show_bug.cgi?id=81798
2173
2174         Reviewed by Pavel Feldman.
2175
2176         * bindings/js/JSInjectedScriptHostCustom.cpp:
2177         (WebCore::getJSListenerFunctions):
2178         * bindings/js/ScriptEventListener.cpp:
2179         (WebCore::eventListenerHandlerBody):
2180         (WebCore::eventListenerHandlerLocation):
2181         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2182         (WebCore::getJSListenerFunctions):
2183         * inspector/InspectorDOMAgent.cpp:
2184         (WebCore::InspectorDOMAgent::getEventListeners):
2185
2186 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
2187
2188         EventListener::Type enum has unused member InspectorDOMAgentType
2189         https://bugs.webkit.org/show_bug.cgi?id=81794
2190
2191         Reviewed by Pavel Feldman.
2192
2193         * dom/EventListener.h:
2194
2195 2012-03-21  Tom Hudson  <tomhudson@google.com>
2196
2197         Incremental cleanup of BitmapImage: inlined virtual functions
2198         https://bugs.webkit.org/show_bug.cgi?id=81688
2199
2200         Reviewed by James Robinson.
2201
2202         No change in functionality, so no new tests.
2203
2204         Move virtual functions defined in headers into .cpp files.
2205
2206         * WebCore.gypi:
2207         * platform/graphics/BitmapImage.cpp:
2208         (WebCore::BitmapImage::isBitmapImage):
2209         (WebCore):
2210         (WebCore::BitmapImage::hasSingleSecurityOrigin):
2211         (WebCore::BitmapImage::nativeImageForCurrentFrame):
2212         (WebCore::BitmapImage::currentFrameHasAlpha):
2213         (WebCore::BitmapImage::notSolidColor):
2214         (WebCore::BitmapImage::decodedSize):
2215         (WebCore::BitmapImage::mayFillWithSolidColor):
2216         (WebCore::BitmapImage::solidColor):
2217         * platform/graphics/BitmapImage.h:
2218         (BitmapImage):
2219         * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Added.
2220         (WebCore):
2221         (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
2222         (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
2223         (WebCore::BitmapImageSingleFrameSkia::size):
2224         (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
2225         (WebCore::BitmapImageSingleFrameSkia::decodedSize):
2226         (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
2227         (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
2228         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
2229         (BitmapImageSingleFrameSkia):
2230
2231 2012-03-21  Alexey Proskuryakov  <ap@apple.com>
2232
2233         Remove obsolete File attributes
2234         https://bugs.webkit.org/show_bug.cgi?id=79383
2235
2236         Reviewed by Hajime Morita.
2237
2238         * bindings/objc/PublicDOMInterfaces.h:
2239         * fileapi/File.h:
2240         * fileapi/File.idl:
2241         Removed fileName and fileSize, they have different names now.
2242
2243         * html/FileInputType.cpp:
2244         (WebCore::FileInputType::appendFormData):
2245         (WebCore::FileInputType::getTypeSpecificValue):
2246         (WebCore::FileInputType::defaultToolTip):
2247         Updated to use new function names.
2248
2249 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2250
2251         TiledBackingStore: Create the first round of tiles synchronously after setting the visible rect.
2252         https://bugs.webkit.org/show_bug.cgi?id=81762
2253
2254         Reviewed by Kenneth Rohde Christiansen.
2255
2256         The first round of tiles should cover completely the visible rect.
2257         Creating the tiles synchronously allows us to get the new tiles immediately
2258         and prevents an extra AC layers sync to be able to remove the old tiles.
2259
2260         At some point it might also make sense to remove the tile creation timer
2261         completely.
2262
2263         * platform/graphics/TiledBackingStore.cpp:
2264         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
2265
2266 2012-03-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2267
2268         TiledBackingStore: When checking if the visible area is covered, only convert to scaled coordinates once.
2269         https://bugs.webkit.org/show_bug.cgi?id=81519
2270
2271         Reviewed by Kenneth Rohde Christiansen.
2272
2273         Both visibleRect and coverageRatio call mapFromContents on the input rect,
2274         this woulc cause the coverageRatio to never reach 1.0 when the contents is
2275         scaled up.
2276
2277         * platform/graphics/TiledBackingStore.cpp:
2278         (WebCore::TiledBackingStore::visibleAreaIsCovered):
2279
2280 2012-03-21  Mao Yujie  <yujie.mao@intel.com>
2281
2282         MediaStream API: Need to support MediaStream constructor for JSC
2283         https://bugs.webkit.org/show_bug.cgi?id=78781
2284
2285         Reviewed by Adam Barth.
2286
2287         No new tests.
2288
2289         * Modules/mediastream/DOMWindowMediaStream.idl:
2290         * bindings/generic/RuntimeEnabledFeatures.h:
2291         (WebCore::RuntimeEnabledFeatures::webkitMediaStreamEnabled):
2292
2293 2012-03-21  Philip Rogers  <pdr@google.com>
2294
2295         Skip building resources if SVGTRef is not in a document
2296         https://bugs.webkit.org/show_bug.cgi?id=81473
2297
2298         Reviewed by Nikolas Zimmermann.
2299
2300         We can skip the building of pending resources in SVGTRef if we're not
2301         yet in a document. This mirrors the nearly identical logic in
2302         SVGUseElement::buildPendingResource() and
2303         SVGFEImageElement::buildPendingResource().
2304
2305         Test: http/tests/svg/tref-adoptNode-crash.html
2306
2307         * svg/SVGTRefElement.cpp:
2308         (WebCore::SVGTRefElement::buildPendingResource):
2309
2310 2012-03-21  Sami Kyostila  <skyostil@chromium.org>
2311
2312         [chromium] Use floating point scroll deltas for layers
2313         https://bugs.webkit.org/show_bug.cgi?id=81546
2314
2315         Reviewed by James Robinson.
2316
2317         Use floating point scroll deltas for layers instead of integral scroll
2318         deltas. This is because due to page scaling it may be necessary to
2319         scroll layers in sub-CSS-pixel steps to avoid visible jumps. When the
2320         floating point scroll offset is committed to the main thread, it is
2321         truncated to integer, but the fractional part is kept on the CC side to
2322         make sure fractional scroll offsets are accumulated correctly over
2323         multiple commits.
2324
2325         Test: CCLayerTreeHostTestFractionalScroll
2326
2327         * platform/graphics/FloatPoint.h:
2328         (WebCore::toSize):
2329         (WebCore):
2330         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2331         (WebCore::CCLayerImpl::scrollBy):
2332         (WebCore::CCLayerImpl::setScrollDelta):
2333         * platform/graphics/chromium/cc/CCLayerImpl.h:
2334         (WebCore::CCLayerImpl::scrollDelta):
2335         (CCLayerImpl):
2336         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2337         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
2338         (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
2339         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
2340         (WebCore::CCLayerTreeHostImpl::animatePageScale):
2341
2342 2012-03-21  Li Yin  <li.yin@intel.com>
2343
2344         [WebSocket]The Sec-WebSocket-Accept MUST NOT appear more than once in an HTTP response
2345         https://bugs.webkit.org/show_bug.cgi?id=81655
2346
2347         Reviewed by Adam Barth.
2348
2349         Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header.html
2350
2351         * Modules/websockets/WebSocketHandshake.cpp:
2352         (WebCore::WebSocketHandshake::readHTTPHeaders):
2353
2354 2012-03-21  Alexei Filippov  <alexeif@chromium.org>
2355
2356         Web Inspector: Speedup heap snapshot loading.
2357         https://bugs.webkit.org/show_bug.cgi?id=81788
2358
2359         Reviewed by Yury Semikhatsky.
2360
2361         * inspector/front-end/HeapSnapshot.js:
2362         (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
2363
2364 2012-03-21  Pavel Feldman  <pfeldman@chromium.org>
2365
2366         Web Inspector: get rid of isInEditMode, use isBeingEdited on particular element.
2367         https://bugs.webkit.org/show_bug.cgi?id=81766
2368
2369         Reviewed by Yury Semikhatsky.
2370
2371         We should check event target and its ancestors for being edited, not use some
2372         global property. This change also introduces Event.prototype.consume so that we
2373         were consistently consuming events.
2374
2375         * inspector/front-end/AdvancedSearchController.js:
2376         (WebInspector.SearchView.prototype._onKeyDown):
2377         * inspector/front-end/BreakpointsSidebarPane.js:
2378         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
2379         * inspector/front-end/CSSSelectorProfileView.js:
2380         * inspector/front-end/Checkbox.js:
2381         (WebInspector.Checkbox.prototype.addEventListener):
2382         * inspector/front-end/ConsoleView.js:
2383         (WebInspector.ConsoleView.prototype._enterKeyPressed):
2384         (WebInspector.ConsoleGroup.prototype._titleClicked):
2385         * inspector/front-end/ContextMenu.js:
2386         (WebInspector.ContextMenu.prototype.show):
2387         * inspector/front-end/DataGrid.js:
2388         (WebInspector.DataGrid.prototype._keyDown):
2389         * inspector/front-end/DatabaseQueryView.js:
2390         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
2391         * inspector/front-end/DetailedHeapshotView.js:
2392         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
2393         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
2394         (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
2395         (WebInspector.DetailedHeapshotView.prototype._endRetainersHeaderDragging):
2396         * inspector/front-end/Dialog.js:
2397         (WebInspector.Dialog.prototype._onKeyDown):
2398         * inspector/front-end/Drawer.js:
2399         (WebInspector.Drawer.prototype._startStatusBarDragging):
2400         (WebInspector.Drawer.prototype._statusBarDragging):
2401         (WebInspector.Drawer.prototype._endStatusBarDragging):
2402         * inspector/front-end/EventListenersSidebarPane.js:
2403         (WebInspector.EventListenersSidebarPane.get if):
2404         * inspector/front-end/HelpScreen.js:
2405         (WebInspector.HelpScreen.prototype._onKeyDown):
2406         * inspector/front-end/InspectorView.js:
2407         (WebInspector.InspectorView.prototype._keyDown):
2408         * inspector/front-end/MetricsSidebarPane.js:
2409         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
2410         * inspector/front-end/NetworkPanel.js:
2411         * inspector/front-end/Object.js:
2412         (WebInspector.Event.prototype.preventDefault):
2413         (WebInspector.Event.prototype.consume):
2414         * inspector/front-end/ObjectPropertiesSection.js:
2415         (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
2416         * inspector/front-end/ProfileView.js:
2417         * inspector/front-end/SearchController.js:
2418         (WebInspector.SearchController.prototype._onKeyDown):
2419         * inspector/front-end/Section.js:
2420         (WebInspector.Section.prototype.handleClick):
2421         * inspector/front-end/Settings.js:
2422         (WebInspector.ExperimentsSettings):
2423         * inspector/front-end/SoftContextMenu.js:
2424         (.WebInspector.SoftContextMenu.prototype.show):
2425         (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
2426         (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
2427         (.WebInspector.SoftContextMenu.prototype._discardMenu):
2428         * inspector/front-end/Spectrum.js:
2429         (WebInspector.Spectrum.draggable.consume):
2430         (WebInspector.Spectrum.draggable.start):
2431         (WebInspector.Spectrum.draggable.stop):
2432         (WebInspector.Spectrum.draggable):
2433         (WebInspector.Spectrum.prototype._onKeyDown):
2434         * inspector/front-end/StylesSidebarPane.js:
2435         (WebInspector.StylesSidebarPane.muteEventListener):
2436         (WebInspector.StylesSidebarPane):
2437         (WebInspector.StylesSidebarPane.prototype.set _createNewRule):
2438         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
2439         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
2440         (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
2441         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
2442         (WebInspector.StylePropertyTreeElement.prototype):
2443         * inspector/front-end/TextPrompt.js:
2444         (WebInspector.TextPrompt.prototype.onKeyDown):
2445         (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
2446         (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
2447         * inspector/front-end/TextViewer.js:
2448         (WebInspector.TextViewer.prototype._handleKeyDown):
2449         * inspector/front-end/Toolbar.js:
2450         (WebInspector.ToolbarDropdown.prototype._onKeyDown):
2451         * inspector/front-end/UIUtils.js:
2452         (WebInspector.isBeingEdited):
2453         (WebInspector.startEditing):
2454         * inspector/front-end/View.js:
2455         (WebInspector.View.prototype._doLoadCSS):
2456         * inspector/front-end/WatchExpressionsSidebarPane.js:
2457         (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
2458         (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
2459         * inspector/front-end/inspector.js:
2460         (WebInspector.documentClick.followLink):
2461         (WebInspector.documentClick):
2462         (WebInspector.documentKeyDown):
2463         (WebInspector.postDocumentKeyDown):
2464         (WebInspector.addMainEventListeners):
2465         * inspector/front-end/treeoutline.js:
2466         (TreeOutline.prototype._treeKeyPress):
2467         (TreeOutline.prototype._treeKeyDown):
2468         (TreeOutline.prototype._searchInputKeyDown):
2469         (TreeElement.treeElementToggled):
2470         (TreeElement.prototype.selectOnMouseDown):
2471         * inspector/front-end/utilities.js:
2472         (Event.prototype.consume):
2473
2474 2012-03-21  Yury Semikhatsky  <yurys@chromium.org>
2475
2476         Web Inspector: event listener section doesn't show all event listeners of the element ancestors
2477         https://bugs.webkit.org/show_bug.cgi?id=81782
2478
2479         Event listeners section now contains all event listeners for the selected
2480         element ancestors chain (in case option "All Nodes" is selected).
2481
2482         Reviewed by Pavel Feldman.
2483
2484         * inspector/InspectorDOMAgent.cpp:
2485         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2486         * inspector/front-end/EventListenersSidebarPane.js:
2487         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
2488         (WebInspector.EventListenersSidebarPane.prototype.update):
2489         (WebInspector.EventListenersSidebarPane.prototype):
2490
2491 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
2492
2493         Web Inspector: HeapSnapshot: move all builders and calculation calls to HeapSnapshot._init function.
2494         https://bugs.webkit.org/show_bug.cgi?id=81784
2495
2496         Reviewed by Yury Semikhatsky.
2497
2498         * inspector/front-end/HeapSnapshot.js:
2499         (WebInspector.HeapSnapshot.prototype._init):
2500         (WebInspector.HeapSnapshot.prototype.dispose):
2501         (WebInspector.HeapSnapshot.prototype._retainersForNode):
2502         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
2503         (WebInspector.HeapSnapshot.prototype._flagsOfNode):
2504         (WebInspector.HeapSnapshot.prototype.aggregates):
2505         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2506         (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
2507
2508 2012-03-21  Jessie Berlin  <jberlin@apple.com>
2509
2510         WTF headers should be in $(ConfigurationBuildDir)\include\private\wtf, not
2511         $(ConfigurationBuildDir)\include\private\JavaScriptCore\wtf.
2512         https://bugs.webkit.org/show_bug.cgi?id=81739
2513
2514         Reviewed by Dan Bernstein.
2515
2516         * WebCore.vcproj/WebCore.vcproj:
2517         Look for AtomicString.cpp, StringBuilder.cpp, StringImpl.cpp, and WTFString.cpp in the wtf
2518         subdirectory of the build output, not the JavaScriptCore/wtf subdirectory.
2519
2520 2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2521
2522         [BlackBerry] Credential save and autofill implemetation
2523         https://bugs.webkit.org/show_bug.cgi?id=80401
2524
2525         Reviewed by Rob Buis.
2526
2527         Added interface function authenticationChallenge() and
2528         notifyShouldSaveCredential() into PageClientBlackBerry.
2529         As this class is our platform specific interface,
2530         by doing this we don't need to add an interface function
2531         in class FrameLoaderClient which is a platform
2532         independent interface.
2533
2534         No new tests.
2535
2536         * platform/blackberry/PageClientBlackBerry.h:
2537         (WebCore):
2538         * platform/network/blackberry/NetworkJob.cpp:
2539         (WebCore::NetworkJob::sendRequestWithCredentials):
2540
2541 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
2542
2543         Web Inspector: HeapProfiler: DOM node id can overflow Int32.
2544         https://bugs.webkit.org/show_bug.cgi?id=81776
2545
2546         Reviewed by Pavel Feldman.
2547
2548         * inspector/front-end/HeapSnapshot.js:
2549         (WebInspector.Uint32Array):
2550         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
2551         (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
2552         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
2553         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
2554
2555 2012-03-21  Tim Dresser  <tdresser@chromium.org>
2556
2557         [chromium] Increase size of Combo Box Options for touch and high DPI devices
2558         https://bugs.webkit.org/show_bug.cgi?id=80027
2559
2560         Reviewed by Darin Fisher.
2561
2562         Scale Combo box popups by defaultDeviceScaleFactor, and add padding to
2563         <option> elements when touch is enabled.
2564
2565         Manually tested with --default-device-scale-factor=1,2 and unset.
2566         Each of these were tested with RuntimeEnabledFeatures::touchEnabled
2567         set to true and false.
2568
2569         * platform/chromium/PopupListBox.cpp:
2570         (WebCore::PopupListBox::paint):
2571         (WebCore::PopupListBox::paintRow):
2572         (WebCore::PopupListBox::getRowHeight):
2573         * platform/chromium/PopupListBox.h:
2574         (PopupContainerSettings):
2575         * platform/chromium/PopupMenuChromium.cpp:
2576         (WebCore):
2577         (WebCore::PopupMenuChromium::show):
2578         * platform/chromium/PopupMenuChromium.h:
2579         (WebCore::PopupMenuChromium::optionPaddingForTouch):
2580         (WebCore::PopupMenuChromium::setOptionPaddingForTouch):
2581         (PopupMenuChromium):
2582         * rendering/RenderMenuList.cpp:
2583         (WebCore::RenderMenuList::showPopup):
2584
2585 2012-03-21  Takashi Toyoshima  <toyoshim@chromium.org>
2586
2587         [Chromium] [WebSocket] provide WebFrameClient with a chance of
2588         accessing to opening WebSocketStreamHandle.
2589         https://bugs.webkit.org/show_bug.cgi?id=78459
2590
2591         Reviewed by Kent Tamura and Darin Fisher.
2592
2593         Add willOpenSocketStream client function to WebFrameClient with an
2594         argument representing an opening SocketStreamHandle.
2595         These mechanisms provide embedders with a chance to bind arbitrary
2596         data to a WebSocketStreamHandle from WebFrameClient to which the
2597         WebSocket object having the WebSocketStreamHandle belongs.
2598
2599         No new tests because this change just provide mechanisms to embedders.
2600
2601         * Modules/websockets/WebSocketChannel.cpp: Implement willOpenSocketStream to call a client function in WebFrameClient.
2602         (WebCore::WebSocketChannel::willOpenSocketStream):
2603         (WebCore):
2604         * Modules/websockets/WebSocketChannel.h: Add willOpenSocketStream declaration.
2605         (WebSocketChannel):
2606         * loader/FrameLoaderClient.h: Add dispatchWillOpenSocketStream declaration.
2607         (WebCore):
2608         (FrameLoaderClient):
2609         (WebCore::FrameLoaderClient::dispatchWillOpenSocketStream):
2610         * platform/network/SocketStreamHandleClient.h: Add willOpenSocketStream declaration.
2611         (WebCore::SocketStreamHandleClient::willOpenSocketStream):
2612
2613 2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
2614
2615         https://bugs.webkit.org/show_bug.cgi?id=81761
2616         Fix Gobject binding for sequence<T> for function return type.
2617
2618         Reviewed by Kentaro Hara.
2619
2620         No new tests.
2621
2622         * bindings/scripts/CodeGeneratorGObject.pm:
2623         (SkipFunction): Skip function with sequence<T> return type.
2624         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2625         (webkit_dom_test_obj_method_with_sequence_arg):
2626         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2627
2628 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
2629
2630         Unreviewed build fix for r111529.
2631
2632         * inspector/InjectedScriptHost.h:
2633         (WebCore):
2634
2635 2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2636
2637         Unreviewed, rolling out r111497, r111506, r111508, and
2638         r111513.
2639         http://trac.webkit.org/changeset/111497
2640         http://trac.webkit.org/changeset/111506
2641         http://trac.webkit.org/changeset/111508
2642         http://trac.webkit.org/changeset/111513
2643         https://bugs.webkit.org/show_bug.cgi?id=81774
2644
2645         It broke 2 tests on all platform (Requested by Ossy on
2646         #webkit).
2647
2648         * css/CSSStyleSelector.cpp:
2649         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2650         * css/SelectorChecker.cpp:
2651         (WebCore::SelectorChecker::checkOneSelector):
2652         * html/HTMLKeygenElement.cpp:
2653         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2654         * html/HTMLOptionElement.cpp:
2655         (WebCore::HTMLOptionElement::HTMLOptionElement):
2656         (WebCore::HTMLOptionElement::create):
2657         (WebCore::HTMLOptionElement::attach):
2658         (WebCore::HTMLOptionElement::detach):
2659         (WebCore::HTMLOptionElement::formControlType):
2660         (WebCore):
2661         (WebCore::HTMLOptionElement::parseAttribute):
2662         (WebCore::HTMLOptionElement::childrenChanged):
2663         (WebCore::HTMLOptionElement::insertedIntoTree):
2664         * html/HTMLOptionElement.h:
2665         (HTMLOptionElement):
2666         (WebCore::HTMLOptionElement::ownElementDisabled):
2667         * html/HTMLTagNames.in:
2668
2669 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
2670
2671         Web Inspector: expose getEventListeners() to console command line API
2672         https://bugs.webkit.org/show_bug.cgi?id=81658
2673
2674         Reviewed by Yury Semikhatsky.
2675
2676         Test: inspector/console/command-line-api-getEventListeners.html
2677
2678         * bindings/js/JSInjectedScriptHostCustom.cpp:
2679         (WebCore::JSInjectedScriptHost::functionDetails):
2680         (WebCore):
2681         (WebCore::getJSListenerFunctions):
2682         (WebCore::JSInjectedScriptHost::getEventListeners):
2683         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2684         (WebCore::getJSListenerFunctions):
2685         (WebCore):
2686         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
2687         * inspector/InjectedScriptHost.cpp:
2688         (WebCore::InjectedScriptHost::InjectedScriptHost):
2689         (WebCore::InjectedScriptHost::disconnect):
2690         (WebCore::InjectedScriptHost::getEventListenersImpl):
2691         (WebCore):
2692         * inspector/InjectedScriptHost.h:
2693         (WebCore):
2694         (WebCore::InjectedScriptHost::init):
2695         (InjectedScriptHost):
2696         * inspector/InjectedScriptHost.idl:
2697         * inspector/InjectedScriptSource.js:
2698         (.):
2699         * inspector/InspectorController.cpp:
2700         (WebCore::InspectorController::InspectorController):
2701         * inspector/InspectorDOMAgent.cpp:
2702         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2703         (WebCore::InspectorDOMAgent::getEventListeners):
2704         (WebCore):
2705         * inspector/InspectorDOMAgent.h:
2706         (InspectorDOMAgent):
2707         * inspector/WorkerInspectorController.cpp:
2708         (WebCore::WorkerInspectorController::WorkerInspectorController):
2709
2710 2012-03-21  Kentaro Hara  <haraken@chromium.org>
2711
2712         Unreviewed, rebaselined run-bindings-tests results.
2713
2714         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
2715         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
2716         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
2717         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
2718
2719 2012-03-21  Ian Vollick  <vollick@chromium.org>
2720
2721         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
2722         https://bugs.webkit.org/show_bug.cgi?id=81692
2723
2724         Reviewed by Adrienne Walker.
2725
2726         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
2727
2728         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2729
2730 2012-03-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2731
2732         [Qt] Cookie Jar blocks on fsync in SQLITE
2733         https://bugs.webkit.org/show_bug.cgi?id=81755
2734
2735         Reviewed by Simon Hausmann.
2736
2737         Set PRAGMA synchronous to OFF, which tells SQLITE to never fsync.
2738
2739         * platform/qt/CookieJarQt.cpp:
2740         (WebCore::SharedCookieJarQt::ensureDatabaseTable):
2741
2742 2012-03-21  Ian Vollick  <vollick@chromium.org>
2743
2744         [chromium] Animation events should only be used for synchronizing animation start times
2745         https://bugs.webkit.org/show_bug.cgi?id=81484
2746
2747         Reviewed by Adrienne Walker.
2748
2749         Tested in CCLayerTreeHostTestSynchronizeAnimationStartTimes
2750
2751         Eliminated animation finished events. Animations will finish naturally on the
2752         main thread and the final values will be set.
2753
2754         Animation started events are now also used to synchronize the main thread
2755         animations' start times with their impl thread equivalents, preventing skew.
2756         Until main thread animations receive their synchronized start times, they will
2757         apply their initial values (i.e., they will be paused at time zero). This
2758         guarantees that we will not jump to the animation's final value on the main
2759         thread while we wait for the synchronized start time.
2760
2761         * WebCore.gypi:
2762         * platform/graphics/chromium/LayerChromium.cpp:
2763         (WebCore::LayerChromium::notifyAnimationStarted):
2764         * platform/graphics/chromium/LayerChromium.h:
2765         (WebCore):
2766         (LayerChromium):
2767         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
2768         (WebCore::CCActiveAnimation::CCActiveAnimation):
2769         * platform/graphics/chromium/cc/CCActiveAnimation.h:
2770         (CCActiveAnimation):
2771         (WebCore::CCActiveAnimation::needsSynchronizedStartTime):
2772         (WebCore::CCActiveAnimation::setNeedsSynchronizedStartTime):
2773         * platform/graphics/chromium/cc/CCAnimationEvents.cpp: Removed.
2774         * platform/graphics/chromium/cc/CCAnimationEvents.h:
2775         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
2776         (CCAnimationStartedEvent):
2777         (WebCore):
2778         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2779         (WebCore::CCLayerAnimationController::animate):
2780         (WebCore::CCLayerAnimationController::notifyAnimationStarted):
2781         (WebCore):
2782         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
2783         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
2784         (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
2785         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
2786         (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
2787         (WebCore::CCLayerAnimationController::tickAnimations):
2788         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
2789         (CCLayerAnimationController):
2790         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2791         (WebCore::CCLayerTreeHost::updateAnimations):
2792         (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
2793         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2794         (CCLayerTreeHost):
2795
2796 2012-03-21  Zeno Albisser  <zeno@webkit.org>
2797
2798         [Qt][WK2][Mac] MiniBrowser asserts at HashTable.h:480
2799         https://bugs.webkit.org/show_bug.cgi?id=81113
2800
2801         The GLContext is created by QWindow/QSurface using
2802         QOpenGLContext which is implemented using NSOpenGL functions
2803         on mac. Therefore we should use QOpenGLContext as well when
2804         querying for the current context. AGL is not supposed
2805         to be paired with NSOpenGL.
2806         Altering the typedef for GLContext is fine, since
2807         the GLContext type is only used as a key in a map.
2808
2809         Reviewed by Kenneth Rohde Christiansen.
2810
2811         * platform/graphics/texmap/TextureMapperGL.cpp:
2812         (SharedGLData):
2813         (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
2814
2815 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
2816
2817         Web Inspector: HeapSnapshot: make _bfs twice as fast as the old version.
2818         https://bugs.webkit.org/show_bug.cgi?id=81756
2819
2820         Reviewed by Yury Semikhatsky.
2821
2822         * inspector/front-end/HeapSnapshot.js:
2823         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
2824         (WebInspector.HeapSnapshot.prototype._bfs):
2825
2826 2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
2827
2828         https://bugs.webkit.org/show_bug.cgi?id=81705
2829         REGRESSION (r111416): fast/dom/prototype-inheritance-2.html is failing.
2830
2831         Reviewed by Csaba Osztrogonác.
2832
2833         No new tests.
2834
2835         * bindings/js/JSDOMBinding.h: Needs passing globalObject to constructArray().
2836         (WebCore::jsArray):
2837
2838 2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2839
2840         [BlackBerry] Upstreaming blackberry specific css file
2841         https://bugs.webkit.org/show_bug.cgi?id=81650
2842
2843         Ustream BlackBerry specific css files, including:
2844         css/themeBlackBerry.css
2845         css/mediaControlsBlackBerry.css
2846
2847         Reviewed by Nikolas Zimmermann.
2848
2849         No new tests, this is the initial upstream patch
2850         for BlackBerry specific css files.
2851
2852         * css/mediaControlsBlackBerry.css: Added.
2853         (audio):
2854         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2855         (video:-webkit-full-page-media::-webkit-media-controls-panel):
2856         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
2857         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
2858         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2859         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2860         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2861         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
2862         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2863         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2864         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2865         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
2866         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
2867         * css/themeBlackBerry.css: Added.
2868         (textarea):
2869         (input, textarea):
2870         (input[type="color"]):
2871         (select:focus):
2872         (select[size][multiple]):
2873         (select[size][multiple]:focus):
2874
2875 2012-03-21  Levi Weintraub  <leviw@chromium.org>
2876
2877         Update LayoutUnit usage in descendants of RenderReplaced
2878         https://bugs.webkit.org/show_bug.cgi?id=80918
2879
2880         Reviewed by Eric Seidel.
2881
2882         Replaced elements have to flow in the new sub-pixel Render Tree, but since the rendering of these
2883         often takes place outside of WebCore (or in cases such as foreign objects, in WebCore after
2884         passing through platform code), care must be taken to determine the final rendered size and
2885         location before render time. This patch brings these classes up to the latest and greatest in the
2886         subpixellayout branch.
2887
2888         See https://trac.webkit.org/wiki/LayoutUnit for more information.
2889
2890         No new tests. No change in behavior.
2891
2892         * rendering/RenderFrameBase.cpp:
2893         (WebCore::RenderFrameBase::layoutWithFlattening): Build Fix.
2894         * rendering/RenderFullScreen.cpp:
2895         (RenderFullScreen::createPlaceholder): Ditto.
2896         * rendering/RenderFullScreen.h:
2897         (RenderFullScreen): Ditto.
2898         * rendering/RenderHTMLCanvas.cpp:
2899         (WebCore::RenderHTMLCanvas::canvasSizeChanged): Ditto.
2900         * rendering/RenderIFrame.cpp:
2901         (WebCore::RenderIFrame::computeLogicalHeight): Ditto.
2902         (WebCore::RenderIFrame::computeLogicalWidth): Ditto.
2903         * rendering/RenderImage.cpp:
2904         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Intrinsic sizes are always integers, since they
2905         originate outside of WebCore.
2906         (WebCore::RenderImage::paintIntoRect): Use pixel snapping to paint into an arbitrary rect.
2907         (WebCore::RenderImage::computeReplacedLogicalWidth): Intrinsic size is always integral -- rounding
2908         values to integers.
2909         * rendering/RenderImage.h:
2910         (RenderImage):
2911         * rendering/RenderVideo.cpp:
2912         (WebCore::RenderVideo::videoBox):
2913         (WebCore::RenderVideo::paintReplaced): Painting at integer boundaries.
2914         * rendering/RenderWidget.cpp:
2915         (WebCore):
2916         (WebCore::roundedIntRect): Widgets are rendered outside of WebCore, so we always align them to
2917         integer boundaries. This means we can actually round the size of our ultimate content box. This
2918         function is implemented here specifically to prevent its misuse if we put it elsewhere.
2919         (WebCore::RenderWidget::setWidgetGeometry): We simplify layout by taking a LayoutRect and rounding
2920         it to its final location within this function.
2921         (WebCore::RenderWidget::updateWidgetGeometry): We keep things in LayoutUnits until handing off to
2922         setWidgetGeometry.
2923         (WebCore::RenderWidget::paint): Rounding the paint location before handing painting off to the
2924         widget itself.
2925         * rendering/RenderWidget.h:
2926         (RenderWidget):
2927
2928 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
2929
2930         Web Inspector: HeapProfiler: support distance column in Summary View.
2931         https://bugs.webkit.org/show_bug.cgi?id=81675
2932
2933         In many cases when a page leaked an object we see not only this object
2934         but the all objects it retains. It is quite difficult to find out which
2935         the object is the root of leak. It'd be simpler to sort the leaked
2936         objects by Distance column and track down the first one.
2937
2938         Reviewed by Yury Semikhatsky.
2939
2940         * inspector/front-end/DetailedHeapshotGridNodes.js:
2941         (WebInspector.HeapSnapshotGenericObjectNode):
2942         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2943         (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
2944         (WebInspector.HeapSnapshotConstructorNode):
2945         (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
2946         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
2947         * inspector/front-end/DetailedHeapshotView.js:
2948         (WebInspector.HeapSnapshotConstructorsDataGrid):
2949         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
2950         * inspector/front-end/HeapSnapshot.js:
2951         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
2952
2953 2012-03-21  Charles Wei  <charles.wei@torchmobile.com.cn>
2954
2955         [BlackBerry] Remove redundant code in SocketStreamHandler
2956         https://bugs.webkit.org/show_bug.cgi?id=81726
2957
2958         Reviewed by George Staikos.
2959
2960         No new tests needed. Just remove redundant code.
2961
2962         * platform/network/blackberry/SocketStreamHandle.h:
2963         (SocketStreamHandle):
2964         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
2965
2966 2012-03-20  Eric Seidel  <eric@webkit.org>
2967
2968         Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
2969         https://bugs.webkit.org/show_bug.cgi?id=80911
2970
2971         Reviewed by Adam Barth.
2972
2973         * CMakeLists.txt:
2974          - Look for headers in Source/WTF as well.
2975
2976 2012-03-20  Dana Jansens  <danakj@chromium.org>
2977
2978         [chromium] Use origin transform to transform occlusion from surface content space to its target content space
2979         https://bugs.webkit.org/show_bug.cgi?id=81730
2980
2981         Reviewed by Adrienne Walker.
2982
2983         Unit test: CCOcclusionTrackerTestSurfaceOcclusionTranslatesToParent
2984
2985         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
2986         (WebCore::transformSurfaceOpaqueRegion):
2987         (WebCore::::leaveToTargetRenderSurface):
2988
2989 2012-03-19  Shinya Kawanaka  <shinyak@chromium.org>
2990
2991         [Crash] RenderMenuList::addChild() in Shadow DOM.
2992         https://bugs.webkit.org/show_bug.cgi?id=81201
2993
2994         Reviewed by Dimitri Glazkov.
2995
2996         <audio>, <video>, <meter>, <progress>, and <select> are implemented using
2997         Shadow DOM having HTMLContentElement. Their renderer children basically should not
2998         create a renderer unless they are on the upper shadow encapsulation boundary,
2999         which means they are the direct children of the shadow root.
3000
3001         However, current implementation allows their renderer children to create a renderer
3002         even if they are on a lower shadow encapsulation boundary, which means
3003         they are distributed elements of HTMLContentElement.
3004
3005         This patch makes there renderer children not to create a renderer if they are on a lower shadow
3006         encapsulation boudary.
3007
3008         Tests: fast/dom/shadow/content-element-in-media-element.html
3009                fast/dom/shadow/content-element-in-meter-element.html
3010                fast/dom/shadow/content-element-in-progress-element.html
3011                fast/dom/shadow/content-element-in-select-element.html
3012
3013         * dom/NodeRenderingContext.h:
3014         (NodeRenderingContext):
3015         (WebCore::NodeRenderingContext::isOnUpperEncapsulationBoundary):
3016         (WebCore):
3017         * html/HTMLMediaElement.cpp:
3018         (WebCore::HTMLMediaElement::childShouldCreateRenderer):
3019         * html/HTMLMeterElement.cpp:
3020         (WebCore::HTMLMeterElement::childShouldCreateRenderer):
3021         * html/HTMLProgressElement.cpp:
3022         (WebCore::HTMLProgressElement::childShouldCreateRenderer):
3023         * html/HTMLSelectElement.cpp:
3024         (WebCore::HTMLSelectElement::childShouldCreateRenderer):
3025
3026 2012-03-20  Dana Jansens  <danakj@chromium.org>
3027
3028         [chromium] Store origin/screen space transforms for surface and replica in the surface
3029         https://bugs.webkit.org/show_bug.cgi?id=81296
3030
3031         Reviewed by Adrienne Walker.
3032
3033         Compute and save a number of transforms for render surfaces. The origin
3034         tranform for the replica into its target surface. The origin transform
3035         for the replica into the screen. And the origin transform for the surface
3036         into the screen.
3037
3038         These transforms will allow us to detect occlusion of render surfaces,
3039         allowing us to cull (or partially-cull) the render surface quad during
3040         drawing.
3041
3042         This also fixes a subtle bug in the transforms used by the damage
3043         tracking code.
3044
3045         Unit test: CCLayerTreeHostCommonTest.verifyTransformsForSingleRenderSurface
3046                    CCLayerTreeHostCommonTest.verifyTransformsForReplica
3047                    CCLayerTreeHostCommonTest.verifyTransformsForRenderSurfaceHierarchy
3048
3049         * platform/graphics/chromium/RenderSurfaceChromium.h:
3050         (WebCore::RenderSurfaceChromium::screenSpaceTransform):
3051         (WebCore::RenderSurfaceChromium::setScreenSpaceTransform):
3052         (RenderSurfaceChromium):
3053         (WebCore::RenderSurfaceChromium::replicaOriginTransform):
3054         (WebCore::RenderSurfaceChromium::setReplicaOriginTransform):
3055         (WebCore::RenderSurfaceChromium::replicaScreenSpaceTransform):
3056         (WebCore::RenderSurfaceChromium::setReplicaScreenSpaceTransform):
3057         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
3058         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
3059         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3060         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3061         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3062         (WebCore::damageInSurfaceSpace):
3063         * platform/graphics/chromium/cc/CCRenderSurface.h:
3064         (WebCore::CCRenderSurface::setDrawTransform):
3065         (WebCore::CCRenderSurface::drawTransform):
3066         (WebCore::CCRenderSurface::setScreenSpaceTransform):
3067         (WebCore::CCRenderSurface::screenSpaceTransform):
3068         (CCRenderSurface):
3069         (WebCore::CCRenderSurface::setReplicaDrawTransform):
3070         (WebCore::CCRenderSurface::replicaDrawTransform):
3071         (WebCore::CCRenderSurface::setReplicaOriginTransform):
3072         (WebCore::CCRenderSurface::replicaOriginTransform):
3073         (WebCore::CCRenderSurface::setReplicaScreenSpaceTransform):
3074         (WebCore::CCRenderSurface::replicaScreenSpaceTransform):
3075
3076 2012-03-20  Yoshifumi Inoue  <yosin@chromium.org>
3077
3078         [Forms] The option element should not be form associated element.
3079         https://bugs.webkit.org/show_bug.cgi?id=79764
3080
3081         Reviewed by Kent Tamura.
3082
3083         This patch changes base class of HTMLOptionELement to HTMLElement
3084         from HTMLFormControlElement for saving memory space and iteration
3085         time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
3086         and matching the HTML5 specification for ease of maintenance.
3087
3088         This patch changes behavior of handling of CSS pseudo classes "invalid"
3089         and "valid". The "option" elements no longer use these CSS pseudo classes
3090         as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
3091
3092         Changes of TextIterator is lead by usage of isFormControlElement. This
3093         changes will be replaced with more meaningful predicate as part of
3094         https://bugs.webkit.org/show_bug.cgi?id=80381
3095
3096         No new tests but updated select-live-pseudo-selectors.html test.
3097
3098         * css/CSSStyleSelector.cpp:
3099         (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
3100         * css/SelectorChecker.cpp:
3101         (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
3102         * html/HTMLKeygenElement.cpp:
3103         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
3104         * html/HTMLOptionElement.cpp:
3105         (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
3106         (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
3107         (WebCore::HTMLOptionElement::attach): Changeid base class.
3108         (WebCore::HTMLOptionElement::detach): Changed base class.
3109         (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
3110         (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
3111         (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
3112         * html/HTMLOptionElement.h:
3113         (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
3114         (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
3115         * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
3116
3117 2012-03-20  Xiaomei Ji  <xji@chromium.org>
3118
3119         Crash introduced in r110965.
3120         https://bugs.webkit.org/show_bug.cgi?id=81720
3121
3122         Reviewed by Ryosuke Niwa.
3123
3124         Since word break iterator just keeps a pointer to the UChar array given to the constructor,
3125         we need to allocate the UChar array deeper in the stack than the iterator.
3126
3127         Test: editing/selection/move-by-word-visually-crash-test-5.html
3128
3129         * editing/visible_units.cpp:
3130         (WebCore::wordBreakIteratorForMinOffsetBoundary):
3131         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
3132         (WebCore::visualWordPosition):
3133
3134 2012-03-20  W. James MacLean  <wjmaclean@chromium.org>
3135
3136         [chromium] Convert TouchFlingPlatformGestureCurve to a 2-D Bezier for better control of curve shape.
3137         https://bugs.webkit.org/show_bug.cgi?id=81713
3138
3139         Reviewed by Dirk Pranke.
3140
3141         Exisiting unit test revised to cover this change.
3142
3143         Change the fling gesture animation curve to use a 2-D Bezier to obtain greater control
3144         over the shape of the curve. Also, change time scaling code to be logarithmic for more
3145         natural feel.
3146
3147         * platform/TouchFlingPlatformGestureCurve.cpp:
3148         (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
3149         (WebCore::TouchFlingPlatformGestureCurve::apply):
3150
3151 2012-03-18  Tim Horton  <timothy_horton@apple.com>
3152
3153         Infinite repaint loop with SVGImageCache and deferred repaint timers
3154         https://bugs.webkit.org/show_bug.cgi?id=78315
3155         <rdar://problem/10651634>
3156
3157         Reviewed by Nikolas Zimmermann.
3158
3159         Only defer image redraw on a timer if we're in layout. This breaks
3160         the repaint loop while still preventing us from drawing inside layout.
3161
3162         Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
3163         preventing deferred repaint timers from being started during that process.
3164
3165         No new tests, as the problem only occurs in a nonstandard configuration.
3166
3167         * page/FrameView.cpp:
3168         (WebCore::FrameView::FrameView):
3169         (WebCore::FrameView::reset):
3170         (WebCore::FrameView::repaintContentRectangle):
3171         (WebCore::FrameView::endDeferredRepaints):
3172         (WebCore::FrameView::startDeferredRepaintTimer):
3173         (WebCore):
3174         (WebCore::FrameView::doDeferredRepaints):
3175         (WebCore::FrameView::deferredRepaintTimerFired):
3176         (WebCore::FrameView::beginDisableRepaints):
3177         (WebCore::FrameView::endDisableRepaints):
3178         * page/FrameView.h:
3179         (FrameView):
3180         (WebCore::FrameView::repaintsDisabled):
3181         * rendering/RenderView.cpp:
3182         (WebCore::RenderView::shouldRepaint):
3183         * svg/graphics/SVGImage.cpp:
3184         (WebCore::SVGImage::drawSVGToImageBuffer):
3185         (WebCore::SVGImage::draw):
3186         (WebCore::SVGImage::frameView):
3187         (WebCore):
3188         * svg/graphics/SVGImage.h:
3189         (WebCore):
3190         * svg/graphics/SVGImageCache.cpp:
3191         (WebCore::SVGImageCache::imageContentChanged):
3192         (WebCore::SVGImageCache::redraw):
3193         (WebCore::SVGImageCache::redrawTimerFired):
3194         (WebCore):
3195         * svg/graphics/SVGImageCache.h:
3196         (SVGImageCache):
3197
3198 2012-03-20  Adam Klein  <adamk@chromium.org>
3199
3200         Include fix for dom/xhtml test promised in r111449.
3201
3202         * dom/ContainerNode.cpp:
3203         (WebCore::ContainerNode::replaceChild): Check against next instead of
3204         prev when deciding there's no work to do.
3205
3206 2012-03-20  Jon Lee  <jonlee@apple.com>
3207
3208         Restrict access to notifications for unique origins and file URLs with no local file access
3209         https://bugs.webkit.org/show_bug.cgi?id=79704
3210         <rdar://problem/10912430>
3211
3212         Reviewed by Adam Barth.
3213
3214         Before checking or requesting permissions, we look at whether we can show notifications based on
3215         the security context. If not, we short circuit and do not forward the request to the client.
3216
3217         * notifications/Notification.cpp:
3218         (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
3219         different logic for checking permissions than when checking permissions through the
3220         notification center.
3221         * notifications/NotificationCenter.cpp:
3222         (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
3223         (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
3224         we asynchronously call the callback with that decision. Otherwise we ask the client.
3225
3226         Add new variable in the notification center to keep track of pending callbacks when we short-circuit
3227         requestPermission().
3228         * notifications/NotificationCenter.h:
3229         (NotificationRequestCallback): Add new private class encapsulating the callback.
3230         * notifications/NotificationCenter.cpp:
3231         (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
3232         (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
3233         know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
3234         to invoke the callback.
3235         (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
3236         (WebCore::NotificationCenter::NotificationRequest::startTimer):
3237         (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
3238         center.
3239         * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
3240         regardless of any restrictions that might otherwise cause toString() to return "null".
3241         * page/SecurityOrigin.cpp:
3242         (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
3243         the origin can show notifications. If the origin is unique, we never let it show. If the origin has
3244         universal access, we always let it show. Otherwise the client should be asked.
3245         (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
3246         (WebCore::SecurityOrigin::toRawString):
3247
3248         Added FIXME's regarding the naming of enforceFilePathSeparation().
3249         * dom/Document.cpp:
3250         (WebCore::Document::initSecurityContext): Also, tab reformatting.
3251
3252         * WebCore.exp.in: Export toRawString().
3253
3254 2012-03-20  Mark Pilgrim  <pilgrim@chromium.org>
3255
3256         Move webaudio to Modules/webaudio/
3257         https://bugs.webkit.org/show_bug.cgi?id=81541
3258
3259         Reviewed by Kentaro Hara.
3260
3261         No new tests, all existing tests pass.
3262
3263         * CMakeLists.txt:
3264         * DerivedSources.make:
3265         * DerivedSources.pri:
3266         * GNUmakefile.am:
3267         * GNUmakefile.list.am:
3268         * Modules/webaudio: Added.
3269         * Modules/webaudio/AsyncAudioDecoder.cpp: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.cpp.
3270         * Modules/webaudio/AsyncAudioDecoder.h: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.h.
3271         * Modules/webaudio/AudioBasicProcessorNode.cpp: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.cpp.
3272         * Modules/webaudio/AudioBasicProcessorNode.h: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.h.
3273         * Modules/webaudio/AudioBuffer.cpp: Copied from Source/WebCore/webaudio/AudioBuffer.cpp.
3274         * Modules/webaudio/AudioBuffer.h: Copied from Source/WebCore/webaudio/AudioBuffer.h.
3275         * Modules/webaudio/AudioBuffer.idl: Copied from Source/WebCore/webaudio/AudioBuffer.idl.
3276         * Modules/webaudio/AudioBufferCallback.h: Copied from Source/WebCore/webaudio/AudioBufferCallback.h.
3277         * Modules/webaudio/AudioBufferCallback.idl: Copied from Source/WebCore/webaudio/AudioBufferCallback.idl.
3278         * Modules/webaudio/AudioBufferSourceNode.cpp: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.cpp.
3279         * Modules/webaudio/AudioBufferSourceNode.h: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.h.
3280         * Modules/webaudio/AudioBufferSourceNode.idl: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.idl.
3281         * Modules/webaudio/AudioChannelMerger.cpp: Copied from Source/WebCore/webaudio/AudioChannelMerger.cpp.
3282         * Modules/webaudio/AudioChannelMerger.h: Copied from Source/WebCore/webaudio/AudioChannelMerger.h.
3283         * Modules/webaudio/AudioChannelMerger.idl: Copied from Source/WebCore/webaudio/AudioChannelMerger.idl.
3284         * Modules/webaudio/AudioChannelSplitter.cpp: Copied from Source/WebCore/webaudio/AudioChannelSplitter.cpp.
3285         * Modules/webaudio/AudioChannelSplitter.h: Copied from Source/WebCore/webaudio/AudioChannelSplitter.h.
3286         * Modules/webaudio/AudioChannelSplitter.idl: Copied from Source/WebCore/webaudio/AudioChannelSplitter.idl.
3287         * Modules/webaudio/AudioContext.cpp: Copied from Source/WebCore/webaudio/AudioContext.cpp.
3288         * Modules/webaudio/AudioContext.h: Copied from Source/WebCore/webaudio/AudioContext.h.
3289         * Modules/webaudio/AudioContext.idl: Copied from Source/WebCore/webaudio/AudioContext.idl.
3290         * Modules/webaudio/AudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/AudioDestinationNode.cpp.
3291         * Modules/webaudio/AudioDestinationNode.h: Copied from Source/WebCore/webaudio/AudioDestinationNode.h.
3292         * Modules/webaudio/AudioDestinationNode.idl: Copied from Source/WebCore/webaudio/AudioDestinationNode.idl.
3293         * Modules/webaudio/AudioGain.h: Copied from Source/WebCore/webaudio/AudioGain.h.
3294         * Modules/webaudio/AudioGain.idl: Copied from Source/WebCore/webaudio/AudioGain.idl.
3295         * Modules/webaudio/AudioGainNode.cpp: Copied from Source/WebCore/webaudio/AudioGainNode.cpp.
3296         * Modules/webaudio/AudioGainNode.h: Copied from Source/WebCore/webaudio/AudioGainNode.h.
3297         * Modules/webaudio/AudioGainNode.idl: Copied from Source/WebCore/webaudio/AudioGainNode.idl.
3298         * Modules/webaudio/AudioListener.cpp: Copied from Source/WebCore/webaudio/AudioListener.cpp.
3299         * Modules/webaudio/AudioListener.h: Copied from Source/WebCore/webaudio/AudioListener.h.
3300         * Modules/webaudio/AudioListener.idl: Copied from Source/WebCore/webaudio/AudioListener.idl.
3301         * Modules/webaudio/AudioNode.cpp: Copied from Source/WebCore/webaudio/AudioNode.cpp.
3302         * Modules/webaudio/AudioNode.h: Copied from Source/WebCore/webaudio/AudioNode.h.
3303         * Modules/webaudio/AudioNode.idl: Copied from Source/WebCore/webaudio/AudioNode.idl.
3304         * Modules/webaudio/AudioNodeInput.cpp: Copied from Source/WebCore/webaudio/AudioNodeInput.cpp.
3305         * Modules/webaudio/AudioNodeInput.h: Copied from Source/WebCore/webaudio/AudioNodeInput.h.
3306         * Modules/webaudio/AudioNodeOutput.cpp: Copied from Source/WebCore/webaudio/AudioNodeOutput.cpp.
3307         * Modules/webaudio/AudioNodeOutput.h: Copied from Source/WebCore/webaudio/AudioNodeOutput.h.
3308         * Modules/webaudio/AudioPannerNode.cpp: Copied from Source/WebCore/webaudio/AudioPannerNode.cpp.
3309         * Modules/webaudio/AudioPannerNode.h: Copied from Source/WebCore/webaudio/AudioPannerNode.h.
3310         * Modules/webaudio/AudioPannerNode.idl: Copied from Source/WebCore/webaudio/AudioPannerNode.idl.
3311         * Modules/webaudio/AudioParam.cpp: Copied from Source/WebCore/webaudio/AudioParam.cpp.
3312         * Modules/webaudio/AudioParam.h: Copied from Source/WebCore/webaudio/AudioParam.h.
3313         * Modules/webaudio/AudioParam.idl: Copied from Source/WebCore/webaudio/AudioParam.idl.
3314         * Modules/webaudio/AudioParamTimeline.cpp: Copied from Source/WebCore/webaudio/AudioParamTimeline.cpp.
3315         * Modules/webaudio/AudioParamTimeline.h: Copied from Source/WebCore/webaudio/AudioParamTimeline.h.
3316         * Modules/webaudio/AudioProcessingEvent.cpp: Copied from Source/WebCore/webaudio/AudioProcessingEvent.cpp.
3317         * Modules/webaudio/AudioProcessingEvent.h: Copied from Source/WebCore/webaudio/AudioProcessingEvent.h.
3318         * Modules/webaudio/AudioProcessingEvent.idl: Copied from Source/WebCore/webaudio/AudioProcessingEvent.idl.
3319         * Modules/webaudio/AudioSourceNode.h: Copied from Source/WebCore/webaudio/AudioSourceNode.h.
3320         * Modules/webaudio/AudioSourceNode.idl: Copied from Source/WebCore/webaudio/AudioSourceNode.idl.
3321         * Modules/webaudio/BiquadDSPKernel.cpp: Copied from Source/WebCore/webaudio/BiquadDSPKernel.cpp.
3322         * Modules/webaudio/BiquadDSPKernel.h: Copied from Source/WebCore/webaudio/BiquadDSPKernel.h.
3323         * Modules/webaudio/BiquadFilterNode.cpp: Copied from Source/WebCore/webaudio/BiquadFilterNode.cpp.
3324         * Modules/webaudio/BiquadFilterNode.h: Copied from Source/WebCore/webaudio/BiquadFilterNode.h.
3325         * Modules/webaudio/BiquadFilterNode.idl: Copied from Source/WebCore/webaudio/BiquadFilterNode.idl.
3326         * Modules/webaudio/BiquadProcessor.cpp: Copied from Source/WebCore/webaudio/BiquadProcessor.cpp.
3327         * Modules/webaudio/BiquadProcessor.h: Copied from Source/WebCore/webaudio/BiquadProcessor.h.
3328         * Modules/webaudio/ConvolverNode.cpp: Copied from Source/WebCore/webaudio/ConvolverNode.cpp.
3329         * Modules/webaudio/ConvolverNode.h: Copied from Source/WebCore/webaudio/ConvolverNode.h.
3330         * Modules/webaudio/ConvolverNode.idl: Copied from Source/WebCore/webaudio/ConvolverNode.idl.
3331         * Modules/webaudio/DOMWindowWebAudio.idl: Copied from Source/WebCore/webaudio/DOMWindowWebAudio.idl.
3332         * Modules/webaudio/DefaultAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.cpp.
3333         * Modules/webaudio/DefaultAudioDestinationNode.h: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.h.
3334         * Modules/webaudio/DelayDSPKernel.cpp: Copied from Source/WebCore/webaudio/DelayDSPKernel.cpp.
3335         * Modules/webaudio/DelayDSPKernel.h: Copied from Source/WebCore/webaudio/DelayDSPKernel.h.
3336         * Modules/webaudio/DelayNode.cpp: Copied from Source/WebCore/webaudio/DelayNode.cpp.
3337         * Modules/webaudio/DelayNode.h: Copied from Source/WebCore/webaudio/DelayNode.h.
3338         * Modules/webaudio/DelayNode.idl: Copied from Source/WebCore/webaudio/DelayNode.idl.
3339         * Modules/webaudio/DelayProcessor.cpp: Copied from Source/WebCore/webaudio/DelayProcessor.cpp.
3340         * Modules/webaudio/DelayProcessor.h: Copied from Source/WebCore/webaudio/DelayProcessor.h.
3341         * Modules/webaudio/DynamicsCompressorNode.cpp: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.cpp.
3342         * Modules/webaudio/DynamicsCompressorNode.h: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.h.
3343         * Modules/webaudio/DynamicsCompressorNode.idl: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.idl.
3344         * Modules/webaudio/HighPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/HighPass2FilterNode.cpp.
3345         * Modules/webaudio/HighPass2FilterNode.h: Copied from Source/WebCore/webaudio/HighPass2FilterNode.h.
3346         * Modules/webaudio/HighPass2FilterNode.idl: Copied from Source/WebCore/webaudio/HighPass2FilterNode.idl.
3347         * Modules/webaudio/JavaScriptAudioNode.cpp: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.cpp.
3348         * Modules/webaudio/JavaScriptAudioNode.h: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.h.
3349         * Modules/webaudio/JavaScriptAudioNode.idl: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.idl.
3350         * Modules/webaudio/LowPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/LowPass2FilterNode.cpp.
3351         * Modules/webaudio/LowPass2FilterNode.h: Copied from Source/WebCore/webaudio/LowPass2FilterNode.h.
3352         * Modules/webaudio/LowPass2FilterNode.idl: Copied from Source/WebCore/webaudio/LowPass2FilterNode.idl.
3353         * Modules/webaudio/MediaElementAudioSourceNode.cpp: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.cpp.
3354         * Modules/webaudio/MediaElementAudioSourceNode.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
3355         * Modules/webaudio/MediaElementAudioSourceNode.idl: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.idl.
3356         * Modules/webaudio/OfflineAudioCompletionEvent.cpp: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.cpp.
3357         * Modules/webaudio/OfflineAudioCompletionEvent.h: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.h.
3358         * Modules/webaudio/OfflineAudioCompletionEvent.idl: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.idl.
3359         * Modules/webaudio/OfflineAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp.
3360         * Modules/webaudio/OfflineAudioDestinationNode.h: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.h.
3361         * Modules/webaudio/RealtimeAnalyser.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyser.cpp.
3362         * Modules/webaudio/RealtimeAnalyser.h: Copied from Source/WebCore/webaudio/RealtimeAnalyser.h.
3363         * Modules/webaudio/RealtimeAnalyserNode.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.cpp.
3364         * Modules/webaudio/RealtimeAnalyserNode.h: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.h.
3365         * Modules/webaudio/RealtimeAnalyserNode.idl: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.idl.
3366         * Modules/webaudio/WaveShaperDSPKernel.cpp: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.cpp.
3367         * Modules/webaudio/WaveShaperDSPKernel.h: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.h.
3368         * Modules/webaudio/WaveShaperNode.cpp: Copied from Source/WebCore/webaudio/WaveShaperNode.cpp.
3369         * Modules/webaudio/WaveShaperNode.h: Copied from Source/WebCore/webaudio/WaveShaperNode.h.
3370         * Modules/webaudio/WaveShaperNode.idl: Copied from Source/WebCore/webaudio/WaveShaperNode.idl.
3371         * Modules/webaudio/WaveShaperProcessor.cpp: Copied from Source/WebCore/webaudio/WaveShaperProcessor.cpp.
3372         * Modules/webaudio/WaveShaperProcessor.h: Copied from Source/WebCore/webaudio/WaveShaperProcessor.h.
3373         * WebCore.gyp/WebCore.gyp:
3374         * WebCore.gypi:
3375         * WebCore.pri:
3376         * WebCore.xcodeproj/project.pbxproj:
3377         * webaudio/AsyncAudioDecoder.cpp: Removed.
3378         * webaudio/AsyncAudioDecoder.h: Removed.
3379         * webaudio/AudioBasicProcessorNode.cpp: Removed.
3380         * webaudio/AudioBasicProcessorNode.h: Removed.
3381         * webaudio/AudioBuffer.cpp: Removed.
3382         * webaudio/AudioBuffer.h: Removed.
3383         * webaudio/AudioBuffer.idl: Removed.
3384         * webaudio/AudioBufferCallback.h: Removed.
3385         * webaudio/AudioBufferCallback.idl: Removed.
3386         * webaudio/AudioBufferSourceNode.cpp: Removed.
3387         * webaudio/AudioBufferSourceNode.h: Removed.
3388         * webaudio/AudioBufferSourceNode.idl: Removed.
3389         * webaudio/AudioChannelMerger.cpp: Removed.
3390         * webaudio/AudioChannelMerger.h: Removed.
3391         * webaudio/AudioChannelMerger.idl: Removed.
3392         * webaudio/AudioChannelSplitter.cpp: Removed.
3393         * webaudio/AudioChannelSplitter.h: Removed.
3394         * webaudio/AudioChannelSplitter.idl: Removed.
3395         * webaudio/AudioContext.cpp: Removed.
3396         * webaudio/AudioContext.h: Removed.
3397         * webaudio/AudioContext.idl: Removed.
3398         * webaudio/AudioDestinationNode.cpp: Removed.
3399         * webaudio/AudioDestinationNode.h: Removed.
3400         * webaudio/AudioDestinationNode.idl: Removed.
3401         * webaudio/AudioGain.h: Removed.
3402         * webaudio/AudioGain.idl: Removed.
3403         * webaudio/AudioGainNode.cpp: Removed.
3404         * webaudio/AudioGainNode.h: Removed.
3405         * webaudio/AudioGainNode.idl: Removed.
3406         * webaudio/AudioListener.cpp: Removed.
3407         * webaudio/AudioListener.h: Removed.
3408         * webaudio/AudioListener.idl: Removed.
3409         * webaudio/AudioNode.cpp: Removed.
3410         * webaudio/AudioNode.h: Removed.
3411         * webaudio/AudioNode.idl: Removed.
3412         * webaudio/AudioNodeInput.cpp: Removed.
3413         * webaudio/AudioNodeInput.h: Removed.
3414         * webaudio/AudioNodeOutput.cpp: Removed.
3415         * webaudio/AudioNodeOutput.h: Removed.
3416         * webaudio/AudioPannerNode.cpp: Removed.
3417         * webaudio/AudioPannerNode.h: Removed.
3418         * webaudio/AudioPannerNode.idl: Removed.
3419         * webaudio/AudioParam.cpp: Removed.
3420         * webaudio/AudioParam.h: Removed.
3421         * webaudio/AudioParam.idl: Removed.
3422         * webaudio/AudioParamTimeline.cpp: Removed.
3423         * webaudio/AudioParamTimeline.h: Removed.
3424         * webaudio/AudioProcessingEvent.cpp: Removed.
3425         * webaudio/AudioProcessingEvent.h: Removed.
3426         * webaudio/AudioProcessingEvent.idl: Removed.