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