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