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