[Win CMake] Fix incremental build after r188673
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-08-27  Alex Christensen  <achristensen@webkit.org>
2
3         [Win CMake] Fix incremental build after r188673
4         https://bugs.webkit.org/show_bug.cgi?id=148539
5
6         Reviewed by Brent Fulgham.
7
8         * CMakeLists.txt:
9         * PlatformWin.cmake:
10         Use xcopy as a build step instead of file(COPY ...) to copy updated headers.
11
12 2015-08-27  Timothy Horton  <timothy_horton@apple.com>
13
14         Factor out Lookup invocation
15         https://bugs.webkit.org/show_bug.cgi?id=148509
16
17         Reviewed by Anders Carlsson.
18
19         There's a ton of duplicated code in legacy and modern WebKit to talk to
20         Lookup. And, it's pretty messy. As a first step to making it less messy,
21         make it so we only have it in one place instead of four (or two).
22
23         * editing/DictionaryPopupInfo.h:
24         Move DictionaryPopupInfo into WebCore. This was duplicated
25         in both legacy and modern WebKit.
26
27         * editing/mac/DictionaryLookup.h:
28         * editing/mac/DictionaryLookup.mm:
29         (WebCore::DictionaryLookup::rangeForSelection):
30         (WebCore::DictionaryLookup::rangeAtHitTestResult):
31         (WebCore::DictionaryLookup::stringForPDFSelection):
32         (WebCore::showPopupOrCreateAnimationController):
33         (WebCore::DictionaryLookup::showPopup):
34         (WebCore::DictionaryLookup::hidePopup):
35         (WebCore::DictionaryLookup::animationControllerForPopup):
36         (WebCore::rangeForDictionaryLookupForSelection): Deleted.
37         (WebCore::rangeForDictionaryLookupAtHitTestResult): Deleted.
38         (WebCore::dictionaryLookupForPDFSelection): Deleted.
39         Move DictionaryLookup stuff into a class for better names.
40
41         Move showPopup, hidePopup, and animationControllerForPopup here.
42         showPopup and animationControllerForPopup both bottleneck through
43         a single function, where previously we duplicated all of the code
44         for both of them, and in both legacy and modern WebKit.
45
46         showPopup and animationControllerForPopup take a block that they *may*
47         call if we have support for overriding Lookup's indicator with TextIndicator,
48         because the installation process is different per WebKit.
49
50         * page/mac/EventHandlerMac.mm:
51         (WebCore::EventHandler::selectClosestWordFromHitTestResultBasedOnLookup):
52         * testing/Internals.cpp:
53         (WebCore::Internals::rangeForDictionaryLookupAtLocation):
54         Adjust to the new naming.
55
56 2015-08-27  Jon Davis  <jond@apple.com>
57
58         Add IndexedDB to the feature status page.
59         https://bugs.webkit.org/show_bug.cgi?id=148094
60
61         Reviewed by Timothy Hatcher.
62
63         * features.json:
64
65 2015-08-27  Anders Carlsson  <andersca@apple.com>
66
67         REGRESSION (r188987): imported/mozilla/svg/filters/feConvolveMatrix-1.svg fails
68         https://bugs.webkit.org/show_bug.cgi?id=148497
69         <rdar://problem/22459541>
70
71         Reviewed by Andy Estes.
72
73         Don't return early if iterations is 0.
74
75         * platform/graphics/filters/FEConvolveMatrix.cpp:
76         (WebCore::FEConvolveMatrix::platformApplySoftware):
77
78 2015-08-27  Antti Koivisto  <antti@apple.com>
79
80         Decode redirected data URLs in web process
81         https://bugs.webkit.org/show_bug.cgi?id=148386
82
83         Reviewed by Zalan Bujtas.
84
85         Redirected data URLs still end up to networking layer for decoding. Handle them locally as well.
86
87         Covered by existing tests.
88
89         * loader/ResourceLoader.cpp:
90         (WebCore::ResourceLoader::~ResourceLoader):
91         (WebCore::ResourceLoader::finishNetworkLoad):
92
93             Factor to a function.
94
95         (WebCore::ResourceLoader::releaseResources):
96         (WebCore::ResourceLoader::willSendRequestInternal):
97
98             When receiving redirect to a data URL end the network load and decode it locally.
99
100         (WebCore::ResourceLoader::willSendRequest):
101         * loader/ResourceLoader.h:
102
103 2015-08-27  Myles C. Maxfield  <mmaxfield@apple.com>
104
105         [Cocoa] Generic font families do not consult with the user's preferred language
106         https://bugs.webkit.org/show_bug.cgi?id=148499
107         <rdar://problem/22407296>
108
109         Reviewed by Antti Koivisto.
110
111         When WebKit encounters markup like lang="zh" style="font-family: sans-serif;"
112         we currently always use Simplified Chinese fonts. However, the user may
113         have specifically selected Traditional Chinese in their user preferences.
114         In this absence of other signals, we should consult with the user
115         preferences when determining which font to pick.
116
117         Tests: fast/text/international/generic-font-family-language-simplified.html
118                fast/text/international/generic-font-family-language-traditional.html
119
120         * platform/Language.cpp:
121         (WebCore::observerMap):
122         (WebCore::overrideUserPreferredLanguages):
123         * platform/graphics/FontGenericFamilies.cpp:
124         (WebCore::computeUserPrefersSimplified):
125         (WebCore::cachedUserPrefersSimplified):
126         (WebCore::languageChanged):
127         (WebCore::genericFontFamilyForScript):
128         (WebCore::FontGenericFamilies::FontGenericFamilies):
129         * platform/text/LocaleToScriptMappingDefault.cpp:
130         (WebCore::scriptNameToCode):
131
132 2015-08-27  Myles C. Maxfield  <mmaxfield@apple.com>
133
134         Update Grid Layout to use fewer magic -1s
135         https://bugs.webkit.org/show_bug.cgi?id=148505
136
137         Reviewed by Javier Fernandez.
138
139         After r188873, there were still some -1s left in Grid Layout code. This patch cleans them
140         up after consulting with Javier Fernandez.
141
142         No new tests because there is no behavior change.
143
144         * rendering/RenderBox.cpp:
145         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
146         (WebCore::RenderBox::containingBlockLogicalHeightForContent):
147         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
148         * rendering/RenderGrid.cpp:
149         (WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
150
151 2015-08-27  Brian Burg  <bburg@apple.com>
152
153         Web Inspector: FrontendChannel should know its own connection type
154         https://bugs.webkit.org/show_bug.cgi?id=148482
155
156         Reviewed by Joseph Pecoraro.
157
158         To prepare for multiple attached frontends, the frontend connection should
159         be able to report its type rather than explicitly setting connection type
160         via a getter.
161
162         No behavior change, no new tests.
163
164         * inspector/InspectorController.cpp:
165         (WebCore::InspectorController::hasLocalFrontend): Ask the channel what it is.
166         (WebCore::InspectorController::hasRemoteFrontend): Ask the channel what it is.
167         (WebCore::InspectorController::connectFrontend): Use hasRemoteFrotend().
168         (WebCore::InspectorController::disconnectFrontend): Use hasRemoteFrontend().
169         (WebCore::InspectorController::InspectorController): Deleted.
170         * inspector/InspectorController.h: Initialize a few members here.
171         (WebCore::InspectorController::hasFrontend): Deleted, it was unused.
172         (WebCore::InspectorController::setHasRemoteFrontend): Deleted.
173         * inspector/WorkerInspectorController.cpp:
174         * page/PageDebuggable.cpp:
175         (WebCore::PageDebuggable::connect):
176         (WebCore::PageDebuggable::disconnect):
177         * testing/Internals.cpp: Add connectionType().
178
179 2015-08-27  Eric Carlson  <eric.carlson@apple.com>
180
181         Media Session: MediaSession constructor 'kind' argument optional
182         https://bugs.webkit.org/show_bug.cgi?id=148527
183
184         Reviewed by Jer Noble.
185
186         No new tests, updated media/session/session-creation.html.
187
188         * Modules/mediasession/MediaSession.cpp:
189         (WebCore::MediaSession::parseKind): Treat null kind "content".
190         (WebCore::MediaSession::MediaSession): Delete Document* version.
191         * Modules/mediasession/MediaSession.h: Make constructor private.
192         * Modules/mediasession/MediaSession.idl:
193
194         * WebCore.xcodeproj/project.pbxproj: Add JSMediaSessionCustom.cpp.
195
196         * bindings/js/JSMediaSessionCustom.cpp: Added.
197         (WebCore::constructJSMediaSession):
198
199         * dom/Document.cpp:
200         (WebCore::Document::defaultMediaSession): Call MediaSession::create.
201
202         * html/HTMLMediaElement.cpp:
203         (WebCore::HTMLMediaElement::session): Compare session with document.defaultMediaSession, not
204           its kind.
205         (WebCore::HTMLMediaElement::setSession): Update comments.
206
207 2015-08-27  Zalan Bujtas  <zalan@apple.com>
208
209         Simple line layout: Use float types wherever possible to match line tree.
210         https://bugs.webkit.org/show_bug.cgi?id=148444
211
212         Reviewed by Antti Koivisto.
213
214         To match inline tree output, we should try to match the data types as far as precision goes.
215
216         This patch also fixes the confusing mismatch between Run::baseline().x() and Run::rect().x(). 
217         They are both supposed to return the left edge of the run. However Run::rect().x() returns a rounded
218         LayoutUnit of the logical left, while Run::baseline().x() returns the correct logical left.          
219         With this patch 
220           1. baseline position does not include logical left anymore.
221           2. Run::rect().x() does not round the logical left coordinate anymore.
222
223         * rendering/RenderTreeAsText.cpp:
224         (WebCore::writeSimpleLine):
225         * rendering/SimpleLineLayoutFunctions.cpp:
226         (WebCore::SimpleLineLayout::paintFlow):
227         (WebCore::SimpleLineLayout::collectFlowOverflow):
228         (WebCore::SimpleLineLayout::collectAbsoluteRects):
229         (WebCore::SimpleLineLayout::showLineLayoutForFlow):
230         * rendering/SimpleLineLayoutResolver.cpp:
231         (WebCore::SimpleLineLayout::linePosition):
232         (WebCore::SimpleLineLayout::lineSize):
233         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
234         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
235         (WebCore::SimpleLineLayout::baselinePosition): Deleted.
236         (WebCore::SimpleLineLayout::RunResolver::Run::baseline): Deleted.
237         * rendering/SimpleLineLayoutResolver.h:
238         (WebCore::SimpleLineLayout::RunResolver::Run::baselinePosition):
239         (WebCore::SimpleLineLayout::RunResolver::Run::computeBaselinePosition):
240
241 2015-08-27  Zalan Bujtas  <zalan@apple.com>
242
243         Subpixel positioned iframe's repaint area calculation problem.
244         https://bugs.webkit.org/show_bug.cgi?id=148422
245
246         When the repaint rect position is floored for iframes, we need
247         to expand the size so that it still covers the content.
248
249         Reviewed by Simon Fraser.
250
251         Test: fast/repaint/content-inside-subpixel-positioned-iframe.html
252
253         * rendering/RenderBox.cpp:
254         (WebCore::RenderBox::computeRectForRepaint):
255
256 2015-08-27  Enrica Casucci  <enrica@apple.com>
257
258         Add some new emoji with modifiers and new sequence.
259         https://bugs.webkit.org/show_bug.cgi?id=148202
260         rdar://problem/21849857
261
262         Reviewed by Sam Weinig.
263
264         Adding support for some new emoji with modifiers and
265         one new emoji sequence.
266
267         * platform/graphics/FontCascade.cpp:
268         (WebCore::FontCascade::characterRangeCodePath):
269         * platform/text/CharacterProperties.h:
270         (WebCore::isEmojiGroupCandidate):
271         (WebCore::isEmojiModifier):
272         * platform/text/TextBreakIterator.cpp:
273         (WebCore::cursorMovementIterator):
274
275 2015-08-27  Dean Jackson  <dino@apple.com>
276
277         Initial infrastructure of media controls testing
278         https://bugs.webkit.org/show_bug.cgi?id=148426
279         <rdar://problem/22417286>
280
281         Reviewed by Eric Carlson.
282
283         Expose a JS API from Internals that allows a layout test
284         to ask the controls instance what it thinks it is
285         doing.
286
287         Test: media/controls/basic.html
288
289         * Modules/mediacontrols/mediaControlsApple.js:
290         (Controller.prototype.getCurrentControlsStatus): New method. Currently
291         returns a simple JSON string.
292         * html/HTMLMediaElement.cpp:
293         (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): Call into
294         the controls instance.
295         * html/HTMLMediaElement.h:
296         * testing/Internals.cpp:
297         (WebCore::Internals::getCurrentMediaControlsStatusForElement): Link
298         between the Internals API and the HTMLMediaElement.
299         * testing/Internals.h:
300         * testing/Internals.idl:
301
302 2015-08-27  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
303
304         [EFL] Move RenderThemeEfl.cpp|h from WebCore/platform/efl to WebCore/rendering
305         https://bugs.webkit.org/show_bug.cgi?id=148511
306
307         Reviewed by Csaba Osztrogonác.
308
309         To be aligned with other ports, move RenderThemeEfl.cpp|h to WebCore/rendering.
310
311         Additionally this patch fixes style errors in RenderThemeEfl.cpp
312
313         * PlatformEfl.cmake:
314         * rendering/RenderThemeEfl.cpp: Renamed from Source/WebCore/platform/efl/RenderThemeEfl.cpp.
315         (WebCore::toEdjeGroup):
316         (WebCore::setSourceGroupForEdjeObject):
317         (WebCore::RenderThemeEfl::adjustSizeConstraints):
318         (WebCore::isFormElementTooLargeToDisplay):
319         (WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
320         (WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):
321         (WebCore::RenderThemeEfl::getThemePartFromCache):
322         (WebCore::RenderThemeEfl::clearThemePartCache):
323         (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
324         (WebCore::RenderThemeEfl::applyEdjeRTLState):
325         (WebCore::RenderThemeEfl::isControlStyled):
326         (WebCore::RenderThemeEfl::paintThemePart):
327         (WebCore::RenderThemeEfl::create):
328         (WebCore::RenderTheme::themeForPage):
329         (WebCore::applyColorCallback):
330         (WebCore::fillColorsFromEdjeClass):
331         (WebCore::RenderThemeEfl::setColorFromThemeClass):
332         (WebCore::RenderThemeEfl::setThemePath):
333         (WebCore::RenderThemeEfl::themePath):
334         (WebCore::RenderThemeEfl::loadTheme):
335         (WebCore::RenderThemeEfl::applyPartDescriptionFallback):
336         (WebCore::RenderThemeEfl::applyPartDescription):
337         (WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
338         (WebCore::RenderThemeEfl::RenderThemeEfl):
339         (WebCore::RenderThemeEfl::~RenderThemeEfl):
340         (WebCore::supportsFocus):
341         (WebCore::RenderThemeEfl::supportsFocusRing):
342         (WebCore::RenderThemeEfl::controlSupportsTints):
343         (WebCore::RenderThemeEfl::baselinePosition):
344         (WebCore::RenderThemeEfl::platformActiveSelectionBackgroundColor):
345         (WebCore::RenderThemeEfl::platformInactiveSelectionBackgroundColor):
346         (WebCore::RenderThemeEfl::platformActiveSelectionForegroundColor):
347         (WebCore::RenderThemeEfl::platformInactiveSelectionForegroundColor):
348         (WebCore::RenderThemeEfl::platformFocusRingColor):
349         (WebCore::RenderThemeEfl::supportsSelectionForegroundColors):
350         (WebCore::RenderThemeEfl::paintSliderTrack):
351         (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
352         (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
353         (WebCore::RenderThemeEfl::adjustSliderThumbSize):
354         (WebCore::RenderThemeEfl::sliderTickSize):
355         (WebCore::RenderThemeEfl::sliderTickOffsetFromTrackCenter):
356         (WebCore::RenderThemeEfl::sliderTickSnappingThreshold):
357         (WebCore::RenderThemeEfl::supportsDataListUI):
358         (WebCore::RenderThemeEfl::paintSliderThumb):
359         (WebCore::RenderThemeEfl::adjustCheckboxStyle):
360         (WebCore::RenderThemeEfl::paintCheckbox):
361         (WebCore::RenderThemeEfl::adjustRadioStyle):
362         (WebCore::RenderThemeEfl::paintRadio):
363         (WebCore::RenderThemeEfl::adjustButtonStyle):
364         (WebCore::RenderThemeEfl::paintButton):
365         (WebCore::RenderThemeEfl::adjustMenuListStyle):
366         (WebCore::RenderThemeEfl::paintMenuList):
367         (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
368         (WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
369         (WebCore::RenderThemeEfl::adjustTextFieldStyle):
370         (WebCore::RenderThemeEfl::paintTextField):
371         (WebCore::RenderThemeEfl::adjustTextAreaStyle):
372         (WebCore::RenderThemeEfl::paintTextArea):
373         (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
374         (WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
375         (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationPartStyle):
376         (WebCore::RenderThemeEfl::paintSearchFieldResultsDecorationPart):
377         (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
378         (WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
379         (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
380         (WebCore::RenderThemeEfl::paintSearchField):
381         (WebCore::RenderThemeEfl::adjustInnerSpinButtonStyle):
382         (WebCore::RenderThemeEfl::paintInnerSpinButton):
383         (WebCore::RenderThemeEfl::setDefaultFontSize):
384         (WebCore::RenderThemeEfl::updateCachedSystemFontDescription):
385         (WebCore::RenderThemeEfl::adjustProgressBarStyle):
386         (WebCore::RenderThemeEfl::animationRepeatIntervalForProgressBar):
387         (WebCore::RenderThemeEfl::animationDurationForProgressBar):
388         (WebCore::RenderThemeEfl::paintProgressBar):
389         (WebCore::RenderThemeEfl::mediaControlsStyleSheet):
390         (WebCore::RenderThemeEfl::mediaControlsScript):
391         * rendering/RenderThemeEfl.h: Renamed from Source/WebCore/platform/efl/RenderThemeEfl.h.
392
393 2015-08-26  Mark Lam  <mark.lam@apple.com>
394
395         watchdog m_didFire state erroneously retained.
396         https://bugs.webkit.org/show_bug.cgi?id=131082
397
398         Reviewed by Geoffrey Garen.
399
400         No new tests.  The new code is covered by the JSC API tests and an existing test:
401         fast/workers/worker-terminate-forever.html
402
403         * bindings/js/JSEventListener.cpp:
404         (WebCore::JSEventListener::handleEvent):
405         * bindings/js/WorkerScriptController.cpp:
406         (WebCore::WorkerScriptController::WorkerScriptController):
407         - Always create a watchdog for the Web Worker's VM.  We need this in order to support
408           Worker.terminate().
409         (WebCore::WorkerScriptController::evaluate):
410         (WebCore::WorkerScriptController::scheduleExecutionTermination):
411         (WebCore::WorkerScriptController::isTerminatingExecution):
412         (WebCore::WorkerScriptController::forbidExecution):
413         (WebCore::WorkerScriptController::isExecutionTerminating): Deleted.
414         * bindings/js/WorkerScriptController.h:
415
416 2015-08-26  Myles C. Maxfield  <mmaxfield@apple.com>
417
418         [Cocoa] PerformanceTest Layout/RegionsShapes.html is failing
419         https://bugs.webkit.org/show_bug.cgi?id=148464
420
421         Reviewed by Andy Estes.
422
423         The test is failing because Core Text emits a warning message when you use CTFontCreateWithName()
424         and it cannot find the name you provide. However, this is exactly the situation we are creating
425         (by attempting to auto-activate a font if we could not otherwise find it). The fix is to simply
426         not use that API function in favor of using CTFontCreateWithFontDescriptor(), which does not emit
427         a warning message..
428
429         No new tests because there is no behavior change.
430
431         * platform/graphics/cocoa/FontCacheCoreText.cpp:
432         (WebCore::autoActivateFont):
433         (WebCore::FontCache::createFontPlatformData):
434
435 2015-08-26  Joseph Pecoraro  <pecoraro@apple.com>
436
437         Web Inspector: Implement tracking of active stylesheets in the frontend
438         https://bugs.webkit.org/show_bug.cgi?id=105828
439
440         Reviewed by Timothy Hatcher.
441
442         Tests: inspector/css/stylesheet-events-basic.html
443                inspector/css/stylesheet-events-imports.html
444                inspector/css/stylesheet-events-inspector-stylesheet.html
445
446         * inspector/InspectorInstrumentation.cpp:
447         (WebCore::InspectorInstrumentation::documentDetachedImpl):
448         (WebCore::InspectorInstrumentation::activeStyleSheetsUpdatedImpl):
449         * inspector/InspectorInstrumentation.h:
450         (WebCore::InspectorInstrumentation::documentDetached):
451         (WebCore::InspectorInstrumentation::activeStyleSheetsUpdated):
452         New hooks for when a document is detached or a document's style sheets are updated.
453
454         * dom/Document.cpp:
455         (WebCore::Document::prepareForDestruction):
456         Inform the inspector so the CSSAgent can remove document related data.
457
458         * dom/DocumentStyleSheetCollection.h:
459         * dom/DocumentStyleSheetCollection.cpp:
460         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
461         Inform the inspector so the CSSAgent can push stylesheet related events.
462
463         (WebCore::DocumentStyleSheetCollection::activeStyleSheetsForInspector): Added.
464         CSSStyleSheets for the inspector include non-disabled author stylesheets
465         even if they are empty.
466
467         * inspector/InspectorCSSAgent.h:
468         * inspector/InspectorCSSAgent.cpp:
469         (WebCore::InspectorCSSAgent::reset):
470         (WebCore::InspectorCSSAgent::documentDetached):
471         Handling for the new list of known document to CSSStyleSheets map.
472
473         (WebCore::InspectorCSSAgent::enable):
474         When the CSS domain is enabled, tell the frontend about known stylesheets.
475
476         (WebCore::InspectorCSSAgent::activeStyleSheetsUpdated):
477         (WebCore::InspectorCSSAgent::setActiveStyleSheetsForDocument):
478         Diff the old list of known stylesheets to the new list of stylesheets
479         for an individual document. Then send appropriate added/removed events.
480
481         (WebCore::InspectorCSSAgent::collectAllStyleSheets):
482         (WebCore::InspectorCSSAgent::collectAllDocumentStyleSheets):
483         (WebCore::InspectorCSSAgent::collectStyleSheets):
484         Collect stylesheets recursively. A stylesheet may link to other stylesheets
485         through @import statements.
486
487         (WebCore::InspectorCSSAgent::getAllStyleSheets):
488         Use the new methods, this command should go away as it will no longer be useful.
489
490         (WebCore::InspectorCSSAgent::unbindStyleSheet):
491         (WebCore::InspectorCSSAgent::bindStyleSheet):
492         Create an InspectorStyleSheet from a CSSStyleSheet and add to the appropriate lists.
493         Likewise, unbinding will remove from the appropriate lists.
494
495         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
496         (WebCore::InspectorCSSAgent::detectOrigin):
497         When creating the inspector stylesheet, which is a <style> element,
498         it will push a StyleSheetAdded event. In the process of binding this
499         new stylesheet use the m_creatingViaInspectorStyleSheet to add it to
500         out list of Inspector Stylesheets.
501
502 2015-08-26  Myles C. Maxfield  <mmaxfield@apple.com>
503
504         Add comment to LocaleToScriptMappingDefault.cpp
505         <rdar://problem/22407296>
506
507         Unreviewed.
508
509         We currently map lang="zh" to USCRIPT_SIMPLIFIED_HAN, which is incorrect.
510         Instead, we should consult with an external source, such as the user's
511         language preferences.
512
513         * platform/text/LocaleToScriptMappingDefault.cpp:
514
515 2015-08-26  Chris Dumez  <cdumez@apple.com>
516
517         Distinguish Web IDL callback interfaces from Web IDL callback functions
518         https://bugs.webkit.org/show_bug.cgi?id=148434
519
520         Reviewed by Geoffrey Garen.
521
522         Distinguish Web IDL callback interfaces [1] from Web IDL callback
523         functions [2].
524
525         One Web-exposed difference is that when using a callback interface,
526         the user can pass either a function / callable object or a non-callable
527         object that has a method with the same name as the callback interface
528         operation:
529         https://heycam.github.io/webidl/#es-user-objects
530
531         When using a callback function, the user needs to pass a function /
532         callable object:
533         https://heycam.github.io/webidl/#es-callback-function
534
535         This patch adds a new [Callback=FunctionOnly] IDL extended attribute to
536         indicate that a callback interface should be function-only (i.e. a callback
537         function in the latest Web IDL specification). Without this IDL extended
538         attribute, the callback interface will be treated as a regular callback
539         interface. This will be needed for Bug 148415, as NodeFilter should be
540         an actual callback interface.
541
542         Note that longer term, we should really drop the old-style
543         [Callback=FunctionOnly] extendd attribute and use actual IDL callback
544         functions as per the latest Web IDL specification. However, I did not
545         do this in this patch to minimize patch size.
546
547         This patch adds Callback=FunctionOnly] IDL extended attribute to all
548         our pre-existing callback interfaces so that there is no behavior
549         change.
550
551        [1] https://heycam.github.io/webidl/#dfn-callback-interface
552        [2] https://heycam.github.io/webidl/#idl-callback-functions
553
554         * Modules/geolocation/PositionCallback.idl:
555         * Modules/geolocation/PositionErrorCallback.idl:
556         * Modules/mediastream/MediaStreamTrackSourcesCallback.idl:
557         * Modules/mediastream/NavigatorUserMediaErrorCallback.idl:
558         * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
559         * Modules/mediastream/RTCPeerConnectionErrorCallback.idl:
560         * Modules/mediastream/RTCSessionDescriptionCallback.idl:
561         * Modules/mediastream/RTCStatsCallback.idl:
562         * Modules/notifications/NotificationPermissionCallback.idl:
563         * Modules/quota/StorageErrorCallback.idl:
564         * Modules/quota/StorageQuotaCallback.idl:
565         * Modules/quota/StorageUsageCallback.idl:
566         * Modules/webaudio/AudioBufferCallback.idl:
567         * Modules/webdatabase/DatabaseCallback.idl:
568         * Modules/webdatabase/SQLStatementCallback.idl:
569         * Modules/webdatabase/SQLStatementErrorCallback.idl:
570         * Modules/webdatabase/SQLTransactionCallback.idl:
571         * Modules/webdatabase/SQLTransactionErrorCallback.idl:
572         * bindings/js/JSCallbackData.cpp:
573         (WebCore::JSCallbackData::invokeCallback):
574         * bindings/js/JSCallbackData.h:
575         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
576         (WebCore::JSSQLStatementErrorCallback::handleEvent):
577         * bindings/scripts/CodeGenerator.pm:
578         (trim):
579         (IsFunctionOnlyCallbackInterface):
580         * bindings/scripts/CodeGeneratorJS.pm:
581         (GenerateParametersCheckExpression):
582         (GenerateParametersCheck):
583         (GenerateCallbackImplementation):
584         * bindings/scripts/IDLAttributes.txt:
585         * bindings/scripts/test/GObject/WebKitDOMTestCallbackFunction.cpp: Added.
586         (WebKit::kit):
587         (WebKit::core):
588         (WebKit::wrapTestCallbackFunction):
589         (webkit_dom_test_callback_function_finalize):
590         (webkit_dom_test_callback_function_constructor):
591         (webkit_dom_test_callback_function_class_init):
592         (webkit_dom_test_callback_function_init):
593         (webkit_dom_test_callback_function_callback_with_no_param):
594         (webkit_dom_test_callback_function_callback_with_array_param):
595         (webkit_dom_test_callback_function_callback_with_serialized_script_value_param):
596         (webkit_dom_test_callback_function_callback_with_non_bool_return_type):
597         (webkit_dom_test_callback_function_callback_with_string_list):
598         (webkit_dom_test_callback_function_callback_with_boolean):
599         (webkit_dom_test_callback_function_callback_requires_this_to_pass):
600         * bindings/scripts/test/GObject/WebKitDOMTestCallbackFunction.h: Added.
601         * bindings/scripts/test/GObject/WebKitDOMTestCallbackFunctionPrivate.h: Copied from Source/WebCore/css/MediaQueryListListener.idl.
602         * bindings/scripts/test/JS/JSTestCallback.cpp:
603         (WebCore::JSTestCallback::callbackWithNoParam):
604         (WebCore::JSTestCallback::callbackWithArrayParam):
605         (WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
606         (WebCore::JSTestCallback::callbackWithStringList):
607         (WebCore::JSTestCallback::callbackWithBoolean):
608         (WebCore::JSTestCallback::callbackRequiresThisToPass):
609         * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: Copied from Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp.
610         (WebCore::JSTestCallbackFunction::JSTestCallbackFunction):
611         (WebCore::JSTestCallbackFunction::~JSTestCallbackFunction):
612         (WebCore::JSTestCallbackFunction::callbackWithNoParam):
613         (WebCore::JSTestCallbackFunction::callbackWithArrayParam):
614         (WebCore::JSTestCallbackFunction::callbackWithSerializedScriptValueParam):
615         (WebCore::JSTestCallbackFunction::callbackWithStringList):
616         (WebCore::JSTestCallbackFunction::callbackWithBoolean):
617         (WebCore::JSTestCallbackFunction::callbackRequiresThisToPass):
618         * bindings/scripts/test/JS/JSTestCallbackFunction.h: Added.
619         (WebCore::JSTestCallbackFunction::create):
620         (WebCore::JSTestCallbackFunction::scriptExecutionContext):
621         * bindings/scripts/test/JS/JSTestObj.cpp:
622         (WebCore::JSTestObjConstructor::constructJSTestObj):
623         (WebCore::JSTestObjConstructor::finishCreation):
624         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
625         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
626         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
627         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
628         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
629         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg):
630         (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg):
631         (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
632         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
633         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
634         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): Deleted.
635         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10): Deleted.
636         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
637         (WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
638         * bindings/scripts/test/ObjC/DOMTestCallbackFunction.h: Copied from Source/WebCore/html/VoidCallback.idl.
639         * bindings/scripts/test/ObjC/DOMTestCallbackFunction.mm: Added.
640         (-[DOMTestCallbackFunction dealloc]):
641         (-[DOMTestCallbackFunction finalize]):
642         (-[DOMTestCallbackFunction callbackWithNoParam]):
643         (-[DOMTestCallbackFunction callbackWithArrayParam:]):
644         (-[DOMTestCallbackFunction callbackWithSerializedScriptValueParam:strArg:]):
645         (-[DOMTestCallbackFunction callbackWithNonBoolReturnType:]):
646         (-[DOMTestCallbackFunction customCallback:class6Param:]):
647         (-[DOMTestCallbackFunction callbackWithStringList:]):
648         (-[DOMTestCallbackFunction callbackWithBoolean:]):
649         (-[DOMTestCallbackFunction callbackRequiresThisToPass:testNodeParam:]):
650         (core):
651         (kit):
652         * bindings/scripts/test/ObjC/DOMTestCallbackFunctionInternal.h: Copied from Source/WebCore/html/VoidCallback.idl.
653         * bindings/scripts/test/TestCallbackFunction.idl: Copied from Source/WebCore/Modules/webdatabase/DatabaseCallback.idl.
654         * bindings/scripts/test/TestObj.idl:
655         * css/MediaQueryListListener.idl:
656         * dom/RequestAnimationFrameCallback.idl:
657         * dom/StringCallback.idl:
658         * html/VoidCallback.idl:
659
660 2015-08-26  Beth Dakin  <bdakin@apple.com>
661
662         REGRESSION: Safari navigates after a cancelled force click
663         https://bugs.webkit.org/show_bug.cgi?id=148491
664         -and corresponding-
665         rdar://problem/22394323
666
667         Reviewed by Tim Horton.
668
669         This regression was introduced on El Capitan because AppKit sends ‘cancel’ to 
670         gesture recognizer BEFORE it sends the mouseUp. So the ImmediateActionStage needs 
671         to track whether a cancel happened after updates or without any updates since they 
672         signify different things. 
673
674         Don’t perform default behaviors when the stage is ActionCancelledAfterUpdate.
675         * page/EventHandler.cpp:
676         (WebCore::EventHandler::handleMouseReleaseEvent):
677
678         New possible stages, and new getter for the current stage.
679         * page/EventHandler.h:
680         (WebCore::EventHandler::immediateActionStage):
681
682 2015-08-26  Anders Carlsson  <andersca@apple.com>
683
684         Fix failing tests.
685
686         Add fallback code for the case when iterations is 0.
687
688         * platform/graphics/filters/FEConvolveMatrix.cpp:
689         (WebCore::FEConvolveMatrix::platformApplySoftware):
690
691 2015-08-26  Anders Carlsson  <andersca@apple.com>
692
693         Use WorkQueue::concurrentApply in FEConvolveMatrix
694         https://bugs.webkit.org/show_bug.cgi?id=148490
695
696         Reviewed by Tim Horton.
697
698         Using WorkQueue::concurrentApply lets us simplify the code a lot, and measurements show
699         no difference in performance. The striding has been slightly tweaked to make more sense
700         (we no longer divide up the remainder across some of the iterations, instead we just process 
701         it separately last).
702
703         * platform/graphics/filters/FEConvolveMatrix.cpp:
704         (WebCore::FEConvolveMatrix::platformApplySoftware):
705         (WebCore::FEConvolveMatrix::setInteriorPixelsWorker): Deleted.
706         * platform/graphics/filters/FEConvolveMatrix.h:
707
708 2015-08-26  Eric Carlson  <eric.carlson@apple.com>
709
710         Media Session: make MediaSessionMetadata a class
711         https://bugs.webkit.org/show_bug.cgi?id=148486
712
713         Reviewed by Jer Noble.
714
715         No new tests, no observable changes.
716
717         * Modules/mediasession/MediaSessionMetadata.h: Make it a class.
718         * page/ChromeClient.h: struct MediaSessionMetadata -> class MediaSessionMetadata.
719
720 2015-08-26  Per Arne Vollan  <peavo@outlook.com>
721
722         [Curl] Deadlock when downloading.
723         https://bugs.webkit.org/show_bug.cgi?id=148438
724
725         Reviewed by Alex Christensen.
726
727         A thread should not try locking when it already has got the lock,
728         this will create a deadlock.
729
730         * platform/network/curl/CurlDownload.cpp:
731         (WebCore::CurlDownloadManager::startThreadIfNeeded):
732         (WebCore::CurlDownloadManager::stopThread):
733         (WebCore::CurlDownloadManager::stopThreadIfIdle):
734         (WebCore::CurlDownload::~CurlDownload):
735         (WebCore::CurlDownload::moveFileToDestination):
736         (WebCore::CurlDownload::didFail):
737         * platform/network/curl/CurlDownload.h:
738         (WebCore::CurlDownloadManager::getMultiHandle):
739         (WebCore::CurlDownloadManager::runThread):
740         (WebCore::CurlDownloadManager::setRunThread):
741
742 2015-08-26  Jinyoung Hur  <hur.ims@navercorp.com>
743
744         [Cairo] Accelerated canvas should fall back to non-accelerated canvas on creation failure
745         https://bugs.webkit.org/show_bug.cgi?id=148476
746
747         Reviewed by Brent Fulgham.
748
749         Cairo-gl backed surface might fail to be created with large dimensions, e.g., 50x32000, depending on 
750         the gl implementations. In case of Mac port, ImageBufferCG falls back to a software surface when it fails to create
751         IOSurface, an accelerated surface. Though the unaccelerated surface could be slower, it would be better
752         to create a working surface than nothing.
753
754         Because the max dimensions of gl texture might vary among the OpenGL implementations, below test can't guarantee
755         the verification of behavior difference depending on the running platform.
756
757         Test: fast/canvas/canvas-large-dimensions.html
758
759         * platform/graphics/cairo/ImageBufferCairo.cpp:
760         (WebCore::ImageBuffer::ImageBuffer):
761
762 2015-08-26  Commit Queue  <commit-queue@webkit.org>
763
764         Unreviewed, rolling out r188960.
765         https://bugs.webkit.org/show_bug.cgi?id=148479
766
767         Broke all the tests (Requested by ap on #webkit).
768
769         Reverted changeset:
770
771         "Add some new emoji with modifiers and new sequence."
772         https://bugs.webkit.org/show_bug.cgi?id=148202
773         http://trac.webkit.org/changeset/188960
774
775 2015-08-25  Philippe Normand  <pnormand@igalia.com>
776
777         [GStreamer] "method" property for the webkitwebsrc element
778         https://bugs.webkit.org/show_bug.cgi?id=148433
779
780         Reviewed by Carlos Garcia Campos.
781
782         This new property is sometimes used by the GStreamer uridownloader
783         when time synchronization is required for DASH. The same property
784         was added to the souphttpsrc element.
785
786         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
787         (webKitWebSrcSetProperty):
788         (webKitWebSrcGetProperty):
789         (webKitWebSrcStart):
790
791 2015-08-26  Enrica Casucci  <enrica@apple.com>
792
793         Add some new emoji with modifiers and new sequence.
794         https://bugs.webkit.org/show_bug.cgi?id=148202
795         rdar://problem/21849857
796
797         Reviewed by Sam Weinig.
798
799         Adding support for some new emoji with modifiers and
800         one new emoji sequence.
801
802         * platform/graphics/FontCascade.cpp:
803         (WebCore::FontCascade::characterRangeCodePath):
804         * platform/text/CharacterProperties.h:
805         (WebCore::isEmojiGroupCandidate):
806         (WebCore::isEmojiModifier):
807         * platform/text/TextBreakIterator.cpp:
808         (WebCore::cursorMovementIterator):
809
810 2015-08-25  Nan Wang  <n_wang@apple.com>
811
812         AX: Enable accessibility/aria-controls.html test for mac
813         https://bugs.webkit.org/show_bug.cgi?id=148458
814
815         Reviewed by Chris Fleizach.
816
817         Re-enabled accessibility/aria-controls.html test for mac.
818
819         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
820         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
821
822 2015-08-25  Zalan Bujtas  <zalan@apple.com>
823
824         Using the filter functional notation for background images results in wrong background-size rendering
825         https://bugs.webkit.org/show_bug.cgi?id=148221
826         rdar://problem/22379518
827
828         Reviewed by Daniel Bates.
829
830         Do not ignore the size argument, when the filter image is being drawn onto the context.
831         When the size is ignored, we end up painting the image with its native size while the filter
832         is applied on the size of the generated image.
833
834         Test: fast/filter-image/background-filter-image.html
835
836         * css/CSSFilterImageValue.cpp:
837         (WebCore::CSSFilterImageValue::image):
838
839 2015-08-25  Carlos Garcia Campos  <cgarcia@igalia.com>
840
841         IconDatabase: syncThreadMainLoop() is unlocking m_syncLock twice when thread termination is requested
842         https://bugs.webkit.org/show_bug.cgi?id=148429
843
844         Reviewed by Filip Pizlo.
845
846         The lock is released an locked on every loop iteration, and then
847         unlocked again after the loop. There's an early break in the loop
848         when thread termination is requested that happens after the lock
849         is released but before is locked again, so that the unlock after
850         the loop is trying to unlock the lock again. This was not a
851         problem before, but the new Lock has an assertion to ensure that a
852         lock is not released twice.
853
854         * loader/icon/IconDatabase.cpp:
855         (WebCore::IconDatabase::syncThreadMainLoop): Clean up the thread
856         and return instead of breaking the loop when thread termination is
857         requested.
858
859 2015-08-25  Nan Wang  <n_wang@apple.com>
860
861         [Mac] accessibility/document-attributes.html fails
862         https://bugs.webkit.org/show_bug.cgi?id=116636
863
864         Reviewed by Chris Fleizach.
865
866         Re-enabled accessibility/document-attributes.html test.
867
868         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
869         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
870
871 2015-08-25  Csaba Osztrogonác  <ossy@webkit.org>
872
873         Fix the !ENABLE(VIDEO) build after r188693
874         https://bugs.webkit.org/show_bug.cgi?id=148424
875
876         Reviewed by Tim Horton.
877
878         * page/ChromeClient.h:
879
880 2015-08-25  Eric Carlson  <eric.carlson@apple.com>
881
882         [iOS] Don't clear AVPlayerItem when pausing if AirPlay is active
883         https://bugs.webkit.org/show_bug.cgi?id=148319
884
885         Reviewed by Jer Noble.
886
887         * html/HTMLMediaElement.cpp:
888         (WebCore::HTMLMediaElement::purgeBufferedDataIfPossible): Do nothing if the session
889           is allowed to load data when in the background and we are not under memory pressure.
890
891         * platform/audio/ios/MediaSessionManagerIOS.mm:
892         (WebCore::MediaSessionManageriOS::sessionCanLoadMedia): Call base class.
893
894 2015-08-25  Csaba Osztrogonác  <ossy@webkit.org>
895
896         Fix the !ENABLE(CSS_REGIONS) build after r188663
897         https://bugs.webkit.org/show_bug.cgi?id=148425
898
899         Reviewed by Chris Dumez.
900
901         * bindings/js/JSDOMNamedFlowCollectionCustom.cpp:
902
903 2015-08-24  Brent Fulgham  <bfulgham@apple.com>
904
905         Wheel events stop propagating when target element is removed from DOM
906         https://bugs.webkit.org/show_bug.cgi?id=148384
907         <rdar://problem/19732211>
908
909         Reviewed by David Hyatt.
910
911         Tested by tiled-drawing/scrolling/latched-to-deleted-node.html
912
913         We need to reset our latching state if the targeted node is removed from the DOM.
914         Add a check in 'platformPrepareForWheelEvents' that checks if the expected latching
915         target node was already removed from the DOM. If it was, we should not send events
916         to it, and should reset latching state so we can attach to the next relevant node.
917
918         * dom/Element.cpp:
919         (WebCore::Element::removedFrom): Remove any latched wheel event state objects that
920         match the current element.
921         * page/MainFrame.cpp:
922         (WebCore::MainFrame::removeLatchingStateForTarget): Remove any latched wheel event
923         state structures that match the passed wheel event target.
924         * page/MainFrame.h:
925
926 2015-08-25  Wenson Hsieh  <wenson_hsieh@apple.com>
927
928         Fix crash due to search field disappearing when showing results menu
929         https://bugs.webkit.org/show_bug.cgi?id=148410
930         <rdar://problem/22399850>
931
932         Reviewed by Brent Fulgham.
933
934         When clicking on the results button of a search field that hides upon being focused, WebKit will crash because we
935         attempt to toggle the results menu using the search field's renderer which is null. This is addressed by adding a null
936         check to make sure the search field has not been hidden before toggling the menu.
937
938         Test: fast/forms/search/search-results-hidden-crash.html
939
940         * html/shadow/TextControlInnerElements.cpp:
941         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): Add a null check for the search field's renderer.
942
943 2015-08-25  Chris Dumez  <cdumez@apple.com>
944
945         compareDocumentPosition() should report PRECEDING or FOLLOWING information even if nodes are disconnected
946         https://bugs.webkit.org/show_bug.cgi?id=119316
947
948         Reviewed by Darin Adler.
949
950         As the latest DOM specification, compareDocumentPosition() should report
951         PRECEDING or FOLLOWING information even if nodes are disconnected:
952         - http://dom.spec.whatwg.org/#dom-node-comparedocumentposition
953
954         This behavior is consistent with both IE10, Firefox and Chrome.
955
956         The implementation relies on the comparison of cryptographic hashes
957         (SHA1) of the Node pointers so that the results returned by the function
958         are consistent. We don't compare Node pointers directly as it was done
959         previously in r153660 to avoid leaking information about our memory
960         model to the Web.
961
962         Test: fast/dom/compare-document-position-disconnected-nodes.html
963         W3C Test suite: http://w3c-test.org/dom/nodes/Node-compareDocumentPosition.html
964
965         * dom/Node.cpp:
966         (WebCore::hashPointer):
967         (WebCore::compareDetachedElementsPosition):
968         (WebCore::Node::compareDocumentPosition):
969
970 2015-08-25  Chris Dumez  <cdumez@apple.com>
971
972         Add support for callback interfaces using other callback names than "handleEvent"
973         https://bugs.webkit.org/show_bug.cgi?id=148418
974
975         Reviewed by Ryosuke Niwa.
976
977         Add support for callback interfaces using other callback names than
978         "handleEvent" [1].
979
980         This is a pre-requirement for Bug 148415, as NodeFilter's callback
981         function name is "acceptNode":
982         - https://dom.spec.whatwg.org/#interface-nodefilter
983
984         [1] https://heycam.github.io/webidl/#es-user-objects
985
986         * bindings/js/JSCallbackData.cpp:
987         (WebCore::JSCallbackData::invokeCallback):
988         * bindings/js/JSCallbackData.h:
989         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
990         (WebCore::JSSQLStatementErrorCallback::handleEvent):
991         * bindings/scripts/CodeGeneratorJS.pm:
992         (GenerateCallbackImplementation):
993         * bindings/scripts/test/JS/JSTestCallback.cpp:
994         (WebCore::JSTestCallback::callbackWithNoParam):
995         (WebCore::JSTestCallback::callbackWithArrayParam):
996         (WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
997         (WebCore::JSTestCallback::callbackWithStringList):
998         (WebCore::JSTestCallback::callbackWithBoolean):
999         (WebCore::JSTestCallback::callbackRequiresThisToPass):
1000
1001 2015-08-25  Chris Dumez  <cdumez@apple.com>
1002
1003         Get rid of custom bindings for RequestAnimationFrameCallback.handleEvent()
1004         https://bugs.webkit.org/show_bug.cgi?id=148417
1005
1006         Reviewed by Sam Weinig.
1007
1008         Get rid of custom bindings for RequestAnimationFrameCallback.handleEvent()
1009         by improving the bindings generator. In this case, the problem was that the
1010         bindings generator did not know how to convert a double parameter into a
1011         JSValue. The new code leverages the pre-existing NativeToJSValue subroutine
1012         to do the conversion instead of duplicating complex support here.
1013
1014         * WebCore.xcodeproj/project.pbxproj:
1015         * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp: Removed.
1016         * bindings/scripts/CodeGeneratorJS.pm:
1017         (GenerateCallbackImplementation):
1018         * bindings/scripts/test/JS/JSTestCallback.cpp:
1019         (WebCore::JSTestCallback::callbackWithArrayParam):
1020         (WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
1021         (WebCore::JSTestCallback::callbackWithStringList):
1022         (WebCore::JSTestCallback::callbackWithBoolean):
1023         (WebCore::JSTestCallback::callbackRequiresThisToPass):
1024         * dom/RequestAnimationFrameCallback.idl:
1025
1026 2015-08-24  Jinyoung Hur  <hur.ims@navercorp.com>
1027
1028         Clear cairo-gl surface for initialization
1029         https://bugs.webkit.org/show_bug.cgi?id=148307
1030
1031         Reviewed by Martin Robinson.
1032
1033         A cairo-gl surface that is created from an uninitialized texture, should be cleared before use.
1034         A texture memory created by calling glTexImage2D with null data parameter, is uninitialized.
1035         And cairo_gl_surface_create_for_texture doesn't clear the provided texture for initialization.
1036         So it seems safe to clear the surface explicitly.
1037
1038         It is hard to verify this behavior change because the texture memory status is undefined. Undefined means
1039         it can be either initialized or not, though mostly initialized in my experiences.
1040
1041         * platform/graphics/cairo/ImageBufferCairo.cpp:
1042         (WebCore::clearSurface):
1043         (WebCore::createCairoGLSurface):
1044
1045 2015-08-24  Myles C. Maxfield  <mmaxfield@apple.com>
1046
1047         Fix the build fixes in r188875 and r188874
1048
1049         Unreviewed.
1050
1051         * platform/graphics/cocoa/FontCacheCoreText.cpp:
1052         (WebCore::FontCache::createFontPlatformData):
1053         * platform/graphics/mac/FontCacheMac.mm:
1054         (WebCore::toNSFontTraits):
1055
1056 2015-08-24  Tim Horton  <timothy_horton@apple.com>
1057
1058         Try to fix the build.
1059
1060         * platform/graphics/cocoa/FontCacheCoreText.cpp:
1061         (WebCore::FontCache::createFontPlatformData):
1062
1063 2015-08-24  Tim Horton  <timothy_horton@apple.com>
1064
1065         Fix the build.
1066
1067         * platform/graphics/mac/FontCacheMac.mm:
1068         (WebCore::toNSFontWeight):
1069         (WebCore::toNSFontTraits):
1070         (WebCore::platformFontWithFamilySpecialCase):
1071
1072 2015-08-24  Myles C. Maxfield  <mmaxfield@apple.com>
1073
1074         Use Optionals in RenderBox height computations
1075         https://bugs.webkit.org/show_bug.cgi?id=147253
1076
1077         Reviewed by David Hyatt.
1078
1079         No new tests because there is no behavior change.
1080
1081         * rendering/RenderBox.cpp:
1082         (WebCore::RenderBox::constrainLogicalHeightByMinMax):
1083         (WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax):
1084         (WebCore::RenderBox::overrideContainingBlockContentLogicalWidth):
1085         (WebCore::RenderBox::overrideContainingBlockContentLogicalHeight):
1086         (WebCore::RenderBox::setOverrideContainingBlockContentLogicalWidth):
1087         (WebCore::RenderBox::setOverrideContainingBlockContentLogicalHeight):
1088         (WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing):
1089         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
1090         (WebCore::RenderBox::containingBlockLogicalHeightForContent):
1091         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
1092         (WebCore::RenderBox::computeLogicalHeight):
1093         (WebCore::RenderBox::computeLogicalHeightUsing):
1094         (WebCore::RenderBox::computeContentLogicalHeight):
1095         (WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing):
1096         (WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
1097         (WebCore::RenderBox::computePercentageLogicalHeight):
1098         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1099         (WebCore::RenderBox::availableLogicalHeight):
1100         (WebCore::RenderBox::availableLogicalHeightUsing):
1101         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
1102         (WebCore::logicalWidthIsResolvable):
1103         (WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock):
1104         (WebCore::RenderBox::hasDefiniteLogicalHeight):
1105         * rendering/RenderBox.h:
1106         * rendering/RenderFlexibleBox.cpp:
1107         (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
1108         (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
1109         (WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
1110         * rendering/RenderFlexibleBox.h:
1111         * rendering/RenderFlowThread.cpp:
1112         (WebCore::RenderFlowThread::addForcedRegionBreak):
1113         * rendering/RenderGrid.cpp:
1114         (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
1115         (WebCore::RenderGrid::logicalContentHeightForChild):
1116         (WebCore::RenderGrid::minContentForChild):
1117         (WebCore::RenderGrid::maxContentForChild):
1118         (WebCore::RenderGrid::layoutGridItems):
1119         (WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
1120         * rendering/RenderMultiColumnSet.cpp:
1121         (WebCore::RenderMultiColumnSet::calculateMaxColumnHeight):
1122         * rendering/RenderTable.cpp:
1123         (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
1124
1125 2015-08-24  Anders Carlsson  <andersca@apple.com>
1126
1127         Fix failing tests.
1128         
1129         It's OK to call runStateMachine with an idle state. Just bail early when that happens.
1130
1131         * Modules/webdatabase/SQLTransactionStateMachine.h:
1132         (WebCore::SQLTransactionStateMachine<T>::runStateMachine):
1133
1134 2015-08-24  Myles C. Maxfield  <mmaxfield@apple.com>
1135
1136         [Cocoa] Unify FontCache
1137         https://bugs.webkit.org/show_bug.cgi?id=148358
1138
1139         Reviewed by Antti Koivisto.
1140
1141         Move all the duplicate code to FontCacheCoreText.
1142
1143         No new tests because there is no behavior change.
1144
1145         * platform/graphics/FontCache.h:
1146         * platform/graphics/cocoa/FontCacheCoreText.cpp:
1147         (WebCore::fontWeightFromCoreText):
1148         (WebCore::toTraitsMask):
1149         (WebCore::isFontWeightBold):
1150         (WebCore::toCoreTextFontWeight):
1151         (WebCore::invalidateFontCache):
1152         (WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
1153         (WebCore::FontCache::platformInit):
1154         (WebCore::FontCache::systemFontFamilies):
1155         (WebCore::computeTraits):
1156         (WebCore::computeNecessarySynthesis):
1157         (WebCore::fontWhitelist):
1158         (WebCore::FontCache::setFontWhitelist):
1159         (WebCore::platformFontLookupWithFamily):
1160         (WebCore::fontWithFamily):
1161         (WebCore::shouldAutoActivateFontIfNeeded):
1162         (WebCore::FontCache::createFontPlatformData):
1163         (WebCore::fallbackDedupSet):
1164         (WebCore::FontCache::platformPurgeInactiveFontData):
1165         (WebCore::FontCache::systemFallbackForCharacters):
1166         * platform/graphics/ios/FontCacheIOS.mm:
1167         (WebCore::platformInvalidateFontCache):
1168         (WebCore::getSystemFontFallbackForCharacters):
1169         (WebCore::platformLookupFallbackFont):
1170         (WebCore::FontCache::lastResortFallbackFont):
1171         (WebCore::FontCache::weightOfCTFont):
1172         (WebCore::platformFontWithFamilySpecialCase):
1173         (WebCore::FontCache::platformInit): Deleted.
1174         (WebCore::isFontWeightBold): Deleted.
1175         (WebCore::FontCache::getSystemFontFallbackForCharacters): Deleted.
1176         (WebCore::FontCache::systemFallbackForCharacters): Deleted.
1177         (WebCore::FontCache::systemFontFamilies): Deleted.
1178         (WebCore::createCTFontWithTextStyle): Deleted.
1179         (WebCore::createCTFontWithFamilyNameAndWeight): Deleted.
1180         (WebCore::toCTFontWeight): Deleted.
1181         (WebCore::FontCache::createFontPlatformData): Deleted.
1182         * platform/graphics/mac/FontCacheMac.mm:
1183         (WebCore::appkitWeightToFontWeight):
1184         (WebCore::toNSFontTraits):
1185         (WebCore::platformFontWithFamilySpecialCase):
1186         (WebCore::platformFontWithFamily):
1187         (WebCore::platformInvalidateFontCache):
1188         (WebCore::platformLookupFallbackFont):
1189         (WebCore::FontCache::lastResortFallbackFont):
1190         (WebCore::toCoreTextFontWeight): Deleted.
1191         (WebCore::fontWhitelist): Deleted.
1192         (WebCore::FontCache::setFontWhitelist): Deleted.
1193         (WebCore::fontWithFamilySpecialCase): Deleted.
1194         (WebCore::fontWithFamily): Deleted.
1195         (WebCore::invalidateFontCache): Deleted.
1196         (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Deleted.
1197         (WebCore::FontCache::platformInit): Deleted.
1198         (WebCore::isAppKitFontWeightBold): Deleted.
1199         (WebCore::shouldAutoActivateFontIfNeeded): Deleted.
1200         (WebCore::fallbackDedupSet): Deleted.
1201         (WebCore::FontCache::platformPurgeInactiveFontData): Deleted.
1202         (WebCore::lookupCTFont): Deleted.
1203         (WebCore::FontCache::systemFallbackForCharacters): Deleted.
1204         (WebCore::FontCache::systemFontFamilies): Deleted.
1205         (WebCore::FontCache::createFontPlatformData): Deleted.
1206         * rendering/RenderThemeIOS.mm:
1207         (WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
1208         (WebCore::fromCTFontWeight): Deleted.
1209
1210 2015-08-24  Wenson Hsieh  <wenson_hsieh@apple.com>
1211
1212         Unreviewed, attempt to fix iOS build after r188860
1213
1214         * page/WheelEventDeltaFilter.cpp:
1215         (WebCore::WheelEventDeltaFilter::isFilteringDeltas): Moved implementation out of header.
1216         (WebCore::WheelEventDeltaFilter::filteredDelta): Moved implementation out of header.
1217         * page/WheelEventDeltaFilter.h:
1218         (WebCore::WheelEventDeltaFilter::isFilteringDeltas): Deleted.
1219         (WebCore::WheelEventDeltaFilter::filteredDelta): Deleted.
1220
1221 2015-08-21  Anders Carlsson  <andersca@apple.com>
1222
1223         Remove unused return values from SQLTransaction state functions
1224         https://bugs.webkit.org/show_bug.cgi?id=148344
1225
1226         Reviewed by Tim Horton.
1227
1228         * Modules/webdatabase/SQLTransaction.cpp:
1229         (WebCore::SQLTransaction::deliverTransactionCallback):
1230         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
1231         (WebCore::SQLTransaction::deliverStatementCallback):
1232         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
1233         (WebCore::SQLTransaction::deliverSuccessCallback):
1234         (WebCore::SQLTransaction::unreachableState):
1235         * Modules/webdatabase/SQLTransaction.h:
1236         * Modules/webdatabase/SQLTransactionBackend.cpp:
1237         (WebCore::SQLTransactionBackend::acquireLock):
1238         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
1239         (WebCore::SQLTransactionBackend::runStatements):
1240         (WebCore::SQLTransactionBackend::cleanupAndTerminate):
1241         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
1242         (WebCore::SQLTransactionBackend::unreachableState):
1243         * Modules/webdatabase/SQLTransactionBackend.h:
1244         * Modules/webdatabase/SQLTransactionStateMachine.h:
1245         (WebCore::SQLTransactionStateMachine<T>::runStateMachine):
1246
1247 2015-08-24  Wenson Hsieh  <wenson_hsieh@apple.com>
1248
1249         Unreviewed, fix build after r188860
1250
1251         * page/mac/WheelEventDeltaFilterMac.mm:
1252         (WebCore::WheelEventDeltaFilterMac::updateFromDelta): Convert argument explicitly to an NSPoint.
1253
1254 2015-08-24  Wenson Hsieh  <wenson_hsieh@apple.com>
1255
1256         Use _NSScrollingPredominantAxisFilter for wheel event filtering on Mac
1257         https://bugs.webkit.org/show_bug.cgi?id=147320
1258
1259         Reviewed by Simon Fraser.
1260
1261         Refactored to use a predominant axis filter instead of a predominant axis tracker. This allows us to
1262         employ AppKit's _NSScrollingPredominantAxisFilter when possible, and use the wheel event delta tracker
1263         as a fallback. Here, we refactor EventHandler to use the new filters for overflow scrolling and replace
1264         the MainFrame's WheelEventDeltaTracker with an appropriate type of WheelEventDeltaFilter.
1265
1266         In the case where an _NSScrollingPredominantAxisFilter is unavailable, the platform-invariant wheel
1267         event delta filter simply uses the existing wheel event delta tracker to compute the current predominant
1268         axis. It uses the predominant axis to determine which axis (if any) should have its delta zeroed out.
1269
1270         This patch also introduces NSScrollingInputFilterSPI.h, which either imports the internal input filter
1271         header from AppKit or declares relevant interfaces and functions.
1272
1273         No new tests, since this change does not add new functionality.
1274
1275         * CMakeLists.txt: Add page/WheelEventDeltaFilter.cpp.
1276         * WebCore.vcxproj/WebCore.vcxproj: Add WheelEventDeltaFilter.cpp and WheelEventDeltaFilter.h.
1277         * WebCore.vcxproj/WebCore.vcxproj.filters: Add WheelEventDeltaFilter.cpp and WheelEventDeltaFilter.h.
1278         * WebCore.xcodeproj/project.pbxproj: Add WheelEventDeltaFilter.cpp, WheelEventDeltaFilter.h, and their Mac counterparts.
1279         * page/EventHandler.cpp:
1280         (WebCore::didScrollInScrollableArea): Refactored to no longer handle axes separately.
1281         (WebCore::handleWheelEventInAppropriateEnclosingBox): Ditto.
1282         (WebCore::EventHandler::platformRecordWheelEvent): Refactored to update the wheel delta filter.
1283         (WebCore::EventHandler::clearLatchedState): Ditto.
1284         (WebCore::EventHandler::defaultWheelEventHandler): Refactored to use wheel delta filters. No longer splits wheel events
1285                 and handles them on separate axes.
1286         (WebCore::didScrollInScrollableAreaForSingleAxis): Deleted.
1287         (WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis): Deleted.
1288         * page/EventHandler.h:
1289         * page/MainFrame.cpp:
1290         (WebCore::MainFrame::MainFrame): Initializes the appropriate type of WheelEventDeltaFilter.
1291         * page/MainFrame.h:
1292         * page/WheelEventDeltaFilter.cpp: Added.
1293         (WebCore::WheelEventDeltaFilter::WheelEventDeltaFilter):
1294         (WebCore::WheelEventDeltaFilter::~WheelEventDeltaFilter):
1295         (WebCore::WheelEventDeltaFilter::create):
1296         (WebCore::BasicWheelEventDeltaFilter::BasicWheelEventDeltaFilter):
1297         (WebCore::BasicWheelEventDeltaFilter::updateFromDelta):
1298         (WebCore::BasicWheelEventDeltaFilter::beginFilteringDeltas):
1299         (WebCore::BasicWheelEventDeltaFilter::endFilteringDeltas):
1300         (WebCore::deltaIsPredominantlyVertical):
1301         (WebCore::BasicWheelEventDeltaFilter::dominantScrollGestureDirection):
1302         * page/WheelEventDeltaFilter.h: Refactored WheelEventDeltaTracker logic to work as a filter instead.
1303         * page/mac/EventHandlerMac.mm:
1304         (WebCore::EventHandler::platformPrepareForWheelEvents): Refactored to use wheel delta filters.
1305         (WebCore::EventHandler::platformRecordWheelEvent): Ditto.
1306         * page/mac/WheelEventDeltaFilterMac.h: Wraps the new _NSScrollingPredominantAxisFilter.
1307         * page/mac/WheelEventDeltaFilterMac.mm: Added.
1308         (WebCore::WheelEventDeltaFilterMac::WheelEventDeltaFilterMac):
1309         (WebCore::WheelEventDeltaFilterMac::beginFilteringDeltas):
1310         (WebCore::WheelEventDeltaFilterMac::updateFromDelta):
1311         (WebCore::WheelEventDeltaFilterMac::endFilteringDeltas):
1312         * platform/PlatformWheelEvent.h:
1313         (WebCore::PlatformWheelEvent::copyWithDeltas): Used to create a copy of the platform wheel event with filtered deltas.
1314         (WebCore::PlatformWheelEvent::copyIgnoringHorizontalDelta): Deleted. No longer necessary, since we won't be handling wheel
1315                 events on separate axes.
1316         (WebCore::PlatformWheelEvent::copyIgnoringVerticalDelta): Ditto.
1317         * platform/spi/mac/NSScrollingInputFilterSPI.h: Added.
1318
1319 2015-08-24  Michael Catanzaro  <mcatanzaro@igalia.com>
1320
1321         Unreviewed, fix typo in a comment ("unsused" -> "unused")
1322
1323         * bindings/scripts/CodeGeneratorGObject.pm:
1324         (GenerateFunction):
1325
1326 2015-08-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1327
1328         Unreviewed. Fix cairo performance regression introduced in r188379.
1329
1330         A missing break in a switch was making us to use High image
1331         interpolation quality by default.
1332
1333         * platform/graphics/cairo/PlatformContextCairo.cpp:
1334         (WebCore::PlatformContextCairo::drawSurfaceToContext): Add the
1335         missing break.
1336
1337 2015-08-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1338
1339         Unreviewed. Fix GObject DOM bindings API break test after r188809.
1340
1341         element.getElementsByTagName and element.getElementsByClassName
1342         were also changed in r188809 to return an HTMLCollection. The
1343         build didn't fail because we don't use those in our tests, but the
1344         API breaks need to be fixed too.
1345
1346         * bindings/gobject/WebKitDOMDeprecated.cpp:
1347         (webkit_dom_element_get_elements_by_tag_name):
1348         (webkit_dom_element_get_elements_by_tag_name_ns):
1349         (webkit_dom_element_get_elements_by_class_name):
1350         * bindings/gobject/WebKitDOMDeprecated.h:
1351         * bindings/gobject/WebKitDOMDeprecated.symbols:
1352         * bindings/gobject/webkitdom.symbols:
1353         * bindings/scripts/CodeGeneratorGObject.pm:
1354         (GetEffectiveFunctionName):
1355
1356 2015-08-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1357
1358         Unreviewed. Fix GObject DOM bindings API break test after r188735.
1359
1360         document.getElementsByClassName returns an HTMLCollection since
1361         r188735. So, rename it as
1362         webkit_dom_document_get_elements_by_class_name_as_html_collection,
1363         and deprecate the old method returning a NodeList.
1364
1365         * bindings/gobject/WebKitDOMDeprecated.cpp:
1366         (webkit_dom_document_get_elements_by_class_name): Use the
1367         implementation returning a NodeList.
1368         * bindings/gobject/WebKitDOMDeprecated.h:
1369         * bindings/gobject/WebKitDOMDeprecated.symbols: Add new symbols.
1370         * bindings/gobject/webkitdom.symbols: Ditto.
1371         * bindings/scripts/CodeGeneratorGObject.pm:
1372         (GetEffectiveFunctionName): Also check getElementsByClassName.
1373
1374 2015-08-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1375
1376         Unreviewed. Fix GTK+ build after r188711.
1377
1378         Since r188711 document.createNodeIterator and
1379         document.createTreeWalker, don't raise exceptions anymore. Keep
1380         the GError parameter even if it's ignored to not break the API
1381         compatibility.
1382
1383         * bindings/scripts/CodeGeneratorGObject.pm:
1384         (FunctionUsedToRaiseException):
1385         (GenerateFunction):
1386
1387 2015-08-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1388
1389         Unreviewed. Fix GTK+ build after r188809.
1390
1391         document.getElementsByTagName returns an HTMLCollection since
1392         r188809. So, rename it as
1393         webkit_dom_document_get_elements_by_tag_name_as_html_collection,
1394         and deprecate the old methods returning a NodeList.
1395
1396         * bindings/gobject/WebKitDOMDeprecated.cpp:
1397         (webkit_dom_document_get_elements_by_tag_name): Use the
1398         implementation returning a NodeList.
1399         (webkit_dom_document_get_elements_by_tag_name_ns): Ditto.
1400         * bindings/gobject/WebKitDOMDeprecated.h:
1401         * bindings/gobject/WebKitDOMDeprecated.symbols: Add new symbols.
1402         * bindings/gobject/webkitdom.symbols: Ditto.
1403         * bindings/scripts/CodeGeneratorGObject.pm:
1404         (GetEffectiveFunctionName): Bring back this method, now that we
1405         have deprecated API again and add the checks for
1406         getElementsByTagName methods.
1407         (GenerateFunction): Use GetEffectiveFunctionName().
1408
1409 2015-08-24  Myles C. Maxfield  <mmaxfield@apple.com>
1410
1411         @font-face related cleanup
1412         https://bugs.webkit.org/show_bug.cgi?id=148355
1413
1414         Reviewed by Darin Adler.
1415
1416         This patch cleans up much of our code related to web fonts. In general, it
1417         migrates to using C++ for-each style loops, uses Ref instead of RefPtr when
1418         things can't be nullptr, migrates to C++ Rvalue-references instead of
1419         PassRefPtr, and refactors CSSFontSelector::addFontFaceRule() to use helper
1420         functions.
1421
1422         No new tests because there is no behavior change.
1423
1424         * css/CSSFontFace.cpp:
1425         (WebCore::CSSFontFace::fontLoaded): Use a C++ for-each loop.
1426         * css/CSSFontFace.h:
1427         (WebCore::CSSFontFace::create): Use C++ Rvalue-references instead of
1428         PassRefPtr.
1429         (WebCore::CSSFontFace::CSSFontFace): Ditto.
1430         * css/CSSFontSelector.cpp:
1431         (WebCore::computeTraitsMask): Migrated a chunk of
1432         CSSFontSelector::addFontFaceRule() into this helper function.
1433         (WebCore::createFontFace): Ditto.
1434         (WebCore::familyNameFromPrimitive): Ditto.
1435         (WebCore::CSSFontSelector::addFontFaceRule): Call the newly-created helper
1436         functions. In addition, migrate to Refs instead of RefPtrs.
1437         (WebCore::compareFontFaces): Migrate to references instead of pointers.
1438         (WebCore::CSSFontSelector::getFontFace): Migrate to Refs instead of
1439         RefPtrs. Also use C++ for-each loops.
1440         * css/CSSFontSelector.h:
1441         * css/CSSSegmentedFontFace.cpp:
1442         (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): Use C++ for-each
1443         loops.
1444         (WebCore::CSSSegmentedFontFace::isValid): Ditto.
1445         (WebCore::CSSSegmentedFontFace::appendFontFace): Migrate to Rvalue-
1446         references instead of PassRefPtr.
1447         * css/CSSSegmentedFontFace.h:
1448         * platform/graphics/FontCache.h:
1449         * platform/graphics/cocoa/FontCacheCoreText.cpp:
1450         (WebCore::FontCache::getTraitsInFamily): Return the result instead of being
1451         passed an out parameter.
1452         * platform/graphics/freetype/FontCacheFreeType.cpp:
1453         (WebCore::FontCache::getTraitsInFamily): Ditto.
1454         * platform/graphics/win/FontCacheWin.cpp:
1455         (WebCore::traitsInFamilyEnumProc): Ditto.
1456         (WebCore::FontCache::getTraitsInFamily): Ditto.
1457
1458 2015-08-23  Andy Estes  <aestes@apple.com>
1459
1460         [Content Filtering] REGRESSION (r182356): Provisional URL is incorrect in didReceiveServerRedirectForProvisionalLoadForFrame when Content Filtering is enabled
1461         https://bugs.webkit.org/show_bug.cgi?id=147872
1462         rdar://problem/22044000
1463
1464         Reviewed by Dan Bernstein.
1465
1466         Passed the ResourceLoader request URL to dispatchDidReceiveServerRedirectForProvisionalLoad().
1467
1468         New API test: ContentFiltering.ServerRedirect
1469
1470         * WebCore.xcodeproj/project.pbxproj:
1471         * loader/EmptyClients.h:
1472         * loader/FrameLoaderClient.h: Added a URL argument to dispatchDidReceiveServerRedirectForProvisionalLoad().
1473         * loader/ResourceLoader.cpp:
1474         (WebCore::ResourceLoader::willSendRequestInternal): Passed the request URL to dispatchDidReceiveServerRedirectForProvisionalLoad().
1475         * testing/Internals.cpp:
1476         (WebCore::Internals::Internals): Stopped calling MockContentFilter::ensureInstalled().
1477         * testing/MockContentFilterSettings.cpp:
1478         (WebCore::MockContentFilterSettings::setEnabled): Called MockContentFilter::ensureInstalled() to ensure the
1479         mock is installed whenever the filter is enabled.
1480         * testing/MockContentFilterSettings.h: Exported member functions used by TestWebKitAPI.
1481
1482 2015-08-23  Geoffrey Garen  <ggaren@apple.com>
1483
1484         Unreviewed, rolling back in r188803.
1485
1486         "Debugger's VM should never be null"
1487         https://bugs.webkit.org/show_bug.cgi?id=148341
1488         http://trac.webkit.org/changeset/188803
1489
1490         * bindings/js/WorkerScriptDebugServer.cpp:
1491         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
1492         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1493         (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
1494         * inspector/PageScriptDebugServer.cpp:
1495         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
1496         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1497         (WebCore::PageScriptDebugServer::didPause):
1498         (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
1499
1500 2015-08-23  Antti Koivisto  <antti@apple.com>
1501
1502         Remove SVGFrameLoaderClient and dataProtocolFrameLoader
1503         https://bugs.webkit.org/show_bug.cgi?id=148370
1504
1505         Reviewed by Darin Adler.
1506
1507         With data protocol handled internally in WebKit these are no longer needed.
1508
1509         This mostly reverts code changes from http://trac.webkit.org/179626 keeping the tests.
1510
1511         * loader/FrameLoaderClient.h:
1512         * loader/ResourceLoader.cpp:
1513         (WebCore::ResourceLoader::loadDataURL):
1514         (WebCore::ResourceLoader::setDataBufferingPolicy):
1515         (WebCore::ResourceLoader::dataProtocolFrameLoader): Deleted.
1516         * loader/ResourceLoader.h:
1517         (WebCore::ResourceLoader::documentLoader):
1518         (WebCore::ResourceLoader::originalRequest):
1519         * loader/cache/CachedImage.cpp:
1520         (WebCore::CachedImage::finishLoading):
1521         * svg/graphics/SVGImage.cpp:
1522         (WebCore::SVGImage::dataChanged):
1523         * svg/graphics/SVGImage.h:
1524         * svg/graphics/SVGImageClients.h:
1525
1526 2015-08-22  Chris Dumez  <cdumez@apple.com>
1527
1528         NodeList should not have a named getter
1529         https://bugs.webkit.org/show_bug.cgi?id=148117
1530
1531         Reviewed by Darin Adler.
1532
1533         Drop the named property getter on NodeList to match the specification:
1534         https://dom.spec.whatwg.org/#interface-nodelist
1535
1536         This change could be a bit risky but:
1537         1. Firefox and IE never had this named property getter on NodeList.
1538         2. Chrome successfuly dropped this named property getter in early 2014:
1539            https://src.chromium.org/viewvc/blink?revision=166356&view=revision
1540         3. Our named property getter on NodeList is only partly functional:
1541            It only matches by 'id' attribute, not by 'name' attribute.
1542         4. Our APIs that were wrongly returning a NodeList instead of an
1543            HTMLCollection (getElementsByTagName() / getElementsByClassName())
1544            have been fixed in r188735 and r188809. HTMLCollection does have
1545            a named property getter.
1546         5. This named getter adds code complexity.
1547
1548         * bindings/js/JSNodeListCustom.cpp:
1549         (WebCore::createWrapper): Deleted.
1550         * dom/ChildNodeList.cpp:
1551         (WebCore::ChildNodeList::invalidateCache): Deleted.
1552         * dom/ChildNodeList.h:
1553         * dom/LiveNodeList.cpp:
1554         * dom/LiveNodeList.h:
1555         * dom/NodeList.h:
1556         * dom/NodeList.idl:
1557         * dom/StaticNodeList.cpp:
1558         (WebCore::StaticElementList::length): Deleted.
1559         (WebCore::StaticElementList::item): Deleted.
1560         * dom/StaticNodeList.h:
1561         * html/HTMLCollection.h:
1562
1563 2015-08-22  Andreas Kling  <akling@apple.com>
1564
1565         [JSC] Static hash tables should be 100% compile-time constant.
1566         <https://webkit.org/b/148359>
1567
1568         Reviewed by Michael Saboff.
1569
1570         Adjust WebCore bindings generator for new JSC::HashTable layout
1571         and rebaseline the bindings tests for that change.
1572
1573         * bindings/scripts/CodeGeneratorJS.pm:
1574         (GenerateHashTable):
1575         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1576         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1577         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1578         * bindings/scripts/test/JS/JSTestException.cpp:
1579         * bindings/scripts/test/JS/JSTestInterface.cpp:
1580         * bindings/scripts/test/JS/JSTestObj.cpp:
1581         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
1582         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1583
1584 2015-08-22  Michael Catanzaro  <mcatanzaro@igalia.com>
1585
1586         Unreviewed, fix build without ENABLE_CSS_GRID_LAYOUT after r188582
1587
1588         * rendering/RenderBox.cpp:
1589         (WebCore::RenderBox::computeLogicalWidthInRegion):
1590
1591 2015-08-22  Zalan Bujtas  <zalan@apple.com>
1592
1593         Page::renderTreeSize() does not include anonymous renderers.
1594         https://bugs.webkit.org/show_bug.cgi?id=148352
1595
1596         Reviewed by Andreas Kling.
1597
1598         Anonymous renderes take the document as their node. Instead
1599         of checking whether the node is the document, we could just check
1600         if the RenderView is available.
1601
1602         * rendering/RenderObject.cpp:
1603         (WebCore::RenderObject::RenderObject):
1604         (WebCore::RenderObject::~RenderObject):
1605         * rendering/RenderView.cpp:
1606         (WebCore::RenderView::RenderView): Deleted.
1607         * rendering/RenderView.h: Include the RenderView in render tree size as well.
1608
1609 2015-08-22  Antti Koivisto  <antti@apple.com>
1610
1611         Decode data URLs in web process
1612         https://bugs.webkit.org/show_bug.cgi?id=148128
1613
1614         Reviewed by Darin Adler.
1615
1616         We currenly send data URLs to networking layer for decoding. This involves a long and slow roundtrip through IPC and API layers.
1617
1618         * WebCore.xcodeproj/project.pbxproj:
1619         * loader/ResourceLoadScheduler.cpp:
1620         (WebCore::ResourceLoadScheduler::maybeLoadQuickLookResource): Deleted.
1621
1622             Remove this awkward interface for WebKit2.
1623
1624         * loader/ResourceLoadScheduler.h:
1625         * loader/ResourceLoader.cpp:
1626         (WebCore::ResourceLoader::start):
1627         (WebCore::ResourceLoader::loadDataURL):
1628
1629             Load using DataURLDecoder.
1630
1631         * loader/ResourceLoader.h:
1632
1633             Make start() public and export it so it can be called directly from WebKit2.
1634
1635         * platform/network/DataURLDecoder.cpp: Added.
1636         (WebCore::DataURLDecoder::decodeQueue):
1637         (WebCore::DataURLDecoder::DecodeTask::DecodeTask):
1638         (WebCore::DataURLDecoder::createDecodeTask):
1639
1640             Parse data URL metadata and initialize the decode task.
1641
1642         (WebCore::DataURLDecoder::decodeBase64):
1643         (WebCore::DataURLDecoder::decodeEscaped):
1644         (WebCore::DataURLDecoder::decode):
1645
1646             Asynchronously decode in a concurrent distpatch queue.
1647
1648         * platform/network/DataURLDecoder.h: Added.
1649         * platform/network/ios/QuickLook.h:
1650         * platform/text/DecodeEscapeSequences.h:
1651         (WebCore::URLEscapeSequence::findEndOfRun):
1652         (WebCore::URLEscapeSequence::decodeRun):
1653
1654             Factor buffer generation to a function.
1655
1656         (WebCore::decodeEscapeSequences):
1657         (WebCore::decodeURLEscapeSequencesAsData):
1658
1659             Add decode function that produces bytes instead of a String.
1660
1661 2015-08-21  Commit Queue  <commit-queue@webkit.org>
1662
1663         Unreviewed, rolling out r188792 and r188803.
1664         https://bugs.webkit.org/show_bug.cgi?id=148347
1665
1666         broke lots of tests, ggaren is going to investigate and reland
1667         (Requested by thorton on #webkit).
1668
1669         Reverted changesets:
1670
1671         "Unify code paths for manually deleting all code"
1672         https://bugs.webkit.org/show_bug.cgi?id=148280
1673         http://trac.webkit.org/changeset/188792
1674
1675         "Debugger's VM should never be null"
1676         https://bugs.webkit.org/show_bug.cgi?id=148341
1677         http://trac.webkit.org/changeset/188803
1678
1679 2015-08-21  Chris Dumez  <cdumez@apple.com>
1680
1681         document.getElementsByTagName should return an HTMLCollection
1682         https://bugs.webkit.org/show_bug.cgi?id=110611
1683
1684         Reviewed by Darin Adler.
1685
1686         Update getElementsByTagName*() to return an HTMLCollection as per
1687         the specification:
1688         - https://dom.spec.whatwg.org/#interface-document
1689         - https://dom.spec.whatwg.org/#interface-element
1690
1691         Firefox, Chrome and IE all match the specification but WebKit was
1692         returning a NodeList.
1693
1694         Performance:
1695         DOM/get-elements-by-tag-name-traversal-uncached.html is ~4.5% faster.
1696
1697         Test: fast/dom/getElementsByTagName-return-type.html
1698
1699         * CMakeLists.txt:
1700         * WebCore.vcxproj/WebCore.vcxproj:
1701         * WebCore.vcxproj/WebCore.vcxproj.filters:
1702         * WebCore.xcodeproj/project.pbxproj:
1703         Rename TagNodeList.* to TagCollection.*
1704
1705         * accessibility/AccessibilityRenderObject.cpp:
1706         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
1707         Update the function to use descendantsOfType<>() instead of
1708         getElementsByTagName(). The code is both shorter and more efficient.
1709
1710         * dom/ContainerNode.cpp:
1711         (WebCore::ContainerNode::getElementsByTagName):
1712         (WebCore::ContainerNode::getElementsByTagNameForObjC):
1713         (WebCore::ContainerNode::getElementsByTagNameNS):
1714         (WebCore::ContainerNode::getElementsByTagNameNSForObjC):
1715         * dom/ContainerNode.h:
1716         - Have getElementsByTagName*() return an HTMLCollection.
1717         - Introduce versions used by the ObjC bindings that return a NodeList
1718           for API compatibility reasons.
1719         - Move the localName null check to the *ForObjC versions and use a
1720           simple assertion for the non ObjC versions. This gets rid of a
1721           branch for our JS bindings as this function is hot. It is currently
1722           impossible to get a null AtomicString from our JS bindings code because
1723           getElementsByTagName() and getElementsByTagName(undefined) in JS end up
1724           calling ContainerNode::getElementsByTagName("undefined").
1725           Also getElementsByTagName(null) in JS ends up calling
1726           ContainerNode::getElementsByTagName("null"). I have also gotten rid of
1727           most of the getElementsByTagName() calls from our native code. The
1728           remaining ones either call with a non-null AtomicString and they now
1729           have a null-check.
1730
1731         * dom/Document.idl:
1732         * dom/Element.idl:
1733         Have getElementsByTagName*() return an HTMLCollection except for ObjC
1734         bindings in order to maintain legacy API compatibility.
1735
1736         * dom/Node.cpp:
1737         (WebCore::Document::invalidateNodeListAndCollectionCaches):
1738         (WebCore::NodeListsNodeData::invalidateCaches):
1739         HTMLCollection::invalidateCache(attr) is now renamed to
1740         invalidateCacheForAttribute(attr) to avoid ambiguity with
1741         HTMLCollection::invalidateCache(doc) and for consistency
1742         with LiveNodeList.
1743
1744         * dom/NodeRareData.h:
1745         Make necessary updates now that TagNodeList is renamed to TagCollection
1746         and is an HTMLCollection.
1747
1748         * dom/TagCollection.cpp: Renamed from Source/WebCore/dom/TagNodeList.cpp.
1749         * dom/TagCollection.h: Renamed from Source/WebCore/dom/TagNodeList.h.
1750         Rename TagNodeList / HTMLTagNodeList to TagCollection / HTMLTagCollection
1751         and inherit CachedHTMLCollection instead of CachedLiveNodeList.
1752
1753         * editing/Editor.cpp:
1754         (WebCore::Editor::applyEditingStyleToBodyElement):
1755         Update code using getElementsByTagName() to reflect the fact that it
1756         now returns an HTMLCollection and item() returns an Element*. This
1757         function is matching any Element with "body" tag, not just HTMLBodyElement
1758         so I did not refactor it to use an descendantsOfType<HTMLBodyElement>().
1759         It is not clear to me what the intention of this code is.
1760
1761         * editing/markup.cpp:
1762         (WebCore::createFragmentFromMarkup):
1763         * editing/markup.h:
1764         - Return a Ref<> instead of a PassRefPtr<> as it can never return null.
1765         - Use descendantsOfType<HTMLAttachmentElement>(fragment) instead of
1766           getElementsByTagName() as it results in both shorter and more efficient
1767           code.
1768
1769         * html/CollectionType.h:
1770         Add new ByTag / ByHTMLTag collection types for TagCollection /
1771         HTMLTabCollection.
1772
1773         * html/GenericCachedHTMLCollection.cpp:
1774         (WebCore::GenericCachedHTMLCollection<traversalType>::elementMatches):
1775         Handle new ByTag / ByHTMLTag collection types in the switch statement.
1776
1777         * html/HTMLCollection.cpp:
1778         (WebCore::invalidationTypeExcludingIdAndNameAttributes):
1779         (WebCore::HTMLCollection::~HTMLCollection):
1780         Handle new ByTag / ByHTMLTag collection types in switch statements.
1781
1782         (WebCore::HTMLCollection::tags):
1783         Add a null-check on localName() before calling getElementsByTagName().
1784         This function is currently for ObjC bindings only.
1785
1786         * html/HTMLPlugInImageElement.cpp:
1787         (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns):
1788         Simplify / optimize the code by using descendantsOfType<HTMLPlugInImageElement>()
1789         instead of getElementsByTagName().
1790
1791         * html/MediaDocument.cpp:
1792         (WebCore::descendantVideoElement):
1793         Use descendantsOfType<HTMLVideoElement> instead of getElementsByTagNameNS().
1794
1795 2015-08-21  Geoffrey Garen  <ggaren@apple.com>
1796
1797         Debugger's VM should never be null
1798         https://bugs.webkit.org/show_bug.cgi?id=148341
1799
1800         Reviewed by Joseph Pecoraro.
1801
1802         It doesn't make sense for a Debugger's VM to be null, and code related
1803         to maintaining that illusion just caused the Web Inspector to crash on
1804         launch (https://bugs.webkit.org/show_bug.cgi?id=148312). So, let's stop
1805         doing that.
1806
1807         Now, Debugger requires its subclass to provide a never-null VM&.
1808
1809         * bindings/js/WorkerScriptDebugServer.cpp:
1810         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
1811         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1812         (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
1813         * inspector/PageScriptDebugServer.cpp:
1814         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1815         (WebCore::PageScriptDebugServer::didPause):
1816
1817 2015-08-21  Myles C. Maxfield  <mmaxfield@apple.com>
1818
1819         [OS X] Remove dead code from FontCache::systemFallbackForCharacters()
1820         https://bugs.webkit.org/show_bug.cgi?id=148218
1821
1822         Reviewed by Daniel Bates.
1823
1824         lookupCTFont() in FontCacheMac.mm will always return the best font (because
1825         CTFontCreateForCharactersWithLanguage() does so). Also, all fonts that will
1826         be created on WebKit's behalf are already printer fonts.
1827
1828         No new tests because there is no behavior change.
1829
1830         * platform/graphics/mac/FontCacheMac.mm:
1831         (WebCore::FontCache::systemFallbackForCharacters): Deleted.
1832
1833 2015-08-21  Anders Carlsson  <andersca@apple.com>
1834
1835         Fix build.
1836
1837         * platform/network/win/NetworkStateNotifierWin.cpp:
1838         (WebCore::NetworkStateNotifier::addrChangeCallback):
1839         (WebCore::NetworkStateNotifier::callAddressChanged): Deleted.
1840
1841 2015-08-21  Myles C. Maxfield  <mmaxfield@apple.com>
1842
1843         [Cocoa] Clean up Font class
1844         https://bugs.webkit.org/show_bug.cgi?id=148216
1845
1846         Reviewed by Dean Jackson.
1847
1848         No new tests because there is no behavior change.
1849
1850         * platform/graphics/Font.cpp:
1851         (WebCore::Font::platformGlyphInit): Deleted.
1852         * platform/graphics/Font.h:
1853         * platform/graphics/cocoa/FontCocoa.mm:
1854         (WebCore::Font::platformInit):
1855
1856 2015-08-21  Myles C. Maxfield  <mmaxfield@apple.com>
1857
1858         [Cocoa] Unify two more FontCache functions
1859         https://bugs.webkit.org/show_bug.cgi?id=148217
1860
1861         Reviewed by Dean Jackson.
1862
1863         Move duplicated code from FontCacheMac and FontCacheIOS into
1864         FontCacheCoreText.
1865
1866         No new tests because there is no behavior change.
1867
1868         * platform/graphics/cocoa/FontCacheCoreText.cpp:
1869         (WebCore::toTraitsMask):
1870         (WebCore::isFontWeightBold):
1871         (WebCore::FontCache::similarFont):
1872         (WebCore::FontCache::getTraitsInFamily):
1873         * platform/graphics/ios/FontCacheIOS.mm:
1874         (WebCore::FontCache::similarFont): Deleted.
1875         (WebCore::toTraitsMask): Deleted.
1876         (WebCore::FontCache::getTraitsInFamily): Deleted.
1877         * platform/graphics/mac/FontCacheMac.mm:
1878         (WebCore::toTraitsMask): Deleted.
1879         (WebCore::FontCache::similarFont): Deleted.
1880         (WebCore::FontCache::getTraitsInFamily): Deleted.
1881
1882 2015-08-21  Anders Carlsson  <andersca@apple.com>
1883
1884         Stop using the old callOnMainThread variant on Windows
1885         https://bugs.webkit.org/show_bug.cgi?id=148332
1886
1887         Reviewed by Tim Horton.
1888
1889         * platform/network/cf/CookieStorageCFNet.cpp:
1890         (WebCore::notifyCookiesChanged):
1891         (WebCore::notifyCookiesChangedOnMainThread): Deleted.
1892         * platform/network/win/NetworkStateNotifierWin.cpp:
1893         (WebCore::NetworkStateNotifier::addrChangeCallback):
1894
1895 2015-08-20  Matt Rajca  <mrajca@apple.com>
1896
1897         Media Session: let UI clients change the volume of the focused media element
1898         https://bugs.webkit.org/show_bug.cgi?id=148289
1899
1900         Reviewed by Tim Horton.
1901
1902         * page/Page.cpp:
1903         (WebCore::Page::setVolumeOfMediaElement):
1904         * page/Page.h:
1905
1906 2015-08-21  Anders Carlsson  <andersca@apple.com>
1907
1908         Get rid of uses of the old callOnMainThread function that takes a function ptr + context
1909         https://bugs.webkit.org/show_bug.cgi?id=148324
1910
1911         Reviewed by Tim Horton.
1912
1913         * Modules/webaudio/AsyncAudioDecoder.cpp:
1914         (WebCore::AsyncAudioDecoder::DecodingTask::decode):
1915         (WebCore::AsyncAudioDecoder::DecodingTask::notifyCompleteDispatch): Deleted.
1916         * Modules/webaudio/AsyncAudioDecoder.h:
1917         * Modules/webaudio/OfflineAudioDestinationNode.cpp:
1918         (WebCore::OfflineAudioDestinationNode::offlineRender):
1919         (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch): Deleted.
1920         * Modules/webaudio/OfflineAudioDestinationNode.h:
1921         * Modules/webaudio/ScriptProcessorNode.cpp:
1922         (WebCore::ScriptProcessorNode::process):
1923         (WebCore::ScriptProcessorNode::fireProcessEventDispatch): Deleted.
1924         * Modules/webaudio/ScriptProcessorNode.h:
1925         * Modules/webdatabase/DatabaseTracker.cpp:
1926         (WebCore::DatabaseTracker::scheduleForNotification):
1927         (WebCore::DatabaseTracker::notifyDatabasesChanged):
1928         * Modules/webdatabase/DatabaseTracker.h:
1929         * platform/graphics/cg/ImageCG.cpp:
1930         (WebCore::patternReleaseCallback):
1931         (WebCore::patternReleaseOnMainThreadCallback): Deleted.
1932         * platform/graphics/cg/PatternCG.cpp:
1933         (WebCore::patternReleaseCallback):
1934         (WebCore::patternReleaseOnMainThreadCallback): Deleted.
1935         * platform/graphics/mac/FontCacheMac.mm:
1936         (WebCore::invalidateFontCache):
1937         (WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
1938         * platform/network/BlobResourceHandle.cpp:
1939         (WebCore::doNotifyFinish):
1940         (WebCore::BlobResourceHandle::notifyFinish):
1941         * platform/network/cf/FormDataStreamCFNet.cpp:
1942         (WebCore::formFinalize):
1943         (WebCore::formFinishFinalizationOnMainThread): Deleted.
1944
1945 2015-08-21  Doug Russell  <d_russell@apple.com>
1946
1947         AX: Table with CSS that makes a row anonymous can return NULL from cellForColumnAndRow
1948         https://bugs.webkit.org/show_bug.cgi?id=148293
1949
1950         Reviewed by Chris Fleizach.
1951
1952         When RenderTableRows are anonymous, they may not be added to the accessible data 
1953         table's internal row list. However, when calculating the row range for a cell, 
1954         we were still accounting for those anonymous sections.
1955         Change how the row range is calculated to directly ask the accessible parent row 
1956         for its index. This will ensure it’s more inline with what’s being represented to 
1957         the accessibility API.
1958
1959         Test: accessibility/aria-table-content.html
1960
1961         * accessibility/AccessibilityTableCell.cpp:
1962         (WebCore::AccessibilityTableCell::parentRow):
1963         (WebCore::AccessibilityTableCell::rowIndexRange):
1964         * accessibility/AccessibilityTableCell.h:
1965
1966 2015-08-21  Joseph Pecoraro  <pecoraro@apple.com>
1967
1968         Web Inspector: REGRESSION(173684): Edit as HTML not working
1969         https://bugs.webkit.org/show_bug.cgi?id=148268
1970
1971         Reviewed by Chris Dumez.
1972
1973         Tests: inspector/dom/getOuterHTML.html
1974                inspector/dom/setOuterHTML.html
1975
1976         * inspector/DOMPatchSupport.cpp:
1977         (WebCore::DOMPatchSupport::innerPatchChildren):
1978         Revert the optimization change made in r173684. The optimization changes
1979         had a few issues. It changed the logic to potentially drop out of the
1980         loop before all new items were processed and using a node reference
1981         to track an index did not account for the modifications insertBefore
1982         may have made to that node's index in the list.
1983
1984 2015-08-21  Beth Dakin  <bdakin@apple.com>
1985
1986         HistoryItems will null CachedPages should never be left in the list of items; 
1987         causes crash
1988         https://bugs.webkit.org/show_bug.cgi?id=148237
1989         -and corresponding-
1990         rdar://problem/22356782
1991
1992         Reviewed by Brady Eidson.
1993
1994         Setting the CachedPage to nullptr will destroy the CachedPage, destroy the 
1995         FrameView, re-enter layout, and potentially try to modify items in the PageCache 
1996         based on that layout. So, we should not modify CachedPage in this way while the 
1997         item is still in the list of HistoryItems.
1998         * history/PageCache.cpp:
1999         (WebCore::PageCache::take):
2000         (WebCore::PageCache::remove):
2001         (WebCore::PageCache::prune):
2002
2003 2015-08-21  David Kilzer  <ddkilzer@apple.com>
2004
2005         dispatch_group_t objects may not be retained properly when not backed by Objective-C objects under garbage collection
2006         <http://webkit.org/b/148229>
2007
2008         Reviewed by Eric Carlson.
2009
2010         When compiled with garbage collection enabled, libdispatch
2011         objects are not backed by Objective-C objects, so they don't get
2012         the benefit of automatic reference counting when captured by a
2013         block or a lambda.  To address this, we use OSObjectPtr<> which
2014         always increments the reference count of the contained object.
2015
2016         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2017         (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
2018         Switch to use OSObjectPtr<>.
2019
2020 2015-08-21  Nan Wang  <n_wang@apple.com>
2021
2022         [Mac] accessibility/selection-states.html fails
2023         https://bugs.webkit.org/show_bug.cgi?id=116637
2024
2025         Reviewed by Chris Fleizach.
2026
2027         Added accessibilityAttributeValue callback for isMultiSelectable attribute.
2028
2029         Updated expectation for accessibility/selection-states.html on mac.
2030
2031         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2032         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2033
2034 2015-08-21  Jonathan Davis  <jond@apple.com>
2035
2036         Fixed status features JSON formatting.
2037
2038         * features.json:
2039
2040 2015-08-21  Chris Dumez  <cdumez@apple.com>
2041
2042         Have more getElementsBy*() methods return a Ref<>
2043         https://bugs.webkit.org/show_bug.cgi?id=148287
2044
2045         Reviewed by Sam Weinig.
2046
2047         Have more getElementsBy*() methods return a Ref<> instaed of a RefPtr<>
2048         as they cannot return null.
2049
2050         * dom/ContainerNode.cpp:
2051         (WebCore::ContainerNode::getElementsByTagName):
2052         (WebCore::ContainerNode::getElementsByTagNameNS):
2053         (WebCore::ContainerNode::getElementsByName):
2054         (WebCore::ContainerNode::getElementsByClassName):
2055         (WebCore::ContainerNode::getElementsByClassNameForObjC):
2056         (WebCore::ContainerNode::radioNodeList):
2057         * dom/ContainerNode.h:
2058
2059 2015-08-21  Chris Dumez  <cdumez@apple.com>
2060
2061         Drop NodeListBase class
2062         https://bugs.webkit.org/show_bug.cgi?id=148290
2063
2064         Reviewed by Ryosuke Niwa.
2065
2066         Drop NodeListBase class and have HTMLCollection subclass NodeList
2067         directly. There is no reason we need another base class.
2068
2069         * WebCore.xcodeproj/project.pbxproj:
2070         * bindings/scripts/CodeGeneratorObjC.pm:
2071         (GetImplClassName): Deleted.
2072         * dom/ContainerNode.cpp:
2073         (WebCore::ContainerNode::getElementsByClassNameForObjC):
2074         * dom/ContainerNode.h:
2075         * dom/NodeList.h:
2076         * dom/NodeListBase.h: Removed.
2077         * html/HTMLCollection.h:
2078
2079 2015-08-20  Yusuke Suzuki  <utatane.tea@gmail.com>
2080
2081         [ES6] prototyping module loader in JSC shell
2082         https://bugs.webkit.org/show_bug.cgi?id=147876
2083
2084         Reviewed by Saam Barati.
2085
2086         Just fill Loader hooks with nullptr.
2087
2088         * bindings/js/JSDOMWindowBase.cpp:
2089         * bindings/js/JSWorkerGlobalScopeBase.cpp:
2090
2091 2015-08-20  Chris Dumez  <cdumez@apple.com>
2092
2093         Fix passing null / undefined as NodeFilter parameter for createNodeIterator() / createTreeWalker()
2094         https://bugs.webkit.org/show_bug.cgi?id=148257
2095
2096         Reviewed by Darin Adler.
2097
2098         Fix passing null / undefined as NodeFilter parameter for createNodeIterator() / createTreeWalker().
2099         It is supposed to be translated into a *null* NodeFilter. However, WebKit was constructing a
2100         NodeFilter in this case.
2101
2102         Chrome and Firefox do not create a NodeFilter in this case.
2103
2104         No new tests, already covered by:
2105         fast/dom/createNodeIterator-parameters.html
2106         fast/dom/createTreeWalker-parameters.html
2107
2108         * bindings/js/JSNodeFilterCustom.cpp:
2109         (WebCore::JSNodeFilter::toWrapped):
2110
2111 2015-08-20  Zalan Bujtas  <zalan@apple.com>
2112
2113         Make outline: auto repaint rect inflate more explicit.
2114         https://bugs.webkit.org/show_bug.cgi?id=148263
2115
2116         Reviewed by Simon Fraser.
2117
2118         Use RenderObject::adjustRectWithMaximumOutline() when inflating is conditional and call
2119         RenderView::maximalOutlineSize() when it is not.
2120         After this changeset, we can clearly tell calls when inflating is unconditional (adjusting the size of the compositing layer) apart from
2121         calls when we just simply inflate the repaint rect during outline painting phase.
2122
2123         No change in behaviour.
2124
2125         * rendering/InlineFlowBox.cpp:
2126         (WebCore::InlineFlowBox::paint):
2127         * rendering/RenderBlock.cpp:
2128         (WebCore::RenderBlock::paint):
2129         * rendering/RenderBlockFlow.cpp:
2130         (WebCore::RenderBlockFlow::layoutBlock):
2131         * rendering/RenderDetailsMarker.cpp:
2132         (WebCore::RenderDetailsMarker::paint):
2133         * rendering/RenderElement.cpp:
2134         (WebCore::RenderElement::computeMaxOutlineSize):
2135         * rendering/RenderLayer.cpp:
2136         (WebCore::RenderLayer::calculateClipRects):
2137         * rendering/RenderLineBoxList.cpp:
2138         (WebCore::isOutlinePhase):
2139         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
2140         (WebCore::RenderLineBoxList::paint):
2141         * rendering/RenderListMarker.cpp:
2142         (WebCore::RenderListMarker::paint):
2143         * rendering/RenderObject.cpp:
2144         (WebCore::RenderObject::adjustRectWithMaximumOutline):
2145         (WebCore::RenderObject::maximalOutlineSize): Deleted.
2146         * rendering/RenderObject.h:
2147         * rendering/RenderRegion.cpp:
2148         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
2149         * rendering/RenderReplaced.cpp:
2150         (WebCore::RenderReplaced::shouldPaint):
2151         * rendering/RenderTable.cpp:
2152         (WebCore::RenderTable::paint):
2153         * rendering/RenderTableCell.cpp:
2154         (WebCore::RenderTableCell::paintCollapsedBorders):
2155         * rendering/RenderTableSection.cpp:
2156         (WebCore::RenderTableSection::paintObject):
2157         * rendering/RenderView.cpp:
2158         (WebCore::RenderView::setMaximalOutlineSize):
2159         (WebCore::RenderView::RenderView): Deleted.
2160         * rendering/RenderView.h:
2161
2162 2015-08-20  Myles C. Maxfield  <mmaxfield@apple.com>
2163
2164         [OS X] Cleaup after r188591
2165         https://bugs.webkit.org/show_bug.cgi?id=148219
2166
2167         Unreviewed.
2168
2169         Forgot to update a call site of FontPlatformData().
2170
2171         * platform/graphics/mac/FontCacheMac.mm:
2172         (WebCore::FontCache::systemFallbackForCharacters):
2173
2174 2015-08-20  Alex Christensen  <achristensen@webkit.org>
2175
2176         Build fix after r188716.
2177
2178         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
2179         (WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
2180         Add some scope so we can declare a variable (weakPtr) inside a switch statement.
2181
2182 2015-08-20  Alex Christensen  <achristensen@webkit.org>
2183
2184         Build fix after r188716.
2185
2186         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
2187         (WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource):
2188         (WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
2189         Replace m_weakFactory with m_weakPtrFactory which actually exists.
2190
2191 2015-08-20  Myles C. Maxfield  <mmaxfield@apple.com>
2192
2193         [iOS] Adopt OS X's emoji behavior.
2194         https://bugs.webkit.org/show_bug.cgi?id=148265
2195
2196         Reviewed by Simon Fraser.
2197
2198         Remove our hardcoded hacks which limit the sizes of emoji. This is how
2199         OS X behaves with emoji.
2200
2201         Test: fast/text/emoji.html
2202
2203         * platform/graphics/FontPlatformData.h:
2204         (WebCore::FontPlatformData::hash):
2205         (WebCore::FontPlatformData::isEmoji): Deleted.
2206         (WebCore::FontPlatformData::setIsEmoji): Deleted.
2207         * platform/graphics/cocoa/FontCascadeCocoa.mm:
2208         (WebCore::FontCascade::drawGlyphs):
2209         (WebCore::isOnOrAfterIOS6): Deleted.
2210         (WebCore::pointAdjustedForEmoji): Deleted.
2211         * platform/graphics/cocoa/FontCocoa.mm:
2212         (WebCore::canUseFastGlyphAdvanceGetter):
2213         (WebCore::Font::platformInit): Deleted.
2214         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2215         (WebCore::FontPlatformData::ctFont):
2216         (WebCore::FontPlatformData::platformDataInit): Deleted.
2217         (WebCore::FontPlatformData::platformDataAssign): Deleted.
2218         (WebCore::FontPlatformData::platformIsEqual): Deleted.
2219         (WebCore::FontPlatformData::ctFontSize): Deleted.
2220         * platform/graphics/ios/FontCacheIOS.mm:
2221         (WebCore::FontCache::getSystemFontFallbackForCharacters): Deleted.
2222         (WebCore::FontCache::createFontPlatformData): Deleted.
2223         * platform/graphics/mac/ComplexTextController.cpp:
2224         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Deleted.
2225
2226 2015-08-20  Chris Dumez  <cdumez@apple.com>
2227
2228         getElementsByClassName() should return an HTMLCollection
2229         https://bugs.webkit.org/show_bug.cgi?id=147980
2230
2231         Reviewed by Darin Adler.
2232
2233         Update Document.getElementsByClassName() and Element.getElementsByClassName()
2234         to return an HTMLCollection instead of a NodeList, as per the specification:
2235         - https://dom.spec.whatwg.org/#interface-document
2236         - https://dom.spec.whatwg.org/#interface-element
2237
2238         This behavior is also consistent with other major browsers. Due to this and
2239         the fact that NodeList / HTMLCollection pretty much the same API, the
2240         compatibility risk should be fairly low.
2241
2242         I also verified that the performance is the same according to the following
2243         performance test:
2244         PerformanceTests/DOM/get-elements-by-class-name-traversal-uncached.html
2245
2246         Tests: fast/dom/getElementsByClassName/dumpHTMLCollection.html
2247                fast/dom/getElementsByClassName/return-type.html
2248
2249         * CMakeLists.txt:
2250         * WebCore.vcxproj/WebCore.vcxproj:
2251         * WebCore.xcodeproj/project.pbxproj:
2252         Rename ClassNodeList.cpp file.
2253
2254         * bindings/scripts/CodeGeneratorObjC.pm:
2255         (GetImplClassName):
2256         Indicate that NodeList is implemented as NodeListBase. This is
2257         needed so that DOMNodeList can have either an HTMLCollection or
2258         a NodeList as internal representation. NodeListBase is a new
2259         common base class for HTMLCollection and NodeList.
2260
2261         * dom/ClassCollection.cpp: Renamed from Source/WebCore/dom/ClassNodeList.cpp.
2262         (WebCore::ClassCollection::create):
2263         (WebCore::ClassCollection::~ClassCollection):
2264         * dom/ClassCollection.h: Renamed from Source/WebCore/dom/ClassNodeList.h.
2265         (WebCore::ClassCollection::ClassCollection):
2266         (WebCore::ClassCollection::elementMatches):
2267         Rename ClassNodeList to ClassCollection and have it subclass
2268         CachedHTMLCollection instead of ClassNodeList.
2269
2270         * dom/ContainerNode.cpp:
2271         (WebCore::ContainerNode::getElementsByClassName):
2272         Have getElementsByClassName return an HTMLCollection instead of a
2273         NodeList.
2274
2275         (WebCore::ContainerNode::getElementsByClassNameForObjC):
2276         New method returns a NodeListBase for ObjC bindings, so they can
2277         convert the return value into a DOMNodeList. We need this to not
2278         break ObjC API compatibility.
2279
2280         * dom/Document.idl:
2281         * dom/Element.idl:
2282         Have getElementsByClassName return an HTMLCollection instead of a
2283         NodeList, except for ObjC bindings.
2284
2285         * dom/NodeList.h:
2286         Have NodeList subclass NodeListBase.
2287
2288         * dom/NodeListBase.h: Added.
2289         New common base interface for HTMLCollection and NodeList. This is
2290         so that the internal representation for ObjC's DOMNodeList can be
2291         a NodeListBase instead of a NodeList. This way, the ObjC API can
2292         keep returning a DOMNodeList, even though our implementation now
2293         returns an HTMLCollection instead of a NodeList.
2294
2295         * dom/NodeRareData.h:
2296         (WebCore::NodeListTypeIdentifier<NameNodeList>::value):
2297         (WebCore::NodeListTypeIdentifier<TagNodeList>::value):
2298         (WebCore::NodeListTypeIdentifier<HTMLTagNodeList>::value):
2299         (WebCore::NodeListTypeIdentifier<RadioNodeList>::value):
2300         (WebCore::NodeListTypeIdentifier<LabelsNodeList>::value):
2301         Drop ClassNodeList from the NodeListTypeIndentifiers.
2302
2303         * html/CollectionType.h:
2304         Add new ByClass CollectionType for ClassCollection.
2305
2306         * html/GenericCachedHTMLCollection.cpp:
2307         (WebCore::GenericCachedHTMLCollection<traversalType>::elementMatches):
2308         Handle new ByClass CollectionType in the switch statement.
2309
2310         * html/HTMLCollection.cpp:
2311         (WebCore::invalidationTypeExcludingIdAndNameAttributes):
2312         (WebCore::HTMLCollection::~HTMLCollection):
2313         Add support for new ByClass Collection type.
2314
2315         * html/HTMLCollection.h:
2316         Have HTMLCollection subclass the NodeListBase interface.
2317
2318 2015-08-20  Myles C. Maxfield  <mmaxfield@apple.com>
2319
2320         Fix the iOS build after r188726
2321         https://bugs.webkit.org/show_bug.cgi?id=148278
2322
2323         Unreviewed.
2324
2325         * platform/graphics/ios/FontCacheIOS.mm:
2326         (WebCore::FontCache::systemFallbackForCharacters):
2327
2328 2015-08-20  Myles C. Maxfield  <mmaxfield@apple.com>
2329
2330         Cleanup after r188726
2331         https://bugs.webkit.org/show_bug.cgi?id=148278
2332
2333         Unreviewed.
2334
2335         No new tests because there is no behavior change.
2336
2337         * platform/graphics/ios/FontCacheIOS.mm:
2338         (WebCore::FontCache::systemFallbackForCharacters):
2339
2340 2015-08-20  Myles C. Maxfield  <mmaxfield@apple.com>
2341
2342         [iOS] Delete dead code
2343         https://bugs.webkit.org/show_bug.cgi?id=148278
2344
2345         Reviewed by Dean Jackson.
2346
2347         No new tests because there is no behavior change.
2348
2349         * platform/graphics/cocoa/FontCocoa.mm:
2350         (WebCore::Font::platformInit):
2351         * platform/graphics/ios/FontCacheIOS.mm:
2352         (WebCore::copyFontCharacterSet): Deleted.
2353         (WebCore::appleColorEmojiCharacterSet): Deleted.
2354         (WebCore::phoneFallbackCharacterSet): Deleted.
2355         (WebCore::languageSpecificFallbackFont): Deleted.
2356         (WebCore::FontCache::systemFallbackForCharacters): Deleted.
2357
2358 2015-08-20  Tim Horton  <timothy_horton@apple.com>
2359
2360         Unreviewed, rolling out r188712.
2361         https://bugs.webkit.org/show_bug.cgi?id=148274
2362
2363         broke allllll the tests (Requested by thorton on #webkit).
2364
2365         Reverted changeset:
2366
2367         "WK1 can re-enter layout during FrameView destruction and
2368         crash"
2369         https://bugs.webkit.org/show_bug.cgi?id=148237
2370         http://trac.webkit.org/changeset/188712
2371
2372 2015-08-20  Commit Queue  <commit-queue@webkit.org>
2373
2374         Unreviewed, rolling out r188717 and r188719.
2375         https://bugs.webkit.org/show_bug.cgi?id=148272
2376
2377         Broke the Mavericks build (Requested by andersca on #webkit).
2378
2379         Reverted changesets:
2380
2381         "Merge Lock and LockBase"
2382         https://bugs.webkit.org/show_bug.cgi?id=148266
2383         http://trac.webkit.org/changeset/188717
2384
2385         "Merge ConditionBase and Condition"
2386         https://bugs.webkit.org/show_bug.cgi?id=148270
2387         http://trac.webkit.org/changeset/188719
2388
2389 2015-08-20  Anders Carlsson  <andersca@apple.com>
2390
2391         Merge ConditionBase and Condition
2392         https://bugs.webkit.org/show_bug.cgi?id=148270
2393
2394         Reviewed by Filip Pizlo.
2395
2396         Change StaticCondition to Condition.
2397
2398         * platform/network/cf/LoaderRunLoopCF.cpp:
2399
2400 2015-08-20  Anders Carlsson  <andersca@apple.com>
2401
2402         Stop using cancelCallOnMainThread in MediaPlayerPrivateMediaFoundation
2403         https://bugs.webkit.org/show_bug.cgi?id=148252
2404
2405         Reviewed by Tim Horton.
2406
2407         Replace cancelCallOnMainThread with WeakPtrs.
2408
2409         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
2410         (WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
2411         (WebCore::MediaPlayerPrivateMediaFoundation::endCreatedMediaSource):
2412         (WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
2413         (WebCore::MediaPlayerPrivateMediaFoundation::~MediaPlayerPrivateMediaFoundation):
2414         (WebCore::MediaPlayerPrivateMediaFoundation::onCreatedMediaSourceCallback):
2415         (WebCore::MediaPlayerPrivateMediaFoundation::onTopologySetCallback):
2416         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
2417
2418 2015-08-20  Beth Dakin  <bdakin@apple.com>
2419
2420         WK1 can re-enter layout during FrameView destruction and crash
2421         https://bugs.webkit.org/show_bug.cgi?id=148237
2422         -and corresponding-
2423         rdar://problem/22356782
2424
2425         Reviewed by Zalan Bujtas.
2426
2427         This is a safe fix for the time being. We won't resetScrollbars() for a FrameView 
2428         that is in the PageCache because resetting scrollbars can re-enter layout for the 
2429         Frame's new FrameView, which leads to updating pages in the page cache, which 
2430         leads to a crash because we're in the process of destroying something
2431         in the page cache. We should not be able to get into this mess at all.
2432         * page/FrameView.cpp:
2433         (WebCore::FrameView::~FrameView):
2434
2435 2015-08-20  Chris Dumez  <cdumez@apple.com>
2436
2437         Default value for createNodeIterator() / createTreeWalker()'s whatToShow parameter should be 0xFFFFFFFF
2438         https://bugs.webkit.org/show_bug.cgi?id=148238
2439
2440         Reviewed by Ryosuke Niwa.
2441
2442         Default value for createNodeIterator() / createTreeWalker()'s whatToShow
2443         parameter should be 0xFFFFFFFF as per the specification:
2444         - http://w3c-test.org/dom/traversal/NodeIterator.html
2445         - http://w3c-test.org/dom/traversal/TreeWalker.html
2446
2447         Firefox and Chrome conform to the specification. However, WebKit was
2448         using 0 as default value.
2449
2450         We still don't behave as expected in some cases, as visible from
2451         the checks that are still failing in the new layout tests. Those
2452         will be addressed separately.
2453
2454         Tests: fast/dom/createNodeIterator-parameters.html
2455                fast/dom/createTreeWalker-parameters.html
2456
2457         * dom/Document.cpp:
2458         (WebCore::Document::createNodeIterator):
2459         (WebCore::Document::createTreeWalker):
2460         (WebCore::Document::scheduleForcedStyleRecalc): Deleted.
2461         (WebCore::Document::scheduleStyleRecalc): Deleted.
2462         * dom/Document.h:
2463         * dom/Document.idl:
2464         * dom/NodeIterator.cpp:
2465         (WebCore::NodeIterator::NodeIterator):
2466         * dom/NodeIterator.h:
2467         (WebCore::NodeIterator::create):
2468         * dom/Traversal.cpp:
2469         (WebCore::NodeIteratorBase::NodeIteratorBase):
2470         * dom/Traversal.h:
2471         (WebCore::NodeIteratorBase::whatToShow):
2472         * dom/TreeWalker.cpp:
2473         (WebCore::TreeWalker::TreeWalker):
2474         * dom/TreeWalker.h:
2475         (WebCore::TreeWalker::create):
2476
2477 2015-08-20  Anders Carlsson  <andersca@apple.com>
2478
2479         Stop using cancelCallOnMainThread in MediaPlayerPrivateAVFoundation
2480         https://bugs.webkit.org/show_bug.cgi?id=148248
2481
2482         Reviewed by Tim Horton.
2483
2484         Replace cancelCallOnMainThread with WeakPtrs, just like in MediaPlayerPrivateAVFoundationObjC.
2485
2486         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2487         (WebCore::MediaPlayerPrivateAVFoundation::mainThreadCallback):
2488         (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
2489         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
2490         (WebCore::MediaPlayerPrivateAVFoundation::~MediaPlayerPrivateAVFoundation): Deleted.
2491         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2492
2493 2015-08-20  Anders Carlsson  <andersca@apple.com>
2494
2495         Stop using cancelCallOnMainThread in DisplayRefreshMonitorMac
2496         https://bugs.webkit.org/show_bug.cgi?id=148241
2497
2498         Reviewed by Tim Horton.
2499
2500         Create a WeakPtrFactory in DisplayRefreshMonitorMac and bind a WeakPtr in the function passed
2501         to callOnMainThread so we can check if the DisplayRefreshMonitorMac has gone away.
2502
2503         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
2504         (WebCore::DisplayRefreshMonitorMac::DisplayRefreshMonitorMac):
2505         (WebCore::DisplayRefreshMonitorMac::displayLinkFired):
2506         (WebCore::DisplayRefreshMonitorMac::~DisplayRefreshMonitorMac):
2507         * platform/graphics/mac/DisplayRefreshMonitorMac.h:
2508
2509 2015-08-20  Alex Christensen  <achristensen@webkit.org>
2510
2511         AppleWin CMake build fix after r188696.
2512
2513         * PlatformWin.cmake:
2514         No ${} fixes the problem and keeps the desired behavior.
2515
2516 2015-08-20  Per Arne Vollan  <peavo@outlook.com>
2517
2518         [WinCairo] Link errors when building with VS2015.
2519         https://bugs.webkit.org/show_bug.cgi?id=148233
2520
2521         Reviewed by Alex Christensen.
2522
2523         Include some inline function definitions.
2524
2525         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2526         * html/canvas/WebGLRenderingContext.cpp:
2527
2528 2015-08-20  Alex Christensen  <achristensen@webkit.org>
2529
2530         Clean up CMake build after r188673
2531         https://bugs.webkit.org/show_bug.cgi?id=148234
2532
2533         Reviewed by Tim Horton.
2534
2535         * CMakeLists.txt:
2536         * PlatformEfl.cmake:
2537         * PlatformGTK.cmake:
2538         * PlatformWin.cmake:
2539         Make including ANGLE headers platform specific because EFL and GTK don't want to copy headers,
2540         but we need to in order to get the Windows build working with each Source subdirectory isolated.
2541
2542 2015-08-20  Beth Dakin  <bdakin@apple.com>
2543
2544         Standalone image documents should send their size to the UIClient just like 
2545         standalone media documents
2546         https://bugs.webkit.org/show_bug.cgi?id=148195
2547         -and corresponding-
2548         rdar://problem/21951253
2549
2550         Reviewed by Tim Horton.
2551
2552         This patch re-names mediaDocumentNaturalSizeChanged() to 
2553         imageOrMediaDocumentSizeChanged(), and, as the new name implies, uses the 
2554         function for both media documents and images.
2555
2556         * html/ImageDocument.cpp:
2557         (WebCore::ImageDocument::imageUpdated):
2558         * html/MediaDocument.cpp:
2559         (WebCore::MediaDocument::mediaElementNaturalSizeChanged):
2560         * page/ChromeClient.h:
2561
2562 2015-08-20  Simon Fraser  <simon.fraser@apple.com>
2563
2564         Add myself as the will-change contact.
2565
2566         * features.json:
2567
2568 2015-08-20  Chris Dumez  <cdumez@apple.com>
2569
2570         [Cocoa] Treat Epoch as invalid value for "Last-Modified" header
2571         https://bugs.webkit.org/show_bug.cgi?id=148162
2572         rdar://problem/22330837
2573
2574         Reviewed by Antti Koivisto.
2575
2576         Ignore "Last-Modified" header when computing heuristic freshness if it
2577         is Epoch. CFNetwork currently converts a malformed date for Last-Modified
2578         into Epoch so there is no way for us to distinguish Epoch from invalid
2579         input. Without this, we would end up with cached resources that have a
2580         giant lifetime (> 4 years) due to a malformed HTTP header.
2581
2582         Some Websites (e.g. www.popehat.com) also wrongly return Epoch as
2583         Last-Modified value and we would end up caching it overly aggressively.
2584         Now that we consider Epoch as an invalid value for Last-Modified, it will
2585         also work around this content bug.
2586
2587         Test: http/tests/cache/disk-cache/disk-cache-last-modified.html
2588
2589         * platform/network/ResourceResponseBase.cpp:
2590         (WebCore::ResourceResponseBase::lastModified):
2591
2592 2015-08-19  Brian Burg  <bburg@apple.com>
2593
2594         Web Inspector: add TestHarness option to tee all commands to system console
2595         https://bugs.webkit.org/show_bug.cgi?id=148181
2596
2597         Reviewed by Joseph Pecoraro.
2598
2599         * inspector/InspectorFrontendHost.cpp:
2600         (WebCore::InspectorFrontendHost::unbufferedLog): Remove log prefix so output
2601         to stderr can be diffed against expected results without processing.
2602
2603 2015-08-19  Brent Fulgham  <bfulgham@apple.com>
2604
2605         [Win] Unreviewed build fix after r188663.
2606
2607         The new bindings file was added to the Visual Studio project, but was marked to not
2608         be built. It should have also been added to the "JSBindingsAllInOne.cpp" file so
2609         that the new code gets compiled.
2610
2611         * bindings/js/JSBindingsAllInOne.cpp:
2612
2613 2015-08-19  Alex Christensen  <achristensen@webkit.org>
2614
2615         CMake Windows build should not include files directly from other Source directories
2616         https://bugs.webkit.org/show_bug.cgi?id=148198
2617
2618         Reviewed by Brent Fulgham.
2619
2620         * CMakeLists.txt:
2621         * PlatformEfl.cmake:
2622         * PlatformGTK.cmake:
2623         * PlatformWin.cmake:
2624
2625 2015-08-19  Wenson Hsieh  <wenson_hsieh@apple.com>
2626
2627         Select validation does not correctly work when handling change event
2628         https://bugs.webkit.org/show_bug.cgi?id=145869
2629
2630         Reviewed by Dean Jackson.
2631
2632         When selecting an option in a <select> with validation that also has an onchange listener, calling
2633         checkValidity() for the select within the onchange handler would produce incorrect results and (on
2634         a debug build) crash at an assertion. This is because the change events were being dispatched before
2635         form validity was updated. Making the validation step come before the change event dispatch fixes
2636         this issue.
2637
2638         Test: fast/forms/onchange-select-check-validity.html
2639
2640         * html/HTMLSelectElement.cpp:
2641         (WebCore::HTMLSelectElement::selectOption): Update validity before dispatching change events.
2642
2643 2015-08-19  Jinyoung Hur  <hur.ims@navercorp.com>
2644
2645         GraphicsContext3D::activeTexture should not be called with zero-based index
2646         https://bugs.webkit.org/show_bug.cgi?id=148020
2647
2648         Reviewed by Alex Christensen.
2649
2650         GraphicsContext3D::activeTexture should be called with an argument that is greater than or equal to 
2651         GraphicsContext3D::TEXTURE0.
2652
2653         Test: fast/canvas/webgl/texture-complete.html
2654
2655         * html/canvas/WebGLRenderingContextBase.cpp:
2656         (WebCore::WebGLRenderingContextBase::checkTextureCompleteness):
2657
2658 2015-08-19  Chris Dumez  <cdumez@apple.com>
2659
2660         Avoid double hash lookup in our JS bindings named property getter code
2661         https://bugs.webkit.org/show_bug.cgi?id=148193
2662
2663         Reviewed by Geoffrey Garen.
2664
2665         Avoid double hash lookup in our JS bindings named property getter code
2666         for performance reasons.
2667
2668         * CMakeLists.txt:
2669         * WebCore.xcodeproj/project.pbxproj:
2670         Add new file.
2671
2672         * bindings/js/JSDOMNamedFlowCollectionCustom.cpp: Added.
2673         (WebCore::JSDOMNamedFlowCollection::nameGetter):
2674         Moved custom named getter code for DOMNamedFlowCollection from the
2675         bindings generator to an actual custom bindings file.
2676
2677         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2678         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
2679         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2680         * bindings/scripts/test/JS/JSTestEventTarget.h:
2681         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
2682         * bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
2683         Rebaseline bindings tests.
2684
2685 2015-08-19  Simon Fraser  <simon.fraser@apple.com>
2686
2687         Add CSS will-change to the feature list
2688         https://bugs.webkit.org/show_bug.cgi?id=148199
2689
2690         Reviewed by Dean Jackson.
2691
2692         * features.json:
2693
2694 2015-08-19  Eric Carlson  <eric.carlson@apple.com>
2695
2696         Remove ENABLE_WEBVTT_REGIONS
2697         https://bugs.webkit.org/show_bug.cgi?id=148184
2698
2699         Reviewed by Jer Noble.
2700
2701         * Configurations/FeatureDefines.xcconfig: Remove ENABLE_WEBVTT_REGIONS.
2702         * html/HTMLMediaElement.cpp:
2703         (WebCore::HTMLMediaElement::textTrackRemoveCue):
2704         * html/shadow/MediaControlElements.cpp:
2705         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
2706         * html/track/InbandGenericTextTrack.cpp:
2707         (WebCore::InbandGenericTextTrack::newCuesParsed):
2708         (WebCore::InbandGenericTextTrack::newRegionsParsed):
2709         (WebCore::InbandGenericTextTrack::fileFailedToParse):
2710         * html/track/InbandGenericTextTrack.h:
2711         * html/track/InbandWebVTTTextTrack.cpp:
2712         (WebCore::InbandWebVTTTextTrack::newCuesParsed):
2713         (WebCore::InbandWebVTTTextTrack::newRegionsParsed):
2714         (WebCore::InbandWebVTTTextTrack::fileFailedToParse):
2715         * html/track/InbandWebVTTTextTrack.h:
2716         * html/track/LoadableTextTrack.cpp:
2717         (WebCore::LoadableTextTrack::cueLoadingCompleted):
2718         (WebCore::LoadableTextTrack::newRegionsAvailable):
2719         (WebCore::LoadableTextTrack::id):
2720         * html/track/LoadableTextTrack.h:
2721         * html/track/TextTrack.cpp:
2722         (WebCore::TextTrack::TextTrack):
2723         (WebCore::TextTrack::~TextTrack):
2724         (WebCore::TextTrack::removeCue):
2725         (WebCore::TextTrack::ensureVTTRegionList):
2726         (WebCore::TextTrack::removeRegion):
2727         (WebCore::TextTrack::cueWillChange):
2728         * html/track/TextTrack.h:
2729         * html/track/TextTrack.idl:
2730         * html/track/TextTrackCue.cpp:
2731         * html/track/VTTCue.cpp:
2732         (WebCore::VTTCueBox::applyCSSProperties):
2733         (WebCore::VTTCue::createCueRenderingTree):
2734         (WebCore::VTTCue::setRegionId):
2735         (WebCore::VTTCue::notifyRegionWhenRemovingDisplayTree):
2736         (WebCore::VTTCue::setIsActive):
2737         (WebCore::VTTCue::removeDisplayTree):
2738         (WebCore::VTTCue::settingName):
2739         (WebCore::VTTCue::setCueSettings):
2740         (WebCore::VTTCue::getCSSAlignment):
2741         * html/track/VTTCue.h:
2742         (WebCore::VTTCue::regionId):
2743         * html/track/VTTCue.idl:
2744         * html/track/VTTRegion.cpp:
2745         * html/track/VTTRegion.h:
2746         * html/track/VTTRegion.idl:
2747         * html/track/VTTRegionList.cpp:
2748         * html/track/VTTRegionList.h:
2749         * html/track/VTTRegionList.idl:
2750         * html/track/WebVTTParser.cpp:
2751         (WebCore::WebVTTParser::parseFloatPercentageValue):
2752         (WebCore::WebVTTParser::parseFloatPercentageValuePair):
2753         (WebCore::WebVTTParser::WebVTTParser):
2754         (WebCore::WebVTTParser::getNewCues):
2755         (WebCore::WebVTTParser::getNewRegions):
2756         (WebCore::WebVTTParser::parseFileHeader):
2757         (WebCore::WebVTTParser::parse):
2758         (WebCore::WebVTTParser::collectMetadataHeader):
2759         (WebCore::WebVTTParser::collectCueId):
2760         (WebCore::WebVTTParser::resetCueValues):
2761         (WebCore::WebVTTParser::createNewRegion):
2762         (WebCore::WebVTTParser::collectTimeStamp):
2763         * html/track/WebVTTParser.h:
2764         (WebCore::WebVTTParserClient::~WebVTTParserClient):
2765         * loader/TextTrackLoader.cpp:
2766         (WebCore::TextTrackLoader::newCuesParsed):
2767         (WebCore::TextTrackLoader::newRegionsParsed):
2768         (WebCore::TextTrackLoader::fileFailedToParse):
2769         (WebCore::TextTrackLoader::getNewCues):
2770         (WebCore::TextTrackLoader::getNewRegions):
2771         * loader/TextTrackLoader.h:
2772         * rendering/RenderVTTCue.cpp:
2773         (WebCore::RenderVTTCue::layout):
2774
2775 2015-08-19  Brent Fulgham  <bfulgham@apple.com>
2776
2777         Scrollable area container is not properly cleared when page is going into the PageCache
2778         https://bugs.webkit.org/show_bug.cgi?id=148182
2779         <rdar://problem/21969170>
2780
2781         Reviewed by Dean Jackson.
2782
2783         Must be tested manually going back and forth in history several times.
2784
2785         * history/CachedFrame.cpp:
2786         (WebCore::CachedFrame::CachedFrame): Clear the cached ScrollableAreas from the FrameView.
2787         * page/FrameView.cpp:
2788         (WebCore::FrameView::clearScrollableAreas): Added.
2789         * page/FrameView.h:
2790
2791 2015-08-19  Zalan Bujtas  <zalan@apple.com>
2792
2793         outline-style: auto leaves bits behind on strava's flyby view.
2794         https://bugs.webkit.org/show_bug.cgi?id=148178
2795
2796         Reviewed by Simon Fraser.
2797
2798         RenderView::m_maximalOutlineSize should include outline-offset.
2799
2800         Test: fast/repaint/outline-auto-with-width-less-than-focus-ring-width-and-offset-repaint.html
2801
2802         * rendering/RenderElement.cpp:
2803         (WebCore::RenderElement::computeMaxOutlineSize):
2804         * rendering/RenderObject.cpp:
2805         (WebCore::RenderObject::adjustRectForOutlineAndShadow):
2806
2807 2015-08-19  Anders Carlsson  <andersca@apple.com>
2808
2809         Fix errors on bots.
2810
2811         Ask the backend to cleanup and terminate
2812
2813         * Modules/webdatabase/SQLTransaction.cpp:
2814         (WebCore::SQLTransaction::computeNextStateAndCleanupIfNeeded):
2815
2816 2015-08-19  Dean Jackson  <dino@apple.com>
2817
2818         Clean up our CSS files (e.g. remove prefixes)
2819         https://bugs.webkit.org/show_bug.cgi?id=148194
2820         <rdar://problem/22351034>
2821
2822         Reviewed by Brent Fulgham.
2823
2824         A lot of our internal CSS was still using prefixed forms of properties.
2825         As I started cleaning those up, I noticed lots of small things
2826         like missing semicolons and whitespace.
2827
2828         No change in behaviour for testing.
2829
2830         * css/fullscreen.css:
2831         * css/html.css:
2832         * css/mathml.css:
2833         * css/mediaControls.css:
2834         * css/mediaControlsGtk.css:
2835         * css/plugIns.css:
2836
2837 2015-08-19  Zalan Bujtas  <zalan@apple.com>
2838
2839         Cleanup outline-style: auto painting.
2840         https://bugs.webkit.org/show_bug.cgi?id=148159
2841
2842         Reviewed by Simon Fraser.
2843
2844         Old platform style required the focus ring to be painted with an offset. (https://trac.webkit.org/r5358)
2845         (and it has the side effect of growing outline-width adds further, unwanted offset)
2846         Default css for :focus is adjusted to remove this offset by setting the outline-width to 5px
2847         and the outline-offset to -2px. (https://trac.webkit.org/r13639)
2848         This patch removes both the old logic and the workaround for getting rid of the unwanted offset.
2849
2850         Test: fast/repaint/outline-auto-with-default-width-and-offset-repaint.html
2851
2852         * css/html.css:
2853         (:focus):
2854         (input:focus, textarea:focus, isindex:focus, keygen:focus, select:focus): Deleted.
2855         * platform/graphics/mac/GraphicsContextMac.mm:
2856         (WebCore::GraphicsContext::drawFocusRing):
2857         * rendering/RenderElement.cpp:
2858         (WebCore::RenderElement::computeMaxOutlineSize):
2859         (WebCore::RenderElement::paintFocusRing):
2860         (WebCore::RenderElement::paintOutline): Short circuit painting outline when painting is disabled. It
2861         only change behaviour for non-auto outlines -which are anyway not supposed to be painted when painting is disabled.
2862         * rendering/RenderObject.cpp:
2863         (WebCore::RenderObject::adjustRectForOutlineAndShadow):
2864         * rendering/RenderTheme.h:
2865         (WebCore::RenderTheme::platformFocusRingWidth):
2866         (WebCore::RenderTheme::platformFocusRingMaxWidth): Deleted.
2867
2868 2015-08-18  Dean Jackson  <dino@apple.com>
2869
2870         Support CSS filters without webkit prefix
2871         https://bugs.webkit.org/show_bug.cgi?id=148138
2872         <rdar://problem/22331434>
2873
2874         Reviewed by Sam Weinig.
2875
2876         Add support for the un-prefixed form of the CSS filter property.
2877         This was straightforward for the general case on HTML content.
2878         It was a bit more tricky on SVG content, where there already
2879         was an existing "filter" property/attribute. The parsing
2880         code is now shared between SVG and HTML, as is the
2881         computed style output.
2882
2883         Covered by updating the existing tests, and
2884         adding one new test: css3/filters/unprefixed.html
2885
2886         * css/CSSComputedStyleDeclaration.cpp: Rename CSSPropertyWebkitFilter to CSSPropertyFilter.
2887         (WebCore::isLayoutDependent):
2888         (WebCore::ComputedStyleExtractor::propertyValue):
2889
2890         * css/CSSFilterImageValue.cpp:
2891         (WebCore::CSSFilterImageValue::customCSSText): Use "filter(" as the prefix.
2892
2893         * css/CSSParser.cpp:
2894         (WebCore::CSSParser::parseValue): Rename CSSPropertyWebkitFilter to CSSPropertyFilter.
2895         (WebCore::CSSParser::isGeneratedImageValue): Add support for "filter()".
2896         (WebCore::CSSParser::parseGeneratedImage): Ditto.
2897         (WebCore::CSSParser::parseBuiltinFilterArguments):
2898
2899         * css/CSSPropertyNames.in: Add filter. Make -webkit-filter an alias.
2900
2901         * css/SVGCSSComputedStyleDeclaration.cpp:
2902         (WebCore::ComputedStyleExtractor::svgPropertyValue): Deleted.
2903
2904         * page/animation/CSSPropertyAnimation.cpp: Rename CSSPropertyWebkitFilter to CSSPropertyFilter.
2905         (WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter):
2906         * page/animation/KeyframeAnimation.cpp: Ditto.
2907         (WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists):
2908
2909         * platform/graphics/GraphicsLayer.cpp: Rename AnimatedPropertyWebkitFilter to AnimatedPropertyFilter.
2910         (WebCore::GraphicsLayer::validateFilterOperations):
2911         * platform/graphics/GraphicsLayerClient.h: Ditto.
2912         * platform/graphics/ca/GraphicsLayerCA.cpp: Ditto.
2913         (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
2914         (WebCore::GraphicsLayerCA::addAnimation):
2915         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
2916         (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
2917
2918         * rendering/RenderLayer.cpp:
2919         (WebCore::RenderLayer::updateOrRemoveFilterClients): SVG manages its own filter resources,
2920         so we shouldn't add a layer that has an SVG root to the filter clients.
2921
2922         * rendering/RenderLayerBacking.cpp: Renaming.
2923         (WebCore::RenderLayerBacking::startAnimation):
2924         (WebCore::RenderLayerBacking::startTransition):
2925         (WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
2926         (WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):
2927         * rendering/RenderLayerCompositor.cpp: Ditto.
2928         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
2929
2930         * rendering/style/SVGRenderStyle.h: Remove the SVG filter style.
2931         (WebCore::SVGRenderStyle::isolatesBlending): No need to check for hasFilter().
2932         (WebCore::SVGRenderStyle::initialFilterResource): Deleted.
2933         (WebCore::SVGRenderStyle::setFilterResource): Deleted.
2934         (WebCore::SVGRenderStyle::filterResource): Deleted.
2935         (WebCore::SVGRenderStyle::hasFilter): Deleted.
2936
2937         * rendering/style/SVGRenderStyleDefs.cpp: Remove the filter resource.
2938         (WebCore::StyleResourceData::StyleResourceData): Deleted.
2939         (WebCore::StyleResourceData::operator==): Deleted.
2940         * rendering/style/SVGRenderStyleDefs.h:
2941
2942         * rendering/style/WillChangeData.cpp: Renaming.
2943         (WebCore::propertyCreatesStackingContext):
2944         (WebCore::propertyTriggersCompositing):
2945
2946         * rendering/svg/SVGRenderSupport.cpp:
2947         (WebCore::SVGRenderSupport::isolatesBlending): Since SVGRenderStyle no longer checks
2948         hasFilter() in its isolatesBlending(), we need to do it here.
2949
2950         * rendering/svg/SVGRenderingContext.cpp:
2951         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
2952
2953         * rendering/svg/SVGRenderTreeAsText.cpp:
2954         (WebCore::writeResources): Dump from the CSS style value.
2955         * rendering/svg/SVGResources.cpp: Ditto.
2956         (WebCore::SVGResources::buildCachedResources):
2957         * rendering/svg/SVGResources.h:
2958         * rendering/svg/SVGResourcesCache.cpp:
2959         (WebCore::SVGResourcesCache::addResourcesFromRenderer):
2960
2961         * platform/graphics/texmap/TextureMapperLayer.cpp: Renaming.
2962         * platform/graphics/texmap/TextureMapperAnimation.cpp:
2963         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2964
2965 2015-08-18  Anders Carlsson  <andersca@apple.com>
2966
2967         More work on simplifying the WebSQL code
2968         https://bugs.webkit.org/show_bug.cgi?id=148145
2969
2970         Reviewed by Tim Horton.
2971
2972         Eliminate SQLTransaction::sendToBackendState.
2973
2974         * Modules/webdatabase/SQLTransaction.cpp:
2975         (WebCore::SQLTransaction::stateFunctionFor):
2976         Change sendToBackendState to unreachableState,
2977
2978         (WebCore::SQLTransaction::deliverTransactionCallback):
2979         Call deliverTransactionErrorCallback directly and schedule RunStatements on the backend.
2980
2981         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
2982         Schedule CleanupAfterTransactionErrorCallback on the backend.
2983
2984         (WebCore::SQLTransaction::deliverStatementCallback):
2985         Fold nextStateForTransactionError into here. Schedule backend states explicitly.
2986
2987         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
2988         Schedule RunStatements on the backend.
2989
2990         (WebCore::SQLTransaction::deliverSuccessCallback):
2991         Schedule CleanupAndTerminate on the backend.
2992
2993         (WebCore::SQLTransaction::computeNextStateAndCleanupIfNeeded):
2994         The return value of this function isn't used to make it return void.
2995
2996         (WebCore::SQLTransaction::nextStateForTransactionError): Deleted.
2997         Remove this, it's been folded into deliverStatementCallback.
2998
2999         (WebCore::SQLTransaction::sendToBackendState): Deleted.
3000         Get rid of this.
3001
3002         * Modules/webdatabase/SQLTransaction.h:
3003         Update member functions.
3004
3005         * Modules/webdatabase/SQLTransactionBackend.cpp:
3006         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
3007         Just call runStatements() directly.
3008
3009         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
3010         Just call cleanupAndTerminate() directly.
3011
3012         (WebCore::SQLTransactionBackend::shouldPerformWhilePaused): Deleted.
3013         Get rid of an iOS member function that's no longer used.
3014
3015         * Modules/webdatabase/SQLTransactionBackend.h:
3016         Remove member function.
3017
3018 2015-08-18  Filip Pizlo  <fpizlo@apple.com>
3019
3020         Replace all uses of std::mutex/std::condition_variable with WTF::Lock/WTF::Condition
3021         https://bugs.webkit.org/show_bug.cgi?id=148140
3022
3023         Reviewed by Geoffrey Garen.
3024
3025         No new tests because no new behavior.
3026
3027         * Modules/webaudio/AudioBufferSourceNode.cpp:
3028         (WebCore::AudioBufferSourceNode::process):
3029         (WebCore::AudioBufferSourceNode::setBuffer):
3030         * Modules/webaudio/AudioBufferSourceNode.h:
3031         * Modules/webaudio/AudioParamTimeline.cpp:
3032         (WebCore::AudioParamTimeline::insertEvent):
3033         (WebCore::AudioParamTimeline::cancelScheduledValues):
3034         (WebCore::AudioParamTimeline::valueForContextTime):
3035         (WebCore::AudioParamTimeline::valuesForTimeRange):
3036         * Modules/webaudio/AudioParamTimeline.h:
3037         * Modules/webaudio/ConvolverNode.cpp:
3038         (WebCore::ConvolverNode::process):
3039         (WebCore::ConvolverNode::reset):
3040         (WebCore::ConvolverNode::setBuffer):
3041         * Modules/webaudio/ConvolverNode.h:
3042         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
3043         (WebCore::MediaElementAudioSourceNode::process):
3044         * Modules/webaudio/MediaElementAudioSourceNode.h:
3045         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
3046         (WebCore::MediaStreamAudioSourceNode::setFormat):
3047         (WebCore::MediaStreamAudioSourceNode::process):
3048         * Modules/webaudio/MediaStreamAudioSourceNode.h:
3049         * Modules/webaudio/OscillatorNode.cpp:
3050         (WebCore::OscillatorNode::process):
3051         (WebCore::OscillatorNode::setPeriodicWave):
3052         * Modules/webaudio/OscillatorNode.h:
3053         * Modules/webaudio/PannerNode.cpp:
3054         (WebCore::PannerNode::process):
3055         (WebCore::PannerNode::setPanningModel):
3056         * Modules/webaudio/PannerNode.h:
3057         * Modules/webaudio/WaveShaperProcessor.cpp:
3058         (WebCore::WaveShaperProcessor::setCurve):
3059         (WebCore::WaveShaperProcessor::setOversample):
3060         (WebCore::WaveShaperProcessor::process):
3061         * Modules/webaudio/WaveShaperProcessor.h:
3062         * Modules/webdatabase/Database.cpp:
3063         (WebCore::retrieveTextResultFromDatabase):
3064         (WebCore::guidToVersionMap):
3065         (WebCore::Database::Database):
3066         (WebCore::Database::performOpenAndVerify):
3067         (WebCore::Database::closeDatabase):
3068         (WebCore::Database::getCachedVersion):
3069         (WebCore::Database::setCachedVersion):
3070         (WebCore::guidMutex): Deleted.
3071         * Modules/webdatabase/DatabaseManager.cpp:
3072         (WebCore::DatabaseManager::existingDatabaseContextFor):
3073         (WebCore::DatabaseManager::registerDatabaseContext):
3074         (WebCore::DatabaseManager::unregisterDatabaseContext):
3075         (WebCore::DatabaseManager::didConstructDatabaseContext):
3076         (WebCore::DatabaseManager::didDestructDatabaseContext):
3077         (WebCore::DatabaseManager::addProposedDatabase):
3078         (WebCore::DatabaseManager::removeProposedDatabase):
3079         (WebCore::DatabaseManager::fullPathForDatabase):
3080         (WebCore::DatabaseManager::detailsForNameAndOrigin):
3081         * Modules/webdatabase/DatabaseManager.h:
3082         * bindings/objc/DOMInternal.mm:
3083         (getDOMWrapper):
3084         (addDOMWrapper):
3085         (removeDOMWrapper):
3086         (wrapperCacheLock): Deleted.
3087         * crypto/CryptoAlgorithmRegistry.cpp:
3088         (WebCore::CryptoAlgorithmRegistry::singleton):
3089         (WebCore::CryptoAlgorithmRegistry::CryptoAlgorithmRegistry):
3090         (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
3091         (WebCore::CryptoAlgorithmRegistry::nameForIdentifier):
3092         (WebCore::CryptoAlgorithmRegistry::create):
3093         (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
3094         (WebCore::registryMutex): Deleted.
3095         * inspector/WorkerDebuggerAgent.cpp:
3096         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
3097         (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
3098         (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
3099         * page/WheelEventTestTrigger.cpp:
3100         (WebCore::WheelEventTestTrigger::clearAllTestDeferrals):
3101         (WebCore::WheelEventTestTrigger::setTestCallbackAndStartNotificationTimer):
3102         (WebCore::WheelEventTestTrigger::deferTestsForReason):
3103         (WebCore::WheelEventTestTrigger::removeTestDeferralForReason):
3104         (WebCore::WheelEventTestTrigger::triggerTestTimerFired):
3105         * page/WheelEventTestTrigger.h:
3106         * page/scrolling/ScrollingThread.cpp:
3107         (WebCore::ScrollingThread::dispatch):
3108         (WebCore::ScrollingThread::createThreadIfNeeded):
3109         (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
3110         * page/scrolling/ScrollingThread.h:
3111         * page/scrolling/mac/ScrollingThreadMac.mm:
3112         (WebCore::ScrollingThread::initializeRunLoop):
3113         * platform/audio/ReverbConvolver.cpp:
3114         (WebCore::ReverbConvolver::~ReverbConvolver):
3115         (WebCore::ReverbConvolver::backgroundThreadEntry):
3116         (WebCore::ReverbConvolver::process):
3117         (WebCore::ReverbConvolver::reset):
3118         * platform/audio/ReverbConvolver.h:
3119         * platform/ios/wak/WebCoreThreadRun.cpp:
3120         * platform/mac/Language.mm:
3121         (WebCore::preferredLanguages):
3122         (+[WebLanguageChangeObserver languagePreferencesDidChange:]):
3123         (WebCore::platformUserPreferredLanguages):
3124         (WebCore::preferredLanguagesMutex): Deleted.
3125         * platform/network/cf/LoaderRunLoopCF.cpp:
3126         (WebCore::emptyPerform):
3127         (WebCore::runLoaderThread):
3128         (WebCore::loaderRunLoop):
3129         (WebCore::loaderRunLoopMutex): Deleted.
3130         (WebCore::loaderRunLoopConditionVariable): Deleted.
3131         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3132         (WebCore::callOnMainThreadAndWait):
3133         * platform/network/curl/SocketStreamHandle.h:
3134         * platform/network/curl/SocketStreamHandleCurl.cpp:
3135         (WebCore::SocketStreamHandle::platformSend):
3136         (WebCore::SocketStreamHandle::sendData):
3137         * platform/sql/SQLiteDatabaseTracker.cpp:
3138         (WebCore::SQLiteDatabaseTracker::setClient):
3139         (WebCore::SQLiteDatabaseTracker::incrementTransactionInProgressCount):
3140         (WebCore::SQLiteDatabaseTracker::decrementTransactionInProgressCount):
3141         (WebCore::SQLiteDatabaseTracker::transactionInProgressMutex): Deleted.
3142         * platform/text/TextBreakIterator.cpp:
3143         (WebCore::compareAndSwapNonSharedCharacterBreakIterator):
3144         * platform/text/TextEncodingRegistry.cpp:
3145         (WebCore::newTextCodec):
3146         (WebCore::atomicCanonicalTextEncodingName):
3147         (WebCore::dumpTextEncodingNameMap):
3148         (WebCore::encodingRegistryMutex): Deleted.
3149         * workers/WorkerThread.cpp:
3150         (WebCore::workerThreads):
3151         (WebCore::WorkerThread::workerThreadCount):
3152         (WebCore::WorkerThread::WorkerThread):
3153         (WebCore::WorkerThread::~WorkerThread):
3154         (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
3155         (WebCore::threadSetMutex): Deleted.
3156
3157 2015-08-18  Wenson Hsieh  <wenson_hsieh@apple.com>
3158
3159         Scroll snapping should trigger when receiving a momentum end wheel event
3160         https://bugs.webkit.org/show_bug.cgi?id=148155
3161
3162         Reviewed by Alexey Proskuryakov.
3163
3164         No new tests, since the purpose of this patch is to get existing tests to pass when
3165         allowing similar wheel events to coalesce. To accomplish this, we relax our assumption
3166         that the user must have generated at least 3 momentum wheel events in order for the
3167         gliding animation to trigger. Upon receiving a wheel event indicating the end of the
3168         momentum phase, we now kick off the gliding animation as long as any momentum event
3169         was tracked earlier in the gesture with a nonzero wheel delta.
3170
3171         * platform/cocoa/ScrollController.mm:
3172         (WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): Added logic to
3173             begin a glide animation if we have received a momentum end event but have not
3174             yet triggered a gliding animation.
3175         * platform/cocoa/ScrollSnapAnimatorState.h:
3176         * platform/cocoa/ScrollSnapAnimatorState.mm:
3177         (WebCore::ScrollSnapAnimatorState::wheelDeltaTrackingIsInProgress): Minor refactoring
3178             to make the wheel event processing code more readable.
3179         (WebCore::ScrollSnapAnimatorState::hasFinishedTrackingWheelDeltas): Ditto.
3180
3181 2015-08-18  Myles C. Maxfield  <mmaxfield@apple.com>
3182
3183         [Cocoa] Punctuation near Hindi text is garbled when styled with the system font
3184         https://bugs.webkit.org/show_bug.cgi?id=148164
3185
3186         Reviewed by Brian Burg.
3187
3188         Fonts cache whether or not they are the system font. This caching took place at the end of Font::platformInit().
3189         However, in the middle of Font::platformInit(), we look up a glyph, which calls GlyphPage::fill() which consults
3190         with this cache. However, at this point, the cache has not been constructed yet. The solution is just to
3191         construct the cache earlier (at the beginning of the function).
3192
3193         Consulting with the cache before it is populated causes it to erroneously say that no fonts are system fonts.
3194         Then, we use Core Graphics to ask for glyphs instead of Core Text. Core Graphics, however, is incapable of
3195         handling the system font, and returns us garbled results. In particular, when the system language is set to
3196         Japanese, the system font does not support punctuation, and Core Text tells us so. However, Core Graphics
3197         erroneously tells us that the system font does support punctuation.
3198
3199         Then, if text is near the punctuation which causes us to take the complex text codepath (such as Hindi text),
3200         we tell Core Text to explicitly lay out the punctuation using the system font (which does not support
3201         punctuation). Core Text then replies that the provided font doesn't support the punctuation, and that we should
3202         use LastResort with some other glyphs instead. WebKit then disregards the font CoreText told us to use (because
3203         we are oh-so-sure that the font in question supports punctuation) and uses the LastResort glyph IDs with our
3204         font, which causes arbitrary glyphs to be shown.
3205
3206         Test: fast/text/hindi-system-font-punctuation.html
3207
3208         * platform/graphics/cocoa/FontCocoa.mm:
3209         (WebCore::Font::platformInit):
3210
3211 2015-08-18  Joseph Pecoraro  <pecoraro@apple.com>
3212
3213         Web Inspector: Links for rules in <style> are incorrect, do not account for <style> offset in the document
3214         https://bugs.webkit.org/show_bug.cgi?id=148141
3215
3216         Reviewed by Brian Burg.
3217
3218         Test: inspector/css/getAllStyleSheets.html
3219
3220         * css/CSSStyleSheet.h:
3221         * css/CSSStyleSheet.cpp:
3222         (WebCore::CSSStyleSheet::create):
3223         (WebCore::CSSStyleSheet::createInline):
3224         (WebCore::CSSStyleSheet::CSSStyleSheet):
3225         Include the starting position when created by the Parser.
3226         Default to the minimum position, which should never be
3227         possible for an inline <style> because the "<style>" characters
3228         themselves require at least some offset.
3229
3230         * dom/InlineStyleSheetOwner.cpp:
3231         (WebCore::InlineStyleSheetOwner::createSheet):
3232         Provide the start position offset for this stylesheet if it was inline.
3233
3234         * inspector/InspectorStyleSheet.cpp:
3235         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
3236         Include new protocol values for the style sheet.
3237
3238 2015-08-18  Dean Jackson  <dino@apple.com>
3239
3240         Add null check in ImageBufferData::getData
3241         https://bugs.webkit.org/show_bug.cgi?id=148156
3242         <rdar://problem/22337157>
3243
3244         Reviewed by Simon Fraser.
3245
3246         We're getting a number of crash reports that suggest the allocation
3247         of the result buffer has failed, but have been unable to reproduce.
3248         This patch adds a null check to the allocation, and logs a message
3249         to the system console. This might avoid the crashes, and hopefully
3250         we'll see the message.
3251
3252         No new tests, since we're unable to reproduce this crash.
3253
3254         * platform/graphics/cg/ImageBufferDataCG.cpp:
3255         (WebCore::ImageBufferData::getData): Add a null-check and early
3256         return.
3257
3258 2015-08-18  Chris Dumez  <cdumez@apple.com>
3259
3260         Use CSSValuePool::singleton() instead of cssValuePool()
3261         https://bugs.webkit.org/show_bug.cgi?id=148132
3262
3263         Reviewed by Simon Fraser.
3264
3265         Use CSSValuePool::singleton() instead of cssValuePool() to access the
3266         global CSSValuePool instance, as per coding style.
3267
3268 2015-08-17  Matt Rajca  <mrajca@apple.com>
3269
3270         Media Session: don't begin listening for interruptions when an interruption provider is created
3271         https://bugs.webkit.org/show_bug.cgi?id=148109
3272
3273         Reviewed by Eric Carlson.
3274
3275         If we call `beginListeningForInterruption` in MediaSessionInterruptionProvider's constructor, the current
3276         class's implementation will get called, not implementations provided by subclasses (this makes sense since base
3277         classes are initialized before derived classes). To fix this, we let clients of
3278         MediaSessionInterruptionProvider start listening for interruptions instead. As a corollary of this, we can
3279         make MediaSessionInterruptionProvider's methods pure virtual.
3280
3281         * Modules/mediasession/MediaSessionManager.cpp:
3282         (WebCore::MediaSessionManager::MediaSessionManager):
3283         * platform/mediasession/MediaSessionInterruptionProvider.h:
3284         * platform/mediasession/MediaSessionInterruptionProvider.cpp:
3285         (WebCore::MediaSessionInterruptionProvider::MediaSessionInterruptionProvider):
3286
3287 2015-08-18  Eric Carlson  <eric.carlson@apple.com>
3288
3289         Remove "platform text track menu"
3290         https://bugs.webkit.org/show_bug.cgi?id=148139
3291
3292         Reviewed by Jer Noble.
3293
3294         No new tests, this patch removes unused code.
3295
3296         * WebCore.xcodeproj/project.pbxproj: Remove PlatformTextTrackMenu.h.
3297         * html/HTMLMediaElement.cpp:
3298         (WebCore::HTMLMediaElement::scheduleDelayedAction): Remove PLATFORM_TEXT_TRACK_MENU.
3299         (WebCore::HTMLMediaElement::pendingActionTimerFired):
3300         (WebCore::HTMLMediaElement::textTrackModeChanged):
3301         (WebCore::HTMLMediaElement::mediaPlayerDidRemoveVideoTrack):
3302         (WebCore::HTMLMediaElement::closeCaptionTracksChanged):
3303         (WebCore::HTMLMediaElement::addAudioTrack):
3304         (WebCore::HTMLMediaElement::clearMediaPlayer):
3305         (WebCore::HTMLMediaElement::setSelectedTextTrack): Deleted.
3306         (WebCore::HTMLMediaElement::platformTextTracks): Deleted.
3307         (WebCore::HTMLMediaElement::notifyMediaPlayerOfTextTrackChanges): Deleted.
3308         (WebCore::HTMLMediaElement::platformTextTrackMenu): Deleted.
3309         * html/HTMLMediaElement.h:
3310         (WebCore::HTMLMediaElement::player):
3311         * html/track/InbandTextTrack.h:
3312         * html/track/TextTrack.cpp:
3313         (WebCore::TextTrack::hasCue):
3314         (WebCore::TextTrack::isMainProgramContent):
3315         (WebCore::TextTrack::platformTextTrack): Deleted.
3316         * html/track/TextTrack.h:
3317         (WebCore::TextTrack::create):
3318         * platform/graphics/MediaPlayer.cpp:
3319         (WebCore::MediaPlayer::resetMediaEngines):
3320         (WebCore::MediaPlayer::implementsTextTrackControls): Deleted.
3321         (WebCore::MediaPlayer::textTrackMenu): Deleted.
3322         * platform/graphics/MediaPlayer.h:
3323         * platform/graphics/MediaPlayerPrivate.h:
3324         (WebCore::MediaPlayerPrivateInterface::tracksChanged):
3325         (WebCore::MediaPlayerPrivateInterface::simulateAudioInterruption):
3326         (WebCore::MediaPlayerPrivateInterface::implementsTextTrackControls): Deleted.
3327         (WebCore::MediaPlayerPrivateInterface::textTrackMenu): Deleted.
3328         * platform/graphics/PlatformTextTrack.h:
3329         * platform/graphics/PlatformTextTrackMenu.h: Removed.
3330
3331 2015-08-18  Wenson Hsieh  <wenson_hsieh@apple.com>
3332
3333         Search input results and clear icons are misaligned when padding is added
3334         https://bugs.webkit.org/show_bug.cgi?id=148146
3335         <rdar://problem/22310951>
3336
3337         Reviewed by Zalan Bujtas.
3338
3339         Use content box rect to determine where to draw the results and cancel buttons
3340         of a search field that has -webkit-appearance: textfield. Previously, we used
3341         the bounding box, which caused the buttons to render in the input's padding
3342         region.
3343
3344         Test: platform/mac/fast/forms/search/search-padding-cancel-results-buttons.html
3345
3346         * rendering/RenderThemeMac.mm:
3347         (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Use content box to
3348             compute where to render cancel button.
3349         (WebCore::RenderThemeMac::paintSearchFieldResultsButton): Use content box to
3350             compute where to render results button.
3351
3352 2015-08-18  Dean Jackson  <dino@apple.com>
3353
3354         CAOpenGLLayer doesn't need an SPI declaration
3355         https://bugs.webkit.org/show_bug.cgi?id=148151
3356
3357         Reviewed by Tim Horton.
3358
3359         Follow-up to https://trac.webkit.org/r188608.
3360         The property is in the public SDK, so we don't need
3361         to declare it.
3362
3363         * platform/spi/cocoa/QuartzCoreSPI.h:
3364
3365 2015-08-18  Myles C. Maxfield  <mmaxfield@apple.com>
3366
3367         [El Capitan] Fix the open source build
3368         https://bugs.webkit.org/show_bug.cgi?id=148134
3369
3370         Reviewed by Anders Carlsson.
3371
3372         No new tests because there is no behavior change.
3373
3374         Need to declare CGFontRenderingStyle.
3375
3376         * platform/spi/cocoa/CoreTextSPI.h:
3377
3378 2015-08-18  Dean Jackson  <dino@apple.com>
3379
3380         CAOpenGLLayer needs a named class extension for non-internal installs
3381         https://bugs.webkit.org/show_bug.cgi?id=148151
3382         <rdar://problem/22335111>
3383
3384         Reviewed by Tim Horton.
3385
3386         In order to build using the public SDK on El Capitan, we can't
3387         use a class extension to declare this SPI.
3388
3389         No change in behaviour, so no new tests.
3390
3391         * platform/spi/cocoa/QuartzCoreSPI.h:
3392
3393 2015-08-18  Simon Fraser  <simon.fraser@apple.com>
3394
3395         will-change: backface-visibility should not cause stacking context
3396         https://bugs.webkit.org/show_bug.cgi?id=148091
3397
3398         Reviewed by Zalan Bujtas.
3399         
3400         Take CSSPropertyWebkitBackfaceVisibility out of the list of properties that causes
3401         will-change to create stacking context, since no value of the property creates
3402         stacking.
3403
3404         Move willChangeCreatesStackingContext() and shouldWillChangeCreateStackingContext()
3405         into RenderInline since it's only called from there.
3406
3407         * rendering/RenderElement.cpp:
3408         (WebCore::RenderElement::shouldWillChangeCreateStackingContext): Deleted.
3409         * rendering/RenderElement.h:
3410         (WebCore::RenderElement::willChangeCreatesStackingContext): Deleted.
3411         * rendering/RenderInline.h:
3412         (WebCore::RenderInline::willChangeCreatesStackingContext):
3413         * rendering/style/WillChangeData.cpp:
3414         (WebCore::propertyCreatesStackingContext): Deleted.
3415
3416 2015-08-18  Alex Christensen  <achristensen@webkit.org>
3417
3418         Unreviewed, fix the cairo build after r188594.
3419
3420         * platform/network/curl/CurlDownload.h:
3421         * platform/network/curl/ResourceHandleManager.cpp:
3422         Include Lock.h
3423
3424 2015-08-18  Filip Pizlo  <fpizlo@apple.com>
3425
3426         Unreviewed, fix the cairo build.
3427
3428         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
3429
3430 2015-08-17  Filip Pizlo  <fpizlo@apple.com>
3431
3432         Replace all remaining uses of WTF::Mutex with WTF::Lock
3433         https://bugs.webkit.org/show_bug.cgi?id=148089
3434
3435         Reviewed by Geoffrey Garen.
3436
3437         No new tests because no new behavior.
3438
3439         * Modules/webaudio/AsyncAudioDecoder.cpp:
3440         (WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
3441         (WebCore::AsyncAudioDecoder::runLoop):
3442         * Modules/webaudio/AsyncAudioDecoder.h:
3443         * Modules/webaudio/AudioContext.h:
3444         * Modules/webaudio/MediaStreamAudioSource.cpp:
3445         (WebCore::MediaStreamAudioSource::addAudioConsumer):
3446         (WebCore::MediaStreamAudioSource::removeAudioConsumer):
3447         (WebCore::MediaStreamAudioSource::setAudioFormat):
3448         (WebCore::MediaStreamAudioSource::consumeAudio):
3449         * Modules/webaudio/MediaStreamAudioSource.h:
3450         * Modules/webdatabase/Database.cpp:
3451         (WebCore::Database::close):
3452         (WebCore::Database::runTransaction):
3453         (WebCore::Database::inProgressTransactionCompleted):
3454         (WebCore::Database::hasPendingTransaction):
3455         * Modules/webdatabase/Database.h:
3456         * Modules/webdatabase/DatabaseTask.cpp:
3457         (WebCore::DatabaseTaskSynchronizer::taskCompleted):
3458         * Modules/webdatabase/DatabaseTask.h:
3459         * Modules/webdatabase/DatabaseThread.cpp:
3460         (WebCore::DatabaseThread::start):
3461         (WebCore::DatabaseThread::databaseThread):
3462         * Modules/webdatabase/DatabaseThread.h:
3463         * Modules/webdatabase/DatabaseTracker.cpp:
3464         (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
3465         (WebCore::DatabaseTracker::canEstablishDatabase):
3466         (WebCore::DatabaseTracker::retryCanEstablishDatabase):
3467         (WebCore::DatabaseTracker::hasEntryForOrigin):
3468         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3469         (WebCore::DatabaseTracker::closeAllDatabases):
3470         (WebCore::DatabaseTracker::fullPathForDatabase):
3471         (WebCore::DatabaseTracker::origins):
3472         (WebCore::DatabaseTracker::databaseNamesForOrigin):
3473         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
3474         (WebCore::DatabaseTracker::setDatabaseDetails):