53a3a4b2baa6595c0d31e38c90184476c93521be
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-08-09  Eric Carlson  <eric.carlson@apple.com>
2
3         [Mac] Always require ExternalDeviceAutoPlayCandidate flag to AirPlay automatically
4         https://bugs.webkit.org/show_bug.cgi?id=147801
5
6         Reviewed by Dean Jackson.
7
8         Test: http/tests/media/video-media-document-disposition-download.html
9
10         * Modules/mediasession/WebMediaSessionManager.cpp:
11         (WebCore::WebMediaSessionManager::configurePlaybackTargetClients): Don't tell the last element
12           to begin playing to the target unless the ExternalDeviceAutoPlayCandidate flag is set and 
13           it is not currently playing.
14
15 2015-08-09  Myles C. Maxfield  <mmaxfield@apple.com>
16
17         Crash in ComplexTextController when laying out obscure text
18         https://bugs.webkit.org/show_bug.cgi?id=147806
19         <rdar://problem/22102378>
20
21         Reviewed by Darin Adler.
22
23         CTFontDescriptorCopyAttribute(fontDescriptor.get(), kCTFontReferenceURLAttribute) can return nullptr.
24
25         Test: fast/text/crash-obscure-text.html
26
27         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
28         (WebCore::safeCFEqual):
29         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
30
31 2015-08-08  Dean Jackson  <dino@apple.com>
32
33         Remove the webkit prefix from CanvasRenderingContext2D imageSmoothingEnabled
34         https://bugs.webkit.org/show_bug.cgi?id=147803
35         <rdar://problem/22200553>
36
37         Reviewed by Sam Weinig.
38
39         Rename webkitImageSmoothingEnabled to imageSmoothingEnabled.
40
41         Updated existing tests, and made sure that the prefixed version is
42         identical to the standard version.
43
44         * html/canvas/CanvasRenderingContext2D.cpp:
45         (WebCore::CanvasRenderingContext2D::imageSmoothingEnabled): Renamed from webkitImageSmoothingEnabled.
46         (WebCore::CanvasRenderingContext2D::setImageSmoothingEnabled): Renamed from setWebkitImageSmoothingEnabled.
47         (WebCore::CanvasRenderingContext2D::webkitImageSmoothingEnabled): Deleted.
48         (WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled): Deleted.
49         * html/canvas/CanvasRenderingContext2D.h: Rename the methods.
50         * html/canvas/CanvasRenderingContext2D.idl: Add the non-prefixed form, and mark is as the
51         implementation of the prefixed form.
52
53 2015-08-09  Andreas Kling  <akling@apple.com>
54
55         Ref-ify some functions that always succeed in constructing Documents.
56         <https://webkit.org/b/147552>
57
58         Reviewed by Sam Weinig.
59
60         Update some functions involved in the construction of new Document objects
61         to codify that they always construct objects.
62
63         Bonus: DOMImplementation::createCSSStyleSheet().
64
65         * dom/DOMImplementation.cpp:
66         (WebCore::DOMImplementation::createCSSStyleSheet):
67         (WebCore::DOMImplementation::createHTMLDocument):
68         (WebCore::DOMImplementation::createDocument):
69         * dom/DOMImplementation.h:
70         * loader/DocumentWriter.cpp:
71         (WebCore::DocumentWriter::createDocument):
72         (WebCore::DocumentWriter::begin):
73         * loader/DocumentWriter.h:
74         * xml/DOMParser.cpp:
75         (WebCore::DOMParser::parseFromString):
76         * xml/DOMParser.h:
77         * xml/XSLTProcessor.cpp:
78         (WebCore::XSLTProcessor::createDocumentFromSource):
79         * xml/XSLTProcessor.h:
80
81 2015-08-08  Commit Queue  <commit-queue@webkit.org>
82
83         Unreviewed, rolling out r179871.
84         https://bugs.webkit.org/show_bug.cgi?id=147810
85
86         Breaks product images on http://www.apple.com/shop/buy-
87         mac/macbook (Requested by smfr on #webkit).
88
89         Reverted changeset:
90
91         "Render: properly update body's background image"
92         https://bugs.webkit.org/show_bug.cgi?id=140183
93         http://trac.webkit.org/changeset/179871
94
95 2015-08-07  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
96
97         Reduce uses of PassRefPtr in bindings
98         https://bugs.webkit.org/show_bug.cgi?id=147781
99
100         Reviewed by Chris Dumez.
101
102         Use RefPtr when function can return null or an instance. If not, Ref is used.
103
104         * bindings/gobject/GObjectNodeFilterCondition.h:
105         * bindings/gobject/GObjectXPathNSResolver.h:
106         * bindings/gobject/WebKitDOMNodeFilter.cpp:
107         (WebKit::core):
108         * bindings/gobject/WebKitDOMNodeFilterPrivate.h:
109         * bindings/gobject/WebKitDOMXPathNSResolver.cpp:
110         (WebKit::core):
111         * bindings/gobject/WebKitDOMXPathNSResolverPrivate.h:
112         * bindings/js/CallbackFunction.h:
113         (WebCore::createFunctionOnlyCallback):
114         * bindings/js/Dictionary.h:
115         (WebCore::Dictionary::getEventListener):
116         * bindings/js/IDBBindingUtilities.cpp:
117         (WebCore::createIDBKeyFromValue):
118         (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
119         (WebCore::createIDBKeyFromScriptValueAndKeyPath):
120         (WebCore::scriptValueToIDBKey):
121         * bindings/js/IDBBindingUtilities.h:
122         * bindings/js/JSDOMBinding.h:
123         (WebCore::toInt8Array):
124         (WebCore::toInt16Array):
125         (WebCore::toInt32Array):
126         (WebCore::toUint8Array):
127         (WebCore::toUint8ClampedArray):
128         (WebCore::toUint16Array):
129         (WebCore::toUint32Array):
130         (WebCore::toFloat32Array):
131         (WebCore::toFloat64Array):
132         * bindings/js/JSDOMStringListCustom.cpp:
133         (WebCore::JSDOMStringList::toWrapped):
134         * bindings/js/JSDeviceMotionEventCustom.cpp:
135         (WebCore::readAccelerationArgument):
136         (WebCore::readRotationRateArgument):
137         * bindings/js/JSErrorHandler.h:
138         (WebCore::createJSErrorHandler):
139         * bindings/js/JSGeolocationCustom.cpp:
140         (WebCore::createPositionOptions):
141         * bindings/js/JSNodeCustom.cpp:
142         * bindings/js/JSNodeFilterCustom.cpp:
143         (WebCore::JSNodeFilter::toWrapped):
144         * bindings/js/ScriptController.cpp:
145         (WebCore::ScriptController::createWorld):
146         (WebCore::ScriptController::createRootObject):
147         (WebCore::ScriptController::createScriptInstanceForWidget):
148         * bindings/js/ScriptController.h:
149         * bindings/js/ScriptControllerMac.mm:
150         (WebCore::ScriptController::createScriptInstanceForWidget):
151         * bindings/js/SerializedScriptValue.cpp:
152         (WebCore::SerializedScriptValue::create):
153         * bindings/js/SerializedScriptValue.h:
154         * bindings/objc/DOMUIKitExtensions.mm:
155         (-[DOMNode rangeOfContainingParagraph]):
156         * bindings/objc/ObjCNodeFilterCondition.h:
157         * bindings/scripts/CodeGeneratorJS.pm:
158         (GenerateHeader):
159
160 2015-08-07  Myles C. Maxfield  <mmaxfield@apple.com>
161
162         [OS X] Remove dead code from FontCache::createFontPlatformData()
163         https://bugs.webkit.org/show_bug.cgi?id=147804
164
165         Reviewed by Zalan Bujtas.
166
167         CTFontCreateForCSS() always returns the best font.
168
169         No new tests because there is no behavior change.
170
171         * platform/graphics/mac/FontCacheMac.mm:
172         (WebCore::fontWithFamily):
173
174 2015-08-07  Zalan Bujtas  <zalan@apple.com>
175
176         Move painting functions from RenderObject to RenderElement.
177         https://bugs.webkit.org/show_bug.cgi?id=147764
178
179         Reviewed by Simon Fraser.
180
181         Ideally they should live in RenderBoxModelObject, but the current SVG architecture makes is difficult
182         to move them there.
183
184         No change in functionality.
185
186         * platform/graphics/FloatRect.h:
187         (WebCore::FloatRect::FloatRect):
188         * rendering/RenderBoxModelObject.cpp:
189         (WebCore::RenderBoxModelObject::paintOneBorderSide):
190         * rendering/RenderElement.cpp:
191         (WebCore::RenderElement::drawLineForBoxSide):
192         (WebCore::RenderElement::paintFocusRing):
193         (WebCore::RenderElement::paintOutline):
194         * rendering/RenderElement.h:
195         * rendering/RenderInline.cpp:
196         (WebCore::RenderInline::paintOutline):
197         (WebCore::RenderInline::paintOutlineForLine):
198         * rendering/RenderMultiColumnSet.cpp:
199         (WebCore::RenderMultiColumnSet::paintColumnRules):
200         * rendering/RenderObject.cpp:
201         (WebCore::RenderObject::drawLineForBoxSide): Deleted.
202         (WebCore::RenderObject::paintFocusRing): Deleted.
203         (WebCore::RenderObject::paintOutline): Deleted.
204         * rendering/RenderObject.h:
205         * rendering/RenderTableCell.cpp:
206         (WebCore::RenderTableCell::paintCollapsedBorders):
207         * rendering/RenderTableSection.cpp:
208         (WebCore::RenderTableSection::paintRowGroupBorder):
209         * rendering/RenderTheme.h:
210         (WebCore::RenderTheme::paintMenuListButtonDecorations):
211         * rendering/RenderThemeIOS.h:
212         * rendering/RenderThemeIOS.mm:
213         (WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
214         * rendering/RenderThemeMac.h:
215         * rendering/RenderThemeMac.mm:
216         (WebCore::RenderThemeMac::paintMenuListButtonDecorations):
217
218 2015-08-07  James Craig  <jcraig@apple.com>
219
220         REGRESSION(r184722) AX: WebKit video playback toolbar removed from DOM; no longer accessible to VoiceOver
221         https://bugs.webkit.org/show_bug.cgi?id=145684
222
223         Reviewed by Dean Jackson.
224
225         Updated Apple Video controls to add an invisible but focusable button that allows VoiceOver 
226         users (and when unblocked, keyboard users) to re-display the video controls.
227
228         Test: media/video-controls-show-on-kb-or-ax-event.html
229
230         * English.lproj/mediaControlsLocalizedStrings.js:
231         * Modules/mediacontrols/mediaControlsApple.css:
232         (audio::-webkit-media-show-controls):
233         (video::-webkit-media-show-controls):
234         * Modules/mediacontrols/mediaControlsApple.js:
235         (Controller.prototype.createControls):
236         (Controller.prototype.handleFullscreenChange):
237         (Controller.prototype.handleShowControlsClick):
238         (Controller.prototype.handleWrapperMouseMove):
239         (Controller.prototype.updateForShowingControls):
240         (Controller.prototype.showControls):
241         (Controller.prototype.hideControls):
242         (Controller.prototype.setNeedsUpdateForDisplayedWidth):
243         * Modules/mediacontrols/mediaControlsiOS.css:
244         (audio::-webkit-media-show-controls):
245         (video::-webkit-media-show-controls):
246
247 2015-08-07  Alex Christensen  <achristensen@webkit.org>
248
249         Build more testing binaries with CMake on Windows
250         https://bugs.webkit.org/show_bug.cgi?id=147799
251
252         Reviewed by Brent Fulgham.
253
254         * CMakeLists.txt:
255         MockCDM.cpp needs to be part of WebCoreTestSupport, not WebCore.
256         * PlatformWin.cmake:
257         Added files needed for AppleWin port.
258
259 2015-08-07  Anders Carlsson  <andersca@apple.com>
260
261         Being moving away from using SQLTransactionStateMachine in SQLTransactionBackend
262         https://bugs.webkit.org/show_bug.cgi?id=147798
263
264         Reviewed by Geoffrey Garen.
265
266         This is the first step towards getting rid of the state machine so we can ultimately merge SQLTransactionBackend
267         into SQLTransaction.
268
269         Instead of having the state machine run our functions, just run them ourselves where we can. For states that need
270         to be handled in the frontend, call SQLTransaction::requestTransitToState explicitly.
271
272         * Modules/webdatabase/SQLTransactionBackend.cpp:
273         (WebCore::SQLTransactionBackend::stateFunctionFor):
274         (WebCore::SQLTransactionBackend::lockAcquired):
275         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
276         (WebCore::SQLTransactionBackend::runStatements):
277         (WebCore::SQLTransactionBackend::runCurrentStatement):
278         (WebCore::SQLTransactionBackend::handleCurrentStatementError):
279         (WebCore::SQLTransactionBackend::handleTransactionError):
280         (WebCore::SQLTransactionBackend::postflightAndCommit):
281         (WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState): Deleted.
282         (WebCore::SQLTransactionBackend::nextStateForCurrentStatementError): Deleted.
283         (WebCore::SQLTransactionBackend::nextStateForTransactionError): Deleted.
284         (WebCore::SQLTransactionBackend::sendToFrontendState): Deleted.
285         * Modules/webdatabase/SQLTransactionBackend.h:
286
287 2015-08-07  Filip Pizlo  <fpizlo@apple.com>
288
289         Lightweight locks should be adaptive
290         https://bugs.webkit.org/show_bug.cgi?id=147545
291
292         Reviewed by Geoffrey Garen.
293
294         * bindings/objc/WebScriptObject.mm:
295         (WebCore::getJSWrapper):
296         (WebCore::addJSWrapper):
297         (WebCore::removeJSWrapper):
298         (WebCore::removeJSWrapperIfRetainCountOne):
299         * platform/audio/mac/CARingBuffer.cpp:
300         (WebCore::CARingBuffer::setCurrentFrameBounds):
301         (WebCore::CARingBuffer::getCurrentFrameBounds):
302         * platform/audio/mac/CARingBuffer.h:
303         * platform/ios/wak/WAKWindow.mm:
304         (-[WAKWindow setExposedScrollViewRect:]):
305         (-[WAKWindow exposedScrollViewRect]):
306
307 2015-08-07  Myles C. Maxfield  <mmaxfield@apple.com>
308
309         Post-review comments on r188146
310         https://bugs.webkit.org/show_bug.cgi?id=147793
311
312         Reviewed by Daniel Bates.
313
314         No new tests because there is no behavior change.
315
316         * platform/graphics/FontCache.h:
317         * platform/graphics/cocoa/FontCacheCoreText.cpp:
318         (WebCore::appendTrueTypeFeature):
319         (WebCore::appendOpenTypeFeature):
320         (WebCore::applyFontFeatureSettings):
321         * platform/graphics/ios/FontCacheIOS.mm:
322         (WebCore::FontCache::getSystemFontFallbackForCharacters):
323         (WebCore::FontCache::createFontPlatformData):
324         * platform/graphics/mac/FontCacheMac.mm:
325         (WebCore::fontWithFamily):
326         (WebCore::FontCache::systemFallbackForCharacters):
327         * platform/graphics/mac/FontCustomPlatformData.cpp:
328         (WebCore::FontCustomPlatformData::fontPlatformData):
329         * rendering/RenderThemeIOS.mm:
330         (WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
331
332 2015-08-07  Myles C. Maxfield  <mmaxfield@apple.com>
333
334         [Cocoa] Font fallback is not language-sensitive
335         https://bugs.webkit.org/show_bug.cgi?id=147390
336
337         Reviewed by Dean Jackson.
338
339         We need to make our font fallback code sensitive to locale.
340
341         This patch rolls r187729 back in. However, only particular versions of iOS and OS X are
342         performant enough to enable this language-sensitivity.
343
344         This patch also applies to iOS.
345
346         Test: fast/text/fallback-language-han.html
347
348         * platform/graphics/mac/FontCacheMac.mm:
349         (WebCore::lookupCTFont):
350         (WebCore::FontCache::systemFallbackForCharacters):
351         * platform/graphics/mac/FontCacheIOS.mm:
352         (WebCore::FontCache::systemFallbackForCharacters):
353
354 2015-08-07  Zalan Bujtas  <zalan@apple.com>
355
356         RenderTheme::volumeSliderOffsetFromMuteButton should take const& RenderBox.
357         https://bugs.webkit.org/show_bug.cgi?id=147731
358
359         Reviewed by Simon Fraser.
360
361         No change in functionality.
362
363         * rendering/RenderMediaControlElements.cpp:
364         (WebCore::RenderMediaVolumeSliderContainer::layout):
365         * rendering/RenderMediaControls.cpp:
366         (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Deleted.
367         * rendering/RenderMediaControls.h:
368         * rendering/RenderTheme.cpp:
369         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
370         * rendering/RenderTheme.h:
371
372 2015-08-07  Zalan Bujtas  <zalan@apple.com>
373
374         Replace RenderObject::isRooted() logic with isDescendantOf().
375         https://bugs.webkit.org/show_bug.cgi?id=147788
376
377         Reviewed by Simon Fraser.
378
379         And some related cleanups.
380
381         No change in functionality.
382
383         * page/FrameView.cpp:
384         (WebCore::FrameView::scheduleRelayoutOfSubtree):
385         (WebCore::FrameView::extendedBackgroundRectForPainting):
386         * rendering/RenderBox.cpp:
387         (WebCore::RenderBox::paintRootBoxFillLayers):
388         * rendering/RenderElement.cpp:
389         (WebCore::shouldRepaintForImageAnimation):
390         * rendering/RenderObject.cpp:
391         (WebCore::RenderObject::isDescendantOf):
392         (WebCore::scheduleRelayoutForSubtree):
393         (WebCore::RenderObject::repaint):
394         (WebCore::RenderObject::repaintRectangle):
395         (WebCore::RenderObject::repaintSlowRepaintObject):
396         (WebCore::RenderObject::isRooted):
397         * rendering/RenderObject.h:
398         * rendering/RenderView.cpp:
399         (WebCore::RenderView::unextendedBackgroundRect):
400         (WebCore::RenderView::backgroundRect):
401         * rendering/RenderView.h:
402
403 2015-08-07  Zalan Bujtas  <zalan@apple.com>
404
405         Subtree layout code should use RenderElement.
406         https://bugs.webkit.org/show_bug.cgi?id=147694
407
408         Reviewed by Simon Fraser.
409
410         Subtree layout will never begin at a RenderText, so tighten up
411         the code to operate on RenderElements instead of RenderObjects.
412         (This patch is based on webkit.org/b/126878)
413
414         No change in functionality.
415
416         * inspector/InspectorTimelineAgent.cpp:
417         (WebCore::InspectorTimelineAgent::willLayout):
418         * page/FrameView.cpp:
419         (WebCore::FrameView::FrameView): Deleted.
420         (WebCore::FrameView::layoutRoot): Deleted.
421         * page/FrameView.h:
422         * rendering/RenderBox.cpp:
423         (WebCore::RenderBox::computeLogicalWidthInRegion):
424         * rendering/RenderElement.cpp:
425         (WebCore::RenderElement::clearLayoutRootIfNeeded):
426         (WebCore::RenderElement::willBeDestroyed):
427         * rendering/RenderElement.h:
428         * rendering/RenderObject.cpp:
429         (WebCore::RenderObject::clearLayoutRootIfNeeded): Deleted.
430         (WebCore::RenderObject::willBeDestroyed): Deleted.
431         * rendering/RenderObject.h:
432
433 2015-08-07  Wenson Hsieh  <wenson_hsieh@apple.com>
434
435         Temporarily allow programmatic input assistance for adding Gmail account
436         https://bugs.webkit.org/show_bug.cgi?id=147792
437
438         Reviewed by Enrica Casucci.
439         <rdar://problem/22126518>
440
441         Temporary fix for keyboard input sliding out and immediately back in upon user interaction
442         in the Gmail 2-factor authentication page.
443
444         * platform/RuntimeApplicationChecksIOS.h:
445         * platform/RuntimeApplicationChecksIOS.mm:
446         (WebCore::applicationIsGmailAddAccountOnIOS): Added bundle ID for Gmail settings.
447
448 2015-08-07  Andy Estes  <aestes@apple.com>
449
450         Crash when following a Google search link to Twitter with Limit Adult Content enabled
451         https://bugs.webkit.org/show_bug.cgi?id=147651
452
453         Reviewed by Brady Eidson.
454
455         When a loaded CachedRawResource gets a new client, it synthesizes the callbacks that the new client would have
456         received while the resource was loading. Unlike a real network load, it synthesizes these callbacks in a single
457         run loop iteration. When DocumentLoader receives a redirect, and finds substitute data in the app cache for the
458         redirect URL, it schedules a timer that removes DocumentLoader as a client of the CachedRawResource then
459         synthesizes its own set of CachedRawResourceClient callbacks. But since CachedRawResource has already delivered
460         client callbacks before the app cache timer fires, DocumentLoader unexpectedly ends up getting two sets of
461         client callbacks and badness ensues.
462
463         The fix is to let CachedRawResource detect if a redirect will trigger the client to load substitute data. If so,
464         stop delivering client callbacks.
465
466         Layout test to follow.
467
468         * loader/DocumentLoader.cpp:
469         (WebCore::DocumentLoader::syntheticRedirectReceived): If there is valid substitute data, do not continue.
470         * loader/DocumentLoader.h:
471         * loader/cache/CachedRawResource.cpp: Returned early if syntheticRedirectReceived() said not to continue.
472         (WebCore::CachedRawResource::didAddClient):
473         * loader/cache/CachedRawResourceClient.h:
474         (WebCore::CachedRawResourceClient::syntheticRedirectReceived):
475
476 2015-08-06  Dean Jackson  <dino@apple.com>
477
478         Shadows don't draw on fillText when using a gradient fill
479         https://bugs.webkit.org/show_bug.cgi?id=147758
480         <rdar://problem/20860912>
481
482         Reviewed by Myles Maxfield.
483
484         Since we use a mask to render a pattern or gradient
485         into text, any shadow was being clipped out. Change
486         this to draw the shadow before the mask + fill operation,
487         using a technique similar to text-shadow.
488
489         Test: fast/canvas/gradient-text-with-shadow.html
490
491         * html/canvas/CanvasRenderingContext2D.cpp:
492         (WebCore::CanvasRenderingContext2D::drawTextInternal): Get the current shadow
493         style, paint the text with a transformed shadow offset so that we only
494         see the shadow and not the text, then combine with the existing pattern/gradient
495         fill.
496
497 2015-08-07  Myles C. Maxfield  <mmaxfield@apple.com>
498
499         Implement font-feature-settings
500         https://bugs.webkit.org/show_bug.cgi?id=147722
501
502         Reviewed by Simon Fraser.
503
504         Fonts with features are simply modeled as new font objects. Font
505         feature information is contained within FontDescription, and our
506         caches are correctly sensitive to this information. Therefore,
507         we just need to make our font lookup code honor the request to
508         use certain features.
509
510         This patch creates a file, FontCacheCoreText.cpp, which will be the
511         new home of all shared OS X / iOS FontCache code. Over time, I will
512         be moving more and more source into this file, until there is
513         nothing left of FontCacheMac.mm and FontCacheIOS.mm. For now, the
514         only function in this file is the code which applies font features.
515
516         Test: css3/font-feature-settings-preinstalled-fonts.html
517
518         * WebCore.xcodeproj/project.pbxproj: Add FontCacheCoreText.cpp.
519         * platform/graphics/FontCache.h:
520         * platform/graphics/cocoa/FontCacheCoreText.cpp: Added.
521         (WebCore::appendTrueTypeFeature): What the name says.
522         (WebCore::appendOpenTypeFeature): Ditto.
523         (WebCore::applyFontFeatureSettings): Ditto.
524         * platform/graphics/ios/FontCacheIOS.mm:
525         (WebCore::FontCache::getSystemFontFallbackForCharacters): Call
526         applyFontFeatureSettings().
527         (WebCore::FontCache::createFontPlatformData): Ditto.
528         * platform/graphics/mac/FontCacheMac.mm:
529         (WebCore::fontWithFamily): Ditto.
530         (WebCore::FontCache::systemFallbackForCharacters): Ditto.
531         (WebCore::FontCache::createFontPlatformData): Ditto.
532         * platform/graphics/mac/FontCustomPlatformData.cpp:
533         (WebCore::FontCustomPlatformData::fontPlatformData): Ditto.
534         * rendering/RenderThemeIOS.mm:
535         (WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
536         Ditto.
537
538 2015-08-07  Commit Queue  <commit-queue@webkit.org>
539
540         Unreviewed, rolling out r187907.
541         https://bugs.webkit.org/show_bug.cgi?id=147789
542
543         taking a different approach to the fix (Requested by estes on
544         #webkit).
545
546         Reverted changeset:
547
548         "Crash when following a Google search link to Twitter with
549         Limit Adult Content enabled."
550         https://bugs.webkit.org/show_bug.cgi?id=147651
551         http://trac.webkit.org/changeset/187907
552
553 2015-08-07  Alex Christensen  <achristensen@webkit.org>
554
555         Fix WinCairo build after r188130.
556
557         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
558         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
559         (WebCore::FontCustomPlatformData::fontPlatformData):
560         I forgot the parameter name.
561
562 2015-08-07  Alex Christensen  <achristensen@webkit.org>
563
564         Fix WinCairo build after r188130.
565
566         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
567         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
568         (WebCore::FontCustomPlatformData::fontPlatformData):
569         Update fontPlatformData parameters.
570
571 2015-08-07  Daniel Bates  <dabates@apple.com>
572
573         Attempt to fix the Windows build after <http://trac.webkit.org/changeset/188130>
574         (https://bugs.webkit.org/show_bug.cgi?id=147775)
575
576         Include header FontDescription.h.
577
578         * platform/graphics/win/FontCustomPlatformData.cpp:
579         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
580
581 2015-08-07  Myles C. Maxfield  <mmaxfield@apple.com>
582
583         Allow FontCustomPlatformData to consult with FontDescription
584         https://bugs.webkit.org/show_bug.cgi?id=147775
585
586         Reviewed by Zalan Bujtas.
587
588         In order to implement font-feature-settings, web fonts need to be
589         able to consult with the set of active font features. Rather than
590         add yet another argument to all the functions in this flow, this
591         patch passes around a reference to the FontDescription itself instead
592         of copies of constituent members of it.
593
594         No new tests because there is no behavior change.
595
596         * css/CSSFontFaceSource.cpp:
597         (WebCore::CSSFontFaceSource::font):
598         * loader/cache/CachedFont.cpp:
599         (WebCore::CachedFont::createFont):
600         (WebCore::CachedFont::platformDataFromCustomData):
601         * loader/cache/CachedFont.h:
602         * loader/cache/CachedSVGFont.cpp:
603         (WebCore::CachedSVGFont::platformDataFromCustomData):
604         * loader/cache/CachedSVGFont.h:
605         * platform/graphics/cairo/FontCustomPlatformData.h:
606         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
607         (WebCore::FontCustomPlatformData::fontPlatformData):
608         * platform/graphics/freetype/FontPlatformData.h:
609         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
610         (WebCore::FontPlatformData::FontPlatformData):
611         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
612         (WebCore::Font::platformCreateScaledFont):
613         * platform/graphics/mac/FontCustomPlatformData.cpp:
614         (WebCore::FontCustomPlatformData::fontPlatformData):
615         * platform/graphics/mac/FontCustomPlatformData.h:
616         * platform/graphics/win/FontCustomPlatformData.cpp:
617         (WebCore::FontCustomPlatformData::fontPlatformData):
618         * platform/graphics/win/FontCustomPlatformData.h:
619
620 2015-08-07  Xabier Rodriguez Calvar  <calvaris@igalia.com>
621
622         [Streams API] Create CountQueuingStrategy object as per spec
623         https://bugs.webkit.org/show_bug.cgi?id=146594
624
625         Reviewed by Geoffrey Garen.
626
627         CountQueuingStrategy is a class part of the Streams API that can be found at
628         https://streams.spec.whatwg.org/#cqs-class. We had it as js at the tests but the spec says we have to provide it
629         natively. The class is implemented in this patch by creating its corresponding IDL with the size method using
630         the [CustomBinding] attribute, that does not create any bindings against the object allowing us full control to
631         do what the spec requires (just returning 1 without any cast check). The constructor sets the highWaterMark
632         property taking it from the argument.
633
634         Covered by current tests
635         (LayoutTests/streams/reference-implementation/count-queuing-strategy.html and
636         LayoutTests/streams/reference-implementation/brand-checks.html).
637
638         * CMakeLists.txt:
639         * DerivedSources.cpp:
640         * DerivedSources.make:
641         * PlatformMac.cmake:
642         * WebCore.vcxproj/WebCore.vcxproj:
643         * WebCore.vcxproj/WebCore.vcxproj.filters:
644         * WebCore.xcodeproj/project.pbxproj:
645         * bindings/js/JSBindingsAllInOne.cpp: Build infrastructure.
646         * Modules/streams/CountQueuingStrategy.h: Added.
647         (WebCore::CountQueuingStrategy::~CountQueuingStrategy): Created empty.
648         (WebCore::CountQueuingStrategy::size): Returns 1.
649         * Modules/streams/CountQueuingStrategy.idl: Added.
650         * bindings/js/JSCountQueuingStrategyCustom.cpp: Added.
651         (WebCore::jsCountQueuingStrategyPrototypeFunctionSize): Calls WebCore::CountQueuingStrategy::size.
652         (WebCore::constructJSCountQueuingStrategy): Constructs the strategy, copies the highWaterMark from the argument
653         and returns it.
654         * bindings/js/JSDOMBinding.h:
655         (WebCore::getPropertyFromObject): Moved from ReadableJSStream.cpp.
656         (WebCore::setPropertyToObject): Added to create a property into an object.
657         * bindings/js/ReadableJSStream.cpp:
658         (WebCore::getPropertyFromObject): Deleted.
659
660 2015-08-07  Brady Eidson  <beidson@apple.com>
661
662         Move concrete KeyedDecoder/Encoder implementations to WebCore.
663         https://bugs.webkit.org/show_bug.cgi?id=147757.
664
665         Rubberstamped by Andy Estes.
666
667         * PlatformEfl.cmake:
668         * PlatformGTK.cmake:
669         * WebCore.xcodeproj/project.pbxproj:
670
671         * platform/KeyedCoding.h:
672         (WebCore::KeyedDecoder::KeyedDecoder): Static constructor to be implemented per-platform.
673         (WebCore::KeyedEncoder::KeyedEncoder): Ditto.
674
675         * platform/cf/KeyedDecoderCF.cpp: Renamed from Source/WebKit2/Shared/cf/KeyedDecoder.cpp.
676         (WebCore::KeyedDecoder::decoder):
677         (WebCore::KeyedDecoderCF::KeyedDecoderCF):
678         (WebCore::KeyedDecoderCF::~KeyedDecoderCF):
679         (WebCore::KeyedDecoderCF::decodeBytes):
680         (WebCore::KeyedDecoderCF::decodeBool):
681         (WebCore::KeyedDecoderCF::decodeUInt32):
682         (WebCore::KeyedDecoderCF::decodeInt32):
683         (WebCore::KeyedDecoderCF::decodeInt64):
684         (WebCore::KeyedDecoderCF::decodeFloat):
685         (WebCore::KeyedDecoderCF::decodeDouble):
686         (WebCore::KeyedDecoderCF::decodeString):
687         (WebCore::KeyedDecoderCF::beginObject):
688         (WebCore::KeyedDecoderCF::endObject):
689         (WebCore::KeyedDecoderCF::beginArray):
690         (WebCore::KeyedDecoderCF::beginArrayElement):
691         (WebCore::KeyedDecoderCF::endArrayElement):
692         (WebCore::KeyedDecoderCF::endArray):
693         * platform/cf/KeyedDecoderCF.h: Renamed from Source/WebKit2/Shared/cf/KeyedDecoder.h.
694         
695         * platform/cf/KeyedEncoderCF.cpp: Renamed from Source/WebKit2/Shared/cf/KeyedEncoder.cpp.
696         (WebCore::KeyedEncoder::encoder):
697         (WebCore::createDictionary):
698         (WebCore::KeyedEncoderCF::KeyedEncoderCF):
699         (WebCore::KeyedEncoderCF::~KeyedEncoderCF):
700         (WebCore::KeyedEncoderCF::encodeBytes):
701         (WebCore::KeyedEncoderCF::encodeBool):
702         (WebCore::KeyedEncoderCF::encodeUInt32):
703         (WebCore::KeyedEncoderCF::encodeInt32):
704         (WebCore::KeyedEncoderCF::encodeInt64):
705         (WebCore::KeyedEncoderCF::encodeFloat):
706         (WebCore::KeyedEncoderCF::encodeDouble):
707         (WebCore::KeyedEncoderCF::encodeString):
708         (WebCore::KeyedEncoderCF::beginObject):
709         (WebCore::KeyedEncoderCF::endObject):
710         (WebCore::KeyedEncoderCF::beginArray):
711         (WebCore::KeyedEncoderCF::beginArrayElement):
712         (WebCore::KeyedEncoderCF::endArrayElement):
713         (WebCore::KeyedEncoderCF::endArray):
714         (WebCore::KeyedEncoderCF::finishEncoding):
715         * platform/cf/KeyedEncoderCF.h: Renamed from Source/WebKit2/Shared/cf/KeyedEncoder.h.
716         
717         * platform/glib/KeyedDecoderGlib.cpp: Renamed from Source/WebKit2/Shared/glib/KeyedDecoder.cpp.
718         (WebCore::KeyedDecoder::decoder):
719         (WebCore::KeyedDecoderGlib::KeyedDecoderGlib):
720         (WebCore::KeyedDecoderGlib::~KeyedDecoderGlib):
721         (WebCore::KeyedDecoderGlib::dictionaryFromGVariant):
722         (WebCore::KeyedDecoderGlib::decodeBytes):
723         (WebCore::KeyedDecoderGlib::decodeSimpleValue):
724         (WebCore::KeyedDecoderGlib::decodeBool):
725         (WebCore::KeyedDecoderGlib::decodeUInt32):
726         (WebCore::KeyedDecoderGlib::decodeInt32):
727         (WebCore::KeyedDecoderGlib::decodeInt64):
728         (WebCore::KeyedDecoderGlib::decodeFloat):
729         (WebCore::KeyedDecoderGlib::decodeDouble):
730         (WebCore::KeyedDecoderGlib::decodeString):
731         (WebCore::KeyedDecoderGlib::beginObject):
732         (WebCore::KeyedDecoderGlib::endObject):
733         (WebCore::KeyedDecoderGlib::beginArray):
734         (WebCore::KeyedDecoderGlib::beginArrayElement):
735         (WebCore::KeyedDecoderGlib::endArrayElement):
736         (WebCore::KeyedDecoderGlib::endArray):
737         * platform/glib/KeyedDecoderGlib.h: Renamed from Source/WebKit2/Shared/glib/KeyedDecoder.h.
738         
739         * platform/glib/KeyedEncoderGlib.cpp: Renamed from Source/WebKit2/Shared/glib/KeyedEncoder.cpp.
740         (WebCore::KeyedEncoder::encoder):
741         (WebCore::KeyedEncoderGlib::KeyedEncoderGlib):
742         (WebCore::KeyedEncoderGlib::~KeyedEncoderGlib):
743         (WebCore::KeyedEncoderGlib::encodeBytes):
744         (WebCore::KeyedEncoderGlib::encodeBool):
745         (WebCore::KeyedEncoderGlib::encodeUInt32):
746         (WebCore::KeyedEncoderGlib::encodeInt32):
747         (WebCore::KeyedEncoderGlib::encodeInt64):
748         (WebCore::KeyedEncoderGlib::encodeFloat):
749         (WebCore::KeyedEncoderGlib::encodeDouble):
750         (WebCore::KeyedEncoderGlib::encodeString):
751         (WebCore::KeyedEncoderGlib::beginObject):
752         (WebCore::KeyedEncoderGlib::endObject):
753         (WebCore::KeyedEncoderGlib::beginArray):
754         (WebCore::KeyedEncoderGlib::beginArrayElement):
755         (WebCore::KeyedEncoderGlib::endArrayElement):
756         (WebCore::KeyedEncoderGlib::endArray):
757         (WebCore::KeyedEncoderGlib::finishEncoding):
758         * platform/glib/KeyedEncoderGlib.h: Renamed from Source/WebKit2/Shared/glib/KeyedEncoder.h.
759
760 2015-08-07  Carlos Garcia Campos  <cgarcia@igalia.com>
761
762         [GStreamer] Do not automatically show PackageKit codec installation notifications
763         https://bugs.webkit.org/show_bug.cgi?id=135973
764
765         Reviewed by Philippe Normand.
766
767         Add description parameter to requestInstallMissingPlugins() that
768         will be used by the API layer.
769
770         * html/HTMLMediaElement.cpp:
771         (WebCore::HTMLMediaElement::requestInstallMissingPlugins):
772         * html/HTMLMediaElement.h:
773         * page/ChromeClient.h:
774         * platform/graphics/MediaPlayer.h:
775         (WebCore::MediaPlayerClient::requestInstallMissingPlugins):
776         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
777         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
778
779 2015-08-07  Doug Russell  <d_russell@apple.com>
780
781         AX: Bug 147737 is causing test failures in Mavericks WK1
782         https://bugs.webkit.org/show_bug.cgi?id=147763
783
784         Restrict change made in 147737 to ElCapitan+ because it is causing tests
785         to fail in Mavericks.
786
787         Reviewed by Chris Fleizach.
788
789         Fixes failing tests.
790
791         * accessibility/AXObjectCache.cpp:
792         (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
793
794 2015-08-07  Xabier Rodriguez Calvar  <calvaris@igalia.com>
795
796         Create [CustomBinding] extended IDL attribute
797         https://bugs.webkit.org/show_bug.cgi?id=146593
798
799         Reviewed by Geoffrey Garen.
800
801         Added the [CustomBinding] IDL extended attribute. The idea is that when using this attribute, bindings generate
802         only the signature of the JS functions and we have to implement all the access in the Custom.cpp files, meaning
803         accessing the implementations at our wish.
804
805         Added customBindingMethod, customBindingMethodWithArgs to the generator tests.
806
807         * bindings/scripts/CodeGeneratorGObject.pm:
808         (SkipFunction): Skipped [CustomBinding] methods.
809         * bindings/scripts/CodeGeneratorJS.pm:
810         (GenerateHeader): Consider CustomBinding as ForwardDeclareInHeader.
811         (GenerateImplementation): Avoid printing both header and implementation of the function.
812         * bindings/scripts/CodeGeneratorObjC.pm:
813         (SkipFunction): Skipped [CustomBinding] methods.
814         * bindings/scripts/IDLAttributes.txt: Added [CustomBinding] IDL extended attribute.
815         * bindings/scripts/test/JS/JSTestObj.cpp:
816         * bindings/scripts/test/TestObj.idl: Added customBindingMethod, customBindingMethodWithArgs and their
817         expectations.
818
819 2015-08-06  Zan Dobersek  <zdobersek@igalia.com>
820
821         Source/WebCore/crypto code should pass std::function<> objects through rvalue references
822         https://bugs.webkit.org/show_bug.cgi?id=147332
823
824         Reviewed by Anders Carlsson.
825
826         Pass the std::function<> callbacks through CryptoAlgorithm methods via
827         rvlaue references. This avoids generation of unnecessary move and copy
828         constructors for std::function<> objects that are being handled.
829
830         * crypto/CryptoAlgorithm.cpp:
831         (WebCore::CryptoAlgorithm::encrypt):
832         (WebCore::CryptoAlgorithm::decrypt):
833         (WebCore::CryptoAlgorithm::sign):
834         (WebCore::CryptoAlgorithm::verify):
835         (WebCore::CryptoAlgorithm::digest):
836         (WebCore::CryptoAlgorithm::generateKey):
837         (WebCore::CryptoAlgorithm::deriveKey):
838         (WebCore::CryptoAlgorithm::deriveBits):
839         (WebCore::CryptoAlgorithm::importKey):
840         (WebCore::CryptoAlgorithm::encryptForWrapKey):
841         (WebCore::CryptoAlgorithm::decryptForUnwrapKey):
842         * crypto/CryptoAlgorithm.h:
843         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
844         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
845         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
846         (WebCore::CryptoAlgorithmAES_CBC::generateKey):
847         (WebCore::CryptoAlgorithmAES_CBC::importKey):
848         * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
849         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
850         (WebCore::CryptoAlgorithmAES_KW::encryptForWrapKey):
851         (WebCore::CryptoAlgorithmAES_KW::decryptForUnwrapKey):
852         (WebCore::CryptoAlgorithmAES_KW::generateKey):
853         (WebCore::CryptoAlgorithmAES_KW::importKey):
854         * crypto/algorithms/CryptoAlgorithmAES_KW.h:
855         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
856         (WebCore::CryptoAlgorithmHMAC::sign):
857         (WebCore::CryptoAlgorithmHMAC::verify):
858         (WebCore::CryptoAlgorithmHMAC::generateKey):
859         (WebCore::CryptoAlgorithmHMAC::importKey):
860         * crypto/algorithms/CryptoAlgorithmHMAC.h:
861         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
862         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
863         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
864         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
865         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
866         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
867         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
868         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
869         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
870         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
871         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
872         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
873         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
874         (WebCore::CryptoAlgorithmRSA_OAEP::encrypt):
875         (WebCore::CryptoAlgorithmRSA_OAEP::decrypt):
876         (WebCore::CryptoAlgorithmRSA_OAEP::generateKey):
877         (WebCore::CryptoAlgorithmRSA_OAEP::importKey):
878         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
879         * crypto/algorithms/CryptoAlgorithmSHA1.cpp:
880         (WebCore::CryptoAlgorithmSHA1::digest):
881         * crypto/algorithms/CryptoAlgorithmSHA1.h:
882         * crypto/algorithms/CryptoAlgorithmSHA224.cpp:
883         (WebCore::CryptoAlgorithmSHA224::digest):
884         * crypto/algorithms/CryptoAlgorithmSHA224.h:
885         * crypto/algorithms/CryptoAlgorithmSHA256.cpp:
886         (WebCore::CryptoAlgorithmSHA256::digest):
887         * crypto/algorithms/CryptoAlgorithmSHA256.h:
888         * crypto/algorithms/CryptoAlgorithmSHA384.cpp:
889         (WebCore::CryptoAlgorithmSHA384::digest):
890         * crypto/algorithms/CryptoAlgorithmSHA384.h:
891         * crypto/algorithms/CryptoAlgorithmSHA512.cpp:
892         (WebCore::CryptoAlgorithmSHA512::digest):
893         * crypto/algorithms/CryptoAlgorithmSHA512.h:
894         * crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp:
895         (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
896         (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
897         * crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp:
898         (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
899         (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
900         * crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp:
901         (WebCore::CryptoAlgorithmHMAC::platformSign):
902         (WebCore::CryptoAlgorithmHMAC::platformVerify):
903         * crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp:
904         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
905         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
906         * crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp:
907         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
908         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
909         * crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp:
910         (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
911         (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
912         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
913         (WebCore::transformAES_CBC):
914         (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
915         (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
916         * crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
917         (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
918         (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
919         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
920         (WebCore::CryptoAlgorithmHMAC::platformSign):
921         (WebCore::CryptoAlgorithmHMAC::platformVerify):
922         * crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp:
923         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
924         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
925         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
926         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
927         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
928         * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp:
929         (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
930         (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
931
932 2015-08-06  Alex Christensen  <achristensen@webkit.org>
933
934         Fix GTK clean build after r187997
935         https://bugs.webkit.org/show_bug.cgi?id=147723
936
937         Reviewed by Gyuyoung Kim.
938
939         * CMakeLists.txt:
940         r187997 made it so WebCoreTestSupport does not link with WebCore, which is necessary to get DumpRenderTree to link.
941         It also made it so WebCoreTestSupport is no longer dependent on WebCore, which causes it to build at the same time.
942         This caused problems because WebCoreTestSupport uses headers that are generated for WebCore, such as WebKitFontFamilyNames.h.
943         Adding a dependency makes it so that WebCoreTestSupport waits until WebCore is done compiling before compiling,
944         which is what it used to do, but it does not cause linking problems with DumpRenderTree.
945
946 2015-08-06  Myles C. Maxfield  <mmaxfield@apple.com>
947
948         CSSSegmentedFontFace::fontRanges() does not handle duplicate fonts correctly
949         https://bugs.webkit.org/show_bug.cgi?id=147765
950
951         Reviewed by Filip Pizlo.
952
953         CSSSegmentedFontFace::fontRanges() was trying to hash on FontDescriptors by
954         picking a few specific pieces of data out of the FontDescriptor, computing
955         a hash on it, and using that unsigned as a key in a HashMap. This has two
956         problems: it doesn't handle equality correctly, as hash collisions cannot
957         depend on an equality operator to dedup, and it doesn't hash on all the
958         members of a FontDescription.
959
960         Instead, this HashMap should use FontDescriptionKey, which represents a
961         FontDescription, and is designed exactly for the purpose of being used as a
962         key in a HashMap.
963
964         No new tests because there is no behavior change (because a problem occurs
965         when two different FontDescriptions hash to the same value, which is rare).
966
967         * css/CSSSegmentedFontFace.cpp:
968         (WebCore::CSSSegmentedFontFace::fontRanges):
969         * css/CSSSegmentedFontFace.h:
970         * platform/graphics/FontCache.h:
971         (WebCore::FontDescriptionKeyHash::hash):
972         (WebCore::FontDescriptionKeyHash::equal):
973
974 2015-08-06  Myles C. Maxfield  <mmaxfield@apple.com>
975
976         [iOS] Remove dead code from FontCache::createFontPlatformData()
977         https://bugs.webkit.org/show_bug.cgi?id=147762
978
979         Reviewed by Andy Estes.
980
981         No new tests because there is no behavior change.
982
983         * platform/graphics/ios/FontCacheIOS.mm:
984         (WebCore::FontCache::createFontPlatformData): Deleted.
985
986 2015-08-06  Alex Christensen  <achristensen@webkit.org>
987
988         Revert part of my "build fix" in r188101.
989
990         * CMakeLists.txt:
991         MockCDM was already conditionally added to WebCore_SOURCES, and that change causes dependency cycles when bug 147723 is fixed.
992
993 2015-08-06  Alex Christensen  <achristensen@webkit.org>
994
995         [Win] CMake build fix after r188098.
996
997         * CMakeLists.txt:
998         MockCDM is necessary for testing if ENCRYPTED_MEDIA_V2 is enabled.
999
1000 2015-08-06  Alex Christensen  <achristensen@webkit.org>
1001
1002         [Win] Enable all Windows features in CMake
1003         https://bugs.webkit.org/show_bug.cgi?id=147744
1004
1005         Reviewed by Tim Horton.
1006
1007         * PlatformWin.cmake:
1008         Add a file needed for enabling video.
1009
1010 2015-08-06  Anders Carlsson  <andersca@apple.com>
1011
1012         Rename SQLStatementBackend to SQLStatement
1013         https://bugs.webkit.org/show_bug.cgi?id=147755
1014
1015         Reviewed by Geoffrey Garen.
1016
1017         * CMakeLists.txt:
1018         * Modules/webdatabase/SQLStatement.h: Renamed from Source/WebCore/Modules/webdatabase/SQLStatementBackend.h.
1019         (WebCore::SQLStatement::hasStatementCallback):
1020         (WebCore::SQLStatement::hasStatementErrorCallback):
1021         * Modules/webdatabase/SQLStatementBackend.cpp: Removed.
1022         (WebCore::SQLStatementBackend::SQLStatementBackend): Deleted.
1023         (WebCore::SQLStatementBackend::~SQLStatementBackend): Deleted.
1024         (WebCore::SQLStatementBackend::sqlError): Deleted.
1025         (WebCore::SQLStatementBackend::sqlResultSet): Deleted.
1026         (WebCore::SQLStatementBackend::execute): Deleted.
1027         (WebCore::SQLStatementBackend::performCallback): Deleted.
1028         (WebCore::SQLStatementBackend::setDatabaseDeletedError): Deleted.
1029         (WebCore::SQLStatementBackend::setVersionMismatchedError): Deleted.
1030         (WebCore::SQLStatementBackend::setFailureDueToQuota): Deleted.
1031         (WebCore::SQLStatementBackend::clearFailureDueToQuota): Deleted.
1032         (WebCore::SQLStatementBackend::lastExecutionFailedDueToQuota): Deleted.
1033         * Modules/webdatabase/SQLStatementBackend.h:
1034         (WebCore::SQLStatementBackend::hasStatementCallback): Deleted.
1035         (WebCore::SQLStatementBackend::hasStatementErrorCallback): Deleted.
1036         * Modules/webdatabase/SQLTransaction.cpp:
1037         (WebCore::SQLTransaction::deliverStatementCallback):
1038         (WebCore::SQLTransaction::executeSQL):
1039         * Modules/webdatabase/SQLTransactionBackend.cpp:
1040         (WebCore::SQLTransactionBackend::currentStatement):
1041         (WebCore::SQLTransactionBackend::enqueueStatementBackend):
1042         (WebCore::SQLTransactionBackend::executeSQL):
1043         * Modules/webdatabase/SQLTransactionBackend.h:
1044         * WebCore.vcxproj/WebCore.vcxproj:
1045         * WebCore.vcxproj/WebCore.vcxproj.filters:
1046         * WebCore.xcodeproj/project.pbxproj:
1047
1048 2015-08-06  Myles C. Maxfield  <mmaxfield@apple.com>
1049
1050         Make FontDescriptionKey sensitive to FontFeatureSettings
1051         https://bugs.webkit.org/show_bug.cgi?id=147751
1052
1053         Reviewed by Anders Carlsson.
1054
1055         Just like how FontDescription hashes should be sensitive to locale, they should
1056         also be sensitive to font features.
1057
1058         This patch also fixes operator== for FontDescriptionKey, which was previously
1059         comparing hashes for equality instead of the underlying data. Comparing hashes
1060         for equality is useless inside hashmaps.
1061
1062         This is in preparation for implementing font-feature-settings.
1063
1064         No new tests because there is no behavior change.
1065
1066         * platform/graphics/FontCache.cpp:
1067         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
1068         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
1069         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): Deleted.
1070         * platform/graphics/FontCache.h:
1071         (WebCore::FontDescriptionKey::FontDescriptionKey):
1072         (WebCore::FontDescriptionKey::operator==):
1073         (WebCore::FontDescriptionKey::operator!=):
1074         (WebCore::FontDescriptionKey::isHashTableDeletedValue):
1075         (WebCore::FontDescriptionKey::computeHash):
1076         * platform/graphics/FontFeatureSettings.cpp:
1077         (WebCore::FontFeature::hash):
1078         (WebCore::FontFeatureSettings::hash):
1079         * platform/graphics/FontFeatureSettings.h:
1080
1081 2015-08-06  Anders Carlsson  <andersca@apple.com>
1082
1083         Merge SQLStatement into SQLStatementBackend
1084         https://bugs.webkit.org/show_bug.cgi?id=147754
1085
1086         Reviewed by Geoffrey Garen.
1087
1088         * CMakeLists.txt:
1089         * Modules/webdatabase/Database.h:
1090         * Modules/webdatabase/SQLStatement.cpp: Removed.
1091         (WebCore::SQLStatement::SQLStatement): Deleted.
1092         (WebCore::SQLStatement::setBackend): Deleted.
1093         (WebCore::SQLStatement::hasCallback): Deleted.
1094         (WebCore::SQLStatement::hasErrorCallback): Deleted.
1095         (WebCore::SQLStatement::performCallback): Deleted.
1096         * Modules/webdatabase/SQLStatement.h: Removed.
1097         * Modules/webdatabase/SQLStatementBackend.cpp:
1098         (WebCore::SQLStatementBackend::SQLStatementBackend):
1099         (WebCore::SQLStatementBackend::performCallback):
1100         (WebCore::SQLStatementBackend::frontend): Deleted.
1101         * Modules/webdatabase/SQLStatementBackend.h:
1102         (WebCore::SQLStatementBackend::hasStatementCallback):
1103         (WebCore::SQLStatementBackend::hasStatementErrorCallback):
1104         * Modules/webdatabase/SQLTransaction.cpp:
1105         (WebCore::SQLTransaction::deliverStatementCallback):
1106         (WebCore::SQLTransaction::executeSQL):
1107         * Modules/webdatabase/SQLTransaction.h:
1108         * Modules/webdatabase/SQLTransactionBackend.cpp:
1109         (WebCore::SQLTransactionBackend::currentStatement):
1110         (WebCore::SQLTransactionBackend::executeSQL):
1111         * Modules/webdatabase/SQLTransactionBackend.h:
1112         * WebCore.vcxproj/WebCore.vcxproj:
1113         * WebCore.vcxproj/WebCore.vcxproj.filters:
1114         * WebCore.xcodeproj/project.pbxproj:
1115         * bindings/js/JSSQLTransactionCustom.cpp:
1116
1117 2015-08-06  Chris Dumez  <cdumez@apple.com>
1118
1119         Toggle GPS state based on page visibility to save battery
1120         https://bugs.webkit.org/show_bug.cgi?id=147685
1121
1122         Reviewed by Benjamin Poulain.
1123
1124         Toggle GPS state based on page visibility to save battery. Previously,
1125         if the site you were viewing was watching your position and you
1126         switched tab, the GPS would stay on. This was bad for battery life.
1127
1128         Tests: fast/dom/Geolocation/startUpdatingOnlyWhenPageVisible.html
1129                fast/dom/Geolocation/stopUpdatingForHiddenPage.html
1130
1131         * Modules/geolocation/GeolocationController.cpp:
1132         (WebCore::GeolocationController::addObserver):
1133         (WebCore::GeolocationController::viewStateDidChange):
1134
1135 2015-08-06  Anders Carlsson  <andersca@apple.com>
1136
1137         SQLStatementBackend doesn't need to be refcounted
1138         https://bugs.webkit.org/show_bug.cgi?id=147748
1139
1140         Reviewed by Geoffrey Garen.
1141
1142         There's no shared ownership of SQLStatementBackend so we can just use std::unique_ptr.
1143
1144         * Modules/webdatabase/SQLStatementBackend.cpp:
1145         (WebCore::SQLStatementBackend::create): Deleted.
1146         * Modules/webdatabase/SQLStatementBackend.h:
1147         * Modules/webdatabase/SQLTransactionBackend.cpp:
1148         (WebCore::SQLTransactionBackend::enqueueStatementBackend):
1149         (WebCore::SQLTransactionBackend::executeSQL):
1150         * Modules/webdatabase/SQLTransactionBackend.h:
1151
1152 2015-08-06  Eric Carlson  <eric.carlson@apple.com>
1153
1154         Do not enforce "content-disposition: attachment" sandbox restrictions on a MediaDocument
1155         https://bugs.webkit.org/show_bug.cgi?id=147734
1156         rdar://problem/22028179
1157
1158         Reviewed by Andy Estes.
1159
1160         Test to follow, see https://bugs.webkit.org/show_bug.cgi?id=147735
1161
1162         * dom/Document.cpp:
1163         (WebCore::Document::initSecurityContext): Use applyContentDispositionAttachmentSandbox
1164           instead of setting sandbox flags directly.
1165         (WebCore::Document::shouldEnforceContentDispositionAttachmentSandbox): Don't special
1166           case MediaDocument.
1167         (WebCore::Document::applyContentDispositionAttachmentSandbox): Apply sandbox flags
1168           according to document type.
1169         * dom/Document.h:
1170
1171 2015-08-06  Anders Carlsson  <andersca@apple.com>
1172
1173         Get rid of DatabaseBackendBase
1174         https://bugs.webkit.org/show_bug.cgi?id=147733
1175
1176         Reviewed by Geoffrey Garen.
1177
1178         * CMakeLists.txt:
1179         * Modules/webdatabase/Database.cpp:
1180         (WebCore::Database::Database):
1181         (WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
1182         (WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
1183         * Modules/webdatabase/Database.h:
1184         * Modules/webdatabase/DatabaseBackendBase.cpp: Removed.
1185         (WebCore::DatabaseBackendBase::DatabaseBackendBase): Deleted.
1186         (WebCore::DatabaseBackendBase::~DatabaseBackendBase): Deleted.
1187         * Modules/webdatabase/DatabaseBackendBase.h: Removed.
1188         * Modules/webdatabase/DatabaseManager.cpp:
1189         * Modules/webdatabase/DatabaseManager.h:
1190         * Modules/webdatabase/DatabaseTracker.cpp:
1191         * WebCore.vcxproj/WebCore.vcxproj:
1192         * WebCore.vcxproj/WebCore.vcxproj.filters:
1193         * WebCore.xcodeproj/project.pbxproj:
1194
1195 2015-08-06  Myles C. Maxfield  <mmaxfield@apple.com>
1196
1197         Add comment to CSSParserString
1198         https://bugs.webkit.org/show_bug.cgi?id=147724
1199
1200         Reviewed by Dean Jackson.
1201
1202         No new tests because there is no behavior change.
1203
1204         * css/CSSParserValues.h:
1205
1206 2015-08-06  Myles C. Maxfield  <mmaxfield@apple.com>
1207
1208         Font feature settings comparisons are order-dependent and case-dependent
1209         https://bugs.webkit.org/show_bug.cgi?id=147719
1210
1211         Reviewed by Benjamin Poulain.
1212
1213         We should make our settings vector order-independent and case-independent.
1214
1215         Test: css3/font-feature-settings-parsing.html
1216
1217         * css/CSSParser.cpp:
1218         (WebCore::CSSParser::parseFontFeatureTag):
1219         * css/StyleBuilderConverter.h:
1220         (WebCore::StyleBuilderConverter::convertFontFeatureSettings):
1221         * platform/graphics/FontFeatureSettings.cpp:
1222         (WebCore::FontFeature::FontFeature):
1223         (WebCore::FontFeature::operator==):
1224         (WebCore::FontFeatureSettings::FontFeatureSettings):
1225         * platform/graphics/FontFeatureSettings.h:
1226         (WebCore::FontFeature::FontFeature):
1227         (WebCore::FontFeature::operator==):
1228         (WebCore::FontFeature::operator<):
1229         (WebCore::FontFeatureSettings::insert):
1230         (WebCore::FontFeatureSettings::FontFeatureSettings):
1231         (WebCore::FontFeatureSettings::append): Deleted.
1232
1233 2015-08-06  Doug Russell  <d_russell@apple.com>
1234
1235         AX: AXLoadComplete that comes before AX API access won't fire
1236         https://bugs.webkit.org/show_bug.cgi?id=147737
1237
1238         Reviewed by Chris Fleizach.
1239
1240         Treat setEnhancedUserInterfaceAccessibility() as AX API access and if true,
1241         enableAccessibility().
1242
1243         Test: accessibility/mac/loaded-notification.html
1244
1245         * accessibility/AXObjectCache.cpp:
1246         (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
1247
1248 2015-08-06  Eric Carlson  <eric.carlson@apple.com>
1249
1250         Do not enforce "content-disposition: attachment" sandbox restrictions on a MediaDocument
1251         https://bugs.webkit.org/show_bug.cgi?id=147734
1252         rdar://problem/22028179
1253
1254         Reviewed by Dean Jackson.
1255
1256         Test to follow, see https://bugs.webkit.org/show_bug.cgi?id=147735
1257
1258         * dom/Document.cpp:
1259         (WebCore::Document::shouldEnforceContentDispositionAttachmentSandbox): Return
1260           early if the Document is a MediaDocument.
1261
1262 2015-08-06  Matt Rajca  <mrajca@apple.com>
1263
1264         Media Session: remove media elements from the ID <-> element map on destruction
1265         https://bugs.webkit.org/show_bug.cgi?id=147707
1266
1267         Reviewed by Eric Carlson.
1268
1269         * html/HTMLMediaElement.cpp:
1270         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1271
1272 2015-08-06  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
1273
1274         [CoordinatedGraphics] Remove unused functions in Coordinated TiledBackingStore
1275         https://bugs.webkit.org/show_bug.cgi?id=147621
1276
1277         Reviewed by Csaba Osztrogonác.
1278
1279         * platform/graphics/texmap/coordinated/TiledBackingStore.cpp: Remove setTileSize() and tileSize().
1280         (WebCore::TiledBackingStore::setTileSize):
1281
1282 2015-08-06  Anders Carlsson  <andersca@apple.com>
1283
1284         Move the last remnants of DatabaseBackendBase to Database
1285         https://bugs.webkit.org/show_bug.cgi?id=147730
1286
1287         Reviewed by Tim Horton.
1288
1289         * Modules/webdatabase/Database.cpp:
1290         (WebCore::Database::Database):
1291         (WebCore::Database::performOpenAndVerify):
1292         * Modules/webdatabase/Database.h:
1293         * Modules/webdatabase/DatabaseBackendBase.cpp:
1294         (WebCore::DatabaseBackendBase::DatabaseBackendBase):
1295         * Modules/webdatabase/DatabaseBackendBase.h:
1296         (WebCore::DatabaseBackendBase::databaseContext): Deleted.
1297         (WebCore::DatabaseBackendBase::setFrontend): Deleted.
1298
1299 2015-08-06  Alex Christensen  <achristensen@webkit.org>
1300
1301         Fix build without ENABLE(VIDEO) after r188030.
1302
1303         * dom/Document.h:
1304         * html/HTMLMediaElement.cpp:
1305         * html/HTMLMediaElement.h:
1306         Move definition of HTMLMediaElementInvalidID to Document.h so it can be used outside of ENABLE(VIDEO) macros.
1307
1308 2015-08-04  Matt Rajca  <mrajca@apple.com>
1309
1310         Media Session: push paused state to the media session focus manager instead of polling
1311         https://bugs.webkit.org/show_bug.cgi?id=147633
1312
1313         Reviewed by Simon Fraser.
1314
1315         * dom/Document.cpp:
1316         (WebCore::Document::updateIsPlayingMedia): If a valid source element ID is passed in, set the 'IsSourcePlaying'
1317          flag accordingly.
1318         * dom/Document.h:
1319         * html/HTMLMediaElement.cpp:
1320         (WebCore::HTMLMediaElement::elementWithID):
1321         (WebCore::HTMLMediaElement::setMuted): Pass along the element ID.
1322         (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged): Ditto.
1323         (WebCore::HTMLMediaElement::setPlaying): Ditto.
1324         * html/HTMLMediaElement.h:
1325         * page/ChromeClient.h:
1326         * page/MediaProducer.h:
1327         * page/Page.cpp:
1328         (WebCore::Page::updateIsPlayingMedia): Pass along the source element ID.
1329         (WebCore::Page::isMediaElementPaused): Deleted. We now push media playback state changes instead of polling.
1330         * page/Page.h:
1331
1332 2015-08-05  Myles C. Maxfield  <mmaxfield@apple.com>
1333
1334         CharacterFallbackMapKey should be locale-specific
1335         https://bugs.webkit.org/show_bug.cgi?id=147532
1336
1337         Reviewed by Dean Jackson.
1338
1339         This is in preparation for locale-specific font fallback.
1340
1341         No new tests because there is no behavior change.
1342
1343         * platform/graphics/Font.cpp:
1344         (WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
1345         (WebCore::CharacterFallbackMapKey::operator==):
1346         (WebCore::CharacterFallbackMapKeyHash::hash):
1347         (WebCore::Font::systemFallbackFontForCharacter):
1348
1349 2015-08-05  Myles C. Maxfield  <mmaxfield@apple.com>
1350
1351         Expand CharacterFallbackMapKey to a struct
1352         https://bugs.webkit.org/show_bug.cgi?id=147530
1353
1354         Reviewed by Dean Jackson.
1355
1356         This is in prepraration for making this struct locale-specific.
1357
1358         No new tests because there is no behavior change.
1359
1360         * platform/graphics/Font.cpp:
1361         (WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
1362         (WebCore::CharacterFallbackMapKey::isHashTableDeletedValue):
1363         (WebCore::CharacterFallbackMapKey::operator==):
1364         (WebCore::CharacterFallbackMapKeyHash::hash):
1365         (WebCore::CharacterFallbackMapKeyHash::equal):
1366         (WebCore::Font::systemFallbackFontForCharacter):
1367
1368 2015-08-05  Chris Dumez  <cdumez@apple.com>
1369
1370         Crash when removing children of a MathMLSelectElement
1371         https://bugs.webkit.org/show_bug.cgi?id=147704
1372         <rdar://problem/21940321>
1373
1374         Reviewed by Ryosuke Niwa.
1375
1376         When MathMLSelectElement::childrenChanged() is called after its
1377         children have been removed, MathMLSelectElement calls
1378         updateSelectedChild() which accesses m_selectedChild. However,
1379         in this case, m_selectedChild is the previously selected child
1380         and it may be destroyed as this point if it was removed. To avoid
1381         this problem, MathMLSelectElement now keep a strong ref to the
1382         currently selected element.
1383
1384         Test: mathml/maction-removeChild.html
1385
1386         * mathml/MathMLSelectElement.h:
1387
1388 2015-08-05  Myles C. Maxfield  <mmaxfield@apple.com>
1389
1390         Migrate FontCascade.cpp to NeverDestroyed
1391         https://bugs.webkit.org/show_bug.cgi?id=147533
1392
1393         Reviewed by Simon Fraser.
1394
1395         No new tests because there is no behavior change.
1396
1397         * platform/graphics/FontCascade.cpp:
1398         (WebCore::fontCascadeCache):
1399
1400 2015-08-05  Tim Horton  <timothy_horton@apple.com>
1401
1402         Try to fix the build
1403
1404         * Modules/webdatabase/Database.cpp:
1405         (WebCore::Database::performOpenAndVerify):
1406         * Modules/webdatabase/Database.h:
1407
1408 2015-08-05  Myles C. Maxfield  <mmaxfield@apple.com>
1409
1410         Delete duplicate forward-declaration
1411         https://bugs.webkit.org/show_bug.cgi?id=147701
1412
1413         Reviewed by Simon Fraser.
1414
1415         No new tests because there is no behavior change.
1416
1417         * platform/spi/cocoa/CoreTextSPI.h:
1418
1419 2015-08-05  Anders Carlsson  <andersca@apple.com>
1420
1421         Move the last DatabaseBackendBase functions over to Database
1422         https://bugs.webkit.org/show_bug.cgi?id=147706
1423
1424         Reviewed by Tim Horton.
1425
1426         * Modules/webdatabase/Database.cpp:
1427         (WebCore::Database::~Database):
1428         (WebCore::Database::setExpectedVersion):
1429         (WebCore::Database::getActualVersionForTransaction):
1430         (WebCore::Database::version):
1431         (WebCore::Database::stringIdentifier):
1432         (WebCore::Database::displayName):
1433         (WebCore::Database::estimatedSize):
1434         (WebCore::Database::fileName):
1435         (WebCore::Database::details):
1436         (WebCore::Database::maximumSize):
1437         (WebCore::Database::databaseDebugName):
1438         * Modules/webdatabase/Database.h:
1439         * Modules/webdatabase/DatabaseBackendBase.cpp:
1440         (WebCore::DatabaseBackendBase::databaseDebugName): Deleted.
1441         (WebCore::DatabaseBackendBase::~DatabaseBackendBase): Deleted.
1442         (WebCore::DatabaseBackendBase::version): Deleted.
1443         (WebCore::DatabaseBackendBase::securityOrigin): Deleted.
1444         (WebCore::DatabaseBackendBase::stringIdentifier): Deleted.
1445         (WebCore::DatabaseBackendBase::displayName): Deleted.
1446         (WebCore::DatabaseBackendBase::estimatedSize): Deleted.
1447         (WebCore::DatabaseBackendBase::fileName): Deleted.
1448         (WebCore::DatabaseBackendBase::details): Deleted.
1449         (WebCore::DatabaseBackendBase::setExpectedVersion): Deleted.
1450         (WebCore::DatabaseBackendBase::getActualVersionForTransaction): Deleted.
1451         (WebCore::DatabaseBackendBase::maximumSize): Deleted.
1452         * Modules/webdatabase/DatabaseBackendBase.h:
1453         (WebCore::DatabaseBackendBase::opened): Deleted.
1454         (WebCore::DatabaseBackendBase::isNew): Deleted.
1455         (WebCore::DatabaseBackendBase::sqliteDatabase): Deleted.
1456         (WebCore::DatabaseBackendBase::expectedVersion): Deleted.
1457         * Modules/webdatabase/SQLTransactionClient.cpp:
1458         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
1459         (WebCore::SQLTransactionClient::didExceedQuota):
1460         * Modules/webdatabase/SQLTransactionClient.h:
1461
1462 2015-08-05  Filip Pizlo  <fpizlo@apple.com>
1463
1464         Unreviewed, roll out http://trac.webkit.org/changeset/187972.
1465
1466         * Modules/webaudio/AsyncAudioDecoder.cpp:
1467         (WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
1468         (WebCore::AsyncAudioDecoder::runLoop):
1469         * Modules/webaudio/AsyncAudioDecoder.h:
1470         * Modules/webaudio/AudioContext.h:
1471         * Modules/webaudio/MediaStreamAudioSource.cpp:
1472         (WebCore::MediaStreamAudioSource::addAudioConsumer):
1473         (WebCore::MediaStreamAudioSource::removeAudioConsumer):
1474         (WebCore::MediaStreamAudioSource::setAudioFormat):
1475         (WebCore::MediaStreamAudioSource::consumeAudio):
1476         * Modules/webaudio/MediaStreamAudioSource.h:
1477         * Modules/webdatabase/Database.cpp:
1478         (WebCore::Database::close):
1479         (WebCore::Database::runTransaction):
1480         (WebCore::Database::inProgressTransactionCompleted):
1481         (WebCore::Database::hasPendingTransaction):
1482         * Modules/webdatabase/DatabaseTask.h:
1483         * Modules/webdatabase/DatabaseThread.cpp:
1484         (WebCore::DatabaseThread::start):
1485         (WebCore::DatabaseThread::databaseThread):
1486         * Modules/webdatabase/DatabaseThread.h:
1487         * Modules/webdatabase/DatabaseTracker.cpp:
1488         (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
1489         (WebCore::DatabaseTracker::canEstablishDatabase):
1490         (WebCore::DatabaseTracker::retryCanEstablishDatabase):
1491         (WebCore::DatabaseTracker::hasEntryForOrigin):
1492         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
1493         (WebCore::DatabaseTracker::closeAllDatabases):
1494         (WebCore::DatabaseTracker::fullPathForDatabase):
1495         (WebCore::DatabaseTracker::origins):
1496         (WebCore::DatabaseTracker::databaseNamesForOrigin):
1497         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
1498         (WebCore::DatabaseTracker::setDatabaseDetails):
1499         (WebCore::DatabaseTracker::doneCreatingDatabase):
1500         (WebCore::DatabaseTracker::addOpenDatabase):
1501         (WebCore::DatabaseTracker::removeOpenDatabase):
1502         (WebCore::DatabaseTracker::getOpenDatabases):
1503         (WebCore::DatabaseTracker::originLockFor):
1504         (WebCore::DatabaseTracker::quotaForOrigin):
1505         (WebCore::DatabaseTracker::setQuota):
1506         (WebCore::DatabaseTracker::deleteOrigin):
1507         (WebCore::DatabaseTracker::deleteDatabase):
1508         (WebCore::DatabaseTracker::deleteDatabaseFile):
1509         (WebCore::DatabaseTracker::removeDeletedOpenedDatabases):
1510         (WebCore::DatabaseTracker::deleteDatabaseFileIfEmpty):
1511         (WebCore::DatabaseTracker::openDatabaseMutex):
1512         (WebCore::DatabaseTracker::setClient):
1513         (WebCore::notificationMutex):
1514         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
1515         (WebCore::DatabaseTracker::notifyDatabasesChanged):
1516         * Modules/webdatabase/DatabaseTracker.h:
1517         * Modules/webdatabase/OriginLock.h:
1518         * Modules/webdatabase/SQLCallbackWrapper.h:
1519         (WebCore::SQLCallbackWrapper::clear):
1520         (WebCore::SQLCallbackWrapper::unwrap):
1521         (WebCore::SQLCallbackWrapper::hasCallback):
1522         * Modules/webdatabase/SQLTransactionBackend.cpp:
1523         (WebCore::SQLTransactionBackend::doCleanup):
1524         (WebCore::SQLTransactionBackend::enqueueStatementBackend):
1525         (WebCore::SQLTransactionBackend::getNextStatement):
1526         * Modules/webdatabase/SQLTransactionBackend.h:
1527         * bindings/js/WorkerScriptController.cpp:
1528         (WebCore::WorkerScriptController::scheduleExecutionTermination):
1529         (WebCore::WorkerScriptController::isExecutionTerminating):
1530         * bindings/js/WorkerScriptController.h:
1531         * dom/default/PlatformMessagePortChannel.cpp:
1532         (WebCore::MessagePortChannel::postMessageToRemote):
1533         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
1534         (WebCore::MessagePortChannel::isConnectedTo):
1535         (WebCore::MessagePortChannel::hasPendingActivity):
1536         (WebCore::MessagePortChannel::locallyEntangledPort):
1537         (WebCore::PlatformMessagePortChannel::setRemotePort):
1538         (WebCore::PlatformMessagePortChannel::entangledChannel):
1539         (WebCore::PlatformMessagePortChannel::closeInternal):
1540         * dom/default/PlatformMessagePortChannel.h:
1541         * loader/icon/IconDatabase.cpp:
1542         (WebCore::IconDatabase::removeAllIcons):
1543         (WebCore::IconDatabase::synchronousIconForPageURL):
1544         (WebCore::IconDatabase::synchronousNativeIconForPageURL):
1545         (WebCore::IconDatabase::synchronousIconURLForPageURL):
1546         (WebCore::IconDatabase::retainIconForPageURL):
1547         (WebCore::IconDatabase::performRetainIconForPageURL):
1548         (WebCore::IconDatabase::releaseIconForPageURL):
1549         (WebCore::IconDatabase::performReleaseIconForPageURL):
1550         (WebCore::IconDatabase::setIconDataForIconURL):
1551         (WebCore::IconDatabase::setIconURLForPageURL):
1552         (WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
1553         (WebCore::IconDatabase::synchronousIconDataKnownForIconURL):
1554         (WebCore::IconDatabase::pageURLMappingCount):
1555         (WebCore::IconDatabase::retainedPageURLCount):
1556         (WebCore::IconDatabase::iconRecordCount):
1557         (WebCore::IconDatabase::iconRecordCountWithData):
1558         (WebCore::IconDatabase::wakeSyncThread):
1559         (WebCore::IconDatabase::isOpenBesidesMainThreadCallbacks):
1560         (WebCore::IconDatabase::databasePath):
1561         (WebCore::IconDatabase::getOrCreatePageURLRecord):
1562         (WebCore::IconDatabase::iconDatabaseSyncThread):
1563         (WebCore::IconDatabase::performOpenInitialization):
1564         (WebCore::IconDatabase::performURLImport):
1565         (WebCore::IconDatabase::syncThreadMainLoop):
1566         (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
1567         (WebCore::IconDatabase::readFromDatabase):
1568         (WebCore::IconDatabase::writeToDatabase):
1569         (WebCore::IconDatabase::pruneUnretainedIcons):
1570         (WebCore::IconDatabase::cleanupSyncThread):
1571         * loader/icon/IconDatabase.h:
1572         * page/scrolling/ScrollingTree.cpp:
1573         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
1574         (WebCore::ScrollingTree::commitNewTreeState):
1575         (WebCore::ScrollingTree::setMainFramePinState):
1576         (WebCore::ScrollingTree::mainFrameScrollPosition):
1577         (WebCore::ScrollingTree::setMainFrameScrollPosition):
1578         (WebCore::ScrollingTree::isPointInNonFastScrollableRegion):
1579         (WebCore::ScrollingTree::isRubberBandInProgress):
1580         (WebCore::ScrollingTree::setMainFrameIsRubberBanding):
1581         (WebCore::ScrollingTree::isScrollSnapInProgress):
1582         (WebCore::ScrollingTree::setMainFrameIsScrollSnapping):
1583         (WebCore::ScrollingTree::setCanRubberBandState):
1584         (WebCore::ScrollingTree::rubberBandsAtLeft):
1585         (WebCore::ScrollingTree::rubberBandsAtRight):
1586         (WebCore::ScrollingTree::rubberBandsAtBottom):
1587         (WebCore::ScrollingTree::rubberBandsAtTop):
1588         (WebCore::ScrollingTree::setScrollPinningBehavior):
1589         (WebCore::ScrollingTree::scrollPinningBehavior):
1590         (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
1591         (WebCore::ScrollingTree::latchedNode):
1592         (WebCore::ScrollingTree::setLatchedNode):
1593         (WebCore::ScrollingTree::clearLatchedNode):
1594         * page/scrolling/ScrollingTree.h:
1595         * platform/MemoryPressureHandler.h:
1596         * platform/audio/HRTFDatabaseLoader.cpp:
1597         (WebCore::HRTFDatabaseLoader::loadAsynchronously):
1598         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
1599         * platform/audio/HRTFDatabaseLoader.h:
1600         * platform/cocoa/MemoryPressureHandlerCocoa.mm:
1601         (WebCore::MemoryPressureHandler::setReceivedMemoryPressure):
1602         (WebCore::MemoryPressureHandler::clearMemoryPressure):
1603         (WebCore::MemoryPressureHandler::shouldWaitForMemoryClearMessage):
1604         (WebCore::MemoryPressureHandler::respondToMemoryPressureIfNeeded):
1605         * platform/graphics/DisplayRefreshMonitor.cpp:
1606         (WebCore::DisplayRefreshMonitor::displayDidRefresh):
1607         * platform/graphics/DisplayRefreshMonitor.h:
1608         (WebCore::DisplayRefreshMonitor::setMonotonicAnimationStartTime):
1609         (WebCore::DisplayRefreshMonitor::mutex):
1610         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1611         (WebCore::MediaPlayerPrivateAVFoundation::setDelayCallbacks):
1612         (WebCore::MediaPlayerPrivateAVFoundation::clearMainThreadPendingFlag):
1613         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
1614         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1615         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1616         (WebCore::AVFWrapper::callbackContext):
1617         (WebCore::AVFWrapper::~AVFWrapper):
1618         (WebCore::AVFWrapper::mapLock):
1619         (WebCore::AVFWrapper::addToMap):
1620         (WebCore::AVFWrapper::removeFromMap):
1621         (WebCore::AVFWrapper::periodicTimeObserverCallback):
1622         (WebCore::AVFWrapper::processNotification):
1623         (WebCore::AVFWrapper::loadPlayableCompletionCallback):
1624         (WebCore::AVFWrapper::loadMetadataCompletionCallback):
1625         (WebCore::AVFWrapper::seekCompletedCallback):
1626         (WebCore::AVFWrapper::processCue):
1627         (WebCore::AVFWrapper::legibleOutputCallback):
1628         (WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):
1629         (WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):
1630         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
1631         (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
1632         (WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):
1633         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
1634         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1635         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
1636         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):
1637         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
1638         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
1639         (WebCore::DisplayRefreshMonitorMac::requestRefreshCallback):
1640         (WebCore::DisplayRefreshMonitorMac::displayLinkFired):
1641         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
1642         (WebCore::MediaPlayerPrivateMediaFoundation::addListener):
1643         (WebCore::MediaPlayerPrivateMediaFoundation::removeListener):
1644         (WebCore::MediaPlayerPrivateMediaFoundation::notifyDeleted):
1645         (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):
1646         (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::onMediaPlayerDeleted):
1647         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
1648         * platform/ios/LegacyTileCache.h:
1649         * platform/ios/LegacyTileCache.mm:
1650         (WebCore::LegacyTileCache::setTilesOpaque):
1651         (WebCore::LegacyTileCache::doLayoutTiles):
1652         (WebCore::LegacyTileCache::setCurrentScale):
1653         (WebCore::LegacyTileCache::commitScaleChange):
1654         (WebCore::LegacyTileCache::layoutTilesNow):
1655         (WebCore::LegacyTileCache::layoutTilesNowForRect):
1656         (WebCore::LegacyTileCache::removeAllNonVisibleTiles):
1657         (WebCore::LegacyTileCache::removeAllTiles):
1658         (WebCore::LegacyTileCache::removeForegroundTiles):
1659         (WebCore::LegacyTileCache::setContentReplacementImage):
1660         (WebCore::LegacyTileCache::contentReplacementImage):
1661         (WebCore::LegacyTileCache::tileCreationTimerFired):
1662         (WebCore::LegacyTileCache::setNeedsDisplayInRect):
1663         (WebCore::LegacyTileCache::updateTilingMode):
1664         (WebCore::LegacyTileCache::setTilingMode):
1665         (WebCore::LegacyTileCache::doPendingRepaints):
1666         (WebCore::LegacyTileCache::flushSavedDisplayRects):
1667         (WebCore::LegacyTileCache::prepareToDraw):
1668         * platform/ios/LegacyTileLayerPool.h:
1669         * platform/ios/LegacyTileLayerPool.mm:
1670         (WebCore::LegacyTileLayerPool::addLayer):
1671         (WebCore::LegacyTileLayerPool::takeLayerWithSize):
1672         (WebCore::LegacyTileLayerPool::setCapacity):
1673         (WebCore::LegacyTileLayerPool::prune):
1674         (WebCore::LegacyTileLayerPool::drain):
1675         * platform/network/curl/CurlDownload.cpp:
1676         (WebCore::CurlDownloadManager::add):
1677         (WebCore::CurlDownloadManager::remove):
1678         (WebCore::CurlDownloadManager::getActiveDownloadCount):
1679         (WebCore::CurlDownloadManager::getPendingDownloadCount):
1680         (WebCore::CurlDownloadManager::stopThreadIfIdle):
1681         (WebCore::CurlDownloadManager::updateHandleList):
1682         (WebCore::CurlDownload::~CurlDownload):
1683         (WebCore::CurlDownload::init):
1684         (WebCore::CurlDownload::getTempPath):
1685         (WebCore::CurlDownload::getUrl):
1686         (WebCore::CurlDownload::getResponse):
1687         (WebCore::CurlDownload::closeFile):
1688         (WebCore::CurlDownload::didReceiveHeader):
1689         (WebCore::CurlDownload::didReceiveData):
1690         (WebCore::CurlDownload::didFail):
1691         * platform/network/curl/CurlDownload.h:
1692         * platform/network/curl/ResourceHandleManager.cpp:
1693         (WebCore::cookieJarPath):
1694         (WebCore::sharedResourceMutex):
1695         (WebCore::curl_lock_callback):
1696         (WebCore::curl_unlock_callback):
1697         * platform/network/ios/QuickLook.mm:
1698         (WebCore::QLDirectoryAttributes):
1699         (qlPreviewConverterDictionaryMutex):
1700         (WebCore::addQLPreviewConverterWithFileForURL):
1701         (WebCore::qlPreviewConverterUTIForURL):
1702         (WebCore::removeQLPreviewConverterForURL):
1703         (WebCore::safeQLURLForDocumentURLAndResourceURL):
1704         * platform/sql/SQLiteDatabase.cpp:
1705         (WebCore::SQLiteDatabase::close):
1706         (WebCore::SQLiteDatabase::maximumSize):
1707         (WebCore::SQLiteDatabase::setMaximumSize):
1708         (WebCore::SQLiteDatabase::pageSize):
1709         (WebCore::SQLiteDatabase::freeSpaceSize):
1710         (WebCore::SQLiteDatabase::totalSize):
1711         (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
1712         (WebCore::SQLiteDatabase::setAuthorizer):
1713         * platform/sql/SQLiteDatabase.h:
1714         (WebCore::SQLiteDatabase::databaseMutex):
1715         * platform/sql/SQLiteStatement.cpp:
1716         (WebCore::SQLiteStatement::prepare):
1717         (WebCore::SQLiteStatement::step):
1718         * workers/WorkerThread.cpp:
1719         (WebCore::WorkerThread::start):
1720         (WebCore::WorkerThread::workerThread):
1721         (WebCore::WorkerThread::stop):
1722         * workers/WorkerThread.h:
1723
1724 2015-08-05  Anders Carlsson  <andersca@apple.com>
1725
1726         Move more functions from DatabaseBackendBase to Database
1727         https://bugs.webkit.org/show_bug.cgi?id=147705
1728
1729         Reviewed by Tim Horton.
1730
1731         * Modules/webdatabase/Database.cpp:
1732         (WebCore::guidMutex):
1733         (WebCore::guidToVersionMap):
1734         (WebCore::updateGuidVersionMap):
1735         (WebCore::guidToDatabaseMap):
1736         (WebCore::guidForOriginAndName):
1737         (WebCore::Database::Database):
1738         (WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
1739         (WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
1740         (WebCore::DoneCreatingDatabaseOnExitCaller::setOpenSucceeded):
1741         (WebCore::Database::performOpenAndVerify):
1742         (WebCore::Database::closeDatabase):
1743         (WebCore::Database::getCachedVersion):
1744         (WebCore::Database::setCachedVersion):
1745         * Modules/webdatabase/Database.h:
1746         * Modules/webdatabase/DatabaseBackendBase.cpp:
1747         (WebCore::DatabaseBackendBase::version):
1748         (WebCore::formatErrorMessage): Deleted.
1749         (WebCore::guidMutex): Deleted.
1750         (WebCore::guidToVersionMap): Deleted.
1751         (WebCore::updateGuidVersionMap): Deleted.
1752         (WebCore::guidToDatabaseMap): Deleted.
1753         (WebCore::guidForOriginAndName): Deleted.
1754         (WebCore::DatabaseBackendBase::DatabaseBackendBase): Deleted.
1755         (WebCore::DatabaseBackendBase::closeDatabase): Deleted.
1756         (WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller): Deleted.
1757         (WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller): Deleted.
1758         (WebCore::DoneCreatingDatabaseOnExitCaller::setOpenSucceeded): Deleted.
1759         (WebCore::DatabaseBackendBase::performOpenAndVerify): Deleted.
1760         (WebCore::DatabaseBackendBase::getCachedVersion): Deleted.
1761         (WebCore::DatabaseBackendBase::setCachedVersion): Deleted.
1762         * Modules/webdatabase/DatabaseBackendBase.h:
1763
1764 2015-08-05  Anders Carlsson  <andersca@apple.com>
1765
1766         Move more functions from DatabaseBackendBase to Database
1767         https://bugs.webkit.org/show_bug.cgi?id=147703
1768
1769         Reviewed by Tim Horton.
1770
1771         * Modules/webdatabase/Database.cpp:
1772         (WebCore::fullyQualifiedInfoTableName):
1773         (WebCore::setTextValueInDatabase):
1774         (WebCore::retrieveTextResultFromDatabase):
1775         (WebCore::Database::getVersionFromDatabase):
1776         (WebCore::Database::setVersionInDatabase):
1777         (WebCore::Database::performGetTableNames):
1778         * Modules/webdatabase/Database.h:
1779         * Modules/webdatabase/DatabaseBackendBase.cpp:
1780         (WebCore::DatabaseBackendBase::performOpenAndVerify):
1781         (WebCore::DatabaseBackendBase::getActualVersionForTransaction):
1782         (WebCore::DatabaseBackendBase::databaseInfoTableName): Deleted.
1783         (WebCore::fullyQualifiedInfoTableName): Deleted.
1784         (WebCore::retrieveTextResultFromDatabase): Deleted.
1785         (WebCore::setTextValueInDatabase): Deleted.
1786         (WebCore::DatabaseBackendBase::getVersionFromDatabase): Deleted.
1787         (WebCore::DatabaseBackendBase::setVersionInDatabase): Deleted.
1788         * Modules/webdatabase/DatabaseBackendBase.h:
1789
1790 2015-08-05  Alex Christensen  <achristensen@webkit.org>
1791
1792         Build DumpRenderTree with CMake.
1793         https://bugs.webkit.org/show_bug.cgi?id=147519
1794
1795         Reviewed by Brent Fulgham.
1796
1797         * CMakeLists.txt:
1798         WebCoreTestSupport is a static library and should not be linked with WebCore.
1799
1800 2015-08-05  Anders Carlsson  <andersca@apple.com>
1801
1802         Move some more DatabaseBackendBase functions to Database
1803         https://bugs.webkit.org/show_bug.cgi?id=147702
1804
1805         Reviewed by Tim Horton.
1806
1807         * Modules/webdatabase/Database.cpp:
1808         (WebCore::formatErrorMessage):
1809         (WebCore::Database::disableAuthorizer):
1810         (WebCore::Database::enableAuthorizer):
1811         (WebCore::Database::setAuthorizerPermissions):
1812         (WebCore::Database::lastActionChangedDatabase):
1813         (WebCore::Database::lastActionWasInsert):
1814         (WebCore::Database::resetDeletes):
1815         (WebCore::Database::hadDeletes):
1816         (WebCore::Database::resetAuthorizer):
1817         (WebCore::Database::incrementalVacuumIfNeeded):
1818         * Modules/webdatabase/Database.h:
1819         * Modules/webdatabase/DatabaseBackendBase.cpp:
1820         (WebCore::DatabaseBackendBase::disableAuthorizer): Deleted.
1821         (WebCore::DatabaseBackendBase::enableAuthorizer): Deleted.
1822         (WebCore::DatabaseBackendBase::setAuthorizerPermissions): Deleted.
1823         (WebCore::DatabaseBackendBase::lastActionChangedDatabase): Deleted.
1824         (WebCore::DatabaseBackendBase::lastActionWasInsert): Deleted.
1825         (WebCore::DatabaseBackendBase::resetDeletes): Deleted.
1826         (WebCore::DatabaseBackendBase::hadDeletes): Deleted.
1827         (WebCore::DatabaseBackendBase::resetAuthorizer): Deleted.
1828         (WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded): Deleted.
1829         * Modules/webdatabase/DatabaseBackendBase.h:
1830
1831 2015-08-05  Zalan Bujtas  <zalan@apple.com>
1832
1833         [Frame flattening] Return early when child RenderView is not available.
1834         https://bugs.webkit.org/show_bug.cgi?id=147697
1835
1836         Reviewed by Simon Fraser.
1837
1838         No change in functionality.
1839
1840         * rendering/RenderFrameBase.cpp:
1841         (WebCore::RenderFrameBase::peformLayoutWithFlattening):
1842
1843 2015-08-05  Anders Carlsson  <andersca@apple.com>
1844
1845         Remove more dead database code
1846         https://bugs.webkit.org/show_bug.cgi?id=147698
1847
1848         Reviewed by Tim Horton.
1849
1850         * Modules/webdatabase/DatabaseBackendBase.cpp:
1851         (WebCore::DatabaseBackendBase::interrupt): Deleted.
1852         (WebCore::DatabaseBackendBase::isInterrupted): Deleted.
1853         * Modules/webdatabase/DatabaseBackendBase.h:
1854         * Modules/webdatabase/SQLStatementBackend.cpp:
1855         (WebCore::SQLStatementBackend::execute):
1856         * Modules/webdatabase/SQLTransaction.cpp:
1857         (WebCore::SQLTransaction::computeNextStateAndCleanupIfNeeded):
1858         * Modules/webdatabase/SQLTransactionBackend.cpp:
1859         (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
1860         * platform/sql/SQLiteDatabase.cpp:
1861         (WebCore::SQLiteDatabase::setFullsync):
1862         (WebCore::SQLiteDatabase::SQLiteDatabase): Deleted.
1863         (WebCore::SQLiteDatabase::interrupt): Deleted.
1864         (WebCore::SQLiteDatabase::isInterrupted): Deleted.
1865         * platform/sql/SQLiteDatabase.h:
1866         * platform/sql/SQLiteStatement.cpp:
1867         (WebCore::SQLiteStatement::prepare): Deleted.
1868         (WebCore::SQLiteStatement::step): Deleted.
1869
1870 2015-08-05  Anders Carlsson  <andersca@apple.com>
1871
1872         Fix build.
1873
1874         * platform/cf/CoreMediaSoftLink.cpp:
1875         * platform/cf/CoreMediaSoftLink.h:
1876
1877 2015-08-05  Anders Carlsson  <andersca@apple.com>
1878
1879         Fix build.
1880
1881         * platform/graphics/mac/FontCacheMac.mm:
1882         (WebCore::lookupCTFont):
1883
1884 2015-08-05  Anders Carlsson  <andersca@apple.com>
1885
1886         Change openDatabase to return a Database instead of a DatabaseBackendBase
1887         https://bugs.webkit.org/show_bug.cgi?id=147691
1888
1889         Reviewed by Tim Horton.
1890
1891         * Modules/webdatabase/AbstractDatabaseServer.h:
1892         * Modules/webdatabase/Database.cpp:
1893         (WebCore::Database::create): Deleted.
1894         * Modules/webdatabase/Database.h:
1895         * Modules/webdatabase/DatabaseManager.cpp:
1896         (WebCore::DatabaseManager::openDatabaseBackend):
1897         (WebCore::DatabaseManager::openDatabase):
1898         * Modules/webdatabase/DatabaseManager.h:
1899         * Modules/webdatabase/DatabaseServer.cpp:
1900         (WebCore::DatabaseServer::openDatabase):
1901         (WebCore::DatabaseServer::createDatabase):
1902         * Modules/webdatabase/DatabaseServer.h:
1903
1904 2015-08-05  Myles C. Maxfield  <mmaxfield@apple.com>
1905
1906         [OS X] Migrate to CTFontCreateForCharactersWithLanguage from [NSFont findFontLike:forString:withRange:inLanguage]
1907         https://bugs.webkit.org/show_bug.cgi?id=147483
1908
1909         Reviewed by Dean Jackson.
1910
1911         [NSFont findFontLike:forString:withRange:inLanguage] doesn't properly handle its last argument. In
1912         addition, we want to be moving away from NSFont in the first place and on to Core Text. This new
1913         CoreText function correctly handles its language argument, which is required for language-specific
1914         font fallback.
1915
1916         This patch rolls r187707 back in which was rolled out in r187802 due to test flakiness. This patch
1917         fixes the flakiness.
1918
1919         No new tests because there is no behavior change.
1920
1921         * platform/graphics/FontCache.cpp:
1922         (WebCore::FontCache::purgeInactiveFontData):
1923         * platform/graphics/FontCache.h:
1924         (WebCore::FontCache::platformPurgeInactiveFontData):
1925         * platform/graphics/mac/FontCacheMac.mm:
1926         (WebCore::fallbackDedupSet):
1927         (WebCore::FontCache::platformPurgeInactiveFontData):
1928         (WebCore::lookupCTFont):
1929         (WebCore::FontCache::systemFallbackForCharacters):
1930         * platform/spi/cocoa/CoreTextSPI.h:
1931         * platform/spi/mac/NSFontSPI.h:
1932
1933 2015-08-05  Anders Carlsson  <andersca@apple.com>
1934
1935         Get rid of DatabaseBackend as another step towards merging Database and DatabaseBackendBase
1936         https://bugs.webkit.org/show_bug.cgi?id=147687
1937
1938         Reviewed by Tim Horton.
1939
1940         * CMakeLists.txt:
1941         * Modules/webdatabase/ChangeVersionWrapper.cpp:
1942         (WebCore::ChangeVersionWrapper::performPreflight):
1943         (WebCore::ChangeVersionWrapper::performPostflight):
1944         * Modules/webdatabase/Database.cpp:
1945         (WebCore::Database::Database):
1946         (WebCore::Database::close):
1947         (WebCore::Database::from): Deleted.
1948         (WebCore::Database::backend): Deleted.
1949         * Modules/webdatabase/Database.h:
1950         * Modules/webdatabase/DatabaseBackend.cpp: Removed.
1951         (WebCore::DatabaseBackend::DatabaseBackend): Deleted.
1952         * Modules/webdatabase/DatabaseBackend.h: Removed.
1953         * Modules/webdatabase/DatabaseManager.cpp:
1954         * Modules/webdatabase/DatabaseServer.cpp:
1955         * Modules/webdatabase/DatabaseTask.cpp:
1956         (WebCore::DatabaseTask::DatabaseTask):
1957         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
1958         (WebCore::DatabaseOpenTask::doPerformTask):
1959         (WebCore::DatabaseOpenTask::debugTaskName):
1960         (WebCore::DatabaseCloseTask::DatabaseCloseTask):
1961         (WebCore::DatabaseCloseTask::doPerformTask):
1962         (WebCore::DatabaseCloseTask::debugTaskName):
1963         (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
1964         (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
1965         (WebCore::DatabaseTransactionTask::doPerformTask):
1966         (WebCore::DatabaseTransactionTask::debugTaskName):
1967         (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
1968         (WebCore::DatabaseTableNamesTask::doPerformTask):
1969         (WebCore::DatabaseTableNamesTask::debugTaskName):
1970         (WebCore::DatabaseBackend::DatabaseOpenTask::DatabaseOpenTask): Deleted.
1971         (WebCore::DatabaseBackend::DatabaseOpenTask::doPerformTask): Deleted.
1972         (WebCore::DatabaseBackend::DatabaseOpenTask::debugTaskName): Deleted.
1973         (WebCore::DatabaseBackend::DatabaseCloseTask::DatabaseCloseTask): Deleted.
1974         (WebCore::DatabaseBackend::DatabaseCloseTask::doPerformTask): Deleted.
1975         (WebCore::DatabaseBackend::DatabaseCloseTask::debugTaskName): Deleted.
1976         (WebCore::DatabaseBackend::DatabaseTransactionTask::DatabaseTransactionTask): Deleted.
1977         (WebCore::DatabaseBackend::DatabaseTransactionTask::~DatabaseTransactionTask): Deleted.
1978         (WebCore::DatabaseBackend::DatabaseTransactionTask::doPerformTask): Deleted.
1979         (WebCore::DatabaseBackend::DatabaseTransactionTask::debugTaskName): Deleted.
1980         (WebCore::DatabaseBackend::DatabaseTableNamesTask::DatabaseTableNamesTask): Deleted.
1981         (WebCore::DatabaseBackend::DatabaseTableNamesTask::doPerformTask): Deleted.
1982         (WebCore::DatabaseBackend::DatabaseTableNamesTask::debugTaskName): Deleted.
1983         * Modules/webdatabase/DatabaseTask.h:
1984         (WebCore::DatabaseTask::database):
1985         * Modules/webdatabase/SQLStatementBackend.cpp:
1986         (WebCore::SQLStatementBackend::execute):
1987         * Modules/webdatabase/SQLStatementBackend.h:
1988         * Modules/webdatabase/SQLTransactionBackend.cpp:
1989         (WebCore::SQLTransactionBackend::executeSQL):
1990         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
1991         * WebCore.vcxproj/WebCore.vcxproj:
1992         * WebCore.vcxproj/WebCore.vcxproj.filters:
1993         * WebCore.xcodeproj/project.pbxproj:
1994
1995 2015-08-04  Filip Pizlo  <fpizlo@apple.com>
1996
1997         Rename Mutex to DeprecatedMutex
1998         https://bugs.webkit.org/show_bug.cgi?id=147675
1999
2000         Reviewed by Geoffrey Garen.
2001
2002         No new tests because this is just a renaming.
2003
2004         * Modules/webaudio/AsyncAudioDecoder.cpp:
2005         (WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
2006         (WebCore::AsyncAudioDecoder::runLoop):
2007         * Modules/webaudio/AsyncAudioDecoder.h:
2008         * Modules/webaudio/AudioContext.h:
2009         * Modules/webaudio/MediaStreamAudioSource.cpp:
2010         (WebCore::MediaStreamAudioSource::addAudioConsumer):
2011         (WebCore::MediaStreamAudioSource::removeAudioConsumer):
2012         (WebCore::MediaStreamAudioSource::setAudioFormat):
2013         (WebCore::MediaStreamAudioSource::consumeAudio):
2014         * Modules/webaudio/MediaStreamAudioSource.h:
2015         * Modules/webdatabase/Database.cpp:
2016         (WebCore::Database::close):
2017         (WebCore::Database::runTransaction):
2018         (WebCore::Database::inProgressTransactionCompleted):
2019         (WebCore::Database::hasPendingTransaction):
2020         * Modules/webdatabase/DatabaseBackend.h:
2021         * Modules/webdatabase/DatabaseBackendBase.cpp:
2022         (WebCore::DatabaseBackendBase::performOpenAndVerify):
2023         (WebCore::DatabaseBackendBase::isInterrupted):
2024         * Modules/webdatabase/DatabaseContext.cpp:
2025         (WebCore::DatabaseContext::databaseThread):
2026         (WebCore::DatabaseContext::setPaused):
2027         * Modules/webdatabase/DatabaseContext.h:
2028         * Modules/webdatabase/DatabaseTask.h:
2029         * Modules/webdatabase/DatabaseThread.cpp:
2030         (WebCore::DatabaseThread::start):
2031         (WebCore::DatabaseThread::setPaused):
2032         (WebCore::DatabaseThread::handlePausedQueue):
2033         (WebCore::DatabaseThread::databaseThread):
2034         * Modules/webdatabase/DatabaseThread.h:
2035         * Modules/webdatabase/DatabaseTracker.cpp:
2036         (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
2037         (WebCore::DatabaseTracker::canEstablishDatabase):
2038         (WebCore::DatabaseTracker::retryCanEstablishDatabase):
2039         (WebCore::DatabaseTracker::hasEntryForOrigin):
2040         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2041         (WebCore::DatabaseTracker::closeAllDatabases):
2042         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
2043         (WebCore::DatabaseTracker::fullPathForDatabase):
2044         (WebCore::DatabaseTracker::origins):
2045         (WebCore::DatabaseTracker::databaseNamesForOrigin):
2046         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
2047         (WebCore::DatabaseTracker::setDatabaseDetails):
2048         (WebCore::DatabaseTracker::doneCreatingDatabase):
2049         (WebCore::DatabaseTracker::addOpenDatabase):
2050         (WebCore::DatabaseTracker::removeOpenDatabase):
2051         (WebCore::DatabaseTracker::getOpenDatabases):
2052         (WebCore::DatabaseTracker::originLockFor):
2053         (WebCore::DatabaseTracker::quotaForOrigin):
2054         (WebCore::DatabaseTracker::setQuota):
2055         (WebCore::DatabaseTracker::deleteOrigin):
2056         (WebCore::DatabaseTracker::deleteDatabase):
2057         (WebCore::DatabaseTracker::deleteDatabaseFile):
2058         (WebCore::DatabaseTracker::removeDeletedOpenedDatabases):
2059         (WebCore::DatabaseTracker::deleteDatabaseFileIfEmpty):
2060         (WebCore::DatabaseTracker::openDatabaseMutex):
2061         (WebCore::DatabaseTracker::setDatabasesPaused):
2062         (WebCore::DatabaseTracker::setClient):
2063         (WebCore::notificationMutex):
2064         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
2065         (WebCore::DatabaseTracker::notifyDatabasesChanged):
2066         * Modules/webdatabase/DatabaseTracker.h:
2067         * Modules/webdatabase/OriginLock.h:
2068         * Modules/webdatabase/SQLCallbackWrapper.h:
2069         (WebCore::SQLCallbackWrapper::clear):
2070         (WebCore::SQLCallbackWrapper::unwrap):
2071         (WebCore::SQLCallbackWrapper::hasCallback):
2072         * Modules/webdatabase/SQLTransactionBackend.cpp:
2073         (WebCore::SQLTransactionBackend::doCleanup):
2074         (WebCore::SQLTransactionBackend::enqueueStatementBackend):
2075         (WebCore::SQLTransactionBackend::getNextStatement):
2076         * Modules/webdatabase/SQLTransactionBackend.h:
2077         * bindings/js/WorkerScriptController.cpp:
2078         (WebCore::WorkerScriptController::scheduleExecutionTermination):
2079         (WebCore::WorkerScriptController::isExecutionTerminating):
2080         * bindings/js/WorkerScriptController.h:
2081         * dom/default/PlatformMessagePortChannel.cpp:
2082         (WebCore::MessagePortChannel::postMessageToRemote):
2083         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
2084         (WebCore::MessagePortChannel::isConnectedTo):
2085         (WebCore::MessagePortChannel::hasPendingActivity):
2086         (WebCore::MessagePortChannel::locallyEntangledPort):
2087         (WebCore::PlatformMessagePortChannel::setRemotePort):
2088         (WebCore::PlatformMessagePortChannel::entangledChannel):
2089         (WebCore::PlatformMessagePortChannel::closeInternal):
2090         * dom/default/PlatformMessagePortChannel.h:
2091         * loader/icon/IconDatabase.cpp:
2092         (WebCore::IconDatabase::removeAllIcons):
2093         (WebCore::IconDatabase::synchronousIconForPageURL):
2094         (WebCore::IconDatabase::synchronousNativeIconForPageURL):
2095         (WebCore::IconDatabase::synchronousIconURLForPageURL):
2096         (WebCore::IconDatabase::retainIconForPageURL):
2097         (WebCore::IconDatabase::performRetainIconForPageURL):
2098         (WebCore::IconDatabase::releaseIconForPageURL):
2099         (WebCore::IconDatabase::performReleaseIconForPageURL):
2100         (WebCore::IconDatabase::setIconDataForIconURL):
2101         (WebCore::IconDatabase::setIconURLForPageURL):
2102         (WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
2103         (WebCore::IconDatabase::synchronousIconDataKnownForIconURL):
2104         (WebCore::IconDatabase::pageURLMappingCount):
2105         (WebCore::IconDatabase::retainedPageURLCount):
2106         (WebCore::IconDatabase::iconRecordCount):
2107         (WebCore::IconDatabase::iconRecordCountWithData):
2108         (WebCore::IconDatabase::wakeSyncThread):
2109         (WebCore::IconDatabase::isOpenBesidesMainThreadCallbacks):
2110         (WebCore::IconDatabase::databasePath):
2111         (WebCore::IconDatabase::getOrCreatePageURLRecord):
2112         (WebCore::IconDatabase::iconDatabaseSyncThread):
2113         (WebCore::IconDatabase::performOpenInitialization):
2114         (WebCore::IconDatabase::performURLImport):
2115         (WebCore::IconDatabase::syncThreadMainLoop):
2116         (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
2117         (WebCore::IconDatabase::readFromDatabase):
2118         (WebCore::IconDatabase::writeToDatabase):
2119         (WebCore::IconDatabase::pruneUnretainedIcons):
2120         (WebCore::IconDatabase::cleanupSyncThread):
2121         * loader/icon/IconDatabase.h:
2122         * page/scrolling/ScrollingTree.cpp:
2123         (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
2124         (WebCore::ScrollingTree::commitNewTreeState):
2125         (WebCore::ScrollingTree::setMainFramePinState):
2126         (WebCore::ScrollingTree::mainFrameScrollPosition):
2127         (WebCore::ScrollingTree::setMainFrameScrollPosition):
2128         (WebCore::ScrollingTree::isPointInNonFastScrollableRegion):
2129         (WebCore::ScrollingTree::isRubberBandInProgress):
2130         (WebCore::ScrollingTree::setMainFrameIsRubberBanding):
2131         (WebCore::ScrollingTree::isScrollSnapInProgress):
2132         (WebCore::ScrollingTree::setMainFrameIsScrollSnapping):
2133         (WebCore::ScrollingTree::setCanRubberBandState):
2134         (WebCore::ScrollingTree::rubberBandsAtLeft):
2135         (WebCore::ScrollingTree::rubberBandsAtRight):
2136         (WebCore::ScrollingTree::rubberBandsAtBottom):
2137         (WebCore::ScrollingTree::rubberBandsAtTop):
2138         (WebCore::ScrollingTree::setScrollPinningBehavior):
2139         (WebCore::ScrollingTree::scrollPinningBehavior):
2140         (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
2141         (WebCore::ScrollingTree::latchedNode):
2142         (WebCore::ScrollingTree::setLatchedNode):
2143         (WebCore::ScrollingTree::clearLatchedNode):
2144         * page/scrolling/ScrollingTree.h:
2145         * platform/MemoryPressureHandler.h:
2146         * platform/audio/HRTFDatabaseLoader.cpp:
2147         (WebCore::HRTFDatabaseLoader::loadAsynchronously):
2148         (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
2149         * platform/audio/HRTFDatabaseLoader.h:
2150         * platform/cocoa/MemoryPressureHandlerCocoa.mm:
2151         (WebCore::MemoryPressureHandler::setReceivedMemoryPressure):
2152         (WebCore::MemoryPressureHandler::clearMemoryPressure):
2153         (WebCore::MemoryPressureHandler::shouldWaitForMemoryClearMessage):
2154         (WebCore::MemoryPressureHandler::respondToMemoryPressureIfNeeded):
2155         * platform/graphics/DisplayRefreshMonitor.cpp:
2156         (WebCore::DisplayRefreshMonitor::displayDidRefresh):
2157         * platform/graphics/DisplayRefreshMonitor.h:
2158         (WebCore::DisplayRefreshMonitor::setMonotonicAnimationStartTime):
2159         (WebCore::DisplayRefreshMonitor::mutex):
2160         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2161         (WebCore::MediaPlayerPrivateAVFoundation::setDelayCallbacks):
2162         (WebCore::MediaPlayerPrivateAVFoundation::clearMainThreadPendingFlag):
2163         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
2164         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2165         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2166         (WebCore::AVFWrapper::callbackContext):
2167         (WebCore::AVFWrapper::~AVFWrapper):
2168         (WebCore::AVFWrapper::mapLock):
2169         (WebCore::AVFWrapper::addToMap):
2170         (WebCore::AVFWrapper::removeFromMap):
2171         (WebCore::AVFWrapper::periodicTimeObserverCallback):
2172         (WebCore::AVFWrapper::processNotification):
2173         (WebCore::AVFWrapper::loadPlayableCompletionCallback):
2174         (WebCore::AVFWrapper::loadMetadataCompletionCallback):
2175         (WebCore::AVFWrapper::seekCompletedCallback):
2176         (WebCore::AVFWrapper::processCue):
2177         (WebCore::AVFWrapper::legibleOutputCallback):
2178         (WebCore::AVFWrapper::processShouldWaitForLoadingOfResource):
2179         (WebCore::AVFWrapper::resourceLoaderShouldWaitForLoadingOfRequestedResource):
2180         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
2181         (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
2182         (WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):
2183         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
2184         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2185         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
2186         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):
2187         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
2188         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
2189         (WebCore::DisplayRefreshMonitorMac::requestRefreshCallback):
2190         (WebCore::DisplayRefreshMonitorMac::displayLinkFired):
2191         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
2192         (WebCore::MediaPlayerPrivateMediaFoundation::addListener):
2193         (WebCore::MediaPlayerPrivateMediaFoundation::removeListener):
2194         (WebCore::MediaPlayerPrivateMediaFoundation::notifyDeleted):
2195         (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::Invoke):
2196         (WebCore::MediaPlayerPrivateMediaFoundation::AsyncCallback::onMediaPlayerDeleted):
2197         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
2198         * platform/ios/LegacyTileCache.h:
2199         * platform/ios/LegacyTileCache.mm:
2200         (WebCore::LegacyTileCache::setTilesOpaque):
2201         (WebCore::LegacyTileCache::doLayoutTiles):
2202         (WebCore::LegacyTileCache::setCurrentScale):
2203         (WebCore::LegacyTileCache::commitScaleChange):
2204         (WebCore::LegacyTileCache::layoutTilesNow):
2205         (WebCore::LegacyTileCache::layoutTilesNowForRect):
2206         (WebCore::LegacyTileCache::removeAllNonVisibleTiles):
2207         (WebCore::LegacyTileCache::removeAllTiles):
2208         (WebCore::LegacyTileCache::removeForegroundTiles):
2209         (WebCore::LegacyTileCache::setContentReplacementImage):
2210         (WebCore::LegacyTileCache::contentReplacementImage):
2211         (WebCore::LegacyTileCache::tileCreationTimerFired):
2212         (WebCore::LegacyTileCache::setNeedsDisplayInRect):
2213         (WebCore::LegacyTileCache::updateTilingMode):
2214         (WebCore::LegacyTileCache::setTilingMode):
2215         (WebCore::LegacyTileCache::doPendingRepaints):
2216         (WebCore::LegacyTileCache::flushSavedDisplayRects):
2217         (WebCore::LegacyTileCache::prepareToDraw):
2218         * platform/ios/LegacyTileLayerPool.h:
2219         * platform/ios/LegacyTileLayerPool.mm:
2220         (WebCore::LegacyTileLayerPool::addLayer):
2221         (WebCore::LegacyTileLayerPool::takeLayerWithSize):
2222         (WebCore::LegacyTileLayerPool::setCapacity):
2223         (WebCore::LegacyTileLayerPool::prune):
2224         (WebCore::LegacyTileLayerPool::drain):
2225         * platform/network/curl/CurlDownload.cpp:
2226         (WebCore::CurlDownloadManager::add):
2227         (WebCore::CurlDownloadManager::remove):
2228         (WebCore::CurlDownloadManager::getActiveDownloadCount):
2229         (WebCore::CurlDownloadManager::getPendingDownloadCount):
2230         (WebCore::CurlDownloadManager::stopThreadIfIdle):
2231         (WebCore::CurlDownloadManager::updateHandleList):
2232         (WebCore::CurlDownload::~CurlDownload):
2233         (WebCore::CurlDownload::init):
2234         (WebCore::CurlDownload::getTempPath):
2235         (WebCore::CurlDownload::getUrl):
2236         (WebCore::CurlDownload::getResponse):
2237         (WebCore::CurlDownload::closeFile):
2238         (WebCore::CurlDownload::didReceiveHeader):
2239         (WebCore::CurlDownload::didReceiveData):
2240         (WebCore::CurlDownload::didFail):
2241         * platform/network/curl/CurlDownload.h:
2242         * platform/network/curl/ResourceHandleManager.cpp:
2243         (WebCore::cookieJarPath):
2244         (WebCore::sharedResourceMutex):
2245         (WebCore::curl_lock_callback):
2246         (WebCore::curl_unlock_callback):
2247         * platform/network/ios/QuickLook.mm:
2248         (WebCore::QLDirectoryAttributes):
2249         (qlPreviewConverterDictionaryMutex):
2250         (WebCore::addQLPreviewConverterWithFileForURL):
2251         (WebCore::qlPreviewConverterUTIForURL):
2252         (WebCore::removeQLPreviewConverterForURL):
2253         (WebCore::safeQLURLForDocumentURLAndResourceURL):
2254         * platform/sql/SQLiteDatabase.cpp:
2255         (WebCore::SQLiteDatabase::close):
2256         (WebCore::SQLiteDatabase::interrupt):
2257         (WebCore::SQLiteDatabase::maximumSize):
2258         (WebCore::SQLiteDatabase::setMaximumSize):
2259         (WebCore::SQLiteDatabase::pageSize):
2260         (WebCore::SQLiteDatabase::freeSpaceSize):
2261         (WebCore::SQLiteDatabase::totalSize):
2262         (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
2263         (WebCore::SQLiteDatabase::setAuthorizer):
2264         * platform/sql/SQLiteDatabase.h:
2265         (WebCore::SQLiteDatabase::databaseMutex):
2266         * platform/sql/SQLiteStatement.cpp:
2267         (WebCore::SQLiteStatement::prepare):
2268         (WebCore::SQLiteStatement::step):
2269         * workers/WorkerThread.cpp:
2270         (WebCore::WorkerThread::start):
2271         (WebCore::WorkerThread::workerThread):
2272         (WebCore::WorkerThread::stop):
2273         * workers/WorkerThread.h:
2274
2275 2015-08-05  Matthew Daiter  <mdaiter@apple.com>
2276
2277         Adding in MediaPrivateMediaStreamEngine to default compile
2278         https://bugs.webkit.org/show_bug.cgi?id=146790
2279         <rdar://problem/21747289>
2280
2281         Reviewed by Eric Carlson.
2282
2283         * WebCore.xcodeproj/project.pbxproj:
2284         * platform/mediastream/MediaStreamPrivate.h:
2285         (WebCore::MediaStreamPrivate::MediaStreamPrivate):
2286
2287 2015-08-05  Matthew Daiter  <mdaiter@apple.com>
2288
2289         Remove m_synchronizer from MediaPlayerPrivateMediaStream
2290         https://bugs.webkit.org/show_bug.cgi?id=147637
2291
2292         Reviewed by Eric Carlson.
2293
2294         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
2295         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
2296         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::playInternal): Deleted.
2297
2298 2015-08-05  Wenson Hsieh  <wenson_hsieh@apple.com>
2299
2300         Build fix after 187961
2301
2302         * platform/mac/ThemeMac.mm:
2303         (WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext):
2304
2305 2015-08-05  Daniel Bates  <dabates@apple.com>
2306
2307         REGRESSION (r185111): Clicking phone numbers doesn't prompt to call sometimes
2308         https://bugs.webkit.org/show_bug.cgi?id=147678
2309         <rdar://problem/21827815>
2310
2311         Reviewed by Brady Eidson.
2312
2313         Fixes an issue where a non-user-initiated navigation of the main frame to a phone link (tel URL)
2314         may be ignored. The navigation is ignored if the page was reloaded as a result of a web content
2315         process crash, its lifetime exceeded the back-forward cache expiration interval, or a person
2316         quits and opens Safari again, among other scenarios.
2317
2318         * history/HistoryItem.cpp:
2319         (WebCore::HistoryItem::setShouldOpenExternalURLsPolicy): Added.
2320         (WebCore::HistoryItem::shouldOpenExternalURLsPolicy): Added.
2321         * history/HistoryItem.h:
2322         * loader/FrameLoader.cpp:
2323         (WebCore::FrameLoader::loadDifferentDocumentItem): Apply the "should open external URLs" policy
2324         from the history item, if applicable. Also, be more explicit when instantiating a NavigationAction
2325         so as to help make it straightforward to reduce the number of NavigationAction constructors we have
2326         in the future.
2327         * loader/HistoryController.cpp:
2328         (WebCore::HistoryController::saveDocumentState): Save the "should open external URLs" policy to
2329         the history item.
2330         (WebCore::HistoryController::restoreDocumentState): Apply the "should open external URLs" policy
2331         from the history item to the document loader.
2332         (WebCore::HistoryController::initializeItem): Update the "should open external URLs" policy of
2333         the history item to reflect the policy of the document loader associated with the current frame.
2334
2335 2015-08-04  Wenson Hsieh  <wenson_hsieh@apple.com>
2336
2337         Checkboxes and radio buttons should scale when zooming or pinching to zoom
2338         https://bugs.webkit.org/show_bug.cgi?id=147405
2339
2340         Reviewed by Dean Jackson.
2341
2342         Refactors paintButton and paintToggleButton to use a temporary buffer when rendering
2343         if the controls are zoomed. This affects checkboxes, radio buttons, and normal (push)
2344         buttons.
2345
2346         * platform/mac/ThemeMac.h:
2347         * platform/mac/ThemeMac.mm:
2348         (WebCore::paintToggleButton): Refactored to use drawCellOrFocusRingWithViewIntoContext.
2349         (WebCore::paintButton): Refactored to use drawCellOrFocusRingWithViewIntoContext.
2350         (WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext): Draws a given button cell
2351             and/or its focus ring into the given context, optionally using an offscreen buffer.
2352             This is a static function in ThemeMac so it can be accessed later on by
2353             RenderThemeMac when painting search fields that scale with zoom.
2354         (WebCore::ThemeMac::paint):
2355         (WebCore::buttonFocusRectOutlineWidth): Deleted. Made this value into a const float.
2356
2357 2015-08-04  Doug Russell  <d_russell@apple.com>
2358
2359         AX: tree item children returned from ranged getter are different from full array of children
2360         https://bugs.webkit.org/show_bug.cgi?id=147660
2361
2362         Reviewed by Chris Fleizach.
2363
2364         Add an isTreeItem() check in ranged element getter so that it matches the logic in 
2365         the getter for the full children array. This prevents returning a row as a child
2366         when only the rows contents should be returned. This prevents navigation issues on
2367         websites without aria outlines.
2368
2369         Test: accessibility/mac/aria-tree-item-children.html
2370
2371         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2372         (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
2373
2374 2015-08-04  Anders Carlsson  <andersca@apple.com>
2375
2376         CTTE the database task code
2377         https://bugs.webkit.org/show_bug.cgi?id=147673
2378
2379         Reviewed by Andreas Kling.
2380
2381         * Modules/webdatabase/Database.cpp:
2382         (WebCore::Database::openAndVerifyVersion):
2383         (WebCore::Database::markAsDeletedAndClose):
2384         (WebCore::Database::tableNames):
2385         * Modules/webdatabase/DatabaseTask.cpp:
2386         (WebCore::DatabaseTask::DatabaseTask):
2387         (WebCore::DatabaseTask::performTask):
2388         (WebCore::DatabaseBackend::DatabaseOpenTask::DatabaseOpenTask):
2389         (WebCore::DatabaseBackend::DatabaseOpenTask::doPerformTask):
2390         (WebCore::DatabaseBackend::DatabaseCloseTask::DatabaseCloseTask):
2391         (WebCore::DatabaseBackend::DatabaseCloseTask::doPerformTask):
2392         (WebCore::DatabaseBackend::DatabaseTransactionTask::DatabaseTransactionTask):
2393         (WebCore::DatabaseBackend::DatabaseTableNamesTask::DatabaseTableNamesTask):
2394         (WebCore::DatabaseBackend::DatabaseTableNamesTask::doPerformTask):
2395         * Modules/webdatabase/DatabaseTask.h:
2396         (WebCore::DatabaseTask::database):
2397         * Modules/webdatabase/DatabaseThread.cpp:
2398         (WebCore::SameDatabasePredicate::operator()):
2399
2400 2015-08-04  Brent Fulgham  <bfulgham@apple.com>
2401
2402         REGRESSION (r173784): [Mac] Correct latching error for non-scrollable iframe nested inside scrollable div.
2403         https://bugs.webkit.org/show_bug.cgi?id=147668
2404         <rdar://problem/21870332>
2405
2406         Reviewed by Simon Fraser.
2407
2408         Test: platform/mac/fast/scrolling/scroll-div-with-nested-nonscrollable-iframe.html
2409
2410         When we are wrapping up processing of the wheel event for a given frame, if the current latching context
2411         does NOT apply to the current frame (e.g., because it's latched to an enclosing frame) we should not pass
2412         wheel events directly to the latched elements scrollable container. Instead, we should just give the current
2413         frame an opportunity to perform any custom wheel event handling and return, so that the enclosing (latched)
2414         frame can do the rest of its event handling.
2415         
2416         If we don't do this, we incorrectly ask the enclosing frame to process the event, then return claiming that
2417         we handled the event, preventing the enclosing frame from doing its part of the processing.
2418
2419         * page/mac/EventHandlerMac.mm:
2420         (WebCore::EventHandler::platformCompleteWheelEvent):
2421
2422 2015-08-04  Alex Christensen  <achristensen@webkit.org>
2423
2424         Soft link libGLESv2 and libEGL on Windows again
2425         https://bugs.webkit.org/show_bug.cgi?id=147671
2426
2427         Reviewed by Dean Jackson.
2428
2429         * platform/graphics/PlatformDisplay.cpp:
2430         (WebCore::PlatformDisplay::initializeEGLDisplay):
2431         Fail gracefully if libEGL is not found.
2432
2433 2015-08-04  Anders Carlsson  <andersca@apple.com>
2434
2435         Remove another unused database function
2436         https://bugs.webkit.org/show_bug.cgi?id=147670
2437
2438         Reviewed by Daniel Bates.
2439
2440         This was used back when we had WebSQL support in workers, we can safely remove all these functions now.
2441
2442         * Modules/webdatabase/AbstractDatabaseServer.h:
2443         * Modules/webdatabase/DatabaseManager.cpp:
2444         (WebCore::DatabaseManager::interruptAllDatabasesForContext): Deleted.
2445         * Modules/webdatabase/DatabaseManager.h:
2446         * Modules/webdatabase/DatabaseServer.cpp:
2447         (WebCore::DatabaseServer::interruptAllDatabasesForContext): Deleted.
2448         * Modules/webdatabase/DatabaseServer.h:
2449         * Modules/webdatabase/DatabaseTracker.cpp:
2450         (WebCore::DatabaseTracker::interruptAllDatabasesForContext): Deleted.
2451         * Modules/webdatabase/DatabaseTracker.h:
2452
2453 2015-08-04  Anders Carlsson  <andersca@apple.com>
2454
2455         Remove database thread pause code
2456         https://bugs.webkit.org/show_bug.cgi?id=147669
2457
2458         Reviewed by Daniel Bates.
2459
2460         We now grab power assertions while running SQLite transactions, 
2461         and this code isn't used at all with modern WebKit so let's just get rid of it.
2462
2463         * Modules/webdatabase/DatabaseContext.cpp:
2464         (WebCore::DatabaseContext::DatabaseContext): Deleted.
2465         (WebCore::DatabaseContext::databaseThread): Deleted.
2466         (WebCore::DatabaseContext::setPaused): Deleted.
2467         * Modules/webdatabase/DatabaseContext.h:
2468         * Modules/webdatabase/DatabaseTask.cpp:
2469         (WebCore::Database::DatabaseTransactionTask::shouldPerformWhilePaused): Deleted.
2470         * Modules/webdatabase/DatabaseTask.h:
2471         * Modules/webdatabase/DatabaseThread.cpp:
2472         (WebCore::DatabaseThread::DatabaseThread): Deleted.
2473         (WebCore::DatabaseThread::requestTermination): Deleted.
2474         (WebCore::DatabaseUnpauseTask::DatabaseUnpauseTask): Deleted.
2475         (WebCore::DatabaseUnpauseTask::shouldPerformWhilePaused): Deleted.
2476         (WebCore::DatabaseUnpauseTask::doPerformTask): Deleted.
2477         (WebCore::DatabaseUnpauseTask::debugTaskName): Deleted.
2478         (WebCore::DatabaseThread::setPaused): Deleted.
2479         (WebCore::DatabaseThread::handlePausedQueue): Deleted.
2480         (WebCore::DatabaseThread::databaseThread): Deleted.
2481         * Modules/webdatabase/DatabaseThread.h:
2482         * Modules/webdatabase/DatabaseTracker.cpp:
2483         (WebCore::DatabaseTracker::setDatabasesPaused): Deleted.
2484         * Modules/webdatabase/DatabaseTracker.h:
2485
2486 2015-08-04  Chris Dumez  <cdumez@apple.com>
2487
2488         Subframes with no current HistoryItem should not prevent page-caching
2489         https://bugs.webkit.org/show_bug.cgi?id=147649
2490         <rdar://problem/21614832>
2491
2492         Reviewed by Andreas Kling.
2493
2494         Subframes with no current HistoryItem should not prevent page-caching.
2495         We need one for the main frame as this is the key in the PageCache.
2496         However, there is no reason to require one for subframes.
2497
2498         This is a common reason for page-caching failures nowadays.
2499
2500         Frames do no have a current HistoryItem until something has been loaded in them.
2501
2502         Test: http/tests/navigation/page-cache-iframe-no-current-historyItem.html
2503
2504         * history/PageCache.cpp:
2505         (WebCore::logCanCacheFrameDecision):
2506         (WebCore::PageCache::canCachePageContainingThisFrame):
2507
2508 2015-08-04  Brent Fulgham  <bfulgham@apple.com>
2509
2510         [Win] Build fix after r187908
2511
2512         * platform/win/WindowsTouch.h: If WINVER is set properly, we
2513         don't need these definitions.
2514
2515 2015-08-04  Anders Carlsson  <andersca@apple.com>
2516
2517         Remove an unused Database function
2518         https://bugs.webkit.org/show_bug.cgi?id=147661
2519
2520         Reviewed by Simon Fraser.
2521
2522         * Modules/webdatabase/Database.cpp:
2523         (WebCore::Database::closeImmediately): Deleted.
2524         * Modules/webdatabase/Database.h:
2525
2526 2015-08-04  Brady Eidson  <beidson@apple.com>
2527
2528         Crash when following a Google search link to Twitter with Limit Adult Content enabled.
2529         <rdar://problem/22123707> and https://bugs.webkit.org/show_bug.cgi?id=147651
2530
2531         Reviewed by Sam Weinig.
2532
2533         No new tests (Doesn't occur in a tested config).
2534
2535         For now, we'll skip the application cache for main resource loads if parental controls are enabled.
2536
2537         * loader/DocumentLoader.cpp:
2538         (WebCore::DocumentLoader::willSendRequest):
2539         (WebCore::DocumentLoader::startLoadingMainResource):
2540
2541 2015-08-04  Matthew Daiter  <mdaiter@apple.com>
2542
2543         Added buffer to AVMediaCaptureSource
2544         https://bugs.webkit.org/show_bug.cgi?id=147454
2545         <rdar://problem/22079502>
2546
2547         Reviewed by Jer Noble.
2548
2549         * platform/mediastream/mac/AVMediaCaptureSource.h:
2550         (WebCore::AVMediaCaptureSource::buffer):
2551         (WebCore::AVMediaCaptureSource::setBuffer):
2552         * platform/mediastream/mac/AVVideoCaptureSource.mm:
2553         (WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection):
2554
2555 2015-08-04  Matthew Daiter  <mdaiter@apple.com>
2556
2557         Needless assignment of usingDot
2558         https://bugs.webkit.org/show_bug.cgi?id=147514
2559
2560         Reviewed by Eric Carlson.
2561
2562         * platform/graphics/mac/GraphicsContextMac.mm:
2563         (WebCore::GraphicsContext::drawLineForDocumentMarker): Deleted.
2564
2565 2015-08-04  Chris Dumez  <cdumez@apple.com>
2566
2567         shouldParseTelephoneNumbersInNode() does not need to check for Comment nodes
2568         https://bugs.webkit.org/show_bug.cgi?id=147630
2569
2570         Reviewed by Sam Weinig.
2571
2572         shouldParseTelephoneNumbersInNode() does not need to check for Comment
2573         nodes. We already know the input is a ContainerNode and a Comment is
2574         NOT a ContainerNode. Also, we were already doing a isElementNode()
2575         check before calling disallowTelephoneNumberParsing().
2576
2577         I also updated the function to use a for loop for clarity and dropped
2578         the isElementNode() check as calling hasTagName() / isLink() on a
2579         ContainerNode is as fast all calling it on an Element nowadays.
2580
2581         * html/parser/HTMLTreeBuilder.cpp:
2582         (WebCore::disallowTelephoneNumberParsing):
2583         (WebCore::shouldParseTelephoneNumbersInNode):
2584
2585 2015-08-04  Eric Carlson  <eric.carlson@apple.com>
2586
2587         [Mac] Do not require a video track for AirPlay
2588         https://bugs.webkit.org/show_bug.cgi?id=147647
2589
2590         Reviewed by Jer Noble.
2591
2592         * Modules/mediacontrols/mediaControlsApple.js:
2593         (Controller.prototype.handleReadyStateChange): Call updateWirelessTargetAvailable().
2594         (Controller.prototype.updateHasVideo): Don't call updateWirelessTargetAvailable().
2595         (Controller.prototype.updateWirelessTargetAvailable): Don't require video.
2596
2597         * html/HTMLMediaElement.cpp:
2598         (WebCore::HTMLMediaElement::setReadyState): Call updateMediaState when we reach HAVE_METADATA.
2599         (WebCore::HTMLMediaElement::mediaState): Don't require video, only that the file can play.
2600
2601         * html/MediaElementSession.cpp:
2602         (WebCore::MediaElementSession::showPlaybackTargetPicker): Check readyState instead of hasVideo.
2603
2604 2015-08-04  Anders Carlsson  <andersca@apple.com>
2605
2606         Get rid of ReasonForCallingAllowPlugins since it's not used anywhere
2607         https://bugs.webkit.org/show_bug.cgi?id=147648
2608
2609         Reviewed by Andreas Kling.
2610
2611         * dom/DOMImplementation.cpp:
2612         (WebCore::DOMImplementation::createDocument):
2613         * html/HTMLElement.cpp:
2614         (WebCore::HTMLElement::rendererIsNeeded):
2615         * html/parser/HTMLParserOptions.cpp:
2616         (WebCore::HTMLParserOptions::HTMLParserOptions):
2617         * loader/FrameLoaderTypes.h:
2618         * loader/SubframeLoader.cpp:
2619         (WebCore::SubframeLoader::requestPlugin):
2620         (WebCore::SubframeLoader::createJavaAppletWidget):
2621         (WebCore::SubframeLoader::allowPlugins):
2622         * loader/SubframeLoader.h:
2623         * plugins/DOMMimeType.cpp:
2624         (WebCore::DOMMimeType::enabledPlugin):
2625
2626 2015-08-04  Alex Christensen  <achristensen@webkit.org>
2627
2628         Fix debug CMake build on Windows after r187818.
2629
2630         * PlatformWin.cmake:
2631         Debug *AllInOne.cpp object files in WebCore require /bigobj to compile successfully.
2632
2633 2015-08-04  Alexey Proskuryakov  <ap@apple.com>
2634
2635         Implement NPAPI redirect handling
2636         https://bugs.webkit.org/show_bug.cgi?id=138675
2637         rdar://problem/15779101
2638
2639         Patch by Jeffrey Pfau, updated and tweaked by me.
2640
2641         Reviewed by Anders Carlsson.
2642
2643         Test: http/tests/plugins/get-url-redirect-notify.html
2644
2645         * loader/NetscapePlugInStreamLoader.cpp:
2646         (WebCore::NetscapePlugInStreamLoader::init):
2647         (WebCore::NetscapePlugInStreamLoader::willSendRequest):
2648         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
2649         * loader/NetscapePlugInStreamLoader.h:
2650         * loader/ResourceLoader.cpp:
2651         (WebCore::ResourceLoader::init):
2652         (WebCore::ResourceLoader::isSubresourceLoader):
2653         (WebCore::ResourceLoader::willSendRequestInternal):
2654         (WebCore::ResourceLoader::willSendRequest):
2655         (WebCore::ResourceLoader::didSendData):
2656         * loader/ResourceLoader.h:
2657         * loader/SubresourceLoader.cpp:
2658         (WebCore::SubresourceLoader::isSubresourceLoader):
2659         (WebCore::SubresourceLoader::willSendRequestInternal):
2660         (WebCore::SubresourceLoader::willSendRequest): Deleted.
2661         * loader/SubresourceLoader.h:
2662         * plugins/npapi.h:
2663         * plugins/npfunctions.h:
2664
2665 2015-08-04  Zalan Bujtas  <zalan@apple.com>
2666
2667         RenderTheme::paint() should take RenderBox instead of RenderObject.
2668         https://bugs.webkit.org/show_bug.cgi?id=147638
2669
2670         Reviewed by Andreas Kling.
2671
2672         No change in functionality.
2673
2674         * rendering/RenderTheme.cpp:
2675         (WebCore::RenderTheme::paint):
2676         (WebCore::RenderTheme::updateControlStatesForRenderer): ->RenderBox too.
2677         (WebCore::RenderTheme::isActive): Remove redundant code.
2678         * rendering/RenderTheme.h:
2679
2680 2015-08-04  Matthew Daiter  <mdaiter@apple.com>
2681
2682         Render to GraphicsContext MediaPlayerPrivateMediaStreamAVFObjC
2683         https://bugs.webkit.org/show_bug.cgi?id=147643
2684
2685         Reviewed by Eric Carlson.
2686
2687         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
2688         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::paint):
2689
2690 2015-08-04  Matthew Daiter  <mdaiter@apple.com>
2691
2692         Added ability to create images from buffers for MediaStream paint methods
2693         https://bugs.webkit.org/show_bug.cgi?id=147642
2694
2695         Reviewed by Eric Carlson.
2696
2697         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
2698         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
2699         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::createImageFromSampleBuffer):
2700
2701 2015-08-04  Matthew Daiter  <mdaiter@apple.com>
2702
2703         Add image variable rendered by paint methods for MediaStream
2704         https://bugs.webkit.org/show_bug.cgi?id=147645
2705
2706         Reviewed by Eric Carlson.
2707
2708         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
2709
2710 2015-08-04  Zalan Bujtas  <zalan@apple.com>
2711
2712         RenderTheme::baselinePosition() should take RenderBox instead of RenderObject.
2713         https://bugs.webkit.org/show_bug.cgi?id=147632
2714
2715         Reviewed by Andreas Kling.
2716
2717         It eliminates some redundant type checking and casting.
2718
2719         No change in functionality.
2720
2721         * platform/efl/RenderThemeEfl.cpp:
2722         (WebCore::RenderThemeEfl::baselinePosition):
2723         * platform/efl/RenderThemeEfl.h:
2724         * rendering/RenderTheme.cpp:
2725         (WebCore::RenderTheme::baselinePosition):
2726         * rendering/RenderTheme.h:
2727         * rendering/RenderThemeGtk.cpp:
2728         (WebCore::RenderThemeGtk::baselinePosition):
2729         * rendering/RenderThemeGtk.h:
2730         * rendering/RenderThemeIOS.h:
2731         * rendering/RenderThemeIOS.mm:
2732         (WebCore::RenderThemeIOS::baselinePosition):
2733         * rendering/RenderThemeSafari.cpp:
2734         (WebCore::RenderThemeSafari::baselinePosition):
2735         * rendering/RenderThemeSafari.h:
2736
2737 2015-08-04  Alex Christensen  <achristensen@webkit.org>
2738
2739         Enable WebGL on Windows CMake build.
2740         https://bugs.webkit.org/show_bug.cgi?id=143311
2741
2742         Reviewed by Csaba Osztrogonác.
2743
2744         * CMakeLists.txt:
2745         ANGLE is built quite differently on Windows, so I'm not going to touch the existing CMake build system for
2746         ANGLE on Linux, although I think it should eventually be unified more by using ANGLE's OpenGL renderer.
2747         * PlatformWin.cmake:
2748         Added some needed source files and include directories.
2749
2750 2015-08-04  Jeremy Jones  <jeremyj@apple.com>
2751
2752         Implement isPictureInPictureInterrupted.
2753         https://bugs.webkit.org/show_bug.cgi?id=147620
2754
2755         Reviewed by Eric Carlson.
2756
2757         Implement isPictureInPictureInterrupted so setting the property to true pauses playback.
2758         This allows PiP to pause when the device is locked while the app is suspended.
2759
2760         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2761         (-[WebAVPlayerController init]):
2762         (-[WebAVPlayerController isPictureInPictureInterrupted]):
2763         (-[WebAVPlayerController setPictureInPictureInterrupted:]):
2764
2765 2015-08-03  Csaba Osztrogonác  <ossy@webkit.org>
2766
2767         Introduce COMPILER(GCC_OR_CLANG) guard and make COMPILER(GCC) true only for GCC
2768         https://bugs.webkit.org/show_bug.cgi?id=146833
2769
2770         Reviewed by Alexey Proskuryakov.
2771
2772         * platform/graphics/cpu/arm/filters/FELightingNEON.cpp:
2773         * platform/graphics/cpu/arm/filters/FELightingNEON.h:
2774         * platform/graphics/filters/FELighting.cpp:
2775         (WebCore::FELighting::platformApply):
2776         * platform/network/efl/NetworkStateNotifierEfl.cpp:
2777         (WebCore::NetworkStateNotifier::readSocketCallback):
2778
2779 2015-08-03  Csaba Osztrogonác  <ossy@webkit.org>
2780
2781         [CMake] Add an option to build AllInOne files
2782         https://bugs.webkit.org/show_bug.cgi?id=102647
2783
2784         Reviewed by Alex Christensen.
2785
2786         * CMakeLists.txt:
2787
2788 2015-08-03  Csaba Osztrogonác  <ossy@webkit.org>
2789
2790         Fix the all-in-one build on Linux after r187659
2791         https://bugs.webkit.org/show_bug.cgi?id=147557
2792
2793         Reviewed by Alex Christensen.
2794
2795         Removed MediaFeatureNames.cpp from the all-in-one build, because it caused build failures on Linux.
2796         Additionally removed css/MediaAllInOne.cpp since it is unused.
2797
2798         * WebCore.vcxproj/WebCore.vcxproj:
2799         * WebCore.vcxproj/WebCore.vcxproj.filters:
2800         * css/CSSAllInOne.cpp:
2801         * css/MediaAllInOne.cpp: Removed.
2802
2803 2015-08-03  Benjamin Poulain  <bpoulain@apple.com>
2804
2805         Returns inconsistent types for el.style.property and el.style.getPropertyValue('color')
2806         https://bugs.webkit.org/show_bug.cgi?id=147549
2807
2808         Reviewed by Andreas Kling.
2809
2810         Kudos to Greg Whitworth for finding this bug.
2811
2812         Test: fast/css/getPropertyValue-returns-empty-on-missing-property.html
2813
2814         * css/CSSStyleDeclaration.idl:
2815         Our definition was wrong.
2816         Current spec: http://www.w3.org/TR/cssom/#dom-cssstyledeclaration-getpropertyvalue
2817         Current draft: https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue
2818         Gecko and EdgeHTML follow the spec.
2819
2820 2015-08-03  Myles C. Maxfield  <mmaxfield@apple.com>
2821
2822         Fix crashing Mavericks test
2823
2824         Unreviewed.
2825
2826         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2827         (WebCore::FontPlatformData::registeredFont):
2828
2829 2015-08-03  Myles C. Maxfield  <mmaxfield@apple.com>
2830
2831         Unreviewed post-review feedback on r187797
2832
2833         The correct terminology is "registered" instead of "activated."
2834
2835         No new tests because there is no behavior change.
2836
2837         * platform/graphics/FontPlatformData.h:
2838         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2839         (WebCore::FontPlatformData::registeredFont):
2840         (WebCore::FontPlatformData::activatedFont): Deleted.
2841
2842 2015-08-03  Myles C. Maxfield  <mmaxfield@apple.com>
2843
2844         Clean up casts between NSFont*s and CTFontRefs
2845         https://bugs.webkit.org/show_bug.cgi?id=147618
2846
2847         Reviewed by Mitz Pettel.
2848
2849         For toll free bridged types, it makes more sense to do a C-style cast, than jump
2850         through hoops for older compilers.
2851
2852         No new tests because there is no behavior change.
2853
2854         * platform/graphics/FontPlatformData.h:
2855         (WebCore::FontPlatformData::nsFont):
2856         (WebCore::FontPlatformData::hash):
2857
2858 2015-08-03  Commit Queue  <commit-queue@webkit.org>
2859
2860         Unreviewed, rolling out r187707, r187709, r187724, and
2861         r187728.
2862         https://bugs.webkit.org/show_bug.cgi?id=147617
2863
2864         fast/text/international/arabic-justify.html is flakey
2865         (Requested by litherum on #webkit).
2866
2867         Reverted changesets:
2868
2869         "[OS X] Migrate to CTFontCreateForCharactersWithLanguage from
2870         [NSFont findFontLike:forString:withRange:inLanguage]"
2871         https://bugs.webkit.org/show_bug.cgi?id=147483
2872         http://trac.webkit.org/changeset/187707
2873
2874         "Fix the build"
2875         http://trac.webkit.org/changeset/187709
2876
2877         "Expand CharacterFallbackMapKey to a struct"
2878         https://bugs.webkit.org/show_bug.cgi?id=147530
2879         http://trac.webkit.org/changeset/187724
2880
2881         "CharacterFallbackMapKey should be locale-specific"
2882         https://bugs.webkit.org/show_bug.cgi?id=147532
2883         http://trac.webkit.org/changeset/187728
2884
2885 2015-08-03  Myles C. Maxfield  <mmaxfield@apple.com>
2886
2887         REGRESSION(r184899): Crash when focusing an input element styled with a web font
2888         https://bugs.webkit.org/show_bug.cgi?id=147616
2889         <rdar://problem/21838271>
2890
2891         Reviewed by Dean Jackson.
2892
2893         NSFontManager can't handle web fonts. We used to pass null to NSFontManager in this case,
2894         but r184899 changed that.
2895
2896         Test: fast/text/input-webfont-focus.html
2897
2898         * platform/graphics/FontPlatformData.h:
2899         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2900         (WebCore::FontPlatformData::activatedFont):
2901
2902 2015-08-03  Brent Fulgham  <bfulgham@apple.com>
2903
2904         [Win] Unreviewed build fix.
2905
2906         It turns out that the IFEQ command (at least on Cygwin) does not
2907         understand Wildcards for OS types. Consequently, we should not use
2908         Windows* in makefiles. Luckily, we only need Windows_NT anymore.
2909
2910         * DerivedSources.make: Change Windows* -> Windows_NT to correct build.
2911
2912 2015-08-03  Tim Horton  <timothy_horton@apple.com>
2913
2914         REGRESSION (r186916): TextIndicators for multiline link previews are unreadable/offset/blank
2915         https://bugs.webkit.org/show_bug.cgi?id=147615
2916         <rdar://problem/22116575>
2917
2918         Reviewed by Dean Jackson.
2919
2920         * page/mac/TextIndicatorWindow.mm:
2921         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):
2922         No need to offset by the difference between the text bounding rect and the selection bounding rect,
2923         because the snapshot is now (after r186916) taken of exactly the text bounding rect.
2924
2925 2015-08-03  Matt Rajca  <mrajca@apple.com>
2926
2927         Media Session: let UI clients query whether a media element is paused
2928         https://bugs.webkit.org/show_bug.cgi?id=147588
2929
2930         Reviewed by Tim Horton.
2931
2932         * page/Page.cpp:
2933         (WebCore::Page::isMediaElementPaused): Determine if the media element with the given ID is paused.
2934         * page/Page.h:
2935
2936 2015-08-03  Eric Carlson  <eric.carlson@apple.com>
2937
2938         [Mac] Always require user gesture to begin playing to AppleTV automatically
2939         https://bugs.webkit.org/show_bug.cgi?id=147591
2940
2941         Reviewed by Jer Noble.
2942
2943         * html/HTMLMediaElement.cpp:
2944         (WebCore::HTMLMediaElement::mediaState): Don't set the ExternalDeviceAutoPlayCandidate 
2945           flag until the user has explicitly triggered playback.
2946
2947 2015-08-03  Dean Jackson  <dino@apple.com>
2948
2949         Inline video controls overlap each other while playing video in slideover mode
2950         https://bugs.webkit.org/show_bug.cgi?id=147535
2951         <rdar://problem/22026864>
2952
2953         Reviewed by Eric Carlson.
2954
2955         Now that the resizing code is in the shared controller, we need to
2956         make sure to hide the timeline scrubber in iOS when the controls
2957         get too small. This involved adding the dropped class to the timeline,
2958         and rules for hiding to the CSS.
2959
2960         Meanwhile, when the page scale factor is less than one, we use the CSS zoom property
2961         and don't need to factor in the page scale factor when calculating
2962         the size.
2963
2964         * Modules/mediacontrols/mediaControlsApple.js:
2965         (Controller.prototype.updateLayoutForDisplayedWidth): Don't use pageScaleFactor.
2966         * Modules/mediacontrols/mediaControlsiOS.css:
2967         (audio::-webkit-media-controls-panel .dropped): Add display none for this rule.
2968
2969 2015-08-03  Anders Carlsson  <andersca@apple.com>
2970
2971         Safari is failing to remove SQLite Databases via Remove All Website Data
2972         https://bugs.webkit.org/show_bug.cgi?id=147584
2973         rdar://problem/22095006
2974
2975         Reviewed by Brady Eidson.
2976
2977         If we end up deleting every single database for an origin, make sure to also delete the origin.
2978
2979         * Modules/webdatabase/DatabaseTracker.cpp:
2980         (WebCore::DatabaseTracker::deleteDatabasesModifiedSince):
2981
2982 2015-08-03  Zalan Bujtas  <zalan@apple.com>
2983
2984         Move "starting from root" frame flattening logging to the correct place.
2985         https://bugs.webkit.org/show_bug.cgi?id=147571
2986
2987         Reviewed by Simon Fraser.
2988
2989         * page/FrameView.cpp:
2990         (WebCore::FrameView::startLayoutAtMainFrameViewIfNeeded):
2991         (WebCore::FrameView::layout): Deleted.
2992
2993 2015-08-03  Commit Queue  <commit-queue@webkit.org>
2994
2995         Unreviewed, rolling out r187729.
2996         https://bugs.webkit.org/show_bug.cgi?id=147575
2997
2998         10% performance hit (Requested by litherum on #webkit).
2999
3000         Reverted changeset:
3001
3002         "[OS X] Font fallback is not language-sensitive"
3003         https://bugs.webkit.org/show_bug.cgi?id=147390
3004         http://trac.webkit.org/changeset/187729
3005
3006 2015-08-03  Zalan Bujtas  <zalan@apple.com>
3007
3008         ChildWidgetState::ChildWidgetIs* naming is redundant.
3009         https://bugs.webkit.org/show_bug.cgi?id=147565
3010
3011         Reviewed by Simon Fraser.
3012
3013         Since strongly typed enum requires to write out 'ChildWidgetState::ChildWidgetIsDestroyed',
3014         the enumerator list names can be shortened.
3015
3016         No change in behaviour.
3017
3018         * rendering/RenderFrameBase.cpp:
3019         (WebCore::RenderFrameBase::peformLayoutWithFlattening):
3020         * rendering/RenderWidget.cpp:
3021         (WebCore::RenderWidget::updateWidgetPosition):
3022         * rendering/RenderWidget.h:
3023
3024 2015-08-03  Zalan Bujtas  <zalan@apple.com>
3025
3026         Pass ControlStates& to RenderTheme methods instead of ControlStates*
3027         https://bugs.webkit.org/show_bug.cgi?id=147521
3028
3029         Reviewed by Andreas Kling.
3030
3031         No change in functionality.
3032
3033         * platform/Theme.h:
3034         (WebCore::Theme::selectionColor):
3035         (WebCore::Theme::paint):
3036         (WebCore::Theme::inflateControlPaintRect):
3037         * platform/mac/ThemeMac.h:
3038         * platform/mac/ThemeMac.mm:
3039         (WebCore::updateStates):
3040         (WebCore::convertControlStatesToThemeDrawState):
3041         (WebCore::configureToggleButton):
3042         (WebCore::sharedRadioCell):
3043         (WebCore::sharedCheckboxCell):
3044         (WebCore::paintToggleButton):
3045         (WebCore::setUpButtonCell):
3046         (WebCore::button):
3047         (WebCore::paintButton):
3048         (WebCore::paintStepper):
3049         (WebCore::ThemeMac::ensuredView):
3050         (WebCore::ThemeMac::inflateControlPaintRect):
3051         (WebCore::ThemeMac::paint):
3052         * rendering/RenderBox.cpp:
3053         (WebCore::RenderBox::paintBoxDecorations):
3054         * rendering/RenderTheme.cpp:
3055         (WebCore::RenderTheme::paint):
3056         (WebCore::RenderTheme::adjustRepaintRect):
3057         (WebCore::RenderTheme::updateControlStatesForRenderer):
3058         * rendering/RenderTheme.h:
3059         * rendering/RenderThemeMac.mm:
3060         (WebCore::RenderThemeMac::documentViewFor):
3061
3062 2015-08-03  Brady Eidson  <beidson@apple.com>
3063
3064         Crash when signing into twitter calling WebCore::DocumentLoader::responseReceived(WebCore::CachedResource*, WebCore::ResourceResponse const&).
3065         <rdar://problem/22098457> and https://bugs.webkit.org/show_bug.cgi?id=147560
3066
3067         Reviewed by Alexey Proskuryakov.
3068
3069         * loader/DocumentLoader.cpp:
3070         (WebCore::DocumentLoader::willSendRequest): Only grab identifierForLoadWithoutResourceLoader() if there's no ResourceLoader.
3071
3072 2015-08-03  Zalan Bujtas  <zalan@apple.com>
3073
3074         themePainted in RenderBox::paintBoxDecorations() is confusing.
3075         https://bugs.webkit.org/show_bug.cgi?id=147492
3076
3077         Reviewed by Andreas Kling.
3078
3079         What themePainted is supposed to indicate is whether the theme requires additional border and background painting.
3080         Rename it to borderOrBackgroundPaintingIsNeeded.
3081
3082         No change in behaviour.
3083
3084         * rendering/RenderBox.cpp:
3085         (WebCore::RenderBox::paintBoxDecorations):
3086
3087 2015-08-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
3088
3089         [EFL] http/tests/media/media-stream/disconnected-frame-already.html is crashing after r185903
3090         https://bugs.webkit.org/show_bug.cgi?id=146834
3091
3092         Reviewed by Eric Carlson.
3093
3094         r185903 went to far in removing some tests, in particular whether the current process is related to a frame.
3095         Readded that check.
3096         Refactored the code to remove the need for NavigatorUserMedia class.
3097
3098         Covered by existing tests.
3099
3100         * CMakeLists.txt: Removed NavigatorUserMedia.cpp.
3101         * Modules/mediastream/NavigatorUserMedia.cpp: Removed.
3102         * Modules/mediastream/NavigatorUserMedia.h: Removed.
3103         * WebCore.xcodeproj/project.pbxproj: Ditto.
3104         * bindings/js/JSNavigatorCustom.cpp:
3105         (WebCore::JSNavigator::webkitGetUserMedia): Inlined NavigatorUserMeia::webkitGetUserMedia.
3106
3107 2015-08-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
3108
3109         JSXMLHttpRequest::visitAdditionalChildren does not need to explicitly mark m_response
3110         https://bugs.webkit.org/show_bug.cgi?id=147488
3111
3112         Reviewed by Andreas Kling.
3113
3114         Covered by existing tests.
3115
3116         * bindings/js/JSXMLHttpRequestCustom.cpp:
3117         (WebCore::JSXMLHttpRequest::visitAdditionalChildren): Removed m_response marking.
3118
3119 2015-08-01  Chris Fleizach  <cfleizach@apple.com>
3120
3121         AX: On some complex sites, iOS instantly crashes once VoiceOver is turned on
3122         https://bugs.webkit.org/show_bug.cgi?id=147529
3123
3124         Reviewed by Dan Bernstein.
3125
3126         Sometimes after focusing on a node, it seems like the entire document is destroyed.
3127         Accessibility the axObjectCache returns nullptr and we crash.
3128
3129         Despite my best efforts, I couldn't make a layout test that reproduced this. It's possible
3130         the entire document needs to be destroyed and replaced with something.
3131
3132         * accessibility/AccessibilityRenderObject.cpp:
3133         (WebCore::AccessibilityRenderObject::setFocused):
3134
3135 2015-08-01  Myles C. Maxfield  <mmaxfield@apple.com>
3136
3137         [OS X] Font fallback is not language-sensitive
3138         https://bugs.webkit.org/show_bug.cgi?id=147390
3139
3140         Reviewed by Dean Jackson.
3141
3142         We need to make our font fallback code sensitive to locale.
3143
3144         Test: fast/text/fallback-language-han.html
3145
3146         * platform/graphics/mac/FontCacheMac.mm:
3147         (WebCore::lookupCTFont):
3148         (WebCore::FontCache::systemFallbackForCharacters):
3149
3150 2015-08-01  Myles C. Maxfield  <mmaxfield@apple.com>
3151
3152         CharacterFallbackMapKey should be locale-specific
3153         https://bugs.webkit.org/show_bug.cgi?id=147532
3154
3155         Reviewed by Dean Jackson.
3156
3157         This is in preparation for locale-specific font fallback.
3158
3159         No new tests because there is no behavior change.
3160
3161         * platform/graphics/Font.cpp:
3162         (WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
3163         (WebCore::CharacterFallbackMapKey::operator==):
3164         (WebCore::CharacterFallbackMapKeyHash::hash):
3165         (WebCore::Font::systemFallbackFontForCharacter):
3166
3167 2015-08-01  Myles C. Maxfield  <mmaxfield@apple.com>
3168
3169         Expand CharacterFallbackMapKey to a struct
3170         https://bugs.webkit.org/show_bug.cgi?id=147530
3171
3172         Reviewed by Dean Jackson.
3173
3174         This is in prepraration for making this struct locale-specific.
3175
3176         No new tests because there is no behavior change.
3177
3178         * platform/graphics/Font.cpp:
3179         (WebCore::CharacterFallbackMapKey::CharacterFallbackMapKey):
3180         (WebCore::CharacterFallbackMapKey::isHashTableDeletedValue):
3181         (WebCore::CharacterFallbackMapKey::operator==):
3182         (WebCore::CharacterFallbackMapKeyHash::hash):
3183         (WebCore::CharacterFallbackMapKeyHash::equal):
3184         (WebCore::Font::systemFallbackFontForCharacter):
3185
3186 2015-08-01  Myles C. Maxfield  <mmaxfield@apple.com>
3187
3188         Fix the build after r187721
3189
3190         Unreviewed.
3191
3192         * bindings/js/JSDOMBinding.h:
3193         (WebCore::createWrapper):
3194
3195 2015-08-01  Alex Christensen  <achristensen@webkit.org>
3196
3197         Fix compile errors with VS2015
3198         https://bugs.webkit.org/show_bug.cgi?id=147526
3199
3200         Reviewed by Myles Maxfield.
3201
3202         * bindings/js/JSDOMBinding.h:
3203         (WebCore::createWrapper):
3204         Explicitly call the Ref constructor to avoid unresolved symbols with VS2015.
3205         Otherwise, VS2015 tries to use CSSPrimitiveValue::operator<Ref<CSSPrimitiveValue> > which doesn't exist.
3206
3207 2015-07-27  Matt Rajca  <mrajca@apple.com>
3208
3209         Media Session: inform the UI process when the focused Content media element changes
3210         https://bugs.webkit.org/show_bug.cgi?id=147323
3211
3212         Reviewed by Tim Horton.
3213
3214         * html/HTMLMediaElement.cpp:
3215         (WebCore::HTMLMediaElement::playInternal): Eventually tell the UI process that the focused Content media element changed.
3216         * page/ChromeClient.h:
3217
3218 2015-07-27  Matt Rajca  <mrajca@apple.com>
3219
3220         Media Session: give media elements unique IDs
3221         https://bugs.webkit.org/show_bug.cgi?id=147322
3222
3223         Reviewed by Eric Carlson.
3224
3225         * html/HTMLMediaElement.cpp:
3226         (WebCore::elementIDsToElements): Create a global map of element IDs to elements.
3227         (WebCore::HTMLMediaElement::elementWithID): Retrieve the element with the given ID.
3228         (WebCore::HTMLMediaElement::HTMLMediaElement): Give the element a unique ID.
3229         (WebCore::HTMLMediaElement::playInternal): Removed whitespace.
3230         (WebCore::HTMLMediaElement::pauseInternal): Ditto.
3231         * html/HTMLMediaElement.h:
3232         (WebCore::HTMLMediaElement::elementID):
3233
3234 2015-07-31  Myles C. Maxfield  <mmaxfield@apple.com>
3235
3236         Fix the build
3237
3238         Unreviewed.
3239
3240         * platform/graphics/mac/FontCacheMac.mm:
3241         (WebCore::lookupCTFont):
3242
3243 2015-07-31  Myles C. Maxfield  <mmaxfield@apple.com>
3244
3245         [OS X] Migrate to CTFontCreateForCharactersWithLanguage from [NSFont findFontLike:forString:withRange:inLanguage]
3246         https://bugs.webkit.org/show_bug.cgi?id=147483
3247
3248         Reviewed by Dean Jackson.
3249
3250         [NSFont findFontLike:forString:withRange:inLanguage] doesn't properly handle its last argument. In
3251         addition, we want to be moving away from NSFont in the first place and on to Core Text. This new
3252         CoreText function correctly handles its language argument, which is required for language-specific
3253         font fallback.
3254
3255         No new tests because there is no behavior change.
3256
3257         * platform/graphics/FontCache.cpp:
3258         (WebCore::FontCache::purgeInactiveFontData):
3259         * platform/graphics/FontCache.h:
3260         (WebCore::FontCache::platformPurgeInactiveFontData):
3261         * platform/graphics/mac/FontCacheMac.mm:
3262         (WebCore::fallbackDedupSet):
3263         (WebCore::FontCache::platformPurgeInactiveFontData):
3264         (WebCore::lookupCTFont):
3265         (WebCore::FontCache::systemFallbackForCharacters):
3266         * platform/spi/cocoa/CoreTextSPI.h:
3267         * platform/spi/mac/NSFontSPI.h:
3268
3269 2015-07-31  Chris Dumez  <cdumez@apple.com>
3270
3271         Drop dummy Timer callbacks
3272         https://bugs.webkit.org/show_bug.cgi?id=147516
3273
3274         Reviewed by Alexey Proskuryakov.
3275
3276         Drop dummy Timer callbacks in the code base. A lot of Timer callbacks
3277         do nothing else beside calling a particular method. In such case, we
3278         can use the called method as Timer callback instead.
3279
3280         * css/FontLoader.cpp:
3281         (WebCore::FontLoader::FontLoader):
3282         * css/FontLoader.h:
3283         * dom/Document.cpp:
3284         (WebCore::Document::Document):
3285         (WebCore::Document::styleRecalcTimerFired): Deleted.
3286         (WebCore::Document::domCookieCacheExpiryTimerFired): Deleted.
3287         * dom/Document.h:
3288         * html/MediaController.cpp:
3289         (MediaController::MediaController):
3290         (MediaController::timeupdateTimerFired): Deleted.
3291         * html/MediaController.h:
3292         * loader/cache/CachedResource.cpp:
3293         (WebCore::CachedResource::CachedResource):
3294         * loader/cache/CachedResourceLoader.cpp:
3295         (WebCore::CachedResourceLoader::CachedResourceLoader):
3296         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired): Deleted.
3297         * loader/cache/CachedResourceLoader.h:
3298         * loader/cache/MemoryCache.cpp:
3299         (WebCore::MemoryCache::MemoryCache):
3300         (WebCore::MemoryCache::pruneTimerFired): Deleted.
3301         * loader/cache/MemoryCache.h:
3302         * page/EventSource.cpp:
3303         (WebCore::EventSource::EventSource):
3304         (WebCore::EventSource::connectTimerFired): Deleted.
3305         * page/EventSource.h:
3306         * page/FrameView.cpp:
3307         (WebCore::FrameView::FrameView):
3308         (WebCore::FrameView::delayedScrollEventTimerFired): Deleted.
3309         (WebCore::FrameView::postLayoutTimerFired): Deleted.
3310         * page/FrameView.h:
3311         * page/scrolling/ios/ScrollingCoordinatorIOS.h:
3312         * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
3313         (WebCore::ScrollingCoordinatorIOS::ScrollingCoordinatorIOS):
3314         (WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired): Deleted.
3315         * page/scrolling/mac/ScrollingCoordinatorMac.h:
3316         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3317         (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
3318         (WebCore::ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired): Deleted.
3319         * platform/graphics/FontCache.cpp:
3320         (WebCore::FontCache::FontCache):
3321         (WebCore::FontCache::purgeTimerFired): Deleted.
3322         * platform/graphics/FontCache.h:
3323         * platform/graphics/ShadowBlur.cpp:
3324         (WebCore::ScratchBuffer::ScratchBuffer):
3325         (WebCore::ScratchBuffer::timerFired): Deleted.
3326         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
3327         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3328         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
3329         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekTimerFired): Deleted.
3330
3331 2015-07-31  Matthew Daiter  <mdaiter@apple.com>
3332
3333         Removed pointSize from _addMarkersToList
3334         https://bugs.webkit.org/show_bug.cgi?id=147515
3335
3336         Reviewed by Eric Carlson.
3337
3338         * editing/cocoa/HTMLConverter.mm:
3339         (HTMLConverter::_addMarkersToList): Deleted.
3340
3341 2015-07-31  Alex Christensen  <achristensen@webkit.org>
3342
3343         Prepare for VS2015
3344         https://bugs.webkit.org/show_bug.cgi?id=146579
3345
3346         Reviewed by Jon Honeycutt.
3347
3348         * WebCore.vcxproj/build-generated-files.pl:
3349         Find a correct preprocessor when using VS2015.
3350
3351 2015-07-31  Eric Carlson  <eric.carlson@apple.com>
3352
3353         [iOS] use a media-specific user gesture check
3354         https://bugs.webkit.org/show_bug.cgi?id=147509
3355
3356         Reviewed by Tim Horton.
3357
3358         Change an enum name added in r187688.
3359
3360         * dom/UserGestureIndicator.cpp:
3361         (WebCore::isDefinite): DefinitelyProcessingMediaUserGesture -> DefinitelyProcessingPotentialUserGesture
3362         (WebCore::UserGestureIndicator::processingUserGestureForMedia): Ditto.
3363         * dom/UserGestureIndicator.h: Ditto.
3364
3365 2015-07-31  Myles C. Maxfield  <mmaxfield@apple.com>
3366
3367         [Cocoa] Latin quotes are used with the system font on Chinese devices
3368         https://bugs.webkit.org/show_bug.cgi?id=147504
3369
3370         Reviewed by Dean Jackson.
3371
3372         The system font has some fancy logic regarding character selection which requires
3373         using Core Text for glyph selection.
3374
3375         No new tests because tests can't change the system language of the device.
3376
3377         * platform/graphics/mac/GlyphPageMac.cpp:
3378         (WebCore::shouldUseCoreText):
3379
3380 2015-07-31  Chris Dumez  <cdumez@apple.com>
3381
3382         Coalesce authentication credential requests
3383         https://bugs.webkit.org/show_bug.cgi?id=128006
3384         <rdar://problem/16839069>
3385
3386         Reviewed by Alexey Proskuryakov.
3387
3388         Export symbol for ProtectionSpace::compare() so it can be called from
3389         WebKit2.
3390
3391         * platform/network/ProtectionSpaceBase.h:
3392
3393 2015-07-31  Eric Carlson  <eric.carlson@apple.com>
3394
3395         [iOS] use a media-specific user gesture check
3396         https://bugs.webkit.org/show_bug.cgi?id=147509
3397
3398         Reviewed by Jer Noble.
3399
3400         * bindings/js/ScriptController.cpp:
3401         (WebCore::ScriptController::processingUserGestureForMedia): New.
3402         * bindings/js/ScriptController.h:
3403
3404         * dom/UserGestureIndicator.cpp:
3405         (WebCore::isDefinite): Allow DefinitelyProcessingMediaUserGesture.
3406         (WebCore::UserGestureIndicator::processingUserGestureForMedia): New.
3407         * dom/UserGestureIndicator.h:
3408
3409         * html/HTMLMediaElement.cpp:
3410         (WebCore::HTMLMediaElement::load): Use ScriptController::processingUserGestureForMedia instead of 
3411           ScriptController::processingUserGesture
3412         (WebCore::HTMLMediaElement::play): Ditto.
3413
3414 2015-07-31  Andreas Kling  <akling@apple.com>
3415
3416         Crashes under HTMLMediaElement::updateActiveTextTrackCues() when destroying CachedPage.
3417         <https://webkit.org/b/147506>
3418         <rdar://problem/21939014>
3419
3420         Reviewed by Chris Dumez.
3421
3422         Don't mess with the media element's text tracks below its ActiveDOMObject::stop()
3423         implementation, since that may cause DOM mutations.
3424
3425         I don't have a repro or a test for this, but plenty of crash logs to indicate that
3426         we're getting ourselves into trouble by modifying the DOM during CachedPage teardown.
3427
3428         * html/HTMLMediaElement.cpp:
3429         (WebCore::HTMLMediaElement::configureTextTrackDisplay):
3430
3431 2015-07-31  Tim Horton  <timothy_horton@apple.com>
3432
3433         [iOS] DOMNode preview snapshot rects are wrong for user-select: none links
3434         https://bugs.webkit.org/show_bug.cgi?id=147513
3435         <rdar://problem/22083354>
3436
3437         Reviewed by Simon Fraser.
3438
3439         * bindings/objc/DOM.mm:
3440         (-[DOMNode getPreviewSnapshotImage:andRects:]):
3441         Use the same code as WebKit2 to compute the fallback rect (if TextIndicator fails),
3442         asking the RenderObject (or RenderImage) for its bounding box instead of using the
3443         (often wrong) Range bounding rect.
3444
3445         Make sure to use the fallback rect *any* time TextIndicator fails (before
3446         we would return no rects at all if TextIndicator::createWithRange returned null,
3447         and the fallback rect if it returned with an empty image).
3448
3449         Inverse-page-scale the margin, to match the appearance in WebKit2.
3450
3451 2015-07-31  Myles C. Maxfield  <mmaxfield@apple.com>
3452
3453         [SVG -> OTF Converter] Crash when converting Arabic fonts
3454         https://bugs.webkit.org/show_bug.cgi?id=147510
3455
3456         Reviewed by Anders Carlsson.
3457
3458         SVGToOTFFontConverter::compareCodepointsLexicographically() wasn't transitive.
3459
3460         Test: fast/text/arabic-duplicate-glyph-font.html
3461
3462         * svg/SVGToOTFFontConversion.cpp:
3463         (WebCore::SVGToOTFFontConverter::compareCodepointsLexicographically):
3464
3465 2015-07-31  Jeremy Jones  <jeremyj@apple.com>
3466
3467         Rename AVPlayerLayerView to _AVPlayerLayerView.
3468         https://bugs.webkit.org/show_bug.cgi?id=147399
3469
3470         Reviewed by Eric Carlson.
3471
3472         Change class name AVPlayerLayerView to match change in AVKit SPI. 
3473         This prevents conflicts with 3rd party apps.
3474
3475         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3476         (WebAVPlayerLayerView_dealloc):
3477         (getWebAVPlayerLayerViewClass):
3478         * platform/spi/cocoa/AVKitSPI.h:
3479
3480 2015-07-31  Chris Dumez  <cdumez@apple.com>
3481
3482         ImageBufferDataCG should not add IOSurfaces to the pool
3483         https://bugs.webkit.org/show_bug.cgi?id=147494
3484
3485         Reviewed by Tim Horton.
3486
3487         ImageBufferDataCG should not add IOSurfaces to the pool as it is not
3488         safe. IOSurfaceIsInUse() does not return accurate result for those
3489         surfaces.
3490
3491         This is a partial revert of r181301.
3492
3493         * platform/graphics/cg/ImageBufferDataCG.cpp:
3494         (WebCore::ImageBufferData::~ImageBufferData): Deleted.
3495         * platform/graphics/cg/ImageBufferDataCG.h:
3496
3497 2015-07-31  Jer Noble  <jer.noble@apple.com>
3498
3499          CRASH at WebCore::TaskDispatcher<WebCore::ScriptExecutionContext>::postTask + 38
3500          https://bugs.webkit.org/show_bug.cgi?id=147485
3501
3502          Rubber-stamped by Joseph Pecoraro.
3503
3504          Follow-up test crash fix: call superclass's contextDestroyed() which allows the
3505          m_scriptExecutionContext variable to be cleared.
3506
3507          * html/HTMLMediaElement.cpp:
3508          (WebCore::HTMLMediaElement::contextDestroyed):
3509
3510 2015-07-31  Joseph Pecoraro  <pecoraro@apple.com>
3511
3512         Only generate "themeWin*" UserAgentStyleSheet constants for Windows builds
3513         https://bugs.webkit.org/show_bug.cgi?id=147378
3514
3515         Reviewed by Alex Christensen.
3516
3517         * DerivedSources.make:
3518         Only include windows user agent style sheets for Windows OSes.
3519
3520 2015-07-31  Alex Christensen  <achristensen@webkit.org>
3521
3522         Prepare for debug CMake builds on Windows.
3523         https://bugs.webkit.org/show_bug.cgi?id=147484
3524
3525         Reviewed by Tim Horton.
3526
3527         In order to get debug builds to link on Windows with CMake, we will need to use AllInOnes.
3528         This patch includes more files in the AllInOnes and removes some duplicate code.
3529
3530         * WebCore.vcxproj/WebCore.vcxproj:
3531         * bindings/js/JSBindingsAllInOne.cpp:
3532         * css/CSSAllInOne.cpp:
3533         Many files were added to the AllInOne files.  They should not be included in the Visual Studio solutions.
3534         * css/CSSCalculationValue.cpp:
3535         (WebCore::CSSCalcValue::create):
3536         Use CSSParserString::equalIgnoringCase to avoid ambiguous calls to overloaded functions.
3537         * css/StyleResolver.cpp:
3538         (WebCore::StyleResolver::pseudoStyleRulesForElement):
3539         (WebCore::shouldApplyPropertyInParseOrder):
3540         (WebCore::convertToFloatLength): Deleted.
3541         * css/TransformFunctions.cpp:
3542         (WebCore::transformOperationType):
3543         (WebCore::convertToFloatLength):
3544         * css/TransformFunctions.h:
3545         Removed duplicate convertToFloatLength function.
3546         * html/HTMLElementsAllInOne.cpp:
3547         * rendering/FlowThreadController.cpp:
3548         (WebCore::FlowThreadController::updateNamedFlowsLayerListsIfNeeded):
3549         (WebCore::compareZIndexFlowThreadController): Renamed from compareZIndex to prevent naming conflicts.
3550         (WebCore::FlowThreadController::collectFixedPositionedLayers):
3551         (WebCore::compareZIndex): Deleted.
3552         * rendering/RenderLayer.cpp:
3553         (WebCore::RenderLayer::shouldRepaintAfterLayout):
3554         (WebCore::compositedWithOwnBackingStore):
3555         * rendering/RenderLayer.h:
3556         * rendering/RenderLayerBacking.cpp:
3557         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
3558         (WebCore::descendantLayerPaintsIntoAncestor):
3559         (WebCore::RenderLayerBacking::paintIntoLayer):
3560         (WebCore::RenderLayerBacking::paintContents):
3561         (WebCore::compositedWithOwnBackingStore): Deleted.
3562         Removed duplicate compositedWithOwnBackingStore.
3563         (WebCore::paintScrollbar): Deleted duplicate function.
3564         * rendering/RenderLayerCompositor.cpp:
3565         (WebCore::RenderLayerCompositor::requiresScrollLayer):
3566         (WebCore::paintScrollbar):
3567         * rendering/RenderLayerCompositor.h:
3568         * rendering/RenderingAllInOne.cpp:
3569
3570 2015-07-31  Jer Noble  <jer.noble@apple.com>
3571
3572         CRASH at WebCore::TaskDispatcher<WebCore::ScriptExecutionContext>::postTask + 38
3573         https://bugs.webkit.org/show_bug.cgi?id=147485
3574
3575         Reviewed by Eric Carlson.
3576
3577         CrashLogs indicate a use-after-free of the ScriptExecutionContext (i.e., Document) used by
3578         the GenericTaskQueue objects owned by HTMLMediaElement. When the ScriptExecutionContext
3579         notifies its ActiveDOMObjects that it is about to be destroyed, close() the
3580         GenericTaskQueues so that they can no longer accept new tasks.
3581
3582         Previously, enqueueing a task on a closed GenericTaskQueue ASSERTed in debug builds, but
3583         silently succeeded in release builds. Calling enqueueTask() on a  closed GenericTaskQueue is
3584         now a no-op.
3585
3586         * html/HTMLMediaElement.cpp:
3587         (WebCore::HTMLMediaElement::contextDestroyed):
3588         * html/HTMLMediaElement.h:
3589         * platform/GenericTaskQueue.h:
3590         (WebCore::GenericTaskQueue::enqueueTask):
3591
3592 2015-07-31  Zan Dobersek  <zdobersek@igalia.com>
3593
3594         [GTK] Have DataObjectGtk::unknownTypes() return a reference to the HashMap object
3595         https://bugs.webkit.org/show_bug.cgi?id=147401
3596
3597         Reviewed by Carlos Garcia Campos.
3598
3599         Don't copy the DataObjectGtk::m_unknownTypes HashMap on every retrieval through
3600         DataObjectGtk::unknownTypes(). The range-based for-loops that iterate over the
3601         map in PasteboardGtk.cpp and PasteboardHelper.cpp are also cleaned up.
3602
3603         * platform/gtk/DataObjectGtk.cpp:
3604         (WebCore::DataObjectGtk::unknownTypes):
3605         * platform/gtk/DataObjectGtk.h:
3606         * platform/gtk/PasteboardGtk.cpp:
3607         (WebCore::Pasteboard::writePasteboard):
3608         (WebCore::Pasteboard::types):
3609         * platform/gtk/PasteboardHelper.cpp:
3610         (WebCore::PasteboardHelper::fillSelectionData):
3611
3612 2015-07-30  Zalan Bujtas  <zalan@apple.com>
3613
3614         RenderTheme::paintBorderOnly and paintDecorations should take RenderBox instead of RenderObject.
3615         https://bugs.webkit.org/show_bug.cgi?id=147470
3616
3617         Reviewed by Simon Fraser.
3618
3619         Tighten the code so that RenderTheme paint functions take RenderBox instead of RenderObject.
3620
3621         No change in functionality.
3622
3623         * rendering/RenderTheme.cpp:
3624         (WebCore::RenderTheme::paintBorderOnly):
3625         (WebCore::RenderTheme::paintDecorations):
3626         * rendering/RenderTheme.h:
3627
3628 2015-07-30  Andreas Kling  <akling@apple.com>
3629
3630         [CF] Web process continually eating memory on simple, shared Google Docs spreadsheet.
3631         <https://webkit.org/b/147403>
3632         <rdar://problem/18835799>
3633
3634         Reviewed by Geoffrey Garen.
3635
3636         Make sure we service the CFRunLoop on worker threads, since ports using CoreFoundation
3637         will be scheduling garbage collections and heap sweeps using CFRunLoop timers.
3638
3639         This fix is a stopgap. Long term we need a better design for integrating GC tasks with
3640         with the web worker run loop.
3641
3642         * workers/WorkerRunLoop.cpp:
3643         (WebCore::WorkerRunLoop::runInMode): Instead of sleeping forever, calculate a better
3644         wakeup deadline by asking the CFRunLoop when its next timer will fire. Then, when a
3645         timeout occurs, call CFRunLoopRunInMode (with seconds=0) to service pending timers.
3646
3647 2015-07-30  Myles C. Maxfield  <mmaxfield@apple.com>
3648
3649         Move locale information into FontDescription
3650         https://bugs.webkit.org/show_bug.cgi?id=147457
3651
3652         Reviewed by Andreas Kling.
3653
3654         Currently, the "lang" attribute on a node sets locale information in RenderStyle.
3655         Font selection is sensitive to this locale information, and occurs deep within
3656         platform/ code, far away from RenderStyle. Because every RenderStyle owns a
3657         FontDescription, and font selection can consult with FontDescriptions, it makes
3658         sense to move the variable from RenderStyle to FontDescription, and provide
3659         convenience methods on RenderStyle which inspect its FontDescription for locale
3660         information.
3661
3662         This patch is in preparation for correctly obeying locale information when
3663         performing font fallback.
3664
3665         No new tests because there is no behavior change.
3666
3667         * css/CSSPropertyNames.in:
3668         * css/StyleBuilderCustom.h:
3669         (WebCore::StyleBuilderCustom::applyValueWebkitLocale):
3670         * platform/graphics/FontCache.h:
3671         (WebCore::FontDescriptionKey::FontDescriptionKey):
3672         (WebCore::FontDescriptionKey::operator==):
3673         * platform/graphics/FontCascade.cpp:
3674         * platform/graphics/FontDescription.cpp:
3675         (WebCore::FontDescription::FontDescription):
3676         (WebCore::FontDescription::setLocale):
3677         * platform/graphics/FontDescription.h:
3678         (WebCore::FontDescription::locale):
3679         (WebCore::FontDescription::initialLocale):
3680         (WebCore::FontDescription::operator==):
3681         (WebCore::FontDescription::FontDescription): Deleted.
3682         (WebCore::FontDescription::setScript): Deleted.
3683         * platform/text/LocaleToScriptMappingDefault.cpp:
3684         (WebCore::localeToScriptCodeForFontSelection):
3685         * rendering/style/RenderStyle.cpp:
3686         (WebCore::RenderStyle::changeRequiresLayout): Deleted.
3687         * rendering/style/RenderStyle.h:
3688         * rendering/style/StyleRareInheritedData.cpp:
3689         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Deleted.
3690         (WebCore::StyleRareInheritedData::operator==): Deleted.
3691         * rendering/style/StyleRareInheritedData.h:
3692         * style/StyleResolveForDocument.cpp:
3693         (WebCore::Style::resolveForDocument):
3694
3695 2015-07-30  Anders Carlsson  <andersca@apple.com>
3696
3697         Remove stray printf.
3698         
3699         * loader/SubframeLoader.cpp:
3700         (WebCore::SubframeLoader::requestObject):
3701
3702 2015-07-30  Simon Fraser  <simon.fraser@apple.com>
3703
3704         Make Path::apply() take a function reference
3705         https://bugs.webkit.org/show_bug.cgi?id=147472
3706
3707         Reviewed by Anders Carlsson.
3708
3709         Path::apply() should take a const reference to a std::function.
3710
3711         * platform/graphics/Path.h:
3712         * platform/graphics/cairo/PathCairo.cpp:
3713         * platform/graphics/cg/PathCG.cpp:
3714         (WebCore::CGPathApplierToPathApplier):
3715         (WebCore::Path::apply):
3716
3717 2015-07-30  Anders Carlsson  <andersca@apple.com>
3718
3719         Assertion failure when a plug-in loads a resource that redirects somewhere
3720         https://bugs.webkit.org/show_bug.cgi?id=147469
3721
3722         Reviewed by Alexey Proskuryakov.
3723
3724         Test: http/tests/plugins/get-url-redirect.html
3725
3726         r186597 moved the call to addPlugInStreamLoader to willSendRequest. This is wrong since
3727         willSendRequest can be invoked more than once.
3728         
3729         Fix this by making the initialization phase of NetscapePlugInStreamLoader be more like
3730         SubresourceLoader where we only call addPlugInStreamLoader once we've successfully initialized
3731         the loader, and only call removePlugInStreamLoader if we've called addPlugInStreamLoader.
3732
3733         Also change addPlugInStreamLoader and removePlugInStreamLoader to take references.
3734
3735         * loader/DocumentLoader.cpp:
3736         (WebCore::DocumentLoader::addPlugInStreamLoader):
3737         (WebCore::DocumentLoader::removePlugInStreamLoader):
3738         * loader/DocumentLoader.h:
3739         * loader/NetscapePlugInStreamLoader.cpp:
3740         (WebCore::NetscapePlugInStreamLoader::create):
3741         (WebCore::NetscapePlugInStreamLoader::init):
3742         (WebCore::NetscapePlugInStreamLoader::didFinishLoading):
3743         (WebCore::NetscapePlugInStreamLoader::didFail):
3744         (WebCore::NetscapePlugInStreamLoader::didCancel):
3745         (WebCore::NetscapePlugInStreamLoader::notifyDone):
3746         * loader/NetscapePlugInStreamLoader.h:
3747         * loader/ResourceLoader.cpp:
3748         (WebCore::ResourceLoader::willSendRequest): Deleted.
3749         * loader/ResourceLoader.h:
3750         (WebCore::ResourceLoader::isPlugInStreamLoader): Deleted.
3751         * loader/SubframeLoader.cpp:
3752         (WebCore::SubframeLoader::requestObject):
3753
3754 2015-07-30  Jer Noble  <jer.noble@apple.com>
3755
3756         [iOS] Pressing 'done' in fullscreen video sometimes does nothing; stuck in fullscreen
3757         https://bugs.webkit.org/show_bug.cgi?id=147367
3758
3759         Reviewed by Eric Carlson.
3760
3761         During the request to exit fullscreen, the video element's m_videoFullscreenMode variable
3762         is set, but no exitFullscreen() request is sent up to the UIProcess. Previous threading
3763         issues have been discovered and fixed, but may have been re-introduced (or never fully
3764         fixed in the first place). To solve the bad behavior this threading issue creates, add
3765         a watchdog timer, similar to the one used in the desktop fullscreen controller, to ensure
3766         that if an exit fullscreen request is not acted upon, the UIProcess forcibly exits fullscreen
3767         anyway.
3768
3769         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
3770         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3771         (WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit): Initialize the timer.
3772         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): Cancel the timer.
3773         (WebVideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason): Set the timer.
3774         (WebVideoFullscreenInterfaceAVKit::watchdogTimerFired): Forcibly exit fullscreen mode.
3775
3776 2015-07-30  Myles C. Maxfield  <mmaxfield@apple.com>
3777
3778         Clean up makeFontCascadeCacheKey()
3779         https://bugs.webkit.org/show_bug.cgi?id=147430
3780
3781         Reviewed by Benjamin Poulain.
3782
3783         FontDescriptionKey is designed to encapsulate all the cacheable properties of a FontDescription.
3784         However, a higher-level cache, FontCascadeCacheKey, was taking some values from FontDescriptions.
3785         The fact that there wasn't a bug before is just a happy coincidence. This patch moves those bits
3786         from the higher-level cache and puts them into FontDescriptionKey where they belong.
3787
3788         No new tests because there is no behavior change.
3789
3790         * platform/graphics/FontCache.h:
3791         (WebCore::FontDescriptionKey::makeFlagKey):
3792         * platform/graphics/FontCascade.cpp:
3793         (WebCore::operator==):
3794         (WebCore::makeFontSelectorFlags): Deleted.
3795         (WebCore::makeFontCascadeCacheKey): Deleted.
3796         (WebCore::computeFontCascadeCacheHash): Deleted.
3797
3798 2015-07-18  Matt Rajca  <mrajca@apple.com>
3799
3800         [Mac] Media Session: add support for more telephony interruptions
3801         https://bugs.webkit.org/show_bug.cgi?id=147079
3802
3803         Reviewed by Eric Carlson.
3804
3805         * platform/mediasession/mac/MediaSessionInterruptionProviderMac.mm:
3806         (WebCore::callDidEndRinging): End 'Transient' interruptions.
3807         (WebCore::callDidConnect): Forward this event to media sessions as a 'Content' interruption.
3808         (WebCore::MediaSessionInterruptionProviderMac::beginListeningForInterruptions): Register observers for new
3809          notification types.
3810         (WebCore::MediaSessionInterruptionProviderMac::stopListeningForInterruptions): Unregister all observers.
3811
3812 2015-07-29  Dean Jackson  <dino@apple.com>
3813
3814         Don't use (Details) when exposing SPI
3815         https://bugs.webkit.org/show_bug.cgi?id=147426
3816         <rdar://problem/22062407>
3817
3818         Reviewed by Dan Bernstein.
3819
3820         If we are declaring the interface without any implementation,
3821         we should use class extensions.
3822
3823         Added three new SPI.h files for NSButtonCell, NSURLConnection and
3824         NSURLRequest.
3825
3826         * WebCore.xcodeproj/project.pbxproj:
3827         * platform/mac/ScrollViewMac.mm:
3828         * platform/mac/ThemeMac.mm:
3829         * platform/network/mac/ResourceHandleMac.mm:
3830         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
3831         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
3832         * platform/spi/cf/CFNetworkSPI.h:
3833         * platform/spi/cocoa/AVKitSPI.h:
3834         * platform/spi/cocoa/CFNSURLConnectionSPI.h:
3835         * platform/spi/cocoa/NSButtonCellSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSColorSPI.h.
3836         * platform/spi/cocoa/NSCalendarDateSPI.h:
3837         * platform/spi/cocoa/NSColorSPI.h:
3838         * platform/spi/cocoa/NSFileManagerSPI.h:
3839         * platform/spi/cocoa/NSStringSPI.h:
3840         * platform/spi/cocoa/NSURLConnectionSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSStringSPI.h.
3841         * platform/spi/cocoa/NSURLDownloadSPI.h:
3842         * platform/spi/cocoa/NSURLRequestSPI.h: Copied from Source/WebCore/platform/spi/cocoa/NSStringSPI.h.
3843         * platform/spi/cocoa/QuartzCoreSPI.h:
3844         * platform/spi/cocoa/WebFilterEvaluatorSPI.h:
3845         * platform/spi/ios/CoreUISPI.h:
3846         * platform/spi/ios/LaunchServicesSPI.h:
3847         * platform/spi/ios/MediaPlayerSPI.h:
3848         * platform/spi/ios/QuickLookSPI.h:
3849         * platform/spi/ios/UIColorSPI.h:
3850         * platform/spi/mac/QuickLookMacSPI.h:
3851         * rendering/RenderThemeMac.mm:
3852
3853 2015-07-30  Alex Christensen  <achristensen@webkit.org>
3854
3855         Remove LegacyCACFLayerTreeHost
3856         https://bugs.webkit.org/show_bug.cgi?id=147388
3857
3858         Reviewed by Geoffrey Garen.
3859
3860         * WebCore.vcxproj/WebCore.vcxproj:
3861         * WebCore.vcxproj/WebCore.vcxproj.filters:
3862         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
3863         (WebCore::CACFLayerTreeHost::create):
3864         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: Removed.
3865         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: Removed.
3866
3867 2015-07-30  Alex Christensen  <achristensen@webkit.org>
3868
3869         Fix Windows build after r187587.
3870
3871         * loader/SubresourceLoader.h:
3872         * loader/cache/CachedResource.h:
3873         * platform/graphics/Font.h:
3874         (WebCore::Font::DerivedFontData::DerivedFontData):
3875         * rendering/RenderLayerFilterInfo.h:
3876         Visual Studio doesn't like making std::unique_ptrs of private nested classes.
3877         It tries to make a std::default_delete with the private class as a template parameter.
3878
3879 2015-07-30  Simon Fraser  <simon.fraser@apple.com>
3880
3881         Convert Path applier to use std::function
3882         https://bugs.webkit.org/show_bug.cgi?id=147368
3883
3884         Reviewed by Sam Weinig.
3885
3886         Use std::function for Path::apply().
3887
3888         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
3889         (convertPathToScreenSpaceFunction):
3890         (-[WebAccessibilityObjectWrapperBase convertPathToScreenSpace:]):
3891         (ConvertPathToScreenSpaceFunction): Deleted.
3892         * inspector/InspectorOverlay.cpp:
3893         (WebCore::appendPathSegment):
3894         (WebCore::buildObjectForShapeOutside):
3895         * platform/graphics/Path.cpp:
3896         (WebCore::Path::length):
3897         (WebCore::Path::traversalStateAtLength):
3898         (WebCore::pathLengthApplierFunction): Deleted.
3899         * platform/graphics/Path.h:
3900         * platform/graphics/cairo/FontCairo.cpp:
3901         (WebCore::findPathIntersections):
3902         (WebCore::FontCascade::dashesForIntersectionsWithRect):
3903         * platform/graphics/cairo/PathCairo.cpp:
3904         (WebCore::Path::apply):
3905         * platform/graphics/cg/PathCG.cpp:
3906         (WebCore::CGPathApplierToPathApplier):
3907         (WebCore::Path::apply):
3908         * rendering/svg/RenderSVGPath.cpp:
3909         (WebCore::RenderSVGPath::updateZeroLengthSubpaths):
3910         * rendering/svg/RenderSVGShape.cpp:
3911         (WebCore::RenderSVGShape::processMarkerPositions):
3912         * rendering/svg/SVGMarkerData.h:
3913         (WebCore::SVGMarkerData::updateFromPathElement):
3914         * rendering/svg/SVGSubpathData.h:
3915         (WebCore::SVGSubpathData::updateFromPathElement):
3916         (WebCore::SVGSubpathData::SVGSubpathData): Deleted.
3917         * svg/SVGPathUtilities.cpp:
3918         (WebCore::pathIteratorForBuildingString):
3919         (WebCore::buildStringFromPath):
3920
3921 2015-07-30  Simon Fraser  <simon.fraser@apple.com>
3922
3923         Selecting in an iframe can cause main page scrolling
3924         https://bugs.webkit.org/show_bug.cgi?id=147431
3925         rdar://problem/19244589
3926
3927         Reviewed by Zalan Bujtas.
3928         
3929         The RenderLayer auatoscroll code walks up the RenderLayer hierarchy, crossing
3930         frame boundaries. However, as it crosses into an ancestor frame it failed to
3931         map the target rect into the coordinate space of the new frame, which caused
3932         us to scroll to an incorrect location in that parent frame.
3933
3934         Test: fast/events/autoscroll-in-iframe.html
3935
3936         * rendering/RenderLayer.cpp:
3937         (WebCore::parentLayerCrossFrame): Make the layer a reference, and pass in
3938         an optional rect. When crossing frame boundaries, map the rect from the
3939         contents of the child frame to the contents of the parent frame.
3940         (WebCore::RenderLayer::enclosingScrollableLayer): Pass optional rect.
3941         (WebCore::RenderLayer::scrollRectToVisible):
3942         (WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
3943         * rendering/RenderLayer.h:
3944
3945 2015-07-30  Simon Fraser  <simon.fraser@apple.com>
3946
3947         Improve the history logging output
3948         https://bugs.webkit.org/show_bug.cgi?id=147429
3949
3950         Reviewed by Alexey Proskuryakov.
3951
3952         Improve the History log channel output to show which frame is navigating,
3953         print the addresses of the HistoryController and Frame, and print URLs
3954         for everything.
3955         
3956         Remove the BackForward log channel which had just one calling location,
3957         and log for pushState/replaceState.
3958
3959         * loader/HistoryController.cpp:
3960         (WebCore::HistoryController::updateForBackForwardNavigation):
3961         (WebCore::HistoryController::updateForReload):
3962         (WebCore::HistoryController::updateForStandardLoad):
3963         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
3964         (WebCore::HistoryController::updateForClientRedirect):
3965         (WebCore::HistoryController::updateForCommit):
3966         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
3967         (WebCore::HistoryController::pushState):
3968         (WebCore::HistoryController::replaceState):
3969         * platform/Logging.h:
3970
3971 2015-07-29  Matt Rajca  <mrajca@apple.com>
3972
3973         Media Session: add infrastructure for testing media control events
3974         https://bugs.webkit.org/show_bug.cgi?id=147412
3975
3976         Reviewed by Eric Carlson.
3977
3978         * Modules/mediasession/MediaSessionManager.h:
3979         * testing/Internals.cpp:
3980         (WebCore::Internals::sendMediaControlEvent): Let tests simulate media control events.
3981         * testing/Internals.h:
3982         * testing/Internals.idl:
3983
3984 2015-07-30  Chris Dumez  <cdumez@apple.com>
3985
3986         Mark more classes as fast allocated
3987         https://bugs.webkit.org/show_bug.cgi?id=147440
3988
3989         Reviewed by Sam Weinig.
3990
3991         Mark more classes as fast allocated for performance. We heap-allocate
3992         objects of those types throughout the code base.
3993
3994         * editing/Editor.h:
3995         * history/CachedFrame.h:
3996         * history/CachedPage.h:
3997         * html/parser/HTMLResourcePreloader.h:
3998         * loader/PolicyChecker.h:
3999         * loader/SubresourceLoader.h:
4000         * loader/cache/CachedResource.h:
4001         * page/animation/AnimationController.h:
4002         * page/scrolling/ScrollingConstraints.h:
4003         * page/scrolling/ScrollingStateTree.h:
4004         * platform/graphics/Font.h:
4005         * platform/graphics/GraphicsLayerUpdater.h:
4006         * rendering/FilterEffectRenderer.h:
4007         * rendering/ImageQualityController.h:
4008         * rendering/RenderLayerFilterInfo.h:
4009         * rendering/SimpleLineLayoutResolver.h:
4010         * rendering/shapes/RasterShape.h:
4011         * rendering/shapes/Shape.h:
4012
4013 2015-07-30  Michael Catanzaro  <mcatanzaro@igalia.com>
4014
4015         [GTK] Crashes when SoupSession is destroyed in exit handler
4016         https://bugs.webkit.org/show_bug.cgi?id=145347
4017
4018         Reviewed by Carlos Garcia Campos.
4019
4020         Leak the default SoupSession with NeverDestroyed to avoid races at program exit.
4021
4022         * platform/network/soup/SoupNetworkSession.cpp:
4023         (WebCore::SoupNetworkSession::defaultSession):
4024         * platform/network/soup/SoupNetworkSession.h:
4025
4026 2015-07-30  Alex Christensen  <achristensen@webkit.org>
4027
4028         Build AppleWin port with CMake
4029         https://bugs.webkit.org/show_bug.cgi?id=147385
4030
4031         Reviewed by Martin Robinson.
4032
4033         * CMakeLists.txt:
4034         Add makesafeseh.asm to 32-bit build.  It needs to be after the ADD_PRECOMPILED_HEADER macro
4035         because CMake can only set COMPILE_FLAGS once with set_source_files_properties, and we want 
4036         to use that to add /safeseh instead of a precompiled header (which wouldn't be used anyway in assembly).
4037         * PlatformAppleWin.cmake:
4038         * PlatformWin.cmake:
4039         * PlatformWinCairo.cmake:
4040         Added missing source files and libraries.
4041
4042 2015-07-30  Alex Christensen  <achristensen@webkit.org>
4043
4044         [Win] Unreviewed build fix after r187582.
4045
4046         * accessibility/AccessibilityAllInOne.cpp:
4047         Include new files.
4048
4049 2015-07-30  Michael Catanzaro  <mcatanzaro@igalia.com>
4050
4051         Web Inspector: [Freetype] Allow inspector to retrieve a list of system fonts
4052         https://bugs.webkit.org/show_bug.cgi?id=147018
4053
4054         Reviewed by Carlos Garcia Campos.
4055
4056         No new tests; unskipped inspector/css/get-system-fonts.html
4057
4058         * platform/graphics/freetype/FontCacheFreeType.cpp:
4059         (WebCore::patternToFamilies): Added.
4060         (WebCore::FontCache::systemFontFamilies): Implemented.
4061         (WebCore::strongAliasesForFamily): Split some code off to patternToFamilies.
4062
4063 2015-07-30  Nan Wang  <n_wang@apple.com>
4064
4065         AX: VoiceOver unable to access content in malformed trees
4066         https://bugs.webkit.org/show_bug.cgi?id=147295
4067         <rdar://problem/14862892>
4068
4069         Reviewed by Chris Fleizach.
4070
4071         VoiceOver is skipping the content of malformed trees. This fixes the problem
4072         by having the tree check if it has valid children (treeitems) and makes treeitems
4073         check if they are inside trees.
4074
4075         Test: platform/mac/accessibility/malformed-tree.html
4076
4077         * CMakeLists.txt:
4078         * WebCore.vcxproj/WebCore.vcxproj:
4079         * WebCore.vcxproj/WebCore.vcxproj.filters:
4080         * WebCore.xcodeproj/project.pbxproj:
4081         * accessibility/AXObjectCache.cpp:
4082         (WebCore::createFromRenderer):
4083         * accessibility/AccessibilityObject.h:
4084         (WebCore::AccessibilityObject::addChildren):
4085         (WebCore::AccessibilityObject::addChild):
4086         (WebCore::AccessibilityObject::insertChild):
4087         (WebCore::AccessibilityObject::shouldIgnoreAttributeRole):
4088         (WebCore::AccessibilityObject::canHaveChildren):
4089         (WebCore::AccessibilityObject::hasChildren):
4090         * accessibility/AccessibilityRenderObject.cpp:
4091         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
4092         * accessibility/AccessibilityTree.cpp: Added.
4093         (WebCore::AccessibilityTree::AccessibilityTree):
4094         (WebCore::AccessibilityTree::~AccessibilityTree):
4095         (WebCore::AccessibilityTree::create):
4096         (WebCore::AccessibilityTree::computeAccessibilityIsIgnored):
4097         (WebCore::AccessibilityTree::determineAccessibilityRole):
4098         (WebCore::AccessibilityTree::isTreeValid):
4099         * accessibility/AccessibilityTree.h: Added.
4100         * accessibility/AccessibilityTreeItem.cpp: Added.