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