[chromium] Improved composited debug borders
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-23  Dana Jansens  <danakj@chromium.org>
2
3         [chromium] Improved composited debug borders
4         https://bugs.webkit.org/show_bug.cgi?id=82071
5
6         Reviewed by Adrienne Walker.
7
8         Fix the problem with missing debug borders. Since we append quads
9         to the list front to back now, we draw the quads in the list from
10         back to front of the list. Which means if the debug quad is added
11         after the layer it is drawing around, the layer can draw over top
12         of its debug quad. Reverse the ordering when appending to fix it.
13
14         Make the border red around tiles that are checkerboarded. Missing
15         tiles in non-root layers are drawn clear, so this makes them more
16         visible.
17
18         Put a blue border around each render surface, and a purple border
19         on their replicas.
20
21         No new tests.
22
23         * platform/graphics/chromium/cc/CCRenderPass.cpp:
24         (WebCore):
25         (WebCore::CCRenderPass::appendQuadsForLayer):
26         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
27         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
28         (WebCore::CCRenderSurface::hasReplica):
29         (WebCore):
30         (WebCore::CCRenderSurface::createReplicaSharedQuadState):
31         * platform/graphics/chromium/cc/CCRenderSurface.h:
32         (CCRenderSurface):
33         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
34         (WebCore):
35         (WebCore::CCTiledLayerImpl::appendQuads):
36
37 2012-03-23  Simon Fraser  <simon.fraser@apple.com>
38
39         Move code that calls setAcceleratesDrawing() on GraphicsLayers into RenderLayerBacking
40         https://bugs.webkit.org/show_bug.cgi?id=82092
41
42         Reviewed by Dean Jackson.
43
44         A RenderLayerBacking manages several GraphicsLayers, but RenderLayerCompositor
45         was only calling setAcceleratesDrawing() on the one it knows about. Fix by moving
46         this setting code down into RenderLayerBacking.
47         
48         RenderLayerCompositor now caches the setAcceleratesDrawing setting, as it does
49         for other compositing-related settings, so that RenderLayerBacking doesn't have
50         to grovel for Settings every time.
51
52         * rendering/RenderLayerBacking.cpp:
53         (WebCore::RenderLayerBacking::createGraphicsLayer):
54         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
55         * rendering/RenderLayerCompositor.cpp:
56         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
57         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
58         (WebCore::RenderLayerCompositor::updateBacking):
59         * rendering/RenderLayerCompositor.h:
60         (WebCore::RenderLayerCompositor::acceleratedDrawingEnabled):
61         (RenderLayerCompositor):
62
63 2012-03-23  Beth Dakin  <bdakin@apple.com>
64
65         https://bugs.webkit.org/show_bug.cgi?id=82083
66
67         Rubber-stamped by Simon Fraser.
68
69         This patch is just a name change. getExistingScrollAnimator() (which was 
70         added earlier today) is now existingScrollAnimator().
71         * loader/FrameLoader.cpp:
72         (WebCore::FrameLoader::transitionToCommitted):
73         * page/EventHandler.cpp:
74         (WebCore::EventHandler::handleGestureTapDown):
75         * page/FrameView.cpp:
76         (WebCore::FrameView::setAnimatorsAreActive):
77         * platform/ScrollView.cpp:
78         (WebCore::ScrollView::updateScrollbars):
79         * platform/ScrollableArea.cpp:
80         (WebCore::ScrollableArea::willStartLiveResize):
81         (WebCore::ScrollableArea::willEndLiveResize):
82         (WebCore::ScrollableArea::contentAreaWillPaint):
83         (WebCore::ScrollableArea::mouseEnteredContentArea):
84         (WebCore::ScrollableArea::mouseExitedContentArea):
85         (WebCore::ScrollableArea::mouseMovedInContentArea):
86         (WebCore::ScrollableArea::contentAreaDidShow):
87         (WebCore::ScrollableArea::contentAreaDidHide):
88         (WebCore::ScrollableArea::contentsResized):
89         (WebCore::ScrollableArea::serviceScrollAnimations):
90         * platform/ScrollableArea.h:
91         (WebCore::ScrollableArea::existingScrollAnimator):
92
93 2012-03-23  Abhishek Arya  <inferno@chromium.org>
94
95         Crash due to accessing removed parent lineboxes when clearing selection.
96         https://bugs.webkit.org/show_bug.cgi?id=81359
97
98         Reviewed by Eric Seidel.
99
100         Similar to r110323, adds the canUpdateSelectionOnRootLineBoxes
101         check to more places.
102
103         Test: editing/selection/clear-selection-crash.html
104
105         * rendering/RenderObject.cpp:
106         (WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):
107         * rendering/RenderSelectionInfo.h:
108         (WebCore::RenderSelectionInfo::RenderSelectionInfo):
109         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
110
111 2012-03-23  Beth Dakin  <bdakin@apple.com>
112
113         https://bugs.webkit.org/show_bug.cgi?id=82083
114         Too many ScrollAnimators are allocated on pages with frames
115
116         Reviewed by Geoffrey Garen.
117
118         This patch adds a new getter to ScrollableArea called 
119         getExistingScrollAnimator() unlike scrollAnimator() this new function will 
120         just return null if there is not already a ScrollAnimator. Callers should use 
121         this new function when they have business with ScrollAnimator that does not 
122         need to do anything when there are no scrollbars.
123         * loader/FrameLoader.cpp:
124         (WebCore::FrameLoader::transitionToCommitted):
125         * page/EventHandler.cpp:
126         (WebCore::EventHandler::handleGestureTapDown):
127         * page/FrameView.cpp:
128         (WebCore::FrameView::setAnimatorsAreActive):
129         * platform/ScrollView.cpp:
130         (WebCore::ScrollView::updateScrollbars):
131         * platform/ScrollableArea.cpp:
132         (WebCore::ScrollableArea::willStartLiveResize):
133         (WebCore::ScrollableArea::willEndLiveResize):
134         (WebCore::ScrollableArea::contentAreaWillPaint):
135         (WebCore::ScrollableArea::mouseEnteredContentArea):
136         (WebCore::ScrollableArea::mouseExitedContentArea):
137         (WebCore::ScrollableArea::mouseMovedInContentArea):
138         (WebCore::ScrollableArea::contentAreaDidShow):
139         (WebCore::ScrollableArea::contentAreaDidHide):
140         (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
141         (WebCore::ScrollableArea::contentsResized):
142         (WebCore::ScrollableArea::serviceScrollAnimations):
143         * platform/ScrollableArea.h:
144         (ScrollableArea):
145         (WebCore::ScrollableArea::getExistingScrollAnimator):
146
147 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
148
149         Deal with DOM modifications when evaluating source elements.
150         https://bugs.webkit.org/show_bug.cgi?id=81163
151
152         Reviewed by Alexey Proskuryakov.
153
154         Test: media/video-beforeload-remove-source.html
155
156         * dom/ContainerNode.cpp: Make NodeVector and collectNodes public, renamed as getChildNodes.
157         (WebCore::ContainerNode::takeAllChildrenFrom): collectNodes -> getChildNodes.
158         (WebCore::ContainerNode::willRemove): collectNodes -> getChildNodes.
159         (WebCore::ContainerNode::willRemoveChildren): collectNodes -> getChildNodes.
160         (WebCore::ContainerNode::insertedIntoDocument): collectNodes -> getChildNodes.
161         (WebCore::ContainerNode::removedFromDocument): collectNodes -> getChildNodes.
162         * dom/ContainerNode.h:
163         (WebCore::getChildNodes):
164
165         * editing/ReplaceSelectionCommand.cpp: Remove unused NodeVector declaration.
166
167         * html/HTMLMediaElement.cpp:
168         (WebCore::HTMLMediaElement::HTMLMediaElement): m_nextChildNodeToConsider and m_currentSourceNode
169             are now RefPtrs.
170         (WebCore::HTMLMediaElement::loadTimerFired): Protect HTMLMediaElement from being deleted during
171             a DOM modification during an event callback.
172         (WebCore::HTMLMediaElement::load): Ditto.
173         (WebCore::HTMLMediaElement::selectMediaResource): Set m_nextChildNodeToConsider to the first
174             child node, it will be the first node considered.
175         (WebCore::HTMLMediaElement::havePotentialSourceChild): m_nextChildNodeToConsider and m_currentSourceNode
176             are now RefPtrs.
177         (WebCore::HTMLMediaElement::selectNextSourceChild): Collect all child nodes in a vector before
178             looking for <source> nodes because 'beforeload' event handlers can mutate the DOM. Don't
179             use a <source> that is no longer a child node after 'beforeload'. Use 0 to represent the end
180             of the child node list because m_nextChildNodeToConsider is now a RefPtr so using the previous 
181             sentinel, "this", would cause a retain cycle.
182         (WebCore::HTMLMediaElement::sourceWasAdded):  m_nextChildNodeToConsider and m_currentSourceNode
183             are now RefPtrs.
184         (WebCore::HTMLMediaElement::sourceWillBeRemoved): Ditto.
185         (WebCore::HTMLMediaElement::getPluginProxyParams): Protect HTMLMediaElement from being deleted during
186             a DOM modification during an event callback.
187         * html/HTMLMediaElement.h:
188
189 2012-03-23  Dean Jackson  <dino@apple.com>
190
191         Disable CSS_SHADERS in Apple builds
192         https://bugs.webkit.org/show_bug.cgi?id=81996
193
194         Reviewed by Simon Fraser.
195
196         Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
197
198         * Configurations/FeatureDefines.xcconfig:
199
200 2012-03-23  Dave Michael  <dmichael@chromium.org>
201
202         Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
203         https://bugs.webkit.org/show_bug.cgi?id=80428
204
205         Reviewed by Eric Seidel and Ryosuke Niwa.
206
207         Make HTMLPluginElement release its m_NPObject in detach() to break a
208         reference-counting cycle that happens on reload or navigation. With this
209         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
210         was removed. Note that Releasing m_NPObject does not result in a call to
211         the plugin; it simply releases a reference count on the wrapper object
212         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
213         when the render tree is destroyed, when PluginView calls
214         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
215         detach, because it can not result in layout or style changes.
216
217         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
218         window.internals to enable testing.
219
220         Test: plugins/netscape-dom-access-and-reload.html
221
222         * WebCore.exp.in:
223         * html/HTMLPlugInElement.cpp:
224         (WebCore::HTMLPlugInElement::detach):
225         * html/HTMLPlugInElement.h:
226         (HTMLPlugInElement):
227         * testing/Internals.cpp:
228         (WebCore):
229         (WebCore::Internals::numberOfLiveNodes):
230         (WebCore::Internals::numberOfLiveDocuments):
231         * testing/Internals.h:
232         (Internals):
233         * testing/Internals.idl:
234
235 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
236
237         CSSParser doesn't set border-*-width/style/color to initial by border shorthand property
238         https://bugs.webkit.org/show_bug.cgi?id=82040
239
240         Reviewed by Antti Koivisto.
241
242         The border shorthand property sets values for border-width, border-style, and border-color shorthand properties.
243         While CSSParser::parseValue can process these shorthand properties properly and set the longhand properties
244         such as border-top-width, border-right-width, ... border-left-color, CSSParser::addProperty can't and the
245         initialization in parseShorthand fails for the border property.
246
247         Fixed the bug by explicitly initializing longhand properties.
248
249         Changing the behavior here is unlikely to break the Web since our behavior already differs from that of Firefox
250         and Internet Explorer. Both of those browsers return the actual initial values such as "medium" and "currentColor".
251         This discrepancy is tracked by https://bugs.webkit.org/show_bug.cgi?id=82078.
252
253         Test: fast/css/border-shorthand-initialize-longhands.html
254
255         * css/CSSParser.cpp:
256         (WebCore::CSSParser::parseValue): Uses borderAbridgedLonghand.
257         (WebCore::CSSParser::parseShorthand): Uses longhand properties for initialization if one is available.
258         This allows us to initialize multiple properties (e.g. border-*-color) for a single property missing in the set.
259         * css/CSSPropertyLonghand.cpp:
260         (WebCore::borderAbridgedLonghand): Added. The longhand here (border-width, border-style, border-color) is
261         "abridged" in the sense that they're still shorthands.
262         * css/CSSPropertyLonghand.h:
263         (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
264         (CSSPropertyLonghand): Added the version that takes longhand instances for initialization purposes.
265         (WebCore::CSSPropertyLonghand::longhandsForInitialization):
266
267 2012-03-23  Tony Chang  <tony@chromium.org>
268
269         [chromium] rename newwtf target back to wtf
270         https://bugs.webkit.org/show_bug.cgi?id=82064
271
272         Reviewed by Adam Barth.
273
274         No new tests, only renaming a build target.
275
276         * WebCore.gyp/WebCore.gyp:
277
278 2012-03-23  Adrienne Walker  <enne@google.com>
279
280         [chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
281         https://bugs.webkit.org/show_bug.cgi?id=82066
282
283         Reviewed by James Robinson.
284
285         With threaded compositing, OSX will crash and Windows will have black
286         scrollbars. Fix that by reverting to the previosu behavior of updating
287         scrollbars on the main thread instead.
288
289         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
290         (WebCore::scrollbarLayerDidChange):
291
292 2012-03-23  Dan Bernstein  <mitz@apple.com>
293
294         <rdar://problem/7883987> ASSERTION FAILED: ASSERT(input == AnimationStateInputEndTimerFired || input == AnimationStateInputPlayStatePaused) in AnimationBase::updateStateMachine causing multiple "crashes" on Lion Intel Debug WebKit testers
295         https://bugs.webkit.org/show_bug.cgi?id=81351
296
297         Rubber-stamped by Jessie Berlin.
298
299         * page/animation/AnimationBase.cpp:
300         (WebCore::AnimationBase::updateStateMachine): Replaced the assertion with a LOG_ERROR so that
301         the issue is still noticeable, but it does not automatically make the debug bots red.
302
303 2012-03-23  Mike Lawther  <mikelawther@chromium.org>
304
305         CSS3 calc: image sizing works with mixed percentage/absolute
306         https://bugs.webkit.org/show_bug.cgi?id=82017
307
308         Reviewed by Ojan Vafai.
309
310         Test: css3/calc/img-size-expected.html
311
312         * rendering/RenderBox.cpp:
313         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
314         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
315
316 2012-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
317
318         REGRESSION(107971): Google Voice contact list is broken in WebKit due to badly allocating the extra height
319         https://bugs.webkit.org/show_bug.cgi?id=81826
320
321         Reviewed by Tony Chang.
322
323         Covered by tables/mozilla/bugs/bug27038-{1|2}.html.
324
325         This partly reverts r107971: the extra logical height distribution change was not needed
326         to fix the bug (it is needed by the test though). We revert to giving all the extra height
327         to the first tbody and not the first section.
328
329         This is broken but unfortunately some websites are relying on that. Getting a real
330         distribution algorithm is covered by bug 81824. However this is super tricky to get
331         right and I did not want to add more compatibility risks until I have something solid.
332
333         * rendering/RenderTable.cpp:
334         (WebCore::RenderTable::distributeExtraLogicalHeight):
335
336 2012-03-23  Xingnan Wang  <xingnan.wang@intel.com>
337
338         Optimize for IPP in DirectConvolver::process()
339         https://bugs.webkit.org/show_bug.cgi?id=80255
340
341         Reviewed by Chris Rogers.
342
343         Increase ~2X performance by conv() in IPP.
344
345         * platform/audio/DirectConvolver.cpp:
346         (WebCore::DirectConvolver::DirectConvolver):
347         (WebCore::DirectConvolver::process):
348         * platform/audio/DirectConvolver.h:
349         (DirectConvolver):
350
351 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
352
353         MediaStream API (JSEP): Introducing PeerConnection00 and IceCallback
354         https://bugs.webkit.org/show_bug.cgi?id=81657
355
356         Reviewed by Adam Barth.
357
358         Last major WebCore patch for the JSEP PeerConnection, together with the associated
359         IceCallback (they both depend on each other and IceCallback has very few lines of real code).
360
361         My next patch after this one will do a major overhaul of the existing layout tests
362         and add a few new ones.
363
364         * GNUmakefile.list.am:
365         * Modules/mediastream/DOMWindowMediaStream.idl:
366         * Modules/mediastream/IceCallback.h: Added.
367         (WebCore):
368         (IceCallback):
369         (WebCore::IceCallback::~IceCallback):
370         * Modules/mediastream/IceCallback.idl: Added.
371         * Modules/mediastream/PeerConnection00.cpp: Added.
372         (WebCore):
373         (WebCore::PeerConnection00::create):
374         (WebCore::PeerConnection00::PeerConnection00):
375         (WebCore::PeerConnection00::~PeerConnection00):
376         (WebCore::PeerConnection00::hasLocalAudioTrack):
377         (WebCore::PeerConnection00::hasLocalVideoTrack):
378         (WebCore::PeerConnection00::parseMediaHints):
379         (WebCore::PeerConnection00::createOffer):
380         (WebCore::PeerConnection00::createAnswer):
381         (WebCore::PeerConnection00::setLocalDescription):
382         (WebCore::PeerConnection00::setRemoteDescription):
383         (WebCore::PeerConnection00::localDescription):
384         (WebCore::PeerConnection00::remoteDescription):
385         (WebCore::PeerConnection00::startIce):
386         (WebCore::PeerConnection00::processIceMessage):
387         (WebCore::PeerConnection00::readyState):
388         (WebCore::PeerConnection00::iceState):
389         (WebCore::PeerConnection00::addStream):
390         (WebCore::PeerConnection00::removeStream):
391         (WebCore::PeerConnection00::localStreams):
392         (WebCore::PeerConnection00::remoteStreams):
393         (WebCore::PeerConnection00::close):
394         (WebCore::PeerConnection00::didGenerateIceCandidate):
395         (WebCore::PeerConnection00::didChangeReadyState):
396         (WebCore::PeerConnection00::didChangeIceState):
397         (WebCore::PeerConnection00::didAddRemoteStream):
398         (WebCore::PeerConnection00::didRemoveRemoteStream):
399         (WebCore::PeerConnection00::interfaceName):
400         (WebCore::PeerConnection00::scriptExecutionContext):
401         (WebCore::PeerConnection00::stop):
402         (WebCore::PeerConnection00::eventTargetData):
403         (WebCore::PeerConnection00::ensureEventTargetData):
404         (WebCore::PeerConnection00::changeReadyState):
405         (WebCore::PeerConnection00::changeIceState):
406         * Modules/mediastream/PeerConnection00.h: Added.
407         (WebCore):
408         (PeerConnection00):
409         (WebCore::PeerConnection00::refEventTarget):
410         (WebCore::PeerConnection00::derefEventTarget):
411         * Modules/mediastream/PeerConnection00.idl: Added.
412         * WebCore.gypi:
413         * bindings/generic/RuntimeEnabledFeatures.h:
414         (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
415         * bindings/js/JSPeerConnection00Custom.cpp: Added.
416         (WebCore):
417         (WebCore::JSPeerConnection00Constructor::constructJSPeerConnection00):
418         * dom/EventTargetFactory.in:
419
420 2012-03-23  Adrienne Walker  <enne@google.com>
421
422         [chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
423         https://bugs.webkit.org/show_bug.cgi?id=82062
424
425         Reviewed by James Robinson.
426
427         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
428         (CCScrollbarLayerImpl):
429
430 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
431
432         [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter
433         https://bugs.webkit.org/show_bug.cgi?id=81924
434
435         Reviewed by Adam Barth.
436
437         Nothing to test, just moving methods.
438
439         * platform/mediastream/MediaStreamCenter.cpp:
440         (WebCore::MediaStreamCenter::constructSDP):
441         (WebCore):
442
443 2012-03-23  Sami Kyostila  <skyostil@chromium.org>
444
445         Reuse buffer allocation if canvas size does not change
446         https://bugs.webkit.org/show_bug.cgi?id=80871
447
448         Reviewed by Stephen White.
449
450         If the user changes the width or height attributes of a canvas element,
451         the contents of the canvas should be cleared and the context state
452         should be reset. This has become a common idiom to clear the canvas
453         "efficiently" at the start of a frame.
454
455         Previously, this code path triggered a full reallocation of the image
456         buffer backing the canvas, leading to reduced performance. This patch
457         implements an optimization where we reuse the previous image buffer
458         allocation if the size of the canvas did not change. Also, instead of
459         clearing the canvas every time its dimensions are touched, we only clear
460         if anything has been drawn into the canvas since it was previously
461         cleared.
462
463         Note that for now this optimization only applies for 2D canvases,
464         since it is not entirely clear how touching the dimensions of a WebGL
465         canvas should work.
466
467         Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
468               existing layout tests for canvas resetting.
469
470         * html/HTMLCanvasElement.cpp:
471         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
472         (WebCore::HTMLCanvasElement::reset):
473         (WebCore::HTMLCanvasElement::createImageBuffer): Save the initial
474         graphics context state so we can restore it without creating a new
475         context.
476         (WebCore::HTMLCanvasElement::clearImageBuffer):
477         (WebCore):
478         (WebCore::HTMLCanvasElement::clearCopiedImage):
479         * html/HTMLCanvasElement.h:
480         (HTMLCanvasElement):
481         * html/canvas/CanvasRenderingContext2D.cpp:
482         (WebCore::CanvasRenderingContext2D::reset): No need to notify the
483         compositor when the context is reset, because clearing the image buffer
484         does the same thing. We can also skip the notification if we did not
485         have an image buffer at the time of the reset, because the reset will
486         not have any visual impact in this case. Finally, if the canvas size
487         did change, the notification is also unnecessary because of the call
488         to RenderObject::repaint() from HTMLCanvasElement::reset().
489
490 2012-03-22  Martin Robinson  <mrobinson@igalia.com>
491
492         Fix some code generation warnings on GTK+.
493
494         Reviewed by Gustavo Noronha Silva.
495
496         No new tests. This just fixes warnings.
497
498         * GNUmakefile.am: Remove nonexistent directories from the list IDL directories.
499
500 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
501
502         Unreviewed, rolling out r111751.
503         http://trac.webkit.org/changeset/111751
504         https://bugs.webkit.org/show_bug.cgi?id=82060
505
506         caused 15% page cycler regression for chromium-linux
507         (Requested by eae on #webkit).
508
509         * css/CSSStyleSelector.cpp:
510         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
511
512 2012-03-23  Kentaro Hara  <haraken@chromium.org>
513
514         Support [ImplementedAs] for attributes
515         https://bugs.webkit.org/show_bug.cgi?id=81605
516
517         Reviewed by Adam Barth.
518
519         [ImplementedAs] just supports methods. [ImplementedAs] should support
520         attributes too.
521
522         Explained here: https://trac.webkit.org/wiki/WebKitIDL#ImplementedAs
523
524         Test: bindings/scripts/test/TestObj.idl
525
526         * bindings/scripts/CodeGenerator.pm: Modified to support [ImplementedAs] for attributes.
527         (AttributeNameForGetterAndSetter):
528
529         * bindings/scripts/test/TestObj.idl: Added a test case.
530
531         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
532         (WebDOMTestObj::strawberry):
533         (WebDOMTestObj::setStrawberry):
534         * bindings/scripts/test/CPP/WebDOMTestObj.h:
535         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
536         (webkit_dom_test_obj_get_strawberry):
537         (webkit_dom_test_obj_set_strawberry):
538         (webkit_dom_test_obj_get_property):
539         (webkit_dom_test_obj_class_init):
540         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
541         * bindings/scripts/test/JS/JSTestObj.cpp:
542         (WebCore):
543         (WebCore::jsTestObjStrawberry):
544         (WebCore::setJSTestObjStrawberry):
545         * bindings/scripts/test/JS/JSTestObj.h:
546         (WebCore):
547         * bindings/scripts/test/ObjC/DOMTestObj.h:
548         * bindings/scripts/test/ObjC/DOMTestObj.mm:
549         (-[DOMTestObj strawberry]):
550         (-[DOMTestObj setStrawberry:]):
551         * bindings/scripts/test/V8/V8TestObj.cpp:
552         (WebCore::TestObjInternal::strawberryAttrGetter):
553         (TestObjInternal):
554         (WebCore::TestObjInternal::strawberryAttrSetter):
555         (WebCore):
556
557 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
558
559         The JSC code generator doesn't generate correct code for Constructors
560         https://bugs.webkit.org/show_bug.cgi?id=82046
561
562         Reviewed by Kentaro Hara.
563
564         The main bulk of generated code for constructors uses the name jsConstructor
565         for the created object, and then calls GenerateParametersCheck which generates
566         code that uses the name castedThis.
567
568         * bindings/scripts/CodeGeneratorJS.pm:
569         (GenerateConstructorDefinition):
570         * bindings/scripts/test/JS/JSTestInterface.cpp:
571         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
572         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
573         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
574         * bindings/scripts/test/JS/JSTestObj.cpp:
575         (WebCore::JSTestObjConstructor::finishCreation):
576         (WebCore::JSTestObjConstructor::constructJSTestObj):
577         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
578         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
579         * bindings/scripts/test/TestObj.idl:
580         * bindings/scripts/test/V8/V8TestObj.cpp:
581         (WebCore::V8TestObj::constructorCallback):
582
583 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
584
585         The JSC code generator can't handle boolean arguments for Callbacks
586         https://bugs.webkit.org/show_bug.cgi?id=82045
587
588         Reviewed by Kentaro Hara.
589
590         CodeGeneratorJS.pm only handles DOMStrings and objects as arguments
591         for a Callback, so I added support for boolean values as well.
592
593         * bindings/scripts/CodeGeneratorJS.pm:
594         (GenerateCallbackImplementation):
595         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
596         (WebDOMTestCallback::callbackWithBoolean):
597         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
598         (WebDOMTestCallback):
599         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
600         (webkit_dom_test_callback_callback_with_boolean):
601         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
602         * bindings/scripts/test/JS/JSTestCallback.cpp:
603         (WebCore::JSTestCallback::callbackWithBoolean):
604         (WebCore):
605         * bindings/scripts/test/JS/JSTestCallback.h:
606         (JSTestCallback):
607         * bindings/scripts/test/ObjC/DOMTestCallback.h:
608         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
609         (-[DOMTestCallback callbackWithBoolean:]):
610         * bindings/scripts/test/TestCallback.idl:
611         * bindings/scripts/test/V8/V8TestCallback.cpp:
612         (WebCore::V8TestCallback::callbackWithBoolean):
613         (WebCore):
614         * bindings/scripts/test/V8/V8TestCallback.h:
615         (V8TestCallback):
616
617 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
618
619         Touch adjustment forgets some subtarget quads.
620         https://bugs.webkit.org/show_bug.cgi?id=82044
621
622         Reviewed by Kenneth Rohde Christiansen.
623
624         Do not uncritically skip all nodes that are ancestors to other test results.
625         Instead return the inner-most element if multiple nodes have the same distance.
626
627         Test: touchadjustment/block-testing.html
628
629         * page/TouchAdjustment.cpp:
630         (WebCore::TouchAdjustment::compileSubtargetList):
631         (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
632
633 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
634
635         TouchAdjustment does not correct for frame position
636         https://bugs.webkit.org/show_bug.cgi?id=82043
637
638         Reviewed by Kenneth Rohde Christiansen.
639
640         Convert geometry to window coordinates before calculating distance.
641
642         Test: touchadjustment/iframe.html
643
644         * page/TouchAdjustment.cpp:
645         (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
646
647 2012-03-23  Vlad Voicu  <vladv@rosedu.org>
648
649         Fixed minor WebInspector display issue
650         Clicking on disabled sections in Styles Sidebar Pane creates new elements.
651         https://bugs.webkit.org/show_bug.cgi?id=81925
652
653         Reviewed by Timothy Hatcher
654
655         No new tests should be required.
656
657         * inspector/front-end/StylesSidebarPane.js:
658         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
659         (WebInspector.StylePropertyTreeElement.prototype):
660
661 2012-03-23  Kentaro Hara  <haraken@chromium.org>
662
663         Unreviewed, rebaselined run-bindings-tests results.
664
665         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
666         * bindings/scripts/test/CPP/WebDOMTestObj.h:
667         * bindings/scripts/test/JS/JSTestObj.cpp:
668         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
669         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
670         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
671         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
672         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
673         * bindings/scripts/test/V8/V8TestObj.cpp:
674         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
675         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
676         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
677         (WebCore::TestObjInternal::overloadedMethod5Callback):
678         (WebCore::TestObjInternal::overloadedMethodCallback):
679
680 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
681
682         cssText should use StringBuilder
683         https://bugs.webkit.org/show_bug.cgi?id=82028
684
685         Reviewed by Hajime Morita.
686
687         Make StylePropertySet::asText more efficient by deploying StringBuilder;
688         avoids heap churn by String::operator+ and String::operator+=.
689
690         * css/StylePropertySet.cpp:
691         (WebCore::StylePropertySet::asText):
692
693 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
694
695         REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
696         https://bugs.webkit.org/show_bug.cgi?id=82035
697
698         Rollout r111754 since it caused a test to fail and the test added by the patch
699         is failing on Mac WebKit 2.
700
701         * WebCore.exp.in:
702         * html/HTMLPlugInElement.cpp:
703         (WebCore::HTMLPlugInElement::detach):
704         (WebCore):
705         (WebCore::HTMLPlugInElement::removedFromDocument):
706         * html/HTMLPlugInElement.h:
707         (HTMLPlugInElement):
708         * testing/Internals.cpp:
709         * testing/Internals.h:
710         (Internals):
711         * testing/Internals.idl:
712
713 2012-03-23  Adam Barth  <abarth@webkit.org>
714
715         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 2)
716         https://bugs.webkit.org/show_bug.cgi?id=82026
717
718         Reviewed by Kentaro Hara.
719
720         This patch removes DOMWindow::resetNotifications, which was unneeded
721         special-case logic for clearing the notifications center.  The previous
722         patch that tried to accomplish the same thing did not override
723         willDetachPage, which is why it caused crashes.
724
725         There's actually a cleaner way to handle these cases, which will let us
726         implement reconnectFrame, but that will need to wait for the next
727         patch.
728
729         * notifications/DOMWindowNotifications.cpp:
730         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
731         (WebCore::DOMWindowNotifications::from):
732         (WebCore::DOMWindowNotifications::webkitNotifications):
733         (WebCore):
734         (WebCore::DOMWindowNotifications::disconnectFrame):
735         (WebCore::DOMWindowNotifications::willDetachPage):
736         (WebCore::DOMWindowNotifications::reset):
737         * notifications/DOMWindowNotifications.h:
738         (DOMWindowNotifications):
739         * page/DOMWindow.cpp:
740         (WebCore::DOMWindow::willDetachPage):
741         (WebCore::DOMWindow::disconnectDOMWindowProperties):
742         (WebCore::DOMWindow::clearDOMWindowProperties):
743         * page/DOMWindow.h:
744         (DOMWindow):
745         * page/Frame.cpp:
746         (WebCore::Frame::willDetachPage):
747
748 2012-03-22  Adam Barth  <abarth@webkit.org>
749
750         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 1)
751         https://bugs.webkit.org/show_bug.cgi?id=82015
752
753         Reviewed by Kentaro Hara.
754
755         This patch moves DOMWindow.webkitNotifications from DOMWindow.idl to
756         DOMWindowNotificiations.idl in preparation for moving notificiations
757         into Modules.
758
759         A future patch will remove DOMWindow::resetNotificaitions in favor of
760         more general mechanisms.
761
762         * CMakeLists.txt:
763         * DerivedSources.make:
764         * DerivedSources.pri:
765         * GNUmakefile.list.am:
766         * Target.pri:
767         * WebCore.gypi:
768         * WebCore.vcproj/WebCore.vcproj:
769         * WebCore.xcodeproj/project.pbxproj:
770         * notifications/DOMWindowNotifications.cpp: Added.
771         (WebCore):
772         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
773         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
774         (WebCore::DOMWindowNotifications::from):
775         (WebCore::DOMWindowNotifications::webkitNotifications):
776         (WebCore::DOMWindowNotifications::reset):
777         (WebCore::DOMWindowNotifications::supplementName):
778         * notifications/DOMWindowNotifications.h: Added.
779         (WebCore):
780         (DOMWindowNotifications):
781         * notifications/DOMWindowNotifications.idl: Added.
782         * page/DOMWindow.cpp:
783         (WebCore::DOMWindow::~DOMWindow):
784         (WebCore):
785         (WebCore::DOMWindow::resetNotifications):
786         * page/DOMWindow.h:
787         (WebCore):
788         (DOMWindow):
789         * page/DOMWindow.idl:
790
791 2012-03-22  Li Yin  <li.yin@intel.com>
792
793         A client MUST close a connection if it detects a masked frame
794         https://bugs.webkit.org/show_bug.cgi?id=81361
795
796         Reviewed by Kent Tamura.
797
798         A server must not mask any frames that it sends to the client.
799         Change the test case, not mask the frames from server to client.
800         
801         Test: http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html
802
803         * Modules/websockets/WebSocketChannel.cpp:
804         (WebCore::WebSocketChannel::processFrame):
805
806 2012-03-22  Li Yin  <li.yin@intel.com>
807
808         [WebSocket]The minimal number of bytes MUST be used to encode the length
809         https://bugs.webkit.org/show_bug.cgi?id=81443
810
811         Reviewed by Kent Tamura.
812
813         From RFC 6455 http://tools.ietf.org/html/rfc6455#section-5.2
814         the minimal number of bytes MUST be used to encode the length
815         
816         New test case : http/tests/websocket/tests/hybi/invalid-encode-length.html
817
818         * Modules/websockets/WebSocketChannel.cpp:
819         (WebCore::WebSocketChannel::parseFrame):
820
821 2012-03-22  Adam Barth  <abarth@webkit.org>
822
823         Unreviewed.  Sort xcodeproj file.
824
825         * WebCore.xcodeproj/project.pbxproj:
826
827 2012-03-22  Mao Yujie  <yujie.mao@intel.com>
828
829         Implement strict testing criterion for callback function definition
830         https://bugs.webkit.org/show_bug.cgi?id=80005
831
832         Reviewed by Adam Barth.
833
834         Callback function should be defined as the function type instead of
835         the object type.
836
837         LayoutTest: fast/dom/MediaStream/argument-types.html
838
839         * bindings/scripts/CodeGeneratorJS.pm:
840         (GenerateParametersCheckExpression):
841         (GenerateParametersCheck):
842         * bindings/scripts/CodeGeneratorV8.pm:
843         (GenerateParametersCheckExpression):
844         (GenerateParametersCheck):
845
846 2012-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
847
848         Convert hasGrammarMarker to use Internals interface
849         https://bugs.webkit.org/show_bug.cgi?id=82004
850
851         Reviewed by Ryosuke Niwa.
852
853         Remove hasGrammarMarker functions, because it is able to work in the
854         cross-port way through the Internals interface.
855
856         No new tests, since we are improving here the infra-structure
857         for testing a specific method.
858
859         * testing/Internals.cpp:
860         (WebCore::Internals::hasGrammarMarker):
861         (WebCore):
862         * testing/Internals.h:
863         (Internals):
864         * testing/Internals.idl:
865
866 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
867
868         Add exception for the setter of "fftSize" in RealtimeAnalyserNode
869         https://bugs.webkit.org/show_bug.cgi?id=81748
870
871         Reviewed by Chris Rogers.
872
873         * Modules/webaudio/RealtimeAnalyser.cpp:
874         (WebCore::RealtimeAnalyser::setFftSize):
875         * Modules/webaudio/RealtimeAnalyser.h:
876         (RealtimeAnalyser):
877         * Modules/webaudio/RealtimeAnalyserNode.cpp:
878         (WebCore::RealtimeAnalyserNode::setFftSize):
879         (WebCore):
880         * Modules/webaudio/RealtimeAnalyserNode.h:
881         (RealtimeAnalyserNode):
882         * Modules/webaudio/RealtimeAnalyserNode.idl:
883
884 2012-03-22  Leo Yang  <leo.yang@torchmobile.com.cn>
885
886         [BlackBerry] Add HistoryItemViewState for BlackBerry port
887         https://bugs.webkit.org/show_bug.cgi?id=81867
888
889         Reviewed by Rob Buis.
890
891         HistoryItemViewState is the blackberry specific field of HistoryItem.
892         It's used to maintain the porting specific view state.
893
894         No new test because the port can't be built yet.
895
896         * history/HistoryItem.h:
897         (HistoryItem):
898         (WebCore::HistoryItem::viewState):
899
900 2012-03-22  SravanKumar Sandela  <ssandela@innominds.com>
901
902         Fieldset unexpectedly stretches to minimum intrinsic width
903         https://bugs.webkit.org/show_bug.cgi?id=79128
904
905         Reviewed by Julien Chaffraix.
906
907         Fieldset element width will now check if css width is specified explicitly
908         before stretching to minimum intrinsic width. The reference
909         can be taken from IE9, instead of FF(FF acknowledged the broken behavior). 
910
911         Tests: fast/forms/fieldset-width-nostretch-ifspecified-expected.html
912                fast/forms/fieldset-width-nostretch-ifspecified.html
913
914         * rendering/RenderFieldset.cpp:
915         (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
916         (WebCore):
917         * rendering/RenderFieldset.h:
918         (RenderFieldset):
919
920 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
921
922         [chromium] Target surface should be damaged for a new layers even when layer had no changes
923         https://bugs.webkit.org/show_bug.cgi?id=81879
924
925         Reviewed by Adrienne Walker.
926
927         Unit test added to CCDamageTrackerTest.
928
929         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
930         (WebCore::CCDamageTracker::removeRectFromCurrentFrame): added a
931         boolean arg to detect if the layer is new on this update.
932
933         (WebCore::CCDamageTracker::extendDamageForLayer): added logic that
934         damages the target surface if the layer is new.
935
936         (WebCore::CCDamageTracker::extendDamageForRenderSurface): added
937         logic that damages the target surface if the descendant surface is
938         new; similar logic for the surface's replica if the replica is new.
939
940         * platform/graphics/chromium/cc/CCDamageTracker.h:
941         (CCDamageTracker):
942
943 2012-03-22  Charles Wei  <charles.wei@torchmobile.com.cn>
944
945         [BlackBerry] Need to store the meta info of a page in the ViewState of the history
946         https://bugs.webkit.org/show_bug.cgi?id=82000
947
948         Reviewed by Rob Buis.
949
950         Internally reviewed by George Staikos.
951
952         No new tests, BlackBerry porting doesn't build yet upstreaming.
953
954         * history/blackberry/HistoryItemViewState.h:
955         (WebCore::HistoryItemViewState::HistoryItemViewState):
956         (HistoryItemViewState):
957
958 2012-03-22  Adam Klein  <adamk@chromium.org>
959
960         [v8] wrapSlow methods should ref underlying object before creating wrapper
961         https://bugs.webkit.org/show_bug.cgi?id=81919
962
963         Reviewed by Adam Barth.
964
965         Because instatiating the wrapper can trigger GC, it's important that
966         wrapSlow() hold a reference to an object when creating a wrapper for
967         that object. Once the V8 wrapper exists and is associated with the object,
968         the reference can be handed off (via leakRef) to be handled by the normal
969         binding code logic (where derefObject is called if the handle is GCed).
970
971         Binding tests have been updated to reflect this change.
972
973         Testing the change directly is hard. Any test landed today would only
974         be a valid test until V8's logic about when to GC changes, at which point
975         it would become dead weight. So I don't think it's worth landing a
976         layout test along with this.
977
978         * bindings/scripts/CodeGeneratorV8.pm:
979         (GenerateHeader): Make wrapSlow take a PassRefPtr for RefCounted objects.
980         (GenerateToV8Converters): Get rid of the explicit call to ref() and
981         instead call leakRef() when adding a RefCounted object to the DOM map.
982         (GetPassRefPtrType): Helper to generate "PassRefPtr<T>", or "PassRefPtr<T<U> >" as appropriate.
983         * bindings/scripts/test/V8/V8Float64Array.cpp:
984         (WebCore::V8Float64Array::wrapSlow):
985         * bindings/scripts/test/V8/V8Float64Array.h:
986         (V8Float64Array):
987         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
988         (WebCore::V8TestActiveDOMObject::wrapSlow):
989         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
990         (V8TestActiveDOMObject):
991         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
992         (WebCore::V8TestCustomNamedGetter::wrapSlow):
993         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
994         (V8TestCustomNamedGetter):
995         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
996         (WebCore::V8TestEventConstructor::wrapSlow):
997         * bindings/scripts/test/V8/V8TestEventConstructor.h:
998         (V8TestEventConstructor):
999         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1000         (WebCore::V8TestEventTarget::wrapSlow):
1001         * bindings/scripts/test/V8/V8TestEventTarget.h:
1002         (V8TestEventTarget):
1003         * bindings/scripts/test/V8/V8TestInterface.cpp:
1004         (WebCore::V8TestInterface::wrapSlow):
1005         * bindings/scripts/test/V8/V8TestInterface.h:
1006         (V8TestInterface):
1007         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1008         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1009         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1010         (V8TestMediaQueryListListener):
1011         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1012         (WebCore::V8TestNamedConstructor::wrapSlow):
1013         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1014         (V8TestNamedConstructor):
1015         * bindings/scripts/test/V8/V8TestObj.cpp:
1016         (WebCore::V8TestObj::wrapSlow):
1017         * bindings/scripts/test/V8/V8TestObj.h:
1018         (V8TestObj):
1019         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1020         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1021         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1022         (V8TestSerializedScriptValueInterface):
1023
1024 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1025
1026         [BlackBerry] add interface clearCredentials() and clearNeverRememberSites()
1027         https://bugs.webkit.org/show_bug.cgi?id=81887
1028
1029         Reviewed by Rob Buis.
1030
1031         Fixed SQL issue when clearing table logins and table never_remember.
1032
1033         No new tests.
1034
1035         * platform/network/blackberry/CredentialBackingStore.cpp:
1036         (WebCore::CredentialBackingStore::clearLogins):
1037         (WebCore::CredentialBackingStore::clearNeverRemember):
1038
1039 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1040
1041         [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
1042         https://bugs.webkit.org/show_bug.cgi?id=80135
1043
1044         Reviewed by Rob Buis.
1045
1046         Modified the interface function authenticationChallenge() in class
1047         PageClientBlackBerry, moved Credential from return value to the
1048         function's reference parameter, and returned a bool to indicate if
1049         user pressed Ok button or not.
1050         Removed the logic which checks m_currentWebChallenge not null,
1051         because we should challenge user again if the last provided credential
1052         is not valid; also added the logic that will popup challenge
1053         dialog again immediately if user press Ok buttton directly without
1054         inputting anything.
1055
1056         No new tests.
1057
1058         * platform/blackberry/PageClientBlackBerry.h:
1059         * platform/network/blackberry/NetworkJob.cpp:
1060         (WebCore::NetworkJob::handleAuthHeader):
1061         (WebCore::NetworkJob::sendRequestWithCredentials):
1062
1063 2012-03-22  Jason Liu  <jason.liu@torchmobile.com.cn>
1064
1065         [BlackBerry] Synchronize platform/network/blackberry
1066         https://bugs.webkit.org/show_bug.cgi?id=81874
1067
1068         We changed a lot in these files locally. But the changes are not upstreamed.
1069         It is not convenient to do the other upstreaming work based on these differences.
1070         So upstream these changes.
1071
1072         Reviewed by Rob Buis.
1073
1074         No new tests. Just synchronize codes.
1075
1076         * platform/network/blackberry/NetworkJob.cpp:
1077         (WebCore::NetworkJob::NetworkJob):
1078         (WebCore::NetworkJob::initialize):
1079         (WebCore::NetworkJob::handleNotifyHeaderReceived):
1080         (WebCore::NetworkJob::handleNotifyDataReceived):
1081         (WebCore::NetworkJob::sendResponseIfNeeded):
1082         (WebCore::NetworkJob::sendRequestWithCredentials):
1083         (WebCore::NetworkJob::handleAbout):
1084         * platform/network/blackberry/NetworkJob.h:
1085         (WebCore::NetworkJob::isError):
1086         (NetworkJob):
1087         * platform/network/blackberry/NetworkManager.cpp:
1088         (WebCore::NetworkManager::startJob):
1089         * platform/network/blackberry/ResourceRequest.h:
1090         (WebCore::ResourceRequest::ResourceRequest):
1091         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
1092         (WebCore::platformTargetTypeForRequest):
1093
1094 2012-03-22  Tom Sepez  <tsepez@chromium.org>
1095
1096         XSS Auditor bypass via script tag src=data:, URLS.
1097         https://bugs.webkit.org/show_bug.cgi?id=81948
1098
1099         Reviewed by Adam Barth.
1100
1101         This change fixes an XSSAuditor bypass wherby a script with a data: URL src
1102         attribute could evade detection by using characters from the page to create
1103         a snippet for matching not found in the URL's reflected vector.  This change 
1104         terminates the snippet for matching earlier in these cases.
1105         
1106         Test: http/tests/security/xssAuditor/script-tag-with-source-data-url2.html
1107
1108         * html/parser/XSSAuditor.cpp:
1109         (WebCore::XSSAuditor::decodedSnippetForAttribute):
1110
1111 2012-03-22  Dana Jansens  <danakj@chromium.org>
1112
1113         [chromium] Incorrect assert on animating opacity for a surface
1114         https://bugs.webkit.org/show_bug.cgi?id=81994
1115
1116         Reviewed by Adrienne Walker.
1117
1118         Draw opacity and animation state match on the surface itself. A
1119         surface with animating opacity always has an owning layer without
1120         animation, as the surface does the animation for it.
1121
1122         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1123         (WebCore::CCLayerTreeHost::paintLayerContents):
1124
1125 2012-03-22  Dana Jansens  <danakj@chromium.org>
1126
1127         [chromium] Skip frames when checkerboarding an animation
1128         https://bugs.webkit.org/show_bug.cgi?id=81716
1129
1130         Reviewed by Adrienne Walker.
1131
1132         This will stop drawing frames when prepareToDraw fails, if the draw is
1133         not forced. The expected behaviour is outlined below by the unit tests.
1134
1135         When a draw fails, we:
1136         1. Set m_needsRedraw to try again next vsync
1137         2. Set m_needsCommit because we need more data from webkit to succeed
1138         3. Set m_drawIfPossibleFailed. This allows us to try draw again within
1139         the same vsync *if* a commit finishes during this time.
1140
1141         Unit test: CCSchedulerTest.RequestRedrawInsideFailedDraw
1142                    CCSchedulerTest.RequestCommitInsideFailedDraw
1143                    CCSchedulerTest.NoBeginFrameWhenDrawFails
1144                    CCSchedulerStateMachineTest.TestFailedDrawSetsNeedsCommitAndDoesNotDrawAgain
1145                    CCSchedulerStateMachineTest.TestSetNeedsRedrawDuringFailedDrawDoesNotRemoveNeedsRedraw
1146                    CCSchedulerStateMachineTest.TestCommitAfterFailedDrawAllowsDrawInSameFrame
1147                    CCSchedulerStateMachineTest.TestCommitAfterFailedAndSuccessfulDrawDoesNotAllowDrawInSameFrame
1148                    CCSchedulerStateMachineTest.TestFailedDrawIsRetriedNextVSync
1149
1150         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1151         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1152         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
1153         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1154         (CCLayerTreeHostImpl):
1155         * platform/graphics/chromium/cc/CCScheduler.cpp:
1156         (WebCore::CCScheduler::processScheduledActions):
1157         * platform/graphics/chromium/cc/CCScheduler.h:
1158         (CCSchedulerClient):
1159         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
1160         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
1161         (WebCore::CCSchedulerStateMachine::nextAction):
1162         (WebCore::CCSchedulerStateMachine::updateState):
1163         (WebCore::CCSchedulerStateMachine::didDrawIfPossibleCompleted):
1164         (WebCore):
1165         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
1166         (CCSchedulerStateMachine):
1167         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1168         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
1169         (WebCore):
1170         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
1171         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
1172         * platform/graphics/chromium/cc/CCThreadProxy.h:
1173         (CCThreadProxy):
1174
1175 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
1176
1177         [chromium] Force update of nonFastScrollableRegion if target CCLayerImpl has been freshly created.
1178         https://bugs.webkit.org/show_bug.cgi?id=81968
1179
1180         Reviewed by Adrienne Walker.
1181
1182         Added unit test to existing tests for TreeSynchronizer.
1183
1184         When creating a new CCLayerImpl during tree synchronization, make sure we transfer the nonFastScrollableRegion as
1185         the new CCLayerImpl will default to an empty region.
1186
1187         * platform/graphics/chromium/LayerChromium.h:
1188         (WebCore::LayerChromium::nonFastScrollableRegion):
1189         (WebCore::LayerChromium::setNonFastScrollableRegionChanged):
1190         * platform/graphics/chromium/TreeSynchronizer.cpp:
1191         (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
1192
1193 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
1194
1195         [CMake] Unreviewed build fix after r111778.
1196
1197         * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
1198         ${WTF_DIR}/wtf ones.
1199
1200 2012-03-22  Tony Chang  <tony@chromium.org>
1201
1202         Unreviewed, fix chromium build after wtf move.
1203
1204         Only use newwtf, remove references to wtf.
1205
1206         * WebCore.gyp/WebCore.gyp:
1207
1208 2012-03-22  Benjamin Poulain  <bpoulain@apple.com>
1209
1210         Remove an obsolete comment regarding magic frames from Geolocation
1211         https://bugs.webkit.org/show_bug.cgi?id=81871
1212
1213         Reviewed by Alexey Proskuryakov.
1214
1215         Moving a frame into another document is no longer possible after r111361. The comment
1216         is now irrelevant.
1217
1218         * Modules/geolocation/Geolocation.cpp:
1219         (WebCore::Geolocation::stop):
1220
1221 2012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
1222
1223         Actually move WTF files to their new home
1224         https://bugs.webkit.org/show_bug.cgi?id=81844
1225
1226         [Qt] Unreviewed buildfix after r111778.
1227
1228         * Target.pri:
1229
1230 2012-03-22  Kentaro Hara  <haraken@chromium.org>
1231
1232         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl
1233         https://bugs.webkit.org/show_bug.cgi?id=81852
1234
1235         Reviewed by Adam Barth.
1236
1237         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl:
1238
1239         Use of uninitialized value in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2743.
1240         Use of uninitialized value $name in substitution (s///) at WebCore/bindings/scripts/CodeGenerator.pm line 119.
1241         Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2969.
1242         Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2972.
1243         Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 367.
1244         Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 368.
1245         ...
1246
1247         This is because [Constructor(...)] does not yet support [Optional] arguments.
1248         It just supports [Optional=DefaultIsUndefined] and [Optional=DefaultIsNullString] arguments:
1249         https://trac.webkit.org/wiki/WebKitIDL#Constructor
1250
1251         This patch replaces [Optional] with [Optional=DefaultIsUndefined]
1252         in TestSerializedScriptValueInterface.idl.
1253
1254         Test: bindings/scripts/test/TestSerializedScriptValueInterface.idl
1255
1256         * bindings/scripts/CodeGeneratorJS.pm:
1257         (GenerateConstructorDefinition):
1258         * bindings/scripts/CodeGeneratorV8.pm:
1259         (GenerateConstructorCallback):
1260         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1261         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
1262         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1263         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1264         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1265
1266 2012-03-22  Michal Mocny  <mmocny@google.com>
1267
1268         [chromium] LayerRendererChromium should use GpuMemoryAllocationChanged callback to explicitly manage framebuffer.
1269         https://bugs.webkit.org/show_bug.cgi?id=81823
1270
1271         Reviewed by Adrienne Walker.
1272
1273         New UnitTests: LayerRendererChromiumTest
1274
1275         * platform/graphics/chromium/LayerRendererChromium.cpp:
1276         (LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1277         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::create):
1278         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::~LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1279         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
1280         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
1281         (WebCore):
1282         (WebCore::LayerRendererChromium::LayerRendererChromium):
1283         (WebCore::LayerRendererChromium::initialize):
1284         (WebCore::LayerRendererChromium::~LayerRendererChromium):
1285         (WebCore::LayerRendererChromium::setVisible):
1286         (WebCore::LayerRendererChromium::swapBuffers):
1287         (WebCore::LayerRendererChromium::discardFramebuffer):
1288         (WebCore::LayerRendererChromium::ensureFramebuffer):
1289         * platform/graphics/chromium/LayerRendererChromium.h:
1290         (WebCore):
1291         (LayerRendererChromiumClient):
1292         (LayerRendererChromium):
1293         (WebCore::LayerRendererChromium::isFramebufferDiscarded):
1294         (ScopedEnsureFramebufferAllocation):
1295         (WebCore::ScopedEnsureFramebufferAllocation::ScopedEnsureFramebufferAllocation):
1296         (WebCore::ScopedEnsureFramebufferAllocation::~ScopedEnsureFramebufferAllocation):
1297         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1298         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
1299         (LayerRendererCapabilities):
1300         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1301         (WebCore::CCLayerTreeHostImpl::setVisible):
1302         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1303         (CCLayerTreeHostImpl):
1304         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1305         (WebCore::CCSingleThreadProxy::compositeAndReadback):
1306         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1307         (WebCore::CCThreadProxy::compositeAndReadback):
1308
1309 2012-03-22  Adam Barth  <abarth@webkit.org>
1310
1311         ContainerNode::insertedIntoTree and removedFromTree use weak iteration patterns
1312         https://bugs.webkit.org/show_bug.cgi?id=80570
1313
1314         Reviewed by Ryosuke Niwa.
1315
1316         These functions use weak iteration patterns, but as far as I can tell,
1317         we never execute script below these functions.  This patch adds ASSERTs
1318         to help us avoid adding events in the future.
1319
1320         * dom/ContainerNode.cpp:
1321         (WebCore::ContainerNode::insertedIntoTree):
1322         (WebCore::ContainerNode::removedFromTree):
1323         * html/HTMLMediaElement.cpp:
1324         (WebCore::HTMLMediaElement::loadInternal):
1325             - There's a somewhat complex call chain from insertedIntoTree into
1326               HTMLMediaElement, and somewhat complex control flow below
1327               loadInternal that eventually leads to the BeforeLoad event being
1328               fired.  In studying this code, I don't see a way for the
1329               BeforeLoad event to be fired during insertedIntoTree, but I've
1330               added this assert here to make sure we don't call loadInternal
1331               when we're not supposed to dispatch events.  This ASSERT should
1332               help us catch these BeforeLoad errors more quickly.
1333
1334 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
1335
1336         Crash in fast/dom/navigator-detached-nocrash.html
1337         https://bugs.webkit.org/show_bug.cgi?id=81773
1338
1339         Reviewed by Adam Barth.
1340
1341         BatteryManager::create() blindly assumes the Navigator* it
1342         receives has a valid Frame, which is not always the case, as made
1343         evident by the crashing test.
1344
1345         Follow abarth's suggestion and just stop
1346         NavigatorBattery::webkitBattery() before it reaches the call to
1347         BatteryManager::create() if that's the case.
1348
1349         No new tests, covered by fast/dom/navigator-detached-nocrash.html.
1350
1351         * Modules/battery/NavigatorBattery.cpp:
1352         (WebCore::NavigatorBattery::webkitBattery):
1353
1354 2012-03-22  Emil A Eklund  <eae@chromium.org>
1355
1356         Unreviewed, add missing include statement for CSSValueList.h.
1357
1358         * css/CSSStyleSelector.h:
1359
1360 2012-03-22  Tony Chang  <tony@chromium.org>
1361
1362         flexbox flexing implementation should match the spec
1363         https://bugs.webkit.org/show_bug.cgi?id=70796
1364
1365         Reviewed by Ojan Vafai.
1366
1367         Match the algorithm in the spec. Handling min/max constraints are slightly improved.
1368         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
1369
1370         New test cases in css3/flexbox/flex-algorithm-min-max.html.
1371
1372         * rendering/RenderFlexibleBox.cpp:
1373         (WebCore::adjustFlexSizeForMinAndMax): Step 5 of resolving flexible lengths.
1374         (WebCore):
1375         (WebCore::RenderFlexibleBox::Violation::Violation):
1376         (RenderFlexibleBox::Violation):
1377         (WebCore::RenderFlexibleBox::freezeViolations): Used by step 6.
1378         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
1379         * rendering/RenderFlexibleBox.h:
1380
1381 2012-03-22  Emil A Eklund  <eae@chromium.org>
1382
1383         Unreviewed, add missing import.
1384
1385         * rendering/RenderThemeMac.mm:
1386
1387 2012-03-22  Anders Carlsson  <andersca@apple.com>
1388
1389         ASSERT(!needsLayout) in RenderView.cpp when visiting http://www.panic.com/blog/
1390         https://bugs.webkit.org/show_bug.cgi?id=81953
1391         <rdar://problem/11086998>
1392
1393         Reviewed by Sam Weinig.
1394
1395         If a page ends up creating CATiledLayers, CA transactions can be committed outside of the normal
1396         CA run loop observer, so we can't call setNeedsDisplay on tile cache layers directly because then
1397         we'll end up calling into painting code before all the layers have been flushed.
1398
1399         Fix this by adding a list of dirty rects to platformCALayerDidCreateTiles and change GraphicsLayerCA to
1400         mark them as dirty. This ensures that any CA transaction commits won't cause newly added layers to be painted.
1401
1402         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1403         (WebCore::LayerClient::platformCALayerDidCreateTiles):
1404         * platform/graphics/ca/GraphicsLayerCA.cpp:
1405         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
1406         * platform/graphics/ca/GraphicsLayerCA.h:
1407         (GraphicsLayerCA):
1408         * platform/graphics/ca/PlatformCALayerClient.h:
1409         (PlatformCALayerClient):
1410         * platform/graphics/ca/mac/TileCache.mm:
1411         (WebCore::TileCache::setScale):
1412         (WebCore::TileCache::revalidateTiles):
1413         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1414         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
1415
1416 2012-03-19  Robert Hogan  <robert@webkit.org>
1417
1418         Text should overflow when list item height set to 0
1419         https://bugs.webkit.org/show_bug.cgi?id=78726
1420
1421         Reviewed by Julien Chaffraix.
1422
1423         Tests: css2.1/20110323/height-applies-to-010a-expected.html
1424                fast/css/heightless-list-item-expected.html
1425                fast/css/heightless-list-item.html
1426
1427         * rendering/RenderListItem.cpp:
1428         (WebCore::RenderListItem::paint):
1429            If the list item has height:0, only paint it if the list item allows any block or inline content 
1430            to overflow unclipped. The zero-height check is a shortcut to avoid unnecessary painting and 
1431            this seems to be the only case where there's something to do.
1432
1433 2012-03-22  Dave Michael  <dmichael@chromium.org>
1434
1435         HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
1436         https://bugs.webkit.org/show_bug.cgi?id=80428
1437
1438         Reviewed by Eric Seidel.
1439
1440         Make HTMLPluginElement release its m_NPObject in detach() to break a
1441         reference-counting cycle that happens on reload or navigation. With this
1442         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
1443         was removed. Note that Releasing m_NPObject does not result in a call to
1444         the plugin; it simply releases a reference count on the wrapper object
1445         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
1446         when the render tree is destroyed, when PluginView calls
1447         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
1448         detach, because it can not result in layout or style changes.
1449
1450         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
1451         window.internals to enable testing.
1452
1453         Test: plugins/netscape-dom-access-and-reload.html
1454
1455         * WebCore.exp.in:
1456         * html/HTMLPlugInElement.cpp:
1457         (WebCore::HTMLPlugInElement::detach):
1458         * html/HTMLPlugInElement.h:
1459         (HTMLPlugInElement):
1460         * testing/Internals.cpp:
1461         (WebCore::Internals::numberOfLiveDocuments):
1462         (WebCore::Internals::numberOfLiveNodes):
1463         (WebCore):
1464         * testing/Internals.h:
1465         (Internals):
1466         * testing/Internals.idl:
1467
1468 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
1469
1470         [chromium] Make CCDamageTracker robust to empty layer lists
1471         https://bugs.webkit.org/show_bug.cgi?id=81831
1472
1473         Reviewed by Adrienne Walker.
1474
1475         Added a unit test in CCDamageTrackerTest that causes a crash in
1476         the old code. With this patch applied, the crash will not occur.
1477         In theory, that crash should never occur anyway, unless there is a
1478         bug outside the damage tracker, but for robustness it's
1479         appropriate to handle it properly.
1480
1481         In addition to this fix, performed some trivial maintenance on the
1482         damage tracker code.
1483
1484         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1485         (WebCore::CCDamageTracker::updateDamageTrackingState): removed
1486         unclean code that accessed the targetSurface to get necessary
1487         information. Instead, we now pass those args through the damage
1488         tracker's API.
1489
1490         * platform/graphics/chromium/cc/CCDamageTracker.h:
1491         (CCDamageTracker): modified args passed to damage tracker on update.
1492
1493         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1494         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
1495         modified args passed to damage tracker on update.
1496
1497 2012-03-22  Julien Chaffraix  <jchaffraix@webkit.org>
1498
1499         Enable style sharing for elements with a style attribute
1500         https://bugs.webkit.org/show_bug.cgi?id=81523
1501
1502         Reviewed by Antti Koivisto.
1503
1504         Memory improvement change only.
1505
1506         Overall, this is a performance wash (some benchmarks may regress a bit due to the increase in time taken
1507         by CSSStyleSelector::locateSharedStyle as we try more nodes, others increase their performance due to style sharing).
1508
1509         Instrumenting our style sharing, this should give us some nice memory shavings on some benchmarks:
1510         - HTML5 isn't impacted as it doesn't use much inline style
1511         - page cyclers' intl1 showed a 6% increase in style sharing.
1512
1513         * css/CSSStyleSelector.cpp:
1514         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1515         This method now handles inline style like presentation attributes on the element.
1516
1517         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1518         (WebCore::CSSStyleSelector::locateSharedStyle):
1519         Don't bail out for an element with an inline style declaration.
1520
1521         (WebCore::CSSStyleSelector::stylesEqual):
1522         Generalized attributeStylesEqual to share the logic between attribute and
1523         inline style property set. This means that attribute checks are actually
1524         doing a little extra more work but that didn't impact our benchmarks.
1525
1526 2012-03-22  Kevin Ollivier  <kevino@theolliviers.com>
1527
1528         [wx] Unreviewed. WebDOM build fix after array type changes.
1529
1530         * bindings/scripts/CodeGeneratorCPP.pm:
1531         (ShouldSkipType):
1532
1533 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
1534
1535         Web Inspector: text gutter decorations should move upon edits.
1536         https://bugs.webkit.org/show_bug.cgi?id=81932
1537
1538         Reviewed by Vsevolod Vlasov.
1539
1540         Decorations set by the line number now shift as editing inserts / removes lines.
1541
1542         * inspector/front-end/TextViewer.js:
1543         (WebInspector.TextViewer.prototype._syncLineHeight):
1544         (WebInspector.TextEditorGutterPanel):
1545         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
1546         (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
1547         (WebInspector.TextEditorGutterPanel.prototype.addDecoration):
1548         (WebInspector.TextEditorGutterPanel.prototype.removeDecoration):
1549
1550 2012-03-21  Robert Hogan  <robert@webkit.org>
1551
1552         CSS 2.1 failure: fixed-table-layout-006 fails
1553         https://bugs.webkit.org/show_bug.cgi?id=78412
1554
1555         Reviewed by Julien Chaffraix.
1556
1557         Tests: css2.1/20110323/fixed-table-layout-006.htm
1558                fast/css/fixed-table-layout-cell-padding.htm
1559
1560         In fixed tables, positive width specified on a column should include borders and padding.
1561         See the thread at http://lists.w3.org/Archives/Public/www-style/2011Oct/0502.html. The discussion
1562         there resulted in a whole new set of tests for section 17.5.2.1 in the CSS 2.1 spec. See 
1563         http://test.csswg.org/harness/test/CSS21_DEV/section/17.5.2.1/. This patch allows WebKit
1564         to pass all of them, and all tests for the 17.5.2.1 section as a whole. I'll land them all separately.
1565     
1566         * rendering/FixedTableLayout.cpp:
1567         (WebCore::FixedTableLayout::calcWidthArray): Include border width and cell padding in the width of the column.
1568          Note that borderAndPaddingLogicalWidth() returns the border width for separate and collapsed borders as appropriate.
1569
1570 2012-03-22  Simon Fraser  <simon.fraser@apple.com>
1571
1572         Factor compositing layer updates after scroll into a new method
1573         https://bugs.webkit.org/show_bug.cgi?id=81943
1574
1575         Reviewed by Dean Jackson.
1576
1577         Move some code that updates compositing layers after scrolling
1578         into its own method, for cleanliness.
1579
1580         * rendering/RenderLayer.cpp:
1581         (WebCore::RenderLayer::scrollTo):
1582         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
1583         (WebCore):
1584         * rendering/RenderLayer.h:
1585         (RenderLayer):
1586
1587 2012-03-22  Gavin Barraclough  <barraclough@apple.com>
1588
1589         Add JSValue::isFunction
1590         https://bugs.webkit.org/show_bug.cgi?id=81935
1591
1592         Reviewed by Geoff Garen.
1593
1594         This would be useful in the WebCore bindings code.
1595         Also, remove asFunction, replace with jsCast<JSFunction*>.
1596
1597         * bindings/js/JSInjectedScriptHostCustom.cpp:
1598         (WebCore::JSInjectedScriptHost::functionDetails):
1599         * bindings/js/ScriptCallStackFactory.cpp:
1600         (WebCore::createScriptCallStack):
1601
1602 2012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1603
1604         TiledBackingStore: Fix test regressions that appeared with r111560.
1605         https://bugs.webkit.org/show_bug.cgi?id=81519
1606
1607         Reviewed by Kenneth Rohde Christiansen.
1608
1609         The visible rect wasn't intersected with the contents rect anymore which
1610         could lead to an astronomical layer size to check for intersecting tiles.
1611
1612         Add a visibleContentsRect that doesn't do the conversion and use it
1613         in visibleAreaIsCovered.
1614
1615         * platform/graphics/TiledBackingStore.cpp:
1616         (WebCore::TiledBackingStore::visibleContentsRect):
1617         (WebCore):
1618         (WebCore::TiledBackingStore::visibleRect):
1619         (WebCore::TiledBackingStore::visibleAreaIsCovered):
1620         * platform/graphics/TiledBackingStore.h:
1621         (TiledBackingStore):
1622
1623 2012-03-22  Joe Thomas  <joethomas@motorola.com>
1624
1625         Make Length Calculation functions non-inline
1626         https://bugs.webkit.org/show_bug.cgi?id=81733
1627
1628         Currently length calculation functions in LengthFunctions.h are inline. These functions are pretty big to be inline.
1629         And these functions are expected to grow again when new length units will be introduced in bug 27160.
1630
1631         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
1632         functions with loops or switch statements. (Reference: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Inline_Functions).
1633
1634         Ran PerformanceTests/Parser/html5-full-render.html on Mac Snow-Leopard with and without the patch and did not see much performance difference.
1635
1636         Reviewed by Antti Koivisto.
1637
1638         * CMakeLists.txt:
1639         * GNUmakefile.list.am:
1640         * Target.pri:
1641         * WebCore.gypi:
1642         * WebCore.vcproj/WebCore.vcproj:
1643         * WebCore.xcodeproj/project.pbxproj:
1644         * css/LengthFunctions.cpp: Added.
1645         (WebCore):
1646         (WebCore::miminumValueForLength):
1647         (WebCore::valueForLength):
1648         (WebCore::floatValueForLength):
1649         * css/LengthFunctions.h:
1650         (WebCore):
1651
1652 2012-03-22  Alexis Menard  <alexis.menard@openbossa.org>
1653
1654         Increase code sharing between CSSParser and CSSPropertyLonghand.
1655         https://bugs.webkit.org/show_bug.cgi?id=81587
1656
1657         Reviewed by Antti Koivisto.
1658
1659         Expose the longhands declaration for a given shorthand in CSSPropertyLonghand and
1660         make CSSParser use them. It will make the declaration of longhands in one place only.
1661         Remove the map of CSSPropertyLonghand and replace it by a regular switch/case.
1662         The map doesn't bring much here and it's cleaner and faster to use the switch.
1663         It also shows a little performance improvement in CSS/CSSPropertySetterGetter.html.
1664
1665         No new tests : no behavior change.
1666
1667         * css/CSSParser.cpp:
1668         (WebCore::CSSParser::parseValue):
1669         (WebCore::CSSParser::parseAnimationShorthand):
1670         (WebCore::CSSParser::parseTransitionShorthand):
1671         (WebCore::CSSParser::parseShorthand):
1672         Modify the prototype of this function to directly use the CSSPropertyLonghand.
1673         * css/CSSParser.h:
1674         (WebCore):
1675         (CSSParser):
1676         * css/CSSPropertyLonghand.cpp:
1677         (WebCore):
1678         (WebCore::backgroundLonghand):
1679         (WebCore::backgroundPositionLonghand):
1680         (WebCore::backgroundRepeatLonghand):
1681         (WebCore::borderLonghand):
1682         (WebCore::borderBottomLonghand):
1683         (WebCore::borderColorLonghand):
1684         (WebCore::borderImageLonghand):
1685         (WebCore::borderLeftLonghand):
1686         (WebCore::borderRadiusLonghand):
1687         (WebCore::borderRightLonghand):
1688         (WebCore::borderSpacingLonghand):
1689         (WebCore::borderStyleLonghand):
1690         (WebCore::borderTopLonghand):
1691         (WebCore::borderWidthLonghand):
1692         (WebCore::listStyleLonghand):
1693         (WebCore::fontLonghand):
1694         (WebCore::marginLonghand):
1695         (WebCore::outlineLonghand):
1696         (WebCore::overflowLonghand):
1697         (WebCore::paddingLonghand):
1698         (WebCore::webkitAnimationLonghand):
1699         (WebCore::webkitBorderAfterLonghand):
1700         (WebCore::webkitBorderBeforeLonghand):
1701         (WebCore::webkitBorderEndLonghand):
1702         (WebCore::webkitBorderStartLonghand):
1703         (WebCore::webkitColumnsLonghand):
1704         (WebCore::webkitColumnRuleLonghand):
1705         (WebCore::webkitFlexFlowLonghand):
1706         (WebCore::webkitMarginCollapseLonghand):
1707         (WebCore::webkitMarqueeLonghand):
1708         (WebCore::webkitMaskLonghand):
1709         (WebCore::webkitMaskPositionLonghand):
1710         (WebCore::webkitMaskRepeatLonghand):
1711         (WebCore::webkitTextEmphasisLonghand):
1712         (WebCore::webkitTextStrokeLonghand):
1713         (WebCore::webkitTransitionLonghand):
1714         (WebCore::webkitTransformOriginLonghand):
1715         (WebCore::webkitWrapLonghand):
1716         (WebCore::longhandForProperty):
1717         * css/CSSPropertyLonghand.h:
1718         (WebCore):
1719
1720 2012-03-22  Emil A Eklund  <eae@chromium.org>
1721
1722         Unreviewed, touching file to force bots to pick up CSS_SHADERS flag change. 
1723
1724         * css/CSSStyleSelector.h:
1725         (CSSStyleSelector):
1726
1727 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
1728
1729         ReverbConvolver::latencyFrames() should return 0.
1730         https://bugs.webkit.org/show_bug.cgi?id=81806
1731
1732         Reviewed by Chris Rogers.
1733
1734         * platform/audio/ReverbConvolver.cpp:
1735         (WebCore::ReverbConvolver::latencyFrames):
1736
1737 2012-03-22  Tony Chang  <tony@chromium.org>
1738
1739         refactor flexbox in preparation for flex-line-pack
1740         https://bugs.webkit.org/show_bug.cgi?id=81843
1741
1742         Reviewed by Ojan Vafai.
1743
1744         Replace WrapReverseContext with a vector of LineContexts that contain
1745         the same information, plus values needed for flex-align.
1746
1747         alignChildren has been moved to after all the lines have been
1748         positioned. We want to align children after flex-line-pack has changed
1749         the size of each line to avoid unnecessary layouts.
1750
1751         Take 2: Remove the assert. If there are no children, then there are no
1752         flex lines. Instead, assert that child is not null.
1753
1754         No new tests, just refactoring.
1755
1756         * rendering/RenderFlexibleBox.cpp:
1757         (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
1758         holds information needed for wrap-reverse and aligning children.
1759         (RenderFlexibleBox::LineContext):
1760         (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
1761         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
1762         (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
1763         (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
1764         * rendering/RenderFlexibleBox.h:
1765
1766 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1767
1768         Event dispatching in XMLHttpRequestProgressEventThrottle should go through XMLHttpRequestProgressEventThrottle::dispatchEvent
1769         https://bugs.webkit.org/show_bug.cgi?id=46743
1770
1771         Reviewed by Julien Chaffraix
1772         Based on original patch by Anton D'Auria
1773
1774         In preparation for platform-specific queuing of XMLHttpRequest events,
1775         this patch changes all calls to m_target->dispatchEvent to
1776         XMLHttpRequestProgressEventThrottle::dispatchEvent.
1777         Currently, we queue only one progress event on suspend() if we have
1778         throttled progress events. We should be able to queue all XHR events
1779         that can be generated after suspend(), if the platform network layer
1780         continues to receive data.
1781         XMLHttpRequest uses XMLHttpRequestProgressEventThrottle to dispatch only
1782         download events, so this doesn't change behavior of upload events, which
1783         aren't throttled or queued.
1784
1785         * xml/XMLHttpRequest.cpp:
1786         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1787         * xml/XMLHttpRequestProgressEventThrottle.cpp:
1788         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent):
1789         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
1790         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
1791         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent):
1792         (WebCore::XMLHttpRequestProgressEventThrottle::fired):
1793         * xml/XMLHttpRequestProgressEventThrottle.h:
1794         (XMLHttpRequestProgressEventThrottle):
1795
1796 2012-03-22  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1797
1798         [EFL] Map BackSpace key code to Unicode value
1799         https://bugs.webkit.org/show_bug.cgi?id=81130
1800
1801         Reviewed by Gustavo Noronha Silva.
1802
1803         Test: fast/events/backspace-navigates-back.html
1804
1805         * platform/efl/EflKeyboardUtilities.cpp:
1806         (WebCore::createKeyMap): Map BackSpace to Unicode value
1807
1808 2012-03-22  Abhishek Arya  <inferno@chromium.org>
1809
1810         Incorrect beforeChild parent calculation in RenderRubyBase::moveChildren.
1811         https://bugs.webkit.org/show_bug.cgi?id=80297
1812
1813         Reviewed by Julien Chaffraix.
1814
1815         beforeChild might share the same anonymous block parent with other previous
1816         siblings. Before moving the children across ruby bases, we need to make sure
1817         to split the tree across the beforeChild correctly.
1818
1819         Test: fast/ruby/ruby-text-before-child-split.html
1820
1821         * rendering/RenderRubyBase.cpp:
1822         (WebCore::RenderRubyBase::moveChildren):
1823
1824 2012-03-22  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
1825
1826         [Qt] Fix Qt minimal build after r111692
1827
1828         Reviewed by Csaba Osztrogonác.
1829
1830         * bindings/js/JSScriptProfileNodeCustom.cpp:
1831
1832 2012-03-22  Adrienne Walker  <enne@google.com>
1833
1834         [chromium] Fix scrollbar layers holding onto invalid textures after lost context
1835         https://bugs.webkit.org/show_bug.cgi?id=81841
1836
1837         Reviewed by James Robinson.
1838
1839         Unit test: CCLayerTreeHostImplTest.scrollbarLayerLostContext
1840
1841         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1842         (WebCore::CCScrollbarLayerImpl::willDraw):
1843
1844 2012-03-22  Philippe Normand  <pnormand@igalia.com>
1845
1846         [GTK] ASSERT bug in WebAudio (AudioFileReader)
1847         https://bugs.webkit.org/show_bug.cgi?id=81777
1848
1849         Reviewed by Martin Robinson.
1850
1851         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1852         (WebCore::AudioFileReader::decodeAudioForBusCreation): Don't steal
1853         the GstBus floating reference.
1854         (WebCore::AudioFileReader::createBus): Ditto.
1855
1856 2012-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
1857
1858         Unreviewed: Web Inspector: fix syntax error in text.
1859
1860         * English.lproj/localizedStrings.js:
1861         * inspector/front-end/HeapSnapshotProxy.js:
1862         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
1863
1864 2012-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1865
1866         Unreviewed, rolling out r111688.
1867         http://trac.webkit.org/changeset/111688
1868         https://bugs.webkit.org/show_bug.cgi?id=81912
1869
1870         "Heap profiler test fails" (Requested by yurys on #webkit).
1871
1872         * inspector/front-end/HeapSnapshot.js:
1873         (WebInspector.HeapSnapshot.prototype._buildRetainers):
1874
1875 2012-03-22  Dana Jansens  <danakj@chromium.org>
1876
1877         [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
1878         https://bugs.webkit.org/show_bug.cgi?id=81437
1879
1880         Reviewed by Adrienne Walker.
1881
1882         Split CCLayerTreeHostImpl::drawLayers() into two phases:
1883         prepareToDraw() and drawLayers().
1884
1885         When calculating a RenderPass, and we checkerboard a quad on a
1886         layer, bubble this info back up to CCLayerTreeHostImpl. If the
1887         layer is transforming in an animation, then abort the prepareToDraw()
1888         phase and cause it to return false back to the thread proxy.
1889
1890         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
1891
1892         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1893         (WebCore::CCLayerImpl::appendQuads):
1894         * platform/graphics/chromium/cc/CCLayerImpl.h:
1895         (CCLayerImpl):
1896         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1897         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1898         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
1899         (WebCore):
1900         (WebCore::CCLayerTreeHostImpl::drawLayers):
1901         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1902         (CCLayerTreeHostImpl):
1903         (FrameData):
1904         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1905         (WebCore::CCQuadCuller::append):
1906         * platform/graphics/chromium/cc/CCQuadCuller.h:
1907         (CCQuadCuller):
1908         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1909         (WebCore::CCRenderPass::appendQuadsForLayer):
1910         * platform/graphics/chromium/cc/CCRenderPass.h:
1911         (CCRenderPass):
1912         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
1913         (WebCore::CCScrollbarLayerImpl::appendQuads):
1914         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1915         (CCScrollbarLayerImpl):
1916         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1917         (WebCore::CCSingleThreadProxy::doComposite):
1918         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
1919         (WebCore::CCSolidColorLayerImpl::appendQuads):
1920         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
1921         (CCSolidColorLayerImpl):
1922         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
1923         (WebCore::CCTextureLayerImpl::appendQuads):
1924         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
1925         (CCTextureLayerImpl):
1926         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1927         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
1928         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1929         (WebCore::CCTiledLayerImpl::appendQuads):
1930         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1931         (CCTiledLayerImpl):
1932         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1933         (WebCore::CCVideoLayerImpl::appendQuads):
1934         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
1935         (CCVideoLayerImpl):
1936
1937 2012-03-22  Levi Weintraub  <leviw@chromium.org>
1938
1939         Correct LayoutUnit usage in Accessibility code
1940         https://bugs.webkit.org/show_bug.cgi?id=81789
1941
1942         Reviewed by Eric Seidel.
1943
1944         Reverting Accessibility hit testing code back to integers. Accessibility hit tests originate from
1945         the embedder and don't accumulate offsets, so we get nothing from using LayoutUnits, and needlessly
1946         expose them to the embedder.
1947
1948         No new tests. No change in behavior.
1949
1950         * accessibility/AccessibilityListBox.cpp:
1951         (WebCore::AccessibilityListBox::elementAccessibilityHitTest): See above.
1952         * accessibility/AccessibilityListBox.h:
1953         (AccessibilityListBox):
1954         * accessibility/AccessibilityObject.cpp:
1955         (WebCore::AccessibilityObject::clickPoint): This value is only ever used to display a context menu,
1956         which is always done with integer coordinates.
1957         (WebCore::AccessibilityObject::boundingBoxForQuads): This is a bounding box built from floats. We
1958         don't pixel snap floats, so we return an integer bounding box.
1959         (WebCore::AccessibilityObject::elementAccessibilityHitTest): See above.
1960         (WebCore::AccessibilityObject::scrollToMakeVisible): Pixel snapping the bounding box and simplifying
1961         up the code to position it at (0,0).
1962         * accessibility/AccessibilityObject.h:
1963         (WebCore::AccessibilityObject::accessibilityHitTest): See above.
1964         (AccessibilityObject):
1965         (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect): Convenience method for embedder callers.
1966         * accessibility/AccessibilityRenderObject.cpp:
1967         (WebCore::AccessibilityRenderObject::visiblePositionForPoint): The point passed in here is comes from
1968         screen coordinates and originates in embedder code. Reverting it to take an integer.
1969         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): See above.
1970         (WebCore::AccessibilityRenderObject::accessibilityHitTest): See above.
1971         * accessibility/AccessibilityRenderObject.h:
1972         (AccessibilityRenderObject):
1973         * accessibility/AccessibilityScrollView.cpp:
1974         (WebCore::AccessibilityScrollView::accessibilityHitTest): See above.
1975         * accessibility/AccessibilityScrollView.h:
1976         (AccessibilityScrollView):
1977         * accessibility/AccessibilitySlider.cpp:
1978         (WebCore::AccessibilitySlider::elementAccessibilityHitTest): See above.
1979         * accessibility/AccessibilitySlider.h:
1980         (AccessibilitySlider):
1981
1982 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
1983
1984         Web Inspector: HeapProfiler: Heap snapshot worker has to report the errors to the front-end
1985         https://bugs.webkit.org/show_bug.cgi?id=81804
1986
1987         Sometimes the worker process of HeapSnapshot does some wrong thing and throw an Exception.
1988         At this momemnt we have no way to see the error in the front-end.
1989
1990         Reviewed by Yury Semikhatsky.
1991
1992         * English.lproj/localizedStrings.js:
1993         * inspector/front-end/HeapSnapshotProxy.js: check the exception field and dump it into front-end's console.
1994         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
1995         * inspector/front-end/HeapSnapshotWorkerDispatcher.js: catch the exception and transfer it's text to requester's side.
1996         (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
1997
1998 2012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>
1999
2000         [GTK] Use the angle-bracket form to include wtf headers
2001         https://bugs.webkit.org/show_bug.cgi?id=81884
2002
2003         Reviewed by Eric Seidel.
2004
2005         Use #include <wtf/foo> instead of #include "foo".
2006
2007         * platform/graphics/freetype/FontPlatformData.h:
2008         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2009         * platform/gtk/DataObjectGtk.h:
2010         * platform/network/ResourceHandleInternal.h:
2011         * platform/network/soup/SocketStreamHandleSoup.cpp:
2012
2013 2012-03-22  Alexander Pavlov  <apavlov@chromium.org>
2014
2015         Web Inspector: Case of the elements of the xml document should be shown as it is in the console
2016         https://bugs.webkit.org/show_bug.cgi?id=81902
2017
2018         When registering a detached root, DOMAgent always presumes it is a node,
2019         while it can also be a document.
2020
2021         Reviewed by Vsevolod Vlasov.
2022
2023         Test: inspector/console/console-xml-document.html
2024
2025         * inspector/front-end/ConsoleMessage.js:
2026         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
2027         * inspector/front-end/DOMAgent.js:
2028         (WebInspector.DOMAgent.prototype._setDetachedRoot):
2029
2030 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
2031
2032         Web Inspector: Introduce ScriptBound/ScriptUnbound events in ScriptMapping.
2033         https://bugs.webkit.org/show_bug.cgi?id=81904
2034
2035         Reviewed by Pavel Feldman.
2036
2037         This is another step on the way to cleaner BreakpointManager logic.
2038         Here we extract ScriptBound/ScriptUnbound events from UISourceCodeListChanged event.
2039         This allows us to handle script-uiSourceCode binding separately from
2040         uiSourceCode creation/deletion and to handle unbinding that was not
2041         possible at all before.
2042
2043         * inspector/front-end/CompilerScriptMapping.js:
2044         (WebInspector.CompilerScriptMapping.prototype._uiSourceCodesForSourceMap):
2045         (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
2046         (WebInspector.CompilerScriptMapping.prototype.addScript):
2047         (WebInspector.CompilerScriptMapping.prototype.reset):
2048         * inspector/front-end/ResourceScriptMapping.js:
2049         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
2050         * inspector/front-end/ScriptMapping.js:
2051         (WebInspector.MainScriptMapping):
2052         (WebInspector.MainScriptMapping.prototype._updateLiveLocation):
2053         (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
2054         (WebInspector.MainScriptMapping.prototype._handleScriptBound):
2055         (WebInspector.MainScriptMapping.prototype._handleScriptUnbound):
2056         * inspector/front-end/SnippetsModel.js:
2057         (WebInspector.SnippetsScriptMapping.prototype.addScript.get this):
2058         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
2059         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
2060         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
2061         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
2062         (WebInspector.SnippetsScriptMapping.prototype.reset):
2063
2064 2012-03-22  Vineet Chaudhary  <rgf748@motorola.com>
2065
2066         https://bugs.webkit.org/show_bug.cgi?id=81893
2067         Remove custom bindings form ScriptProfileNode.idl of attribute type Array.
2068
2069         Reviewed by Kentaro Hara.
2070
2071         Replace [CustomGetter] Array with sequence<ScriptProfileNode>.
2072         To remove the custom bindings code.
2073
2074         Test: No new tests. LayoutTests/fast/profiler/* test are enough for this.
2075
2076         * bindings/js/JSScriptProfileNodeCustom.cpp: Removed custom function.
2077         (WebCore::JSScriptProfileNode::callUID):
2078         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Removed custom function.
2079         (WebCore):
2080         * inspector/ScriptProfileNode.idl: Replaced Array with sequence<ScriptProfileNode>.
2081
2082 2012-03-22  Andrey Kosyakov  <caseq@chromium.org>
2083
2084         Web Inspector: only update timeline overview categories strips when these are visible
2085         https://bugs.webkit.org/show_bug.cgi?id=81903
2086
2087         Reviewed by Pavel Feldman.
2088
2089         - factor out category strips update into a separate method;
2090         - only invoke it when "Timeline" overview mode is selected.
2091
2092         * inspector/front-end/TimelineOverviewPane.js:
2093         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
2094         (WebInspector.TimelineOverviewPane.prototype.update):
2095         (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
2096
2097 2012-03-22  Levi Weintraub  <leviw@chromium.org>
2098
2099         Update LayoutUnit usage in FrameSelection
2100         https://bugs.webkit.org/show_bug.cgi?id=81754
2101
2102         Reviewed by Eric Seidel.
2103
2104         FrameSelection stores its caret and repaint bounds in absolute coordinates. Absolute coordinates
2105         we treat as pixel values, so this patch changes these values to integers. Sub-pixel precision
2106         will still be used when these coordinates are passed down and used locally.
2107
2108         No new tests. No change in behavior.
2109
2110         * editing/FrameSelection.cpp:
2111         (WebCore::absoluteCaretY): Uses absolute coordinates, which are ints.
2112         (WebCore::FrameSelection::modify): Uses absolute coordinates to handle vertical selection
2113         modification. Sub-pixel precision will be used when these values are converted to local ones.
2114         (WebCore::CaretBase::absoluteBoundsForLocalRect): Absolute coordinates -> ints.
2115         (WebCore::FrameSelection::absoluteCaretBounds): Ditto.
2116         (WebCore::CaretBase::caretRepaintRect): The caret repaint rect is stored in absolute coordinates.
2117         Reverting the values to ints.
2118         (WebCore::FrameSelection::recomputeCaretRect): Ditto.
2119         * editing/FrameSelection.h:
2120         (FrameSelection):
2121         * editing/mac/FrameSelectionMac.mm:
2122         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Switching to store absolute
2123         coordinates as integers.
2124
2125 2012-03-22  Alexei Filippov  <alexeif@chromium.org>
2126
2127         Web Inspector: Speed up the build retainers phase.
2128         https://bugs.webkit.org/show_bug.cgi?id=81763
2129
2130         Replacing the edge iterator with a raw loop makes it
2131         faster by more than 10 times.
2132
2133         Reviewed by Yury Semikhatsky.
2134
2135         * inspector/front-end/HeapSnapshot.js:
2136         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2137
2138 2012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
2139
2140         [Qt][WK2] The background appears to have one extra pixel from the contents
2141         https://bugs.webkit.org/show_bug.cgi?id=81830
2142
2143         Reviewed by Kenneth Rohde Christiansen.
2144
2145         TextureMapperGL applied a 1-offset that was covering for another bug,
2146         which was already fixed.
2147
2148         No new tests, this would be tested once we test GL rendering results.
2149
2150         * platform/graphics/texmap/TextureMapperGL.cpp:
2151         (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
2152
2153 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
2154
2155         Rename touchpad fling curve, add curve parameters to constructor.
2156         https://bugs.webkit.org/show_bug.cgi?id=81820
2157
2158         Reviewed by Adrienne Walker.
2159
2160         Covered by existing unit tests.
2161
2162         * GNUmakefile.list.am:
2163         * WebCore.gypi:
2164         * platform/ScrollAnimatorNone.cpp:
2165         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
2166         * platform/TouchpadFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp.
2167         (WebCore):
2168         (WebCore::TouchpadFlingPlatformGestureCurve::create):
2169         (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
2170         (WebCore::TouchpadFlingPlatformGestureCurve::~TouchpadFlingPlatformGestureCurve):
2171         (WebCore::TouchpadFlingPlatformGestureCurve::apply):
2172         * platform/TouchpadFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.h.
2173         (WebCore):
2174         (TouchpadFlingPlatformGestureCurve):
2175
2176 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2177
2178         Web Inspector: make CSS and JavaScript files editable by default.
2179         https://bugs.webkit.org/show_bug.cgi?id=81787
2180
2181         Reviewed by Vsevolod Vlasov.
2182
2183         This change removes cancelEditing and setReadOnly capabilities from source frame.
2184         It removes dblclick handler as well since one does not need to enter editing mode.
2185         It also establishes proper content dispatching so that views are updated with the
2186         resource content. All these are inter-dependent, need to be landed simultaneously.
2187         Drive-by follow up to the r111675 where range is modified prior to the exiting
2188         edit mode.
2189
2190         * inspector/front-end/JavaScriptSourceFrame.js:
2191         (WebInspector.JavaScriptSourceFrame):
2192         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
2193         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
2194         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
2195         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
2196         (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
2197         * inspector/front-end/ResourceView.js:
2198         (WebInspector.ResourceSourceFrame):
2199         (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
2200         (WebInspector.ResourceSourceFrame.prototype._contentChanged):
2201         (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
2202         (WebInspector.EditableResourceSourceFrame.prototype.editContent.callbackWrapper):
2203         (WebInspector.EditableResourceSourceFrame.prototype.editContent):
2204         (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
2205         * inspector/front-end/ResourcesPanel.js:
2206         (WebInspector.ResourcesPanel.prototype._innerShowView):
2207         (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
2208         * inspector/front-end/ScriptsPanel.js:
2209         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
2210         * inspector/front-end/Settings.js:
2211         (WebInspector.ExperimentsSettings):
2212         * inspector/front-end/SourceFrame.js:
2213         (WebInspector.SourceFrame):
2214         (WebInspector.SourceFrame.prototype.wasShown):
2215         (WebInspector.SourceFrame.prototype.willHide):
2216         (WebInspector.SourceFrame.prototype.beforeTextChanged):
2217         (WebInspector.SourceFrame.prototype.setContent):
2218         (WebInspector.SourceFrame.prototype.commitEditing):
2219         (WebInspector.SourceFrame.prototype.didEditContent):
2220         (WebInspector.SourceFrame.prototype.editContent):
2221         * inspector/front-end/TextPrompt.js:
2222         (WebInspector.TextPrompt.prototype._startEditing):
2223         (WebInspector.TextPrompt.prototype._stopEditing):
2224         * inspector/front-end/TextViewer.js:
2225         (WebInspector.TextViewer):
2226         (WebInspector.TextViewer.prototype._registerShortcuts):
2227         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
2228
2229 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2230
2231         [Qt] Enable FAST_MOBILE_SCROLLING when scrolling is delegated.
2232         https://bugs.webkit.org/show_bug.cgi?id=81889
2233
2234         Reviewed by Kenneth Rohde Christiansen.
2235
2236         On the Qt platform only enable the fast mobile scroll feature when scrolling is delegated.
2237
2238         * rendering/RenderObject.cpp:
2239         (WebCore::RenderObject::styleWillChange):
2240
2241 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2242
2243         Web Inspector: dispatch styleSheetChanged event synchronously.
2244         https://bugs.webkit.org/show_bug.cgi?id=81892
2245
2246         Reviewed by Vsevolod Vlasov.
2247
2248         Today, backend generates stylesheet change event synchronously from within set* command.
2249         But CSSStyleModel defers its dispatching until the stylesheet content is available. This
2250         prevents us from ignoring update events from within commands that initiated those updates.
2251
2252         This change makes stylesheet change event dispatch synchronously and delegates stylesheet
2253         content fetching to the event client.
2254
2255         * inspector/front-end/CSSStyleModel.js:
2256         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
2257         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
2258         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
2259         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
2260         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
2261         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.callback):
2262         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
2263         (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
2264
2265 2012-03-21  Ian Vollick  <vollick@chromium.org>
2266
2267         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
2268         https://bugs.webkit.org/show_bug.cgi?id=81692
2269
2270         Reviewed by Adrienne Walker.
2271
2272         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
2273
2274         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2275
2276 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2277
2278         Web Inspector: allow on-hover popover while in edit mode.
2279         https://bugs.webkit.org/show_bug.cgi?id=81898
2280
2281         Reviewed by Vsevolod Vlasov.
2282
2283         This change allows popover while in-edit mode, hides it upon Esc. It also introduces anchorOverride
2284         concept in ObjectPopoverHelper that allows dynamically switching the anchor (say if we want to highlight anchor itself).
2285
2286         * inspector/front-end/DetailedHeapshotView.js:
2287         * inspector/front-end/ElementsPanel.js:
2288         * inspector/front-end/JavaScriptSourceFrame.js:
2289         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
2290         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
2291         (WebInspector.JavaScriptSourceFrame.prototype._onKeyDown):
2292         * inspector/front-end/NetworkPanel.js:
2293         * inspector/front-end/ObjectPopoverHelper.js:
2294         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
2295         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
2296         * inspector/front-end/Popover.js:
2297         (WebInspector.PopoverHelper.prototype.isPopoverVisible):
2298         * inspector/front-end/TimelinePanel.js:
2299
2300 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2301
2302         Web Inspector: breakpoints should shift when line break is inserted in the middle of the line.
2303         https://bugs.webkit.org/show_bug.cgi?id=81896
2304
2305         Reviewed by Vsevolod Vlasov.
2306
2307         There is a bug that collapses selection prior to exiting change mode, we should never
2308         collapse edit area prior committing.
2309
2310         * inspector/front-end/TextEditorModel.js:
2311         (WebInspector.TextEditorModel.endsWithBracketRegex.):
2312         * inspector/front-end/TextViewer.js:
2313         (WebInspector.TextViewer):
2314         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2315         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
2316         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
2317
2318 2012-03-22  Zoltan Herczeg  <zherczeg@webkit.org>
2319
2320         Merge SVGImageBufferTools to SVGRenderingContext
2321         https://bugs.webkit.org/show_bug.cgi?id=81890
2322
2323         Reviewed by Nikolas Zimmermann.
2324
2325         Copy the code to SVGRenderingContext and delete
2326         SVGImageBufferTools[.cpp.h]. Update build systems,
2327         no functionality change. This is the first step
2328         towards making SVGImageBufferTools stageful.
2329
2330         Existing tests cover this issue.
2331
2332         * CMakeLists.txt:
2333         * GNUmakefile.list.am:
2334         * Target.pri:
2335         * WebCore.gypi:
2336         * WebCore.xcodeproj/project.pbxproj:
2337         * platform/graphics/filters/FETile.cpp:
2338         (WebCore::FETile::platformApplySoftware):
2339         * rendering/svg/RenderSVGAllInOne.cpp:
2340         * rendering/svg/RenderSVGInlineText.cpp:
2341         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
2342         * rendering/svg/RenderSVGResourceClipper.cpp:
2343         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2344         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
2345         * rendering/svg/RenderSVGResourceFilter.cpp:
2346         (WebCore::RenderSVGResourceFilter::applyResource):
2347         * rendering/svg/RenderSVGResourceGradient.cpp:
2348         (WebCore::createMaskAndSwapContextForTextGradient):
2349         (WebCore::clipToTextMask):
2350         * rendering/svg/RenderSVGResourceMasker.cpp:
2351         (WebCore::RenderSVGResourceMasker::applyResource):
2352         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2353         * rendering/svg/RenderSVGResourcePattern.cpp:
2354         (WebCore::RenderSVGResourcePattern::applyResource):
2355         (WebCore::RenderSVGResourcePattern::createTileImage):
2356         * rendering/svg/SVGImageBufferTools.cpp: Removed.
2357         * rendering/svg/SVGImageBufferTools.h: Removed.
2358         * rendering/svg/SVGInlineTextBox.cpp:
2359         * rendering/svg/SVGRenderingContext.cpp:
2360         (WebCore::currentContentTransformation):
2361         (WebCore):
2362         (WebCore::SVGRenderingContext::calculateTransformationToOutermostSVGCoordinateSystem):
2363         (WebCore::SVGRenderingContext::createImageBuffer):
2364         (WebCore::SVGRenderingContext::createImageBufferForPattern):
2365         (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
2366         (WebCore::SVGRenderingContext::clipToImageBuffer):
2367         (WebCore::SVGRenderingContext::clampedAbsoluteTargetRect):
2368         (WebCore::SVGRenderingContext::clampedAbsoluteSize):
2369         (WebCore::SVGRenderingContext::clear2DRotation):
2370         * rendering/svg/SVGRenderingContext.h:
2371         (SVGRenderingContext):
2372         (WebCore::SVGRenderingContext::calculateImageBufferRect):
2373         * svg/graphics/filters/SVGFEImage.cpp:
2374         (WebCore::FEImage::platformApplySoftware):
2375
2376 2012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
2377
2378         [EFL] Add PageClientEfl to WebCoreSupport.
2379         https://bugs.webkit.org/show_bug.cgi?id=80748
2380
2381         Reviewed by Noam Rosenthal.
2382
2383         * platform/Widget.h: Use PageClientEfl as type for PlatformPageClient.
2384         (WebCore):
2385         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2386         (WebCore::GraphicsContext3DPrivate::createSurface): Change the argument type.
2387         * plugins/efl/PluginViewEfl.cpp:
2388         (WebCore::PluginView::platformGetValue): Use PageClientEfl.
2389
2390 2012-03-22  Kaustubh Atrawalkar  <kaustubh@motorola.com>
2391
2392         blur() on shadow host should work when a shadow host contains a focused element in its shadow DOM subtrees
2393         https://bugs.webkit.org/show_bug.cgi?id=81102
2394
2395         Reviewed by Hajime Morita.
2396
2397         This implementation will support blur for a focused element when its shadowHost's blur() is called.
2398         To achieve this Element::blur() function is modified to blur the focused node in it's treeScope.
2399
2400         Test: fast/dom/shadow/shadow-root-blur.html
2401
2402         * dom/Element.cpp:
2403         (WebCore::Element::blur): Modified to blur current treeScope's focused node.
2404         * dom/ShadowRoot.h:
2405         (WebCore::ShadowRoot::activeElement): Rework for code sharing.
2406         * dom/TreeScope.cpp:
2407         (WebCore::TreeScope::focusedNode): Added new function to share code for getting focused node.
2408         * dom/TreeScope.h:
2409         (TreeScope): New function declartion.
2410         * html/HTMLDocument.cpp:
2411         (WebCore::HTMLDocument::activeElement): Rework for code sharing.
2412
2413 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
2414
2415         Web Inspector: RawSourceCode does not need uiSourceCode lists because it never has more than one.
2416         https://bugs.webkit.org/show_bug.cgi?id=81894
2417
2418         RawSourceCode never has more than one uiSourceCode, uiSourceCodeList
2419         are just remains of older implementation. This patch switches RawSourceCode
2420         and SourceMappings from uiSourceCodeList to uiSourceCode.
2421
2422         Reviewed by Pavel Feldman.
2423
2424         * inspector/front-end/RawSourceCode.js:
2425         (WebInspector.RawSourceCode.prototype.uiSourceCode):
2426         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2427         (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
2428         (WebInspector.RawSourceCode.SourceMapping.prototype.uiSourceCode):
2429         (WebInspector.RawSourceCode.PlainSourceMapping):
2430         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
2431         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
2432         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiSourceCode):
2433         (WebInspector.RawSourceCode.FormattedSourceMapping):
2434         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
2435         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
2436         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiSourceCode):
2437         * inspector/front-end/ResourceScriptMapping.js:
2438         (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
2439         (WebInspector.ResourceScriptMapping.prototype.addScript):
2440         (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
2441         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
2442         (WebInspector.ResourceScriptMapping.prototype.reset):
2443
2444 2012-03-22  Mario Sanchez Prada  <msanchez@igalia.com>
2445
2446         [GTK] Fix the only remaining coding style issue in GTK accessibility code
2447         https://bugs.webkit.org/show_bug.cgi?id=81885
2448
2449         Reviewed by Xan Lopez.
2450
2451         Add needed extra line and remove an unneeded one.
2452
2453         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2454
2455 2012-03-22  Kent Tamura  <tkent@chromium.org>
2456
2457         Expand RenderTextControlSingleLine::controlClipRect() to contain contentRect().
2458         https://bugs.webkit.org/show_bug.cgi?id=81866
2459
2460         Reviewed by Hajime Morita.
2461
2462         We need to expand the controlClipRect because the existing shadow
2463         tree of a text field can be wrapped by another shadow tree. e.g.
2464
2465         A current situation:
2466
2467         <input>
2468           ┗ ShadowRoot
2469              ┗ container element
2470         ┌────────────┐<input>'s border box
2471         │┌──────────┐│
2472         ││container box       ││
2473         │└──────────┘│
2474         └────────────┘
2475
2476         Wrapped by another ShadowRoot:
2477
2478         <input>
2479           ┗ New ShadowRoot
2480              ┣ <shadow> represents the existing shadow tree
2481              ┃  ┗ container element
2482              ┗ D: an additional decoration element
2483         ┌────────────┐<input>'s border box
2484         │┌───────┬──┐│
2485         ││container box │ D  ││
2486         │└───────┴──┘│
2487         └────────────┘
2488         In this case, if we clip child renderers by container box, D is not
2489         drawn. We should clip by the content box of the <input>.
2490
2491         A search field has an exceptional behavior. It can have the container
2492         box of which height is taller than the content box height. The
2493         controlClipRect should contain both of the container box and the content
2494         box in this case. In other cases, the container box is equivalent to the
2495         content box. So the code always unites them.
2496
2497         No new tests. This won't make any behavior change for now.
2498
2499         * rendering/RenderTextControlSingleLine.cpp:
2500         (WebCore::RenderTextControlSingleLine::controlClipRect):
2501
2502 2012-03-22  Yoshifumi Inoue  <yosin@chromium.org>
2503
2504         [Forms] The option element should not be form associated element.
2505         https://bugs.webkit.org/show_bug.cgi?id=79764
2506
2507         Reviewed by Kent Tamura.
2508
2509         This patch changes base class of HTMLOptionELement to HTMLElement
2510         from HTMLFormControlElement for saving memory space and iteration
2511         time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
2512         and matching the HTML5 specification for ease of maintenance.
2513
2514         This patch changes behavior of handling of CSS pseudo classes "invalid"
2515         and "valid". The "option" elements no longer use these CSS pseudo classes
2516         as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
2517
2518         Changes of TextIterator is lead by usage of isFormControlElement. This
2519         changes will be replaced with more meaningful predicate as part of
2520         https://bugs.webkit.org/show_bug.cgi?id=80381
2521
2522         No new tests but updated select-live-pseudo-selectors.html test.
2523
2524         * css/CSSStyleSelector.cpp:
2525         (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
2526         * css/SelectorChecker.cpp:
2527         (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
2528         * html/HTMLKeygenElement.cpp:
2529         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
2530         * html/HTMLOptionElement.cpp:
2531         (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
2532         (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
2533         (WebCore::HTMLOptionElement::attach): Changeid base class.
2534         (WebCore::HTMLOptionElement::detach): Changed base class.
2535         (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
2536         (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
2537         (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
2538         * html/HTMLOptionElement.h:
2539         (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
2540         (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
2541         * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
2542
2543 2012-03-21  Pavel Podivilov  <podivilov@chromium.org>
2544
2545         Web Inspector: rename ClosureCompilerSourceMapping to SourceMapParser and move it to CompilerScriptMapping.js.
2546         https://bugs.webkit.org/show_bug.cgi?id=81780
2547
2548         Reviewed by Pavel Feldman.
2549
2550         * WebCore.gypi:
2551         * WebCore.vcproj/WebCore.vcproj:
2552         * inspector/compile-front-end.py:
2553         * inspector/front-end/CompilerScriptMapping.js:
2554         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2555         (WebInspector.SourceMapParserPayload):
2556         (WebInspector.SourceMapParser):
2557         (WebInspector.SourceMapParser.prototype.load):
2558         (WebInspector.SourceMapParser.prototype.compiledLocationToSourceLocation):
2559         (WebInspector.SourceMapParser.prototype.sourceLocationToCompiledLocation):
2560         (WebInspector.SourceMapParser.prototype.sources):
2561         (WebInspector.SourceMapParser.prototype.loadSourceCode):
2562         (WebInspector.SourceMapParser.prototype._findMapping):
2563         (WebInspector.SourceMapParser.prototype._parseMappingPayload):
2564         (WebInspector.SourceMapParser.prototype._parseSections):
2565         (WebInspector.SourceMapParser.prototype._parseMap):
2566         (WebInspector.SourceMapParser.prototype._isSeparator):
2567         (WebInspector.SourceMapParser.prototype._decodeVLQ):
2568         (WebInspector.SourceMapParser.prototype._canonicalizeURL):
2569         (WebInspector.SourceMapParser.StringCharIterator):
2570         (WebInspector.SourceMapParser.StringCharIterator.prototype.next):
2571         (WebInspector.SourceMapParser.StringCharIterator.prototype.peek):
2572         (WebInspector.SourceMapParser.StringCharIterator.prototype.hasNext):
2573         * inspector/front-end/CompilerSourceMapping.js: Removed.
2574         * inspector/front-end/WebKit.qrc:
2575         * inspector/front-end/inspector.html:
2576
2577 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
2578
2579         Web Inspector: IndexedDB transaction is not closed when requesting data.
2580         https://bugs.webkit.org/show_bug.cgi?id=81837
2581
2582         Reviewed by Pavel Feldman.
2583
2584         * inspector/InspectorIndexedDBAgent.cpp: Added missing IDBCursorBackendInterface::postSuccessHandlerCallback() call.
2585         (WebCore):
2586
2587 2012-03-21  Yury Semikhatsky  <yurys@chromium.org>
2588
2589         Web Inspector: event listeners section is broken for about:blank page
2590         https://bugs.webkit.org/show_bug.cgi?id=81795
2591
2592         Parse about:blank as a valid URL.
2593
2594         Reviewed by Pavel Feldman.
2595
2596         Test: inspector/elements/event-listeners-about-blank.html
2597
2598         * inspector/front-end/utilities.js:
2599         (String.prototype.asParsedURL):
2600
2601 2012-03-21  Dan Bernstein  <mitz@apple.com>
2602
2603         REGRESSION (r111635): Assertion failure in RenderFlexibleBox::layoutFlexItems() (!lineContexts.size()) in many flexbox tests
2604         https://bugs.webkit.org/show_bug.cgi?id=81870
2605
2606         Reverted r111635, the fix for bug 81843.
2607
2608         * rendering/RenderFlexibleBox.cpp:
2609         (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext):
2610         (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
2611         (RenderFlexibleBox::WrapReverseContext):
2612         (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
2613         (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta):
2614         (WebCore::RenderFlexibleBox::layoutFlexItems):
2615         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2616         (WebCore::RenderFlexibleBox::alignChildren):
2617         (WebCore::RenderFlexibleBox::flipForWrapReverse):
2618         * rendering/RenderFlexibleBox.h:
2619
2620 2012-03-21  Emil A Eklund  <eae@chromium.org>
2621
2622         Unreviewed change touching CustomFilterProgram.h to try
2623         to force the chromium-win bots to rebuilt it and pick up
2624         on the fact that CSS_SHADERS is not set (since r111610). 
2625
2626         * platform/graphics/filters/CustomFilterProgram.h:
2627
2628 2012-03-21  Vangelis Kokkevis  <vangelis@chromium.org>
2629
2630         [chromium] FPS counter causes garbage to be displayed at top left corner
2631         https://bugs.webkit.org/show_bug.cgi?id=81851
2632
2633         The HUD expects the PlatformCanvas it paints on to be cleared on creation which is
2634         no longer true after http://src.chromium.org/viewvc/chrome?view=rev&revision=127196 .
2635         This patch does an explicit clearRect before the HUD contents are painted.
2636
2637         Reviewed by Adrienne Walker.
2638
2639         TEST=Manually verified that --show-fps-counter and --show-composited-layer-tree work correctly.
2640
2641         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2642         (WebCore::CCHeadsUpDisplay::draw):
2643
2644 2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
2645
2646         Touch a file to make Chromium Windows bots happy.
2647
2648         * css/CSSValueKeywords.in:
2649
2650 2012-03-19  Igor Oliveira  <igor.o@sisa.samsung.com>
2651
2652         Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2)
2653         https://bugs.webkit.org/show_bug.cgi?id=38025
2654
2655         Implement updateAnimationTimerForRender. This reduces unnecessary animation
2656         steps on the current RenderObject by checking the value of timeToNextService
2657         before starting a new timer.
2658
2659         Reviewed by Dean Jackson.
2660
2661         Test: animations/animation-welcome-safari.html
2662
2663         * page/animation/AnimationController.cpp:
2664         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
2665         (WebCore):
2666         (WebCore::AnimationController::updateAnimations):
2667         * page/animation/AnimationControllerPrivate.h:
2668         (AnimationControllerPrivate):
2669
2670 2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2671
2672         Unreviewed, rolling out r111616.
2673         http://trac.webkit.org/changeset/111616
2674         https://bugs.webkit.org/show_bug.cgi?id=81862
2675
2676         broke chromium mac (Requested by eae on #webkit).
2677
2678         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2679         (WebCore::CCLayerImpl::appendQuads):
2680         * platform/graphics/chromium/cc/CCLayerImpl.h:
2681         (CCLayerImpl):
2682         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2683         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2684         (WebCore::CCLayerTreeHostImpl::drawLayers):
2685         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2686         (CCLayerTreeHostImpl):
2687         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2688         (WebCore::CCQuadCuller::append):
2689         * platform/graphics/chromium/cc/CCQuadCuller.h:
2690         (CCQuadCuller):
2691         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2692         (WebCore::CCRenderPass::appendQuadsForLayer):
2693         * platform/graphics/chromium/cc/CCRenderPass.h:
2694         (CCRenderPass):
2695         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2696         (WebCore::CCScrollbarLayerImpl::appendQuads):
2697         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2698         (CCScrollbarLayerImpl):
2699         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2700         (WebCore::CCSingleThreadProxy::doComposite):
2701         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
2702         (WebCore::CCSolidColorLayerImpl::appendQuads):
2703         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2704         (CCSolidColorLayerImpl):
2705         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2706         (WebCore::CCTextureLayerImpl::appendQuads):
2707         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
2708         (CCTextureLayerImpl):
2709         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2710         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
2711         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2712         (WebCore::CCTiledLayerImpl::appendQuads):
2713         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2714         (CCTiledLayerImpl):
2715         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2716         (WebCore::CCVideoLayerImpl::appendQuads):
2717         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2718         (CCVideoLayerImpl):
2719
2720 2012-03-21  Beth Dakin  <bdakin@apple.com>
2721
2722         https://bugs.webkit.org/show_bug.cgi?id=80322
2723         Implement image-set
2724
2725         Reviewed by Dean Jackson.
2726
2727         This initial implementation of -webkit-image-set. 
2728         http://lists.w3.org/Archives/Public/www-style/2012Feb/1103.html
2729         The idea behind the feature is to allow authors to provide multiple variants 
2730         of the same image at differing resolutions, and to allow the User Agent to 
2731         choose the resource that is most appropriate at the time. This patch will 
2732         choose the most appropriate image based on device scale factor.
2733
2734         CSSImageSetValue inherits from CSSValueList and behaves a lot like 
2735         CSSImageValue.
2736         * WebCore.xcodeproj/project.pbxproj:
2737         * css/CSSImageSetValue.h: Added.
2738         (WebCore):
2739         (CSSImageSetValue):
2740         (WebCore::CSSImageSetValue::create):
2741         (WebCore::CSSImageSetValue::isPending):
2742         (ImageWithScale):
2743         (WebCore::CSSImageSetValue::compareByScaleFactor):
2744         * css/CSSImageSetValue.cpp: Added.
2745         (WebCore):
2746         (WebCore::CSSImageSetValue::CSSImageSetValue):
2747         (WebCore::CSSImageSetValue::~CSSImageSetValue):
2748         (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
2749         (WebCore::CSSImageSetValue::customCssText):
2750
2751         fillImageSet() iterates through the value list and turns the information into 
2752         a sorted Vector of ImageWithScales (which is a struct containing image URLs 
2753         and scale factors).
2754         (WebCore::CSSImageSetValue::fillImageSet):
2755
2756         cachedImageSet() finds which image is most appropriate based on the device 
2757         scale factor, and it loads only that image. In the future, additional scale 
2758         factors will be taken into account.
2759         (WebCore::CSSImageSetValue::bestImageForScaleFactor):
2760         (WebCore::CSSImageSetValue::cachedImageSet):
2761
2762         parseImageSet() is called everywhere in the CSSParser that a regular image or 
2763         generated image can be found.
2764         * css/CSSParser.cpp:
2765         (WebCore::CSSParser::parseValue):
2766         (WebCore::CSSParser::parseContent):
2767         (WebCore::CSSParser::parseFillImage):
2768         (WebCore::CSSParser::parseBorderImage):
2769         (WebCore):
2770         (WebCore::CSSParser::parseImageSet):
2771         * css/CSSParser.h:
2772
2773         Since CSSImageSetValue is implemented as a value list, 
2774         ApplyPropertyFillLayer::applyValue() needs to be more specific when it's 
2775         looking for a list of multiple URLs.
2776         * css/CSSStyleApplyProperty.cpp:
2777         (WebCore::ApplyPropertyFillLayer::applyValue):
2778
2779         Handle image-set as a valid image value.
2780         * css/CSSStyleSelector.cpp:
2781         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2782         * css/CSSStyleSelector.h:
2783         (CSSStyleSelector):
2784         * css/CSSValue.cpp:
2785         (WebCore::CSSValue::cssText):
2786         (WebCore::CSSValue::destroy):
2787         * css/CSSValue.h:
2788         (CSSValue):
2789         (WebCore::CSSValue::isImageSetValue):
2790
2791         computeIntrinsicDimensions() now takes an optional scaleFactor parameter that represents the author-enforced "intrinsic" scale factor of the image.
2792         * loader/cache/CachedImage.cpp:
2793         (WebCore::CachedImage::computeIntrinsicDimensions):
2794         * loader/cache/CachedImage.h:
2795         (CachedImage):
2796         * platform/graphics/GeneratedImage.h:
2797         (GeneratedImage):
2798         * platform/graphics/GeneratorGeneratedImage.cpp:
2799         (WebCore::GeneratedImage::computeIntrinsicDimensions):
2800         * platform/graphics/Image.cpp:
2801         (WebCore::Image::computeIntrinsicDimensions):
2802         * platform/graphics/Image.h:
2803         (Image):
2804         * platform/graphics/cg/PDFDocumentImage.cpp:
2805         (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
2806         * platform/graphics/cg/PDFDocumentImage.h:
2807         (PDFDocumentImage):
2808         * svg/graphics/SVGImage.cpp:
2809         (WebCore::SVGImage::computeIntrinsicDimensions):
2810         * svg/graphics/SVGImage.h:
2811         (SVGImage):
2812
2813         Inherits from StyleImage and returns a scaled size for imageSize() and 
2814         computeIntrinsicDimensions().
2815         * rendering/style/StyleCachedImageSet.cpp: Added.
2816         (WebCore):
2817         (WebCore::StyleCachedImageSet::StyleCachedImageSet):
2818         (WebCore::StyleCachedImageSet::cssValue):
2819         (WebCore::StyleCachedImageSet::canRender):
2820         (WebCore::StyleCachedImageSet::isLoaded):
2821         (WebCore::StyleCachedImageSet::errorOccurred):
2822         (WebCore::StyleCachedImageSet::imageSize):
2823         (WebCore::StyleCachedImageSet::imageHasRelativeWidth):
2824         (WebCore::StyleCachedImageSet::imageHasRelativeHeight):
2825         (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
2826         (WebCore::StyleCachedImageSet::usesImageContainerSize):
2827         (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
2828         (WebCore::StyleCachedImageSet::addClient):
2829         (WebCore::StyleCachedImageSet::removeClient):
2830         (WebCore::StyleCachedImageSet::image):
2831         * rendering/style/StyleCachedImageSet.h: Added.
2832         (WebCore):
2833         (StyleCachedImageSet):
2834         (WebCore::StyleCachedImageSet::create):
2835         (WebCore::StyleCachedImageSet::data):
2836         (WebCore::StyleCachedImageSet::cachedImage):
2837
2838         Handle image-set.
2839         * rendering/style/StyleImage.h:
2840         (WebCore::StyleImage::isCachedImageSet):
2841         (WebCore::StyleImage::StyleImage):
2842         (StyleImage):
2843         * rendering/style/StylePendingImage.h:
2844         (StylePendingImage):
2845         (WebCore::StylePendingImage::cssImageSetValue):
2846
2847 2012-03-21  David Barton  <dbarton@mathscribe.com>
2848
2849         MathML internals - improve naming in RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
2850         https://bugs.webkit.org/show_bug.cgi?id=81850
2851
2852         Reviewed by Eric Seidel.
2853
2854         This prepares these files for bug fixes, and eventually combining their common code. To
2855         understand this patch, I suggest you start with RenderMathMLSquareRoot.cpp, as it's
2856         simpler than RenderMathMLRoot.cpp.
2857
2858         No new tests. LayoutTests/mathml/presentation/roots.xhtml is thorough enough for this.
2859
2860         * rendering/mathml/RenderMathMLRoot.cpp:
2861         (WebCore):
2862         (WebCore::RenderMathMLRoot::addChild):
2863         (WebCore::RenderMathMLRoot::paint):
2864         (WebCore::RenderMathMLRoot::layout):
2865         * rendering/mathml/RenderMathMLRoot.h:
2866         (WebCore):
2867         (RenderMathMLRoot):
2868         * rendering/mathml/RenderMathMLSquareRoot.cpp:
2869         (WebCore):
2870         (WebCore::RenderMathMLSquareRoot::paint):
2871         (WebCore::RenderMathMLSquareRoot::layout):
2872         * rendering/mathml/RenderMathMLSquareRoot.h:
2873         (WebCore):
2874         (RenderMathMLSquareRoot):
2875         * rendering/mathml/RenderMathMLSubSup.h:
2876         (WebCore):
2877
2878 2012-03-21  Tony Chang  <tony@chromium.org>
2879
2880         refactor flexbox in preparation for flex-line-pack
2881         https://bugs.webkit.org/show_bug.cgi?id=81843
2882
2883         Reviewed by Ojan Vafai.
2884
2885         Replace WrapReverseContext with a vector of LineContexts that contain
2886         the same information, plus values needed for flex-align.
2887
2888         alignChildren has been moved to after all the lines have been
2889         positioned. We want to align children after flex-line-pack has changed
2890         the size of each line to avoid unnecessary layouts.
2891
2892         No new tests, just refactoring.
2893
2894         * rendering/RenderFlexibleBox.cpp:
2895         (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
2896         holds information needed for wrap-reverse and aligning children.
2897         (RenderFlexibleBox::LineContext):
2898         (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
2899         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
2900         (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
2901         (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
2902         * rendering/RenderFlexibleBox.h:
2903
2904 2012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
2905
2906         BDI element should have dir=auto by default
2907         https://bugs.webkit.org/show_bug.cgi?id=68773
2908
2909         Reviewed by Daniel Bates.
2910
2911         Treat bdi elements without dir content attribute as if they have dir=auto per spec:
2912         http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-bdi-element
2913
2914         The patch tries to encapsulate the logic to look for dir content attribute and dir=auto.
2915
2916         It also adds HTMLBDIElement interface (binding remains to use HTMLElement) to set
2917         selfOrAncestorHasDirAutoAttribute flag true by default, which is used by functions like
2918         directionalityIfhasDirAutoAttribute to look for elements with dir=auto. Since dir=auto-ness of bdi
2919         elements can be overridden by dir content attribute, we must change and only change the default value.
2920
2921         Tests: fast/text/international/bdi-dir-default-to-auto-expected.html
2922                fast/text/international/bdi-dir-default-to-auto.html
2923
2924         * GNUmakefile.list.am:
2925         * Target.pri:
2926         * WebCore.gypi:
2927         * WebCore.vcproj/WebCore.vcproj:
2928         * WebCore.xcodeproj/project.pbxproj:
2929         * css/CSSStyleSelector.cpp:
2930         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2931         * html/HTMLBDIElement.h: Added.
2932         (WebCore):
2933         (HTMLBDIElement):
2934         (WebCore::HTMLBDIElement::create):
2935         (WebCore::HTMLBDIElement::HTMLBDIElement): Sets selfOrAncestorHasDirAutoAttribute to true because
2936         bdi elements are treated as if it has dir=auto by default.
2937         * html/HTMLElement.cpp:
2938         (WebCore::elementAffectsDirectionality): Added. Checks if the specified element is bdi or
2939         has dir content attribute.
2940         (WebCore):
2941         (WebCore::setHasDirAutoFlagRecursively):
2942         (WebCore::HTMLElement::hasDirectionAuto): Added. Checks if the specified element should be treated
2943         as if it has dir=auto (bdi or element with dir=auto).
2944         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
2945         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
2946         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
2947         * html/HTMLElement.h:
2948         (HTMLElement):
2949         * html/HTMLTagNames.in: Use HTMLBDIElement instead of HTMLElement for constructing bdi element
2950         to set selfOrAncestorHasDirAutoAttribute true but still use HTMLElement for binding.
2951
2952 2012-03-21  Luke Macpherson  <macpherson@chromium.org>
2953
2954         Use CSSPrimitiveValue::convertToLength() in a few places.
2955         https://bugs.webkit.org/show_bug.cgi?id=81492
2956
2957         Reviewed by Eric Seidel.
2958
2959         No new tests - refactoring only.
2960
2961         CSSPrimitiveValue::convertToLength() provides the same functionality that is duplicated
2962         in many places in CSSStyleSelector. This patch removes some of that code duplication.
2963
2964         * css/CSSStyleApplyProperty.cpp:
2965         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2966         * css/CSSStyleSelector.cpp:
2967         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2968
2969 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
2970
2971         Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r111601.
2972
2973         * rendering/svg/RenderSVGRoot.cpp:
2974
2975 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
2976
2977         Build fix for !ENABLE(INSPECTOR) after r104831.
2978
2979         * bindings/js/ScriptDebugServer.cpp:
2980         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2981
2982 2012-03-21  Xiaomei Ji  <xji@chromium.org>
2983
2984         visual word movement: using cache to decrease the number of collectLeafBoxesInLogicalOrder on RootInlineBox
2985         https://bugs.webkit.org/show_bug.cgi?id=81408
2986
2987         Reviewed by Ryosuke Niwa.
2988
2989         Cache logically ordered leaf boxes under a particular root box.
2990         Also, move 'Vector<UChar, 1024> string' declared in visualWordPosition() to outside of loop (it is always
2991         clear-ed before use).
2992
2993         * editing/visible_units.cpp:
2994         (CachedLogicallyOrderedLeafBoxes): Add class to cache logically ordered leaf boxes under a particular root box.
2995         (WebCore::CachedLogicallyOrderedLeafBoxes::size):
2996         (WebCore::CachedLogicallyOrderedLeafBoxes::firstBox):
2997         (WebCore):
2998         (WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes):
2999         (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextBox):
3000         (WebCore::CachedLogicallyOrderedLeafBoxes::nextTextBox):
3001         (WebCore::CachedLogicallyOrderedLeafBoxes::collectBoxes):
3002         (WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves):
3003         (WebCore::logicallyPreviousBox): Pass CachedLogicallyOrderedLeafBoxes object around.
3004         (WebCore::logicallyNextBox):
3005         (WebCore::wordBreakIteratorForMinOffsetBoundary):
3006         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
3007         (WebCore::visualWordPosition):
3008
3009 2012-03-21  Dana Jansens  <danakj@chromium.org>
3010
3011         [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
3012         https://bugs.webkit.org/show_bug.cgi?id=81437
3013
3014         Reviewed by Adrienne Walker.
3015
3016         Split CCLayerTreeHostImpl::drawLayers() into two phases:
3017         prepareToDraw() and drawLayers().
3018
3019         When calculating a RenderPass, and we checkerboard a quad on a
3020         layer, bubble this info back up to CCLayerTreeHostImpl. If the
3021         layer is transforming in an animation, then abort the prepareToDraw()
3022         phase and cause it to return false back to the thread proxy.
3023
3024         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
3025
3026         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3027         (WebCore::CCLayerImpl::appendQuads):
3028         * platform/graphics/chromium/cc/CCLayerImpl.h:
3029         (CCLayerImpl):
3030         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3031         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3032         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
3033         (WebCore):
3034         (WebCore::CCLayerTreeHostImpl::drawLayers):
3035         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3036         (CCLayerTreeHostImpl):
3037         (FrameData):
3038         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
3039         (WebCore::CCQuadCuller::append):
3040         * platform/graphics/chromium/cc/CCQuadCuller.h:
3041         (CCQuadCuller):
3042         * platform/graphics/chromium/cc/CCRenderPass.cpp:
3043         (WebCore::CCRenderPass::appendQuadsForLayer):
3044         * platform/graphics/chromium/cc/CCRenderPass.h:
3045         (CCRenderPass):
3046         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
3047         (WebCore::CCScrollbarLayerImpl::appendQuads):
3048         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
3049         (CCScrollbarLayerImpl):
3050         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3051         (WebCore::CCSingleThreadProxy::doComposite):
3052         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
3053         (WebCore::CCSolidColorLayerImpl::appendQuads):
3054         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
3055         (CCSolidColorLayerImpl):
3056         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
3057         (WebCore::CCTextureLayerImpl::appendQuads):
3058         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
3059         (CCTextureLayerImpl):
3060         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3061         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
3062         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3063         (WebCore::CCTiledLayerImpl::appendQuads):
3064         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
3065         (CCTiledLayerImpl):
3066         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3067         (WebCore::CCVideoLayerImpl::appendQuads):
3068         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
3069         (CCVideoLayerImpl):
3070
3071 2012-03-21  Enrica Casucci  <enrica@apple.com>
3072
3073         WebKitURLWithTitles pasteboard format should support URLs containing Emoji characters.
3074         https://bugs.webkit.org/show_bug.cgi?id=81835
3075         <rdar://problem/11082749>
3076
3077         Reviewed by Brady Eidson.
3078
3079         When writing the URL in the pasteboard for the WebURLWithTitles format,
3080         we use the user visible string instead of the original URL.
3081         In case of URL with Unicode characters, we lose the encoding.
3082         
3083         Added TestWebKitAPI test.
3084
3085         * platform/mac/PasteboardMac.mm:
3086         (WebCore::writeURLForTypes): Writes to the pasteboard the original URL.
3087
3088 2012-03-21  Levi Weintraub  <leviw@chromium.org>
3089
3090         Correct LayoutUnit usage in VisiblePosition.cpp
3091         https://bugs.webkit.org/show_bug.cgi?id=81775
3092
3093         Reviewed by Eric Seidel.
3094
3095         Correcting a mismatch between the .h and .cpp for the definition of localCaretRect,
3096         and properly using LayoutUnits for local coordinates.
3097
3098         No new tests. No change in behavior.
3099
3100         * editing/VisiblePosition.cpp:
3101         (WebCore::VisiblePosition::localCaretRect): Switching to return a LayoutRect, as in the
3102         header. Local coordinates are in LayoutUnits.
3103         (WebCore::VisiblePosition::absoluteCaretBounds): Using LayoutRect for the localCaretRect.
3104         (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Ditto.
3105
3106 2012-03-21  Adam Klein  <adamk@chromium.org>
3107
3108         "this" argument for MutationCallbacks should be the MutationObserver
3109         https://bugs.webkit.org/show_bug.cgi?id=81712
3110
3111         Reviewed by Adam Barth.
3112
3113         Test: fast/mutation/callback-arguments.html
3114
3115         * bindings/js/JSCallbackData.cpp:
3116         (WebCore::JSCallbackData::invokeCallback): Add an overload that takes
3117         an explicit this argument and have the old method call the new one.
3118         * bindings/js/JSCallbackData.h:
3119         (JSCallbackData):
3120         * bindings/js/JSMutationCallbackCustom.cpp:
3121         (WebCore::JSMutationCallback::handleEvent): Call the new overload.
3122         * bindings/v8/custom/V8CustomVoidCallback.cpp:
3123         (WebCore::invokeCallback): Add an overload that takes an explicit this
3124         argument and have the old method call the new one.
3125         * bindings/v8/custom/V8CustomVoidCallback.h:
3126         (WebCore):
3127         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
3128         (WebCore::V8MutationCallback::handleEvent): Call the new overload.
3129
3130 2012-03-21  Alexandru Chiculita  <achicu@adobe.com>
3131
3132         [CSS Shaders] Make CSS Shaders compile on Chromium
3133         https://bugs.webkit.org/show_bug.cgi?id=81435
3134
3135         Reviewed by Stephen White.
3136
3137         This patch enables the CSS Shaders compile time flag, but keeps the runtime flag disabled.
3138         The only way to test the functionality now is to use the overridePreference from dump render tree.
3139
3140         Also part of this patch I fix a layering violation: I removed the "Document" reference from the FECustomFilter.cpp and passed the
3141         HostWindow directly. There should be no problem when the HostWindow changes, because the RenderLayer and the FECustomFilter
3142         get recreated anyway.
3143
3144         No new tests. I've updated the existing custom filter tests to run under Chromium and added the expected results.
3145         I've just added window.layoutTestController.overridePreference("WebKitCSSCustomFilterEnabled", "1") to force 
3146         enable the feature at runtime. 
3147
3148         * loader/cache/CachedResource.cpp: Made CachedResource::ShaderResource report as ResourceRequest::TargetIsSubresource for Chromium.
3149         (WebCore::cachedResourceTypeToTargetType):
3150
3151         * platform/graphics/filters/FECustomFilter.cpp:
3152         (WebCore::FECustomFilter::FECustomFilter): Removed Document and just used the HostWindow directly.
3153         (WebCore::FECustomFilter::create):
3154         (WebCore::FECustomFilter::initializeContext):
3155         (WebCore::FECustomFilter::bindVertexAttribute): There was a typo and instead of using the "size" parameter it always used 4 component attribute.
3156         Other drivers didn't complain about it, but it was clearly a bug.
3157         (WebCore::FECustomFilter::bindProgramAndBuffers): Reading the image back from GPU will flip vertically the framebuffer in Chromium. I've flipped the
3158         projection matrix only on Chromium, so that we get the correct result.
3159
3160         * rendering/FilterEffectRenderer.cpp:
3161         (WebCore::FilterEffectRenderer::build): Passing the HostWindow instead of the Document.
3162
3163 2012-03-21  Mark Pilgrim  <pilgrim@chromium.org>
3164
3165         Realphabetize about webaudio move
3166         https://bugs.webkit.org/show_bug.cgi?id=81825
3167
3168         Reviewed by Adam Barth.
3169
3170         No new tests, all existing tests pass.
3171
3172         * CMakeLists.txt:
3173
3174 2012-03-21  Anders Carlsson  <andersca@apple.com>
3175
3176         Evict tiles from pages in background tabs
3177         https://bugs.webkit.org/show_bug.cgi?id=81829
3178         <rdar://problem/10866152>
3179
3180         Reviewed by Andreas Kling.
3181
3182         When the tile cache for a page is no longer in a window (which happens when it's moved to 
3183         a background tab), schedule a tile revalidation after 4 seconds. This tile revalidation 
3184         will ensure that tiles outside of the visible rect will be dropped.
3185
3186         * platform/graphics/ca/mac/TileCache.h:
3187         (TileCache):
3188         * platform/graphics/ca/mac/TileCache.mm:
3189         (WebCore::TileCache::tileCacheLayerBoundsChanged):
3190         (WebCore::TileCache::setIsInWindow):
3191         (WebCore::TileCache::tileCoverageRect):
3192         (WebCore):
3193         (WebCore::TileCache::scheduleTileRevalidation):
3194         (WebCore::TileCache::revalidateTiles):
3195
3196 2012-03-21  Stephen Chenney  <schenney@chromium.org>
3197
3198         SVG layout leaves objects still needing layout
3199         https://bugs.webkit.org/show_bug.cgi?id=81006
3200
3201         Reviewed by Nikolas Zimmermann.
3202
3203         Change the layout of SVG objects such that resources that trigger
3204         layout of other objects are handled in a distinct pass, and then
3205         objects still requiring layout are laid out again.
3206
3207         Test: svg/custom/delete-text-innerText-crash.html
3208
3209         * rendering/svg/RenderSVGResourceContainer.cpp:
3210         (WebCore::RenderSVGResourceContainer::layout):
3211         * rendering/svg/RenderSVGResourceMarker.cpp:
3212         (WebCore::RenderSVGResourceMarker::layout):
3213         * rendering/svg/RenderSVGRoot.cpp:
3214         (WebCore::RenderSVGRoot::layout):
3215         (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
3216         (WebCore):
3217         * rendering/svg/RenderSVGRoot.h:
3218         (RenderSVGRoot):
3219
3220 2012-03-21  Tim Horton  <timothy_horton@apple.com>
3221
3222         Make use of CG rounded-rect primitives
3223         https://bugs.webkit.org/show_bug.cgi?id=79932
3224         <rdar://problem/9274953>
3225
3226         Reviewed by Simon Fraser.
3227
3228         Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
3229
3230         Dispatch to potentially platform-specific rounded rectangle path
3231         construction from addPathForRoundedRect. Make use of this to call
3232         wkCGPathAddRoundedRect on Lion and above, as long as the rounded
3233         corners are all equivalent.
3234
3235         The origin of the stroke dash differs between the bezier approach
3236         and the path added by wkCGPathAddRoundedRect, so Path::addRoundedRect()
3237         takes a new parameter allowing code which is sensitive to stroke dash
3238         origin (i.e. SVG) to fall back to the old behavior if need be.
3239
3240         Make use of the new Path::addRoundedRect() parameter to fall back to
3241         the old (bezier) rounded-rect behavior when constructing a dashed SVG path,
3242         in order to continue complying with the spec.
3243
3244         No new tests, as this is covered by many that use rounded corners,
3245         and is only a performance improvement.
3246
3247         * WebCore.exp.in:
3248         * platform/graphics/Path.cpp:
3249         (WebCore::Path::addRoundedRect):
3250         (WebCore):
3251         (WebCore::Path::addPathForRoundedRect):
3252         * platform/graphics/Path.h:
3253         (Path):
3254         * platform/graphics/cg/PathCG.cpp:
3255         (WebCore::Path::platformAddPathForRoundedRect):
3256         (WebCore):
3257         * platform/mac/WebCoreSystemInterface.h:
3258         * platform/mac/WebCoreSystemInterface.mm:
3259         * rendering/svg/SVGPathData.cpp:
3260         (WebCore::updatePathFromRectElement):
3261
3262 2012-03-21  David Reveman  <reveman@chromium.org>
3263
3264         [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
3265         https://bugs.webkit.org/show_bug.cgi?id=80988
3266
3267         Reviewed by Adrienne Walker.
3268
3269         Expose EXT_occlusion_query API to WebKit compositor. Add
3270         GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
3271         enums.
3272
3273         * platform/graphics/chromium/Extensions3DChromium.h:
3274         (Extensions3DChromium):
3275
3276 2012-03-21  Tony Chang  <tony@chromium.org>
3277
3278         compute the sign of flexibility for new flexbox
3279         https://bugs.webkit.org/show_bug.cgi?id=81722
3280
3281         Reviewed by Ojan Vafai.
3282
3283         This implements the computation of the sign of flexibility used by the
3284         new flexing algorithm.
3285         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
3286
3287         No new tests, we don't use the sign of flexibility yet.
3288
3289         * rendering/RenderFlexibleBox.cpp:
3290         (WebCore::RenderFlexibleBox::layoutFlexItems):
3291         (WebCore::RenderFlexibleBox::computeNextFlexLine): Compute the size
3292         adjusted for min/max as well as not adjusted.
3293         (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Renamed to match
3294         spec text better.
3295         * rendering/RenderFlexibleBox.h: Added enum for flex sign.
3296
3297 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
3298
3299         Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
3300         https://bugs.webkit.org/show_bug.cgi?id=81669
3301
3302         Reviewed by Pavel Feldman.
3303
3304         * inspector/front-end/BreakpointManager.js:
3305         (WebInspector.BreakpointManager.get for):
3306         (WebInspector.BreakpointManager):
3307         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
3308         (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
3309         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
3310         (WebInspector.BreakpointManager.prototype.setBreakpoint):
3311         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
3312         (WebInspector.BreakpointManager.prototype._innerRemoveBreakpoint):
3313         (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
3314         (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
3315         (WebInspector.BreakpointManager.prototype._uiBreakpoints.get this):
3316         (WebInspector.BreakpointManager.prototype._uiBreakpoints):
3317         (WebInspector.BreakpointManager.prototype.get _uiBreakpoint):
3318         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
3319         (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
3320         (WebInspector.BreakpointManager.prototype._breakpoints):
3321         (WebInspector.BreakpointManager.prototype._breakpoint):
3322         (WebInspector.BreakpointManager.prototype._addBreakpointToModel):
3323         (WebInspector.BreakpointManager.prototype._removeBreakpointFromModel):
3324         (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
3325         (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
3326         (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
3327         (WebInspector.BreakpointManager.prototype.debuggerReset):
3328         (WebInspector.Breakpoint.prototype.serialize):
3329         (WebInspector.Breakpoint.prototype.get uiBreakpoint):
3330         (WebInspector.Breakpoint.prototype.createUIBreakpoint):
3331         (WebInspector.Breakpoint.prototype.removeUIBreakpoint):
3332         (WebInspector.UIBreakpoint):
3333         * inspector/front-end/DebuggerPresentationModel.js:
3334         (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
3335         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
3336         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
3337         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
3338         * inspector/front-end/ScriptsPanel.js:
3339
3340 2012-03-21  Anders Carlsson  <andersca@apple.com>
3341
3342         TileCache needs to know if its containing page is in a window
3343         https://bugs.webkit.org/show_bug.cgi?id=81821
3344
3345         Reviewed by Andreas Kling.
3346
3347         This is in preparation for throwing away invisible tiles in background tabs to reduce memory usage.
3348
3349         * page/FrameView.cpp:
3350         (WebCore::FrameView::didMoveOnscreen):
3351         (WebCore::FrameView::willMoveOffscreen):
3352         * page/Page.cpp:
3353         (WebCore::Page::Page):
3354         (WebCore::Page::didMoveOnscreen):
3355         (WebCore::Page::willMoveOffscreen):
3356         * page/Page.h:
3357         (WebCore::Page::isOnscreen):
3358         (Page):
3359         * platform/graphics/TiledBacking.h:
3360         (TiledBacking):
3361         * platform/graphics/ca/mac/TileCache.h:
3362         (TileCache):
3363         * platform/graphics/ca/mac/TileCache.mm:
3364         (WebCore::TileCache::TileCache):
3365         (WebCore::TileCache::setIsInWindow):
3366         (WebCore):
3367         * rendering/RenderLayerBacking.cpp:
3368         (WebCore::RenderLayerBacking::RenderLayerBacking):
3369
3370 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
3371
3372         Web audio layout test failed in debug with an ASSERT error in ReverbConvolverStage.cpp
3373         https://bugs.webkit.org/show_bug.cgi?id=81744
3374
3375         Reviewed by Chris Rogers.
3376
3377         * platform/audio/ReverbConvolverStage.cpp:
3378         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
3379
3380 2012-03-21  Xiaomei Ji  <xji@chromium.org>
3381
3382         [chromium] Font fallback in cr-win is wrong for string contains zero-width-space.
3383         https://bugs.webkit.org/show_bug.cgi?id=79961
3384
3385         Reviewed by Adam Barth.
3386
3387         Treat zero-width-space (\u200B) as true for treatAsZeroWidthSpaceInComplexScipt().
3388
3389         * platform/graphics/Font.h:
3390         (WebCore::Font::treatAsZeroWidthSpaceInComplexScript):
3391         * platform/graphics/mac/ComplexTextController.cpp:
3392         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3393         * platform/graphics/win/UniscribeController.cpp:
3394         (WebCore::UniscribeController::shapeAndPlaceItem):
3395
3396 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
3397
3398         Build fix for !ENABLE(INSPECTOR) after r111005.
3399
3400         * inspector/ContentSearchUtils.h:
3401
3402 2012-03-21  Ulan Degenbaev  <ulan@chromium.org>
3403
3404         [V8] V8GCForContextDispose should indicate whether a context is disposed for the main frame or not
3405         https://bugs.webkit.org/show_bug.cgi?id=81200
3406
3407         Reviewed by Adam Barth.
3408
3409         Pass a hint to V8::IdleNotification that requests more aggressive GC
3410         when a main frame context is disposed and requests incremental GC otherwise.
3411
3412         * bindings/v8/V8DOMWindowShell.cpp:
3413         (WebCore::V8DOMWindowShell::disposeContextHandles):
3414         * bindings/v8/V8GCForContextDispose.cpp:
3415         (WebCore::V8GCForContextDispose::V8GCForContextDispose):
3416         (WebCore::V8GCForContextDispose::notifyContextDisposed):
3417         (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
3418         * bindings/v8/V8GCForContextDispose.h:
3419         (V8GCForContextDispose):
3420
3421 2012-03-21  Nat Duca  <nduca@chromium.org>
3422
3423         [chromium] CCThreadProxy must initialize frameBeginTime to monotonicallyIncreasingTime rather than zero
3424         https://bugs.webkit.org/show_bug.cgi?id=81790
3425
3426         Reviewed by James Robinson.
3427
3428         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3429         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
3430
3431 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
3432
3433         Add multichannel support in RealtimeAnalyser
3434         https://bugs.webkit.org/show_bug.cgi?id=81745
3435
3436         Reviewed by Chris Rogers.
3437
3438         * Modules/webaudio/RealtimeAnalyser.cpp:
3439         (WebCore::RealtimeAnalyser::writeInput):
3440         (WebCore):
3441
3442 2012-03-21  Eric Carlson  <eric.carlson@apple.com>
3443
3444         Removing HTMLTrackElement does not delete TextTrack
3445         https://bugs.webkit.org/show_bug.cgi?id=80873
3446
3447         Reviewed by Antti Koivisto.
3448
3449         No new tests, but media/track/track-language-preference.html has been updated
3450         to test this fix.
3451
3452         * html/HTMLMediaElement.cpp:
3453         (WebCore::HTMLMediaElement::didAddTrack): Renamed from trackWasAdded.
3454         (WebCore::HTMLMediaElement::willRemoveTrack): Renamed from trackWasRemoved because it is
3455         called before the track is removed, to allow the TextTrack to be removed.
3456         * html/HTMLMediaElement.h:
3457
3458         * html/HTMLTrackElement.cpp:
3459         (WebCore::HTMLTrackElement::insertedIntoTree): Renamed from insertedIntoDocument
3460         (WebCore::HTMLTrackElement::willRemove): Renamed from removedFromDocument.
3461         * html/HTMLTrackElement.h:
3462