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