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