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