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