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