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