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