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