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