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