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