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