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