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