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