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