Realphabetize about webaudio move
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-21  Mark Pilgrim  <pilgrim@chromium.org>
2
3         Realphabetize about webaudio move
4         https://bugs.webkit.org/show_bug.cgi?id=81825
5
6         Reviewed by Adam Barth.
7
8         No new tests, all existing tests pass.
9
10         * CMakeLists.txt:
11
12 2012-03-21  Anders Carlsson  <andersca@apple.com>
13
14         Evict tiles from pages in background tabs
15         https://bugs.webkit.org/show_bug.cgi?id=81829
16         <rdar://problem/10866152>
17
18         Reviewed by Andreas Kling.
19
20         When the tile cache for a page is no longer in a window (which happens when it's moved to 
21         a background tab), schedule a tile revalidation after 4 seconds. This tile revalidation 
22         will ensure that tiles outside of the visible rect will be dropped.
23
24         * platform/graphics/ca/mac/TileCache.h:
25         (TileCache):
26         * platform/graphics/ca/mac/TileCache.mm:
27         (WebCore::TileCache::tileCacheLayerBoundsChanged):
28         (WebCore::TileCache::setIsInWindow):
29         (WebCore::TileCache::tileCoverageRect):
30         (WebCore):
31         (WebCore::TileCache::scheduleTileRevalidation):
32         (WebCore::TileCache::revalidateTiles):
33
34 2012-03-21  Stephen Chenney  <schenney@chromium.org>
35
36         SVG layout leaves objects still needing layout
37         https://bugs.webkit.org/show_bug.cgi?id=81006
38
39         Reviewed by Nikolas Zimmermann.
40
41         Change the layout of SVG objects such that resources that trigger
42         layout of other objects are handled in a distinct pass, and then
43         objects still requiring layout are laid out again.
44
45         Test: svg/custom/delete-text-innerText-crash.html
46
47         * rendering/svg/RenderSVGResourceContainer.cpp:
48         (WebCore::RenderSVGResourceContainer::layout):
49         * rendering/svg/RenderSVGResourceMarker.cpp:
50         (WebCore::RenderSVGResourceMarker::layout):
51         * rendering/svg/RenderSVGRoot.cpp:
52         (WebCore::RenderSVGRoot::layout):
53         (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
54         (WebCore):
55         * rendering/svg/RenderSVGRoot.h:
56         (RenderSVGRoot):
57
58 2012-03-21  Tim Horton  <timothy_horton@apple.com>
59
60         Make use of CG rounded-rect primitives
61         https://bugs.webkit.org/show_bug.cgi?id=79932
62         <rdar://problem/9274953>
63
64         Reviewed by Simon Fraser.
65
66         Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
67
68         Dispatch to potentially platform-specific rounded rectangle path
69         construction from addPathForRoundedRect. Make use of this to call
70         wkCGPathAddRoundedRect on Lion and above, as long as the rounded
71         corners are all equivalent.
72
73         The origin of the stroke dash differs between the bezier approach
74         and the path added by wkCGPathAddRoundedRect, so Path::addRoundedRect()
75         takes a new parameter allowing code which is sensitive to stroke dash
76         origin (i.e. SVG) to fall back to the old behavior if need be.
77
78         Make use of the new Path::addRoundedRect() parameter to fall back to
79         the old (bezier) rounded-rect behavior when constructing a dashed SVG path,
80         in order to continue complying with the spec.
81
82         No new tests, as this is covered by many that use rounded corners,
83         and is only a performance improvement.
84
85         * WebCore.exp.in:
86         * platform/graphics/Path.cpp:
87         (WebCore::Path::addRoundedRect):
88         (WebCore):
89         (WebCore::Path::addPathForRoundedRect):
90         * platform/graphics/Path.h:
91         (Path):
92         * platform/graphics/cg/PathCG.cpp:
93         (WebCore::Path::platformAddPathForRoundedRect):
94         (WebCore):
95         * platform/mac/WebCoreSystemInterface.h:
96         * platform/mac/WebCoreSystemInterface.mm:
97         * rendering/svg/SVGPathData.cpp:
98         (WebCore::updatePathFromRectElement):
99
100 2012-03-21  David Reveman  <reveman@chromium.org>
101
102         [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
103         https://bugs.webkit.org/show_bug.cgi?id=80988
104
105         Reviewed by Adrienne Walker.
106
107         Expose EXT_occlusion_query API to WebKit compositor. Add
108         GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
109         enums.
110
111         * platform/graphics/chromium/Extensions3DChromium.h:
112         (Extensions3DChromium):
113
114 2012-03-21  Tony Chang  <tony@chromium.org>
115
116         compute the sign of flexibility for new flexbox
117         https://bugs.webkit.org/show_bug.cgi?id=81722
118
119         Reviewed by Ojan Vafai.
120
121         This implements the computation of the sign of flexibility used by the
122         new flexing algorithm.
123         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
124
125         No new tests, we don't use the sign of flexibility yet.
126
127         * rendering/RenderFlexibleBox.cpp:
128         (WebCore::RenderFlexibleBox::layoutFlexItems):
129         (WebCore::RenderFlexibleBox::computeNextFlexLine): Compute the size
130         adjusted for min/max as well as not adjusted.
131         (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Renamed to match
132         spec text better.
133         * rendering/RenderFlexibleBox.h: Added enum for flex sign.
134
135 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
136
137         Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
138         https://bugs.webkit.org/show_bug.cgi?id=81669
139
140         Reviewed by Pavel Feldman.
141
142         * inspector/front-end/BreakpointManager.js:
143         (WebInspector.BreakpointManager.get for):
144         (WebInspector.BreakpointManager):
145         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
146         (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
147         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
148         (WebInspector.BreakpointManager.prototype.setBreakpoint):
149         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
150         (WebInspector.BreakpointManager.prototype._innerRemoveBreakpoint):
151         (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
152         (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
153         (WebInspector.BreakpointManager.prototype._uiBreakpoints.get this):
154         (WebInspector.BreakpointManager.prototype._uiBreakpoints):
155         (WebInspector.BreakpointManager.prototype.get _uiBreakpoint):
156         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
157         (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
158         (WebInspector.BreakpointManager.prototype._breakpoints):
159         (WebInspector.BreakpointManager.prototype._breakpoint):
160         (WebInspector.BreakpointManager.prototype._addBreakpointToModel):
161         (WebInspector.BreakpointManager.prototype._removeBreakpointFromModel):
162         (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
163         (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
164         (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
165         (WebInspector.BreakpointManager.prototype.debuggerReset):
166         (WebInspector.Breakpoint.prototype.serialize):
167         (WebInspector.Breakpoint.prototype.get uiBreakpoint):
168         (WebInspector.Breakpoint.prototype.createUIBreakpoint):
169         (WebInspector.Breakpoint.prototype.removeUIBreakpoint):
170         (WebInspector.UIBreakpoint):
171         * inspector/front-end/DebuggerPresentationModel.js:
172         (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
173         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
174         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
175         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
176         * inspector/front-end/ScriptsPanel.js:
177
178 2012-03-21  Anders Carlsson  <andersca@apple.com>
179
180         TileCache needs to know if its containing page is in a window
181         https://bugs.webkit.org/show_bug.cgi?id=81821
182
183         Reviewed by Andreas Kling.
184
185         This is in preparation for throwing away invisible tiles in background tabs to reduce memory usage.
186
187         * page/FrameView.cpp:
188         (WebCore::FrameView::didMoveOnscreen):
189         (WebCore::FrameView::willMoveOffscreen):
190         * page/Page.cpp:
191         (WebCore::Page::Page):
192         (WebCore::Page::didMoveOnscreen):
193         (WebCore::Page::willMoveOffscreen):
194         * page/Page.h:
195         (WebCore::Page::isOnscreen):
196         (Page):
197         * platform/graphics/TiledBacking.h:
198         (TiledBacking):
199         * platform/graphics/ca/mac/TileCache.h:
200         (TileCache):
201         * platform/graphics/ca/mac/TileCache.mm:
202         (WebCore::TileCache::TileCache):
203         (WebCore::TileCache::setIsInWindow):
204         (WebCore):
205         * rendering/RenderLayerBacking.cpp:
206         (WebCore::RenderLayerBacking::RenderLayerBacking):
207
208 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
209
210         Web audio layout test failed in debug with an ASSERT error in ReverbConvolverStage.cpp
211         https://bugs.webkit.org/show_bug.cgi?id=81744
212
213         Reviewed by Chris Rogers.
214
215         * platform/audio/ReverbConvolverStage.cpp:
216         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
217
218 2012-03-21  Xiaomei Ji  <xji@chromium.org>
219
220         [chromium] Font fallback in cr-win is wrong for string contains zero-width-space.
221         https://bugs.webkit.org/show_bug.cgi?id=79961
222
223         Reviewed by Adam Barth.
224
225         Treat zero-width-space (\u200B) as true for treatAsZeroWidthSpaceInComplexScipt().
226
227         * platform/graphics/Font.h:
228         (WebCore::Font::treatAsZeroWidthSpaceInComplexScript):
229         * platform/graphics/mac/ComplexTextController.cpp:
230         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
231         * platform/graphics/win/UniscribeController.cpp:
232         (WebCore::UniscribeController::shapeAndPlaceItem):
233
234 2012-03-21  Patrick Gansterer  <paroga@webkit.org>
235
236         Build fix for !ENABLE(INSPECTOR) after r111005.
237
238         * inspector/ContentSearchUtils.h:
239
240 2012-03-21  Ulan Degenbaev  <ulan@chromium.org>
241
242         [V8] V8GCForContextDispose should indicate whether a context is disposed for the main frame or not
243         https://bugs.webkit.org/show_bug.cgi?id=81200
244
245         Reviewed by Adam Barth.
246
247         Pass a hint to V8::IdleNotification that requests more aggressive GC
248         when a main frame context is disposed and requests incremental GC otherwise.
249
250         * bindings/v8/V8DOMWindowShell.cpp:
251         (WebCore::V8DOMWindowShell::disposeContextHandles):
252         * bindings/v8/V8GCForContextDispose.cpp:
253         (WebCore::V8GCForContextDispose::V8GCForContextDispose):
254         (WebCore::V8GCForContextDispose::notifyContextDisposed):
255         (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
256         * bindings/v8/V8GCForContextDispose.h:
257         (V8GCForContextDispose):
258
259 2012-03-21  Nat Duca  <nduca@chromium.org>
260
261         [chromium] CCThreadProxy must initialize frameBeginTime to monotonicallyIncreasingTime rather than zero
262         https://bugs.webkit.org/show_bug.cgi?id=81790
263
264         Reviewed by James Robinson.
265
266         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
267         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
268
269 2012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
270
271         Add multichannel support in RealtimeAnalyser
272         https://bugs.webkit.org/show_bug.cgi?id=81745
273
274         Reviewed by Chris Rogers.
275
276         * Modules/webaudio/RealtimeAnalyser.cpp:
277         (WebCore::RealtimeAnalyser::writeInput):
278         (WebCore):
279
280 2012-03-21  Eric Carlson  <eric.carlson@apple.com>
281
282         Removing HTMLTrackElement does not delete TextTrack
283         https://bugs.webkit.org/show_bug.cgi?id=80873
284
285         Reviewed by Antti Koivisto.
286
287         No new tests, but media/track/track-language-preference.html has been updated
288         to test this fix.
289
290         * html/HTMLMediaElement.cpp:
291         (WebCore::HTMLMediaElement::didAddTrack): Renamed from trackWasAdded.
292         (WebCore::HTMLMediaElement::willRemoveTrack): Renamed from trackWasRemoved because it is
293         called before the track is removed, to allow the TextTrack to be removed.
294         * html/HTMLMediaElement.h:
295
296         * html/HTMLTrackElement.cpp:
297         (WebCore::HTMLTrackElement::insertedIntoTree): Renamed from insertedIntoDocument
298         (WebCore::HTMLTrackElement::willRemove): Renamed from removedFromDocument.
299         * html/HTMLTrackElement.h:
300
301         * html/track/LoadableTextTrack.cpp:
302         (WebCore::LoadableTextTrack::trackElementIndex): Don't include tracks that are not in the
303         document in the calcualtion.
304
305 2012-03-21  Zeno Albisser  <zeno@webkit.org>
306
307         [Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
308         https://bugs.webkit.org/show_bug.cgi?id=81750
309
310         Building WebCore on mac currently creates an archive that is bigger than
311         4GB. But ranlib fails to create a symbol table for such a big archive,
312         even on 64bit machines.
313         Therefore we start using SVGAllInOne.cpp when building debug
314         on mac. This reduces the size of the archive by about 300MB.
315
316         Reviewed by Tor Arne Vestbø.
317
318         * Target.pri:
319
320 2012-03-21  Tommy Widenflycht  <tommyw@google.com>
321
322         [chromium] MediaStream API (JSEP): Introducing WebSessionDescription and WebIceCandidate
323         https://bugs.webkit.org/show_bug.cgi?id=81339
324
325         Reviewed by Adam Barth.
326
327         Not possible to test until the entire JSEP feature is commited.
328
329         * Modules/mediastream/IceCandidate.cpp:
330         (WebCore::IceCandidate::toSdp):
331         * Modules/mediastream/SessionDescription.cpp:
332         (WebCore::SessionDescription::toSdp):
333         * platform/mediastream/IceCandidateDescriptor.cpp:
334         (WebCore::IceCandidateDescriptor::toSDP):
335         * platform/mediastream/IceCandidateDescriptor.h:
336         (IceCandidateDescriptor):
337         * platform/mediastream/MediaStreamCenter.cpp:
338         (WebCore::MediaStreamCenter::constructSDP):
339         * platform/mediastream/MediaStreamCenter.h:
340         (MediaStreamCenter):
341         * platform/mediastream/SessionDescriptionDescriptor.cpp:
342         (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
343         (WebCore::SessionDescriptionDescriptor::toSDP):
344         (WebCore::SessionDescriptionDescriptor::initialSDP):
345         * platform/mediastream/SessionDescriptionDescriptor.h:
346         (SessionDescriptionDescriptor):
347
348 2012-03-21  Yuta Kitamura  <yutak@chromium.org>
349
350         Use RFC version of WebSocket protocol by default
351         https://bugs.webkit.org/show_bug.cgi?id=81718
352
353         Reviewed by Kent Tamura.
354
355         Flip the default value of Settings::m_useHixie76WebSocketProtocol so WebKit ports will use
356         RFC version of WebSocket protocol by default.
357
358         All the existing ports already use the RFC protocol as of now, so this change will not make
359         any impact (hopefully).
360
361         No new tests. No change in functionality.
362
363         * page/Settings.cpp:
364         (WebCore::Settings::Settings):
365
366 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
367
368         Web Inspector: only show JS event listeners in Event Listeners tab of Elements panel
369         https://bugs.webkit.org/show_bug.cgi?id=81798
370
371         Reviewed by Pavel Feldman.
372
373         * bindings/js/JSInjectedScriptHostCustom.cpp:
374         (WebCore::getJSListenerFunctions):
375         * bindings/js/ScriptEventListener.cpp:
376         (WebCore::eventListenerHandlerBody):
377         (WebCore::eventListenerHandlerLocation):
378         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
379         (WebCore::getJSListenerFunctions):
380         * inspector/InspectorDOMAgent.cpp:
381         (WebCore::InspectorDOMAgent::getEventListeners):
382
383 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
384
385         EventListener::Type enum has unused member InspectorDOMAgentType
386         https://bugs.webkit.org/show_bug.cgi?id=81794
387
388         Reviewed by Pavel Feldman.
389
390         * dom/EventListener.h:
391
392 2012-03-21  Tom Hudson  <tomhudson@google.com>
393
394         Incremental cleanup of BitmapImage: inlined virtual functions
395         https://bugs.webkit.org/show_bug.cgi?id=81688
396
397         Reviewed by James Robinson.
398
399         No change in functionality, so no new tests.
400
401         Move virtual functions defined in headers into .cpp files.
402
403         * WebCore.gypi:
404         * platform/graphics/BitmapImage.cpp:
405         (WebCore::BitmapImage::isBitmapImage):
406         (WebCore):
407         (WebCore::BitmapImage::hasSingleSecurityOrigin):
408         (WebCore::BitmapImage::nativeImageForCurrentFrame):
409         (WebCore::BitmapImage::currentFrameHasAlpha):
410         (WebCore::BitmapImage::notSolidColor):
411         (WebCore::BitmapImage::decodedSize):
412         (WebCore::BitmapImage::mayFillWithSolidColor):
413         (WebCore::BitmapImage::solidColor):
414         * platform/graphics/BitmapImage.h:
415         (BitmapImage):
416         * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Added.
417         (WebCore):
418         (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
419         (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
420         (WebCore::BitmapImageSingleFrameSkia::size):
421         (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
422         (WebCore::BitmapImageSingleFrameSkia::decodedSize):
423         (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
424         (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
425         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
426         (BitmapImageSingleFrameSkia):
427
428 2012-03-21  Alexey Proskuryakov  <ap@apple.com>
429
430         Remove obsolete File attributes
431         https://bugs.webkit.org/show_bug.cgi?id=79383
432
433         Reviewed by Hajime Morita.
434
435         * bindings/objc/PublicDOMInterfaces.h:
436         * fileapi/File.h:
437         * fileapi/File.idl:
438         Removed fileName and fileSize, they have different names now.
439
440         * html/FileInputType.cpp:
441         (WebCore::FileInputType::appendFormData):
442         (WebCore::FileInputType::getTypeSpecificValue):
443         (WebCore::FileInputType::defaultToolTip):
444         Updated to use new function names.
445
446 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
447
448         TiledBackingStore: Create the first round of tiles synchronously after setting the visible rect.
449         https://bugs.webkit.org/show_bug.cgi?id=81762
450
451         Reviewed by Kenneth Rohde Christiansen.
452
453         The first round of tiles should cover completely the visible rect.
454         Creating the tiles synchronously allows us to get the new tiles immediately
455         and prevents an extra AC layers sync to be able to remove the old tiles.
456
457         At some point it might also make sense to remove the tile creation timer
458         completely.
459
460         * platform/graphics/TiledBackingStore.cpp:
461         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
462
463 2012-03-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
464
465         TiledBackingStore: When checking if the visible area is covered, only convert to scaled coordinates once.
466         https://bugs.webkit.org/show_bug.cgi?id=81519
467
468         Reviewed by Kenneth Rohde Christiansen.
469
470         Both visibleRect and coverageRatio call mapFromContents on the input rect,
471         this woulc cause the coverageRatio to never reach 1.0 when the contents is
472         scaled up.
473
474         * platform/graphics/TiledBackingStore.cpp:
475         (WebCore::TiledBackingStore::visibleAreaIsCovered):
476
477 2012-03-21  Mao Yujie  <yujie.mao@intel.com>
478
479         MediaStream API: Need to support MediaStream constructor for JSC
480         https://bugs.webkit.org/show_bug.cgi?id=78781
481
482         Reviewed by Adam Barth.
483
484         No new tests.
485
486         * Modules/mediastream/DOMWindowMediaStream.idl:
487         * bindings/generic/RuntimeEnabledFeatures.h:
488         (WebCore::RuntimeEnabledFeatures::webkitMediaStreamEnabled):
489
490 2012-03-21  Philip Rogers  <pdr@google.com>
491
492         Skip building resources if SVGTRef is not in a document
493         https://bugs.webkit.org/show_bug.cgi?id=81473
494
495         Reviewed by Nikolas Zimmermann.
496
497         We can skip the building of pending resources in SVGTRef if we're not
498         yet in a document. This mirrors the nearly identical logic in
499         SVGUseElement::buildPendingResource() and
500         SVGFEImageElement::buildPendingResource().
501
502         Test: http/tests/svg/tref-adoptNode-crash.html
503
504         * svg/SVGTRefElement.cpp:
505         (WebCore::SVGTRefElement::buildPendingResource):
506
507 2012-03-21  Sami Kyostila  <skyostil@chromium.org>
508
509         [chromium] Use floating point scroll deltas for layers
510         https://bugs.webkit.org/show_bug.cgi?id=81546
511
512         Reviewed by James Robinson.
513
514         Use floating point scroll deltas for layers instead of integral scroll
515         deltas. This is because due to page scaling it may be necessary to
516         scroll layers in sub-CSS-pixel steps to avoid visible jumps. When the
517         floating point scroll offset is committed to the main thread, it is
518         truncated to integer, but the fractional part is kept on the CC side to
519         make sure fractional scroll offsets are accumulated correctly over
520         multiple commits.
521
522         Test: CCLayerTreeHostTestFractionalScroll
523
524         * platform/graphics/FloatPoint.h:
525         (WebCore::toSize):
526         (WebCore):
527         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
528         (WebCore::CCLayerImpl::scrollBy):
529         (WebCore::CCLayerImpl::setScrollDelta):
530         * platform/graphics/chromium/cc/CCLayerImpl.h:
531         (WebCore::CCLayerImpl::scrollDelta):
532         (CCLayerImpl):
533         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
534         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
535         (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
536         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
537         (WebCore::CCLayerTreeHostImpl::animatePageScale):
538
539 2012-03-21  Li Yin  <li.yin@intel.com>
540
541         [WebSocket]The Sec-WebSocket-Accept MUST NOT appear more than once in an HTTP response
542         https://bugs.webkit.org/show_bug.cgi?id=81655
543
544         Reviewed by Adam Barth.
545
546         Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header.html
547
548         * Modules/websockets/WebSocketHandshake.cpp:
549         (WebCore::WebSocketHandshake::readHTTPHeaders):
550
551 2012-03-21  Alexei Filippov  <alexeif@chromium.org>
552
553         Web Inspector: Speedup heap snapshot loading.
554         https://bugs.webkit.org/show_bug.cgi?id=81788
555
556         Reviewed by Yury Semikhatsky.
557
558         * inspector/front-end/HeapSnapshot.js:
559         (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
560
561 2012-03-21  Pavel Feldman  <pfeldman@chromium.org>
562
563         Web Inspector: get rid of isInEditMode, use isBeingEdited on particular element.
564         https://bugs.webkit.org/show_bug.cgi?id=81766
565
566         Reviewed by Yury Semikhatsky.
567
568         We should check event target and its ancestors for being edited, not use some
569         global property. This change also introduces Event.prototype.consume so that we
570         were consistently consuming events.
571
572         * inspector/front-end/AdvancedSearchController.js:
573         (WebInspector.SearchView.prototype._onKeyDown):
574         * inspector/front-end/BreakpointsSidebarPane.js:
575         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
576         * inspector/front-end/CSSSelectorProfileView.js:
577         * inspector/front-end/Checkbox.js:
578         (WebInspector.Checkbox.prototype.addEventListener):
579         * inspector/front-end/ConsoleView.js:
580         (WebInspector.ConsoleView.prototype._enterKeyPressed):
581         (WebInspector.ConsoleGroup.prototype._titleClicked):
582         * inspector/front-end/ContextMenu.js:
583         (WebInspector.ContextMenu.prototype.show):
584         * inspector/front-end/DataGrid.js:
585         (WebInspector.DataGrid.prototype._keyDown):
586         * inspector/front-end/DatabaseQueryView.js:
587         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
588         * inspector/front-end/DetailedHeapshotView.js:
589         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
590         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
591         (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
592         (WebInspector.DetailedHeapshotView.prototype._endRetainersHeaderDragging):
593         * inspector/front-end/Dialog.js:
594         (WebInspector.Dialog.prototype._onKeyDown):
595         * inspector/front-end/Drawer.js:
596         (WebInspector.Drawer.prototype._startStatusBarDragging):
597         (WebInspector.Drawer.prototype._statusBarDragging):
598         (WebInspector.Drawer.prototype._endStatusBarDragging):
599         * inspector/front-end/EventListenersSidebarPane.js:
600         (WebInspector.EventListenersSidebarPane.get if):
601         * inspector/front-end/HelpScreen.js:
602         (WebInspector.HelpScreen.prototype._onKeyDown):
603         * inspector/front-end/InspectorView.js:
604         (WebInspector.InspectorView.prototype._keyDown):
605         * inspector/front-end/MetricsSidebarPane.js:
606         (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
607         * inspector/front-end/NetworkPanel.js:
608         * inspector/front-end/Object.js:
609         (WebInspector.Event.prototype.preventDefault):
610         (WebInspector.Event.prototype.consume):
611         * inspector/front-end/ObjectPropertiesSection.js:
612         (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
613         * inspector/front-end/ProfileView.js:
614         * inspector/front-end/SearchController.js:
615         (WebInspector.SearchController.prototype._onKeyDown):
616         * inspector/front-end/Section.js:
617         (WebInspector.Section.prototype.handleClick):
618         * inspector/front-end/Settings.js:
619         (WebInspector.ExperimentsSettings):
620         * inspector/front-end/SoftContextMenu.js:
621         (.WebInspector.SoftContextMenu.prototype.show):
622         (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
623         (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
624         (.WebInspector.SoftContextMenu.prototype._discardMenu):
625         * inspector/front-end/Spectrum.js:
626         (WebInspector.Spectrum.draggable.consume):
627         (WebInspector.Spectrum.draggable.start):
628         (WebInspector.Spectrum.draggable.stop):
629         (WebInspector.Spectrum.draggable):
630         (WebInspector.Spectrum.prototype._onKeyDown):
631         * inspector/front-end/StylesSidebarPane.js:
632         (WebInspector.StylesSidebarPane.muteEventListener):
633         (WebInspector.StylesSidebarPane):
634         (WebInspector.StylesSidebarPane.prototype.set _createNewRule):
635         (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
636         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
637         (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
638         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
639         (WebInspector.StylePropertyTreeElement.prototype):
640         * inspector/front-end/TextPrompt.js:
641         (WebInspector.TextPrompt.prototype.onKeyDown):
642         (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
643         (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
644         * inspector/front-end/TextViewer.js:
645         (WebInspector.TextViewer.prototype._handleKeyDown):
646         * inspector/front-end/Toolbar.js:
647         (WebInspector.ToolbarDropdown.prototype._onKeyDown):
648         * inspector/front-end/UIUtils.js:
649         (WebInspector.isBeingEdited):
650         (WebInspector.startEditing):
651         * inspector/front-end/View.js:
652         (WebInspector.View.prototype._doLoadCSS):
653         * inspector/front-end/WatchExpressionsSidebarPane.js:
654         (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
655         (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
656         * inspector/front-end/inspector.js:
657         (WebInspector.documentClick.followLink):
658         (WebInspector.documentClick):
659         (WebInspector.documentKeyDown):
660         (WebInspector.postDocumentKeyDown):
661         (WebInspector.addMainEventListeners):
662         * inspector/front-end/treeoutline.js:
663         (TreeOutline.prototype._treeKeyPress):
664         (TreeOutline.prototype._treeKeyDown):
665         (TreeOutline.prototype._searchInputKeyDown):
666         (TreeElement.treeElementToggled):
667         (TreeElement.prototype.selectOnMouseDown):
668         * inspector/front-end/utilities.js:
669         (Event.prototype.consume):
670
671 2012-03-21  Yury Semikhatsky  <yurys@chromium.org>
672
673         Web Inspector: event listener section doesn't show all event listeners of the element ancestors
674         https://bugs.webkit.org/show_bug.cgi?id=81782
675
676         Event listeners section now contains all event listeners for the selected
677         element ancestors chain (in case option "All Nodes" is selected).
678
679         Reviewed by Pavel Feldman.
680
681         * inspector/InspectorDOMAgent.cpp:
682         (WebCore::InspectorDOMAgent::getEventListenersForNode):
683         * inspector/front-end/EventListenersSidebarPane.js:
684         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
685         (WebInspector.EventListenersSidebarPane.prototype.update):
686         (WebInspector.EventListenersSidebarPane.prototype):
687
688 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
689
690         Web Inspector: HeapSnapshot: move all builders and calculation calls to HeapSnapshot._init function.
691         https://bugs.webkit.org/show_bug.cgi?id=81784
692
693         Reviewed by Yury Semikhatsky.
694
695         * inspector/front-end/HeapSnapshot.js:
696         (WebInspector.HeapSnapshot.prototype._init):
697         (WebInspector.HeapSnapshot.prototype.dispose):
698         (WebInspector.HeapSnapshot.prototype._retainersForNode):
699         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
700         (WebInspector.HeapSnapshot.prototype._flagsOfNode):
701         (WebInspector.HeapSnapshot.prototype.aggregates):
702         (WebInspector.HeapSnapshot.prototype._buildRetainers):
703         (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
704
705 2012-03-21  Jessie Berlin  <jberlin@apple.com>
706
707         WTF headers should be in $(ConfigurationBuildDir)\include\private\wtf, not
708         $(ConfigurationBuildDir)\include\private\JavaScriptCore\wtf.
709         https://bugs.webkit.org/show_bug.cgi?id=81739
710
711         Reviewed by Dan Bernstein.
712
713         * WebCore.vcproj/WebCore.vcproj:
714         Look for AtomicString.cpp, StringBuilder.cpp, StringImpl.cpp, and WTFString.cpp in the wtf
715         subdirectory of the build output, not the JavaScriptCore/wtf subdirectory.
716
717 2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
718
719         [BlackBerry] Credential save and autofill implemetation
720         https://bugs.webkit.org/show_bug.cgi?id=80401
721
722         Reviewed by Rob Buis.
723
724         Added interface function authenticationChallenge() and
725         notifyShouldSaveCredential() into PageClientBlackBerry.
726         As this class is our platform specific interface,
727         by doing this we don't need to add an interface function
728         in class FrameLoaderClient which is a platform
729         independent interface.
730
731         No new tests.
732
733         * platform/blackberry/PageClientBlackBerry.h:
734         (WebCore):
735         * platform/network/blackberry/NetworkJob.cpp:
736         (WebCore::NetworkJob::sendRequestWithCredentials):
737
738 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
739
740         Web Inspector: HeapProfiler: DOM node id can overflow Int32.
741         https://bugs.webkit.org/show_bug.cgi?id=81776
742
743         Reviewed by Pavel Feldman.
744
745         * inspector/front-end/HeapSnapshot.js:
746         (WebInspector.Uint32Array):
747         (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
748         (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
749         (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
750         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
751
752 2012-03-21  Tim Dresser  <tdresser@chromium.org>
753
754         [chromium] Increase size of Combo Box Options for touch and high DPI devices
755         https://bugs.webkit.org/show_bug.cgi?id=80027
756
757         Reviewed by Darin Fisher.
758
759         Scale Combo box popups by defaultDeviceScaleFactor, and add padding to
760         <option> elements when touch is enabled.
761
762         Manually tested with --default-device-scale-factor=1,2 and unset.
763         Each of these were tested with RuntimeEnabledFeatures::touchEnabled
764         set to true and false.
765
766         * platform/chromium/PopupListBox.cpp:
767         (WebCore::PopupListBox::paint):
768         (WebCore::PopupListBox::paintRow):
769         (WebCore::PopupListBox::getRowHeight):
770         * platform/chromium/PopupListBox.h:
771         (PopupContainerSettings):
772         * platform/chromium/PopupMenuChromium.cpp:
773         (WebCore):
774         (WebCore::PopupMenuChromium::show):
775         * platform/chromium/PopupMenuChromium.h:
776         (WebCore::PopupMenuChromium::optionPaddingForTouch):
777         (WebCore::PopupMenuChromium::setOptionPaddingForTouch):
778         (PopupMenuChromium):
779         * rendering/RenderMenuList.cpp:
780         (WebCore::RenderMenuList::showPopup):
781
782 2012-03-21  Takashi Toyoshima  <toyoshim@chromium.org>
783
784         [Chromium] [WebSocket] provide WebFrameClient with a chance of
785         accessing to opening WebSocketStreamHandle.
786         https://bugs.webkit.org/show_bug.cgi?id=78459
787
788         Reviewed by Kent Tamura and Darin Fisher.
789
790         Add willOpenSocketStream client function to WebFrameClient with an
791         argument representing an opening SocketStreamHandle.
792         These mechanisms provide embedders with a chance to bind arbitrary
793         data to a WebSocketStreamHandle from WebFrameClient to which the
794         WebSocket object having the WebSocketStreamHandle belongs.
795
796         No new tests because this change just provide mechanisms to embedders.
797
798         * Modules/websockets/WebSocketChannel.cpp: Implement willOpenSocketStream to call a client function in WebFrameClient.
799         (WebCore::WebSocketChannel::willOpenSocketStream):
800         (WebCore):
801         * Modules/websockets/WebSocketChannel.h: Add willOpenSocketStream declaration.
802         (WebSocketChannel):
803         * loader/FrameLoaderClient.h: Add dispatchWillOpenSocketStream declaration.
804         (WebCore):
805         (FrameLoaderClient):
806         (WebCore::FrameLoaderClient::dispatchWillOpenSocketStream):
807         * platform/network/SocketStreamHandleClient.h: Add willOpenSocketStream declaration.
808         (WebCore::SocketStreamHandleClient::willOpenSocketStream):
809
810 2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
811
812         https://bugs.webkit.org/show_bug.cgi?id=81761
813         Fix Gobject binding for sequence<T> for function return type.
814
815         Reviewed by Kentaro Hara.
816
817         No new tests.
818
819         * bindings/scripts/CodeGeneratorGObject.pm:
820         (SkipFunction): Skip function with sequence<T> return type.
821         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
822         (webkit_dom_test_obj_method_with_sequence_arg):
823         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
824
825 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
826
827         Unreviewed build fix for r111529.
828
829         * inspector/InjectedScriptHost.h:
830         (WebCore):
831
832 2012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
833
834         Unreviewed, rolling out r111497, r111506, r111508, and
835         r111513.
836         http://trac.webkit.org/changeset/111497
837         http://trac.webkit.org/changeset/111506
838         http://trac.webkit.org/changeset/111508
839         http://trac.webkit.org/changeset/111513
840         https://bugs.webkit.org/show_bug.cgi?id=81774
841
842         It broke 2 tests on all platform (Requested by Ossy on
843         #webkit).
844
845         * css/CSSStyleSelector.cpp:
846         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
847         * css/SelectorChecker.cpp:
848         (WebCore::SelectorChecker::checkOneSelector):
849         * html/HTMLKeygenElement.cpp:
850         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
851         * html/HTMLOptionElement.cpp:
852         (WebCore::HTMLOptionElement::HTMLOptionElement):
853         (WebCore::HTMLOptionElement::create):
854         (WebCore::HTMLOptionElement::attach):
855         (WebCore::HTMLOptionElement::detach):
856         (WebCore::HTMLOptionElement::formControlType):
857         (WebCore):
858         (WebCore::HTMLOptionElement::parseAttribute):
859         (WebCore::HTMLOptionElement::childrenChanged):
860         (WebCore::HTMLOptionElement::insertedIntoTree):
861         * html/HTMLOptionElement.h:
862         (HTMLOptionElement):
863         (WebCore::HTMLOptionElement::ownElementDisabled):
864         * html/HTMLTagNames.in:
865
866 2012-03-21  Andrey Kosyakov  <caseq@chromium.org>
867
868         Web Inspector: expose getEventListeners() to console command line API
869         https://bugs.webkit.org/show_bug.cgi?id=81658
870
871         Reviewed by Yury Semikhatsky.
872
873         Test: inspector/console/command-line-api-getEventListeners.html
874
875         * bindings/js/JSInjectedScriptHostCustom.cpp:
876         (WebCore::JSInjectedScriptHost::functionDetails):
877         (WebCore):
878         (WebCore::getJSListenerFunctions):
879         (WebCore::JSInjectedScriptHost::getEventListeners):
880         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
881         (WebCore::getJSListenerFunctions):
882         (WebCore):
883         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
884         * inspector/InjectedScriptHost.cpp:
885         (WebCore::InjectedScriptHost::InjectedScriptHost):
886         (WebCore::InjectedScriptHost::disconnect):
887         (WebCore::InjectedScriptHost::getEventListenersImpl):
888         (WebCore):
889         * inspector/InjectedScriptHost.h:
890         (WebCore):
891         (WebCore::InjectedScriptHost::init):
892         (InjectedScriptHost):
893         * inspector/InjectedScriptHost.idl:
894         * inspector/InjectedScriptSource.js:
895         (.):
896         * inspector/InspectorController.cpp:
897         (WebCore::InspectorController::InspectorController):
898         * inspector/InspectorDOMAgent.cpp:
899         (WebCore::InspectorDOMAgent::getEventListenersForNode):
900         (WebCore::InspectorDOMAgent::getEventListeners):
901         (WebCore):
902         * inspector/InspectorDOMAgent.h:
903         (InspectorDOMAgent):
904         * inspector/WorkerInspectorController.cpp:
905         (WebCore::WorkerInspectorController::WorkerInspectorController):
906
907 2012-03-21  Kentaro Hara  <haraken@chromium.org>
908
909         Unreviewed, rebaselined run-bindings-tests results.
910
911         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
912         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
913         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
914         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
915
916 2012-03-21  Ian Vollick  <vollick@chromium.org>
917
918         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
919         https://bugs.webkit.org/show_bug.cgi?id=81692
920
921         Reviewed by Adrienne Walker.
922
923         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
924
925         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
926
927 2012-03-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
928
929         [Qt] Cookie Jar blocks on fsync in SQLITE
930         https://bugs.webkit.org/show_bug.cgi?id=81755
931
932         Reviewed by Simon Hausmann.
933
934         Set PRAGMA synchronous to OFF, which tells SQLITE to never fsync.
935
936         * platform/qt/CookieJarQt.cpp:
937         (WebCore::SharedCookieJarQt::ensureDatabaseTable):
938
939 2012-03-21  Ian Vollick  <vollick@chromium.org>
940
941         [chromium] Animation events should only be used for synchronizing animation start times
942         https://bugs.webkit.org/show_bug.cgi?id=81484
943
944         Reviewed by Adrienne Walker.
945
946         Tested in CCLayerTreeHostTestSynchronizeAnimationStartTimes
947
948         Eliminated animation finished events. Animations will finish naturally on the
949         main thread and the final values will be set.
950
951         Animation started events are now also used to synchronize the main thread
952         animations' start times with their impl thread equivalents, preventing skew.
953         Until main thread animations receive their synchronized start times, they will
954         apply their initial values (i.e., they will be paused at time zero). This
955         guarantees that we will not jump to the animation's final value on the main
956         thread while we wait for the synchronized start time.
957
958         * WebCore.gypi:
959         * platform/graphics/chromium/LayerChromium.cpp:
960         (WebCore::LayerChromium::notifyAnimationStarted):
961         * platform/graphics/chromium/LayerChromium.h:
962         (WebCore):
963         (LayerChromium):
964         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
965         (WebCore::CCActiveAnimation::CCActiveAnimation):
966         * platform/graphics/chromium/cc/CCActiveAnimation.h:
967         (CCActiveAnimation):
968         (WebCore::CCActiveAnimation::needsSynchronizedStartTime):
969         (WebCore::CCActiveAnimation::setNeedsSynchronizedStartTime):
970         * platform/graphics/chromium/cc/CCAnimationEvents.cpp: Removed.
971         * platform/graphics/chromium/cc/CCAnimationEvents.h:
972         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
973         (CCAnimationStartedEvent):
974         (WebCore):
975         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
976         (WebCore::CCLayerAnimationController::animate):
977         (WebCore::CCLayerAnimationController::notifyAnimationStarted):
978         (WebCore):
979         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
980         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
981         (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
982         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
983         (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
984         (WebCore::CCLayerAnimationController::tickAnimations):
985         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
986         (CCLayerAnimationController):
987         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
988         (WebCore::CCLayerTreeHost::updateAnimations):
989         (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
990         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
991         (CCLayerTreeHost):
992
993 2012-03-21  Zeno Albisser  <zeno@webkit.org>
994
995         [Qt][WK2][Mac] MiniBrowser asserts at HashTable.h:480
996         https://bugs.webkit.org/show_bug.cgi?id=81113
997
998         The GLContext is created by QWindow/QSurface using
999         QOpenGLContext which is implemented using NSOpenGL functions
1000         on mac. Therefore we should use QOpenGLContext as well when
1001         querying for the current context. AGL is not supposed
1002         to be paired with NSOpenGL.
1003         Altering the typedef for GLContext is fine, since
1004         the GLContext type is only used as a key in a map.
1005
1006         Reviewed by Kenneth Rohde Christiansen.
1007
1008         * platform/graphics/texmap/TextureMapperGL.cpp:
1009         (SharedGLData):
1010         (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
1011
1012 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
1013
1014         Web Inspector: HeapSnapshot: make _bfs twice as fast as the old version.
1015         https://bugs.webkit.org/show_bug.cgi?id=81756
1016
1017         Reviewed by Yury Semikhatsky.
1018
1019         * inspector/front-end/HeapSnapshot.js:
1020         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
1021         (WebInspector.HeapSnapshot.prototype._bfs):
1022
1023 2012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
1024
1025         https://bugs.webkit.org/show_bug.cgi?id=81705
1026         REGRESSION (r111416): fast/dom/prototype-inheritance-2.html is failing.
1027
1028         Reviewed by Csaba Osztrogonác.
1029
1030         No new tests.
1031
1032         * bindings/js/JSDOMBinding.h: Needs passing globalObject to constructArray().
1033         (WebCore::jsArray):
1034
1035 2012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1036
1037         [BlackBerry] Upstreaming blackberry specific css file
1038         https://bugs.webkit.org/show_bug.cgi?id=81650
1039
1040         Ustream BlackBerry specific css files, including:
1041         css/themeBlackBerry.css
1042         css/mediaControlsBlackBerry.css
1043
1044         Reviewed by Nikolas Zimmermann.
1045
1046         No new tests, this is the initial upstream patch
1047         for BlackBerry specific css files.
1048
1049         * css/mediaControlsBlackBerry.css: Added.
1050         (audio):
1051         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
1052         (video:-webkit-full-page-media::-webkit-media-controls-panel):
1053         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
1054         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
1055         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
1056         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
1057         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
1058         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
1059         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
1060         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
1061         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
1062         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
1063         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
1064         * css/themeBlackBerry.css: Added.
1065         (textarea):
1066         (input, textarea):
1067         (input[type="color"]):
1068         (select:focus):
1069         (select[size][multiple]):
1070         (select[size][multiple]:focus):
1071
1072 2012-03-21  Levi Weintraub  <leviw@chromium.org>
1073
1074         Update LayoutUnit usage in descendants of RenderReplaced
1075         https://bugs.webkit.org/show_bug.cgi?id=80918
1076
1077         Reviewed by Eric Seidel.
1078
1079         Replaced elements have to flow in the new sub-pixel Render Tree, but since the rendering of these
1080         often takes place outside of WebCore (or in cases such as foreign objects, in WebCore after
1081         passing through platform code), care must be taken to determine the final rendered size and
1082         location before render time. This patch brings these classes up to the latest and greatest in the
1083         subpixellayout branch.
1084
1085         See https://trac.webkit.org/wiki/LayoutUnit for more information.
1086
1087         No new tests. No change in behavior.
1088
1089         * rendering/RenderFrameBase.cpp:
1090         (WebCore::RenderFrameBase::layoutWithFlattening): Build Fix.
1091         * rendering/RenderFullScreen.cpp:
1092         (RenderFullScreen::createPlaceholder): Ditto.
1093         * rendering/RenderFullScreen.h:
1094         (RenderFullScreen): Ditto.
1095         * rendering/RenderHTMLCanvas.cpp:
1096         (WebCore::RenderHTMLCanvas::canvasSizeChanged): Ditto.
1097         * rendering/RenderIFrame.cpp:
1098         (WebCore::RenderIFrame::computeLogicalHeight): Ditto.
1099         (WebCore::RenderIFrame::computeLogicalWidth): Ditto.
1100         * rendering/RenderImage.cpp:
1101         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Intrinsic sizes are always integers, since they
1102         originate outside of WebCore.
1103         (WebCore::RenderImage::paintIntoRect): Use pixel snapping to paint into an arbitrary rect.
1104         (WebCore::RenderImage::computeReplacedLogicalWidth): Intrinsic size is always integral -- rounding
1105         values to integers.
1106         * rendering/RenderImage.h:
1107         (RenderImage):
1108         * rendering/RenderVideo.cpp:
1109         (WebCore::RenderVideo::videoBox):
1110         (WebCore::RenderVideo::paintReplaced): Painting at integer boundaries.
1111         * rendering/RenderWidget.cpp:
1112         (WebCore):
1113         (WebCore::roundedIntRect): Widgets are rendered outside of WebCore, so we always align them to
1114         integer boundaries. This means we can actually round the size of our ultimate content box. This
1115         function is implemented here specifically to prevent its misuse if we put it elsewhere.
1116         (WebCore::RenderWidget::setWidgetGeometry): We simplify layout by taking a LayoutRect and rounding
1117         it to its final location within this function.
1118         (WebCore::RenderWidget::updateWidgetGeometry): We keep things in LayoutUnits until handing off to
1119         setWidgetGeometry.
1120         (WebCore::RenderWidget::paint): Rounding the paint location before handing painting off to the
1121         widget itself.
1122         * rendering/RenderWidget.h:
1123         (RenderWidget):
1124
1125 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
1126
1127         Web Inspector: HeapProfiler: support distance column in Summary View.
1128         https://bugs.webkit.org/show_bug.cgi?id=81675
1129
1130         In many cases when a page leaked an object we see not only this object
1131         but the all objects it retains. It is quite difficult to find out which
1132         the object is the root of leak. It'd be simpler to sort the leaked
1133         objects by Distance column and track down the first one.
1134
1135         Reviewed by Yury Semikhatsky.
1136
1137         * inspector/front-end/DetailedHeapshotGridNodes.js:
1138         (WebInspector.HeapSnapshotGenericObjectNode):
1139         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
1140         (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
1141         (WebInspector.HeapSnapshotConstructorNode):
1142         (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
1143         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
1144         * inspector/front-end/DetailedHeapshotView.js:
1145         (WebInspector.HeapSnapshotConstructorsDataGrid):
1146         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
1147         * inspector/front-end/HeapSnapshot.js:
1148         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
1149
1150 2012-03-21  Charles Wei  <charles.wei@torchmobile.com.cn>
1151
1152         [BlackBerry] Remove redundant code in SocketStreamHandler
1153         https://bugs.webkit.org/show_bug.cgi?id=81726
1154
1155         Reviewed by George Staikos.
1156
1157         No new tests needed. Just remove redundant code.
1158
1159         * platform/network/blackberry/SocketStreamHandle.h:
1160         (SocketStreamHandle):
1161         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
1162
1163 2012-03-20  Eric Seidel  <eric@webkit.org>
1164
1165         Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
1166         https://bugs.webkit.org/show_bug.cgi?id=80911
1167
1168         Reviewed by Adam Barth.
1169
1170         * CMakeLists.txt:
1171          - Look for headers in Source/WTF as well.
1172
1173 2012-03-20  Dana Jansens  <danakj@chromium.org>
1174
1175         [chromium] Use origin transform to transform occlusion from surface content space to its target content space
1176         https://bugs.webkit.org/show_bug.cgi?id=81730
1177
1178         Reviewed by Adrienne Walker.
1179
1180         Unit test: CCOcclusionTrackerTestSurfaceOcclusionTranslatesToParent
1181
1182         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1183         (WebCore::transformSurfaceOpaqueRegion):
1184         (WebCore::::leaveToTargetRenderSurface):
1185
1186 2012-03-19  Shinya Kawanaka  <shinyak@chromium.org>
1187
1188         [Crash] RenderMenuList::addChild() in Shadow DOM.
1189         https://bugs.webkit.org/show_bug.cgi?id=81201
1190
1191         Reviewed by Dimitri Glazkov.
1192
1193         <audio>, <video>, <meter>, <progress>, and <select> are implemented using
1194         Shadow DOM having HTMLContentElement. Their renderer children basically should not
1195         create a renderer unless they are on the upper shadow encapsulation boundary,
1196         which means they are the direct children of the shadow root.
1197
1198         However, current implementation allows their renderer children to create a renderer
1199         even if they are on a lower shadow encapsulation boundary, which means
1200         they are distributed elements of HTMLContentElement.
1201
1202         This patch makes there renderer children not to create a renderer if they are on a lower shadow
1203         encapsulation boudary.
1204
1205         Tests: fast/dom/shadow/content-element-in-media-element.html
1206                fast/dom/shadow/content-element-in-meter-element.html
1207                fast/dom/shadow/content-element-in-progress-element.html
1208                fast/dom/shadow/content-element-in-select-element.html
1209
1210         * dom/NodeRenderingContext.h:
1211         (NodeRenderingContext):
1212         (WebCore::NodeRenderingContext::isOnUpperEncapsulationBoundary):
1213         (WebCore):
1214         * html/HTMLMediaElement.cpp:
1215         (WebCore::HTMLMediaElement::childShouldCreateRenderer):
1216         * html/HTMLMeterElement.cpp:
1217         (WebCore::HTMLMeterElement::childShouldCreateRenderer):
1218         * html/HTMLProgressElement.cpp:
1219         (WebCore::HTMLProgressElement::childShouldCreateRenderer):
1220         * html/HTMLSelectElement.cpp:
1221         (WebCore::HTMLSelectElement::childShouldCreateRenderer):
1222
1223 2012-03-20  Dana Jansens  <danakj@chromium.org>
1224
1225         [chromium] Store origin/screen space transforms for surface and replica in the surface
1226         https://bugs.webkit.org/show_bug.cgi?id=81296
1227
1228         Reviewed by Adrienne Walker.
1229
1230         Compute and save a number of transforms for render surfaces. The origin
1231         tranform for the replica into its target surface. The origin transform
1232         for the replica into the screen. And the origin transform for the surface
1233         into the screen.
1234
1235         These transforms will allow us to detect occlusion of render surfaces,
1236         allowing us to cull (or partially-cull) the render surface quad during
1237         drawing.
1238
1239         This also fixes a subtle bug in the transforms used by the damage
1240         tracking code.
1241
1242         Unit test: CCLayerTreeHostCommonTest.verifyTransformsForSingleRenderSurface
1243                    CCLayerTreeHostCommonTest.verifyTransformsForReplica
1244                    CCLayerTreeHostCommonTest.verifyTransformsForRenderSurfaceHierarchy
1245
1246         * platform/graphics/chromium/RenderSurfaceChromium.h:
1247         (WebCore::RenderSurfaceChromium::screenSpaceTransform):
1248         (WebCore::RenderSurfaceChromium::setScreenSpaceTransform):
1249         (RenderSurfaceChromium):
1250         (WebCore::RenderSurfaceChromium::replicaOriginTransform):
1251         (WebCore::RenderSurfaceChromium::setReplicaOriginTransform):
1252         (WebCore::RenderSurfaceChromium::replicaScreenSpaceTransform):
1253         (WebCore::RenderSurfaceChromium::setReplicaScreenSpaceTransform):
1254         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1255         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
1256         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1257         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1258         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1259         (WebCore::damageInSurfaceSpace):
1260         * platform/graphics/chromium/cc/CCRenderSurface.h:
1261         (WebCore::CCRenderSurface::setDrawTransform):
1262         (WebCore::CCRenderSurface::drawTransform):
1263         (WebCore::CCRenderSurface::setScreenSpaceTransform):
1264         (WebCore::CCRenderSurface::screenSpaceTransform):
1265         (CCRenderSurface):
1266         (WebCore::CCRenderSurface::setReplicaDrawTransform):
1267         (WebCore::CCRenderSurface::replicaDrawTransform):
1268         (WebCore::CCRenderSurface::setReplicaOriginTransform):
1269         (WebCore::CCRenderSurface::replicaOriginTransform):
1270         (WebCore::CCRenderSurface::setReplicaScreenSpaceTransform):
1271         (WebCore::CCRenderSurface::replicaScreenSpaceTransform):
1272
1273 2012-03-20  Yoshifumi Inoue  <yosin@chromium.org>
1274
1275         [Forms] The option element should not be form associated element.
1276         https://bugs.webkit.org/show_bug.cgi?id=79764
1277
1278         Reviewed by Kent Tamura.
1279
1280         This patch changes base class of HTMLOptionELement to HTMLElement
1281         from HTMLFormControlElement for saving memory space and iteration
1282         time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
1283         and matching the HTML5 specification for ease of maintenance.
1284
1285         This patch changes behavior of handling of CSS pseudo classes "invalid"
1286         and "valid". The "option" elements no longer use these CSS pseudo classes
1287         as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
1288
1289         Changes of TextIterator is lead by usage of isFormControlElement. This
1290         changes will be replaced with more meaningful predicate as part of
1291         https://bugs.webkit.org/show_bug.cgi?id=80381
1292
1293         No new tests but updated select-live-pseudo-selectors.html test.
1294
1295         * css/CSSStyleSelector.cpp:
1296         (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
1297         * css/SelectorChecker.cpp:
1298         (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
1299         * html/HTMLKeygenElement.cpp:
1300         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
1301         * html/HTMLOptionElement.cpp:
1302         (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
1303         (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
1304         (WebCore::HTMLOptionElement::attach): Changeid base class.
1305         (WebCore::HTMLOptionElement::detach): Changed base class.
1306         (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
1307         (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
1308         (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
1309         * html/HTMLOptionElement.h:
1310         (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
1311         (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
1312         * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
1313
1314 2012-03-20  Xiaomei Ji  <xji@chromium.org>
1315
1316         Crash introduced in r110965.
1317         https://bugs.webkit.org/show_bug.cgi?id=81720
1318
1319         Reviewed by Ryosuke Niwa.
1320
1321         Since word break iterator just keeps a pointer to the UChar array given to the constructor,
1322         we need to allocate the UChar array deeper in the stack than the iterator.
1323
1324         Test: editing/selection/move-by-word-visually-crash-test-5.html
1325
1326         * editing/visible_units.cpp:
1327         (WebCore::wordBreakIteratorForMinOffsetBoundary):
1328         (WebCore::wordBreakIteratorForMaxOffsetBoundary):
1329         (WebCore::visualWordPosition):
1330
1331 2012-03-20  W. James MacLean  <wjmaclean@chromium.org>
1332
1333         [chromium] Convert TouchFlingPlatformGestureCurve to a 2-D Bezier for better control of curve shape.
1334         https://bugs.webkit.org/show_bug.cgi?id=81713
1335
1336         Reviewed by Dirk Pranke.
1337
1338         Exisiting unit test revised to cover this change.
1339
1340         Change the fling gesture animation curve to use a 2-D Bezier to obtain greater control
1341         over the shape of the curve. Also, change time scaling code to be logarithmic for more
1342         natural feel.
1343
1344         * platform/TouchFlingPlatformGestureCurve.cpp:
1345         (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
1346         (WebCore::TouchFlingPlatformGestureCurve::apply):
1347
1348 2012-03-18  Tim Horton  <timothy_horton@apple.com>
1349
1350         Infinite repaint loop with SVGImageCache and deferred repaint timers
1351         https://bugs.webkit.org/show_bug.cgi?id=78315
1352         <rdar://problem/10651634>
1353
1354         Reviewed by Nikolas Zimmermann.
1355
1356         Only defer image redraw on a timer if we're in layout. This breaks
1357         the repaint loop while still preventing us from drawing inside layout.
1358
1359         Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
1360         preventing deferred repaint timers from being started during that process.
1361
1362         No new tests, as the problem only occurs in a nonstandard configuration.
1363
1364         * page/FrameView.cpp:
1365         (WebCore::FrameView::FrameView):
1366         (WebCore::FrameView::reset):
1367         (WebCore::FrameView::repaintContentRectangle):
1368         (WebCore::FrameView::endDeferredRepaints):
1369         (WebCore::FrameView::startDeferredRepaintTimer):
1370         (WebCore):
1371         (WebCore::FrameView::doDeferredRepaints):
1372         (WebCore::FrameView::deferredRepaintTimerFired):
1373         (WebCore::FrameView::beginDisableRepaints):
1374         (WebCore::FrameView::endDisableRepaints):
1375         * page/FrameView.h:
1376         (FrameView):
1377         (WebCore::FrameView::repaintsDisabled):
1378         * rendering/RenderView.cpp:
1379         (WebCore::RenderView::shouldRepaint):
1380         * svg/graphics/SVGImage.cpp:
1381         (WebCore::SVGImage::drawSVGToImageBuffer):
1382         (WebCore::SVGImage::draw):
1383         (WebCore::SVGImage::frameView):
1384         (WebCore):
1385         * svg/graphics/SVGImage.h:
1386         (WebCore):
1387         * svg/graphics/SVGImageCache.cpp:
1388         (WebCore::SVGImageCache::imageContentChanged):
1389         (WebCore::SVGImageCache::redraw):
1390         (WebCore::SVGImageCache::redrawTimerFired):
1391         (WebCore):
1392         * svg/graphics/SVGImageCache.h:
1393         (SVGImageCache):
1394
1395 2012-03-20  Adam Klein  <adamk@chromium.org>
1396
1397         Include fix for dom/xhtml test promised in r111449.
1398
1399         * dom/ContainerNode.cpp:
1400         (WebCore::ContainerNode::replaceChild): Check against next instead of
1401         prev when deciding there's no work to do.
1402
1403 2012-03-20  Jon Lee  <jonlee@apple.com>
1404
1405         Restrict access to notifications for unique origins and file URLs with no local file access
1406         https://bugs.webkit.org/show_bug.cgi?id=79704
1407         <rdar://problem/10912430>
1408
1409         Reviewed by Adam Barth.
1410
1411         Before checking or requesting permissions, we look at whether we can show notifications based on
1412         the security context. If not, we short circuit and do not forward the request to the client.
1413
1414         * notifications/Notification.cpp:
1415         (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
1416         different logic for checking permissions than when checking permissions through the
1417         notification center.
1418         * notifications/NotificationCenter.cpp:
1419         (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
1420         (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
1421         we asynchronously call the callback with that decision. Otherwise we ask the client.
1422
1423         Add new variable in the notification center to keep track of pending callbacks when we short-circuit
1424         requestPermission().
1425         * notifications/NotificationCenter.h:
1426         (NotificationRequestCallback): Add new private class encapsulating the callback.
1427         * notifications/NotificationCenter.cpp:
1428         (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
1429         (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
1430         know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
1431         to invoke the callback.
1432         (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
1433         (WebCore::NotificationCenter::NotificationRequest::startTimer):
1434         (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
1435         center.
1436         * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
1437         regardless of any restrictions that might otherwise cause toString() to return "null".
1438         * page/SecurityOrigin.cpp:
1439         (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
1440         the origin can show notifications. If the origin is unique, we never let it show. If the origin has
1441         universal access, we always let it show. Otherwise the client should be asked.
1442         (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
1443         (WebCore::SecurityOrigin::toRawString):
1444
1445         Added FIXME's regarding the naming of enforceFilePathSeparation().
1446         * dom/Document.cpp:
1447         (WebCore::Document::initSecurityContext): Also, tab reformatting.
1448
1449         * WebCore.exp.in: Export toRawString().
1450
1451 2012-03-20  Mark Pilgrim  <pilgrim@chromium.org>
1452
1453         Move webaudio to Modules/webaudio/
1454         https://bugs.webkit.org/show_bug.cgi?id=81541
1455
1456         Reviewed by Kentaro Hara.
1457
1458         No new tests, all existing tests pass.
1459
1460         * CMakeLists.txt:
1461         * DerivedSources.make:
1462         * DerivedSources.pri:
1463         * GNUmakefile.am:
1464         * GNUmakefile.list.am:
1465         * Modules/webaudio: Added.
1466         * Modules/webaudio/AsyncAudioDecoder.cpp: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.cpp.
1467         * Modules/webaudio/AsyncAudioDecoder.h: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.h.
1468         * Modules/webaudio/AudioBasicProcessorNode.cpp: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.cpp.
1469         * Modules/webaudio/AudioBasicProcessorNode.h: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.h.
1470         * Modules/webaudio/AudioBuffer.cpp: Copied from Source/WebCore/webaudio/AudioBuffer.cpp.
1471         * Modules/webaudio/AudioBuffer.h: Copied from Source/WebCore/webaudio/AudioBuffer.h.
1472         * Modules/webaudio/AudioBuffer.idl: Copied from Source/WebCore/webaudio/AudioBuffer.idl.
1473         * Modules/webaudio/AudioBufferCallback.h: Copied from Source/WebCore/webaudio/AudioBufferCallback.h.
1474         * Modules/webaudio/AudioBufferCallback.idl: Copied from Source/WebCore/webaudio/AudioBufferCallback.idl.
1475         * Modules/webaudio/AudioBufferSourceNode.cpp: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.cpp.
1476         * Modules/webaudio/AudioBufferSourceNode.h: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.h.
1477         * Modules/webaudio/AudioBufferSourceNode.idl: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.idl.
1478         * Modules/webaudio/AudioChannelMerger.cpp: Copied from Source/WebCore/webaudio/AudioChannelMerger.cpp.
1479         * Modules/webaudio/AudioChannelMerger.h: Copied from Source/WebCore/webaudio/AudioChannelMerger.h.
1480         * Modules/webaudio/AudioChannelMerger.idl: Copied from Source/WebCore/webaudio/AudioChannelMerger.idl.
1481         * Modules/webaudio/AudioChannelSplitter.cpp: Copied from Source/WebCore/webaudio/AudioChannelSplitter.cpp.
1482         * Modules/webaudio/AudioChannelSplitter.h: Copied from Source/WebCore/webaudio/AudioChannelSplitter.h.
1483         * Modules/webaudio/AudioChannelSplitter.idl: Copied from Source/WebCore/webaudio/AudioChannelSplitter.idl.
1484         * Modules/webaudio/AudioContext.cpp: Copied from Source/WebCore/webaudio/AudioContext.cpp.
1485         * Modules/webaudio/AudioContext.h: Copied from Source/WebCore/webaudio/AudioContext.h.
1486         * Modules/webaudio/AudioContext.idl: Copied from Source/WebCore/webaudio/AudioContext.idl.
1487         * Modules/webaudio/AudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/AudioDestinationNode.cpp.
1488         * Modules/webaudio/AudioDestinationNode.h: Copied from Source/WebCore/webaudio/AudioDestinationNode.h.
1489         * Modules/webaudio/AudioDestinationNode.idl: Copied from Source/WebCore/webaudio/AudioDestinationNode.idl.
1490         * Modules/webaudio/AudioGain.h: Copied from Source/WebCore/webaudio/AudioGain.h.
1491         * Modules/webaudio/AudioGain.idl: Copied from Source/WebCore/webaudio/AudioGain.idl.
1492         * Modules/webaudio/AudioGainNode.cpp: Copied from Source/WebCore/webaudio/AudioGainNode.cpp.
1493         * Modules/webaudio/AudioGainNode.h: Copied from Source/WebCore/webaudio/AudioGainNode.h.
1494         * Modules/webaudio/AudioGainNode.idl: Copied from Source/WebCore/webaudio/AudioGainNode.idl.
1495         * Modules/webaudio/AudioListener.cpp: Copied from Source/WebCore/webaudio/AudioListener.cpp.
1496         * Modules/webaudio/AudioListener.h: Copied from Source/WebCore/webaudio/AudioListener.h.
1497         * Modules/webaudio/AudioListener.idl: Copied from Source/WebCore/webaudio/AudioListener.idl.
1498         * Modules/webaudio/AudioNode.cpp: Copied from Source/WebCore/webaudio/AudioNode.cpp.
1499         * Modules/webaudio/AudioNode.h: Copied from Source/WebCore/webaudio/AudioNode.h.
1500         * Modules/webaudio/AudioNode.idl: Copied from Source/WebCore/webaudio/AudioNode.idl.
1501         * Modules/webaudio/AudioNodeInput.cpp: Copied from Source/WebCore/webaudio/AudioNodeInput.cpp.
1502         * Modules/webaudio/AudioNodeInput.h: Copied from Source/WebCore/webaudio/AudioNodeInput.h.
1503         * Modules/webaudio/AudioNodeOutput.cpp: Copied from Source/WebCore/webaudio/AudioNodeOutput.cpp.
1504         * Modules/webaudio/AudioNodeOutput.h: Copied from Source/WebCore/webaudio/AudioNodeOutput.h.
1505         * Modules/webaudio/AudioPannerNode.cpp: Copied from Source/WebCore/webaudio/AudioPannerNode.cpp.
1506         * Modules/webaudio/AudioPannerNode.h: Copied from Source/WebCore/webaudio/AudioPannerNode.h.
1507         * Modules/webaudio/AudioPannerNode.idl: Copied from Source/WebCore/webaudio/AudioPannerNode.idl.
1508         * Modules/webaudio/AudioParam.cpp: Copied from Source/WebCore/webaudio/AudioParam.cpp.
1509         * Modules/webaudio/AudioParam.h: Copied from Source/WebCore/webaudio/AudioParam.h.
1510         * Modules/webaudio/AudioParam.idl: Copied from Source/WebCore/webaudio/AudioParam.idl.
1511         * Modules/webaudio/AudioParamTimeline.cpp: Copied from Source/WebCore/webaudio/AudioParamTimeline.cpp.
1512         * Modules/webaudio/AudioParamTimeline.h: Copied from Source/WebCore/webaudio/AudioParamTimeline.h.
1513         * Modules/webaudio/AudioProcessingEvent.cpp: Copied from Source/WebCore/webaudio/AudioProcessingEvent.cpp.
1514         * Modules/webaudio/AudioProcessingEvent.h: Copied from Source/WebCore/webaudio/AudioProcessingEvent.h.
1515         * Modules/webaudio/AudioProcessingEvent.idl: Copied from Source/WebCore/webaudio/AudioProcessingEvent.idl.
1516         * Modules/webaudio/AudioSourceNode.h: Copied from Source/WebCore/webaudio/AudioSourceNode.h.
1517         * Modules/webaudio/AudioSourceNode.idl: Copied from Source/WebCore/webaudio/AudioSourceNode.idl.
1518         * Modules/webaudio/BiquadDSPKernel.cpp: Copied from Source/WebCore/webaudio/BiquadDSPKernel.cpp.
1519         * Modules/webaudio/BiquadDSPKernel.h: Copied from Source/WebCore/webaudio/BiquadDSPKernel.h.
1520         * Modules/webaudio/BiquadFilterNode.cpp: Copied from Source/WebCore/webaudio/BiquadFilterNode.cpp.
1521         * Modules/webaudio/BiquadFilterNode.h: Copied from Source/WebCore/webaudio/BiquadFilterNode.h.
1522         * Modules/webaudio/BiquadFilterNode.idl: Copied from Source/WebCore/webaudio/BiquadFilterNode.idl.
1523         * Modules/webaudio/BiquadProcessor.cpp: Copied from Source/WebCore/webaudio/BiquadProcessor.cpp.
1524         * Modules/webaudio/BiquadProcessor.h: Copied from Source/WebCore/webaudio/BiquadProcessor.h.
1525         * Modules/webaudio/ConvolverNode.cpp: Copied from Source/WebCore/webaudio/ConvolverNode.cpp.
1526         * Modules/webaudio/ConvolverNode.h: Copied from Source/WebCore/webaudio/ConvolverNode.h.
1527         * Modules/webaudio/ConvolverNode.idl: Copied from Source/WebCore/webaudio/ConvolverNode.idl.
1528         * Modules/webaudio/DOMWindowWebAudio.idl: Copied from Source/WebCore/webaudio/DOMWindowWebAudio.idl.
1529         * Modules/webaudio/DefaultAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.cpp.
1530         * Modules/webaudio/DefaultAudioDestinationNode.h: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.h.
1531         * Modules/webaudio/DelayDSPKernel.cpp: Copied from Source/WebCore/webaudio/DelayDSPKernel.cpp.
1532         * Modules/webaudio/DelayDSPKernel.h: Copied from Source/WebCore/webaudio/DelayDSPKernel.h.
1533         * Modules/webaudio/DelayNode.cpp: Copied from Source/WebCore/webaudio/DelayNode.cpp.
1534         * Modules/webaudio/DelayNode.h: Copied from Source/WebCore/webaudio/DelayNode.h.
1535         * Modules/webaudio/DelayNode.idl: Copied from Source/WebCore/webaudio/DelayNode.idl.
1536         * Modules/webaudio/DelayProcessor.cpp: Copied from Source/WebCore/webaudio/DelayProcessor.cpp.
1537         * Modules/webaudio/DelayProcessor.h: Copied from Source/WebCore/webaudio/DelayProcessor.h.
1538         * Modules/webaudio/DynamicsCompressorNode.cpp: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.cpp.
1539         * Modules/webaudio/DynamicsCompressorNode.h: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.h.
1540         * Modules/webaudio/DynamicsCompressorNode.idl: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.idl.
1541         * Modules/webaudio/HighPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/HighPass2FilterNode.cpp.
1542         * Modules/webaudio/HighPass2FilterNode.h: Copied from Source/WebCore/webaudio/HighPass2FilterNode.h.
1543         * Modules/webaudio/HighPass2FilterNode.idl: Copied from Source/WebCore/webaudio/HighPass2FilterNode.idl.
1544         * Modules/webaudio/JavaScriptAudioNode.cpp: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.cpp.
1545         * Modules/webaudio/JavaScriptAudioNode.h: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.h.
1546         * Modules/webaudio/JavaScriptAudioNode.idl: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.idl.
1547         * Modules/webaudio/LowPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/LowPass2FilterNode.cpp.
1548         * Modules/webaudio/LowPass2FilterNode.h: Copied from Source/WebCore/webaudio/LowPass2FilterNode.h.
1549         * Modules/webaudio/LowPass2FilterNode.idl: Copied from Source/WebCore/webaudio/LowPass2FilterNode.idl.
1550         * Modules/webaudio/MediaElementAudioSourceNode.cpp: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.cpp.
1551         * Modules/webaudio/MediaElementAudioSourceNode.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
1552         * Modules/webaudio/MediaElementAudioSourceNode.idl: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.idl.
1553         * Modules/webaudio/OfflineAudioCompletionEvent.cpp: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.cpp.
1554         * Modules/webaudio/OfflineAudioCompletionEvent.h: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.h.
1555         * Modules/webaudio/OfflineAudioCompletionEvent.idl: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.idl.
1556         * Modules/webaudio/OfflineAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp.
1557         * Modules/webaudio/OfflineAudioDestinationNode.h: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.h.
1558         * Modules/webaudio/RealtimeAnalyser.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyser.cpp.
1559         * Modules/webaudio/RealtimeAnalyser.h: Copied from Source/WebCore/webaudio/RealtimeAnalyser.h.
1560         * Modules/webaudio/RealtimeAnalyserNode.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.cpp.
1561         * Modules/webaudio/RealtimeAnalyserNode.h: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.h.
1562         * Modules/webaudio/RealtimeAnalyserNode.idl: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.idl.
1563         * Modules/webaudio/WaveShaperDSPKernel.cpp: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.cpp.
1564         * Modules/webaudio/WaveShaperDSPKernel.h: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.h.
1565         * Modules/webaudio/WaveShaperNode.cpp: Copied from Source/WebCore/webaudio/WaveShaperNode.cpp.
1566         * Modules/webaudio/WaveShaperNode.h: Copied from Source/WebCore/webaudio/WaveShaperNode.h.
1567         * Modules/webaudio/WaveShaperNode.idl: Copied from Source/WebCore/webaudio/WaveShaperNode.idl.
1568         * Modules/webaudio/WaveShaperProcessor.cpp: Copied from Source/WebCore/webaudio/WaveShaperProcessor.cpp.
1569         * Modules/webaudio/WaveShaperProcessor.h: Copied from Source/WebCore/webaudio/WaveShaperProcessor.h.
1570         * WebCore.gyp/WebCore.gyp:
1571         * WebCore.gypi:
1572         * WebCore.pri:
1573         * WebCore.xcodeproj/project.pbxproj:
1574         * webaudio/AsyncAudioDecoder.cpp: Removed.
1575         * webaudio/AsyncAudioDecoder.h: Removed.
1576         * webaudio/AudioBasicProcessorNode.cpp: Removed.
1577         * webaudio/AudioBasicProcessorNode.h: Removed.
1578         * webaudio/AudioBuffer.cpp: Removed.
1579         * webaudio/AudioBuffer.h: Removed.
1580         * webaudio/AudioBuffer.idl: Removed.
1581         * webaudio/AudioBufferCallback.h: Removed.
1582         * webaudio/AudioBufferCallback.idl: Removed.
1583         * webaudio/AudioBufferSourceNode.cpp: Removed.
1584         * webaudio/AudioBufferSourceNode.h: Removed.
1585         * webaudio/AudioBufferSourceNode.idl: Removed.
1586         * webaudio/AudioChannelMerger.cpp: Removed.
1587         * webaudio/AudioChannelMerger.h: Removed.
1588         * webaudio/AudioChannelMerger.idl: Removed.
1589         * webaudio/AudioChannelSplitter.cpp: Removed.
1590         * webaudio/AudioChannelSplitter.h: Removed.
1591         * webaudio/AudioChannelSplitter.idl: Removed.
1592         * webaudio/AudioContext.cpp: Removed.
1593         * webaudio/AudioContext.h: Removed.
1594         * webaudio/AudioContext.idl: Removed.
1595         * webaudio/AudioDestinationNode.cpp: Removed.
1596         * webaudio/AudioDestinationNode.h: Removed.
1597         * webaudio/AudioDestinationNode.idl: Removed.
1598         * webaudio/AudioGain.h: Removed.
1599         * webaudio/AudioGain.idl: Removed.
1600         * webaudio/AudioGainNode.cpp: Removed.
1601         * webaudio/AudioGainNode.h: Removed.
1602         * webaudio/AudioGainNode.idl: Removed.
1603         * webaudio/AudioListener.cpp: Removed.
1604         * webaudio/AudioListener.h: Removed.
1605         * webaudio/AudioListener.idl: Removed.
1606         * webaudio/AudioNode.cpp: Removed.
1607         * webaudio/AudioNode.h: Removed.
1608         * webaudio/AudioNode.idl: Removed.
1609         * webaudio/AudioNodeInput.cpp: Removed.
1610         * webaudio/AudioNodeInput.h: Removed.
1611         * webaudio/AudioNodeOutput.cpp: Removed.
1612         * webaudio/AudioNodeOutput.h: Removed.
1613         * webaudio/AudioPannerNode.cpp: Removed.
1614         * webaudio/AudioPannerNode.h: Removed.
1615         * webaudio/AudioPannerNode.idl: Removed.
1616         * webaudio/AudioParam.cpp: Removed.
1617         * webaudio/AudioParam.h: Removed.
1618         * webaudio/AudioParam.idl: Removed.
1619         * webaudio/AudioParamTimeline.cpp: Removed.
1620         * webaudio/AudioParamTimeline.h: Removed.
1621         * webaudio/AudioProcessingEvent.cpp: Removed.
1622         * webaudio/AudioProcessingEvent.h: Removed.
1623         * webaudio/AudioProcessingEvent.idl: Removed.
1624         * webaudio/AudioSourceNode.h: Removed.
1625         * webaudio/AudioSourceNode.idl: Removed.
1626         * webaudio/BiquadDSPKernel.cpp: Removed.
1627         * webaudio/BiquadDSPKernel.h: Removed.
1628         * webaudio/BiquadFilterNode.cpp: Removed.
1629         * webaudio/BiquadFilterNode.h: Removed.
1630         * webaudio/BiquadFilterNode.idl: Removed.
1631         * webaudio/BiquadProcessor.cpp: Removed.
1632         * webaudio/BiquadProcessor.h: Removed.
1633         * webaudio/ConvolverNode.cpp: Removed.
1634         * webaudio/ConvolverNode.h: Removed.
1635         * webaudio/ConvolverNode.idl: Removed.
1636         * webaudio/DOMWindowWebAudio.idl: Removed.
1637         * webaudio/DefaultAudioDestinationNode.cpp: Removed.
1638         * webaudio/DefaultAudioDestinationNode.h: Removed.
1639         * webaudio/DelayDSPKernel.cpp: Removed.
1640         * webaudio/DelayDSPKernel.h: Removed.
1641         * webaudio/DelayNode.cpp: Removed.
1642         * webaudio/DelayNode.h: Removed.
1643         * webaudio/DelayNode.idl: Removed.
1644         * webaudio/DelayProcessor.cpp: Removed.
1645         * webaudio/DelayProcessor.h: Removed.
1646         * webaudio/DynamicsCompressorNode.cpp: Removed.
1647         * webaudio/DynamicsCompressorNode.h: Removed.
1648         * webaudio/DynamicsCompressorNode.idl: Removed.
1649         * webaudio/HighPass2FilterNode.cpp: Removed.
1650         * webaudio/HighPass2FilterNode.h: Removed.
1651         * webaudio/HighPass2FilterNode.idl: Removed.
1652         * webaudio/JavaScriptAudioNode.cpp: Removed.
1653         * webaudio/JavaScriptAudioNode.h: Removed.
1654         * webaudio/JavaScriptAudioNode.idl: Removed.
1655         * webaudio/LowPass2FilterNode.cpp: Removed.
1656         * webaudio/LowPass2FilterNode.h: Removed.
1657         * webaudio/LowPass2FilterNode.idl: Removed.
1658         * webaudio/MediaElementAudioSourceNode.cpp: Removed.
1659         * webaudio/MediaElementAudioSourceNode.h: Removed.
1660         * webaudio/MediaElementAudioSourceNode.idl: Removed.
1661         * webaudio/OfflineAudioCompletionEvent.cpp: Removed.
1662         * webaudio/OfflineAudioCompletionEvent.h: Removed.
1663         * webaudio/OfflineAudioCompletionEvent.idl: Removed.
1664         * webaudio/OfflineAudioDestinationNode.cpp: Removed.
1665         * webaudio/OfflineAudioDestinationNode.h: Removed.
1666         * webaudio/RealtimeAnalyser.cpp: Removed.
1667         * webaudio/RealtimeAnalyser.h: Removed.
1668         * webaudio/RealtimeAnalyserNode.cpp: Removed.
1669         * webaudio/RealtimeAnalyserNode.h: Removed.
1670         * webaudio/RealtimeAnalyserNode.idl: Removed.
1671         * webaudio/WaveShaperDSPKernel.cpp: Removed.
1672         * webaudio/WaveShaperDSPKernel.h: Removed.
1673         * webaudio/WaveShaperNode.cpp: Removed.
1674         * webaudio/WaveShaperNode.h: Removed.
1675         * webaudio/WaveShaperNode.idl: Removed.
1676         * webaudio/WaveShaperProcessor.cpp: Removed.
1677         * webaudio/WaveShaperProcessor.h: Removed.
1678
1679 2012-03-20  Anders Carlsson  <andersca@apple.com>
1680
1681         Add a per-ScrollableArea tile cache base class
1682         https://bugs.webkit.org/show_bug.cgi?id=81694
1683
1684         Reviewed by Sam Weinig.
1685
1686         Add an abstract base class, TiledBacking, that can be used to inform tile caches about changed
1687         state in scrollable areas (such as the currently visible rect, whether the page is active or not, etc).
1688
1689         Make TileCache inherit from TiledBacking and port updating the visible rect over to this new mechanism.
1690
1691         * WebCore.xcodeproj/project.pbxproj:
1692         * page/FrameView.cpp:
1693         (WebCore::FrameView::tiledBacking):
1694         (WebCore):
1695         * page/FrameView.h:
1696         (FrameView):
1697         * platform/ScrollableArea.h:
1698         (WebCore):
1699         (ScrollableArea):
1700         (WebCore::ScrollableArea::tiledBacking):
1701         * platform/graphics/GraphicsLayer.h:
1702         (WebCore):
1703         (WebCore::GraphicsLayer::tiledBacking):
1704         * platform/graphics/TiledBacking.h: Added.
1705         (WebCore):
1706         (TiledBacking):
1707         (WebCore::TiledBacking::~TiledBacking):
1708         * platform/graphics/ca/GraphicsLayerCA.cpp:
1709         (WebCore::GraphicsLayerCA::tiledBacking):
1710         * platform/graphics/ca/GraphicsLayerCA.h:
1711         (GraphicsLayerCA):
1712         * platform/graphics/ca/PlatformCALayer.h:
1713         (PlatformCALayer):
1714         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1715         (PlatformCALayer::tiledBacking):
1716         * platform/graphics/ca/mac/TileCache.h:
1717         (TileCache):
1718         * platform/graphics/ca/mac/WebTileCacheLayer.h:
1719         (WebCore):
1720         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
1721         (-[WebTileCacheLayer WebCore::]):
1722         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1723         (PlatformCALayer::tiledBacking):
1724         * rendering/RenderLayerCompositor.cpp:
1725         (WebCore::RenderLayerCompositor::frameViewDidScroll):
1726
1727 2012-03-20  Xiaomei Ji  <xji@chromium.org>
1728
1729         visual word movement: crashes on CSS generated content.
1730         https://bugs.webkit.org/show_bug.cgi?id=81581
1731
1732         Reviewed by Ryosuke Niwa.
1733
1734         Check for null pointer when referencing box->renderer()->node() in previousRootInlineBox and nextRootInlineBox.
1735
1736         Test: editing/selection/move-by-word-visually-crash-test-css-generated-content.html
1737
1738         * editing/visible_units.cpp:
1739         (WebCore::previousRootInlineBox):
1740         (WebCore::nextRootInlineBox):
1741
1742 2012-03-20  Luke Macpherson  <macpherson@chromium.org>
1743
1744         Use CSSPrimitiveValue::convertToLength() to handle CSSPropertyWebkitBoxReflect and in createGridTrackBreadth.
1745         https://bugs.webkit.org/show_bug.cgi?id=81633
1746
1747         Reviewed by Andreas Kling.
1748
1749         No new tests / refactoring only.
1750
1751         * css/CSSStyleSelector.cpp:
1752         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1753
1754 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1755
1756         Unreviewed, rolling out r111442.
1757         http://trac.webkit.org/changeset/111442
1758         https://bugs.webkit.org/show_bug.cgi?id=81711
1759
1760         Causes crashes and image mismatches in canvas tests (Requested
1761         by leviw on #webkit).
1762
1763         * html/HTMLCanvasElement.cpp:
1764         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1765         (WebCore::HTMLCanvasElement::reset):
1766         (WebCore::HTMLCanvasElement::createImageBuffer):
1767         (WebCore::HTMLCanvasElement::clearCopiedImage):
1768         * html/HTMLCanvasElement.h:
1769         (HTMLCanvasElement):
1770         * html/canvas/CanvasRenderingContext2D.cpp:
1771         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1772         (WebCore::CanvasRenderingContext2D::unwindStateStack):
1773         (WebCore::CanvasRenderingContext2D::reset):
1774
1775 2012-03-20  Adrienne Walker  <enne@google.com>
1776
1777         RenderLayerCompositor doesn't properly clip graphics layer sizes
1778         https://bugs.webkit.org/show_bug.cgi?id=80372
1779
1780         Reviewed by Simon Fraser.
1781
1782         To find the bounds for a composited layer, calculateCompositedBounds
1783         iterates through all non-composited child layers using z-order and
1784         normal flow lists. This does not preserve clipping from ancestor
1785         layers, because a clipping ancestor layer can end up as a sibling to
1786         its clipped descendent because it is not a stacking context.
1787
1788         Fix by explicitly checking cached clip roots.
1789
1790         Test: compositing/clip-child-by-non-stacking-ancestor.html
1791
1792         * rendering/RenderLayer.cpp:
1793         (WebCore::RenderLayer::localClipRect):
1794         (WebCore):
1795         * rendering/RenderLayer.h:
1796         (RenderLayer):
1797         * rendering/RenderLayerCompositor.cpp:
1798         (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
1799         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1800
1801 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1802
1803         Unreviewed, rolling out r111445 and r111446.
1804         http://trac.webkit.org/changeset/111445
1805         http://trac.webkit.org/changeset/111446
1806         https://bugs.webkit.org/show_bug.cgi?id=81708
1807
1808         It broke Qt and GTK build intentionally (Requested by Ossy on
1809         #webkit).
1810
1811         * WebCore.exp.in:
1812         * dom/Document.cpp:
1813         (WebCore::Document::initSecurityContext):
1814         * notifications/Notification.cpp:
1815         (WebCore::Notification::Notification):
1816         * notifications/NotificationCenter.cpp:
1817         (WebCore::NotificationCenter::checkPermission):
1818         (WebCore::NotificationCenter::requestPermission):
1819         * notifications/NotificationCenter.h:
1820         (NotificationCenter):
1821         * page/SecurityOrigin.cpp:
1822         (WebCore::SecurityOrigin::toString):
1823         * page/SecurityOrigin.h:
1824         (SecurityOrigin):
1825
1826 2012-03-20  Adam Klein  <adamk@chromium.org>
1827
1828         Refactor ContainerNode::replaceChild to match other mutation methods and share code
1829         https://bugs.webkit.org/show_bug.cgi?id=81579
1830
1831         Reviewed by Ojan Vafai.
1832
1833         Originally landed as r111310, this fixes a bug in replaceChild
1834         introduced when switching to the insert-before logic.
1835
1836         A future change will make use of the consistency among insertBefore/appendChild/replaceChild
1837         to handle insertion of DocumentFragments more cleanly.
1838
1839         No new tests, no change in behavior.
1840
1841         * dom/ContainerNode.cpp:
1842         (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
1843         Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
1844         (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
1845         (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.
1846
1847 2012-03-20  Jon Lee  <jonlee@apple.com>
1848
1849         Restrict access to notifications for unique origins and file URLs with no local file access
1850         https://bugs.webkit.org/show_bug.cgi?id=79704
1851         <rdar://problem/10912430>
1852
1853         Reviewed by Adam Barth.
1854
1855         Before checking or requesting permissions, we look at whether we can show notifications based on
1856         the security context. If not, we short circuit and do not forward the request to the client.
1857
1858         * notifications/Notification.cpp:
1859         (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
1860         different logic for checking permissions than when checking permissions through the
1861         notification center.
1862         * notifications/NotificationCenter.cpp:
1863         (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
1864         (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
1865         we asynchronously call the callback with that decision. Otherwise we ask the client.
1866
1867         Add new variable in the notification center to keep track of pending callbacks when we short-circuit
1868         requestPermission().
1869         * notifications/NotificationCenter.h:
1870         (NotificationRequestCallback): Add new private class encapsulating the callback.
1871         * notifications/NotificationCenter.cpp:
1872         (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
1873         (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
1874         know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
1875         to invoke the callback.
1876         (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
1877         (WebCore::NotificationCenter::NotificationRequest::startTimer):
1878         (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
1879         center.
1880         * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
1881         regardless of any restrictions that might otherwise cause toString() to return "null".
1882         * page/SecurityOrigin.cpp:
1883         (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
1884         the origin can show notifications. If the origin is unique, we never let it show. If the origin has
1885         universal access, we always let it show. Otherwise the client should be asked.
1886         (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
1887         (WebCore::SecurityOrigin::toRawString):
1888
1889         Added FIXME's regarding the naming of enforceFilePathSeparation().
1890         * dom/Document.cpp:
1891         (WebCore::Document::initSecurityContext): Also, tab reformatting.
1892
1893         * WebCore.exp.in: Export toRawString().
1894
1895 2012-03-20  Andreas Kling  <kling@webkit.org>
1896
1897         Remove unused CSSPrimitiveValue constructors.
1898         <http://webkit.org/b/81695>
1899
1900         Reviewed by Antti Koivisto.
1901
1902         Kill off CSSPrimitiveValue constructors that aren't used anywhere.
1903
1904         * css/CSSPrimitiveValue.cpp:
1905         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1906         * css/CSSPrimitiveValue.h:
1907         (CSSPrimitiveValueBase):
1908         (WebCore::CSSPrimitiveValueBase::CSSPrimitiveValueBase):
1909         (CSSPrimitiveValue):
1910         * css/CSSPrimitiveValueMappings.h:
1911
1912 2012-03-20  Sami Kyostila  <skyostil@chromium.org>
1913
1914         Reuse buffer allocation if canvas size does not change
1915         https://bugs.webkit.org/show_bug.cgi?id=80871
1916
1917         Reviewed by Stephen White.
1918
1919         If the user changes the width or height attributes of a canvas element,
1920         the contents of the canvas should be cleared and the context state
1921         should be reset. This has become a common idiom to clear the canvas
1922         "efficiently" at the start of a frame.
1923
1924         Previously, this code path triggered a full reallocation of the image
1925         buffer backing the canvas, leading to reduced performance. This patch
1926         implements an optimization where we reuse the previous image buffer
1927         allocation if the size of the canvas did not change. Also, instead of
1928         clearing the canvas every time its dimensions are touched, we only clear
1929         if anything has been drawn into the canvas since it was previously
1930         cleared.
1931
1932         Note that for now this optimization only applies for 2D canvases,
1933         since it is not entirely clear how touching the dimensions of a WebGL
1934         canvas should work.
1935
1936         Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
1937               existing layout tests for canvas resetting.
1938
1939         * html/HTMLCanvasElement.cpp:
1940         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1941         (WebCore::HTMLCanvasElement::reset):
1942         (WebCore::HTMLCanvasElement::createImageBuffer):
1943         (WebCore::HTMLCanvasElement::clearImageBuffer):
1944         (WebCore):
1945         (WebCore::HTMLCanvasElement::clearCopiedImage):
1946         * html/HTMLCanvasElement.h:
1947         (HTMLCanvasElement):
1948         * html/canvas/CanvasRenderingContext2D.cpp:
1949         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Save the
1950         initial graphics context state so we can restore it without creating a
1951         new context.
1952         (WebCore::CanvasRenderingContext2D::unwindStateStack):
1953         (WebCore::CanvasRenderingContext2D::reset): No need to notify the
1954         compositor when the context is reset, because clearing the image buffer
1955         does the same thing. We can also skip the notification if we did not
1956         have an image buffer at the time of the reset, because the reset will
1957         not have any visual impact in this case. Finally, if the canvas size
1958         did change, the notification is also unnecessary because of the call
1959         to RenderObject::repaint() from HTMLCanvasElement::reset().
1960
1961 2012-03-20  Dana Jansens  <danakj@chromium.org>
1962
1963         [chromium] Allow us to disable overdraw metrics when tracing is off
1964         https://bugs.webkit.org/show_bug.cgi?id=81431
1965
1966         Reviewed by Adrienne Walker.
1967
1968         This change allows us to disable overdraw metrics conditionally in the
1969         future with a one-line change in each LayerTreeHost class.
1970
1971         Unit test: CCQuadCullerTest.verifyWithoutMetrics
1972
1973         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1974         (WebCore::CCLayerTreeHost::paintLayerContents):
1975         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1976         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1977         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1978         (WebCore::::CCOcclusionTrackerBase):
1979         (WebCore):
1980         * platform/graphics/chromium/cc/CCOcclusionTracker.h:
1981         (CCOcclusionTrackerBase):
1982         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
1983         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
1984         (WebCore::CCOverdrawMetrics::didCull):
1985         (WebCore::CCOverdrawMetrics::didDraw):
1986         (WebCore::CCOverdrawMetrics::recordMetrics):
1987         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
1988         (WebCore::CCOverdrawMetrics::create):
1989         (CCOverdrawMetrics):
1990
1991 2012-03-20  Robert Hogan  <robert@webkit.org>
1992
1993         Use-after-free of continuation in RenderBlock::paintContinuationOutlines()
1994         https://bugs.webkit.org/show_bug.cgi?id=81276
1995
1996         Reviewed by David Hyatt.
1997
1998         Test: fast/css/relative-positioned-block-crash.html
1999
2000         https://trac.webkit.org/changeset/108185/ allowed anonymous blocks to get their own layer (when they're
2001         relatively positioned). This broke the dependency in addContinuationWithOutline() on the owner of the continuation
2002         table and the renderer getting added to it always being in the same layer. When they're not in the same layer
2003         there's no guarantee that the owner of the continuation table will get painted again and so avoid any stale pointers
2004         in its continuation table should any of the renderers in there get destroyed.
2005
2006         Fix this for now by only adding renderers to the containing block's continuation table if we don't have our own layer.
2007         This fix causes fast/inline/continuation-outlines-with-layers.html to regress as it uses blocks inside relatively positioned
2008         inlines, so skip it on all platforms pending a medium-term fix.
2009
2010         * rendering/RenderBlock.cpp:
2011         (WebCore::RenderBlock::paintObject):
2012
2013 2012-03-20  Adele Peterson  <adele@apple.com>
2014
2015         "Attempt to insert nil value " exception when calling attributed string APIs on content with a custom font
2016         https://bugs.webkit.org/show_bug.cgi?id=81630
2017         <rdar://problem/10650660> 
2018
2019         Reviewed by Alexey Proskuryakov. 
2020
2021         Test: TestWebKitAPI/Tests/mac/AttributedString.mm 
2022
2023         If content is using a custom font, then the platform font will be nil and needs to be nil checked.
2024
2025         * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
2026
2027 2012-03-20  Julien Chaffraix  <jchaffraix@webkit.org>
2028
2029         Make distributeExtraLogicalHeightToRows return the consumed logical height
2030         https://bugs.webkit.org/show_bug.cgi?id=81678
2031
2032         Reviewed by Tony Chang.
2033
2034         Small refactoring, no change in behavior.
2035
2036         * rendering/RenderTable.cpp:
2037         (WebCore::RenderTable::distributeExtraLogicalHeight):
2038         Remove the consumed logical height from the available height.
2039
2040         * rendering/RenderTableSection.cpp:
2041         (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
2042         (WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
2043         (WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
2044         Changed those method to not return anything but remove from the available width.
2045
2046         (WebCore::RenderTableSection::distributeExtraLogicalHeightToRows):
2047         Return the consumed logical height.
2048
2049         * rendering/RenderTableSection.h:
2050         Updated the previous distribute functions signature and the comment about
2051         the returned value from distributeExtraLogicalHeightToRows.
2052
2053 2012-03-20  Jacky Jiang  <zhajiang@rim.com>
2054
2055         [BlackBerry] Dijit crash WebCore::CookieManager::getRawCookies
2056         https://bugs.webkit.org/show_bug.cgi?id=81686
2057
2058         Reviewed by Rob Buis.
2059
2060         HTML plugin element with an empty src caused an ASSERT failure on debug
2061         build and a crash on release build.
2062         When getting cookie, url can be null, so we need to check for it to
2063         avoid the crash.
2064
2065         No new tests as this is covered by
2066         LayoutTests/fast/loader/empty-embed-src-attribute.html.
2067
2068         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2069         (WebCore::ResourceRequest::initializePlatformRequest):
2070
2071 2012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>
2072
2073         Web Inspector: Tabbed pane drop down should be sorted.
2074         https://bugs.webkit.org/show_bug.cgi?id=81680
2075
2076         Reviewed by Pavel Feldman.
2077
2078         * inspector/front-end/TabbedPane.js:
2079         (WebInspector.TabbedPane.prototype._populateDropDownFromIndex.compareFunction):
2080         (WebInspector.TabbedPane.prototype._populateDropDownFromIndex):
2081
2082 2012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>
2083
2084         Web Inspector: Open resource dialog scripts list should be sorted.
2085         https://bugs.webkit.org/show_bug.cgi?id=81682
2086
2087         Reviewed by Pavel Feldman.
2088
2089         * inspector/front-end/FilteredItemSelectionDialog.js:
2090         (WebInspector.OpenResourceDialog.compareFunction):
2091         (WebInspector.OpenResourceDialog):
2092
2093 2012-03-20  Dana Jansens  <danakj@chromium.org>
2094
2095         [chromium] Use opaque contents for paint culling
2096         https://bugs.webkit.org/show_bug.cgi?id=81676
2097
2098         Reviewed by Adrienne Walker.
2099
2100         UnitTest: CCLayerTreeHostTestContentLayerOcclusion
2101
2102         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2103         (WebCore::CCLayerTreeHost::paintLayerContents):
2104
2105 2012-03-20  Dan Bernstein  <mitz@apple.com>
2106
2107         Build fix after r111419.
2108
2109         * dom/WebKitNamedFlow.cpp:
2110         * dom/WebKitNamedFlow.h:
2111
2112 2012-03-20  Dan Bernstein  <mitz@apple.com>
2113
2114         REGRESSION (r111229): css1/basic/inheritance.html is failing
2115         https://bugs.webkit.org/show_bug.cgi?id=81684
2116
2117         Reverted r111229.
2118
2119         Rubber-stamped by Dave Hyatt.
2120
2121         * dom/Document.cpp:
2122         (WebCore::Document::webkitGetFlowByName):
2123         * dom/Document.h:
2124         (Document):
2125         * dom/Element.cpp:
2126         (WebCore::Element::detach):
2127         * dom/NodeRenderingContext.cpp:
2128         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
2129         * dom/WebKitNamedFlow.cpp:
2130         (WebCore):
2131         * dom/WebKitNamedFlow.h:
2132         (WebCore):
2133         (WebKitNamedFlow):
2134         * dom/WebKitNamedFlow.idl:
2135
2136 2012-03-20  Vineet Chaudhary  <rgf748@motorola.com>
2137
2138         https://bugs.webkit.org/show_bug.cgi?id=80696
2139         Remove custom bindings for attribute type Array.
2140
2141         Reviewed by Kentaro Hara.
2142
2143         No new tests.
2144
2145         * bindings/js/JSConsoleCustom.cpp: Removed custom function.
2146         (WebCore):
2147         * bindings/js/JSDOMBinding.h: Added template jsArray and toNativeArray.
2148         (WebCore):
2149         (WebCore::jsArray):
2150         (WebCore::toNativeArray):
2151         * bindings/scripts/CodeGenerator.pm: Modified codegenerators to generate appropriate code.
2152         (GetArrayType): Added GetArrayType to get return type of attribute interface.
2153         * bindings/scripts/CodeGeneratorGObject.pm: Modified codegenerators to generate appropriate code.
2154         (SkipAttribute):
2155         * bindings/scripts/CodeGeneratorJS.pm: Modified codegenerators to generate appropriate code.
2156         (AddIncludesForType):
2157         (JSValueToNative):
2158         (NativeToJSValue):
2159         * bindings/scripts/CodeGeneratorV8.pm: Modified codegenerators to generate appropriate code.
2160         (GenerateNormalAttrGetter):
2161         (GenerateNormalAttrSetter):
2162         (JSValueToNative):
2163         (NativeToJSValue):
2164         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated results from running binding tests.
2165         (webkit_dom_test_obj_get_property):
2166         (webkit_dom_test_obj_class_init):
2167         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
2168         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
2169         (WebCore::jsTestObjSequenceAttr):
2170         (WebCore::setJSTestObjSequenceAttr):
2171         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
2172         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
2173         (WebCore::TestObjInternal::sequenceAttrAttrGetter):
2174         (WebCore::TestObjInternal::sequenceAttrAttrSetter):
2175         (WebCore::TestObjInternal::methodReturningSequenceCallback):
2176         * bindings/v8/V8Binding.h: Added template v8Array and toNativeArray.
2177         (WebCore):
2178         (WebCore::v8Array):
2179         (WebCore::toNativeArray):
2180         * bindings/v8/custom/V8ConsoleCustom.cpp: Removed custom function.
2181         (WebCore):
2182         * page/Console.idl: Replaced attribute type Array to sequence<SriptProfile> to remove
2183           custom bindings.
2184
2185 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2186
2187         Unreviewed, rolling out r111310.
2188         http://trac.webkit.org/changeset/111310
2189         https://bugs.webkit.org/show_bug.cgi?id=81683
2190
2191         Broke layout test
2192         dom/xhtml/level3/core/nodereplacechild30.xhtml (Requested by
2193         aklein on #webkit).
2194
2195         * dom/ContainerNode.cpp:
2196         (WebCore::ContainerNode::replaceChild):
2197         (WebCore::ContainerNode::appendChild):
2198         (WebCore::ContainerNode::parserAddChild):
2199
2200 2012-03-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2201
2202         Convert hasSpellingMarker to use Internals interface.
2203         https://bugs.webkit.org/show_bug.cgi?id=81300
2204
2205         Reviewed by Ryosuke Niwa.
2206
2207         Remove hasSpellingMarker functions, because it is able to work in the
2208         cross-port way through the Internals interface.
2209
2210         No new tests, since we are improving here the infra-structure
2211         for testing a specific method.
2212
2213         * testing/Internals.cpp:
2214         (WebCore::Internals::hasSpellingMarker):
2215         (WebCore):
2216         * testing/Internals.h:
2217         (Internals):
2218         * testing/Internals.idl:
2219
2220 2012-03-20  Dan Bernstein  <mitz@apple.com>
2221
2222         Build fix.
2223
2224         * history/PageCache.cpp: Fixed an unused function warning introduced in r111391.
2225
2226 2012-03-20  Konrad Piascik  <kpiascik@rim.com>
2227
2228         (r110063) m_mouseDownMayStartDrag is used without being behind the ENABLE(DRAG_SUPPORT) macro
2229         https://bugs.webkit.org/show_bug.cgi?id=81666
2230
2231         Reviewed by Rob Buis.
2232
2233         Compiled with feature disabled and built.
2234
2235         * page/EventHandler.cpp:
2236         (WebCore::EventHandler::selectCursor):
2237
2238 2012-03-20  W. James MacLean  <wjmaclean@chromium.org>
2239
2240         [chromium] Tune fling physics curve. [Not for review yet]
2241         https://bugs.webkit.org/show_bug.cgi?id=81398
2242
2243         Reviewed by James Robinson.
2244
2245         Existing tests updated.
2246
2247         Tune physics of curve for better feel.
2248
2249         * platform/TouchFlingPlatformGestureCurve.cpp:
2250         (WebCore::TouchFlingPlatformGestureCurve::apply):
2251
2252 2012-03-20  Alexis Menard  <alexis.menard@openbossa.org>
2253
2254         Implement a fast path when setting CSS properties with keywords from JS.
2255         https://bugs.webkit.org/show_bug.cgi?id=80874
2256
2257         Reviewed by Antti Koivisto.
2258
2259         The idea is to avoid the creation of the CSSParser instance and to run the parser on
2260         a string we know it should be a keyword. When JS calls parseValue we try to check if we can
2261         use the fast path and if the keyword is accepted then we just add it to the declaration directly.
2262         For the sake of maintenance the parseValue function used by CSSGrammar.y is sharing some code with
2263         the fast path (keyword matching mostly).
2264
2265         This patch improves this use case by 20%. Setting keyword properties from JS is used a lot in
2266         Google Maps for example (when zooming or panning).
2267
2268         No new tests : it's a performance improvement, there shouldn't be any behavior change.
2269
2270         * css/CSSParser.cpp:
2271         (WebCore):
2272         (WebCore::isValidKeywordPropertyAndValue):
2273         (WebCore::isKeywordPropertyID):
2274         (WebCore::parseKeywordValue):
2275         (WebCore::CSSParser::parseValue):
2276
2277 2012-03-20  Ian Vollick  <vollick@chromium.org>
2278
2279         [chromium] Infrastructure to allow animating layers to be only partially updated
2280         https://bugs.webkit.org/show_bug.cgi?id=81106
2281
2282         Reviewed by James Robinson
2283
2284         Merged the controller tests in CCLayerAnimationControllerTest
2285
2286         * WebCore.gypi:
2287         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2288         * platform/graphics/chromium/GraphicsLayerChromium.h:
2289         (GraphicsLayerChromium):
2290         * platform/graphics/chromium/LayerChromium.cpp:
2291         (WebCore::LayerChromium::LayerChromium):
2292         (WebCore::LayerChromium::pushPropertiesTo):
2293         (WebCore::LayerChromium::setOpacityFromAnimation):
2294         (WebCore):
2295         (WebCore::LayerChromium::setTransformFromAnimation):
2296         (WebCore::LayerChromium::addAnimation):
2297         (WebCore::LayerChromium::pauseAnimation):
2298         (WebCore::LayerChromium::removeAnimation):
2299         (WebCore::LayerChromium::suspendAnimations):
2300         (WebCore::LayerChromium::resumeAnimations):
2301         (WebCore::LayerChromium::setLayerAnimationController):
2302         (WebCore::LayerChromium::hasActiveAnimation):
2303         (WebCore::LayerChromium::setAnimationEvent):
2304         * platform/graphics/chromium/LayerChromium.h:
2305         (WebCore):
2306         (LayerChromium):
2307         (WebCore::LayerChromium::id):
2308         (WebCore::LayerChromium::opacity):
2309         (WebCore::LayerChromium::transform):
2310         (WebCore::LayerChromium::bounds):
2311         * platform/graphics/chromium/cc/CCActiveAnimation.h:
2312         (CCActiveAnimation):
2313         * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
2314         (WebCore::CCAnimationEvent::CCAnimationEvent):
2315         (WebCore::CCAnimationEvent::toFloatAnimationFinishedEvent):
2316         (WebCore::CCAnimationEvent::toTransformAnimationFinishedEvent):
2317         (WebCore::CCAnimationStartedEvent::create):
2318         (WebCore):
2319         (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
2320         (WebCore::CCFloatAnimationFinishedEvent::create):
2321         (WebCore::CCFloatAnimationFinishedEvent::CCFloatAnimationFinishedEvent):
2322         (WebCore::CCFloatAnimationFinishedEvent::~CCFloatAnimationFinishedEvent):
2323         (WebCore::CCFloatAnimationFinishedEvent::type):
2324         (WebCore::CCTransformAnimationFinishedEvent::create):
2325         (WebCore::CCTransformAnimationFinishedEvent::CCTransformAnimationFinishedEvent):
2326         (WebCore::CCTransformAnimationFinishedEvent::~CCTransformAnimationFinishedEvent):
2327         (WebCore::CCTransformAnimationFinishedEvent::type):
2328         * platform/graphics/chromium/cc/CCAnimationEvents.h:
2329         (WebCore):
2330         (WebCore::CCAnimationEvent::targetProperty):
2331         (CCAnimationEvent):
2332         (CCAnimationStartedEvent):
2333         (CCFloatAnimationFinishedEvent):
2334         (WebCore::CCFloatAnimationFinishedEvent::finalValue):
2335         (CCTransformAnimationFinishedEvent):
2336         (WebCore::CCTransformAnimationFinishedEvent::finalValue):
2337         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
2338         (WebCore::CCLayerAnimationController::CCLayerAnimationController):
2339         (WebCore::CCLayerAnimationController::create):
2340         (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
2341         (WebCore::CCLayerAnimationController::animate):
2342         (WebCore):
2343         (WebCore::CCLayerAnimationController::add):
2344         (WebCore::CCLayerAnimationController::getActiveAnimation):
2345         (WebCore::CCLayerAnimationController::hasActiveAnimation):
2346         (WebCore::CCLayerAnimationController::isAnimatingProperty):
2347         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
2348         (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
2349         (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
2350         (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
2351         (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
2352         (WebCore::CCLayerAnimationController::resolveConflicts):
2353         (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
2354         (WebCore::CCLayerAnimationController::tickAnimations):
2355         * platform/graphics/chromium/cc/CCLayerAnimationController.h:
2356         (WebCore):
2357         (CCLayerAnimationControllerClient):
2358         (WebCore::CCLayerAnimationControllerClient::~CCLayerAnimationControllerClient):
2359         (CCLayerAnimationController):
2360         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: Removed.
2361         * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: Removed.
2362         * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h:
2363         (CCLayerAnimationDelegate):
2364         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2365         (WebCore::CCLayerImpl::CCLayerImpl):
2366         (WebCore::CCLayerImpl::setOpacityFromAnimation):
2367         (WebCore):
2368         (WebCore::CCLayerImpl::setTransformFromAnimation):
2369         * platform/graphics/chromium/cc/CCLayerImpl.h:
2370         (CCLayerImpl):
2371         (WebCore::CCLayerImpl::id):
2372         (WebCore::CCLayerImpl::layerAnimationController):
2373         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2374         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2375         (WebCore::CCLayerTreeHost::updateAnimations):
2376         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
2377         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
2378         (WebCore::CCLayerTreeHost::animateLayers):
2379         (WebCore):
2380         (WebCore::CCLayerTreeHost::animateLayersRecursive):
2381         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2382         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2383         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2384         (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
2385         (WebCore::CCLayerTreeHostImpl::animateLayers):
2386         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2387         (CCLayerTreeHostImpl):
2388         * platform/graphics/chromium/cc/CCThreadProxy.h:
2389         (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
2390
2391 2012-03-20  Ilya Tikhonovsky  <loislo@chromium.org>
2392
2393         Web Inspector: REGRESSION Detached DOM Nodes are not highlighted
2394         https://bugs.webkit.org/show_bug.cgi?id=81662
2395
2396         Reviewed by Yury Semikhatsky.
2397
2398         * inspector/front-end/HeapSnapshot.js:
2399         (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
2400
2401 2012-03-20  Gavin Peters  <gavinp@chromium.org>
2402
2403         New PageCache histogram for tracking the highest leverage frame reject reasons.
2404         https://bugs.webkit.org/show_bug.cgi?id=81358
2405
2406         Reviewed by Adam Barth.
2407
2408         The current chromium FrameClientImpl always denies page cache; but
2409         that's easily fixable.  This histogram tracks which rejection
2410         causes occur alone with that cause.  I'm particularly interested
2411         in knowing how many more pages would work in the page cache if we
2412         could get plugins in.
2413
2414         * history/PageCache.cpp:
2415         (WebCore::logCanCachePageDecision):
2416
2417 2012-03-15  Pavel Podivilov  <podivilov@chromium.org>
2418
2419         Web Inspector: support inline source maps.
2420         https://bugs.webkit.org/show_bug.cgi?id=81248
2421
2422         - support optional map.sourcesContent array with sources content
2423         - support data: url as script sourceMapURL, e.g. "//@ sourceMappingURL=data:application/json;base64,<base64-encoded map>"
2424
2425         Reviewed by Pavel Feldman.
2426
2427         * inspector/front-end/CompilerSourceMapping.js:
2428         (WebInspector.ClosureCompilerSourceMapping):
2429         (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
2430         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
2431         (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
2432
2433 2012-03-20  Pavel Feldman  <pfeldman@chromium.org>
2434
2435         Web Inspector: treat Uint* external arrays as arrays in console.
2436         https://bugs.webkit.org/show_bug.cgi?id=81653
2437
2438         Reviewed by Yury Semikhatsky.
2439
2440         * bindings/js/JSInjectedScriptHostCustom.cpp:
2441         (WebCore::JSInjectedScriptHost::type):
2442         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2443         (WebCore::V8InjectedScriptHost::typeCallback):
2444
2445 2012-03-20  Andreas Kling  <kling@webkit.org>
2446
2447         Let CSSImageValue inherit directly from CSSValue.
2448         <http://webkit.org/b/81635>
2449
2450         Reviewed by Antti Koivisto.
2451
2452         This removes the last of the CSSPrimitiveValue subclasses, which will
2453         open up the class to heavier refactoring.
2454
2455         Those CSSImageValues that used to represent the 'none' value are now
2456         simply created as CSSPrimitiveValue identifiers by the parser.
2457
2458         Test: fast/css/image-value-type.html
2459
2460         * css/CSSCursorImageValue.cpp:
2461         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
2462         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2463         (WebCore::CSSCursorImageValue::cachedImage):
2464         * css/CSSImageValue.cpp:
2465         (WebCore::CSSImageValue::CSSImageValue):
2466         (WebCore::CSSImageValue::cachedOrPendingImage):
2467         (WebCore::CSSImageValue::cachedImage):
2468         (WebCore::CSSImageValue::customCssText):
2469         * css/CSSImageValue.h:
2470         (WebCore::CSSImageValue::url):
2471         * css/CSSParser.cpp:
2472         (WebCore::CSSParser::parseValue):
2473         (WebCore::CSSParser::parseFillImage):
2474         (WebCore::CSSParser::parseBorderImage):
2475         * css/CSSStyleApplyProperty.cpp:
2476         (WebCore::ApplyPropertyCursor::applyValue):
2477         * css/CSSStyleSelector.cpp:
2478         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2479         * css/CSSValue.h:
2480         (WebCore::CSSValue::isPrimitiveValue):
2481
2482 2012-03-20  Pavel Feldman  <pfeldman@chromium.org>
2483
2484         Web Inspector: call .length as the last check when detecting arrays.
2485         https://bugs.webkit.org/show_bug.cgi?id=81335
2486
2487         Reviewed by Yury Semikhatsky.
2488
2489         * inspector/InjectedScriptSource.js:
2490
2491 2012-03-20  Alexander Pavlov  <apavlov@chromium.org>
2492
2493         Web Inspector: newly added CSS rules shouldn't rewrite HTML content in the resources panel
2494         https://bugs.webkit.org/show_bug.cgi?id=81414
2495
2496         Reviewed by Vsevolod Vlasov.
2497
2498         * inspector/front-end/CSSStyleModel.js:
2499         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
2500         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
2501
2502 2012-03-20  Yury Semikhatsky  <yurys@chromium.org>
2503
2504         Web Inspector: provide class name filter for "comparison" view in heap profiler
2505         https://bugs.webkit.org/show_bug.cgi?id=81641
2506
2507         Class name filtering now works for both Summary and Comparison views.
2508
2509         Reviewed by Pavel Feldman.
2510
2511         * inspector/front-end/DetailedHeapshotView.js:
2512         (WebInspector.DetailedHeapshotView.prototype._createToolbarWithClassNameFilter):
2513         (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
2514         * inspector/front-end/heapProfiler.css:
2515         (.detailed-heapshot-view .class-view-grid):
2516         (.detailed-heapshot-view .class-view-toolbar):
2517         (.detailed-heapshot-view .class-view-toolbar input.class-name-filter):
2518
2519 2012-03-20  Nikolas Zimmermann  <nzimmermann@rim.com>
2520
2521         Make animVal support type-safe
2522         https://bugs.webkit.org/show_bug.cgi?id=81640
2523
2524         Reviewed by Antti Koivisto.
2525
2526         Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html
2527
2528         Redesign animVal support in a type-safe fashion, avoiding the SVGGenericAnimatedType
2529         and associated reinterpret_casts, which require all call-sites to assure that the
2530         types are safe to cast, before actually calling the method.
2531
2532         Remove pure virtual animationStarted/Ended/ValueWillChange/ValueDidChange & currentBaseValueVariant methods from SVGAnimatedProperty,
2533         and de-virtualize them in classes that inherit from SVGAnimatedProperty, like SVGAnimatedPropertyTearOff, etc.
2534
2535         Add startAnimValAnimation/stopAnimValAnimation/resetAnimValToBaseVal/animValWillChange/animVallDidChange methods to all
2536         SVGAnimatedXXXAnimator classes that currently support animVal (SVGAnimatedLength/LengthList/Number(OptionalNumber)/NumberList/TransformList).
2537         Those SVGAnimatedLengthAnimator can cast the generic SVGAnimatedProperty* associated with a certain SVG DOM property, to the real type
2538         eg. SVGAnimatedLength (which is a SVGAnimatedPropertyTearOff<SVGLength>). This way we can call those methods, without relying on virtual
2539         function calls. Also it makes the "SVGGenericAnimatedType* currentBaseValueVariant()" accessor needless, as we can just call the method
2540         right on eg. the SVGAnimatedLength, which gives us the "const SVGLength&" object, instead of a generic pointer type, that we have to
2541         reinterpret_cast to some hopefully-matching expected type. The new approach is truly type-safey, but needs a bit more boilerplate code.
2542
2543         To reduce the amount of copy&paste across the SVGAnimatedXXXAnimator classes, all code is placed in template functions in
2544         SVGAnimatedTypeAnimator.h, which can be shared across all SVGAnimatedXXXAnimator classes, that inherit from SVGAnimatedTypeAnimator.
2545
2546         Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html
2547
2548         * svg/SVGAnimateElement.cpp:
2549         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2550         (WebCore::SVGAnimateElement::resetToBaseValue):
2551         (WebCore::SVGAnimateElement::applyResultsToTarget):
2552         (WebCore):
2553         (WebCore::SVGAnimateElement::targetElementWillChange):
2554         * svg/SVGAnimatedLength.cpp:
2555         (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
2556         (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
2557         (WebCore):
2558         (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
2559         (WebCore::SVGAnimatedLengthAnimator::animValWillChange):
2560         (WebCore::SVGAnimatedLengthAnimator::animValDidChange):
2561         * svg/SVGAnimatedLength.h:
2562         (WebCore):
2563         (SVGAnimatedLengthAnimator):
2564         * svg/SVGAnimatedLengthList.cpp:
2565         (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
2566         (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
2567         (WebCore):
2568         (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
2569         (WebCore::SVGAnimatedLengthListAnimator::animValWillChange):
2570         (WebCore::SVGAnimatedLengthListAnimator::animValDidChange):
2571         * svg/SVGAnimatedLengthList.h:
2572         (WebCore):
2573         (SVGAnimatedLengthListAnimator):
2574         * svg/SVGAnimatedNumber.cpp:
2575         (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
2576         (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
2577         (WebCore):
2578         (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
2579         (WebCore::SVGAnimatedNumberAnimator::animValWillChange):
2580         (WebCore::SVGAnimatedNumberAnimator::animValDidChange):
2581         * svg/SVGAnimatedNumber.h:
2582         (WebCore):
2583         (SVGAnimatedNumberAnimator):
2584         * svg/SVGAnimatedNumberList.cpp:
2585         (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
2586         (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
2587         (WebCore):
2588         (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
2589         (WebCore::SVGAnimatedNumberListAnimator::animValWillChange):
2590         (WebCore::SVGAnimatedNumberListAnimator::animValDidChange):
2591         * svg/SVGAnimatedNumberList.h:
2592         (WebCore):
2593         (SVGAnimatedNumberListAnimator):
2594         * svg/SVGAnimatedNumberOptionalNumber.cpp:
2595         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
2596         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
2597         (WebCore):
2598         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
2599         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
2600         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
2601         * svg/SVGAnimatedNumberOptionalNumber.h:
2602         (WebCore):
2603         (SVGAnimatedNumberOptionalNumberAnimator):
2604         * svg/SVGAnimatedTransformList.cpp:
2605         (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
2606         (WebCore):
2607         (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
2608         (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
2609         (WebCore::SVGAnimatedTransformListAnimator::animValWillChange):
2610         (WebCore::SVGAnimatedTransformListAnimator::animValDidChange):
2611         * svg/SVGAnimatedTransformList.h:
2612         (WebCore):
2613         (SVGAnimatedTransformListAnimator):
2614         * svg/SVGAnimatedType.h:
2615         (WebCore):
2616         * svg/SVGAnimatedTypeAnimator.h:
2617         (WebCore):
2618         (SVGAnimatedTypeAnimator):
2619         (WebCore::SVGAnimatedTypeAnimator::startAnimValAnimation):
2620         (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimation):
2621         (WebCore::SVGAnimatedTypeAnimator::resetAnimValToBaseVal):
2622         (WebCore::SVGAnimatedTypeAnimator::animValWillChange):
2623         (WebCore::SVGAnimatedTypeAnimator::animValDidChange):
2624         (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
2625         (WebCore::SVGAnimatedTypeAnimator::startAnimation):
2626         (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
2627         (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
2628         (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
2629         (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
2630         (WebCore::SVGAnimatedTypeAnimator::resetFromOneBaseValue):
2631         (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
2632         (WebCore::SVGAnimatedTypeAnimator::resetFromTwoBaseValues):
2633         (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
2634         (WebCore::SVGAnimatedTypeAnimator::collectAnimatedPropertiesFromInstances):
2635         * svg/SVGAnimationElement.cpp:
2636         (WebCore::SVGAnimationElement::applyAnimatedValue):
2637         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2638         * svg/SVGAnimationElement.h:
2639         (SVGAnimationElement):
2640         * svg/SVGElementInstance.cpp:
2641         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
2642         (WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
2643         (WebCore):
2644         (WebCore::SVGElementInstance::InstanceUpdateBlocker::~InstanceUpdateBlocker):
2645         * svg/SVGElementInstance.h:
2646         (WebCore):
2647         (InstanceUpdateBlocker):
2648         (SVGElementInstance):
2649         * svg/properties/SVGAnimatedListPropertyTearOff.h:
2650         (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
2651         (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
2652         (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
2653         (WebCore::SVGAnimatedListPropertyTearOff::animValWillChange):
2654         (WebCore::SVGAnimatedListPropertyTearOff::animValDidChange):
2655         * svg/properties/SVGAnimatedProperty.h:
2656         (WebCore):
2657         * svg/properties/SVGAnimatedPropertyTearOff.h:
2658         (WebCore::SVGAnimatedPropertyTearOff::currentBaseValue):
2659         (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
2660         (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
2661         (WebCore::SVGAnimatedPropertyTearOff::animValWillChange):
2662         (WebCore::SVGAnimatedPropertyTearOff::animValDidChange):
2663         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
2664         (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
2665         (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
2666         (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
2667         (WebCore::SVGAnimatedStaticPropertyTearOff::animValWillChange):
2668         (WebCore::SVGAnimatedStaticPropertyTearOff::animValDidChange):
2669
2670 2012-03-20  Mihnea Ovidenie  <mihnea@adobe.com>
2671
2672         [CSSRegions]Implement NamedFlow::getRegionsByContentNode
2673         https://bugs.webkit.org/show_bug.cgi?id=77746
2674
2675         Reviewed by David Hyatt.
2676
2677         The list of regions returned is a static node list.
2678
2679         Tests: fast/regions/get-regions-by-content-node-horiz-bt.html
2680                fast/regions/get-regions-by-content-node-horiz-tb.html
2681                fast/regions/get-regions-by-content-node-vert-lr.html
2682                fast/regions/get-regions-by-content-node-vert-rl.html
2683                fast/regions/get-regions-by-content-node.html
2684                fast/regions/get-regions-by-content-node2.html
2685
2686         * dom/WebKitNamedFlow.cpp:
2687         (WebCore::WebKitNamedFlow::getRegionsByContentNode):
2688         (WebCore):
2689         * dom/WebKitNamedFlow.h:
2690         (WebKitNamedFlow):
2691         * dom/WebKitNamedFlow.idl:
2692         * rendering/RenderFlowThread.cpp:
2693         (WebCore::RenderFlowThread::regionInRange):
2694         (WebCore):
2695         (WebCore::RenderFlowThread::objectInFlowRegion):
2696         * rendering/RenderFlowThread.h:
2697         * rendering/RenderRegion.h:
2698         (WebCore::RenderRegion::flowThread):
2699
2700 2012-03-20  Luke Macpherson  <macpherson@chromium.org>
2701
2702         Remove min and max parameters from CSSPrimitiveValue's roundForImpreciseConversion function.
2703         https://bugs.webkit.org/show_bug.cgi?id=81629
2704
2705         Reviewed by Andreas Kling.
2706
2707         No new tests / refactoring only.
2708
2709         * css/CSSPrimitiveValue.cpp:
2710         (WebCore::CSSPrimitiveValue::computeLength):
2711         * css/CSSPrimitiveValue.h:
2712         (WebCore::roundForImpreciseConversion):
2713         * rendering/style/RenderStyle.h:
2714         (WebCore::adjustForAbsoluteZoom):
2715
2716 2012-03-20  Jason Liu  <jason.liu@torchmobile.com.cn>
2717
2718         [BlackBerry]Cookies shouldn't be set into each of webcore's request and platform's request. And this makes a regression.
2719         https://bugs.webkit.org/show_bug.cgi?id=80800
2720
2721         FrameLoaderClientBlackBerry::dispatchWillSendRequest sets cookies to resourceRequest's header
2722         list to show cookies in inspector. And NetworkManager::startJob will set cookies to platformRequest's
2723         m_cookieData again. So cookies are set two times. This causes performance issue.
2724
2725         Moreover, platformRequest will copy cookies from the resourceRequest. And then platformRequest has
2726         the same cookies in its header list and m_cookieData. Network will use header list's cookies which
2727         are output as latin1 only. This causes the regression of https://bugs.webkit.org/show_bug.cgi?id=80307.
2728
2729         Now, set cookies in initializePlatformRequest to ensure setting cookies only once.
2730
2731         Reviewed by George Staikos.
2732
2733         Test: http/tests/cookies/resources/setUtf8Cookies.php
2734
2735         * platform/network/blackberry/NetworkManager.cpp:
2736         (WebCore::NetworkManager::startJob):
2737         * platform/network/blackberry/ResourceRequest.h:
2738         (ResourceRequest):
2739         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2740         (WebCore::ResourceRequest::initializePlatformRequest):
2741
2742 2012-03-19  Benjamin Poulain  <bpoulain@apple.com>
2743
2744         Build fix for Debug build after r111358
2745
2746         Unreviewed.
2747
2748         * bindings/js/CachedScriptSourceProvider.h:
2749         * bindings/js/StringSourceProvider.h:
2750
2751 2012-03-19  Emil A Eklund  <eae@chromium.org>
2752
2753         Add FractionalLayoutUnit version of blend to AnimationUtilities
2754         https://bugs.webkit.org/show_bug.cgi?id=81572
2755
2756         Reviewed by Eric Seidel.
2757         
2758         Add version of blend method that operates on FractionalLayoutUnits. This
2759         will be used in place of the integer version in many places once we
2760         enable support for subpixel layout.
2761
2762         No new tests.
2763
2764         * platform/FractionalLayoutUnit.h:
2765         Include math.h to make GTK build happy.
2766
2767         * platform/animation/AnimationUtilities.h:
2768         (WebCore::blend):
2769
2770 2012-03-19  Adam Barth  <abarth@webkit.org>
2771
2772         Remove support for "magic" iframe
2773         https://bugs.webkit.org/show_bug.cgi?id=81590
2774
2775         Reviewed by Eric Seidel.
2776
2777         This patch removes support for "magic" iframe, which previously allowed
2778         an iframe to be transfered from one document to another without
2779         reloading the iframe.  The idea behind this feature was to let sites
2780         create "pop out" windows that could outlive their parents by
2781         transfering state to these windows via these magic iframes.
2782
2783         Unforuntately, this feature was never implemented by other browsers and
2784         has been the source of a series of security vulnerabilities.  Although
2785         we have fixed each vulnerability as it has been discovered, the feature
2786         is still a complex corner case that isn't widely exercised on the web.
2787         For that reason, it's likely to have more vulnerabilities in the
2788         future.
2789
2790         I'm not aware of any web sites that use this feature anymore.  There
2791         were a handful of them, but we appear to have been successful in
2792         evangalizing them to move away from "magic" iframe.
2793
2794         * dom/Document.cpp:
2795         (WebCore::Document::adoptNode):
2796         * html/HTMLFrameElementBase.cpp:
2797         (WebCore):
2798         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
2799         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
2800         * html/HTMLFrameElementBase.h:
2801         (HTMLFrameElementBase):
2802         * loader/DocumentLoader.cpp:
2803         (WebCore):
2804         * loader/DocumentLoader.h:
2805         (DocumentLoader):
2806         * loader/EmptyClients.h:
2807         (WebCore::EmptyFrameLoaderClient::createFrame):
2808         * loader/FrameLoader.cpp:
2809         (WebCore):
2810         * loader/FrameLoader.h:
2811         (FrameLoader):
2812         * loader/FrameLoaderClient.h:
2813         (FrameLoaderClient):
2814         * loader/ResourceLoadNotifier.cpp:
2815         (WebCore):
2816         * loader/ResourceLoadNotifier.h:
2817         (ResourceLoadNotifier):
2818         * page/Frame.cpp:
2819         (WebCore):
2820         * page/Frame.h:
2821         (Frame):
2822
2823 2012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
2824
2825         REGRESSION(r110072): Improper repainting on table with overflow: hidden
2826         https://bugs.webkit.org/show_bug.cgi?id=81460
2827
2828         Reviewed by Simon Fraser.
2829
2830         Test: fast/repaint/table-hover-on-link.html
2831
2832         * rendering/RenderTable.cpp:
2833         (WebCore::RenderTable::layout): Add a call to RenderBlock::updateCachedSizeForOverflowClip
2834         so that we properly keep our cached size up to date. This fixes the problem for now but the
2835         real solution is to make sure it is called on all classes that needs to. This is tracked by
2836         bug 81461.
2837
2838 2012-03-19  Pablo Flouret  <pablof@motorola.com>
2839
2840         Add support for crossorigin attribute in script elements
2841         https://bugs.webkit.org/show_bug.cgi?id=81438
2842
2843         Reviewed by Adam Barth.
2844
2845         Works similarly to img and its crossorigin attribute. In the future it
2846         could allow for things like showing full error messages in error
2847         handlers, etc.
2848
2849         Tests: http/tests/security/script-crossorigin-loads-correctly.html
2850                http/tests/security/script-crossorigin-loads-same-origin.html
2851                http/tests/security/script-with-failed-cors-check-fails-to-load.html
2852
2853         * dom/ScriptElement.cpp:
2854         (WebCore::ScriptElement::ScriptElement):
2855         (WebCore::ScriptElement::requestScript):
2856         (WebCore::ScriptElement::notifyFinished):
2857         * dom/ScriptElement.h:
2858         (ScriptElement):
2859         * html/HTMLScriptElement.idl:
2860
2861 2012-03-19  Benjamin Poulain  <benjamin@webkit.org>
2862
2863         Do not copy the script source in the SourceProvider, just reference the existing string
2864         https://bugs.webkit.org/show_bug.cgi?id=81466
2865
2866         Reviewed by Geoffrey Garen.
2867
2868         Instead of creating a copy of the string with 16bits characters, we just return
2869         a shared StringImpl.
2870
2871         * bindings/js/CachedScriptSourceProvider.h:
2872         * bindings/js/StringSourceProvider.h:
2873
2874 2012-03-19  Dana Jansens  <danakj@chromium.org>
2875
2876         A quick early-out for Region::contains() test
2877         https://bugs.webkit.org/show_bug.cgi?id=81625
2878
2879         Reviewed by Anders Carlsson.
2880
2881         If the bounds of region B include a row/column that is outside the bounds of
2882         region A, then region B contains a pixel within that row/column that is
2883         outside of region A.
2884
2885         * platform/graphics/Region.cpp:
2886         (WebCore::Region::contains):
2887
2888 2012-03-19  Eric Seidel  <eric@webkit.org>
2889
2890         Unreviewed attempt to fix the EFL build.
2891
2892         * platform/graphics/efl/IconEfl.cpp:
2893
2894 2012-03-19  Eric Seidel  <eric@webkit.org>
2895
2896         Fix more WTF header include paths in WebCore
2897         https://bugs.webkit.org/show_bug.cgi?id=81602
2898
2899         Reviewed by Martin Robinson.
2900
2901         Chromium, Mac and Win already build w/o including wtf subdirectories
2902         in their include paths for WebCore/WebKit.  Gtk, Qt, and other ports
2903         should eventually do the same.  This patch fixes up a few loose
2904         wtf includes in these ports using some search/replace across WebCore.
2905         If the EWS bots pass this patch doesn't really need any other review.
2906
2907         * accessibility/gtk/AXObjectCacheAtk.cpp:
2908         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
2909         * platform/KURL.cpp:
2910         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2911         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2912         * platform/audio/gtk/AudioBusGtk.cpp:
2913         * platform/clutter/GRefPtrClutter.h:
2914         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
2915         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
2916         * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
2917         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2918         * platform/graphics/gtk/ImageBufferGtk.cpp:
2919         * platform/graphics/pango/FontPango.cpp:
2920         * platform/graphics/qt/ImageBufferDataQt.h:
2921         * platform/graphics/wx/ImageBufferDataWx.h:
2922         * platform/gtk/ContextMenuGtk.cpp:
2923         * platform/gtk/ContextMenuItemGtk.cpp:
2924         * platform/gtk/FileSystemGtk.cpp:
2925         * platform/gtk/GOwnPtrGtk.h:
2926         * platform/gtk/GtkAuthenticationDialog.h:
2927         * platform/gtk/GtkPopupMenu.cpp:
2928         * platform/gtk/LanguageGtk.cpp:
2929         * platform/gtk/LocalizedStringsGtk.cpp:
2930         * platform/gtk/PopupMenuGtk.cpp:
2931         * platform/gtk/RenderThemeGtk.cpp:
2932         * platform/gtk/RenderThemeGtk.h:
2933         * platform/network/soup/GOwnPtrSoup.h:
2934         * platform/network/soup/ResourceRequestSoup.cpp:
2935         * platform/network/soup/ResourceResponseSoup.cpp:
2936         * platform/network/soup/SocketStreamHandle.h:
2937         * platform/network/soup/SoupURIUtils.cpp:
2938         * platform/text/TextEncoding.cpp:
2939         * platform/text/gtk/TextBreakIteratorGtk.cpp:
2940         * platform/text/gtk/TextCodecGtk.cpp:
2941         * platform/text/gtk/TextCodecGtk.h:
2942
2943 2012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
2944
2945         Move the extra logical height distribution into RenderTable as a new step in our layout algorithm
2946         https://bugs.webkit.org/show_bug.cgi?id=81548
2947
2948         Reviewed by Tony Chang.
2949
2950         Refactoring, no expected change in behavior.
2951
2952         Moving the distribution step into RenderTable is needed to implement a better distribution algorithm that would
2953         span several RenderTableSection (which is what IE and FF are doing right now).
2954
2955         * rendering/RenderTable.cpp:
2956         (WebCore::RenderTable::distributeExtraLogicalHeight):
2957         (WebCore::RenderTable::layout):
2958         Moved the distribution step into distributeExtraLogicalHeight. While at it, changed the code to make use of the helper
2959         methods to iterate over the sections and explicitly floor the LayoutUnit before calling distributeExtraLogicalHeight.
2960
2961         * rendering/RenderTable.h:
2962         Added distributeExtraLogicalHeight.
2963
2964         * rendering/RenderTableSection.cpp:
2965         (WebCore::RenderTableSection::layoutRows):
2966         Changed the method signature as it doesn't handle the distribution step anymore.
2967
2968         * rendering/RenderTableSection.h:
2969         Updated layoutRows signature and exposed distributeExtraLogicalHeightToRows for RenderTable use.
2970
2971 2012-03-19  Anders Carlsson  <andersca@apple.com>
2972
2973         Another attempt at fixing the Windows build.
2974
2975         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2976         (WebCore::LayerClient::platformCALayerDeviceScaleFactor):
2977
2978 2012-03-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2979
2980         [EFL] Fix build break because of PlatformString.h
2981         https://bugs.webkit.org/show_bug.cgi?id=81619
2982
2983         Unreviewed. Fix build break because of PlatformString.h.
2984
2985         * platform/graphics/efl/IconEfl.cpp: Include PlatformString.h from text directory.
2986
2987 2012-03-19  Eric Seidel  <eric@webkit.org>
2988
2989         Fix CrWin build after r111258.
2990         https://bugs.webkit.org/show_bug.cgi?id=81281
2991
2992         Unreviewed build fix.
2993         I also fixed similarly incorrect wtf/ includes for other ports
2994         (which aren't yet as strict as Chromium about wtf includes).
2995
2996         * platform/blackberry/CookieManager.cpp:
2997         * platform/blackberry/CookieParser.cpp:
2998         * platform/blackberry/ParsedCookie.cpp:
2999         * platform/blackberry/SharedTimerBlackBerry.cpp:
3000         * platform/graphics/qt/GraphicsLayerQt.cpp:
3001         * platform/graphics/texmap/TextureMapperAnimation.cpp:
3002         * rendering/RenderThemeChromiumWin.cpp:
3003         (WebCore):
3004
3005 2012-03-19  Eric Seidel  <eric@webkit.org>
3006
3007         Fix CrWin build after r111258.
3008         https://bugs.webkit.org/show_bug.cgi?id=81281
3009
3010         Unreviewed build fix.
3011
3012         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
3013         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
3014         * platform/graphics/texmap/TextureMapperAnimation.h:
3015
3016 2012-03-19  Tony Chang  <tony@chromium.org>
3017
3018         add css parsing of flex-line-pack
3019         https://bugs.webkit.org/show_bug.cgi?id=81427
3020
3021         Reviewed by Ojan Vafai.
3022
3023         Spec: http://dev.w3.org/csswg/css3-flexbox/#flex-line-pack
3024
3025         Updated tests in css3/flexbox/css-properties.html
3026
3027         * css/CSSComputedStyleDeclaration.cpp:
3028         (WebCore):
3029         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3030         * css/CSSParser.cpp:
3031         (WebCore::CSSParser::parseValue):
3032         * css/CSSPrimitiveValueMappings.h:
3033         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3034         (WebCore):
3035         (WebCore::CSSPrimitiveValue::operator EFlexLinePack):
3036         * css/CSSProperty.cpp:
3037         (WebCore::CSSProperty::isInheritedProperty):
3038         * css/CSSPropertyNames.in:
3039         * css/CSSStyleApplyProperty.cpp:
3040         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3041         * css/CSSStyleSelector.cpp:
3042         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3043         * css/CSSValueKeywords.in:
3044         * rendering/style/RenderStyle.h:
3045         * rendering/style/RenderStyleConstants.h:
3046         * rendering/style/StyleFlexibleBoxData.cpp:
3047         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
3048         (WebCore::StyleFlexibleBoxData::operator==):
3049         * rendering/style/StyleFlexibleBoxData.h:
3050         (StyleFlexibleBoxData):
3051
3052 2012-03-19  Gustavo Noronha Silva  <gns@gnome.org>
3053
3054         [GTK] libWebCore.la has become too big for make
3055         https://bugs.webkit.org/show_bug.cgi?id=81582
3056
3057         Unreviewed build fix.
3058
3059         * GNUmakefile.am: build an intermediate library for modules, so that the list
3060         of source files used to build WebCore can be split and not reach make's limits;
3061         also try to force relinking libWebCore.la and libWebCoreModules.la when the
3062         GNUmakefile.am or GNUmakefile.list.am change
3063
3064 2012-03-19  Dana Jansens  <danakj@chromium.org>
3065
3066         [chromium] Push culled tiles that are prepainted
3067         https://bugs.webkit.org/show_bug.cgi?id=81552
3068
3069         Reviewed by Adrienne Walker.
3070
3071         If a tile was culled during paint, but then prepainted in the following
3072         idle paint pass, it was still marked as culled (and thus dirty) and not
3073         pushed to the impl side.
3074
3075         Renames tile->m_updateCulled to tile->m_updated. This value is true if
3076         the tile is updated any time during a commit, and remains false if it
3077         is culled every time the layer is painted.
3078
3079         Unit test: TiledLayerChromiumTest.pushIdlePaintedOccludedTiles
3080
3081         * platform/graphics/chromium/TiledLayerChromium.cpp:
3082         (WebCore::UpdatableTile::isDirtyForCurrentFrame):
3083         (UpdatableTile):
3084         (WebCore::UpdatableTile::UpdatableTile):
3085         (WebCore::TiledLayerChromium::updateCompositorResources):
3086         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
3087         (WebCore::TiledLayerChromium::resetUpdateState):
3088
3089 2012-03-19  Anders Carlsson  <andersca@apple.com>
3090
3091         Fix Snow Leopard build.
3092
3093         * platform/graphics/ca/mac/TileCache.mm:
3094         (WebCore::TileCache::createTileLayer):
3095
3096 2012-03-19  Michal Mocny  <mmocny@google.com>
3097
3098         [chromium] Adding support for GL_EXT_discard_framebuffer.
3099         https://bugs.webkit.org/show_bug.cgi?id=81383
3100
3101         Reviewed by James Robinson.
3102
3103         * platform/graphics/chromium/Extensions3DChromium.h:
3104
3105 2012-03-19  Adam Klein  <adamk@chromium.org>
3106
3107         Refactor ContainerNode::replaceChild to match other mutation methods and share code
3108         https://bugs.webkit.org/show_bug.cgi?id=81579
3109
3110         Reviewed by Ojan Vafai.
3111
3112         A future change will make use of the consistency among insertBefore/appendChild/replaceChild
3113         to handle insertion of DocumentFragments more cleanly.
3114
3115         No new tests, no change in behavior.
3116
3117         * dom/ContainerNode.cpp:
3118         (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
3119         Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
3120         (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
3121         (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.
3122
3123 2012-03-19  Ian Vollick  <vollick@chromium.org>
3124
3125         [chromium] Times in the cc should be expressed in seconds.
3126         https://bugs.webkit.org/show_bug.cgi?id=80514
3127
3128         Reviewed by James Robinson.
3129
3130         Updated timer tests to use seconds.
3131
3132         * platform/TouchFlingPlatformGestureCurve.h:
3133         (TouchFlingPlatformGestureCurve):
3134         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
3135         (WebCore::CCActiveGestureAnimation::animate):
3136         * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
3137         (CCActiveGestureAnimation):
3138         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
3139         (WebCore::CCDelayBasedTimeSource::create):
3140         (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
3141         (WebCore::CCDelayBasedTimeSource::setActive):
3142         (WebCore::CCDelayBasedTimeSource::onTimerFired):
3143         (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
3144         (WebCore):
3145         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
3146         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
3147         (CCDelayBasedTimeSource):
3148         * platform/graphics/chromium/cc/CCGestureCurve.h:
3149         (CCGestureCurve):
3150         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3151         (WTF):
3152         (WebCore::CCThreadProxy::beginContextRecreation):
3153         (WebCore::CCThreadProxy::tryToRecreateContext):
3154         (WebCore::CCThreadProxy::initializeImplOnImplThread):
3155         * platform/graphics/chromium/cc/CCTimer.cpp:
3156         (WebCore::CCTimer::startOneShot):
3157         * platform/graphics/chromium/cc/CCTimer.h:
3158         (CCTimer):
3159
3160 2012-03-19  Florin Malita  <fmalita@google.com>
3161
3162         Relative-height block SVG root not layed out on container height change
3163         https://bugs.webkit.org/show_bug.cgi?id=81513
3164
3165         Reviewed by Dirk Schulze.
3166
3167         Tests: svg/custom/svg-percent-scale-block-expected.html
3168                svg/custom/svg-percent-scale-block.html
3169
3170         A couple of places still have style()->logical{Min,Max,}Height percent checks,
3171         which do not work for SVG elements. This patch adds a virtual hasRelativeLogicalHeight()
3172         RenderBox method to replace the explicit style checks.
3173
3174         * rendering/RenderBlock.cpp:
3175         (WebCore::RenderBlock::layoutBlockChildren):
3176         Use virtual hasRelativeLogicalHeight() instead of logical height style checks.
3177
3178         * rendering/RenderBox.cpp:
3179         (WebCore::RenderBox::hasRelativeLogicalHeight):
3180         (WebCore):
3181         * rendering/RenderBox.h:
3182         (RenderBox):
3183         Add virtual hasRelativeLogicalHeight().
3184
3185         * rendering/RenderView.cpp:
3186         (WebCore::RenderView::layout):
3187         Use virtual hasRelativeLogicalHeight() instead of logical height style checks, if possible.
3188
3189         * rendering/svg/RenderSVGRoot.cpp:
3190         (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
3191         (WebCore):
3192         * rendering/svg/RenderSVGRoot.h:
3193         (RenderSVGRoot):
3194         Add hasRelativeLogicalHeight() override.
3195
3196 2012-03-19  Jer Noble  <jer.noble@apple.com>
3197
3198         Assertion failure in RenderBlock::addChildIgnoringAnonymousColumnBlocks when running fullscreen/full-screen-twice-crash.html 
3199         causing "crashes" on the Lion Intel Debug WebKit2 test bots.
3200         https://bugs.webkit.org/show_bug.cgi?id=81171
3201
3202         Reviewed by Dan Bernstein.
3203
3204         No new tests; fixes fullscreen/* tests when running in WebKitTestRunner (WebKit2).
3205
3206         Add a special-case check if the parent anonymous container is a full screen renderer or placeholder.
3207
3208         * rendering/RenderBlock.cpp:
3209         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
3210
3211 2012-03-19  Enrica Casucci  <enrica@apple.com>
3212
3213         WebKit2: create sandbox extensions for files that are dropped in an input control.
3214         https://bugs.webkit.org/show_bug.cgi?id=81153
3215         <rdar://problem/11031207>
3216
3217         Reviewed by Alexey Proskuryakov.
3218
3219         Now the pasteboard access is performed only in the UI process, it is
3220         necessary to create sandbox extensions for each file that is dropped into
3221         an input type=file element. The extensions are created at the time the files
3222         are dropped and consumed immediately.
3223
3224         * page/DragActions.h: Added new drag action to be used by the WebDragClient.
3225         * page/DragController.cpp:
3226         (WebCore::DragController::concludeEditDrag): Added call to the drag client with the new action.
3227
3228 2012-03-19  Eric Seidel  <eric@webkit.org>
3229
3230         Fix Chromium Win
3231         https://bugs.webkit.org/show_bug.cgi?id=81281
3232
3233         Unreviewed build fix.
3234
3235         * platform/graphics/chromium/TransparencyWin.h:
3236
3237 2012-03-19  Eric Seidel  <eric@webkit.org>
3238
3239         Fix the chromium world.
3240         https://bugs.webkit.org/show_bug.cgi?id=81281
3241
3242         Unreviewed build fix.
3243
3244         * rendering/RenderThemeChromiumSkia.cpp:
3245
3246 2012-03-19  Brady Eidson  <beidson@apple.com>
3247
3248         <rdar://problem/10917120> and https://bugs.webkit.org/show_bug.cgi?id=81066
3249         Crash in 3rd party WebKit apps under XHR/Cache code
3250
3251         Reviewed by Antti Koivisto.
3252
3253         No new layout tests.
3254         TestWebKitAPI test MemoryCachePruneWithinResourceLoadDelegate included
3255
3256         A CachedResource representing an XHR was being deleted by cache pruning during a delegate callback.
3257         This worked until http://trac.webkit.org/changeset/98380
3258
3259         * history/PageCache.cpp:
3260         (WebCore::PageCache::releaseAutoreleasedPagesNow): Only trigger pruning after the page cache
3261           autorelease if it was enabled before.
3262
3263         * loader/cache/CachedResourceLoader.cpp:
3264         (WebCore::CachedResourceLoader::loadResource): Disable pruning before loading the resource and
3265           re-enable it afterwards if necessary.
3266
3267         * loader/cache/MemoryCache.h:
3268         (WebCore::MemoryCache::pruneEnabled):
3269
3270 2012-03-19  Anders Carlsson  <andersca@apple.com>
3271
3272         Fix Windows build.
3273
3274         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3275         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDeviceScaleFactor):
3276
3277 2012-03-18  James Robinson  <jamesr@chromium.org>
3278
3279         [chromium] Implement fling-by-wheel on compositor thread
3280         https://bugs.webkit.org/show_bug.cgi?id=81462
3281
3282         Reviewed by Adrienne Walker.
3283
3284         Adds compositor thread support for a fling type implemented as a sequence of wheel scrolls. Covered by new tests
3285         in WebCompositorInputHandlerImplTests.
3286
3287         * platform/graphics/chromium/cc/CCInputHandler.h:
3288         (CCInputHandler):
3289         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3290         (WebCore::CCLayerTreeHostImpl::scheduleAnimation):
3291         (WebCore):
3292         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3293         (CCLayerTreeHostImpl):
3294         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3295         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
3296
3297 2012-03-19  Emil A Eklund  <eae@chromium.org>
3298
3299         [mac/chromium] Change platform code to use pixelSnappedRect methods
3300         https://bugs.webkit.org/show_bug.cgi?id=81016
3301
3302         Reviewed by Eric Seidel.
3303
3304         Change platform code to use Node::getPixelSnappedRect,
3305         pixelSnappedBoundingBoxRect and pixelSnappedAbsoluteClippedOverflowRect
3306         to avoid exposing subpixel types to the platform layer.
3307
3308         No new tests.
3309
3310         * WebCore.exp.in:
3311         * rendering/RenderObject.cpp:
3312         (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
3313         Add pixelSnapped version of absoluteClippedOverflowRect
3314         
3315         (WebCore):
3316         * rendering/RenderObject.h:
3317         (RenderObject):
3318
3319 2012-03-19  Brady Eidson  <beidson@apple.com>
3320
3321         <rdar://problem/10848575> and https://bugs.webkit.org/show_bug.cgi?id=81516
3322         REGRESSION (r107435) URLs copied from WebKit apps aren't in the right pasteboard format
3323
3324         Reviewed by Enrica Casucci.
3325
3326         r107435 started saving/restoring URLs as strings.
3327         We need to go back to setting the URL on the pasteboard using AppKit URL pasteboard APIs.
3328
3329         WebKit API test: ContextMenuCanCopyURL
3330         No WebKit2 API test possible at this time.
3331
3332         * platform/mac/PlatformPasteboardMac.mm:
3333         (WebCore::PlatformPasteboard::setURL):
3334
3335 2012-03-19  Anders Carlsson  <andersca@apple.com>
3336
3337         Make the TileCache work with HiDPI again
3338         https://bugs.webkit.org/show_bug.cgi?id=81569
3339         <rdar://problem/11031542>
3340
3341         Reviewed by Sam Weinig.
3342
3343         Set the contentsScale of the individual tile layers to be the same as the device scale factor.
3344         Also, take into account the fact that the value passed to TileCache::setScale is the product of the
3345         page scale factor and the device scale factor, so divide it by the device scale factor before storing
3346         it in m_scale.
3347
3348         * platform/graphics/ca/GraphicsLayerCA.cpp:
3349         (WebCore::GraphicsLayerCA::platformCALayerDeviceScaleFactor):
3350         (WebCore):
3351         * platform/graphics/ca/GraphicsLayerCA.h:
3352         (GraphicsLayerCA):
3353         * platform/graphics/ca/PlatformCALayerClient.h:
3354         (PlatformCALayerClient):
3355         * platform/graphics/ca/mac/TileCache.h:
3356         (TileCache):
3357         * platform/graphics/ca/mac/TileCache.mm:
3358         (WebCore::TileCache::TileCache):
3359         (WebCore::TileCache::setScale):
3360         (WebCore::TileCache::createTileLayer):
3361
3362 2012-03-19  Abhishek Arya  <inferno@chromium.org>
3363
3364         Crash due to layer tree information not updated when moving run-in children.
3365         https://bugs.webkit.org/show_bug.cgi?id=81265
3366
3367         Reviewed by Julien Chaffraix.
3368
3369         We need to do a full removal as the run-in child is getting inserted into
3370         the neighbouring block and |blockRunIn| is going to be destroyed later
3371         in the function.
3372
3373         Test: fast/runin/run-in-layer-not-removed-crash.html
3374
3375         * rendering/RenderBlock.cpp:
3376         (WebCore::RenderBlock::handleRunInChild):
3377
3378 2012-03-19  Dana Jansens  <danakj@chromium.org>
3379
3380         [chromium] Remove misleading double-if
3381         https://bugs.webkit.org/show_bug.cgi?id=81557
3382
3383         Reviewed by Adrienne Walker.
3384
3385         Simple code cleanup, no functionality change.
3386
3387         * platform/graphics/chromium/TiledLayerChromium.cpp:
3388         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
3389
3390 2012-03-19  Eric Seidel  <eric@webkit.org>
3391
3392         Fix WTF header include discipline in Chromium WebKit
3393         https://bugs.webkit.org/show_bug.cgi?id=81281
3394
3395         Reviewed by James Robinson.
3396
3397         I also fixed some bad include dicipline for other ports
3398         as well.  Those changes are not yet necessary for those ports
3399         to keep building, but soon should be as those authors
3400         remove all the extra WTF includes from WebCore and other non-WTF projects.
3401
3402         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
3403         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
3404         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
3405         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
3406         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
3407         * bindings/v8/NPV8Object.cpp:
3408         * bindings/v8/SerializedScriptValue.cpp:
3409         * bindings/v8/SerializedScriptValue.h:
3410         * bindings/v8/V8Binding.cpp:
3411         * bindings/v8/V8Binding.h:
3412         * bindings/v8/V8DOMWrapper.cpp:
3413         * bindings/v8/V8Utilities.cpp:
3414         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3415         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3416         * bindings/v8/custom/V8AudioContextCustom.cpp:
3417         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3418         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
3419         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
3420         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
3421         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
3422         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
3423         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
3424         * bindings/v8/custom/V8MessagePortCustom.cpp:
3425         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
3426         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
3427         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
3428         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
3429         * bindings/v8/custom/V8WorkerCustom.cpp:
3430         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3431         * bridge/qt/qt_runtime.cpp:
3432         * editing/gtk/FrameSelectionGtk.cpp:
3433         * loader/archive/mhtml/MHTMLArchive.cpp:
3434         * platform/ScrollAnimatorNone.cpp:
3435         * platform/blackberry/CookieMap.h:
3436         * platform/blackberry/CookieParser.h:
3437         * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:
3438         * platform/chromium/DragImageChromiumSkia.cpp:
3439         * platform/chromium/PlatformCursor.h:
3440         * platform/chromium/PlatformSupport.h:
3441         * platform/chromium/PopupMenuPrivate.h:
3442         * platform/chromium/TraceEvent.h:
3443         * platform/chromium/WidgetChromium.cpp:
3444         * platform/efl/RefPtrEfl.h:
3445         * platform/graphics/cairo/RefPtrCairo.h:
3446         * platform/graphics/chromium/RateLimiter.h:
3447         * platform/graphics/chromium/TiledLayerChromium.cpp:
3448         * platform/graphics/efl/IconEfl.cpp:
3449    &nbs