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