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