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