[SVG] Update of element referenced by multiple 'use' nodes is absurdly slow
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-20  Florin Malita  <fmalita@chromium.org>
2
3         [SVG] Update of element referenced by multiple 'use' nodes is absurdly slow
4         https://bugs.webkit.org/show_bug.cgi?id=97905
5
6         Reviewed by Dirk Schulze.
7
8         Rebuilding the shadow and instance trees of dependent use nodes recursively can be
9         extremely inefficient with non-trivial dependency graphs (the trees are not constructed
10         in topological order).
11
12         To avoid redundant buildShadowAndInstanceTree() invokations, separate the invalidation
13         phase from the actual tree (re)building phase, and only descend into the dependency DAG
14         during the invalidation phase (recursion also stops at nodes that have been previously
15         invalidated).
16
17         No new tests: functional coverage provided by existing tests, perfomance tracked by
18         PerformanceTests/SVG/SvgNestedUse.html.
19
20         * svg/SVGUseElement.cpp:
21         (WebCore::SVGUseElement::buildPendingResource):
22         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
23         (WebCore::SVGUseElement::invalidateShadowTree):
24         (WebCore):
25         (WebCore::SVGUseElement::invalidateDependentShadowTrees):
26         * svg/SVGUseElement.h:
27         (SVGUseElement):
28
29 2013-02-20  Tim Horton  <timothy_horton@apple.com>
30
31         RenderLayerBacking should initialize TiledBacking's isInWindow state with Page's isInWindow, not isOnscreen
32         https://bugs.webkit.org/show_bug.cgi?id=110370
33         <rdar://problem/13254006>
34
35         Reviewed by Simon Fraser.
36
37         * rendering/RenderLayerBacking.cpp:
38         (WebCore::RenderLayerBacking::RenderLayerBacking):
39
40 2013-02-20  Mark Lam  <mark.lam@apple.com>
41
42         Cleanup the SQLTransaction and SQLTransactionBackend state dispatch
43         to only honor a state transition request if the associated database
44         hasn't been interrupted.
45         https://bugs.webkit.org/show_bug.cgi?id=110247.
46
47         Reviewed by Antti Koivisto.
48
49         No new tests.
50
51         * Modules/webdatabase/SQLTransaction.cpp:
52         (WebCore::SQLTransaction::performPendingCallback):
53         (WebCore::SQLTransaction::computeNextStateAndCleanupIfNeeded):
54         * Modules/webdatabase/SQLTransaction.h:
55         * Modules/webdatabase/SQLTransactionBackend.cpp:
56         (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
57         (WebCore::SQLTransactionBackend::performNextStep):
58         * Modules/webdatabase/SQLTransactionBackend.h:
59
60 2013-02-20  Alexey Proskuryakov  <ap@apple.com>
61
62         ResourceHandle::loadResourceSynchronously should have blob support in cross-platform code
63         https://bugs.webkit.org/show_bug.cgi?id=110364
64
65         Reviewed by Anders Carlsson.
66
67         * platform/network/ResourceHandle.h:
68         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::loadResourceSynchronously):
69         Added a cross-platform version to keep blob-related logic in one place.
70
71         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
72         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
73         * platform/network/cf/ResourceHandleCFNet.cpp:
74         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
75         * platform/network/curl/ResourceHandleCurl.cpp:
76         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
77         * platform/network/mac/ResourceHandleMac.mm:
78         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
79         * platform/network/qt/ResourceHandleQt.cpp:
80         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
81         * platform/network/soup/ResourceHandleSoup.cpp:
82         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
83         * platform/network/win/ResourceHandleWin.cpp:
84         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
85         Renamed loadResourceSynchronously to platformLoadResourceSynchronously,
86         removed blob handling from platforms that had it.
87
88 2013-02-20  David Hyatt  <hyatt@apple.com>
89
90         [New Multicolumn] RenderMultiColumnFlowThreads should establish a BFC.
91         https://bugs.webkit.org/show_bug.cgi?id=110366.
92
93         Reviewed by Antti Koivisto.
94
95         RenderFlowThreads should establish a block formatting context always.
96         CSS Regions have named flow thread that they absolutely position, and so
97         they got this for free by being absolutely positioned.
98         
99         RenderMultiColumnFlowThreads, however, are relative positioned, so we need
100         to just add an isRenderFlowThread case specifically so we're not dependent
101         on the positioning scheme used for the flow thread to establish the BFC.
102         
103         Test: fast/multicol/newmulticol/float-*.html.
104
105         * rendering/RenderBlock.cpp:
106         (WebCore::RenderBlock::MarginInfo::MarginInfo):
107
108 2013-02-20  David Hyatt  <hyatt@apple.com>
109
110         [New Multicolumn] Column gap is computed incorrectly.
111         https://bugs.webkit.org/show_bug.cgi?id=110360.
112
113         Reviewed by Simon Fraser.
114
115         Test: fast/multicol/newmulticol/layers-split-across-columns.html.
116
117         * rendering/RenderMultiColumnSet.cpp:
118         (WebCore::RenderMultiColumnSet::columnGap):
119         Make sure we ask the RenderMultiColumnBlock for the gap rather than our
120         own style, since we don't actually have the gap value in our style.
121         
122         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
123         * rendering/RenderMultiColumnSet.h:
124         Fix another spot where the columnGap was an int. It should be a LayoutUnit.
125
126 2013-02-20  Robert Hogan  <robert@webkit.org>
127
128         No caret on empty contenteditable element with negative text-indent
129         https://bugs.webkit.org/show_bug.cgi?id=108633
130
131         Reviewed by Ryosuke Niwa.
132
133         Test: fast/repaint/paint-caret-in-div-with-negative-indent.html
134
135         When an editable element has a negative text indent we won't paint the caret when the
136         element is empty because it falls outside the element's border box. To ensure the caret is painted,
137         account for any negative indent with our overflow.
138
139         * rendering/RenderBlock.cpp:
140         (WebCore::RenderBlock::computeOverflow):
141
142 2013-02-20  Ojan Vafai  <ojan@chromium.org>
143
144         Remove stretchesToMinIntrinsicLogicalWidth
145         https://bugs.webkit.org/show_bug.cgi?id=110266
146
147         Reviewed by Emil Eklund.
148
149         This was only used by fieldsets and now we have a way to express this
150         concept in CSS.
151
152         * WebCore.order:
153         * css/html.css:
154         Make fieldsets min-width: -webkit-min-content.
155
156         * rendering/RenderBox.cpp:
157         (WebCore::RenderBox::computeLogicalWidthInRegion):
158         (WebCore::RenderBox::computePositionedLogicalWidth):
159         * rendering/RenderBox.h:
160         Remove all calls to stretchesToMinIntrinsicLogicalWidth.
161
162 2013-02-20  Ojan Vafai  <ojan@chromium.org>
163
164         Make intrinsic width values work for positioned elements
165         https://bugs.webkit.org/show_bug.cgi?id=110264
166
167         Reviewed by Tony Chang.
168
169         Tests: fast/css-intrinsic-dimensions/intrinsic-sized-absolutes.html
170                fast/css-intrinsic-dimensions/width-shrinks-avoid-floats.html
171
172         * rendering/RenderBox.cpp:
173         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
174         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
175         Move the computation of intrinsic widths out into a helper function so that
176         computePositionedLogicalWidthUsing can use it. As per the current spec,
177         fill-available measures shrink to avoid floats. http://dev.w3.org/csswg/css3-sizing/
178
179         (WebCore::RenderBox::computePositionedLogicalWidth):
180         Compute intrinsic min-widths in addition to non-zero ones. Intrinsic widths
181         return true for isZero. width and max-width don't need modifying since they already
182         call computePositionedLogicalWidthUsing for intrinsic widths.
183
184         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
185         Compute intrinsic widths and use a Fixed length for the rest of the positioned width
186         computation. Doesn't include bordersPlusPadding because the caller, expected the content
187         width and adds in the bordersPlusPadding later.
188
189         * rendering/RenderBox.h:
190
191 2013-02-20  Robert Hogan  <robert@webkit.org>
192
193         input element with placeholder text and width set to 100% on focus causes overflow even after losing focus
194         https://bugs.webkit.org/show_bug.cgi?id=109020
195
196         Reviewed by David Hyatt.
197
198         Tests: fast/forms/input-placeholder-layout-view.html
199                fast/forms/textarea-placeholder-layout-view.html
200
201         Placeholder elements don't affect layout so shouldn't contribute overflow either.
202
203         * rendering/RenderTextControlSingleLine.cpp:
204         (WebCore::RenderTextControlSingleLine::layout):
205
206 2013-02-20  Mark Lam  <mark.lam@apple.com>
207
208         Rename DatabaseBackend to DatabaseBackendBase.
209         https://bugs.webkit.org/show_bug.cgi?id=110303.
210
211         Rubber stamped by Alexey Proskuryakov.
212
213         This is a purely cosmetic change to make the naming consistent with
214         the front-end DatabaseBase.
215
216         No new tests.
217
218         * CMakeLists.txt:
219         * GNUmakefile.list.am:
220         * Modules/webdatabase/AbstractDatabaseServer.h:
221         * Modules/webdatabase/Database.cpp:
222         (WebCore::Database::create):
223         (WebCore::Database::version):
224         * Modules/webdatabase/Database.h:
225         (Database):
226         * Modules/webdatabase/DatabaseBackend.cpp: Removed.
227         * Modules/webdatabase/DatabaseBackend.h: Removed.
228         * Modules/webdatabase/DatabaseBackendAsync.cpp:
229         (WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
230         (WebCore::DatabaseBackendAsync::performOpenAndVerify):
231         * Modules/webdatabase/DatabaseBackendAsync.h:
232         * Modules/webdatabase/DatabaseBackendBase.cpp: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.cpp.
233         (WebCore::DatabaseBackendBase::databaseInfoTableName):
234         (WebCore::DatabaseBackendBase::DatabaseBackendBase):
235         (WebCore::DatabaseBackendBase::~DatabaseBackendBase):
236         (WebCore::DatabaseBackendBase::closeDatabase):
237         (WebCore::DatabaseBackendBase::version):
238         (WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
239         (DoneCreatingDatabaseOnExitCaller):
240         (WebCore::DatabaseBackendBase::performOpenAndVerify):
241         (WebCore::DatabaseBackendBase::securityOrigin):
242         (WebCore::DatabaseBackendBase::stringIdentifier):
243         (WebCore::DatabaseBackendBase::displayName):
244         (WebCore::DatabaseBackendBase::estimatedSize):
245         (WebCore::DatabaseBackendBase::fileName):
246         (WebCore::DatabaseBackendBase::details):
247         (WebCore::DatabaseBackendBase::getVersionFromDatabase):
248         (WebCore::DatabaseBackendBase::setVersionInDatabase):
249         (WebCore::DatabaseBackendBase::setExpectedVersion):
250         (WebCore::DatabaseBackendBase::getCachedVersion):
251         (WebCore::DatabaseBackendBase::setCachedVersion):
252         (WebCore::DatabaseBackendBase::getActualVersionForTransaction):
253         (WebCore::DatabaseBackendBase::disableAuthorizer):
254         (WebCore::DatabaseBackendBase::enableAuthorizer):
255         (WebCore::DatabaseBackendBase::setAuthorizerReadOnly):
256         (WebCore::DatabaseBackendBase::setAuthorizerPermissions):
257         (WebCore::DatabaseBackendBase::lastActionChangedDatabase):
258         (WebCore::DatabaseBackendBase::lastActionWasInsert):
259         (WebCore::DatabaseBackendBase::resetDeletes):
260         (WebCore::DatabaseBackendBase::hadDeletes):
261         (WebCore::DatabaseBackendBase::resetAuthorizer):
262         (WebCore::DatabaseBackendBase::maximumSize):
263         (WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded):
264         (WebCore::DatabaseBackendBase::interrupt):
265         (WebCore::DatabaseBackendBase::isInterrupted):
266         (WebCore::DatabaseBackendBase::reportOpenDatabaseResult):
267         (WebCore::DatabaseBackendBase::reportChangeVersionResult):
268         (WebCore::DatabaseBackendBase::reportStartTransactionResult):
269         (WebCore::DatabaseBackendBase::reportCommitTransactionResult):
270         (WebCore::DatabaseBackendBase::reportExecuteStatementResult):
271         (WebCore::DatabaseBackendBase::reportVacuumDatabaseResult):
272         * Modules/webdatabase/DatabaseBackendBase.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.h.
273         (DatabaseBackendBase):
274         * Modules/webdatabase/DatabaseBackendSync.cpp:
275         (WebCore::DatabaseBackendSync::DatabaseBackendSync):
276         * Modules/webdatabase/DatabaseBackendSync.h:
277         * Modules/webdatabase/DatabaseBase.h:
278         * Modules/webdatabase/DatabaseManager.cpp:
279         (WebCore::DatabaseManager::openDatabaseBackend):
280         (WebCore::DatabaseManager::openDatabase):
281         (WebCore::DatabaseManager::openDatabaseSync):
282         (WebCore::DatabaseManager::getMaxSizeForDatabase):
283         * Modules/webdatabase/DatabaseManager.h:
284         (DatabaseManager):
285         * Modules/webdatabase/DatabaseServer.cpp:
286         (WebCore::DatabaseServer::openDatabase):
287         (WebCore::DatabaseServer::createDatabase):
288         (WebCore::DatabaseServer::getMaxSizeForDatabase):
289         * Modules/webdatabase/DatabaseServer.h:
290         * Modules/webdatabase/DatabaseSync.cpp:
291         (WebCore::DatabaseSync::create):
292         * Modules/webdatabase/DatabaseSync.h:
293         (DatabaseSync):
294         * Modules/webdatabase/DatabaseTracker.cpp:
295         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
296         (WebCore::DatabaseTracker::databaseChanged):
297         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
298         (WebCore::DatabaseTracker::doneCreatingDatabase):
299         (WebCore::DatabaseTracker::addOpenDatabase):
300         (WebCore::DatabaseTracker::removeOpenDatabase):
301         (WebCore::DatabaseTracker::getOpenDatabases):
302         (WebCore::DatabaseTracker::deleteDatabaseFile):
303         * Modules/webdatabase/DatabaseTracker.h:
304         (DatabaseTracker):
305         * Modules/webdatabase/OriginQuotaManager.cpp:
306         (WebCore::OriginQuotaManager::markDatabase):
307         * Modules/webdatabase/OriginQuotaManager.h:
308         (OriginQuotaManager):
309         * Modules/webdatabase/SQLTransactionClient.cpp:
310         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
311         (WebCore::SQLTransactionClient::didExecuteStatement):
312         (WebCore::SQLTransactionClient::didExceedQuota):
313         * Modules/webdatabase/SQLTransactionClient.h:
314         (SQLTransactionClient):
315         * Modules/webdatabase/chromium/DatabaseObserver.h:
316         (DatabaseObserver):
317         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
318         (WebCore::DatabaseTracker::addOpenDatabase):
319         (WebCore::NotifyDatabaseObserverOnCloseTask::create):
320         (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
321         (NotifyDatabaseObserverOnCloseTask):
322         (WebCore::DatabaseTracker::removeOpenDatabase):
323         (WebCore::DatabaseTracker::prepareToOpenDatabase):
324         (WebCore::DatabaseTracker::failedToOpenDatabase):
325         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
326         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
327         (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
328         (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
329         (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
330         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
331         (WebCore::NotifyDatabaseChangedTask::create):
332         (WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask):
333         (NotifyDatabaseChangedTask):
334         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
335         (WebCore::SQLTransactionClient::didExecuteStatement):
336         (WebCore::SQLTransactionClient::didExceedQuota):
337         * Target.pri:
338         * WebCore.gypi:
339         * WebCore.vcproj/WebCore.vcproj:
340         * WebCore.vcxproj/WebCore.vcxproj:
341         * WebCore.vcxproj/WebCore.vcxproj.filters:
342         * WebCore.xcodeproj/project.pbxproj:
343
344 2013-02-20  Eric Carlson  <eric.carlson@apple.com>
345
346         iOS does not use CaptionUserPreferencesMac
347         https://bugs.webkit.org/show_bug.cgi?id=110259
348
349         Reviewed by Dean Jackson.
350
351         * page/CaptionUserPreferencesMac.h: Add PLATFORM(IOS) guard
352         * page/CaptionUserPreferencesMac.mm: Ditto.
353
354         * page/PageGroup.cpp:
355         (WebCore::PageGroup::captionPreferences): Ditto.
356
357 2013-02-19  David Hyatt  <hyatt@apple.com>
358
359         [New Multicolumn] Make layers paint properly in columns.
360         https://bugs.webkit.org/show_bug.cgi?id=110296.
361
362         Reviewed by Sam Weinig.
363
364         Construct the style for the RenderMultiColumnFlowThread such that it
365         establishes a stacking context (by being position:relative
366         with a z-index of 0). This causes the layer collection code
367         to correctly ignore the RenderFlowThread layers during normal
368         painting.
369         
370         Fix more clipping bugs to eliminate subpixel layout differences
371         between old and new multicolumn.
372
373         Test: fast/multicol/newmulticol/layers-in-multicol.html
374
375         * rendering/RenderMultiColumnBlock.cpp:
376         (WebCore::createMultiColumnFlowThreadStyle):
377         (WebCore):
378         (WebCore::RenderMultiColumnBlock::addChild):
379         Use a custom style (similar to what normal RenderFlowThreads do)
380         for the RenderMultiColumnFlowThread that makes it a stacking
381         context.
382         
383         * rendering/RenderMultiColumnSet.cpp:
384         (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
385         Fix the overflow calculations out the leftmost and rightmost
386         columns to actually look at the physical placement of the columns.
387         The old code was backwards for RTL.
388         
389         * rendering/RenderRegion.cpp:
390         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
391         Fix the clipping done by overflowRectForFlowThreadPortion to min
392         and max with the passed-in portion rect so that subclasses that
393         inflate the rect prior to passing it into the method don't have that
394         inflation discarded.
395
396 2013-02-20  Alexander Pavlov  <apavlov@chromium.org>
397
398         Web Inspector: CSSProperty.status defaults to "style" not "active"
399         https://bugs.webkit.org/show_bug.cgi?id=110348
400
401         Reviewed by Timothy Hatcher.
402
403         * inspector/Inspector.json: Fix the default property status to be "style" in the description.
404
405 2013-02-20  Dan Carney  <dcarney@google.com>
406
407         [v8] potentially disposed handle returned for npapi object
408         https://bugs.webkit.org/show_bug.cgi?id=110331
409
410         Reviewed by Kentaro Hara.
411
412         No new tests. No change in functionality.
413
414         * bindings/v8/V8NPUtils.cpp:
415         (WebCore::convertNPVariantToV8Object):
416
417 2013-02-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>  and  Martin Robinson  <mrobinson@igalia.com>
418
419         [Gtk] HTML5 Media controls require a design refresh
420         https://bugs.webkit.org/show_bug.cgi?id=83869
421
422         Created new controls that depend less on Gtk and more in CSS.
423
424         Reviewed by Philippe Normand.
425
426         * GNUmakefile.list.am: Added compilation for MediaControlsGtk.cpp
427         and MediaControlsGtk.h
428         * css/mediaControlsGtk.css: Taken from Chromium and adapted for
429         WebKitGtk+.
430         * html/shadow/MediaControlsGtk.cpp: Added.
431         (WebCore): Added MediaControlsGtk class.
432         (WebCore::MediaControlsGtk::MediaControlsGtk): Class constructor
433         (WebCore::MediaControls::create): Creates the Gtk+ controls
434         components.
435         (WebCore::MediaControlsGtk::createControls): Creates the Gtk+
436         controls components.
437         (WebCore::MediaControlsGtk::initializeControls): Initializes all
438         media controls.
439         (WebCore::MediaControlsGtk::setMediaController): Sets the media
440         controller.
441         (WebCore::MediaControlsGtk::reset): Resets the controllers.
442         (WebCore::MediaControlsGtk::playbackStarted): Invoked when the
443         playback starts
444         (WebCore::MediaControlsGtk::updateCurrentTimeDisplay): Updates the
445         controls when the current time shall be updated.
446         (WebCore::MediaControlsGtk::changedMute): Updates the controls
447         then the mute changes.
448         (WebCore::MediaControlsGtk::showVolumeSlider): Invoked when the
449         volume slider is meant to be shown.
450         (WebCore::MediaControlsGtk::createTextTrackDisplay): Creates the
451         track display. Though it is not used by us, it needs to be created
452         to prevent immediate crashes when loading a video.
453         * html/shadow/MediaControlsGtk.h: Added.
454         (WebCore): Added the MediaControlsGtk class.
455         (MediaControlsGtk): Added the MediaControlsGtk class.
456         * platform/gtk/RenderThemeGtk.cpp:
457         (WebCore): Added getStockSymbolicIconForWidgetType function
458         signature to load symbolic icons.
459         (WebCore::supportsFocus): Added media control widgets to support
460         focus so that the focus ring is not painted by WebCore.
461         (WebCore::RenderThemeGtk::paintMediaButton): Added the symbolic
462         icon support. It supports now normal and symbolic icons at the
463         same time.
464         (WebCore::RenderThemeGtk::paintMediaFullscreenButton): Added the
465         symbolic icon support.
466         (WebCore::RenderThemeGtk::paintMediaMuteButton): Added the
467         symbolic icon support.
468         (WebCore::RenderThemeGtk::paintMediaPlayButton): Added the
469         symbolic icon support.
470         (WebCore::RenderThemeGtk::paintMediaSeekBackButton): Added the
471         symbolic icon support.
472         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton): Added the
473         symbolic icon support.
474         (WebCore::borderRadiiFromStyle): Created the radii info from the
475         style.
476         (WebCore::RenderThemeGtk::paintMediaSliderTrack): Removed the
477         background and the Gtk widget support as it is painted with
478         CSS. Also paint the time ranges with the CSS style.
479         (WebCore::RenderThemeGtk::paintMediaSliderThumb): Paint slider
480         thumb according to the CSS parameters.
481         (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
482         Delegates in the CSS.
483         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack): Fills the
484         track up to the volume level and delegates the border in the CSS.
485         (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb): Delegates
486         in the paintMediaSliderThumb method so the thumb is painted the
487         same with the CSS parameters.
488         (WebCore::RenderThemeGtk::paintMediaCurrentTime): Removed the Gtk
489         background to use only CSS.
490         * platform/gtk/RenderThemeGtk.h:
491         (RenderThemeGtk): Changed paintMediaButton to support the symbolic
492         and normal icons at the same time.
493         * platform/gtk/RenderThemeGtk2.cpp:
494         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Not adjusting
495         the thumb size and letting the CSS decide that for media slider.
496         (WebCore::getStockSymbolicIconForWidgetType): Implemented as a
497         fallback to the normal stock icons.
498         * platform/gtk/RenderThemeGtk3.cpp:
499         (WebCore):
500         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Not adjusting
501         the thumb size and letting the CSS decide that for the media
502         sliders.
503         (WebCore::getStockSymbolicIconForWidgetType): Added this function
504         to load symbolic icons. It falls back to normal icons if the
505         symbolic is not found.
506
507 2013-02-20  Andras Becsi  <andras.becsi@digia.com>
508
509         [Qt] Rename AncestorChainWalker.h to EventPathWalker.h in the project file.
510
511         Unreviewed gardening.
512
513         AncestorChainWalker has been renamed to EventPathWalker in r143422.
514         Rename the header in the project file as well so that it shows up in QtCreator.
515
516         No new tests needed.
517
518         * Target.pri:
519
520 2013-02-20  Ilya Tikhonovsky  <loislo@chromium.org>
521
522         Web Inspector: fix for frontend closure compile errors.
523         https://bugs.webkit.org/show_bug.cgi?id=110329
524
525         Reviewed by Vsevolod Vlasov.
526
527         It has no tests because it has no code changes.
528
529         * inspector/front-end/HeapSnapshot.js:
530         (HeapSnapshotMetainfo):
531         * inspector/front-end/NativeMemorySnapshotView.js:
532         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
533         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
534
535 2013-02-20  Florin Malita  <fmalita@chromium.org>
536
537         Clear SVGPathSeg role on removal.
538         https://bugs.webkit.org/show_bug.cgi?id=110058
539
540         Reviewed by Dirk Schulze.
541
542         SVGPathSegListPropertyTearOff::initialize() and SVGPathSegListPropertyTearOff::replaceItem()
543         need to clear the context and role for segments being expunged from the list, similarly to
544         removeItem(). Otherwise, processIncomingListItemValue() can get confused and attempt to
545         remove stale segments.
546
547         Test: svg/dom/SVGPathSegList-crash.html
548
549         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
550         (WebCore::SVGPathSegListPropertyTearOff::clearContextAndRoles):
551         (WebCore::SVGPathSegListPropertyTearOff::clear):
552         (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
553         (WebCore):
554         * svg/properties/SVGPathSegListPropertyTearOff.h:
555         (WebCore::SVGPathSegListPropertyTearOff::initialize):
556         (SVGPathSegListPropertyTearOff):
557
558 2013-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
559
560         Unreviewed, rolling out r143434.
561         http://trac.webkit.org/changeset/143434
562         https://bugs.webkit.org/show_bug.cgi?id=110326
563
564         added reftest fails on chromium mac 10.6 (Requested by
565         toyoshim on #webkit).
566
567         * rendering/RenderFileUploadControl.cpp:
568         (WebCore::RenderFileUploadControl::paintObject):
569
570 2013-02-19  Vsevolod Vlasov  <vsevik@chromium.org>
571
572         Web Inspector: Make UISourceCode.path() an array of path segments.
573         https://bugs.webkit.org/show_bug.cgi?id=110229
574
575         Reviewed by Pavel Feldman.
576
577         * inspector/front-end/FileSystemProjectDelegate.js:
578         (WebInspector.FileSystemProjectDelegate.prototype._filePathForPath):
579         (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
580         (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
581         (WebInspector.FileSystemProjectDelegate.prototype._contentTypeForPath):
582         (WebInspector.FileSystemProjectDelegate.prototype.populate.filesLoaded):
583         (WebInspector.FileSystemProjectDelegate.prototype.populate):
584         * inspector/front-end/SimpleWorkspaceProvider.js:
585         (WebInspector.SimpleProjectDelegate.prototype.requestFileContent):
586         (WebInspector.SimpleProjectDelegate.prototype.searchInFileContent):
587         (WebInspector.SimpleProjectDelegate.prototype.addFile):
588         (WebInspector.SimpleProjectDelegate.prototype._ensureUniquePath):
589         (WebInspector.SimpleProjectDelegate.prototype.removeFile):
590         (WebInspector.SimpleWorkspaceProvider.pathForSplittedURL):
591         (WebInspector.SimpleWorkspaceProvider.prototype.addFileByName):
592         (WebInspector.SimpleWorkspaceProvider.prototype.removeFileByName):
593         * inspector/front-end/UISourceCode.js:
594         (WebInspector.UISourceCode.prototype.uri):
595         * inspector/front-end/Workspace.js:
596         (WebInspector.Project.prototype._fileAdded):
597         (WebInspector.Project.prototype._fileRemoved):
598         (WebInspector.Project.prototype.uiSourceCode):
599         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
600         (WebInspector.Workspace.prototype.urlForPath):
601
602 2013-02-20  Yury Semikhatsky  <yurys@chromium.org>
603
604         Web Inspector: fix message for non-existent domain warning
605         https://bugs.webkit.org/show_bug.cgi?id=110315
606
607         Reviewed by Alexander Pavlov.
608
609         Only send (Heap)Profiler.resetProfiles event if the client has
610         requested profile headers before.
611
612         * inspector/InspectorHeapProfilerAgent.cpp:
613         (HeapProfilerAgentState):
614         (WebCore):
615         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
616         (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
617         (WebCore::InspectorHeapProfilerAgent::clearFrontend):
618         (WebCore::InspectorHeapProfilerAgent::restore):
619         (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
620         * inspector/InspectorHeapProfilerAgent.h:
621         (InspectorHeapProfilerAgent):
622         * inspector/InspectorProfilerAgent.cpp:
623         (ProfilerAgentState):
624         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
625         (WebCore::InspectorProfilerAgent::addProfile):
626         (WebCore::InspectorProfilerAgent::disable):
627         (WebCore::InspectorProfilerAgent::getProfileHeaders):
628         (WebCore):
629         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
630         (WebCore::InspectorProfilerAgent::restore):
631         * inspector/InspectorProfilerAgent.h:
632         (InspectorProfilerAgent):
633
634 2013-02-19  Vsevolod Vlasov  <vsevik@chromium.org>
635
636         Web Inspector: Move workspace specific code from FileMapping to workspace.
637         https://bugs.webkit.org/show_bug.cgi?id=110219
638
639         Reviewed by Pavel Feldman.
640
641         Extracted workspace specific code from FileMapping to Workspace.
642         This allows to reduce usage of uri and eventually make UISourceCode.path an array of path segments.
643
644         Test: inspector/workspace-mapping.html
645
646         * inspector/front-end/CSSStyleModel.js:
647         (WebInspector.CSSStyleModel.prototype.rawLocationToUILocation):
648         * inspector/front-end/CompilerScriptMapping.js:
649         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
650         (WebInspector.CompilerScriptMapping.prototype.get addScript.get this):
651         (WebInspector.CompilerScriptMapping.prototype.get addScript):
652         * inspector/front-end/FileMapping.js:
653         (WebInspector.FileMapping):
654         (WebInspector.FileMapping.prototype.mappingEntryForURL):
655         (WebInspector.FileMapping.prototype.mappingEntryForPath):
656         * inspector/front-end/FileSystemMapping.js:
657         (WebInspector.FileSystemMapping.prototype.fileSystemPathForPrefix):
658         (WebInspector.FileSystemMappingImpl.prototype.addFileSystemMapping):
659         (WebInspector.FileSystemMappingImpl.prototype.removeFileSystemMapping):
660         (WebInspector.FileSystemMappingImpl.prototype.fileSystemPathForPrefix):
661         * inspector/front-end/FileSystemProjectDelegate.js:
662         (WebInspector.FileSystemProjectDelegate):
663         (WebInspector.FileSystemProjectDelegate.prototype.populate.filesLoaded):
664         (WebInspector.FileSystemProjectDelegate.prototype.populate):
665         (WebInspector.FileSystemWorkspaceProvider):
666         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
667         * inspector/front-end/IsolatedFileSystemManager.js:
668         (WebInspector.IsolatedFileSystemManager):
669         * inspector/front-end/NetworkUISourceCodeProvider.js:
670         (WebInspector.NetworkUISourceCodeProvider):
671         (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
672         * inspector/front-end/ResourceScriptMapping.js:
673         (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
674         * inspector/front-end/ResourceUtils.js:
675         (WebInspector.displayNameForURL):
676         * inspector/front-end/SASSSourceMapping.js:
677         (WebInspector.SASSSourceMapping.prototype._reloadCSS):
678         (WebInspector.SASSSourceMapping.prototype._bindUISourceCode):
679         (WebInspector.SASSSourceMapping.prototype.rawLocationToUILocation):
680         * inspector/front-end/ScriptsPanel.js:
681         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
682         * inspector/front-end/SimpleWorkspaceProvider.js:
683         (WebInspector.SimpleWorkspaceProvider.pathForSplittedURL):
684         (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL):
685         * inspector/front-end/StylesSourceMapping.js:
686         (WebInspector.StylesSourceMapping.prototype.rawLocationToUILocation):
687         (WebInspector.StylesSourceMapping.prototype._resourceAdded):
688         (WebInspector.StylesSourceMapping.prototype._mainFrameCreatedOrNavigated):
689         (WebInspector.StyleContentBinding):
690         (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
691         * inspector/front-end/Workspace.js:
692         (WebInspector.Workspace):
693         (WebInspector.Workspace.prototype.hasMappingForURL):
694         (WebInspector.Workspace.prototype._fileSystemPathForEntry):
695         (WebInspector.Workspace.prototype.uiSourceCodeForURL):
696         (WebInspector.Workspace.prototype.urlForPath):
697         * inspector/front-end/inspector.js:
698
699 2013-02-20  Alexander Pavlov  <apavlov@chromium.org>
700
701         Web Inspector: Introduce SecurityOriginAdded and SecurityOriginRemoved events into ResourceTreeModel
702         https://bugs.webkit.org/show_bug.cgi?id=110232
703
704         Reviewed by Vsevolod Vlasov.
705
706         * inspector/front-end/ResourceTreeModel.js:
707         (WebInspector.ResourceTreeModel):
708         (WebInspector.ResourceTreeModel.prototype._addFrame):
709         (WebInspector.ResourceTreeModel.prototype._addSecurityOrigin): Added.
710         (WebInspector.ResourceTreeModel.prototype._removeSecurityOrigin): Added.
711         (WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached): Added.
712         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
713         (WebInspector.ResourceTreeModel.prototype._frameDetached):
714
715 2013-02-20  Dan Carney  <dcarney@google.com>
716
717         [v8] ScriptValue has dangerous copy semantics
718         https://bugs.webkit.org/show_bug.cgi?id=110206
719
720         Reviewed by Kentaro Hara.
721
722         Update ScriptValue to used a SharedPersistent,
723         making it impossible to return dead references.
724
725         No new tests. No change in functionality.
726
727         * bindings/v8/ScriptValue.cpp:
728         (WebCore::ScriptValue::serialize):
729         (WebCore::ScriptValue::getString):
730         (WebCore::ScriptValue::toString):
731         (WebCore::ScriptValue::toInspectorValue):
732         * bindings/v8/ScriptValue.h:
733         (WebCore::ScriptValue::ScriptValue):
734         (WebCore::ScriptValue::operator=):
735         (WebCore::ScriptValue::operator==):
736         (WebCore::ScriptValue::isEqual):
737         (WebCore::ScriptValue::isFunction):
738         (WebCore::ScriptValue::isNull):
739         (WebCore::ScriptValue::isUndefined):
740         (WebCore::ScriptValue::isObject):
741         (WebCore::ScriptValue::hasNoValue):
742         (WebCore::ScriptValue::clear):
743         (ScriptValue):
744         (WebCore::ScriptValue::v8Value):
745         (WebCore::ScriptValue::v8ValueRaw):
746         * bindings/v8/SharedPersistent.h:
747         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
748         (WebCore::InjectedScriptHost::scriptValueAsNode):
749         * bindings/v8/custom/V8MessageEventCustom.cpp:
750         (WebCore::V8MessageEvent::dataAttrGetterCustom):
751
752 2013-02-20  Andrey Lushnikov  <lushnikov@chromium.org>
753
754         Web Inspector: highlight undefined word in JavaScript
755         https://bugs.webkit.org/show_bug.cgi?id=109585
756
757         Reviewed by Vsevolod Vlasov.
758
759         Test enhancement: inspector/syntax-highlight-javascript.html
760
761         Add global object value properties to tokenizer and add a css style
762         class to highlight "undefined" with gray color.
763
764         * inspector/front-end/SourceJavaScriptTokenizer.js:
765         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
766         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
767         * inspector/front-end/inspectorSyntaxHighlight.css:
768         (.webkit-javascript-undef):
769
770 2013-02-20  Mike West  <mkwst@chromium.org>
771
772         Use EventPathWalker rather than parentNode() to normalize event targets in EventHandler.
773         https://bugs.webkit.org/show_bug.cgi?id=110037
774
775         Reviewed by Ryosuke Niwa.
776
777         We need to teach EventHandler about Shadow DOM in a few places in order
778         to ensure that we properly target events dispatched upon text nodes.
779         Rather than naively grabbing the text node's direct parent via
780         parentNode(), we need to account for the case in which the text node is
781         distributed[1] to an insertion point inside a shadow host.
782         EventPathWalker::parent understands these relationships, and should
783         be used when dealing with mouse, drag, and touch events.
784
785         [1]: http://www.w3.org/TR/shadow-dom/#dfn-distribution
786
787         * page/EventHandler.cpp:
788         (WebCore::EventHandler::handleMouseDraggedEvent):
789         (WebCore::EventHandler::handleTouchEvent):
790         (WebCore::EventHandler::passGestureEventToWidgetIfPossible):
791         (WebCore::EventHandler::updateDragAndDrop):
792             Refactor parentNode callsites to use EventPathWalker::parent().
793
794 2013-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
795
796         Web Inspector: [Regression] Search in ProfilesPanel is broken
797         https://bugs.webkit.org/show_bug.cgi?id=110312
798
799         Reviewed by Pavel Feldman.
800
801         * inspector/front-end/CPUProfileView.js:
802         (WebInspector.CPUProfileView.prototype.matchesQuery):
803         (WebInspector.CPUProfileView.prototype.performSearch):
804
805 2013-02-20  Eugene Klyuchnikov  <eustas@chromium.org>
806
807         Web Inspector: View.markAsRoot should never be invoked on attached view.
808         https://bugs.webkit.org/show_bug.cgi?id=110224
809
810         Reviewed by Pavel Feldman.
811
812         This will cause CSS loading problems after "show".
813
814         * inspector/front-end/Drawer.js:
815         Ensure child view is detached before marked as root.
816         * inspector/front-end/View.js:
817         (WebInspector.View.prototype.markAsRoot): Added assertion.
818
819 2013-02-20  Nils Barth  <nbarth@google.com>
820
821         File upload control doesn't apply CSS vertical padding or border to file name
822         https://bugs.webkit.org/show_bug.cgi?id=109011
823
824         Reviewed by Hajime Morrita.
825
826         Test: fast/forms/file/file-vertical-padding-border.html
827
828         * rendering/RenderFileUploadControl.cpp:
829             Add borderTop() and paddingTop() when computing position.
830         (WebCore::RenderFileUploadControl::paintObject):
831
832 2013-02-19  Andrey Adaikin  <aandrey@chromium.org>
833
834         Few methods in WebGLRenderingContext.idl have incorrect signatures
835         https://bugs.webkit.org/show_bug.cgi?id=110305
836
837         Reviewed by Kentaro Hara.
838
839         * html/canvas/WebGLRenderingContext.idl:
840
841 2013-02-19  Tim Horton  <timothy_horton@apple.com>
842
843         Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
844         https://bugs.webkit.org/show_bug.cgi?id=110261
845         <rdar://problem/13196122>
846
847         Reviewed by Simon Fraser.
848
849         Remove RenderLayerCompositor::willMoveOffscreen/didMoveOnscreen.
850         Add RenderLayerCompositor::setIsInWindow, and pipe in-window changes through from Page::setIsInWindow.
851         Adjust a few Document functions that previously called RenderView::didMoveOnscreen/willMoveOffscreen to use setIsInWindow instead, since in-window state changes are occurring when attaching and detaching documents.
852
853         * WebCore.exp.in: Export Page::setIsInWindow.
854         * dom/Document.cpp:
855         (WebCore::Document::attach): Use setIsInWindow instead of didMoveOnscreen.
856         (WebCore::Document::documentWillBecomeInactive): Use setIsInWindow instead of willMoveOffscreen.
857         (WebCore::Document::documentDidResumeFromPageCache): Use setIsInWindow instead of didMoveOnscreen.
858         * page/FrameView.cpp:
859         (WebCore::FrameView::didMoveOnscreen):
860         (WebCore::FrameView::willMoveOffscreen):
861         RenderView doesn't care about moving on/offscreen, just in-window state.
862         (WebCore::FrameView::setIsInWindow): Added. Forward isInWindow changes to our RenderView.
863         * page/FrameView.h:
864         (FrameView): Add setIsInWindow.
865         * page/Page.cpp:
866         (WebCore::Page::setIsInWindow): Added. Forward isInWindow changes to the Page's FrameViews.
867         * page/Page.h:
868         (Page): Add setIsInWindow.
869         (WebCore::Page::isInWindow):
870         * rendering/RenderLayerCompositor.cpp:
871         (WebCore::RenderLayerCompositor::setIsInWindow): Added. Replace willMoveOffscreen/didMoveOnscreen with setIsInWindow,
872         since that's the only change we actually care about.
873         * rendering/RenderLayerCompositor.h:
874         (RenderLayerCompositor): Add setIsInWindow.
875         * rendering/RenderView.cpp:
876         (WebCore::RenderView::setIsInWindow): Added. Replace willMoveOffscreen/didMoveOnscreen with setIsInWindow,
877         since that's the only change RenderLayerCompositor actually cares about.
878         * rendering/RenderView.h:
879         (RenderView): Add setIsInWindow.
880
881 2013-02-19  Eugene Klyuchnikov  <eustas@chromium.org>
882
883         Web Inspector: Cleanup and add JSDocs to SuggestBox
884         https://bugs.webkit.org/show_bug.cgi?id=110202
885
886         Reviewed by Pavel Feldman.
887
888         SuggestBox contains some obsolete/unused code and not fully
889         covered with JSDocs.
890
891         * inspector/front-end/SuggestBox.js:
892         (WebInspector.SuggestBox.prototype.visible):
893         Replaced getter with function.
894         (WebInspector.SuggestBox.prototype._onScrollOrResize):
895         Use camel-case for function names.
896         (WebInspector.SuggestBox.prototype._onBoxMouseDown): Ditto.
897         (WebInspector.SuggestBox.prototype.updateSuggestions):
898         Removed unused code.
899         (WebInspector.SuggestBox.prototype.hide): Adopt changes.
900         (WebInspector.SuggestBox.prototype._applySuggestion): Ditto.
901         * inspector/front-end/TextPrompt.js:
902         (WebInspector.TextPrompt.prototype.isSuggestBoxVisible): Ditto.
903
904 2013-02-19  Hayato Ito <hayato@chromium.org>
905
906         Calculate EventPath in EventDispatcher's constructor.
907         https://bugs.webkit.org/show_bug.cgi?id=109905
908
909         Reviewed by Dimitri Glazkov.
910
911         This patch calculates an EventPath in EventDispatcher's
912         constructor and removes EventDispatcher::ensureEventPath().
913         We don't have any reason to initialize an EventPath lazily.
914
915         No tests. No change in behavior.
916
917         * dom/EventDispatcher.cpp:
918         (WebCore::EventDispatcher::EventDispatcher):
919         (WebCore::EventDispatcher::dispatch):
920         * dom/EventDispatcher.h:
921         (WebCore::EventDispatcher::eventPath):
922         (EventDispatcher):
923         * dom/FocusEvent.cpp:
924         (WebCore::FocusEventDispatchMediator::dispatchEvent):
925         (WebCore::BlurEventDispatchMediator::dispatchEvent):
926         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
927         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
928         * dom/MouseEvent.cpp:
929         (WebCore::MouseEventDispatchMediator::dispatchEvent):
930
931 2013-02-19  Simon Fraser  <simon.fraser@apple.com>
932
933         Fix TileCache tile size when zoomed on slow-scrolling site
934         https://bugs.webkit.org/show_bug.cgi?id=110289
935
936         Reviewed by Tim Horton.
937         
938         In slow scrolling mode, we use the tile coverage rect as the tile size
939         (so a single tile covers the viewport). When zoomed, the tile coverage rect
940         shrinks relative to the TileCache, so scale the tile size back up.
941
942         Test: platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed.html
943
944         * platform/graphics/ca/mac/TileCache.mm:
945         (WebCore::TileCache::tileSizeForCoverageRect):
946
947 2013-02-19  Hayato Ito  <hayato@chromium.org>
948
949         Rename AncestorChainWalker.
950         https://bugs.webkit.org/show_bug.cgi?id=110146
951
952         Reviewed by Dimitri Glazkov.
953
954         Rename AncestorChainWalker to EventPathWalker.
955         The term of EventPath is used in DOM Core spec.  EventPath was
956         already introduced into a EventContext.h in r112055. We should
957         spread this term into the Walker class since they share the same
958         purpose.
959
960         No new tests, no behavior change.
961
962         * CMakeLists.txt:
963         * GNUmakefile.list.am:
964         * Target.pri:
965         * WebCore.gypi:
966         * WebCore.xcodeproj/project.pbxproj:
967         * dom/DOMAllInOne.cpp:
968         * dom/EventDispatcher.cpp:
969         * dom/EventPathWalker.cpp: Renamed from Source/WebCore/dom/AncestorChainWalker.cpp.
970         (WebCore):
971         (WebCore::EventPathWalker::EventPathWalker):
972         (WebCore::EventPathWalker::parent): parent() is now a static function to cover simple use cases.
973         (WebCore::EventPathWalker::moveToParent): Renamed from parent().
974         * dom/EventPathWalker.h: Renamed from Source/WebCore/dom/AncestorChainWalker.h.
975         (WebCore):
976         (EventPathWalker):
977         (WebCore::EventPathWalker::node):
978         (WebCore::EventPathWalker::isVisitingInsertionPointInReprojection): Renamed from isCrossingInsertionPoint().
979         * dom/EventRetargeter.cpp:
980         (WebCore::EventRetargeter::calculateEventPath):
981         (WebCore::EventRetargeter::buildRelatedNodeMap):
982         * dom/TreeScope.cpp:
983         (WebCore::TreeScope::focusedNode):
984         * html/HTMLLIElement.cpp:
985         (WebCore::HTMLLIElement::attach):
986         * page/EventHandler.cpp:
987         (WebCore::EventHandler::updateMouseEventTargetNode):
988         (WebCore::EventHandler::handleWheelEvent):
989
990 2013-02-19  Dean Jackson  <dino@apple.com>
991
992         Snapshotted plugin label should not be selectable
993         https://bugs.webkit.org/show_bug.cgi?id=110286
994
995         Reviewed by Simon Fraser.
996
997         Update the CSS to make it clear that you should click
998         on a snapshot (use the finger pointer) and disable
999         text selection.
1000
1001         * css/plugIns.css:
1002         (embed::-webkit-snapshotted-plugin-content .snapshot-container .snapshot-label):
1003
1004 2013-02-19  Hans Muller  <hmuller@adobe.com>
1005
1006         [CSS Exclusions] Enable shape-inside support for ellipses
1007         https://bugs.webkit.org/show_bug.cgi?id=109868
1008
1009         Reviewed by Dirk Schulze.
1010
1011         This change is very similar to the one recently made for circles:
1012         removed the test that disabled ellipse values for shape-inside.
1013         The remaining support for ellipses, which is based on rounded rectangles
1014         whose width/height is equal to their radiusX/radiusY, has not changed.
1015
1016         Test: fast/exclusions/shape-inside/shape-inside-ellipse.html
1017
1018         * rendering/ExclusionShapeInsideInfo.h:
1019         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): No longer disallows any BasicShape type.
1020
1021 2013-02-19  Uday Kiran  <udaykiran@motorola.com>
1022
1023         'round' not implemented in border-image
1024         https://bugs.webkit.org/show_bug.cgi?id=14185
1025
1026         Reviewed by David Hyatt.
1027
1028         Add rendering support for 'round' keyword of border-image-repeat CSS property
1029         http://dev.w3.org/csswg/css3-background/#border-image-repeat
1030         Rebased original patch by Benjamin Otte <otte@gnome.org> and made few fixes.
1031
1032         Test: fast/borders/border-image-02.html
1033
1034         * platform/graphics/GraphicsContext.cpp:
1035         (WebCore::GraphicsContext::drawTiledImage):
1036         * platform/graphics/GraphicsContext.h:
1037         (GraphicsContext):
1038         * platform/graphics/Image.cpp:
1039         (WebCore::Image::drawTiled):
1040         * platform/graphics/Image.h:
1041         (Image):
1042         * rendering/RenderBoxModelObject.cpp:
1043         (WebCore::RenderBoxModelObject::paintNinePieceImage): For 'round' keyword,
1044         the image is tiled (repeated) to fill the area. If it does not fill the area
1045         with a whole number of tiles, the image is rescaled so that it does.
1046
1047 2013-02-19  Conrad Shultz  <conrad_shultz@apple.com>
1048
1049         Allow UI clients to handle vertical wheel events.
1050         https://bugs.webkit.org/show_bug.cgi?id=110006
1051
1052         Reviewed by Tim Horton.
1053
1054         Add API to allow matching changes in WebKit2 to control rubber-banding behavior at vertical page extrema.
1055         If rubber-banding is disabled during a scroll event that would otherwise trigger rubber-banding, dispatch
1056         didNotHandleWheelEvent() to the page UI client.
1057
1058         * WebCore.exp.in:
1059         Export new rubber-banding API.
1060
1061         * page/Page.cpp:
1062         (WebCore):
1063         (WebCore::Page::rubberBandsAtBottom):
1064         Proxy for the corresponding function in ScrollingCoordinator.
1065         (WebCore::Page::setRubberBandsAtBottom):
1066         Ditto.
1067         (WebCore::Page::rubberBandsAtTop):
1068         Ditto.
1069         (WebCore::Page::setRubberBandsAtTop):
1070         Ditto.
1071
1072         * page/Page.h:
1073         (Page):
1074         Declare new rubber-banding API (above).
1075
1076         * page/scrolling/ScrollingCoordinator.h:
1077         (WebCore::ScrollingCoordinator::rubberBandsAtBottom):
1078         Stub API implementation.
1079         (WebCore::ScrollingCoordinator::setRubberBandsAtBottom):
1080         Ditto.
1081         (WebCore::ScrollingCoordinator::rubberBandsAtTop):
1082         Ditto.
1083         (WebCore::ScrollingCoordinator::setRubberBandsAtTop):
1084         Ditto.
1085
1086         * page/scrolling/ScrollingTree.cpp:
1087         (WebCore::ScrollingTree::ScrollingTree):
1088         Initialize new member variables.
1089         (WebCore::ScrollingTree::setMainFramePinState):
1090         Set top/bottom pinned states.
1091         (WebCore::ScrollingTree::rubberBandsAtBottom):
1092         New accessor function.
1093         (WebCore::ScrollingTree::setRubberBandsAtBottom):
1094         New mutator function.
1095         (WebCore::ScrollingTree::rubberBandsAtTop):
1096         New accessor function.
1097         (WebCore::ScrollingTree::setRubberBandsAtTop):
1098         New mutator function.
1099         (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
1100         Start a vertical swipe event if the frame is pinned at the top or bottom and associated rubber-banding is disabled.
1101
1102         * page/scrolling/ScrollingTree.h:
1103         (ScrollingTree):
1104         Declare new rubber-banding API and associated member variables.
1105
1106         * page/scrolling/mac/ScrollingCoordinatorMac.h:
1107         (ScrollingCoordinatorMac):
1108         Declare API overrides.
1109
1110         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1111         (WebCore::ScrollingCoordinatorMac::rubberBandsAtBottom):
1112         Method override; proxy to corresponding function in ScrollingTree.
1113         (WebCore::ScrollingCoordinatorMac::setRubberBandsAtBottom):
1114         Ditto.
1115         (WebCore::ScrollingCoordinatorMac::rubberBandsAtTop):
1116         Ditto.
1117         (WebCore::ScrollingCoordinatorMac::setRubberBandsAtTop):
1118         Ditto.
1119
1120         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1121         (WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection):
1122         Remove trailing whitespace.
1123         (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
1124         Calculate and pass vertical pinning state to ScrollingTree::setMainFramePinState().
1125
1126 2013-02-19  Simon Fraser  <simon.fraser@apple.com>
1127
1128         Rubber-banding should not affect the visibleRect of the TileCache
1129         https://bugs.webkit.org/show_bug.cgi?id=110278
1130
1131         Reviewed by Beth Dakin.
1132         
1133         When rubber-banding a slow-scrolling page, or image document, we would constantly re-create
1134         the bottom tile because of the logic that adapts the tile size to the visible rect when slow
1135         scrolling.
1136         
1137         Avoid that by ensuring that the visibleRect is not affected by rubber-banding. This is done
1138         via a GraphicsLayerClient function that allows RenderLayerCompositor to provide a custom
1139         position for the scroll layer. We constrain that scroll position to remove the overhang that
1140         results from rubber-banding.
1141
1142         I wasn't able to make a test for this, even with internals.setScrollViewPosition().
1143
1144         * platform/graphics/GraphicsLayerClient.h:
1145         (GraphicsLayerClient):
1146         (WebCore::GraphicsLayerClient::customPositionForVisibleRectComputation):
1147         * platform/graphics/ca/GraphicsLayerCA.cpp:
1148         (WebCore::GraphicsLayerCA::computeVisibleRect):
1149         * rendering/RenderLayerCompositor.cpp:
1150         (WebCore::RenderLayerCompositor::customPositionForVisibleRectComputation):
1151         * rendering/RenderLayerCompositor.h:
1152
1153 2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
1154
1155         Fix crash in preloading scanning base tags with no href attribute for background parser
1156         https://bugs.webkit.org/show_bug.cgi?id=110276
1157
1158         Reviewed by Eric Seidel.
1159
1160         Previously a <base> tag without an href attribute (like the one in fast/dom/HTMLAnchorElement/set-href-attribute-rebase.html)
1161         would crash the background parser's preload scanner.
1162
1163         To fix that, we only call stripLeadingAndTrailingHTMLSpaces() if the href attribute is non-null. This matches the main thread parser.
1164
1165         Along with this, I decided to templatize updatePredictedBaseURL() so that the main and background parser can share the same impl.
1166
1167         This required making CompactHTMLToken and HTMLToken a little more similar:
1168         1. Give HTMLToken a getAttributeItem() method.
1169         2. Move CompactAttribute to CompactHTMLToken::Attribute and make it a struct.
1170
1171         No new tests because covered by existing tests.
1172
1173         * html/parser/AtomicHTMLToken.h:
1174         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1175         * html/parser/CompactHTMLToken.cpp:
1176         (SameSizeAsCompactHTMLToken):
1177         (WebCore::CompactHTMLToken::CompactHTMLToken):
1178         (WebCore::CompactHTMLToken::getAttributeItem):
1179         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
1180         * html/parser/CompactHTMLToken.h:
1181         (WebCore::CompactHTMLToken::Attribute::Attribute):
1182         (Attribute):
1183         (WebCore::CompactHTMLToken::attributes):
1184         (CompactHTMLToken):
1185         (WebCore::CompactHTMLToken::publicIdentifier):
1186         (WebCore::CompactHTMLToken::systemIdentifier):
1187         * html/parser/HTMLParserIdioms.h:
1188         (WebCore):
1189         (WebCore::stripLeadingAndTrailingHTMLSpaces):
1190         * html/parser/HTMLPreloadScanner.cpp:
1191         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
1192         (WebCore):
1193         (WebCore::TokenPreloadScanner::updatePredictedBaseURL):
1194         * html/parser/HTMLPreloadScanner.h:
1195         * html/parser/HTMLToken.h:
1196         (WebCore::HTMLToken::getAttributeItem):
1197         (HTMLToken):
1198
1199 2013-02-19  Mark Lam  <mark.lam@apple.com>
1200
1201         Introducing AbstractSQLTransaction and AbstractSQLTransactionBackend.
1202         https://bugs.webkit.org/show_bug.cgi?id=110273.
1203
1204         Reviewed by Anders Carlsson.
1205
1206         This is part of the webdatabase refactoring for webkit2.
1207         - Also changed the frontend and backend to only refer to the
1208           abstract interface of each other.
1209
1210         No new tests.
1211
1212         * Modules/webdatabase/AbstractSQLTransaction.h: Added.
1213         (AbstractSQLTransaction):
1214         (WebCore::AbstractSQLTransaction::~AbstractSQLTransaction):
1215         * Modules/webdatabase/AbstractSQLTransactionBackend.h: Added.
1216         (AbstractSQLTransactionBackend):
1217         (WebCore::AbstractSQLTransactionBackend::~AbstractSQLTransactionBackend):
1218         * Modules/webdatabase/SQLTransaction.cpp:
1219         (WebCore::SQLTransaction::hasCallback):
1220         (WebCore::SQLTransaction::hasSuccessCallback):
1221         (WebCore::SQLTransaction::hasErrorCallback):
1222         (WebCore::SQLTransaction::setBackend):
1223         * Modules/webdatabase/SQLTransaction.h:
1224         (SQLTransaction):
1225         * Modules/webdatabase/SQLTransactionBackend.cpp:
1226         (WebCore::SQLTransactionBackend::create):
1227         (WebCore::SQLTransactionBackend::SQLTransactionBackend):
1228         * Modules/webdatabase/SQLTransactionBackend.h:
1229         (SQLTransactionBackend):
1230         * Modules/webdatabase/SQLTransactionStateMachine.h:
1231
1232 2013-02-19  Emil A Eklund  <eae@chromium.org>
1233
1234         Change computeStickyPositionConstraints to use LayoutBoxExtent for margins
1235         https://bugs.webkit.org/show_bug.cgi?id=108872
1236
1237         Reviewed by Levi Weintraub.
1238         
1239         Change RenderBoxModelObject::computeStickyPositionConstraints to
1240         use a LayoutBoxExtent to represent margins.
1241
1242         No new tests, no change in functionality.
1243
1244         * platform/graphics/LayoutRect.h:
1245         (WebCore::LayoutRect::contract):
1246         Add version contract methods that takes a LayoutBoxExtent object.
1247         
1248         * platform/graphics/LayoutSize.h:
1249         (WebCore::LayoutSize::shrink):
1250         Add shrink method.
1251         
1252         * rendering/RenderBoxModelObject.cpp:
1253         (WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
1254         Change to use a LayoutBoxExtent object to represent margins.
1255
1256 2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
1257
1258         Disable ASSERT(!hasInsertionPoint()) for background parser
1259         https://bugs.webkit.org/show_bug.cgi?id=110251
1260
1261         Reviewed by Adam Barth.
1262
1263         The background parser crashes about 10 layout tests by hitting ASSERT(!hasInsertionPoint()).
1264         Now, finish() is the thing that closes the HTMLInputStream which removes the insertion point.
1265         In these tests, a document.open() calls insert() which clears the HTMLInputStream which causes
1266         there to be an insertion point again.
1267
1268         With the main thread parser, insert() is called before finish() so the ASSERT passes.
1269         However, with the threaded parser, finish() is called before insert(), so we fail the ASSERT.
1270
1271         This patch disables the ASSERT for the background parser because m_input isn't really relevant.
1272         This causes us to pass the tests. However, there is a risk that now hasInsertionPoint() may be incorrect
1273         and Document has a non-debug branch that tests hasInsertionPoint().
1274
1275         No new tests because covered by existing tests.
1276
1277         * html/parser/HTMLDocumentParser.cpp:
1278         (WebCore::HTMLDocumentParser::prepareToStopParsing):
1279         (WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd):
1280
1281 2013-02-19  Hans Muller  <hmuller@adobe.com>
1282
1283         [CSS Exclusions] Enable shape-inside support for ellipses
1284         https://bugs.webkit.org/show_bug.cgi?id=109868
1285
1286         Reviewed by Dirk Schulze.
1287
1288         This change is very similar to the one recently made for circles:
1289         removed the test that disabled ellipse values for shape-inside.
1290         The remaining support for ellipses, which is based on rounded rectangles
1291         whose width/height is equal to their radiusX/radiusY, has not changed.
1292
1293         Test: fast/exclusions/shape-inside/shape-inside-ellipse.html
1294
1295         * rendering/ExclusionShapeInsideInfo.h:
1296         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): No longer disallows any BasicShape type.
1297
1298 2013-02-19  Simon Fraser  <simon.fraser@apple.com>
1299
1300         Separate constraining for overhang from fixed-position zooming behavior in scrollOffsetForFixedPosition()
1301         https://bugs.webkit.org/show_bug.cgi?id=110267
1302
1303         Reviewed by Beth Dakin.
1304
1305         The static scrollOffsetForFixedPosition() function in ScrollingCoordinator did two things;
1306         it constrained the scroll position when rubber-banding, and applied the special scaling for
1307         fixed position when zoomed.
1308         
1309         Separate these out so that we can use the rubber-banding constrained elsewhere.
1310
1311         * page/FrameView.cpp:
1312         (WebCore::FrameView::scrollOffsetForFixedPosition): The static function is here now.
1313         * page/FrameView.h:
1314         * page/scrolling/ScrollingCoordinator.cpp: Code moved to FrameView.
1315         * page/scrolling/ScrollingCoordinator.h:
1316         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1317         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition): scrollOffsetForFixedPosition()
1318         is now on FrameView.
1319         * platform/ScrollableArea.cpp:
1320         (WebCore::constrainedScrollPosition): Helper to constrain one axis for overhang.
1321         (WebCore::ScrollableArea::constrainScrollPositionForOverhang): Static function that
1322         can be called by FrameView::scrollOffsetForFixedPosition().
1323         * platform/ScrollableArea.h: Static function constrainScrollPositionForOverhang()
1324         so we can call it from another thread. Also a member fuction of the same name, which takes
1325         the scrollPosition as input (so we can feed it a layer position in a later patch).
1326
1327 2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
1328
1329         Fix checkThatTokensAreSafeToSendToAnotherThread() now that the preload scanner is enabled
1330         https://bugs.webkit.org/show_bug.cgi?id=110258
1331
1332         Reviewed by Adam Barth.
1333
1334         We were hitting this ASSERT on numerous tests with the background parser enabled. This copy fixes the assertion.
1335
1336         No new tests becuase covered by existing tests.
1337
1338         * html/parser/HTMLResourcePreloader.h:
1339         (WebCore::PreloadRequest::setCharset):
1340
1341 2013-02-19  Tony Gentilcore  <tonyg@chromium.org>
1342
1343         Fix typo: inititatorFor->initiatorFor
1344         https://bugs.webkit.org/show_bug.cgi?id=110260
1345
1346         Reviewed by Adam Barth.
1347
1348         No new tests because no changed functionality.
1349
1350         * html/parser/HTMLPreloadScanner.cpp:
1351         (WebCore::TokenPreloadScanner::initiatorFor):
1352         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
1353         * html/parser/HTMLPreloadScanner.h:
1354
1355 2013-02-19  Tony Chang  <tony@chromium.org>
1356
1357         Convert 3 settings to use Settings.in
1358         https://bugs.webkit.org/show_bug.cgi?id=109875
1359
1360         Reviewed by Ryosuke Niwa.
1361
1362         Convert mediaEnabled, applicationChromeMode and DOMPasteAllowed to
1363         use Settings.in. They previously had inconsistently named setters.
1364
1365         No new tests, this is a refactoring.
1366
1367         * Source/WebCore/WebCore.exp.in: Remove symbols that are now inlined from exports.
1368         * Source/WebCore/WebCore.order: Remove symbols that no longer exist.
1369         * dom/make_names.pl:
1370         (printConstructorInterior): Rename isMediaEnabled to mediaEnabled.
1371         (printWrapperFunctions): Rename isMediaEnabled to mediaEnabled.
1372         * editing/EditorCommand.cpp:
1373         (WebCore::supportedPaste): Rename isDOMPasteAllowed to DOMPasteAllowed.
1374         * page/Settings.cpp:
1375         (WebCore::Settings::Settings): Remove custom code.
1376         * page/Settings.h:
1377         (Settings): Remove custom code.
1378         * page/Settings.in: Add entries for mediaEnabled, applicationChromeMode and DOMPasteAllowed.
1379         * page/make_settings.pl:
1380         (setterFunctionName): Expand uppercase rules to include DOM.
1381         * rendering/RenderTheme.cpp:
1382         (WebCore::RenderTheme::isDefault): Rename inApplicationChromeMode to applicationChromeMode.
1383         * rendering/RenderThemeWin.cpp:
1384         (WebCore::documentIsInApplicationChromeMode): Rename inApplicationChromeMode to applicationChromeMode.
1385
1386 2013-02-19  Julien Chaffraix  <jchaffraix@webkit.org>
1387
1388         [CSS Grid Layout] Refactor the code in preparation of auto placement support
1389         https://bugs.webkit.org/show_bug.cgi?id=110244
1390
1391         Reviewed by Ojan Vafai.
1392
1393         Test: fast/css-grid-layout/grid-auto-flow-resolution.html
1394
1395         In order to support auto placement, we need to iterate over the grid items with
1396         auto row / column several times. This changes makes us do that in a very simple,
1397         not-yet-conformant way. While touching this code, the distinction between grid-auto-flow
1398         none and row / column was better drawn (and enforced).
1399
1400         * rendering/RenderGrid.cpp:
1401         (WebCore::RenderGrid::resolveGridPositionFromStyle):
1402         Made it illegal to call resolveGridPositionFromStyle if the grid track is auto and
1403         grid-auto-flow is not none. This would catch bad use of the function.
1404
1405         (WebCore::RenderGrid::maximumIndexInDirection):
1406         Updated to bail out if the grid track is auto. Also improved the comment.
1407
1408         (WebCore::RenderGrid::placeItemsOnGrid):
1409         Updated the function to do several iterations. Also handled the grid-auto-flow: none
1410         case differently as it shouldn't need the extra iteration(s).
1411
1412 2013-02-19  David Hyatt  <hyatt@apple.com>
1413
1414         [New Multicolumn] REGRESSION: RenderMultiColumnSets broken by the RenderRegion -> RenderBlock subclassing.
1415         https://bugs.webkit.org/show_bug.cgi?id=110239.
1416
1417         Reviewed by Simon Fraser.
1418
1419         Test: fast/multicol/newmulticol/column-rules-fixed-height.html
1420
1421         * rendering/RenderBlock.cpp:
1422         (WebCore::RenderBlock::columnRectAt):
1423         Make sure the columnGap() in the old multicolumn code is always expressed as a LayoutUnit. This was the
1424         one place where it was still an int.
1425
1426         * rendering/RenderFlowThread.cpp:
1427         (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
1428         Rework the painting of flow thread portions to account for the fact that regions paint at an integral
1429         translation. This means you have to construct clipping around that integral destination. Subpixel layout
1430         regions did not clip correctly as a result of this issue.
1431
1432         * rendering/RenderMultiColumnSet.cpp:
1433         (WebCore::RenderMultiColumnSet::columnRectAt):
1434         Fix the same bug with columnGap() that the old column code has, i.e., one spot where it was an int.
1435
1436         (WebCore::RenderMultiColumnSet::paintObject):
1437         RenderMultiColumnSet should be using paintObject and not paint and it needs to check for visibility
1438         and phases now that it is a RenderBlock subclass.
1439
1440         (WebCore::RenderMultiColumnSet::paintColumnRules):
1441         Fix the bug that Opera guys fixed in the old multi-column code. They didn't patch the new code, so this
1442         takes care of that.
1443
1444         * rendering/RenderMultiColumnSet.h:
1445         (RenderMultiColumnSet):
1446         Change to use paintObject instead of paint.
1447
1448 2013-02-19  Branimir Lambov  <blambov@google.com>
1449
1450         Fix 'slice' aspect ratio calculation
1451         https://bugs.webkit.org/show_bug.cgi?id=99984
1452
1453         Reviewed by Dirk Schulze.
1454
1455         Previously the calculation for the 'slice' aspect ratio would incorrectly calculate the
1456         source rect location based on the destination rect offset. This caused our source rect to be
1457         incorrect, and sometimes render outside the visible area completely. After this patch
1458         our implementation matches the implementation of both Gecko and Presto.
1459
1460         The relevant spec section:
1461         http://www.w3.org/TR/SVG/single-page.html#coords-PreserveAspectRatioAttribute
1462
1463         Tests: svg/as-image/image-preserveAspectRatio-all.svg
1464                svg/filters/feImage-preserveAspectRatio-all.svg
1465
1466         * svg/SVGPreserveAspectRatio.cpp:
1467         (WebCore::SVGPreserveAspectRatio::transformRect):
1468
1469 2013-02-19  Kentaro Hara  <haraken@google.com>
1470
1471         [V8] ScriptRunner::runCompiledScript() should return Handle<Value>() when OOM occurs
1472         https://bugs.webkit.org/show_bug.cgi?id=110254
1473
1474         Reviewed by Adam Barth.
1475
1476         Chromium bug: https://code.google.com/p/chromium/issues/detail?id=176951
1477
1478         Currently ScriptRunner::runCompiledScript() calls
1479         ASSERT(script.IsEmpty()) when OOM occurs. The Chromium bug is
1480         hitting the ASSERT(). The ASSERT() does not make sense at all.
1481         Instead, we should return an empty handle when OOM occurs.
1482
1483         No tests. The bug happens only when OOM occurs.
1484
1485         * bindings/v8/ScriptRunner.cpp:
1486         (WebCore::ScriptRunner::runCompiledScript):
1487
1488 2013-02-19  Elliott Sprehn  <esprehn@chromium.org>
1489
1490         Support both MutationObserver and WebKitMutationObserver
1491         https://bugs.webkit.org/show_bug.cgi?id=109776
1492
1493         Reviewed by Ojan Vafai.
1494
1495         We should allow new MutationObserver now that we support parser generated
1496         mutations. This leaves the old prefixed constructor in until we decide
1497         people don't depend on it.
1498
1499         Test: fast/dom/MutationObserver/mutation-observer-prefix.html
1500
1501         * page/DOMWindow.idl:
1502
1503 2013-02-19  Elliott Sprehn  <esprehn@chromium.org>
1504
1505         Remove RenderText::updateText
1506         https://bugs.webkit.org/show_bug.cgi?id=109991
1507
1508         Reviewed by Eric Seidel.
1509
1510         There's no reason for the generic RenderText::updateText virtual hook
1511         anymore now that r143060 made RenderQuote stop setting dirty bits during
1512         layout since the hook is only used by RenderCounter.
1513
1514         Instead add updateCounterIfNeeded and make it clear this is a hack for
1515         counters.
1516
1517         * rendering/RenderBlockLineLayout.cpp:
1518         (WebCore::updateCounterIfNeeded): Added, not handles the counter specific hack.
1519         (WebCore::dirtyLineBoxesForRenderer):
1520         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1521         * rendering/RenderCounter.cpp:
1522         (WebCore::RenderCounter::updateCounter):
1523         * rendering/RenderCounter.h:
1524         (RenderCounter):
1525         * rendering/RenderQuote.cpp:
1526         (WebCore::RenderQuote::styleDidChange):
1527         (WebCore::RenderQuote::updateDepth):
1528         * rendering/RenderQuote.h:
1529         (RenderQuote):
1530         * rendering/RenderText.h:
1531         (RenderText):
1532
1533 2013-02-19  Tony Chang  <tony@chromium.org>
1534
1535         Border changes on tables with collapsed borders doesn't relayout table cells
1536         https://bugs.webkit.org/show_bug.cgi?id=109774
1537
1538         Reviewed by David Hyatt.
1539
1540         Test: fast/table/border-collapsing/dynamic-border-width-change.html
1541
1542         Changes to border top and border bottom on table rows also changes the size
1543         of the table cell causing a relayout to be needed.
1544
1545         * rendering/RenderTableRow.cpp:
1546         (WebCore::borderWidthChanged): Also include border top and bottom.
1547         (WebCore::RenderTableRow::styleDidChange): Remove logical from the helper function name.
1548
1549 2013-02-19  Kentaro Hara  <haraken@chromium.org>
1550
1551         Unreviewed. Rebaselined run-bindings-tests.
1552
1553         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1554         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
1555         * bindings/scripts/test/JS/JSTestObj.cpp:
1556         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
1557
1558 2013-02-19  ChangSeok Oh  <changseok.oh@collabora.com>
1559
1560         [GTK][AC] Implement matrix transform animation with clutter ac backend
1561         https://bugs.webkit.org/show_bug.cgi?id=109848
1562
1563         Reviewed by Gustavo Noronha Silva.
1564
1565         Clutter 1.12 doesn't support additive transform animations yet, so the combination
1566         of two or more transformations(such as rotation after translation) runs unexpectedly.
1567         So we use a matrix transformation instead for the case.
1568
1569         Covered by existing animation tests.
1570
1571         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1572         (WebCore::getValueFunctionNameForTransformOperation):
1573         (WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
1574         * platform/graphics/clutter/PlatformClutterAnimation.cpp:
1575         (WebCore::toClutterActorPropertyString): Add actor property "transform"
1576         (WebCore::clutterMatrixProgress): Handle interpolation between two matrices instead of default clutter_matrix_progress.
1577         (WebCore):
1578         (WebCore::PlatformClutterAnimation::supportsAdditiveValueFunction):
1579         (WebCore::PlatformClutterAnimation::setFromValue): for TransformationMatrix.
1580         (WebCore::PlatformClutterAnimation::setToValue): ditto.
1581         (WebCore::PlatformClutterAnimation::addClutterTransitionForProperty):
1582         (WebCore::PlatformClutterAnimation::addTransformTransition):
1583         * platform/graphics/clutter/PlatformClutterAnimation.h:
1584         (PlatformClutterAnimation):
1585         * platform/graphics/clutter/TransformationMatrixClutter.cpp: Add copy constructor for CoglMatrix.
1586         (WebCore::TransformationMatrix::TransformationMatrix):
1587         (WebCore):
1588         * platform/graphics/transforms/TransformationMatrix.h:
1589         (TransformationMatrix):
1590
1591 2013-02-19  Kassy Coan  <kassycoan@chromium.org>
1592
1593         Update FeatureObserver on top level navigation in addition to page destruction.
1594         https://bugs.webkit.org/show_bug.cgi?id=109874
1595
1596         Reviewed by Adam Barth.
1597
1598         No new tests. Only effect is to histogram more frequently.
1599
1600         * loader/FrameLoader.cpp:
1601         (WebCore::FrameLoader::dispatchDidCommitLoad):
1602         * page/FeatureObserver.cpp:
1603         (WebCore::FeatureObserver::~FeatureObserver):
1604         (WebCore):
1605         (WebCore::FeatureObserver::updateMeasurements):
1606         (WebCore::FeatureObserver::didCommitLoad):
1607         * page/FeatureObserver.h:
1608         (FeatureObserver):
1609
1610 2013-02-19  Morten Stenshorne  <mstensho@opera.com>
1611
1612         Remove unnecessary (and problematic) copy-constructor from LayoutUnit
1613         https://bugs.webkit.org/show_bug.cgi?id=110121
1614
1615         This copy constructor does what a default copy constructor would do, so
1616         it's not necessary. Furthermore, this copy constructor is the only
1617         reason why LayoutUnit becomes non-POD, and that triggers a gdb bug,
1618         making it impossible to do things like "print location()" when inside
1619         some RenderBlock, for instance.
1620
1621         Gdb bug http://sourceware.org/bugzilla/show_bug.cgi?id=15154 reported.
1622
1623         Reviewed by Benjamin Poulain.
1624
1625         No tests. Apart from dealing with buggy debuggers, this is just code cleanup.
1626
1627         * platform/LayoutUnit.h:
1628
1629 2013-02-19  Emil A Eklund  <eae@chromium.org>
1630
1631         LayoutUnit::epsilon shouldn't be necessary to place floats
1632         https://bugs.webkit.org/show_bug.cgi?id=94000
1633
1634         Reviewed by Levi Weintraub.
1635         
1636         Currently, to get float placement correct, we need to have an
1637         epsilon tolerance in RenderBlock::computeLogicalLocationForFloat
1638         for the width of the line to fit them on. This really shouldn't
1639         be necessary, and probably indicates we're losing precision
1640         elsewhere.
1641         
1642         Remove epsilon as it no longer appears to be needed. All layout
1643         tests pass without it.
1644
1645         No new tests, covered by existing tests.
1646
1647         * rendering/RenderBlock.cpp:
1648         (WebCore::RenderBlock::computeLogicalLocationForFloat):
1649
1650 2013-02-19  Tim Volodine  <timvolodine@chromium.org>
1651
1652         Text Autosizing: prevent oscillation of font sizes during autosizing
1653         https://bugs.webkit.org/show_bug.cgi?id=108205
1654
1655         Reviewed by Kenneth Rohde Christiansen.
1656
1657         On some websites autosized font-sizes oscillate due to layouts caused by
1658         hovering or incremental page loading (and on other sites font sizes do
1659         eventually stabilize, but it takes many layouts before they reach a steady
1660         size). To prevent all these cases, we no longer allow the autosizing
1661         multiplier to change after it has been set (to a value other than 1).
1662
1663         This won't always give exactly the same results, but testing on 2000 top
1664         sites shows that this makes little difference in practice, and it prevents
1665         these very jarring cases. As a happy side-effect, this speeds up layouts
1666         as font sizes change less.
1667
1668         Test: fast/text-autosizing/oscillation-javascript-fontsize-change.html
1669
1670         * page/FrameView.cpp:
1671         (WebCore::FrameView::setFrameRect):
1672         * page/Settings.cpp:
1673         (WebCore::Settings::setTextAutosizingFontScaleFactor):
1674         * rendering/TextAutosizer.cpp:
1675         (WebCore::TextAutosizer::recalculateMultipliers):
1676         (WebCore):
1677         (WebCore::TextAutosizer::processContainer):
1678         * rendering/TextAutosizer.h:
1679         (TextAutosizer):
1680
1681 2013-02-19  Youenn Fablet  <youennf@gmail.com>
1682
1683         [EFL][DRT] http/tests/loading/307-after-303-after-post.html times out
1684         https://bugs.webkit.org/show_bug.cgi?id=93214
1685
1686         Ensured that GET verb is consistently used for any request
1687         coming after a redirection that triggers switching to GET.
1688
1689         Reviewed by Martin Robinson.
1690
1691         * platform/network/soup/ResourceHandleSoup.cpp:
1692         (WebCore::doRedirect):
1693
1694 2013-02-19  Andras Becsi  <andras.becsi@digia.com>
1695
1696         [Qt] Fix compilation if Qt was configured with -no-rtti
1697         https://bugs.webkit.org/show_bug.cgi?id=110234
1698
1699         Reviewed by Noam Rosenthal.
1700
1701         Availability of dynamic_cast should be checked.
1702
1703         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1704         (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
1705
1706 2013-02-18  Alexey Proskuryakov  <ap@apple.com>
1707
1708         Unregistered blob URLs have incorrect MIME type
1709         https://bugs.webkit.org/show_bug.cgi?id=110166
1710
1711         Reviewed by Sam Weinig.
1712
1713         * page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::shouldUseInnerURL): Added a FIXME.
1714
1715         * platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::notifyResponseOnError):
1716         Pass an accurate MIME type (for a delegate to see).
1717
1718 2013-02-19  Joshua Bell  <jsbell@chromium.org>
1719
1720         IndexedDB: additional checks on LevelDB decoding
1721         https://bugs.webkit.org/show_bug.cgi?id=109711
1722
1723         Reviewed by Tony Chang.
1724
1725         Watch out for decoding errors caused by corrupted data, and exit various
1726         decode/compare operations earlier.
1727
1728         Covered by existing LayoutTests and Chromium's webkit_unit_tests
1729
1730         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1731         (WebCore::IDBLevelDBCoding::decodeStringWithLength): Bail if length is negative.
1732         (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength): Distinguish error case.
1733         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey): Bail if length is negative.
1734         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys): Distinguish error case.
1735         (WebCore::IDBLevelDBCoding::compare): Plumb through "ok".
1736         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare): Ditto.
1737         (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare): Ditto.
1738         (WebCore::IDBLevelDBCoding::IndexDataKey::compare): Ditto.
1739         * Modules/indexeddb/IDBLevelDBCoding.h: Updated method signatures.
1740
1741 2013-02-19  ChangSeok Oh  <changseok.oh@collabora.com>
1742
1743         [GTK][AC] Implement keyframe animations with clutter ac backend
1744         https://bugs.webkit.org/show_bug.cgi?id=110057
1745
1746         Reviewed by Gustavo Noronha Silva.
1747
1748         This patch brings accelerated keyframe animation with clutter to WebKitGtk+.
1749         Changes of GraphicsLayerClutter are based on GraphicsLayerCA. But major changes
1750         of PlatformClutterAnimation are implemented with clutter keyframe transition apis.
1751         See http://developer.gnome.org/clutter/stable/ClutterKeyframeTransition.html
1752
1753         Covered by existing animation tests.
1754
1755         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1756         (WebCore::GraphicsLayerClutter::createKeyframeAnimation):
1757         (WebCore::GraphicsLayerClutter::setTransformAnimationKeyframes):
1758         (WebCore::GraphicsLayerClutter::setAnimationKeyframes):
1759         * platform/graphics/clutter/PlatformClutterAnimation.cpp:
1760         (WebCore::toClutterActorPropertyString):
1761         (WebCore::PlatformClutterAnimation::PlatformClutterAnimation):
1762         (WebCore::PlatformClutterAnimation::setTimingFunction):
1763         (WebCore::PlatformClutterAnimation::setValues):
1764         (WebCore::PlatformClutterAnimation::setKeyTimes):
1765         (WebCore::PlatformClutterAnimation::setTimingFunctions):
1766         (WebCore::PlatformClutterAnimation::addClutterTransitionForProperty):
1767         (WebCore):
1768         (WebCore::PlatformClutterAnimation::addClutterKeyframeTransitionForProperty):
1769         (WebCore::PlatformClutterAnimation::addOpacityTransition):
1770         (WebCore::PlatformClutterAnimation::addTransformTransition):
1771         (WebCore::PlatformClutterAnimation::addAnimationForKey):
1772         (WebCore::PlatformClutterAnimation::removeAnimationForKey):
1773         * platform/graphics/clutter/PlatformClutterAnimation.h:
1774         (PlatformClutterAnimation):
1775
1776 2013-02-19  Claudio Saavedra  <csaavedra@igalia.com>
1777
1778         [harfbuzz] Crash in harfbuzz related code
1779         https://bugs.webkit.org/show_bug.cgi?id=110145
1780
1781         Reviewed by Martin Robinson.
1782
1783         Patch by Behdad Esfahbod <behdad@google.com>
1784
1785         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
1786         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Ask harfbuzz
1787         to guess the segment properties.
1788
1789 2013-02-19  Pavel Podivilov  <podivilov@chromium.org>
1790
1791         Web Inspector: release backtrace object group on each step.
1792         https://bugs.webkit.org/show_bug.cgi?id=110223
1793
1794         Reviewed by Pavel Feldman.
1795
1796         * inspector/InspectorDebuggerAgent.cpp:
1797         (WebCore):
1798         (WebCore::InspectorDebuggerAgent::stepOver):
1799         (WebCore::InspectorDebuggerAgent::stepInto):
1800         (WebCore::InspectorDebuggerAgent::stepOut):
1801
1802 2013-02-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1803
1804         Unreviewed, rolling out r142975.
1805         http://trac.webkit.org/changeset/142975
1806         https://bugs.webkit.org/show_bug.cgi?id=110225
1807
1808         Introduces hard-to-reproduce crashes upon inspected page
1809         navigation on Mac (Requested by apavlov on #webkit).
1810
1811         * dom/DocumentStyleSheetCollection.cpp:
1812         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
1813         * inspector/Inspector.json:
1814         * inspector/InspectorCSSAgent.cpp:
1815         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
1816         (WebCore::InspectorCSSAgent::clearFrontend):
1817         (WebCore::InspectorCSSAgent::enable):
1818         (WebCore::InspectorCSSAgent::getAllStyleSheets):
1819         (WebCore::InspectorCSSAgent::collectStyleSheets):
1820         (WebCore::InspectorCSSAgent::bindStyleSheet):
1821         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
1822         (WebCore::InspectorCSSAgent::detectOrigin):
1823         (WebCore::InspectorCSSAgent::buildObjectForRule):
1824         * inspector/InspectorCSSAgent.h:
1825         (InspectorCSSAgent):
1826         * inspector/InspectorInstrumentation.cpp:
1827         (WebCore):
1828         * inspector/InspectorInstrumentation.h:
1829         (WebCore):
1830         (InspectorInstrumentation):
1831         * inspector/front-end/CSSStyleModel.js:
1832         (WebInspector.CSSStyleModel.prototype.getViaInspectorResourceForRule):
1833         (WebInspector.CSSStyleModelResourceBinding.prototype.):
1834         (WebInspector.CSSStyleModelResourceBinding.prototype.requestStyleSheetIdForResource):
1835         (WebInspector.CSSStyleModelResourceBinding.prototype.requestResourceURLForStyleSheetId):
1836         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetIdForResource):
1837         (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
1838         (WebInspector.CSSStyleModelResourceBinding.prototype.headersLoaded):
1839         (WebInspector.CSSStyleModelResourceBinding.prototype._requestViaInspectorResource):
1840         (WebInspector.CSSStyleModelResourceBinding.prototype._getOrCreateInspectorResource):
1841         (WebInspector.CSSStyleModelResourceBinding.prototype._reset):
1842         * inspector/front-end/SASSSourceMapping.js:
1843         (WebInspector.SASSSourceMapping.prototype._styleSheetChanged.callback):
1844         (WebInspector.SASSSourceMapping.prototype._styleSheetChanged):
1845         * inspector/front-end/StylesSidebarPane.js:
1846         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode.callback):
1847         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
1848         * inspector/front-end/StylesSourceMapping.js:
1849         (WebInspector.StyleContentBinding.prototype.callback):
1850         (WebInspector.StyleContentBinding.prototype.setStyleContent):
1851         (WebInspector.StyleContentBinding.prototype.):
1852         (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
1853
1854 2013-02-19  Julien Chaffraix  <jchaffraix@webkit.org>
1855
1856         RenderGrid::computedUsedBreadthOfGridTracks can read past m_grid's size
1857         https://bugs.webkit.org/show_bug.cgi?id=110126
1858
1859         Reviewed by Ojan Vafai.
1860
1861         The issue comes from how we store the column information inside m_grid.
1862         Because m_grid is a Vector of rows, we could lose the column information
1863         if we had no row, no grid item but some columns defined in CSS. As the
1864         logic would assume that our row / column size would be greater than what
1865         the style defines explicitely, we would access past our Vector's boundary.
1866
1867         The fix is to ensure that we have at least a row so that we can store the
1868         column information in every case. This fix is overly broad as it also forces
1869         the grid to have one column, which shouldn't be an issue.
1870
1871         Test: fast/css-grid-layout/grid-element-empty-row-column.html
1872
1873         * rendering/RenderGrid.cpp:
1874         (WebCore::RenderGrid::maximumIndexInDirection):
1875         Forced this function to return at least one as the maximum index so that
1876         m_grid has at least one row / column.
1877
1878         (WebCore::RenderGrid::placeItemsOnGrid):
1879         Added a ASSERT that m_grid is bigger than the explicit grid-rows / grid-columns.
1880         Also changed an existing ASSERT to use gridWasPopulated for consistency and changed
1881         the code not to call gridRowCount as it would ASSERT (we are in the middle of populating
1882         the grid).
1883
1884         * rendering/RenderGrid.h:
1885         (WebCore::RenderGrid::gridWasPopulated):
1886         Added this helper function.
1887
1888         (WebCore::RenderGrid::gridColumnCount):
1889         Replaced a now unneeded branch with an ASSERT. As placeItemsOnGrid should be called
1890         prior to read m_grid, this change should be fine.
1891
1892         (WebCore::RenderGrid::gridRowCount):
1893         Added an ASSERT.
1894
1895 2013-02-19  Sergio Villar Senin  <svillar@igalia.com>
1896
1897         [Soup] Use synchronous calls to close completely processed streams
1898         https://bugs.webkit.org/show_bug.cgi?id=107432
1899
1900         Reviewed by Martin Robinson.
1901
1902         There is no need to close already processed streams in asynchronous
1903         calls since they won't block. Using the synchronous call will save
1904         us some code and unnecessary asynchronous burden. This is kind of
1905         a code refactor so no new tests needed.
1906
1907         * platform/network/soup/ResourceHandleSoup.cpp:
1908         (WebCore):
1909         (WebCore::redirectSkipCallback):
1910         (WebCore::readCallback):
1911
1912 2013-02-19  Andrey Adaikin  <aandrey@chromium.org>
1913
1914         Web Inspector: [Canvas] use timeline's didBeginFrame for marking frame end calls
1915         https://bugs.webkit.org/show_bug.cgi?id=110130
1916
1917         Reviewed by Pavel Feldman.
1918
1919         In Web Inspector canvas profiler use timeline's didBeginFrame for marking frame end calls instead of an ad-hoc timeout-based solution.
1920
1921         * inspector/InjectedScriptCanvasModule.cpp:
1922         (WebCore::InjectedScriptCanvasModule::markFrameEnd):
1923         (WebCore):
1924         * inspector/InjectedScriptCanvasModule.h:
1925         (InjectedScriptCanvasModule):
1926         * inspector/InjectedScriptCanvasModuleSource.js:
1927         (.):
1928         * inspector/InspectorCanvasAgent.cpp:
1929         (WebCore::InspectorCanvasAgent::hasUninstrumentedCanvases):
1930         (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
1931         (WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
1932         (WebCore::InspectorCanvasAgent::frameNavigated):
1933         (WebCore::InspectorCanvasAgent::didBeginFrame):
1934         (WebCore):
1935         * inspector/InspectorCanvasAgent.h:
1936         (InspectorCanvasAgent):
1937         * inspector/InspectorController.cpp:
1938         (WebCore::InspectorController::didBeginFrame):
1939
1940 2013-02-19  Vsevolod Vlasov  <vsevik@chromium.org>
1941
1942         Web Inspector: Decouple various file system project implementation parts for better testability and cover with tests.
1943         https://bugs.webkit.org/show_bug.cgi?id=110204
1944
1945         Reviewed by Pavel Feldman.
1946
1947         Extracted FileSystemWorkspaceProvider from IsolatedFileSystemManager to take care of managing workspace projects and projectDelegates.
1948         Replaced FileMapping.urlForURI with urlForPath method that does not need any information about workspace structure anymore.
1949
1950         Test: inspector/file-system-project.html
1951
1952         * inspector/front-end/FileMapping.js:
1953         (WebInspector.FileMapping.prototype.urlForPath):
1954         * inspector/front-end/FileSystemProjectDelegate.js:
1955         (WebInspector.FileSystemProjectDelegate):
1956         (WebInspector.FileSystemProjectDelegate.prototype.populate.filesLoaded):
1957         (WebInspector.FileSystemProjectDelegate.prototype.populate):
1958         (WebInspector.FileSystemWorkspaceProvider):
1959         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
1960         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemRemoved):
1961         * inspector/front-end/IsolatedFileSystem.js:
1962         (WebInspector.IsolatedFileSystem):
1963         (WebInspector.IsolatedFileSystem.prototype.name):
1964         (WebInspector.IsolatedFileSystem.prototype.rootURL):
1965         * inspector/front-end/IsolatedFileSystemManager.js:
1966         (WebInspector.IsolatedFileSystemManager):
1967         (WebInspector.IsolatedFileSystemManager.prototype._innerAddFileSystem):
1968         (WebInspector.IsolatedFileSystemManager.prototype._fileSystemRemoved):
1969         (WebInspector.IsolatedFileSystemManager.prototype._isolatedFileSystem):
1970         (WebInspector.IsolatedFileSystemManager.prototype.requestDOMFileSystem):
1971         * inspector/front-end/inspector.js:
1972
1973 2013-02-19  Andrey Adaikin  <aandrey@chromium.org>
1974
1975         Web Inspector: [Canvas] do not replace replay image with spinner icon
1976         https://bugs.webkit.org/show_bug.cgi?id=110213
1977
1978         Reviewed by Pavel Feldman.
1979
1980         Otherwise it's visually hard to see changes in the replay image. Instead show a small spinner icon in the bottom right corner.
1981
1982         * inspector/front-end/CanvasProfileView.js:
1983         (WebInspector.CanvasProfileView):
1984         (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
1985         * inspector/front-end/canvasProfiler.css:
1986         (#canvas-replay-image-container):
1987         (.canvas-debug-info):
1988         (.canvas-spinner-icon):
1989
1990 2013-02-19  Andrey Adaikin  <aandrey@chromium.org>
1991
1992         Web Inspector: [Canvas] UI: tweak replay control buttons behavior
1993         https://bugs.webkit.org/show_bug.cgi?id=110207
1994
1995         Reviewed by Pavel Feldman.
1996
1997         New behavior for control buttons in the Canvas profiler.
1998         - The NextCall button (~StepInto) on a node group should expand it and move into its first child (instead of expanding and moving into the next node group)
1999         - The NextDrawCall button (~StepOver) should move to a next node that has children (instead of just iterating call group nodes, ignoring frame nodes).
2000         - The ReplayLast button should select the last expanded node (instead of always selecting last frame group node).
2001
2002         * inspector/front-end/CanvasProfileView.js:
2003         (WebInspector.CanvasProfileView.prototype._onReplayStepClick):
2004         (WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):
2005         (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
2006
2007 2013-02-19  Andrei Bucur  <abucur@adobe.com>
2008
2009         [CSS Regions] Assertion in RenderFlowThread::removeRenderBoxRegionInfo
2010         https://bugs.webkit.org/show_bug.cgi?id=109914
2011
2012         Reviewed by David Hyatt.
2013
2014         This patch moves a part of the invalidation operations inside the RenderFlowThread::invalidateRegions call. The maps
2015         are cleared anyway at layout time but doing this earlier makes sure the flow thread is in a more consistent state
2016         (the RenderFlowThread object has both the region chain invalidated and the regions information cleared).
2017
2018         RenderFlowThread::removeRenderBoxRegionInfo will check if the region chain is invalidated. If true, it means the
2019         flow thread has a layout scheduled and the regions information is not yet reliable. In this case we just return from the
2020         function and wait for the layout to cleanup the box information.
2021
2022         Test: fast/regions/remove-box-info-assert.html
2023
2024         * rendering/RenderFlowThread.cpp:
2025         (WebCore::RenderFlowThread::removeRegionFromThread):
2026         (WebCore::RenderFlowThread::invalidateRegions):
2027         (WebCore):
2028         (WebCore::RenderFlowThread::layout):
2029         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
2030         * rendering/RenderFlowThread.h:
2031         * rendering/RenderNamedFlowThread.cpp:
2032         (WebCore::RenderNamedFlowThread::removeRegionFromThread):
2033
2034 2013-02-19  Alberto Garcia  <agarcia@igalia.com>
2035
2036         Fix build broekn by r142988.
2037         https://bugs.webkit.org/show_bug.cgi?id=109530
2038
2039         Unreviewed. Build fix.
2040
2041         Properly add shortMonthFormat() to the LocaleNone class.
2042
2043         * platform/text/LocaleNone.cpp:
2044         (LocaleNone):
2045         (WebCore::LocaleNone::shortMonthFormat):
2046
2047 2013-02-19  Anton Vayvod  <avayvod@chromium.org>
2048
2049         [Text Autosizing] Combine narrow descendants of a cluster into groups that should be autosized with the same multiplier.
2050         https://bugs.webkit.org/show_bug.cgi?id=109825
2051
2052         Enhancement of the approach introduced in https://bugs.webkit.org/show_bug.cgi?id=109573.
2053         Instead of using the same text size multiplier for all narrow descendants of any autosizing
2054         cluster, group the descendants by how much narrower they are than the cluster's
2055         |blockContainingAllText| and process each group separately with a different multiplier for
2056         each one.
2057         For example, we want nested comments on the page to be autosized as a group but separately
2058         from a sidebar on the same page.
2059
2060         Reviewed by Kenneth Rohde Christiansen.
2061
2062         Updated the existing test to verify the patch.
2063
2064         * rendering/TextAutosizer.cpp:
2065         (WebCore::TextAutosizer::processClusterInternal):
2066
2067             Splits the narrow descendants of the autosizing cluster into groups before processing
2068             each group individually.
2069
2070         (WebCore::TextAutosizer::getNarrowDescendantsGroupedByWidth):
2071
2072             Sorts the narrow descendants of the given cluster into groups, combining them by the
2073             difference between their content widths. If sorted by width, two consecutive nodes
2074             belong to the same group if their width difference is no greater than 100 CSS units.
2075
2076         * rendering/TextAutosizer.h:
2077
2078             New method definitions.
2079
2080 2013-02-18  Ilya Tikhonovsky  <loislo@chromium.org>
2081
2082         Web Inspector: Native Memory Instrumentation: show user provided name property of the heap snapshot node.
2083         https://bugs.webkit.org/show_bug.cgi?id=110124
2084
2085         Reviewed by Yury Semikhatsky.
2086
2087         Publish userProvidedName into grid node.
2088
2089         * inspector/front-end/HeapSnapshotGridNodes.js:
2090         (WebInspector.HeapSnapshotGenericObjectNode):
2091         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
2092         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2093         * inspector/front-end/HeapSnapshotProxy.js:
2094         (WebInspector.HeapSnapshotWorker):
2095         * inspector/front-end/NativeHeapSnapshot.js:
2096         (WebInspector.NativeHeapSnapshotNode.prototype.serialize):
2097
2098 2013-02-19  Arpita Bahuguna  <a.bah@samsung.com>
2099
2100         Caret is not displayed when trying to focus inside a contenteditable element containing an empty block.
2101         https://bugs.webkit.org/show_bug.cgi?id=108053
2102
2103         Reviewed by Ryosuke Niwa.
2104
2105         Test: editing/selection/caret-in-div-containing-empty-block.html
2106
2107         * rendering/RenderBox.cpp:
2108         (WebCore::RenderBox::localCaretRect):
2109         When trying to compute the caret rect for the contenteditable div, the
2110         border and the padding were not considered. Because of this, for the
2111         given test case, which had a border defined on the containing div, the
2112         caret was being painted just atop the border, thereby masking it.
2113
2114         Have modified the code to ensure that the computed caret rect takes
2115         into account the border and padding (if any) specified on the box, but only
2116         if the node doesn't have content that shall be skipped for editing.
2117
2118         We do not add border and padding while computing the caret rect for any
2119         element that either has no content or has content that shall be skipped
2120         for editing purposes. This holds true for table elements as well.
2121
2122         This helps avoid the caret displacement previsouly observed before/after
2123         any controls placed within the contenteditable box, when considering
2124         border and padding in computation of the caret rect.
2125
2126 2013-02-19  Mihnea Ovidenie  <mihnea@adobe.com>
2127
2128         CSSRegions: crash positioned object with inline containing block in flow thread
2129         https://bugs.webkit.org/show_bug.cgi?id=108307
2130
2131         Reviewed by David Hyatt.
2132
2133         The fix for https://bugs.webkit.org/show_bug.cgi?id=69896 allowed positioned blocks work
2134         with variable width regions. However, the information needed for that is available only
2135         when the container used for positioning is a block.
2136
2137         This patch ensures we are using this solution only when the container used for positioning
2138         is a block. This needs to be revisited when we will extend support for other types of boxes
2139         as mentioned in RenderBox::renderBoxRegionInfo.
2140
2141         Test: fast/regions/positioned-object-inline-cb-crash.html
2142
2143         * rendering/RenderBox.cpp:
2144         (WebCore::RenderBox::renderBoxRegionInfo):
2145         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
2146         (WebCore::RenderBox::computePositionedLogicalWidth): Make sure we are using containerBlocks
2147         that are blocks. Add an assert that the type of containerBlock we are using can have
2148         computed RenderBoxRegionInfo.
2149         (WebCore::RenderBox::computePositionedLogicalHeight):
2150         * rendering/RenderBoxModelObject.h:
2151         (WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion): This helper method
2152         will return the boxes that may have computed RenderBoxRegionInfo. Currently,
2153         returns true for blocks only.
2154
2155 2013-02-19  Ryosuke Niwa  <rniwa@webkit.org>
2156
2157         Yet anther JSC build fix after r143304.
2158
2159         * bindings/js/JSDOMBinding.h:
2160         (WebCore::argumentOrNull):
2161
2162 2013-02-19  Kentaro Hara  <haraken@chromium.org>
2163
2164         Unreviewed build fix. Fixed warning caused by r143305.
2165
2166         * bindings/scripts/CodeGeneratorJS.pm:
2167         (GenerateParametersCheck):
2168         * bindings/scripts/CodeGeneratorV8.pm:
2169         (GenerateParametersCheck):
2170
2171 2013-02-19  Kentaro Hara  <haraken@chromium.org>
2172
2173         Unreviewed build fix after r143304.
2174
2175         * bindings/js/JSDOMBinding.h:
2176         (WebCore::argumentOrNull):
2177
2178 2013-02-19  Kentaro Hara  <haraken@chromium.org>
2179
2180         [V8] Remove redundant usage of MAYBE_MISSING_PARAMETER() macro
2181         https://bugs.webkit.org/show_bug.cgi?id=109899
2182
2183         Reviewed by Adam Barth.
2184
2185         Currently:
2186
2187         - MAYBE_MISSING_PARAMETER(args, index, DefaultIsUndefined) returns args[index].
2188         - MAYBE_MISSING_PARAMETER(args, index, DefaultIsNullString) returns Local<Value>()
2189         if args[index] is missing (i.e. the length of |args| is less than |index|).
2190         It returns args[index] otherwise.
2191
2192         No one other than CodeGeneratorV8.pm uses
2193         MAYBE_MISSING_PARAMETER(args, index, DefaultIsUndefined). Instead, we simply use
2194         args[index]. We should remove the redundant usage from CodeGeneratorV8.pm too.
2195         The long-name macro has been making generated code less readable.
2196
2197         In addition, we can rename MAYBE_MISSING_PARAMETER() to argumentOrNull().
2198
2199         No tests. No change in behavior.
2200
2201         * bindings/scripts/CodeGeneratorV8.pm:
2202         (GenerateParametersCheck):
2203         * bindings/scripts/test/V8/V8Float64Array.cpp:
2204         (WebCore::Float64ArrayV8Internal::fooCallback):
2205         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2206         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
2207         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
2208         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2209         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
2210         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2211         (WebCore::TestEventTargetV8Internal::itemCallback):
2212         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
2213         * bindings/scripts/test/V8/V8TestInterface.cpp:
2214         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
2215         (WebCore::V8TestInterface::constructorCallback):
2216         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2217         (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
2218         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2219         (WebCore::V8TestNamedConstructorConstructorCallback):
2220         * bindings/scripts/test/V8/V8TestObj.cpp:
2221         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
2222         (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
2223         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
2224         (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
2225         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
2226         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
2227         (WebCore::TestObjV8Internal::optionsObjectCallback):
2228         (WebCore::TestObjV8Internal::methodWithOptionalArgCallback):
2229         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
2230         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
2231         (WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
2232         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
2233         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
2234         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
2235         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
2236         (WebCore::TestObjV8Internal::overloadedMethod2Callback):
2237         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
2238         (WebCore::TestObjV8Internal::overloadedMethod4Callback):
2239         (WebCore::TestObjV8Internal::overloadedMethod6Callback):
2240         (WebCore::TestObjV8Internal::overloadedMethod7Callback):
2241         (WebCore::TestObjV8Internal::overloadedMethod8Callback):
2242         (WebCore::TestObjV8Internal::overloadedMethod9Callback):
2243         (WebCore::TestObjV8Internal::overloadedMethod10Callback):
2244         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
2245         (WebCore::TestObjV8Internal::classMethodWithOptionalCallback):
2246         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
2247         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
2248         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
2249         (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
2250         (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
2251         (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
2252         (WebCore::TestObjV8Internal::domStringListFunctionCallback):
2253         (WebCore::TestObjV8Internal::convert1Callback):
2254         (WebCore::TestObjV8Internal::convert2Callback):
2255         (WebCore::TestObjV8Internal::convert4Callback):
2256         (WebCore::TestObjV8Internal::convert5Callback):
2257         (WebCore::TestObjV8Internal::strictFunctionCallback):
2258         (WebCore::TestObjV8Internal::variadicStringMethodCallback):
2259         (WebCore::TestObjV8Internal::variadicDoubleMethodCallback):
2260         (WebCore::TestObjV8Internal::variadicNodeMethodCallback):
2261         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2262         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
2263         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
2264         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
2265         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
2266         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2267         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2268         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2269         (WebCore::TestTypedefsV8Internal::funcCallback):
2270         (WebCore::TestTypedefsV8Internal::setShadowCallback):
2271         (WebCore::TestTypedefsV8Internal::methodWithSequenceArgCallback):
2272         (WebCore::TestTypedefsV8Internal::nullableArrayArgCallback):
2273         (WebCore::TestTypedefsV8Internal::stringArrayFunctionCallback):
2274         (WebCore::TestTypedefsV8Internal::stringArrayFunction2Callback):
2275         (WebCore::V8TestTypedefs::constructorCallback):
2276         * bindings/v8/V8BindingMacros.h:
2277         (WebCore):
2278         * bindings/v8/custom/V8HistoryCustom.cpp:
2279         (WebCore::V8History::pushStateCallbackCustom):
2280         (WebCore::V8History::replaceStateCallbackCustom):
2281
2282 2013-02-19  Kentaro Hara  <haraken@chromium.org>
2283
2284         [JSC] MAYBE_MISSING_PARAMETER(..., DefaultIsNullString) macro is redundant
2285         https://bugs.webkit.org/show_bug.cgi?id=109902
2286
2287         Reviewed by Adam Barth.
2288
2289         Currently:
2290
2291         - MAYBE_MISSING_PARAMETER(exec, index, DefaultIsUndefined)
2292           returns exec->argument(index).
2293         - MAYBE_MISSING_PARAMETER(exec, index, DefaultIsNullString)
2294           returns JSValue() if exec->argument(index) is missing
2295           (i.e. the length of the argument is less than index).
2296           It returns exec->argument(index) otherwise.
2297
2298         No one other than CodeGeneratorJS.pm uses
2299         MAYBE_MISSING_PARAMETER(exec, index, DefaultIsUndefined).
2300         Instead, we simply use exec->argument(index). We should remove
2301         the redundant usage in CodeGeneratorJS.pm too. The long-name macro
2302         has been making generated code less readable.
2303
2304         In addition, we can rename MAYBE_MISSING_PARAMETER() to argumentOrNull().
2305
2306         c.f. corresponding V8 bug: https://bugs.webkit.org/show_bug.cgi?id=109899
2307
2308         No tests. No change in behavior.
2309
2310         * bindings/js/JSDOMBinding.h:
2311         (WebCore):
2312         * bindings/scripts/CodeGeneratorJS.pm:
2313         (GenerateParametersCheck):
2314         * bindings/scripts/test/JS/JSFloat64Array.cpp:
2315         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
2316         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2317         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
2318         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
2319         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2320         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
2321         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2322         (WebCore::jsTestEventTargetPrototypeFunctionItem):
2323         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
2324         * bindings/scripts/test/JS/JSTestInterface.cpp:
2325         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
2326         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
2327         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2328         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2329         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2330         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
2331         * bindings/scripts/test/JS/JSTestObj.cpp:
2332         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2333         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
2334         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2335         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
2336         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
2337         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2338         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2339         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
2340         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2341         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2342         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2343         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
2344         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
2345         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
2346         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2347         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2348         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2349         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2350         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
2351         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
2352         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
2353         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
2354         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
2355         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
2356         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
2357         (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
2358         (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
2359         (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
2360         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
2361         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
2362         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
2363         (WebCore::jsTestObjPrototypeFunctionConvert1):
2364         (WebCore::jsTestObjPrototypeFunctionConvert2):
2365         (WebCore::jsTestObjPrototypeFunctionConvert4):
2366         (WebCore::jsTestObjPrototypeFunctionConvert5):
2367         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
2368         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
2369         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
2370         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
2371         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2372         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors1):
2373         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors2):
2374         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors3):
2375         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4):
2376         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2377         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2378         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
2379         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
2380         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2381         (WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
2382         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
2383         (WebCore::jsTestTypedefsPrototypeFunctionMultiTransferList):
2384         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
2385         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
2386         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
2387         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
2388         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
2389
2390 2013-02-18  Hayato Ito  <hayato@chromium.org>
2391
2392         Make EventDispatcher take an Event object in its constructor.
2393         https://bugs.webkit.org/show_bug.cgi?id=109898
2394
2395         Reviewed by Dimitri Glazkov.
2396
2397         Re-landing r143145, which caused a crash when deltaX and deltaY of a PlatformWheelEvent are both zero.
2398
2399         Fixed a crash by early exiting in EventDispatcher::dispatchEvent(Node*, PassRefPtr<EventDispatcher*>)
2400         if mediator's event() returns null.
2401
2402         Also Added a layout test to catch this kind of crash in the future.
2403
2404         Test: fast/events/platform-wheelevent-with-delta-zero-crash.html
2405
2406         * dom/EventDispatchMediator.cpp:
2407         (WebCore::EventDispatchMediator::dispatchEvent):
2408         * dom/EventDispatcher.cpp:
2409         (WebCore::EventDispatcher::dispatchEvent):
2410         (WebCore::EventDispatcher::EventDispatcher):
2411         (WebCore::EventDispatcher::ensureEventPath):
2412         (WebCore::EventDispatcher::dispatchSimulatedClick):
2413         (WebCore::EventDispatcher::dispatch):
2414         (WebCore::EventDispatcher::dispatchEventPreProcess):
2415         (WebCore::EventDispatcher::dispatchEventAtCapturing):
2416         (WebCore::EventDispatcher::dispatchEventAtTarget):
2417         (WebCore::EventDispatcher::dispatchEventAtBubbling):
2418         (WebCore::EventDispatcher::dispatchEventPostProcess):
2419         * dom/EventDispatcher.h:
2420         (EventDispatcher):
2421         (WebCore::EventDispatcher::node):
2422         (WebCore::EventDispatcher::event):
2423         * dom/FocusEvent.cpp:
2424         (WebCore::FocusEventDispatchMediator::dispatchEvent):
2425         (WebCore::BlurEventDispatchMediator::dispatchEvent):
2426         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
2427         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
2428         * dom/GestureEvent.cpp:
2429         (WebCore::GestureEventDispatchMediator::dispatchEvent):
2430         * dom/MouseEvent.cpp:
2431         (WebCore::MouseEventDispatchMediator::dispatchEvent):
2432         * dom/WheelEvent.cpp:
2433         (WebCore::WheelEventDispatchMediator::dispatchEvent):
2434         Assert event() rather than an early exit since this code path should be hit only when event() is non-null.
2435
2436 2013-02-18  Takashi Sakamoto  <tasak@google.com>
2437
2438         :before/:after pseudo elements do not always apply to the proper element
2439         https://bugs.webkit.org/show_bug.cgi?id=93925
2440
2441         Reviewed by Dimitri Glazkov.
2442
2443         Disable sharing a style with siblings if :after or :before pseudo style
2444         is unique.
2445
2446         Test: fast/css/before-after-pseudo-class.html
2447
2448         * css/StyleResolver.cpp:
2449         (WebCore::StyleResolver::canShareStyleWithElement):
2450         Added a new condition, hasUniquePseudoStyle.
2451         * rendering/style/RenderStyle.cpp:
2452         (WebCore::RenderStyle::hasUniquePseudoStyle):
2453         Added to check whether any pseudo style has unique bit or not.
2454         (WebCore):
2455         * rendering/style/RenderStyle.h:
2456
2457 2013-02-18  Andy Estes  <aestes@apple.com>
2458
2459         Focusing a new frame (via window.focus()) should blur the active element in the current frame
2460         https://bugs.webkit.org/show_bug.cgi?id=110172
2461
2462         Reviewed by Ryosuke Niwa.
2463
2464         When a change in the focused node crosses a frame boundary, WebKit
2465         doesn't always succeed in blurring the old focused node before focusing
2466         the new one.
2467
2468         Each document remembers its focused node, and a Page-scoped
2469         FocusController remembers the focused frame. If a new focused node is
2470         in a different frame than the focused frame, FocusController tells the
2471         old frame's document to clear its focused node before focusing the new
2472         one (and remembering the new frame).
2473
2474         Unfortunately, web content can confuse FocusController by calling
2475         window.focus() at the wrong time. Since window.focus() changes
2476         FocusController's focused frame without focusing a new node,
2477         FocusController won't think that a frame boundary is being crossed if a
2478         node in this frame is later focused. Therefore it won't clear the old
2479         frame's focused node (it won't even know which frame contained the old
2480         focused node), causing at least two bugs:
2481
2482         1) The node in the old frame will not receive a blur event.
2483         2) Calling document.activeElement on the main frame will return the
2484            previously focused node, but the HTML5 spec says it should return
2485            the frame owner element if a subframe has focus.
2486
2487         Fix both of these bugs by explicitly clearing the current frame's
2488         focused node if window.focus() changes the focused frame. This fix
2489         carries some compatibility risk by changing a long-standing behavior
2490         of the engine (we've had this bug since the beginning of the project,
2491         AFAICT). On the upside, it matches the behavior of both Firefox and IE,
2492         matches what HTML5 says about subframe focus, and fixes at least one
2493         well-known enterprise web app.
2494
2495         Tests: fast/dom/HTMLDocument/active-element-frames.html
2496                fast/frames/frame-focus-blurs-active-element.html
2497
2498         * page/DOMWindow.cpp:
2499         (WebCore::DOMWindow::focus): If the frame being focused is not the same
2500         as the currently focused frame, clear the currently focused frame's
2501         focused node.
2502
2503 2013-02-18  Simon Fraser  <simon.fraser@apple.com>
2504
2505         Clean up the boolean argument to visibleContentRect
2506         https://bugs.webkit.org/show_bug.cgi?id=110167
2507
2508         Reviewed by Simon Fraser.
2509
2510         Replace the boolean argument to visibleContentRect() with
2511         an enum.
2512
2513         No behavior change.
2514
2515         * WebCore.exp.in:
2516         * dom/Document.cpp:
2517         (WebCore::Document::viewportSize):
2518         * inspector/InspectorOverlay.cpp:
2519         (WebCore::InspectorOverlay::update):
2520         * page/DOMWindow.cpp:
2521         (WebCore::DOMWindow::innerHeight):
2522         (WebCore::DOMWindow::innerWidth):
2523         * page/FrameView.cpp:
2524         (WebCore::FrameView::calculateScrollbarModesForLayout):
2525         (WebCore::FrameView::layout):
2526         (WebCore::FrameView::performPostLayoutTasks):
2527         (WebCore::FrameView::windowClipRect):
2528         * page/SpatialNavigation.cpp:
2529         (WebCore::canScrollInDirection):
2530         * platform/ScrollView.cpp:
2531         (WebCore::ScrollView::unscaledVisibleContentSize):
2532         (WebCore::ScrollView::visibleContentRect):
2533         (WebCore::ScrollView::layoutSize):
2534         (WebCore::ScrollView::updateScrollbars):
2535         (WebCore::ScrollView::paint):
2536         * platform/ScrollView.h:
2537         * platform/ScrollableArea.cpp:
2538         (WebCore::ScrollableArea::visibleContentRect):
2539         * platform/ScrollableArea.h:
2540         * rendering/RenderDialog.cpp:
2541         (WebCore::RenderDialog::layout):
2542         * rendering/RenderLayer.cpp:
2543         (WebCore::RenderLayer::maximumScrollPosition):
2544         (WebCore::RenderLayer::visibleContentRect):
2545         * rendering/RenderLayer.h:
2546         * rendering/RenderLayerCompositor.cpp:
2547         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
2548         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
2549
2550 2013-02-18  Ryosuke Niwa  <rniwa@webkit.org>
2551
2552         That didn't work either. Just make it public. This is why I hate nested classes. They just don't work.
2553
2554         * rendering/RenderBlock.h:
2555         (RenderBlock):
2556
2557 2013-02-18  Ryosuke Niwa  <rniwa@webkit.org>
2558
2559         Windows build fix. Apparently Visual Studio still has a lot of bugs with respect to nested classes.
2560         Work around it by directly instantiating the class inside createFloatingObjects.
2561
2562         * rendering/RenderBlock.cpp:
2563         (WebCore::RenderBlock::createFloatingObjects): Directly instantiate FloatingObjects.
2564         * rendering/RenderBlock.h:
2565         (RenderBlock): Moved the declaration of createFloatingObjects up.
2566         (FloatingObjects::FloatingObjects):
2567
2568 2013-02-18  Ryosuke Niwa  <rniwa@webkit.org>
2569
2570         Merge handleSpecialChild into layoutBlockChildren
2571         https://bugs.webkit.org/show_bug.cgi?id=110165
2572
2573         Reviewed by Darin Adler.
2574
2575         Merge handleSpecialChild, handlePositionedChild, and handleFloatingChild into layoutBlockChildren
2576         to make the semantics of the code clear and to get rid of the outdated comment about how there are
2577         four types of four types of special children.
2578
2579         * rendering/RenderBlock.cpp:
2580         (WebCore::RenderBlock::layoutBlockChildren):
2581         * rendering/RenderBlock.h:
2582         (RenderBlock):
2583
2584 2013-02-18  Ryosuke Niwa  <rniwa@webkit.org>
2585
2586         Encapsulate FloatingObject's constructor inside create
2587         https://bugs.webkit.org/show_bug.cgi?id=110169
2588
2589         Reviewed by Darin Adler.
2590
2591         Added FloatingObject::create and made FloatingObject's constructor private.
2592         Also added RenderBlock::ensureFloatingObjects to help lazily creating FloatingObjects.
2593
2594         * rendering/RenderBlock.cpp:
2595         (WebCore::RenderBlock::insertFloatingObject):
2596         (WebCore::RenderBlock::addOverhangingFloats):
2597         (WebCore::RenderBlock::addIntrudingFloats):
2598         (WebCore::RenderBlock::ensureFloatingObjects):
2599         (WebCore::RenderBlock::FloatingObjects::create):
2600         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
2601         * rendering/RenderBlock.h:
2602         (FloatingObjects):
2603         (RenderBlock):
2604
2605 2013-02-18  Anders Carlsson  <andersca@apple.com>
2606
2607         Add a DefaultHash for RefPtr<SecurityOrigin>
2608         https://bugs.webkit.org/show_bug.cgi?id=110170
2609
2610         Reviewed by Andreas Kling.
2611
2612         Remove all explicit uses of SecurityOriginHash.
2613
2614         * Modules/webdatabase/DatabaseTracker.h:
2615         * Modules/webdatabase/OriginQuotaManager.h:
2616         * loader/appcache/ApplicationCacheStorage.cpp:
2617         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
2618         * loader/cache/MemoryCache.h:
2619         * page/SecurityOriginHash.h:
2620         * storage/StorageNamespaceImpl.h:
2621         (StorageNamespaceImpl):
2622
2623 2013-02-18  David Hyatt  <hyatt@apple.com>
2624
2625         Padding and border changes don't trigger the relayout of children in some cases.
2626         https://bugs.webkit.org/show_bug.cgi?id=109639.
2627
2628         Reviewed by Ryosuke Niwa.
2629
2630         The fix for this bug was way too general and involved putting code into RenderBox. Since
2631         RenderBox makes no assumptions about what kind of layout system might derive from it, it
2632         was incorrect to just mark all children as needing layout whenever borders and padding
2633         changed widths.
2634         
2635         This patch takes the two cases handled by the original code and makes them more
2636         specialized down in subclasses, i.e., RenderBlock and RenderTableRow. RenderBlock has
2637         been refined to only check if children aren't inline and to also not invalidate
2638         floats or irrelevant positioned objects that might not even have this block as their
2639         containing block.
2640         
2641         The RenderTableRow code is specialized to only care about collapsing borders and
2642         to only check borders rather than padding. It also requires that a child be a cell
2643         in order to do the invalidation.
2644
2645         Covered by existing tests, since this is just specializing the code to more precisely
2646         cover the test cases that have already been written.
2647
2648         Longer term, it should be layout code that figures this stuff out rather than style
2649         change code, but that involves more dramatic changes that can wait.
2650
2651         Test: fast/block/positioning/border-change-relayout-test.html
2652
2653         * rendering/RenderBlock.cpp:
2654         (WebCore::borderOrPaddingLogicalWidthChanged):
2655         (WebCore):
2656         (WebCore::RenderBlock::styleDidChange):
2657         * rendering/RenderBox.cpp:
2658         (WebCore):
2659         (WebCore::RenderBox::styleDidChange):
2660         * rendering/RenderTableRow.cpp:
2661         (WebCore::borderLogicalWidthChanged):
2662         (WebCore):
2663         (WebCore::RenderTableRow::styleDidChange):
2664
2665 2013-02-18  Mark Lam  <mark.lam@apple.com>
2666
2667         Small follow up to r143271: Fix SQLTransaction leak.
2668         https://bugs.webkit.org/show_bug.cgi?id=110052.
2669
2670         Reviewed by Geoffrey Garen.
2671
2672         Applied Geoff's suggestion nullify m_frontend sooner for greater
2673         code clarity. Also added some comments about m_frontend.
2674
2675         No new tests.
2676
2677         * Modules/webdatabase/SQLTransactionBackend.cpp:
2678         (WebCore::SQLTransactionBackend::doCleanup):
2679         * Modules/webdatabase/SQLTransactionBackend.h:
2680         (SQLTransactionBackend):
2681
2682 2013-02-18  Geoffrey Garen  <ggaren@apple.com>
2683
2684         Shrank the SourceProvider cache
2685         https://bugs.webkit.org/show_bug.cgi?id=110158
2686
2687         Reviewed by Oliver Hunt.
2688
2689         Test: fast/js/regress/nested-function-parsing.html
2690
2691         No need to keep statistics on cache size, since we're going to throw it
2692         away no matter what.
2693
2694         * WebCore.order:
2695         * bindings/js/CachedScriptSourceProvider.h:
2696         (CachedScriptSourceProvider):
2697         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
2698         * loader/cache/CachedScript.cpp:
2699         (WebCore::CachedScript::destroyDecodedData):
2700         (WebCore):
2701         (WebCore::CachedScript::reportMemoryUsage):
2702         * loader/cache/CachedScript.h:
2703         (CachedScript):
2704
2705 2013-02-18  peavo@outlook.com  <peavo@outlook.com>
2706
2707         [Curl] The function cookiesForDOM() does not behave correctly.
2708         https://bugs.webkit.org/show_bug.cgi?id=109923
2709
2710         Reviewed by Brent Fulgham.
2711
2712         The cookiesForDOM() function should return a list of matching cookies, both persistent and session cookies.
2713
2714         * platform/network/curl/CookieJarCurl.cpp:
2715         (WebCore::readCurlCookieToken): Added function to read next token from Curl cookie string.
2716         (WebCore::addMatchingCurlCookie): Added function to add matching cookies to cookie list.
2717         (WebCore::setCookiesFromDOM): Add domain and path from url to cookie if not already set.
2718         (WebCore::cookiesForDOM): Return a list of matching cookies, both session and persistent cookies.
2719
2720 2013-02-17  Mark Lam  <mark.lam@apple.com>
2721
2722         Fix SQLTransaction leak.
2723         https://bugs.webkit.org/show_bug.cgi?id=110052.
2724
2725         Reviewed by Geoffrey Garen.
2726
2727         With https://bugs.webkit.org/show_bug.cgi?id=104750, there is now a circular
2728         reference between SQLTransaction and its backend. The clean up process needs
2729         to be fixed to explicitly break this reference cycle.
2730
2731         The 5 phases of the SQLTransaction (and backend) phases and their clean up
2732         actions are:
2733
2734         Phase 1. After Birth, before scheduling
2735         - During shutdown, DatabaseThread::databaseThread() calls
2736           DatabaseBackendAsync::close(). DatabaseBackendAsync::close() iterates
2737           DatabaseBackendAsync::m_transactionQueue and calls
2738           SQLtransactionBackend::notifyDatabaseThreadIsShuttingDown() on each
2739           transaction there.
2740
2741         Phase 2. After scheduling, before state AcquireLock
2742         - ~DatabaseTask() calls SQLtransactionBackend's
2743           notifyDatabaseThreadIsShuttingDown().
2744
2745         Phase 3. After state AcquireLock, before "lockAcquired"
2746         - During shutdown, DatabaseThread::databaseThread() calls
2747           SQLTransactionCoordinator::shutdown(), which calls
2748           SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown().
2749
2750         Phase 4: After "lockAcquired", before state CleanupAndTerminate
2751         - Same as Phase 3.
2752
2753         Phase 5: After state CleanupAndTerminate
2754         - state CleanupAndTerminate calls SQLTransactionBackend::doCleanup().
2755
2756         See comment at the top of SQLTransactionBackend.cpp for more details.
2757
2758         Other supporting changes:
2759         - Moved Database::close() to the DatabaseBackendAsync.
2760         - Moved the "if already cleaned up" check from SQLTransactionBackend's
2761           notifyDatabaseThreadIsShuttingDown() to doCleanup().
2762         - Added a check to prevent SQLTransactionCoordinator's releaseLock()
2763           from running when it's shutting down.
2764
2765         No new tests.
2766
2767         * Modules/webdatabase/Database.cpp:
2768         * Modules/webdatabase/Database.h:
2769         * Modules/webdatabase/DatabaseBackendAsync.cpp:
2770         (WebCore::DatabaseBackendAsync::close): Move from Database.cpp.
2771         * Modules/webdatabase/DatabaseBackendAsync.h:
2772         * Modules/webdatabase/DatabaseTask.cpp:
2773         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::DatabaseTransactionTask):
2774         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::~DatabaseTransactionTask):
2775         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::doPerformTask):
2776         * Modules/webdatabase/DatabaseTask.h:
2777         (DatabaseBackendAsync::DatabaseTransactionTask):
2778         * Modules/webdatabase/DatabaseThread.cpp:
2779         (WebCore::DatabaseThread::databaseThread):
2780         * Modules/webdatabase/SQLTransactionBackend.cpp:
2781         (WebCore::SQLTransactionBackend::doCleanup):
2782         (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
2783         (WebCore::SQLTransactionBackend::cleanupAndTerminate):
2784         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
2785         (WebCore::SQLTransactionCoordinator::SQLTransactionCoordinator):
2786         (WebCore::SQLTransactionCoordinator::acquireLock):
2787         (WebCore::SQLTransactionCoordinator::releaseLock):
2788         (WebCore::SQLTransactionCoordinator::shutdown):
2789         * Modules/webdatabase/SQLTransactionCoordinator.h:
2790         (SQLTransactionCoordinator):
2791
2792 2013-02-18  David Kilzer  <ddkilzer@apple.com>
2793
2794         Fix WebCore Xcode project
2795
2796         * WebCore.xcodeproj/project.pbxproj: Fix path for CDMPrivate.h.
2797
2798 2013-02-18  Julien Chaffraix  <jchaffraix@webkit.org>
2799
2800         [CSS Grid Layout] Refactor grid position resolution code to support an internal grid representation
2801         https://bugs.webkit.org/show_bug.cgi?id=109718
2802
2803         Reviewed by Ojan Vafai.
2804
2805         In order to support auto placement (where we can't infer a grid item's position from its style),
2806         we need to have 2 code paths:
2807         - One that places the elements on the grid representation.
2808         - One that reuse the grid representation to return the position.
2809
2810         This code path implements this split so that we can add auto placement in a follow-up patch(es).
2811         Also in order to avoid a O(n^2) behavior [walking over our grid to find a grid item's position],
2812         the cached position code path needed an efficient way to find the grid items -> position mapping.
2813
2814         Refactoring, covered by existing tests.
2815
2816         * rendering/RenderGrid.cpp:
2817         (WebCore::RenderGrid::cachedGridCoordinate):
2818         (WebCore::RenderGrid::resolveGridPositionFromStyle):
2819         These methods implements the above split. The first one
2820         reuses our cached information whereas the other one is
2821         used to build the cache.
2822
2823         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
2824         (WebCore::RenderGrid::layoutGridItems):
2825         Added some code to clear the grid items' position.
2826
2827         (WebCore::RenderGrid::findChildLogicalPosition):
2828         (WebCore::RenderGrid::logicalContentHeightForChild):
2829         Updated these functions to use cachedGridPosition.
2830
2831         (WebCore::RenderGrid::maximumIndexInDirection):
2832         Added a comment about why we don't use cachedGridPosition.
2833
2834         (WebCore::RenderGrid::insertItemIntoGrid):
2835         Added this helper function to insert into the grid and
2836         cache the position in the reverse lookup map.
2837
2838         (WebCore::RenderGrid::placeItemsOnGrid):
2839         Updated to call insertItemIntoGrid. Also added an ASSERT
2840         similar to m_grid.
2841
2842         (WebCore::RenderGrid::clearGrid):
2843         Added this helper function to clear our grid structure.
2844
2845         * rendering/RenderGrid.h:
2846         (GridCoordinate):
2847         (WebCore::RenderGrid::GridCoordinate::GridCoordinate):
2848         Added this POD to hold the coordinates in our reverse map.
2849
2850 2013-02-18  Stephen Chenney  <schenney@chromium.org>
2851
2852         feFlood incorrectly applied color-interpolation-filters
2853         https://bugs.webkit.org/show_bug.cgi?id=109985
2854
2855         Reviewed by Dirk Schulze.
2856
2857         The SVG spec defines the color-interpolation-filters property for all
2858         filter effect elements in order to control cases where a color is
2859         based on some arithmetic computation on other colors. For example,
2860         when computing gradients or blending colors. feFlood simply fills a
2861         region with the given color, and that given color is always defined to
2862         be in sRGB space, so the feFlood result should always be sRGB.
2863
2864         The new behavior matches both Opera and Firefox.
2865
2866         Tests: svg/filters/feFlood-color-interpolation-expected.svg
2867                svg/filters/feFlood-color-interpolation.svg
2868
2869         * platform/graphics/filters/FEFlood.cpp:
2870         (WebCore::FEFlood::platformApplySoftware): Force the color mode to be
2871         sRGB before returning.
2872
2873 2013-02-18  Mark Lam  <mark.lam@apple.com>
2874
2875         Introduced AbstractSQLStatement and AbstractSQLStatementBackend.
2876         https://bugs.webkit.org/show_bug.cgi?id=110148.
2877
2878         Reviewed by Geoff Garen.
2879
2880         This is part of the webdatabase refactoring for webkit2.
2881         - Also changed the frontend and backend to only refer to the
2882           abstract interface of each other.
2883
2884         No new tests.
2885
2886         * GNUmakefile.list.am:
2887         * Modules/webdatabase/AbstractSQLStatement.h: Added.
2888         (AbstractSQLStatement):
2889         (WebCore::AbstractSQLStatement::~AbstractSQLStatement):
2890         * Modules/webdatabase/AbstractSQLStatementBackend.h: Added.
2891         (AbstractSQLStatementBackend):
2892         (WebCore::AbstractSQLStatementBackend::~AbstractSQLStatementBackend):
2893         * Modules/webdatabase/SQLStatement.cpp:
2894         (WebCore::SQLStatement::setBackend):
2895         * Modules/webdatabase/SQLStatement.h:
2896         (SQLStatement):
2897         * Modules/webdatabase/SQLStatementBackend.cpp:
2898         (WebCore::SQLStatementBackend::create):
2899         (WebCore::SQLStatementBackend::SQLStatementBackend):
2900         (WebCore::SQLStatementBackend::frontend):
2901         * Modules/webdatabase/SQLStatementBackend.h:
2902         (SQLStatementBackend):
2903         * Modules/webdatabase/SQLTransaction.cpp:
2904         (WebCore::SQLTransaction::deliverStatementCallback):
2905         * Modules/webdatabase/SQLTransactionBackend.cpp:
2906         (WebCore::SQLTransactionBackend::currentStatement):
2907         (WebCore::SQLTransactionBackend::executeSQL):
2908         * Modules/webdatabase/SQLTransactionBackend.h:
2909         (SQLTransactionBackend):
2910         * Target.pri:
2911         * WebCore.gypi:
2912         * WebCore.vcproj/WebCore.vcproj:
2913         * WebCore.vcxproj/WebCore.vcxproj:
2914         * WebCore.vcxproj/WebCore.vcxproj.filters:
2915         * WebCore.xcodeproj/project.pbxproj:
2916
2917 2013-02-18  David Kilzer  <ddkilzer@apple.com>
2918
2919         BUILD FIX (r143230): Fix renamed header and implementation of -[WebAccessibilityObjectWrapper accessibilityPostedNotification:]
2920         <http://webkit.org/b/110077>
2921
2922         Fixes the following build failures:
2923
2924             AccessibilityObjectIOS.mm:35:9: fatal error: 'AccessibilityObjectWrapperIOS.h' file not found
2925             #import "AccessibilityObjectWrapperIOS.h"
2926                     ^
2927             1 error generated.
2928
2929             WebAccessibilityObjectWrapperIOS.mm:2051:35: error: use of undeclared identifier 'notificationString'; did you mean 'notificationType'?
2930                 if (AXNotificationCallback && notificationString)
2931                                               ^~~~~~~~~~~~~~~~~~
2932                                               notificationType
2933             WebAccessibilityObjectWrapperIOS.mm:2049:81: note: 'notificationType' declared here
2934             - (void)accessibilityPostedNotification:(WebCore::AXObjectCache::AXNotification)notificationType
2935                                                                                             ^
2936             WebAccessibilityObjectWrapperIOS.mm:2052:38: error: use of undeclared identifier 'notificationString'; did you mean 'notificationType'?
2937                     AXNotificationCallback(self, notificationString, AXPostedNotificationContext);
2938                                                  ^~~~~~~~~~~~~~~~~~
2939                                                  notificationType
2940             WebAccessibilityObjectWrapperIOS.mm:2049:81: note: 'notificationType' declared here
2941             - (void)accessibilityPostedNotification:(WebCore::AXObjectCache::AXNotification)notificationType
2942                                                                                             ^
2943             WebAccessibilityObjectWrapperIOS.mm:2052:38: error: cannot initialize a parameter of type 'NSString *' with an lvalue of type 'WebCore::AXObjectCache::AXNotification'
2944                     AXNotificationCallback(self, notificationString, AXPostedNotificationContext);
2945                                                  ^~~~~~~~~~~~~~~~~~
2946             WebAccessibilityObjectWrapperIOS.mm:2049:81: error: conflicting parameter types in implementation of 'accessibilityPostedNotification:': 'NSString *' vs 'WebCore::AXObjectCache::AXNotification' [-Werror,-Wmismatched-parameter-types]
2947             - (void)accessibilityPostedNotification:(WebCore::AXObjectCache::AXNotification)notificationType
2948                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
2949             WebAccessibilityObjectWrapperBase.h:48:53: note: previous definition is here
2950             - (void)accessibilityPostedNotification:(NSString *)notificationName;
2951                                                      ~~~~~~~~~~ ^
2952             4 errors generated.
2953
2954         * accessibility/ios/AccessibilityObjectIOS.mm: Fix name of
2955         included header.
2956         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2957         (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):
2958         Fix implementation to match declaration.
2959
2960         * accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
2961         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2962         * accessibility/ios/AXObjectCacheIOS.mm:
2963         - Clean up #endif comments.
2964
2965 2013-02-18  Jer Noble  <jer.noble@apple.com>
2966
2967         EME: Add a CDMPrivate implementation using AVFoundation.
2968         https://bugs.webkit.org/show_bug.cgi?id=109739
2969
2970         Reviewed by Eric Carlson.
2971
2972         Add a CDMPrivate implementation using AVFoundation, similar to the EME v1 implementation
2973         in MediaPlayerPrivateAVFoundationObjC. This requires passing the AVAssetResourceLoadingRequest
2974         from the MediaPlayerPrivateAVFoundationObjC instance to CDMSessionAVFoundation. To do so
2975         without adding platform-specific API to MediaPlayer, add a static map from MediaPlayer ->
2976         MediaPlayerPrivateAVFoundationObjC instances to be used to vend the AVAssetResourceLoadingRequest
2977         to CDMSessionAVFoundation.
2978
2979         * Modules/encryptedmedia/CDM.cpp:
2980         (WebCore::installedCDMFactories): Add the factory for CDMPrivateAVFoundation.
2981         * Modules/encryptedmedia/CDM.h:
2982         * Modules/encryptedmedia/CDMPrivateAVFoundation.h: Added.
2983         (WebCore::CDMPrivateAVFoundation::create): Simple factory method.
2984         (WebCore::CDMPrivateAVFoundation::~CDMPrivateAVFoundation): Simple virtual destructor.
2985         (WebCore::CDMPrivateAVFoundation::cdm): Simple getter.
2986         (WebCore::CDMPrivateAVFoundation::CDMPrivateAVFoundation): Simple constructor.
2987         * Modules/encryptedmedia/CDMPrivateAVFoundation.mm: Added.
2988         (WebCore::CDMSessionAVFoundation::~CDMSessionAVFoundation): Simple destructor.
2989         (WebCore::CDMPrivateAVFoundation::supportsKeySytem): Check whether the given key system is supported.
2990         (WebCore::CDMPrivateAVFoundation::supportsMIMEType): Check whether the given MIME type is supported.
2991         (WebCore::CDMPrivateAVFoundation::createSession): Return a new CDMSessionAVFoundation.
2992         (WebCore::CDMSessionAVFoundation::CDMSessionAVFoundation): Simple constructor.
2993         (WebCore::CDMSessionAVFoundation::generateKeyRequest): Retrieve the AVAssetResourceLoadingRequest
2994             from the MediaPlayer, and use it to generate a key request.
2995         (WebCore::CDMSessionAVFoundation::releaseKeys): No-op.
2996         (WebCore::CDMSessionAVFoundation::update): Add the passed in key to the AVAssetResourceLoadingRequest.
2997         * WebCore.xcodeproj/project.pbxproj:
2998         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2999         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3000         (WebCore::playerToPrivateMap): Lazily instantiate static map.
3001         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Register with the playerToPrivateMap.
3002         (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Unregister from same.
3003         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Also send keyNeeded event in ENCRYPTED_MEDIA_V2.
3004         (WebCore::MediaPlayerPrivateAVFoundationObjC::extractKeyURIKeyIDAndCertificateFromInitData): Convert this 
3005             method from file-static to class static.
3006         (WebCore::MediaPlayerPrivateAVFoundationObjC::takeRequestForPlayerAndKeyURI): Pull the AVAssetResourceLoadingRequest
3007             from m_keyURIToRequestMap and return it, if present.
3008
3009 2013-02-18  Philip Rogers  <pdr@google.com>
3010
3011         Fix scaling of tiled SVG backgrounds on high-dpi displays
3012         https://bugs.webkit.org/show_bug.cgi?id=110047
3013
3014         Reviewed by Dirk Schulze.
3015
3016         This patch fixes the scaling of SVG when used for drawing patterns. Tiled/patterend SVG
3017         images are first drawn into an image buffer and then the image buffer is used to stamp
3018         out tiles. Because it is a raster source, the size of the image buffer needs to
3019         be scaled to the final resolution of the device. After scaling the image buffer, the
3020         source rect and pattern transforms need to be adjusted so they align in device pixel
3021         coordinates. This adjustment was not done before this patch, causing pixelated rendering.
3022
3023         Additionally, a FIXME has been added due to webkit.org/b/110065 and the image buffer
3024         has been manually scaled (using "zoomedAndScaledContainerRect") instead of relying
3025         on the ImageBuffer's resolutionScale parameter.
3026
3027         Test: svg/as-background-image/tiled-background-image.html
3028
3029         * svg/graphics/SVGImage.cpp:
3030         (WebCore::SVGImage::drawPatternForContainer):
3031
3032             Note that fixing the FIXME does not change that the source rect and transform need
3033             to be adjusted for page scale.
3034
3035 2013-02-18  David Hyatt  <hyatt@apple.com>
3036
3037         Make seamless iframes paginate properly in their enclosing document's pagination context.
3038         https://bugs.webkit.org/show_bug.cgi?id=106125
3039         <rdar://problem/12922720> Text in iframe is clipped while printing
3040
3041         Reviewed by Simon Fraser.
3042
3043         Added new tests in fast/multicol and fast/region.
3044
3045         * rendering/RenderBlock.cpp:
3046         (WebCore::RenderBlock::clampToStartAndEndRegions):
3047         Don't clamp when the RenderView is the containing block of an object in a RenderFlowThread.
3048
3049         * rendering/RenderObject.cpp:
3050         (WebCore::RenderObject::containerForRepaint):
3051         Don't attempt any repaint container antics when we're in a seamless iframe, since the ancestor
3052         document will actually do the handoff into the flow thread.
3053
3054         * rendering/RenderView.cpp:
3055         (WebCore::enclosingSeamlessRenderer):
3056         Heper function to test for an enclosing seamless iframe.
3057         
3058         (WebCore::RenderView::addChild):
3059         Subclass addChild on RenderView to properly set the inRenderFlowThread state for a seamless
3060         child document so thta it will check regions.
3061
3062         (WebCore::RenderView::initializeLayoutState):
3063         New helper method for setting up the initial layout state of a RenderView. If inside a seamless
3064         paginated ancestor, set up the appropriate pagination information so the child document
3065         knows about it. This method will expand to inherit info about line grids and exclusions eventually
3066         also.
3067
3068         (WebCore::RenderView::layout):
3069         Now calls initializeLayoutState to set up the layout state.
3070
3071         * rendering/RenderView.h:
3072         (WebCore::RenderView::pageLogicalHeight):
3073         (WebCore::RenderView::setPageLogicalHeight):
3074         (RenderView):
3075         Fix the type of the page logical height methods to be LayoutUnit instead of unsigned.
3076
3077 2013-02-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3078
3079         Unreviewed, rolling out r143145.
3080         http://trac.webkit.org/changeset/143145
3081         https://bugs.webkit.org/show_bug.cgi?id=110143
3082
3083         Causes frequent crashes. (Requested by eric_carlson on
3084         #webkit).
3085
3086         * dom/EventDispatchMediator.cpp:
3087         (WebCore::EventDispatchMediator::dispatchEvent):
3088         * dom/EventDispatcher.cpp:
3089         (WebCore::EventDispatcher::dispatchEvent):
3090         (WebCore::EventDispatcher::EventDispatcher):
3091         (WebCore::EventDispatcher::ensureEventPath):
3092         (WebCore::EventDispatcher::dispatchSimulatedClick):
3093         (WebCore::EventDispatcher::dispatchEventPreProcess):
3094         (WebCore::EventDispatcher::dispatchEventAtCapturing):
3095         (WebCore::EventDispatcher::dispatchEventAtTarget):
3096         (WebCore::EventDispatcher::dispatchEventAtBubbling):
3097         (WebCore::EventDispatcher::dispatchEventPostProcess):
3098         * dom/EventDispatcher.h:
3099         (EventDispatcher):
3100         (WebCore::EventDispatcher::node):
3101         (WebCore):
3102         * dom/FocusEvent.cpp:
3103         (WebCore::FocusEventDispatchMediator::dispatchEvent):
3104         (WebCore::BlurEventDispatchMediator::dispatchEvent):
3105         (WebCore::FocusInEventDispatchMediator::dispatchEvent):
3106         (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
3107         * dom/GestureEvent.cpp:
3108         (WebCore::GestureEventDispatchMediator::dispatchEvent):
3109         * dom/MouseEvent.cpp:
3110         (WebCore::MouseEventDispatchMediator::dispatchEvent):
3111
3112 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3113
3114         [Soup] Free cookies explicitly in loops instead of using GOwnPtr
3115         https://bugs.webkit.org/show_bug.cgi?id=110103
3116
3117         Reviewed by Martin Robinson.
3118
3119         Free cookies explicitly in loops instead of using GOwnPtr for this.
3120         Until now, the code was mixing both styles. This patch makes the
3121         code consistent one way. Adopting list items with GOwnPtr for the
3122         sole purpose to free them makes the freeing less obvious and may
3123         lead to mistakes if someone refactors the code and calls "break;"
3124         to abort loop iteration.
3125
3126         No new tests, no behavior change.
3127
3128         * platform/network/soup/CookieJarSoup.cpp:
3129         (WebCore::getRawCookies):
3130         (WebCore::deleteCookie):
3131         (WebCore::getHostnamesWithCookies):
3132
3133 2013-02-18  Joseph Pecoraro  <pecoraro@apple.com>
3134
3135         [JSC]: ASSERT in KURL(ParsedURLStringTag) under sourceMapURLForScript
3136         https://bugs.webkit.org/show_bug.cgi?id=109987
3137
3138         Reviewed by Pavel Feldman.
3139
3140         Improved an existing test to cover this.
3141
3142         * bindings/js/ScriptDebugServer.cpp:
3143         (WebCore::ScriptDebugServer::dispatchDidParseSource):
3144         Remove the sourceURL parsing and script.url replacement from the JSC
3145         implementation of ScriptDebugServer. The WebCore inspector code that
3146         this was added for already does this, at a more appropriate time.
3147
3148 2013-02-18  Mike West  <mkwst@chromium.org>
3149
3150         compareDocumentPosition reports disconnected nodes as following each other
3151         https://bugs.webkit.org/show_bug.cgi?id=108274
3152
3153         Reviewed by Dimitri Glazkov.
3154
3155         jQuery has had to implement their own sorting mechanism in Sizzle[1] due
3156         to Node::compareDocumentPosition always reporting disconnected nodes
3157         as following each other. According to spec[2], we should instead be
3158         indicating that the result is (a) disconnected, (b) implementation
3159         specific, and (c) deterministically ordered.
3160
3161         [1]: https://github.com/jquery/sizzle/commit/1c8aec91284af8d8c14447976235d5dd72b0d75e
3162         [2]: http://dom.spec.whatwg.org/#dom-node-comparedocumentposition
3163
3164         Test: fast/dom/compare-document-position-disconnected-nodes.html
3165
3166         * dom/Node.cpp:
3167         (WebCore::Node::compareDocumentPosition):
3168             After walking the parentNode chain of both Nodes, compare the root.
3169             If the Nodes don't share a root, they're in distinct trees, and
3170             should return as described above. We determine which element
3171             "preceeds" the other in an arbitrary fashion via pointer comparison.
3172
3173 2013-02-18  Andrey Adaikin  <aandrey@chromium.org>
3174
3175         Web Inspector: [Canvas] fix replay log grouping by frames
3176         https://bugs.webkit.org/show_bug.cgi?id=110122
3177
3178         Reviewed by Pavel Feldman.
3179
3180         Bug: log grouping by frames did not work if a frame end call is not a draw call.
3181         Drive-by: Last draw call group may not contain a draw call. In this case merge it into the previous group.
3182
3183         * inspector/front-end/CanvasProfileView.js:
3184         (WebInspector.CanvasProfileView.prototype._appendCallNode):
3185         (WebInspector.CanvasProfileView.prototype._maybeMergeLastDrawCallGroups):
3186
3187 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3188
3189         [Soup] Superfluous HashMap check in SocketStreamHandleSoup::getHandleFromId()
3190         https://bugs.webkit.org/show_bug.cgi?id=110107
3191
3192         Reviewed by Martin Robinson.
3193
3194         Remove Superfluous HashMap::contains() call in SocketStreamHandleSoup::getHandleFromId()
3195         as HashMap::get() will already return 0 in this case anyway.
3196
3197         No new tests, no behavior change.
3198
3199         * platform/network/soup/SocketStreamHandleSoup.cpp:
3200         (WebCore):
3201         (WebCore::getHandleFromId):
3202
3203 2013-02-18  Zan Dobersek  <zdobersek@igalia.com>
3204
3205         Stop placing std::isfinite and std::signbit inside the global scope
3206         https://bugs.webkit.org/show_bug.cgi?id=109817
3207
3208         Reviewed by Darin Adler.
3209
3210         Prefix calls to the isfinite and signbit methods with std:: as the two
3211         methods are no longer being imported into the global scope.
3212
3213         No new tests as there's no change in functionality.
3214
3215         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3216         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
3217         * bindings/js/JSDOMBinding.cpp:
3218         (WebCore::jsDateOrNull):
3219         * bindings/js/JSDOMBinding.h:
3220         (WebCore::finiteInt32Value):
3221         * bindings/v8/V8Binding.h:
3222         (WebCore::v8DateOrNull):
3223         * css/CSSPrimitiveValue.cpp:
3224         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3225         * html/BaseDateAndTimeInputType.cpp:
3226         (WebCore::BaseDateAndTimeInputType::parseToNumber):
3227         * html/HTMLInputElement.cpp:
3228         (WebCore::HTMLInputElement::setValueAsNumber):
3229         * html/HTMLMeterElement.cpp:
3230         (WebCore::HTMLMeterElement::setMin):
3231         (WebCore::HTMLMeterElement::setMax):
3232         (WebCore::HTMLMeterElement::setValue):
3233         (WebCore::HTMLMeterElement::setLow):
3234         (WebCore::HTMLMeterElement::setHigh):
3235         (WebCore::HTMLMeterElement::setOptimum):
3236         * html/HTMLProgressElement.cpp:
3237         (WebCore::HTMLProgressElement::value):
3238         (WebCore::HTMLProgressElement::setValue):
3239         (WebCore::HTMLProgressElement::max):
3240         (WebCore::HTMLProgressElement::setMax):
3241         * html/MonthInputType.cpp:
3242         (WebCore::MonthInputType::valueAsDate):
3243         (WebCore::MonthInputType::defaultValueForStepUp):
3244         (WebCore::MonthInputType::parseToNumber):
3245         * html/NumberInputType.cpp:
3246         (WebCore::NumberInputType::typeMismatchFor):
3247         (WebCore::NumberInputType::sanitizeValue):
3248         (WebCore::NumberInputType::hasBadInput):
3249         * html/RangeInputType.cpp:
3250         (WebCore::RangeInputType::typeMismatchFor):
3251         * html/TimeInputType.cpp:
3252         (WebCore::TimeInputType::defaultValueForStepUp):
3253         * html/canvas/CanvasPathMethods.cpp:
3254         (WebCore::CanvasPathMethods::moveTo):
3255         (WebCore::CanvasPathMethods::lineTo):
3256         (WebCore::CanvasPathMethods::quadraticCurveTo):
3257         (WebCore::CanvasPathMethods::bezierCurveTo):
3258         (WebCore::CanvasPathMethods::arcTo):
3259         (WebCore::CanvasPathMethods::arc):
3260         (WebCore::CanvasPathMethods::rect):
3261         * html/canvas/CanvasRenderingContext2D.cpp:
3262         (WebCore::CanvasRenderingContext2D::setLineWidth):
3263         (WebCore::CanvasRenderingContext2D::setMiterLimit):
3264         (WebCore::CanvasRenderingContext2D::setShadowOffsetX):
3265         (WebCore::CanvasRenderingContext2D::setShadowOffsetY):
3266         (WebCore::CanvasRenderingContext2D::setShadowBlur):
3267         (WebCore::lineDashSequenceIsValid):
3268         (WebCore::CanvasRenderingContext2D::setLineDashOffset):
3269         (WebCore::CanvasRenderingContext2D::scale):
3270         (WebCore::CanvasRenderingContext2D::rotate):
3271         (WebCore::CanvasRenderingContext2D::translate):
3272         (WebCore::CanvasRenderingContext2D::transform):
3273         (WebCore::CanvasRenderingContext2D::setTransform):
3274         (WebCore::validateRectForCanvas):
3275         (WebCore::CanvasRenderingContext2D::isPointInPath):
3276         (WebCore::CanvasRenderingContext2D::isPointInStroke):
3277         (WebCore::CanvasRenderingContext2D::drawImage):
3278         (WebCore::CanvasRenderingContext2D::createLinearGradient):
3279         (WebCore::CanvasRenderingContext2D::createRadialGradient):
3280         (WebCore::CanvasRenderingContext2D::createImageData):
3281         (WebCore::CanvasRenderingContext2D::getImageData):
3282         (WebCore::CanvasRenderingContext2D::putImageData):
3283         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3284         * html/parser/HTMLParserIdioms.cpp:
3285         (WebCore::parseToDoubleForNumberType):
3286         * html/shadow/MediaControlElements.cpp:
3287         (WebCore::MediaControlTimelineElement::setDuration):
3288         * html/shadow/MediaControls.cpp:
3289         (WebCore::MediaControls::reset):
3290         * html/shadow/MediaControlsApple.cpp:
3291         (WebCore::MediaControlsApple::reset):
3292         * html/shadow/MediaControlsBlackBerry.cpp:
3293         (WebCore::MediaControlFullscreenTimelineElement::setDuration):
3294         (WebCore::MediaControlsBlackBerry::reset):
3295         * inspector/InspectorValues.cpp:
3296         (WebCore::InspectorBasicValue::writeJSON):
3297         * loader/cache/CachedResource.cpp:
3298         (WebCore::CachedResource::currentAge):
3299         (WebCore::CachedResource::freshnessLifetime):
3300         * page/DOMWindow.cpp:
3301         (WebCore::DOMWindow::adjustWindowRect):
3302         * platform/DateComponents.cpp:
3303         (WebCore::DateComponents::setMillisecondsSinceEpochForDate):
3304         (WebCore::DateComponents::setMillisecondsSinceEpochForDateTime):
3305         (WebCore::DateComponents::setMillisecondsSinceEpochForMonth):
3306         (WebCore::DateComponents::setMillisecondsSinceMidnight):
3307         (WebCore::DateComponents::setMonthsSinceEpoch):
3308         (WebCore::DateComponents::setMillisecondsSinceEpochForWeek):
3309         * platform/Decimal.cpp:
3310         (WebCore::Decimal::fromDouble):
3311         * platform/FileSystem.h:
3312         (WebCore::isValidFileTime):
3313         * platform/LocalizedStrings.cpp:
3314         (WebCore::localizedMediaTimeDescription):
3315         * platform/graphics/cairo/CairoUtilities.cpp:
3316         (WebCore::drawPatternToCairoContext):
3317         * platform/graphics/cairo/PathCairo.cpp:
3318         (WebCore::Path::addArc):
3319         (WebCore::Path::contains):
3320         * platform/graphics/cg/PathCG.cpp:
3321         (WebCore::Path::addArc):
3322         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp:
3323         (WebCore::FullscreenVideoControllerGStreamer::timeToString):
3324         * platform/graphics/openvg/PathOpenVG.cpp:
3325         (WebCore::Path::addArc):
3326         * platform/graphics/skia/SkiaUtils.h:
3327         (WebCore::WebCoreFloatToSkScalar):
3328         (WebCore::WebCoreDoubleToSkScalar):
3329         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3330         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::maxTimeSeekable):
3331         * platform/gtk/LocalizedStringsGtk.cpp:
3332         (WebCore::localizedMediaTimeDescription):
3333         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
3334         (timeToString):
3335         * platform/network/ResourceResponseBase.cpp:
3336         (WebCore::parseDateValueInHeader):
3337         * platform/qt/LocalizedStringsQt.cpp:
3338         (WebCore::localizedMediaTimeDescription):
3339         * rendering/RenderFlexibleBox.cpp:
3340         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
3341         * rendering/RenderMediaControlsChromium.cpp:
3342         (WebCore::formatChromiumMediaControlsTime):
3343         * rendering/RenderTheme.cpp:
3344         (WebCore::RenderTheme::formatMediaControlsTime):
3345         * rendering/style/RenderStyle.cpp:
3346         (WebCore::RenderStyle::setFontSize):
3347         * svg/SVGPathParser.cpp:
3348         (WebCore::SVGPathParser::decomposeArcToCubic):
3349         * xml/XPathFunctions.cpp:
3350         (WebCore::XPath::FunRound::round):
3351         * xml/XPathValue.cpp:
3352         (WebCore::XPath::Value::toString):
3353
3354 2013-02-18  Chris Fleizach  <cfleizach@apple.com>
3355
3356         AX: Make iOS wrapper use the WebAccessibilityObjectBase wrapper
3357         https://bugs.webkit.org/show_bug.cgi?id=110077
3358
3359         Reviewed by David Kilzer.
3360
3361         Make the iOS wrapper a subclass of the shared wrapper so that iOS can re-use code from the Mac.
3362         Rename the iOS file to reflect the class name.
3363
3364         * WebCore.xcodeproj/project.pbxproj:
3365         * accessibility/ios/AXObjectCacheIOS.mm:
3366         (WebCore::AXObjectCache::attachWrapper):
3367         (WebCore::AXObjectCache::postPlatformNotification):
3368         * accessibility/ios/AccessibilityObjectWrapperIOS.h: Removed.
3369         * accessibility/ios/AccessibilityObjectWrapperIOS.mm: Removed.
3370         * accessibility/ios/WebAccessibilityObjectWrapperIOS.h: Copied from Source/WebCore/accessibility/ios/AccessibilityObjectWrapperIOS.h.
3371         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: Copied from Source/WebCore/accessibility/ios/AccessibilityObjectWrapperIOS.mm.
3372         (-[WebAccessibilityObjectWrapper initWithAccessibilityObject:]):
3373         (-[WebAccessibilityObjectWrapper attachmentView]):
3374         (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:WebCore::AXObjectCache::]):
3375
3376 2013-02-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3377
3378         Unreviewed, rolling out r143210.
3379         http://trac.webkit.org/changeset/143210
3380         https://bugs.webkit.org/show_bug.cgi?id=110128
3381
3382         Still causing some test timeouts (Requested by anttik on
3383         #webkit).
3384
3385         * platform/SharedTimer.h:
3386         (SharedTimer):
3387         (WebCore):
3388         (WebCore::MainThreadSharedTimer::stop):
3389         * platform/ThreadTimers.cpp:
3390         (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
3391         * platform/mac/SharedTimerMac.mm:
3392         (WebCore):
3393         (WebCore::PowerObserver::restartSharedTimer):
3394         (WebCore::setSharedTimerFireInterval):
3395         (WebCore::stopSharedTimer):
3396
3397 2013-02-18  Vladislav Kaznacheev  <kaznacheev@chromium.org>
3398
3399         Web Inspector: Disable hiding the debugger when it is below the source code
3400         https://bugs.webkit.org/show_bug.cgi?id=110106
3401
3402         Reviewed by Pavel Feldman.
3403
3404         When the "Split horizontally" option is checked in the Sources panel the button responsible for the sidebar
3405         visibility is hidden and the sidebar is force-shown. Also set the "Split sidebar" option default to true.
3406
3407         No new tests.
3408
3409         * inspector/front-end/ScriptsPanel.js:
3410         (WebInspector.ScriptsPanel):
3411         * inspector/front-end/scriptsPanel.css:
3412         (.split-view-horizontal #scripts-debug-sidebar-resizer-widget):
3413
3414 2013-02-18  Bear Travis  <betravis@adobe.com>
3415
3416         [CSS Exclusions] Support outside-shape layout for shape-inside property
3417         https://bugs.webkit.org/show_bug.cgi?id=102571
3418
3419         Reviewed by David Hyatt.
3420
3421        &nb