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