REGRESSION(r183770): Crash inside WebEditorClient::shouldApplyStyle when applying...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-05-13  Ryosuke Niwa  <rniwa@webkit.org>
2
3         REGRESSION(r183770): Crash inside WebEditorClient::shouldApplyStyle when applying underline
4         https://bugs.webkit.org/show_bug.cgi?id=144949
5         <rdar://problem/20895753>
6
7         Reviewed by Darin Adler.
8
9         The crash was caused by the variant of applyStyleToSelection that takes EditingStyle passing
10         a null pointer to shouldApplyStyle when we're only applying text decoration changes so that
11         m_mutableStyle in the editing style is null. This didn't reproduce in execCommand since we
12         wouldn't call shouldApplyStyle in that case. It didn't reproduce in my manual testing because
13         font panel also sets text shadow, which ends up filling up m_mutableStyle.
14
15         Fixed the bug by creating a mutable style properties when one is not provided by EditingStyle.
16         Also fixed the "FIXME" in the function by converting text decoration changes to a corresponding
17         text decoration value. The values passed to shouldApplyStyle now matches the old behavior prior
18         to r183770.
19
20         Test: editing/style/underline-by-user.html
21
22         * editing/EditingStyle.cpp:
23         (WebCore::EditingStyle::styleWithResolvedTextDecorations): Added.
24         * editing/EditingStyle.h:
25         * editing/Editor.cpp:
26         (WebCore::Editor::applyStyleToSelection): Use styleWithResolvedTextDecorations to avoid the crash.
27
28 2015-05-13  Eric Carlson  <eric.carlson@apple.com>
29
30         Work around HTMLMediaElement::documentDidResumeFromPageCache being called twice
31         https://bugs.webkit.org/show_bug.cgi?id=144969
32
33         Reviewed by Alexey Proskuryakov.
34
35         * dom/Document.cpp:
36         (WebCore::Document::addPlaybackTargetPickerClient): Replace ASSERT with early 
37         return to work around https://webkit.org/b/144970.
38
39 2015-05-13  Timothy Horton  <timothy_horton@apple.com>
40
41         Going back after resizing causes scroll knob to appear in the middle of the page
42         https://bugs.webkit.org/show_bug.cgi?id=144968
43         <rdar://problem/18299827>
44
45         Reviewed by Beth Dakin.
46
47         * history/CachedPage.cpp:
48         (WebCore::CachedPage::restore):
49         (WebCore::CachedPage::clear):
50         * history/CachedPage.h:
51         (WebCore::CachedPage::markForContentsSizeChanged):
52         * history/PageCache.cpp:
53         (WebCore::PageCache::markPagesForContentsSizeChanged):
54         * history/PageCache.h:
55         Add a flag that will cause us to call updateContentsSize() after a page
56         comes out of the page cache, if necessary.
57
58         * page/FrameView.cpp:
59         (WebCore::FrameView::setContentsSize):
60         * page/FrameView.h:
61         Mark all cached pages for this frame as needing updateContentsSize()
62         when setContentsSize happens. This will ensure that scrollbar layers
63         are repositioned when coming out of the page cache.
64
65 2015-05-13  Beth Dakin  <bdakin@apple.com>
66
67         Need SPI to set the overlay scroll bar style
68         https://bugs.webkit.org/show_bug.cgi?id=144928
69         -and corresponding-
70         rdar://problem/20143614
71
72         Reviewed by Anders Carlsson.
73
74         New ChromeClient function preferredScrollbarOverlayStyle() will fetch the 
75         scrollbar style that was set via the new SPI.
76         * page/ChromeClient.h:
77
78         If the preferredScrollbarOverlayStyle() is anything but None, then use it. None is 
79         used to indicate that the normal heuristic should compute the appropriate color.
80         * page/FrameView.cpp:
81         (WebCore::FrameView::recalculateScrollbarOverlayStyle):
82         * page/FrameView.h:
83
84 2015-05-13  Brent Fulgham  <bfulgham@apple.com>
85
86         Scrollbars in overflow regions are not vanishing after scrolling with scroll snap points
87         https://bugs.webkit.org/show_bug.cgi?id=142521
88         <rdar://problem/20100706>
89
90         Reviewed by Darin Adler.
91
92         The scrollbars were not being dismissed because they were not being notified that the wheel
93         gesture was finished. This was happening because the wheel event 'ended' state has zero
94         deltaX and deltaY. If the region did not allow stretching, it would exit early, never passing
95         through the 'handleWheelEventPhase' code that would notify the scrollbar controller that
96         the gesture had ended.
97
98         * platform/ScrollableArea.cpp:
99         (WebCore::ScrollableArea::mouseExitedContentArea): The wrong ScrollAnimator method was being
100         called when the mouse exited the content area.
101         * platform/mac/ScrollAnimatorMac.mm:
102         (WebCore::ScrollAnimatorMac::handleWheelEvent): Do not early return when the wheel event has
103         no change in X or Y coordinate.
104
105 2015-05-12  David Hyatt  <hyatt@apple.com>
106
107         Don't compute selection painting info when we don't have selection.
108         https://bugs.webkit.org/show_bug.cgi?id=144920
109         <rdar://problem/20919920>
110
111         Reviewed by Simon Fraser.
112
113         * rendering/InlineTextBox.cpp:
114         (WebCore::InlineTextBox::paint):
115
116         Just set the selection paint style to the text paint style when we don't have a selection
117         at all. Computing the selection style takes time in the case where a ::selection pseudo is
118         used on the page, so we don't want to waste time computing that info unless it's actually
119         needed.
120
121 2015-05-13  Joseph Pecoraro  <pecoraro@apple.com>
122
123         Pass String as reference in more places
124         https://bugs.webkit.org/show_bug.cgi?id=144769
125
126         Reviewed by Daniel Bates.
127
128         * bindings/js/SerializedScriptValue.cpp:
129         (WebCore::CloneSerializer::dumpString):
130         (WebCore::CloneSerializer::dumpStringObject):
131         * dom/DocumentMarkerController.cpp:
132         (WebCore::DocumentMarkerController::addMarker):
133         * dom/DocumentMarkerController.h:
134         * inspector/InspectorApplicationCacheAgent.cpp:
135         (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
136         * inspector/InspectorApplicationCacheAgent.h:
137         * inspector/InspectorNodeFinder.cpp:
138         (WebCore::stripCharacters):
139         (WebCore::InspectorNodeFinder::InspectorNodeFinder):
140         * inspector/InspectorNodeFinder.h:
141
142 2015-05-13  Timothy Horton  <timothy_horton@apple.com>
143
144         View scale changes are temporarily lost after restoring a page from the page cache
145         https://bugs.webkit.org/show_bug.cgi?id=144934
146
147         Reviewed by Brady Eidson.
148
149         * history/CachedPage.cpp:
150         (WebCore::CachedPage::CachedPage):
151         (WebCore::CachedPage::restore):
152         (WebCore::CachedPage::clear):
153         * history/CachedPage.h:
154         (WebCore::CachedPage::markForDeviceOrPageScaleChanged): Renamed.
155         * history/PageCache.cpp:
156         (WebCore::PageCache::markPagesForDeviceOrPageScaleChanged): Renamed.
157         * history/PageCache.h:
158         Rename PageCache/CachedPage methods to make it more clear that they
159         will eventually result in calling deviceOrPageScaleFactorChanged().
160         Also, use modern initialization for CachedPage members.
161
162         * loader/HistoryController.cpp:
163         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
164         (WebCore::HistoryController::restoreScrollPositionAndViewState):
165         Store the pageScaleFactor on HistoryItem with the view scale factored out,
166         because the view scale can change while the page is in the page cache, and
167         WebCore needs a way - without consulting with WebKit2 - to apply the changed
168         view scale to the cached page scale.
169
170         * page/Page.cpp:
171         (WebCore::Page::setViewScaleFactor):
172         (WebCore::Page::setDeviceScaleFactor):
173         * page/Page.h:
174         (WebCore::Page::viewScaleFactor):
175         Keep track of the viewScaleFactor, and mark all pages in the page cache
176         as needing to call deviceOrPageScaleFactorChanged and do a full style recalc
177         when they come back from the page cache.
178
179         For now, we expect all callers of setPageScaleFactor (including WebKit2 and
180         HistoryController) to multiply the viewScale in manually, to avoid the
181         significant amount of change in WebCore that would be required to keep them
182         totally separately.
183
184 2015-05-12  Zan Dobersek  <zdobersek@igalia.com>
185
186         Reduce TransformationMatrix copies in MatrixTransformOperation, Matrix3DTransformOperation
187         https://bugs.webkit.org/show_bug.cgi?id=144797
188
189         Reviewed by Darin Adler.
190
191         Using std::swap() on TransformationMatrix objects which don't
192         provide move constructors will result in copies.
193
194         Instead, use a helper function in both MatrixTransformOperation
195         and Matrix3DTransformOperation that calls TransformationMatrix::blend()
196         and returns the new Matrix(3D)TransformOperation object, and call it
197         with fromT and toT arguments switched when blending to identity.
198
199         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
200         (WebCore::createOperation):
201         (WebCore::Matrix3DTransformOperation::blend):
202         * platform/graphics/transforms/Matrix3DTransformOperation.h: No need
203         to copy the m_matrix member, it won't change when passed to
204         TransformationMatrix::multiply().
205         * platform/graphics/transforms/MatrixTransformOperation.cpp:
206         (WebCore::createOperation):
207         (WebCore::MatrixTransformOperation::blend):
208
209 2015-05-12  Carlos Garcia Campos  <cgarcia@igalia.com>
210
211         [EGL][X11] XPixmap created in GLContextEGL::createPixmapContext() is leaked
212         https://bugs.webkit.org/show_bug.cgi?id=144909
213
214         Reviewed by Sergio Villar Senin and Žan Doberšek.
215
216         The pixmap is created and passed to eglCreatePixmapSurface(), but
217         never released. eglCreatePixmapSurface() doesn't take the
218         ownership of the pixmap, so we should explicitly free it when the
219         GLContextEGL is destroyed.
220
221         * platform/graphics/egl/GLContextEGL.cpp:
222         (WebCore::GLContextEGL::createPixmapContext): Use XUniquePixmap
223         and transfer the ownership to the context by using the new
224         constructor that receives a XUniquePixmap&&.
225         (WebCore::GLContextEGL::createContext): createPixmapContext() is
226         now only defined for X11.
227         (WebCore::GLContextEGL::GLContextEGL): New constructor that
228         receives a XUniquePixmap&&.
229         * platform/graphics/egl/GLContextEGL.h: Add new constructor and
230         initialize the cairo device when defined to simplify constructors.
231
232 2015-05-12  Sungmann Cho  <sungmann.cho@navercorp.com>
233
234         Reindent DIBPixelData.h for consistency.
235         https://bugs.webkit.org/show_bug.cgi?id=144942
236
237         Reviewed by Darin Adler.
238
239         No new tests, no behavior change.
240
241         * platform/graphics/win/DIBPixelData.h:
242         (WebCore::DIBPixelData::DIBPixelData):
243         (WebCore::DIBPixelData::buffer):
244         (WebCore::DIBPixelData::bufferLength):
245         (WebCore::DIBPixelData::size):
246         (WebCore::DIBPixelData::bytesPerRow):
247         (WebCore::DIBPixelData::bitsPerPixel):
248
249 2015-05-12  Commit Queue  <commit-queue@webkit.org>
250
251         Unreviewed, rolling out r184224.
252         https://bugs.webkit.org/show_bug.cgi?id=144946
253
254         Made inspector/page/main-frame-resource.html assert every time
255         (Requested by ap on #webkit).
256
257         Reverted changeset:
258
259         "Web Inspector: REGRESSION (r181625): Timeline recording
260         started from console.profile is always empty"
261         https://bugs.webkit.org/show_bug.cgi?id=144882
262         http://trac.webkit.org/changeset/184224
263
264 2015-05-12  Jer Noble  <jer.noble@apple.com>
265
266         [Mac] Hang in MediaPlayerPrivateAVFoundationObjC::audioSourceProvider() - 'tracks' property not yet loaded
267         https://bugs.webkit.org/show_bug.cgi?id=144937
268
269         Reviewed by Eric Carlson.
270
271         Querying for the -[AVAsset tracks] property blocks for network loading; and could
272         block forever if the asset in question is not reachable. Add a "safe" mechanism for
273         querying the list of audible tracks, and use that when providing the audioSourceProvider()
274         with an audible track.
275
276         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
277         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
278         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
279         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
280         (WebCore::MediaPlayerPrivateAVFoundationObjC::audioSourceProvider):
281         (WebCore::MediaPlayerPrivateAVFoundationObjC::processLegacyClosedCaptionsTracks):
282         (WebCore::MediaPlayerPrivateAVFoundationObjC::safeAVAssetTracksForAudibleMedia):
283
284 2015-05-12  Ryosuke Niwa  <rniwa@webkit.org>
285
286         Mac build fix after r184228.
287
288         * bindings/scripts/CodeGeneratorJS.pm:
289
290 2015-05-12  Simon Fraser  <simon.fraser@apple.com>
291
292         Turn antialiased font dilation off by default
293         https://bugs.webkit.org/show_bug.cgi?id=144940
294         rdar://problem/20923031
295
296         Reviewed by Sam Weinig.
297
298         Turn antialised font dilation off by default.
299
300         * page/Settings.cpp:
301         (WebCore::Settings::Settings):
302         * platform/graphics/FontCascade.cpp:
303
304 2015-05-12  Alex Christensen  <achristensen@webkit.org>
305
306         Don't export all JS bindings classes.
307         https://bugs.webkit.org/show_bug.cgi?id=144932
308
309         Reviewed by Dan Bernstein.
310
311         This change is good if it compiles and links successfully.
312
313         * bindings/scripts/CodeGeneratorJS.pm:
314         (ExportLabelForClass):
315         Add a list of the JS bindings classes that need WEBCORE_EXPORT to prevent exporting too many symbols from WebCore.
316         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
317         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
318         * bindings/scripts/test/JS/JSTestEventConstructor.h:
319         * bindings/scripts/test/JS/JSTestEventTarget.h:
320         * bindings/scripts/test/JS/JSTestException.h:
321         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
322         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
323         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
324         * bindings/scripts/test/JS/JSTestNode.h:
325         * bindings/scripts/test/JS/JSTestNondeterministic.h:
326         * bindings/scripts/test/JS/JSTestObj.h:
327         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
328         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
329         * bindings/scripts/test/JS/JSTestTypedefs.h:
330         * bindings/scripts/test/JS/JSattribute.h:
331         * bindings/scripts/test/JS/JSreadonly.h:
332         Update bindings tests to remove WEBCORE_EXPORT from most of the tests,
333         but keep one test with WEBCORE_EXPORT and one test with WEBCORE_TESTSUPPORT_EXPORT.
334
335 2015-05-12  Brent Fulgham  <bfulgham@apple.com>
336
337         [Win] Update DXSDK_DIR settings for build system.
338
339         Unreviewed build fix.
340
341         * WebCore.vcxproj/WebCore.proj: Add DXSDK_DIR definition for builder.
342
343 2015-05-12  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
344
345         Return Ref instead of PassRefPtr in create() factory functions of WebCore/dom
346         https://bugs.webkit.org/show_bug.cgi?id=144904
347
348         Reviewed by Andreas Kling.
349
350         We return Ref when we're sure if pointer can't be null. If not, we use RefPtr instead PassRefPtr.
351
352         No new tests, no behavior changes.
353
354         * dom/AutocompleteErrorEvent.h:
355         * dom/DOMNamedFlowCollection.h:
356         (WebCore::DOMNamedFlowCollection::create):
357         * dom/MessageChannel.h:
358         (WebCore::MessageChannel::create):
359         * dom/MessagePort.h:
360         * dom/MutationObserver.cpp:
361         (WebCore::MutationObserver::create):
362         * dom/MutationObserver.h:
363         * dom/NamedFlowCollection.h:
364         * dom/NodeFilter.h:
365         (WebCore::NodeFilter::create):
366         * dom/NodeIterator.h:
367         (WebCore::NodeIterator::create):
368         * dom/ProcessingInstruction.cpp:
369         (WebCore::ProcessingInstruction::create):
370         * dom/ProcessingInstruction.h:
371         * dom/ScriptedAnimationController.h:
372         (WebCore::ScriptedAnimationController::create):
373         * dom/SecurityPolicyViolationEvent.h:
374         * dom/StaticNodeList.h:
375         * dom/TemplateContentDocumentFragment.h:
376         * dom/Touch.cpp:
377         (WebCore::Touch::cloneWithNewTarget):
378         * dom/Touch.h:
379         (WebCore::Touch::create):
380         * dom/TouchEvent.h:
381         * dom/TouchList.h:
382         (WebCore::TouchList::create):
383         * dom/TreeWalker.h:
384         (WebCore::TreeWalker::create):
385         * dom/WebKitNamedFlow.cpp:
386         (WebCore::WebKitNamedFlow::create):
387         * dom/WebKitNamedFlow.h:
388         * dom/default/PlatformMessagePortChannel.cpp:
389         (WebCore::PlatformMessagePortChannel::create):
390         * dom/default/PlatformMessagePortChannel.h:
391         (WebCore::PlatformMessagePortChannel::MessagePortQueue::create):
392
393 2015-05-12  Matt Baker  <mattbaker@apple.com>
394
395         Web Inspector: REGRESSION (r181625): Timeline recording started from console.profile is always empty
396         https://bugs.webkit.org/show_bug.cgi?id=144882
397
398         Reviewed by Brian Burg.
399
400         A timeline recording will always be stopped before the end of the current run loop is observed. Before
401         dispatching the recording stopped event, the last run loop record must be completed and sent to the frontend
402         to prevent it from being discarded.
403
404         * inspector/InspectorTimelineAgent.cpp:
405         (WebCore::InspectorTimelineAgent::internalStop):
406
407 2015-05-12  Zalan Bujtas  <zalan@apple.com>
408
409         REGRESSION(r175617): Some text doesn't render on internationalculinarycenter.com
410         https://bugs.webkit.org/show_bug.cgi?id=144917
411         rdar://problem/20545878
412
413         Reviewed by Andreas Kling.
414
415         This patch ensures that text stroke width value is taken into account while
416         calculating visual overflow for simple line layout.
417         Ceiling the text stroke width value matches the normal text layout behaviour.
418
419         Test: fast/text/simple-line-layout-text-stroke-width.html
420
421         * rendering/SimpleLineLayoutFunctions.cpp:
422         (WebCore::SimpleLineLayout::paintFlow):
423         (WebCore::SimpleLineLayout::collectFlowOverflow):
424
425 2015-05-12  Alexey Proskuryakov  <ap@apple.com>
426
427         Build fix.
428
429         * platform/spi/cf/CFNetworkSPI.h:
430
431 2015-05-12  Brent Fulgham  <bfulgham@apple.com>
432
433         ROLLOUT [Win] Unreviewed build fix for older DirectX build environments.
434
435         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
436
437 2015-05-12  Joanmarie Diggs  <jdiggs@igalia.com>
438
439         AX: [ATK] ARIA menu items should not have anonymous block children
440         https://bugs.webkit.org/show_bug.cgi?id=144653
441
442         Reviewed by Chris Fleizach.
443
444         Exclude anonymous block children of menu items from the accessible tree
445         for ATK. Exclude list markers from the accessibility tree if the parent
446         is not being exposed as an accessible list item.
447
448         No new tests. Instead, modified the existing tests to reflect the correct
449         behavior.
450
451         * accessibility/AccessibilityRenderObject.cpp:
452         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
453         * accessibility/atk/AccessibilityObjectAtk.cpp:
454         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
455
456 2015-05-08  Alexey Proskuryakov  <ap@apple.com>
457
458         [Mac] Share cookie storage between UI process and secondary processes
459         https://bugs.webkit.org/show_bug.cgi?id=144820
460         rdar://problem/20572830
461
462         Reviewed by Darin Adler.
463
464         * platform/network/mac/CookieJarMac.mm:
465         * platform/spi/cf/CFNetworkSPI.h:
466         Moved SPIs into an SPI header, so that WebKit2 could use them too without duplication.
467
468 2015-05-12  Chris Dumez  <cdumez@apple.com>
469
470         [WK2] Log using diagnostic logging how far back in history we navigate
471         https://bugs.webkit.org/show_bug.cgi?id=144919
472         <rdar://problem/20920043>
473
474         Reviewed by Gavin Barraclough.
475
476         Add diagnostic logging keys for logging back history navigation delta.
477
478         * page/DiagnosticLoggingKeys.cpp:
479         (WebCore::DiagnosticLoggingKeys::deltaKey):
480         (WebCore::DiagnosticLoggingKeys::backNavigationKey):
481         * page/DiagnosticLoggingKeys.h:
482
483 2015-05-12  Yoav Weiss  <yoav@yoav.ws>
484
485         Avoid CSSPrimitiveValue allocation when parsing sizes
486         https://bugs.webkit.org/show_bug.cgi?id=144910
487
488         Reviewed by Darin Adler.
489
490         Turn non-calc length calculation logic into a static method,
491         so that it can be called without a CSSPrimitiveValue object.
492         Then, call that method to calculate the default source-size length.
493
494         No new tests, since no functionality change.
495
496         * css/CSSPrimitiveValue.cpp:
497         (WebCore::CSSPrimitiveValue::computeLengthDouble): Split out the logic for everything that's not calc into a static method.
498         (WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble): Static length computation logic for everything that is not calc.
499         * css/CSSPrimitiveValue.h:
500         (WebCore::CSSPrimitiveValue::isFontRelativeLength): Turn into static.
501         * css/SourceSizeList.cpp:
502         (WebCore::defaultLength): Use the new static method to compute the length.
503         (WebCore::computeLength): Use the calc length computation methods directly.
504
505 2015-05-12  Brent Fulgham  <bfulgham@apple.com>
506
507         [Win] Unreviewed build fix for older DirectX build environments.
508
509         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Switch back to our
510         d3d stub header to avoid build failures on July 2004 DXSDK build environments.
511
512 2015-05-12  Eric Carlson  <eric.carlson@apple.com>
513
514         [Mac] Refine media playback target client configuration
515         https://bugs.webkit.org/show_bug.cgi?id=144892
516
517         Reviewed by Brent Fulgham.
518
519         Client and target picker state changes fequently happen several times in quick succession, so
520         don't react to immediately so we can batch callbacks to the web process. 
521         * Modules/mediasession/WebMediaSessionManager.cpp:
522         (WebCore::ClientState::ClientState): Store the client as a reference rather than a pointer
523         because it can never be NULL.
524         (WebCore::ClientState::operator == ): New.
525         (WebCore::WebMediaSessionManager::addPlaybackTargetPickerClient): Schedule the initial client 
526         configuration and a target configuration check.
527         (WebCore::WebMediaSessionManager::removePlaybackTargetPickerClient): Schedule a target monitoring
528         update, and a target configuration check.
529         (WebCore::WebMediaSessionManager::removeAllPlaybackTargetPickerClients): Ditto.
530         (WebCore::WebMediaSessionManager::showPlaybackTargetPicker): Schedule a target monitoring update.
531         (WebCore::WebMediaSessionManager::clientStateDidChange): If the client whose state has changed
532         can play to a target, tell it to start using the target even if it isn't playing as long as
533         no other client is actively using a target.
534         (WebCore::WebMediaSessionManager::setPlaybackTarget): Configure clients after a pause.
535         (WebCore::WebMediaSessionManager::configureNewClients): New, do new client configuration.
536         (WebCore::WebMediaSessionManager::configurePlaybackTargetClients): New, configure target clients.
537         (WebCore::WebMediaSessionManager::scheduleDelayedTask): Schedule the timer.
538         (WebCore::WebMediaSessionManager::taskTimerFired): Execute delayed tasks.
539         (WebCore::WebMediaSessionManager::find): 
540         * Modules/mediasession/WebMediaSessionManager.h:
541
542         * html/HTMLMediaElement.cpp:
543         (WebCore::HTMLMediaElement::setMuted): Call updateMediaState.
544         (WebCore::HTMLMediaElement::setPlaying): Ditto.
545         (WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Ditto.
546         (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Expand logging.
547         (WebCore::HTMLMediaElement::updateMediaState): New, don't broadcast a media state change
548         unless something actually changed.
549         * html/HTMLMediaElement.h:
550
551         * html/HTMLMediaSession.cpp:
552         (WebCore::HTMLMediaSession::externalOutputDeviceAvailableDidChange): Update logging.
553         (WebCore::HTMLMediaSession::setShouldPlayToPlaybackTarget): Ditto.
554         (WebCore::HTMLMediaSession::mediaEngineUpdated): Cleanup.
555
556         * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
557         (WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Remove the call to
558         deprecated API and the "-Wdeprecated-declarations".
559
560 2015-05-12  Joanmarie Diggs  <jdiggs@igalia.com>
561
562         AX: [GTK] Defer to WebCore Accessibility for table exposure
563         https://bugs.webkit.org/show_bug.cgi?id=144896
564
565         Reviewed by Chris Fleizach.
566
567         Stop unconditionally exposing all HTMLTableElement nodes as AccessibilityTables
568         for WebKitGtk.
569
570         No new tests. Several existing tests already cover table exposure. They have
571         been updated accordingly.
572
573         * accessibility/AccessibilityTable.cpp:
574         (WebCore::AccessibilityTable::computeIsTableExposableThroughAccessibility):
575
576 2015-05-12  Joanmarie Diggs  <jdiggs@igalia.com>
577
578         [GTK][WK2] rowAtIndex is not implemented in DRT/WKTR
579         https://bugs.webkit.org/show_bug.cgi?id=116971
580
581         Reviewed by Chris Fleizach.
582
583         Because ATK lacks API to directly get an accessible row via its index,
584         the implementation of rowAtIndex gets a cell in the indexed row and
585         returns the parent row. The failing test continued to fail because
586         AccessibilityARIAGridCell::parentTable called parentObjectUnignored at
587         most twice, the second call in place to handle rows which are included
588         in the tree. However, given a well-formed ARIA grid with a rowgroup that
589         is interactive, that rowgroup also needs to be in the tree necessitating
590         parentObjectUnignored be called a third time to get to the grid. Given a
591         poorly-formed ARIA grid, there may additional objects which pass the test
592         for inclusion standing in between the cell and grid necessitating more
593         calls still. Therefore, ascend the hierarchy to find the parent grid.
594
595         No new tests. The failing test now passes.
596
597         * accessibility/AccessibilityARIAGridCell.cpp:
598         (WebCore::AccessibilityARIAGridCell::parentTable):
599
600 2015-05-08  Carlos Garcia Campos  <cgarcia@igalia.com>
601
602         [X11] Add XUniquePtr and XUniqueResource to automatically free X resources
603         https://bugs.webkit.org/show_bug.cgi?id=144521
604
605         Reviewed by Darin Adler.
606
607         Add XUniquePtr as a template alias of std:unique_ptr to handle X
608         resources using pointers and XUniqueResource as a new class to
609         handle X resources using a long unsigned identifier. This
610         simplifies the code and makes it more difficult to leak X resources.
611
612         * PlatformEfl.cmake: Add new files to compilation.
613         * PlatformGTK.cmake: Ditto.
614         * platform/graphics/cairo/BackingStoreBackendCairoX11.cpp:
615         (WebCore::BackingStoreBackendCairoX11::BackingStoreBackendCairoX11):
616         Remove the display member, and use XUnique for Pixmap and GC.
617         (WebCore::BackingStoreBackendCairoX11::~BackingStoreBackendCairoX11):
618         Remove code to explicitly free Pixmap and GC.
619         (WebCore::BackingStoreBackendCairoX11::scroll):
620         * platform/graphics/cairo/BackingStoreBackendCairoX11.h:
621         * platform/graphics/glx/GLContextGLX.cpp:
622         (WebCore::GLContextGLX::createWindowContext): Use XUnique and the
623         new constructor that receives a XID, since there's no longer
624         conflict with the one receiving a Pbuffer.
625         (WebCore::GLContextGLX::createPbufferContext): Use XUnique and the
626         new constructor that receives a XUniqueGLXPbuffer&&.
627         (WebCore::GLContextGLX::createPixmapContext):
628         (WebCore::GLContextGLX::createContext):
629         (WebCore::GLContextGLX::GLContextGLX):
630         (WebCore::GLContextGLX::~GLContextGLX): Remove code to explicitly
631         free X resources.
632         (WebCore::GLContextGLX::makeContextCurrent):
633         (WebCore::GLContextGLX::cairoDevice):
634         (WebCore::GLContextGLX::platformContext):
635         * platform/graphics/glx/GLContextGLX.h:
636         * platform/graphics/surfaces/egl/EGLXSurface.cpp:
637         (WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient):
638         (WebCore::EGLXTransportSurfaceClient::destroy):
639         (WebCore::EGLXTransportSurfaceClient::prepareTexture):
640         * platform/graphics/surfaces/egl/EGLXSurface.h:
641         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
642         (WebCore::GLXConfigSelector::findMatchingConfig): Use XUnique
643         instead of the custom std::unique X11Deleter.
644         (WebCore::GLXConfigSelector::findMatchingConfigWithVisualId): Ditto.
645         * platform/graphics/surfaces/glx/GLXSurface.cpp:
646         (WebCore::GLXTransportSurface::GLXTransportSurface): Ditto.
647         (WebCore::GLXOffScreenSurface::initialize):
648         * platform/graphics/surfaces/glx/X11Helper.cpp:
649         (WebCore::X11Helper::createOffScreenWindow): Ditto.
650         (WebCore::X11Helper::createPixmap): Ditto.
651         * platform/graphics/surfaces/glx/X11Helper.h:
652         * platform/graphics/x11/XUniquePtr.h: Remove X11Deleter.
653         (WebCore::XPtrDeleter::operator()):
654         * platform/graphics/x11/XUniqueResource.cpp: Added.
655         (WebCore::XUniqueResource<XResource::Colormap>::deleteXResource):
656         (WebCore::XUniqueResource<XResource::Damage>::deleteXResource):
657         (WebCore::XUniqueResource<XResource::Pixmap>::deleteXResource):
658         (WebCore::XUniqueResource<XResource::Window>::deleteXResource):
659         (WebCore::XUniqueResource<XResource::GLXPbuffer>::deleteXResource):
660         (WebCore::XUniqueResource<XResource::GLXPixmap>::deleteXResource):
661         * platform/graphics/x11/XUniqueResource.h: Added.
662         (WebCore::XUniqueResource::XUniqueResource):
663         (WebCore::XUniqueResource::operator=):
664         (WebCore::XUniqueResource::~XUniqueResource):
665         (WebCore::XUniqueResource::get):
666         (WebCore::XUniqueResource::release):
667         (WebCore::XUniqueResource::reset):
668         (WebCore::XUniqueResource::operator!):
669         (WebCore::XUniqueResource::operator UnspecifiedBoolType*):
670
671 2015-05-12  Zan Dobersek  <zdobersek@igalia.com>
672
673         Move TransformOperation-based classes off of PassRefPtr
674         https://bugs.webkit.org/show_bug.cgi?id=144876
675
676         Reviewed by Darin Adler.
677
678         Remove uses of PassRefPtr from the TransformOperation class and its
679         derivatives, operating on Ref and RefPtr objects instead.
680
681         * platform/graphics/transforms/IdentityTransformOperation.h:
682         * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
683         (WebCore::Matrix3DTransformOperation::blend):
684         * platform/graphics/transforms/Matrix3DTransformOperation.h:
685         * platform/graphics/transforms/MatrixTransformOperation.cpp:
686         (WebCore::MatrixTransformOperation::blend):
687         * platform/graphics/transforms/MatrixTransformOperation.h:
688         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
689         (WebCore::PerspectiveTransformOperation::blend):
690         * platform/graphics/transforms/PerspectiveTransformOperation.h:
691         * platform/graphics/transforms/RotateTransformOperation.cpp:
692         (WebCore::RotateTransformOperation::blend):
693         * platform/graphics/transforms/RotateTransformOperation.h:
694         * platform/graphics/transforms/ScaleTransformOperation.cpp:
695         (WebCore::ScaleTransformOperation::blend):
696         * platform/graphics/transforms/ScaleTransformOperation.h:
697         * platform/graphics/transforms/SkewTransformOperation.cpp:
698         (WebCore::SkewTransformOperation::blend):
699         * platform/graphics/transforms/SkewTransformOperation.h:
700         * platform/graphics/transforms/TransformOperation.h:
701         * platform/graphics/transforms/TransformOperations.cpp:
702         (WebCore::TransformOperations::blendByMatchingOperations):
703         * platform/graphics/transforms/TranslateTransformOperation.cpp:
704         (WebCore::TranslateTransformOperation::blend):
705         * platform/graphics/transforms/TranslateTransformOperation.h:
706
707 2015-05-12  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet <youenn.fablet@crf.canon.fr>
708
709         [Streams API] ReadableStream reader should not be disposable when having pending promises
710         https://bugs.webkit.org/show_bug.cgi?id=144869
711
712         Reviewed by Darin Adler.
713
714         Made error promise callback to take a ref to the reader so that the reader is not disposed as long as the promise callback is not resolved.
715
716         Covered by tests added to streams/readable-stream-gc.html.
717
718         * Modules/streams/ReadableStreamReader.cpp:
719         (WebCore::ReadableStreamReader::ReadableStreamReader): Moved initialize() call outside constructor as it can ref/unref.
720         (WebCore::ReadableStreamReader::releaseStreamAndClean): Added protector.
721         * Modules/streams/ReadableStreamReader.h:
722         * bindings/js/JSReadableStreamReaderCustom.cpp:
723         (WebCore::JSReadableStreamReader::closed): Lambda for error now takes a ref to the reader.
724         * bindings/js/ReadableJSStream.cpp:
725         (WebCore::ReadableJSStream::Reader::create): Calling initialize() after adoptRef().
726
727 2015-05-11  Zan Dobersek  <zdobersek@igalia.com>
728
729         Clean up redundant resources in case of failure in GLContextEGL context creation methods
730         https://bugs.webkit.org/show_bug.cgi?id=144878
731
732         Reviewed by Martin Robinson.
733
734         GLContextEGL::createWindowContext() and GLContextEGL::createPixmapContext() methods
735         should clean up the freshly-created resources when prematurely returning due to a
736         failure.
737
738         * platform/graphics/egl/GLContextEGL.cpp:
739         (WebCore::GLContextEGL::createWindowContext):
740         (WebCore::GLContextEGL::createPixmapContext):
741
742 2015-05-11  Dan Bernstein  <mitz@apple.com>
743
744         WebCore part of <rdar://problem/20878075> Trying to navigate to an invalid URL loads about:blank, but -[WKWebView URL] returns the invalid URL
745
746         Reviewed by Alexey Proskuryakov.
747
748         Test: TestWebKitAPI/Tests/WebKit2Cocoa/ProvisionalURLChange.mm
749
750         In some cases, trying to navigate to an invalid URL results in navigation to about:blank.
751         When the about:blank load is committed, the UI process still thinks that the provisional
752         URL is the original, invalid URL, and updates its state to reflect that that’s the URL that
753         has been committed.
754
755         The provisional URL changes (1) when a provisional load begins, (2) when a server redirect
756         happens, (3) when the client changes the request in willSendRequest, and (4) in this
757         about:blank case. For (1) and (2), there are frame loader client callbacks. (3) is client-
758         initiated. So this patch addresses (4).
759
760         * loader/DocumentLoader.cpp:
761         (WebCore::DocumentLoader::maybeLoadEmpty): If our request URL is changing to about:blank and
762         while loading the main resource, call FrameLoaderClient::dispatchDidChangeProvisionalURL.
763         * loader/FrameLoaderClient.h: Added dispatchDidChangeProvisionalURL with an empty
764         implementation.
765
766 2015-05-11  Zalan Bujtas  <zalan@apple.com>
767
768         Text is misplaced when custom font does not have space glyph.
769         https://bugs.webkit.org/show_bug.cgi?id=144879
770
771         Reviewed by Myles C. Maxfield
772
773         This patch ensures that we use fallback font for the missing space glyph only when the rendered text has space in it.
774
775         If a font does not provide all the glyphs required to render the associated text, we initiate fallback fonts. It is done while
776         measuring the text at layout time. However due to the fact that we always pre-measure space, a font with no space glyph in it is never sufficient.
777         (even when the text does not require space at all)
778         Fallback fonts impact line positions through ascent/descent calculation.
779
780         Test: fast/text/font-with-no-space-glyph.html
781
782         * rendering/RenderText.cpp:
783         (WebCore::RenderText::computePreferredLogicalWidths):
784         * rendering/line/BreakingContext.h:
785         (WebCore::WordTrailingSpace::WordTrailingSpace):
786         (WebCore::WordTrailingSpace::width):
787         (WebCore::BreakingContext::handleText):
788
789 2015-05-11  Simon Fraser  <simon.fraser@apple.com>
790
791         Small tidyup in animations code
792         https://bugs.webkit.org/show_bug.cgi?id=144893
793
794         Reviewed by Eric Carlson.
795
796         Reading progress(1, 0, 0) in callers of AnimationBase::progress() was confusing,
797         particularly as the last parameter is a TimingFunction*. Put default values 
798         in the header (with nullptr) and fix the callers. Also fix variable names in
799         the implementation.
800
801         * page/animation/AnimationBase.cpp:
802         (WebCore::AnimationBase::progress):
803         * page/animation/AnimationBase.h:
804         * page/animation/ImplicitAnimation.cpp:
805         (WebCore::ImplicitAnimation::animate):
806         (WebCore::ImplicitAnimation::getAnimatedStyle):
807         (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
808
809 2015-05-11  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
810
811         Purge PassRefPtr in WebCore/rendering
812         https://bugs.webkit.org/show_bug.cgi?id=144872
813
814         Reviewed by Darin Adler.
815
816         As a step to remove PassRefPtr, this patch replaces PassRefPtr with Ref in WebCore/rendering.
817
818         No new tests, no behavior changes.
819
820         * rendering/HitTestingTransformState.h:
821         (WebCore::HitTestingTransformState::create):
822         * rendering/RenderLayer.cpp:
823         (WebCore::ClipRects::create):
824         * rendering/RenderThemeGtk.cpp:
825         (WebCore::RenderThemeGtk::create):
826         (WebCore::RenderTheme::themeForPage):
827         * rendering/RenderThemeGtk.h:
828         * rendering/RenderThemeIOS.h:
829         * rendering/RenderThemeIOS.mm:
830         (WebCore::RenderTheme::themeForPage):
831         (WebCore::RenderThemeIOS::create):
832         * rendering/RenderThemeMac.h:
833         * rendering/RenderThemeMac.mm:
834         (WebCore::RenderTheme::themeForPage):
835         (WebCore::RenderThemeMac::create):
836         * rendering/RenderThemeSafari.cpp:
837         (WebCore::RenderThemeSafari::create):
838         (WebCore::RenderTheme::themeForPage):
839         * rendering/RenderThemeSafari.h:
840         * rendering/RenderThemeWin.cpp:
841         (WebCore::RenderThemeWin::create):
842         (WebCore::RenderTheme::themeForPage):
843         * rendering/RenderThemeWin.h:
844         * rendering/TextAutoSizing.h:
845         (WebCore::TextAutoSizingValue::create):
846         * rendering/style/ShapeValue.h:
847         (WebCore::ShapeValue::createShapeValue):
848         (WebCore::ShapeValue::createBoxShapeValue):
849         (WebCore::ShapeValue::createImageValue):
850         * rendering/style/StyleCachedImage.h:
851         * rendering/style/StyleCachedImageSet.h:
852         * rendering/style/StyleGeneratedImage.h:
853         * rendering/style/StylePendingImage.h:
854         * rendering/style/StyleReflection.h:
855         (WebCore::StyleReflection::create):
856
857 2015-05-11  Eric Carlson  <eric.carlson@apple.com>
858
859         [Mac] Update device picker icon when video tracks change
860         https://bugs.webkit.org/show_bug.cgi?id=144889
861         <rdar://problem/20907253>
862
863         Reviewed by Brent Fulgham.
864
865         * Modules/mediacontrols/mediaControlsApple.js:
866         (Controller.prototype.updateHasVideo):
867
868 2015-05-11  Brent Fulgham  <bfulgham@apple.com>
869
870         Scroll snap logic should be triggered when resizing the WebView
871         https://bugs.webkit.org/show_bug.cgi?id=142590
872         <rdar://problem/20125088>
873
874         Reviewed by Simon Fraser.
875
876         Tests coming in a second patch.
877
878         Resizing of the main frame or overflow regions was properly recalculating the scroll snap points,
879         but there was no code to honor these values when window resizing was occurring. The correction was
880         handled in two ways:
881         1. Scrolling thread operations that moved to new snap points needed to notify the main thread that
882            it had shifted to a new snap point, so that the resize code (which happens on the main thread)
883            could ensure that we stayed clamped to the correct 'tile' in the snap region.
884         2. Main thread (overflow) resizes were likewise missing code to honor the current snap position
885            after resizing calculations were complete.
886
887         This change also required the addition of two indices to the scrollable area to track which scroll
888         snap point was currently being used. We don't bother with a 'none' case because you cannot have a
889         'none' state when you have an active set of scroll snap points, and we do not execute this code
890         if the scroll snap points are null.
891
892         The FrameView code was computing updated snap offsets after it had dispatched frame view layout
893         information to the scrolling thread, which was wrong. This was also corrected.
894
895         I think it might be possible to track all of this state inside the ScrollController, but the current
896         scroll snap architecture destroys and recreates the state each time a new set of interactions starts.
897         This should be fixed in the future, which would allow us to remove some of this local state.
898
899         * page/FrameView.cpp:
900         (WebCore::FrameView::performPostLayoutTasks): Make sure 'updateSnapOffsets' is called prior to
901         calling 'frameViewLayoutUpdated' so the scrolling thread gets correct updated points. Add a new
902         call to 'scrollToNearestActiveSnapPoint', which will keep us on our current snap point during
903         resize (if appropriate).
904         * page/scrolling/AsyncScrollingCoordinator.cpp:
905         (WebCore::AsyncScrollingCoordinator::updateScrollSnapOffsetIndices): Added. This finds and notifies
906         the correct scroll region when a new snap position (index) has been selected by user interaction on
907         the scrolling thread.
908         (WebCore::AsyncScrollingCoordinator::deferTestsForReason): Added an assertion for 'isMainThread'.
909         (WebCore::AsyncScrollingCoordinator::removeTestDeferralForReason): Ditto.
910         * page/scrolling/AsyncScrollingCoordinator.h:
911         * page/scrolling/AxisScrollSnapOffsets.h:
912         (WebCore::closestSnapOffset): Modified to also return the selected snap point index so we can track
913         it to handle resize operations.
914         * page/scrolling/ScrollingTree.h:
915         (WebCore::ScrollingTree::updateScrollSnapOffsetIndices):
916         * page/scrolling/ThreadedScrollingTree.cpp:
917         (WebCore::ThreadedScrollingTree::updateScrollSnapOffsetIndices): Added method to dispatch the active
918         horizontal and vertical scroll snap indices back to the main thread.
919         * page/scrolling/ThreadedScrollingTree.h:
920         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
921         (WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent): After the scroll controller processes
922         the current event, notify the main thread of any change in the active scroll snap index.
923         * platform/ScrollAnimator.cpp:
924         (WebCore::ScrollAnimator::activeScrollSnapOffsetIndexDidChange): Added method to allow ScrollAnimator
925         clients to find out about the current scroll snap state, which is only known by the ScrollController.
926         (WebCore::ScrollAnimator::activeScrollSnapOffsetIndexForAxis): Ditto.
927         * platform/ScrollAnimator.h:
928         * platform/ScrollView.cpp:
929         (WebCore::ScrollView::scrollToNearestActiveSnapPoint): Added method that allows us to set scroll position
930         to one of our active scroll snap offsets.
931         * platform/ScrollView.h:
932         * platform/ScrollableArea.cpp:
933         (WebCore::ScrollableArea::handleWheelEvent): If the active scroll snap offset has changed, make sure we
934         keep track of the new values for potential resize operations.
935         (WebCore::ScrollableArea::clearHorizontalSnapOffsets): Make sure to also clear out the current snap index.
936         (WebCore::ScrollableArea::clearVerticalSnapOffsets): Ditto.
937         (WebCore::ScrollableArea::nearestActiveSnapPoint): New method that returns an updated IntPoint reflecting
938         the proper scroll position based on the active scroll snap offset.
939         * platform/ScrollableArea.h:
940         (WebCore::ScrollableArea::currentHorizontalSnapPointIndex): Added.
941         (WebCore::ScrollableArea::setCurrentHorizontalSnapPointIndex): Added.
942         (WebCore::ScrollableArea::currentVerticalSnapPointIndex): Added.
943         (WebCore::ScrollableArea::setCurrentVerticalSnapPointIndex): Added.
944         (WebCore::ScrollableArea::scrollToNearestActiveSnapPoint): Added.
945         * platform/cocoa/ScrollController.h:
946         (WebCore::ScrollControllerClient::activeScrollOffsetIndex): Added new method for clients to implement.
947         (WebCore::ScrollController::activeScrollSnapOffsetIndexDidChange): Added.
948         (WebCore::ScrollController::setScrollSnapOffsetIndexDidChange): Added.
949         * platform/cocoa/ScrollController.mm:
950         (WebCore::ScrollController::activeScrollSnapOffsetIndexForAxis): Helper method to return current active
951         index (if applicable).
952         (WebCore::ScrollController::setActiveScrollSnapOffsetIndexForAxis): Helper function to safely set
953         the current active index.
954         (WebCore::ScrollController::beginScrollSnapAnimation): Updated to keep track of the new active scroll snap
955         index, as well as whether the current animation actually changed the active snap point offset.
956         * platform/cocoa/ScrollSnapAnimatorState.h: Revise to use modern C++ initializers, and to track a new index
957         that represents the current scroll snap offset.
958         * platform/cocoa/ScrollSnapAnimatorState.mm:
959         (WebCore::ScrollSnapAnimatorState::ScrollSnapAnimatorState): Update for modern C++ syntax.
960         * rendering/RenderLayer.cpp:
961         (WebCore::RenderLayer::scrollToNearestActiveSnapPoint): New method to set scroll position to be one of our
962         active scroll snap points.
963         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Add a new call to 'scrollToNearestActiveSnapPoint' so that
964         we stay on the current scroll snap offset during resizing.
965         * rendering/RenderLayer.h:
966
967 2015-05-11  Myles C. Maxfield  <mmaxfield@apple.com>
968
969         Addressing post-review comments after r184037.
970
971         Unreviewed.
972
973         No new tests because there is no behavior change.
974
975         * rendering/SimpleLineLayoutTextFragmentIterator.cpp:
976         (WebCore::SimpleLineLayout::TextFragmentIterator::runWidth):
977
978 2015-05-11  Brent Fulgham  <bfulgham@apple.com>
979
980         [Win] Move Windows build target to Windows 7 (or newer)
981         https://bugs.webkit.org/show_bug.cgi?id=144890
982         <rdar://problem/20707307>
983
984         Reviewed by Anders Carlsson.
985
986         Update linked SDK and minimal Windows level to be compatible with
987         Windows 7 or newer.
988
989         * WebCore.vcxproj/WebCore.vcxproj:
990         * WebCore.vcxproj/WebCoreGenerated.vcxproj:
991         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
992         * WebCorePrefix.h:
993         * config.h:
994         * testing/js/WebCoreTestSupportPrefix.h:
995
996 2015-05-11  Joanmarie Diggs  <jdiggs@igalia.com>
997
998         AX: [ATK] Always include rows in the tree of accessible tables
999         https://bugs.webkit.org/show_bug.cgi?id=144885
1000
1001         Reviewed by Chris Fleizach.
1002
1003         Remove the code that excluded rows from the tree of accessible tables for
1004         Gtk and Efl, the latter of which inherited the exclusion from the former.
1005
1006         No new tests. We already have several tests which cover table hierarchy.
1007         The associated expectations have been updated as part of this fix.
1008
1009         * accessibility/AccessibilityTable.cpp:
1010         (WebCore::AccessibilityTable::addChildrenFromSection):
1011         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1012         (webkitAccessibleGetParent):
1013
1014 2015-05-11  Matt Baker  <mattbaker@apple.com>
1015
1016         Web Inspector: REGRESSION (r175203): No profile information is shown in Inspector
1017         https://bugs.webkit.org/show_bug.cgi?id=144808
1018
1019         Reviewed by Darin Adler.
1020
1021         Profiles started from the console should always use the Inspector environment's shared stopwatch.
1022
1023         * inspector/InspectorTimelineAgent.cpp:
1024         (WebCore::InspectorTimelineAgent::startFromConsole):
1025
1026 2015-05-11  Alex Christensen  <achristensen@webkit.org>
1027
1028         [Content Extensions] Support domain-specific rules and exceptions.
1029         https://bugs.webkit.org/show_bug.cgi?id=144833
1030
1031         Reviewed by Darin Adler.
1032
1033         Test: http/tests/contentextensions/domain-rules.html
1034         (And lots of API tests)
1035
1036         This patch adds if-domain and unless-domain to the trigger in the JSON format.
1037         if-domain makes the rule apply only to domains in the list.
1038         unless-domain makes the rule apply to domains that are not in the list.
1039         
1040         All rules without if-domain or unless-domain are compiled into a set of DFAs.  This behavior is unchanged.
1041         All rules with if-domain or unless-domain are compiled into a separate set of DFAs.
1042         The domains are also compiled into another set of DFAs.  This makes 3 arrays of DFA bytecode instead of 1.
1043         
1044         If there are no domain specific rules, there is no change in behavior.
1045         If there are domain specific rules, the URL will be checked for matches in both
1046         filtersWithoutDomainsBytecode and filtersWithDomainsBytecode.  If there are matches from 
1047         filtersWithDomainsBytecode then the domain of the main document will be checked with 
1048         domainFiltersBytecode to see which of the matches applies to this domain.
1049
1050         * contentextensions/CombinedURLFilters.cpp:
1051         (WebCore::ContentExtensions::CombinedURLFilters::isEmpty):
1052         (WebCore::ContentExtensions::CombinedURLFilters::addDomain):
1053         * contentextensions/CombinedURLFilters.h:
1054         Added addDomain, which adds characters from a domain to the prefix tree directly without using YARR.
1055         * contentextensions/CompiledContentExtension.cpp:
1056         (WebCore::ContentExtensions::CompiledContentExtension::globalDisplayNoneSelectors):
1057         * contentextensions/CompiledContentExtension.h:
1058         * contentextensions/ContentExtensionCompiler.cpp:
1059         (WebCore::ContentExtensions::serializeActions):
1060         (WebCore::ContentExtensions::compileRuleList):
1061         Separate the rules into rules with domains and rules without domains and compile to bytecode.
1062         * contentextensions/ContentExtensionCompiler.h:
1063         Updated compiler interface to reflect the slightly more complicated structure.
1064         * contentextensions/ContentExtensionError.cpp:
1065         (WebCore::ContentExtensions::contentExtensionErrorCategory):
1066         * contentextensions/ContentExtensionError.h:
1067         Added new parsing errors.
1068         * contentextensions/ContentExtensionParser.cpp:
1069         (WebCore::ContentExtensions::getDomainList):
1070         (WebCore::ContentExtensions::loadTrigger):
1071         (WebCore::ContentExtensions::loadEncodedRules):
1072         * contentextensions/ContentExtensionRule.h:
1073         (WebCore::ContentExtensions::Trigger::operator==):
1074         Parse the new domain structures from JSON into the Trigger structure.
1075         * contentextensions/ContentExtensionsBackend.cpp:
1076         (WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
1077         Interpret as much bytecode as necessary to determine which rules apply to this URL and domain.
1078         * contentextensions/DFABytecode.h:
1079         (WebCore::ContentExtensions::instructionSizeWithArguments):
1080         * contentextensions/DFABytecodeCompiler.cpp:
1081         (WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendAction):
1082         (WebCore::ContentExtensions::DFABytecodeCompiler::emitTestFlagsAndAppendAction):
1083         (WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
1084         * contentextensions/DFABytecodeCompiler.h:
1085         * contentextensions/DFABytecodeInterpreter.cpp:
1086         (WebCore::ContentExtensions::DFABytecodeInterpreter::interpretAppendAction):
1087         (WebCore::ContentExtensions::DFABytecodeInterpreter::interpretTestFlagsAndAppendAction):
1088         (WebCore::ContentExtensions::DFABytecodeInterpreter::actionsFromDFARoot):
1089         (WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
1090         * contentextensions/DFABytecodeInterpreter.h:
1091         * loader/ResourceLoadInfo.h:
1092         Keep track of which actions have an if-domain trigger.  If an action is in the 
1093         filtersWithDomainsBytecode, then it either has an if-domain or an unless-domain in its trigger.
1094         This requires additional information in the bytecode, so there are two new bytecode types.
1095
1096 2015-05-11  Yoav Weiss  <yoav@yoav.ws>
1097
1098         Add srcset, sizes and picture to the features json
1099         https://bugs.webkit.org/show_bug.cgi?id=144862
1100
1101         Reviewed by Benjamin Poulain.
1102
1103         Add the srcset w descriptor and sizes attribute as a new feature in the JSON file,
1104         as well as adding the picture element and srcset's x descriptor as seperate features.
1105
1106         No new tests, since no new functionality added.
1107
1108         * features.json:
1109
1110 2015-05-11  Chris Dumez  <cdumez@apple.com>
1111
1112         Fix checkingLogicalHeight initialization in Document::updateLayoutIfDimensionsOutOfDate()
1113         https://bugs.webkit.org/show_bug.cgi?id=144873
1114
1115         Reviewed by Simon Fraser.
1116
1117         Fix checkingLogicalHeight initialization in Document::updateLayoutIfDimensionsOutOfDate().
1118         checkingLogicalHeight should only be initialized to true when
1119         "dimensionsCheck & WidthDimensionsCheck" if isVertical is true.
1120
1121         * dom/Document.cpp:
1122         (WebCore::Document::updateLayoutIfDimensionsOutOfDate):
1123
1124 2015-05-11  Daniel Bates  <dabates@apple.com>
1125
1126         [iOS] Close all open databases in expiration handler of process assertion
1127         https://bugs.webkit.org/show_bug.cgi?id=144661
1128         <rdar://problem/20845052>
1129
1130         Reviewed by Darin Adler.
1131
1132         Expose functionality in WebCore to close all open databases. Closing a SQLite database
1133         will interrupt any in-progress database transactions.
1134
1135         * Modules/webdatabase/AbstractDatabaseServer.h:
1136         * Modules/webdatabase/DatabaseManager.cpp:
1137         (WebCore::DatabaseManager::closeAllDatabases): Added; turns around and calls DatabaseServer::closeAllDatabases().
1138         * Modules/webdatabase/DatabaseManager.h: Export DatabaseManager::closeAllDatabases() so that
1139         we can call in from WebKit2.
1140         * Modules/webdatabase/DatabaseServer.cpp:
1141         (WebCore::DatabaseServer::closeAllDatabases): Added; turns around and calls DatabaseTracker::closeAllDatabases().
1142         * Modules/webdatabase/DatabaseServer.h:
1143         * Modules/webdatabase/DatabaseTracker.cpp:
1144         (WebCore::DatabaseTracker::closeAllDatabases): Added; closes all open databases.
1145         * Modules/webdatabase/DatabaseTracker.h: Export DatabaseTracker::closeAllDatabases() so that
1146         we can call in from Legacy WebKit.
1147
1148 2015-05-11  Antti Koivisto  <antti@apple.com>
1149
1150         WebContent crash under com.apple.WebCore: WebCore::WebKitCSSResourceValue::isCSSValueNone const + 6
1151         https://bugs.webkit.org/show_bug.cgi?id=144870
1152         rdar://problem/20727702
1153
1154         Reviewed by Simon Fraser.
1155
1156         No repro but we are seeing null pointer crashes like this:
1157
1158         Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
1159         0   com.apple.WebCore   0x00007fff92da5706 WebCore::WebKitCSSResourceValue::isCSSValueNone() const + 6
1160         1   com.apple.WebCore   0x00007fff93382b48 WebCore::MaskImageOperation::isCSSValueNone() const + 24
1161         2   com.apple.WebCore   0x00007fff92e0475e WebCore::FillLayer::hasNonEmptyMaskImage() const + 30
1162
1163         * platform/graphics/MaskImageOperation.cpp:
1164         (WebCore::MaskImageOperation::MaskImageOperation):
1165         (WebCore::MaskImageOperation::isCSSValueNone):
1166
1167             This would crash like this if both m_styleImage and m_cssMaskImageValue are null.
1168             There are no obvious guarantees that this doesn't happen. Two of the constructor variants allow it
1169             and there is setImage which may turn m_styleImage null later too.
1170
1171             Fix by making null m_cssMaskImageValue always signify CSSValueNone.
1172
1173         (WebCore::MaskImageOperation::cssValue):
1174
1175 2015-05-11  Chris Fleizach  <cfleizach@apple.com>
1176
1177         AX: Crash at WebCore::AccessibilityMenuList::addChildren()
1178         https://bugs.webkit.org/show_bug.cgi?id=144860
1179
1180         Reviewed by Mario Sanchez Prada.
1181
1182         There were some unsafe pointer accesses in AccessibilityMenuList code that needed to be cleaned up.
1183
1184         Test: accessibility/menu-list-crash2.html
1185
1186         * accessibility/AccessibilityMenuList.cpp:
1187         (WebCore::AccessibilityMenuList::addChildren):
1188
1189 2015-05-11  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
1190
1191         [WebGL] Unnecessary condition check in the while loop
1192         https://bugs.webkit.org/show_bug.cgi?id=125001
1193
1194         Reviewed by Csaba Osztrogonác.
1195
1196         While loop in this case needs to be optimized a little.
1197         For now a conditional statement in while will execute two
1198         times at begin. do-while loop avoids to check first statement.
1199
1200         No new tests. No behaviour changed.
1201
1202         * html/canvas/WebGLFramebuffer.cpp:
1203         (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
1204
1205 2015-05-11  Joonghun Park  <jh718.park@samsung.com>
1206
1207         [GTK] Reorder Performance class's member initialization sequence
1208         https://bugs.webkit.org/show_bug.cgi?id=144858
1209
1210         Reviewed by Csaba Osztrogonác.
1211
1212         No new tests, no new behaviors.
1213
1214         * page/Performance.cpp:
1215         (WebCore::Performance::Performance):
1216
1217 2015-05-11  Zan Dobersek  <zdobersek@igalia.com>
1218
1219         Reduce TransformationMatrix copies in WebKitCSSMatrix operations
1220         https://bugs.webkit.org/show_bug.cgi?id=144795
1221
1222         Reviewed by Darin Adler.
1223
1224         Instead of copying the TransformationMatrix member, performing
1225         the operation on it and then copying it again when creating
1226         the new WebKitCSSMatrix object, copy it just once by first
1227         creating the new WebKitCSSMatrix object and then performing
1228         the operation on that object's TransformationMatrix directly.
1229
1230         * css/WebKitCSSMatrix.cpp:
1231         (WebCore::WebKitCSSMatrix::multiply):
1232         (WebCore::WebKitCSSMatrix::translate):
1233         (WebCore::WebKitCSSMatrix::scale):
1234         (WebCore::WebKitCSSMatrix::rotate):
1235         (WebCore::WebKitCSSMatrix::rotateAxisAngle):
1236         (WebCore::WebKitCSSMatrix::skewX):
1237         (WebCore::WebKitCSSMatrix::skewY):
1238
1239 2015-05-11  Zan Dobersek  <zdobersek@igalia.com>
1240
1241         Add missing vtable override specifiers under Source/WebCore/loader, Source/WebCore/xml
1242         https://bugs.webkit.org/show_bug.cgi?id=144793
1243
1244         Reviewed by Darin Adler.
1245
1246         Update virtual method overrides under Source/WebCore/loader
1247         and Source/WebCore/dom which are missing the override specifier.
1248
1249         * loader/DocumentThreadableLoader.h:
1250         (WebCore::DocumentThreadableLoader::refThreadableLoader):
1251         (WebCore::DocumentThreadableLoader::derefThreadableLoader):
1252         * loader/cache/CachedRawResource.h:
1253         * xml/parser/XMLDocumentParser.h:
1254
1255 2015-05-11  Zan Dobersek  <zdobersek@igalia.com>
1256
1257         Add missing vtable override specifiers under Source/WebCore/accessibility, Source/WebCore/dom
1258         https://bugs.webkit.org/show_bug.cgi?id=144792
1259
1260         Reviewed by Darin Adler.
1261
1262         Update virtual method overrides under Source/WebCore/accessibility
1263         and Source/WebCore/dom which are missing the override specifier.
1264
1265         * accessibility/AccessibilityMockObject.h:
1266         (WebCore::AccessibilityMockObject::isDetachedFromParent): Deleted.
1267         * accessibility/AccessibilityRenderObject.h:
1268         * dom/DecodedDataDocumentParser.h:
1269         * dom/TouchEvent.h:
1270
1271 2015-05-10  Zan Dobersek  <zdobersek@igalia.com>
1272
1273         Have MediaStream::getAudioTracks(), MediaStream::getVideoTracks() return const references
1274         https://bugs.webkit.org/show_bug.cgi?id=144794
1275
1276         Reviewed by Philippe Normand.
1277
1278         * Modules/mediastream/MediaStream.h: getAudioTracks() and getVideoTracks()
1279         should return a const reference to the member variables, instead of
1280         copying the objects on every call.
1281
1282 2015-05-10  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
1283
1284         Use Ref instead of PassRefPtr in WebCore/page
1285         https://bugs.webkit.org/show_bug.cgi?id=144841
1286
1287         Reviewed by Darin Adler.
1288
1289         To kill PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr
1290         in WebCore/page.
1291
1292         No new tests, no behavior changes.
1293
1294         * page/DebugPageOverlays.cpp:
1295         * page/EventSource.cpp:
1296         (WebCore::EventSource::create):
1297         * page/EventSource.h:
1298         * page/History.h:
1299         (WebCore::History::create):
1300         * page/Location.h:
1301         (WebCore::Location::create):
1302         * page/MainFrame.cpp:
1303         (WebCore::MainFrame::create):
1304         * page/MainFrame.h:
1305         * page/Navigator.h:
1306         (WebCore::Navigator::create):
1307         * page/PageOverlay.cpp:
1308         (WebCore::PageOverlay::create):
1309         * page/PageOverlay.h:
1310         * page/Performance.h:
1311         * page/PerformanceEntryList.h:
1312         (WebCore::PerformanceEntryList::create):
1313         * page/PerformanceMark.h:
1314         (WebCore::PerformanceMark::create):
1315         * page/PerformanceMeasure.h:
1316         (WebCore::PerformanceMeasure::create):
1317         * page/PerformanceNavigation.h:
1318         (WebCore::PerformanceNavigation::create):
1319         * page/PerformanceResourceTiming.h:
1320         (WebCore::PerformanceResourceTiming::create):
1321         * page/PerformanceTiming.h:
1322         (WebCore::PerformanceTiming::create):
1323         * page/PerformanceUserTiming.h:
1324         (WebCore::UserTiming::create):
1325         * page/Screen.h:
1326         * page/Settings.cpp:
1327         (WebCore::Settings::create):
1328         * page/Settings.h:
1329         * page/TextIndicator.cpp:
1330         (WebCore::TextIndicator::create):
1331         * page/TextIndicator.h:
1332         * page/UserContentController.cpp:
1333         (WebCore::UserContentController::create):
1334         * page/UserContentController.h:
1335         * page/UserMessageHandlerDescriptor.h:
1336         (WebCore::UserMessageHandlerDescriptor::create):
1337         * page/UserMessageHandlersNamespace.h:
1338         * page/VisitedLinkStore.h:
1339         * page/WebKitNamespace.h:
1340         (WebCore::WebKitNamespace::create):
1341         * page/WebKitPoint.h:
1342         (WebCore::WebKitPoint::create):
1343         * page/WorkerNavigator.h:
1344         (WebCore::WorkerNavigator::create):
1345         * page/animation/ImplicitAnimation.h:
1346         (WebCore::ImplicitAnimation::create):
1347         * page/animation/KeyframeAnimation.h:
1348         * page/mac/ServicesOverlayController.h:
1349         * page/mac/ServicesOverlayController.mm:
1350         (WebCore::ServicesOverlayController::Highlight::createForSelection):
1351         (WebCore::ServicesOverlayController::Highlight::createForTelephoneNumber):
1352         * page/scrolling/ScrollingCoordinator.cpp:
1353         (WebCore::ScrollingCoordinator::create):
1354         * page/scrolling/ScrollingCoordinator.h:
1355         * page/scrolling/ScrollingStateFixedNode.cpp:
1356         (WebCore::ScrollingStateFixedNode::create):
1357         (WebCore::ScrollingStateFixedNode::clone):
1358         * page/scrolling/ScrollingStateFixedNode.h:
1359         * page/scrolling/ScrollingStateFrameScrollingNode.cpp:
1360         (WebCore::ScrollingStateFrameScrollingNode::create):
1361         (WebCore::ScrollingStateFrameScrollingNode::clone):
1362         * page/scrolling/ScrollingStateFrameScrollingNode.h:
1363         * page/scrolling/ScrollingStateNode.h:
1364         * page/scrolling/ScrollingStateOverflowScrollingNode.cpp:
1365         (WebCore::ScrollingStateOverflowScrollingNode::create):
1366         (WebCore::ScrollingStateOverflowScrollingNode::clone):
1367         * page/scrolling/ScrollingStateOverflowScrollingNode.h:
1368         * page/scrolling/ScrollingStateStickyNode.cpp:
1369         (WebCore::ScrollingStateStickyNode::create):
1370         (WebCore::ScrollingStateStickyNode::clone):
1371         * page/scrolling/ScrollingStateStickyNode.h:
1372         * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
1373         (WebCore::ScrollingCoordinator::create):
1374         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
1375         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
1376         (WebCore::ScrollingTreeFrameScrollingNodeIOS::create):
1377         * page/scrolling/ios/ScrollingTreeIOS.cpp:
1378         (WebCore::ScrollingTreeIOS::create):
1379         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1380         (WebCore::ScrollingCoordinator::create):
1381         * page/scrolling/mac/ScrollingTreeFixedNode.h:
1382         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
1383         (WebCore::ScrollingTreeFixedNode::create):
1384         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
1385         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
1386         (WebCore::ScrollingTreeFrameScrollingNodeMac::create):
1387         * page/scrolling/mac/ScrollingTreeMac.cpp:
1388         (ScrollingTreeMac::create):
1389         * page/scrolling/mac/ScrollingTreeMac.h:
1390         * page/scrolling/mac/ScrollingTreeStickyNode.h:
1391         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
1392         (WebCore::ScrollingTreeStickyNode::create):
1393
1394 2015-05-10  Simon Fraser  <simon.fraser@apple.com>
1395
1396         background-position sometimes doesn't work properly with background-attachment: fixed
1397         https://bugs.webkit.org/show_bug.cgi?id=103757
1398         rdar://problem/18749925
1399
1400         Reviewed by Darin Adler.
1401         
1402         Fix sizing issues with fixed backgrounds when top content inset (blurred toolbar) is in
1403         effect.
1404         
1405         The primary issue was that positioningAreaSize was including the top content inset
1406         height, and should not have been, but there were also issues with the "fixedBackgroundPaintsInLocalCoordinates"
1407         code path, which kicks in when the root background is fixed.
1408
1409         Tests: platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-cover-local.html
1410                platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-cover.html
1411                platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-local.html
1412                platform/mac-wk2/tiled-drawing/top-content-inset-fixed-attachment-positioned.html
1413
1414         * rendering/RenderBoxModelObject.cpp:
1415         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1416
1417 2015-05-10  Sungmann Cho  <sungmann.cho@navercorp.com>
1418
1419         Get rid of the public item accessors in BackForwardClient
1420         https://bugs.webkit.org/show_bug.cgi?id=144827
1421
1422         Reviewed by Darin Adler.
1423
1424         Remove backItem(), currentItem(), and forwardItem() from BackForwardClient.
1425         We can still use these functionalities through BackForwardController.
1426
1427         No new tests, no behavior change.
1428
1429         * history/BackForwardClient.h:
1430         (WebCore::BackForwardClient::backItem): Deleted.
1431         (WebCore::BackForwardClient::currentItem): Deleted.
1432         (WebCore::BackForwardClient::forwardItem): Deleted.
1433
1434 2015-05-10  Sungmann Cho  <sungmann.cho@navercorp.com>
1435
1436         Rename Length::isPercent() and Length::isPercentNotCalculated().
1437         https://bugs.webkit.org/show_bug.cgi?id=144791
1438
1439         Reviewed by Darin Adler.
1440
1441         1. Rename these methods as below for consistency and clarity.
1442
1443         Length::isPercentNotCalculated() => Length::isPercent()
1444         Length::isPercent() => Length::isPercentOrCalculated()
1445
1446         2. Simplify the condition check of length type in SVGLengthContext::valueForLength().
1447
1448         "length.isPercent() && !length.isCalculated()" => "length.isPercent()"
1449
1450         No new tests, no behavior change.
1451
1452         * css/CSSComputedStyleDeclaration.cpp:
1453         (WebCore::valueForImageSliceSide):
1454         (WebCore::valueForReflection):
1455         (WebCore::percentageOrZoomAdjustedValue):
1456         (WebCore::lineHeightFromStyle):
1457         (WebCore::ComputedStyleExtractor::propertyValue):
1458         * html/HTMLPlugInImageElement.cpp:
1459         (WebCore::is100Percent):
1460         * page/animation/AnimationBase.cpp:
1461         (WebCore::AnimationBase::computeTransformedExtentViaTransformList):
1462         * platform/Length.h:
1463         (WebCore::Length::percent):
1464         (WebCore::Length::isPercent):
1465         (WebCore::Length::isPercentOrCalculated):
1466         (WebCore::Length::isSpecified):
1467         (WebCore::Length::isPercentNotCalculated): Deleted.
1468         * platform/graphics/transforms/TranslateTransformOperation.h:
1469         * rendering/AutoTableLayout.cpp:
1470         (WebCore::AutoTableLayout::recalcColumn):
1471         (WebCore::AutoTableLayout::fullRecalc):
1472         (WebCore::shouldScaleColumns):
1473         (WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
1474         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
1475         (WebCore::AutoTableLayout::layout):
1476         * rendering/FixedTableLayout.cpp:
1477         (WebCore::FixedTableLayout::calcWidthArray):
1478         (WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
1479         (WebCore::FixedTableLayout::layout):
1480         * rendering/RenderBlock.cpp:
1481         (WebCore::RenderBlock::isSelfCollapsingBlock):
1482         (WebCore::RenderBlock::textIndentOffset):
1483         * rendering/RenderBox.cpp:
1484         (WebCore::RenderBox::needsPreferredWidthsRecalculation):
1485         (WebCore::RenderBox::computeLogicalHeight):
1486         (WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
1487         (WebCore::RenderBox::computePercentageLogicalHeight):
1488         (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
1489         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1490         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1491         (WebCore::RenderBox::availableLogicalHeightUsing):
1492         (WebCore::logicalWidthIsResolvable):
1493         (WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock):
1494         (WebCore::RenderBox::hasUnsplittableScrollingOverflow):
1495         (WebCore::RenderBox::layoutOverflowRectForPropagation):
1496         * rendering/RenderBoxModelObject.cpp:
1497         (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
1498         (WebCore::RenderBoxModelObject::relativePositionOffset):
1499         (WebCore::RenderBoxModelObject::computedCSSPadding):
1500         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
1501         (WebCore::RenderBoxModelObject::calculateFillTileSize):
1502         * rendering/RenderDeprecatedFlexibleBox.cpp:
1503         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
1504         (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
1505         * rendering/RenderElement.cpp:
1506         (WebCore::mustRepaintFillLayers):
1507         * rendering/RenderFileUploadControl.cpp:
1508         (WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
1509         * rendering/RenderFrameSet.cpp:
1510         (WebCore::RenderFrameSet::layOutAxis):
1511         * rendering/RenderImage.cpp:
1512         (WebCore::RenderImage::repaintOrMarkForLayout):
1513         * rendering/RenderInline.cpp:
1514         (WebCore::computeMargin):
1515         * rendering/RenderListBox.cpp:
1516         (WebCore::RenderListBox::computeIntrinsicLogicalWidths):
1517         * rendering/RenderMenuList.cpp:
1518         (RenderMenuList::computeIntrinsicLogicalWidths):
1519         * rendering/RenderObject.cpp:
1520         (WebCore::objectIsRelayoutBoundary):
1521         * rendering/RenderReplaced.cpp:
1522         (WebCore::RenderReplaced::computePreferredLogicalWidths):
1523         * rendering/RenderSlider.cpp:
1524         (WebCore::RenderSlider::computeIntrinsicLogicalWidths):
1525         * rendering/RenderTable.cpp:
1526         (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
1527         * rendering/RenderTableSection.cpp:
1528         (WebCore::RenderTableSection::layoutRows):
1529         * rendering/RenderTextControl.cpp:
1530         (WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
1531         * rendering/RenderView.cpp:
1532         (WebCore::RenderView::layout):
1533         * rendering/RootInlineBox.cpp:
1534         (WebCore::RootInlineBox::verticalPositionForBox):
1535         * rendering/style/GridLength.h:
1536         (WebCore::GridLength::isPercentage):
1537         * rendering/style/GridTrackSize.h:
1538         (WebCore::GridTrackSize::isPercentage):
1539         * rendering/style/RenderStyle.cpp:
1540         (WebCore::RenderStyle::computedLineHeight):
1541         * rendering/svg/RenderSVGRoot.cpp:
1542         (WebCore::RenderSVGRoot::hasRelativeDimensions):
1543         * svg/SVGLengthContext.cpp:
1544         (WebCore::SVGLengthContext::valueForLength):
1545         * svg/graphics/SVGImage.cpp:
1546         (WebCore::SVGImage::hasRelativeWidth):
1547         (WebCore::SVGImage::hasRelativeHeight):
1548
1549 2015-05-10  Sungmann Cho  <sungmann.cho@navercorp.com>
1550
1551         Remove unnecessary semicolons.
1552         https://bugs.webkit.org/show_bug.cgi?id=144844
1553
1554         Reviewed by Darin Adler.
1555
1556         No new tests, no behavior change.
1557
1558         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1559         (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
1560         * platform/ios/PasteboardIOS.mm:
1561         (WebCore::Pasteboard::readString):
1562         * platform/mediastream/RealtimeMediaSourceCapabilities.h:
1563         (WebCore::RealtimeMediaSourceCapabilities::setHasVideoSource):
1564         * platform/network/mac/ResourceErrorMac.mm:
1565         (WebCore::ResourceError::nsError):
1566         * rendering/RenderThemeIOS.mm:
1567         (WebCore::getSharedFunctionRef):
1568
1569 2015-05-10  Sungmann Cho  <sungmann.cho@navercorp.com>
1570
1571         Remove unnecessary forward declarations in StyleProperties.h
1572         https://bugs.webkit.org/show_bug.cgi?id=144843
1573
1574         Reviewed by Darin Adler.
1575
1576         No new tests, no behavior change.        
1577
1578         * css/StyleProperties.h:
1579
1580 2015-05-10  Darin Adler  <darin@apple.com>
1581
1582         [Cocoa] Fix paths and resort WebCore project file
1583         https://bugs.webkit.org/show_bug.cgi?id=144838
1584
1585         Reviewed by Dan Bernstein.
1586
1587         * WebCore.xcodeproj/project.pbxproj: Re-sorted this file with the
1588         sort-Xcode-project-file script and fixed the paths in the platform/ios directory.
1589
1590 2015-05-10  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet <youenn.fablet@crf.canon.fr>
1591
1592         [Streams API] Refactor ReadableStreamReader close promise callback cleaning
1593         https://bugs.webkit.org/show_bug.cgi?id=144799
1594
1595         Reviewed by Darin Adler.
1596
1597         Moved close callback cleaning to releaseStream, which is now releaseStreamAndClean.
1598         Moved that method to private as it is no longer needed by subclasses.
1599
1600         No behavior changes.
1601
1602         * Modules/streams/ReadableStreamReader.cpp:
1603         (WebCore::ReadableStreamReader::releaseStreamAndClean):
1604         (WebCore::ReadableStreamReader::changeStateToClosed):
1605         (WebCore::ReadableStreamReader::changeStateToErrored):
1606         * Modules/streams/ReadableStreamReader.h:
1607
1608 2015-05-10  Darin Adler  <darin@apple.com>
1609
1610         [Cocoa] Don't soft link DataDetectorsCore
1611         https://bugs.webkit.org/show_bug.cgi?id=144837
1612
1613         Reviewed by Dan Bernstein.
1614
1615         Linking this in the normal way should slightly speed up the web process
1616         startup time. We don't need to soft link it: It's present in the
1617         OS X base system and there is no reference cycle with WebKit.
1618
1619         * Configurations/WebCore.xcconfig: Added PrivateFrameworks to
1620         FRAMEWORK_SEARCH_PATHS for Mac and added DataDetectorsCore to
1621         OTHER_LDFLAGS_PLATFORM for Mac. We may want to do this later for iOS too.
1622
1623         * WebCore.xcodeproj/project.pbxproj: Added DataDetectorsCoreSPI.h.
1624
1625         * editing/mac/DataDetection.mm:
1626         (WebCore::DataDetection::detectItemAroundHitTestResult): Removed check to see
1627         if DataDetectorsCore is available.
1628
1629         * page/mac/ServicesOverlayController.h: Simplified a forward declaration to
1630         only declare what we actually use.
1631         * page/mac/ServicesOverlayController.mm: Moved SOFT_LINK from here to the
1632         DataDetectorsSPI.h header.
1633
1634         * platform/spi/cocoa/DataDetectorsCoreSPI.h: Added. This is the low level
1635         DataDetectorsCore framework, which has no reference cycle with WebKit, and
1636         which we can link to normally. Moved the content here from DataDetectorsSPI.h,
1637         added a USE(APPLE_INTERNAL_SDK) path that uses the system headers, and fixed
1638         the incorrect return type on DDScannerScanQuery, which was detected when
1639         using the system headers in conjunction with this file.
1640
1641         * platform/spi/mac/DataDetectorsSPI.h: Removed the content of this file that
1642         was actually about DataDetectorsCore. Also added a USE(APPLE_INTERNAL_SDK)
1643         path that uses the system headers and moved a few stray DataDetectors SPI
1644         definitions from elsewhere into this header.
1645
1646 2015-05-10  Chris Fleizach  <cfleizach@apple.com>
1647
1648         AX: Don't expose elements as data tables just because they use display: table
1649         https://bugs.webkit.org/show_bug.cgi?id=144804
1650
1651         Reviewed by Mario Sanchez Prada.
1652
1653         Elements will create RenderTable objects if they have display:table. We shouldn't assume these are accessibility tables.
1654
1655         Test: accessibility/css-table-ignored.html
1656
1657         * accessibility/AccessibilityTable.cpp:
1658         (WebCore::AccessibilityTable::isDataTable):
1659
1660 2015-05-09  Chris Dumez  <cdumez@apple.com>
1661
1662         Introduce ParentNode.idl / NonDocumentTypeChildNode.idl
1663         https://bugs.webkit.org/show_bug.cgi?id=144825
1664
1665         Reviewed by Sam Weinig.
1666
1667         Introduce ParentNode.idl / NonDocumentTypeChildNode.idl as per DOM
1668         specification and to avoid IDL code duplication:
1669         - https://dom.spec.whatwg.org/#interface-parentnode
1670         - https://dom.spec.whatwg.org/#interface-nondocumenttypechildnode
1671
1672         No Web-Exposed behavior change.
1673
1674         * CMakeLists.txt:
1675         * DerivedSources.make:
1676         * WebCore.xcodeproj/project.pbxproj:
1677         * dom/CharacterData.idl:
1678         * dom/Document.idl:
1679         * dom/DocumentFragment.idl:
1680         * dom/Element.idl:
1681         * dom/NonDocumentTypeChildNode.idl: Copied from Source/WebCore/dom/DocumentFragment.idl.
1682         * dom/ParentNode.idl: Copied from Source/WebCore/dom/DocumentFragment.idl.
1683
1684 2015-05-09  Chris Dumez  <cdumez@apple.com>
1685
1686         Invalidate the FontCache on WebProcess suspension / critical memory pressure
1687         https://bugs.webkit.org/show_bug.cgi?id=144821
1688
1689         Reviewed by Antti Koivisto.
1690
1691         Invalidate the FontCache on WebProcess suspension / critical memory
1692         pressure to free a bit more memory (an extra 4-16Kb per WebProcess on
1693         the pages I tested). We already purge inactive font data on
1694         non-critical memory warning but invalidating the whole FontCache takes
1695         care of clearing the FontCascade cache and the fontPlatformData cache
1696         as well.
1697
1698         * platform/MemoryPressureHandler.cpp:
1699         (WebCore::MemoryPressureHandler::releaseCriticalMemory):
1700
1701 2015-05-09  Yoav Weiss  <yoav@yoav.ws>
1702
1703         Remove the PICTURE_SIZES build flag
1704         https://bugs.webkit.org/show_bug.cgi?id=144679
1705
1706         Reviewed by Benjamin Poulain.
1707
1708         Removed the PICTURE_SIZES build time flag.
1709
1710         No new tests, since there's no functionality change.
1711
1712         * Configurations/FeatureDefines.xcconfig:
1713         * css/CSSGrammar.y.in:
1714         * css/CSSParser.cpp:
1715         (WebCore::CSSParser::detectAtToken):
1716         * css/CSSParser.h:
1717         * css/SourceSizeList.cpp:
1718         (WebCore::parseSizesAttribute): Deleted.
1719         * html/HTMLImageElement.cpp:
1720         (WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate):
1721         * html/HTMLImageElement.h:
1722         (WebCore::HTMLImageElement::currentSrc):
1723         * html/HTMLImageElement.idl:
1724         * html/parser/HTMLPreloadScanner.cpp:
1725         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
1726         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
1727         * html/parser/HTMLSrcsetParser.cpp:
1728         (WebCore::parseDescriptors):
1729         (WebCore::pickBestImageCandidate):
1730
1731 2015-05-08  Myles C. Maxfield  <mmaxfield@apple.com>
1732
1733         Remove convenience constructors for TextRun
1734         https://bugs.webkit.org/show_bug.cgi?id=144752
1735
1736         These convenience constructors are unnecessary. Moving the code that makes the StringView
1737         back to the call site will also help us make things more elegant in future refactoring.
1738
1739         Reviewed by Darin Adler.
1740
1741         No new tests because there is no behavior change.
1742
1743         * css/CSSPrimitiveValue.cpp:
1744         (WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText): Remove ambiguous call.
1745         * platform/graphics/StringTruncator.cpp:
1746         (WebCore::stringWidth):
1747         * platform/graphics/TextRun.h:
1748         (WebCore::TextRun::TextRun):
1749         * platform/mac/DragImageMac.mm:
1750         (WebCore::widthWithFont):
1751         (WebCore::drawAtPoint):
1752         * rendering/SimpleLineLayout.cpp:
1753         (WebCore::SimpleLineLayout::canUseFor):
1754         * rendering/SimpleLineLayoutTextFragmentIterator.cpp:
1755         (WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
1756         (WebCore::SimpleLineLayout::TextFragmentIterator::runWidth):
1757         * rendering/TextPainter.cpp:
1758         (WebCore::TextPainter::paintText):
1759
1760 2015-05-08  Sam Weinig  <sam@webkit.org>
1761
1762         Element Traversal is not just Elements anymore
1763         https://bugs.webkit.org/show_bug.cgi?id=144822
1764
1765         Reviewed by Simon Fraser.
1766
1767         Match other browsers and the new DOM spec at https://dom.spec.whatwg.org by
1768         exposing the element traversal methods on non-Elements.
1769
1770         - Makes firstElementChild, lastElementChild and childElementCount available on
1771           Document and DocumentFragment in addition to Element.
1772         - Makes nextElementSibling and previousElementSibling available on CharacterData
1773           in addition to Element.
1774
1775         Tests: fast/dom/element-traversal-on-character-data.html
1776                fast/dom/element-traversal-on-document-fragment.html
1777                fast/dom/element-traversal-on-document.html
1778
1779         * dom/CharacterData.idl:
1780         Expose nextElementSibling and previousElementSibling.
1781
1782         * dom/ContainerNode.cpp:
1783         (WebCore::ContainerNode::firstElementChild):
1784         (WebCore::ContainerNode::lastElementChild):
1785         (WebCore::ContainerNode::childElementCount):
1786         * dom/ContainerNode.h:
1787         Move implementations of firstElementChild, lastElementChild and childElementCount here
1788         from Element to make them shareable.
1789
1790         * dom/Document.idl:
1791         * dom/DocumentFragment.idl:
1792         Expose firstElementChild, lastElementChild and childElementCount.
1793
1794         * dom/Element.cpp:
1795         (WebCore::Element::firstElementChild): Deleted.
1796         (WebCore::Element::lastElementChild): Deleted.
1797         (WebCore::Element::previousElementSibling): Deleted.
1798         (WebCore::Element::nextElementSibling): Deleted.
1799         (WebCore::Element::childElementCount): Deleted.
1800         * dom/Element.h:
1801         Move element traversal functions down to Node and ContainerNode.
1802
1803         * dom/Element.idl:
1804         Update comments to indicate where these functions are defined now.
1805
1806         * dom/Node.cpp:
1807         (WebCore::Node::previousElementSibling):
1808         (WebCore::Node::nextElementSibling):
1809         * dom/Node.h:
1810         Move implementations of nextElementSibling and previousElementSibling here
1811         from Element to make them shareable.
1812
1813 2015-05-08  Michael Catanzaro  <mcatanzaro@igalia.com>, Martin Robinson <mrobinson@igalia.com>
1814
1815         [GTK] Checks for DEVELOPMENT_BUILD are all wrong
1816         https://bugs.webkit.org/show_bug.cgi?id=144746
1817
1818         Reviewed by Carlos Garcia Campos.
1819
1820         Use ENABLE(DEVELOPER_MODE) rather than DEVELOPMENT_BUILD.
1821
1822         * platform/gtk/GtkUtilities.cpp:
1823         * platform/gtk/GtkUtilities.h:
1824         * platform/text/gtk/HyphenationLibHyphen.cpp:
1825         (WebCore::availableLocales):
1826
1827 2015-05-08  Alexey Proskuryakov  <ap@apple.com>
1828
1829         Crashes in SocketStreamHandleBase::close
1830         https://bugs.webkit.org/show_bug.cgi?id=144767
1831         rdar://problem/20486538
1832
1833         Reviewed by Brady Eidson.
1834
1835         This is a speculative fix, I could not reproduce the crash.
1836
1837         * Modules/websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::processFrame):
1838         Normally, processOutgoingFrameQueue() closes the handle in the end when called in
1839         OutgoingFrameQueueClosing state. But there is no definitive protection against
1840         processing two CLOSE frames, in which case we'd try to close the handle twice.
1841
1842         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1843         (WebCore::SocketStreamHandle::readStreamCallback): Passing empty data to the client
1844         results in the socket being closed, which makes no sense here.
1845
1846 2015-05-08  Commit Queue  <commit-queue@webkit.org>
1847
1848         Unreviewed, rolling out r183996.
1849         https://bugs.webkit.org/show_bug.cgi?id=144806
1850
1851         ASan detected use-after free (Requested by ap on #webkit).
1852
1853         Reverted changeset:
1854
1855         "Remove convenience constructors for TextRun"
1856         https://bugs.webkit.org/show_bug.cgi?id=144752
1857         http://trac.webkit.org/changeset/183996
1858
1859 2015-05-08  Eric Carlson  <eric.carlson@apple.com>
1860
1861         [Mac] Playback target clients do not unregister on page reload
1862         https://bugs.webkit.org/show_bug.cgi?id=144761
1863
1864         Reviewed by Brady Eidson.
1865
1866         * dom/Document.cpp:
1867         (WebCore::Document::prepareForDestruction): Unregister all target picker clients.
1868
1869         * html/HTMLMediaElement.cpp:
1870         (WebCore::HTMLMediaElement::registerWithDocument): Register for page cache callback.
1871         (WebCore::HTMLMediaElement::unregisterWithDocument): Unregister for page cache callback.
1872         (WebCore::HTMLMediaElement::documentWillSuspendForPageCache): New.
1873         (WebCore::HTMLMediaElement::documentDidResumeFromPageCache): New.
1874
1875 2015-05-08  Chris Dumez  <cdumez@apple.com>
1876
1877         Throttle RequestAnimationFrame in subframes that are outside the viewport
1878         https://bugs.webkit.org/show_bug.cgi?id=144718
1879         <rdar://problem/20688782>
1880
1881         Reviewed by Simon Fraser.
1882
1883         Throttle RequestAnimationFrame in subframes that are outside the
1884         viewport or have "display: none" for performance and power.
1885
1886         Tests: fast/animation/request-animation-frame-throttle-subframe-display-none.html
1887                fast/animation/request-animation-frame-throttle-subframe.html
1888
1889         * dom/Document.h:
1890         (WebCore::Document::scriptedAnimationController):
1891         * dom/ScriptedAnimationController.cpp:
1892         (WebCore::ScriptedAnimationController::setThrottled):
1893         (WebCore::ScriptedAnimationController::isThrottled):
1894         * dom/ScriptedAnimationController.h:
1895         * loader/FrameLoader.cpp:
1896         (WebCore::FrameLoader::open):
1897         Call FrameView::setFrameRect() only *after* the view has been
1898         set on the Frame. Otherwise, setFrameRect() ends up calling
1899         viewportContentsChanged() and we hit the
1900         ASSERT(frame().view() == this) assertion in windowClipRect()
1901         because the Frame still has its old FrameView. This is covered
1902         by loader/go-back-to-different-window-size.html layout test.
1903
1904         * page/FrameView.cpp:
1905         (WebCore::FrameView::viewportContentsChanged):
1906         (WebCore::FrameView::applyRecursivelyWithVisibleRect):
1907         (WebCore::FrameView::resumeVisibleImageAnimations):
1908         (WebCore::FrameView::updateScriptedAnimationsThrottlingState):
1909         (WebCore::FrameView::resumeVisibleImageAnimationsIncludingSubframes):
1910         (WebCore::FrameView::updateThrottledDOMTimersState):
1911         (WebCore::FrameView::scrollPositionChanged): Deleted.
1912         (WebCore::FrameView::sendResizeEventIfNeeded): Deleted.
1913         * page/FrameView.h:
1914         * testing/Internals.cpp:
1915         (WebCore::Internals::isRequestAnimationFrameThrottled):
1916         (WebCore::Internals::isTimerThrottled): Deleted.
1917         * testing/Internals.h:
1918         * testing/Internals.idl:
1919
1920 2015-05-08  Daniel Bates  <dabates@apple.com>
1921
1922         Fix the iOS Simulator external SDK build following <http://trac.webkit.org/changeset/181918>
1923
1924         Remove unused iOS Simulator-variant of CARenderServerRenderLayerWithTransform(). Also guard
1925         IOSurfaceRef-variant of CARenderServerRenderLayerWithTransform() with USE(IOSURFACE)
1926         since it is only applicable on platforms that use IOSurface.
1927
1928         * platform/spi/cocoa/QuartzCoreSPI.h:
1929
1930 2015-05-08  Myles C. Maxfield  <mmaxfield@apple.com>
1931
1932         Remove convenience constructors for TextRun
1933         https://bugs.webkit.org/show_bug.cgi?id=144752
1934
1935         These convenience constructors are unnecessary. Moving the code that makes the StringView
1936         back to the call site will also help us make things more elegant in future refactoring.
1937
1938         Reviewed by Darin Adler.
1939
1940         No new tests because there is no behavior change.
1941
1942         * css/CSSPrimitiveValue.cpp:
1943         (WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText): Remove ambiguous call.
1944         * platform/graphics/StringTruncator.cpp:
1945         (WebCore::stringWidth):
1946         * platform/graphics/TextRun.h:
1947         (WebCore::TextRun::TextRun):
1948         * platform/mac/DragImageMac.mm:
1949         (WebCore::widthWithFont):
1950         (WebCore::drawAtPoint):
1951         * rendering/SimpleLineLayout.cpp:
1952         (WebCore::SimpleLineLayout::canUseFor):
1953         * rendering/SimpleLineLayoutTextFragmentIterator.cpp:
1954         (WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
1955         (WebCore::SimpleLineLayout::TextFragmentIterator::runWidth):
1956         * rendering/TextPainter.cpp:
1957         (WebCore::TextPainter::paintText):
1958
1959 2015-05-08  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet <youenn.fablet@crf.canon.fr>
1960
1961         [Streams API] ReadableStream constructor start function should be able to error the stream
1962         https://bugs.webkit.org/show_bug.cgi?id=141162
1963
1964         Reviewed by Darin Adler.
1965
1966         This patch implements the functionality of the ReadableStreamController error function.
1967         It basically changes the state of the stream to errored, resolves the ready promise and rejects the closed promise.
1968         Adding support to reject promise with any JSValue.
1969
1970         Support for storing the error is added to both reader and stream.
1971
1972         Test: streams/readable-stream-controller-error.html and rebased tests
1973
1974         * Modules/streams/ReadableStream.cpp:
1975         (WebCore::ReadableStream::changeStateToErrored):
1976         * Modules/streams/ReadableStream.h:
1977         * Modules/streams/ReadableStreamReader.cpp:
1978         (WebCore::ReadableStreamReader::initialize):
1979         (WebCore::ReadableStreamReader::closed):
1980         (WebCore::ReadableStreamReader::changeStateToClosed):
1981         (WebCore::ReadableStreamReader::changeStateToErrored):
1982         * Modules/streams/ReadableStreamReader.h:
1983         * bindings/js/JSDOMPromise.h:
1984         (WebCore::DeferredWrapper::reject):
1985         * bindings/js/JSReadableStreamControllerCustom.cpp:
1986         (WebCore::JSReadableStreamController::error):
1987         * bindings/js/JSReadableStreamReaderCustom.cpp:
1988         (WebCore::JSReadableStreamReader::closed):
1989         * bindings/js/ReadableJSStream.cpp:
1990         (WebCore::ReadableJSStream::createReader):
1991         (WebCore::ReadableJSStream::storeError):
1992         (WebCore::ReadableJSStream::Reader::storeError):
1993         (WebCore::ReadableJSStream::jsController): Deleted.
1994         * bindings/js/ReadableJSStream.h:
1995
1996 2015-05-08  Commit Queue  <commit-queue@webkit.org>
1997
1998         Unreviewed, rolling out r183985.
1999         https://bugs.webkit.org/show_bug.cgi?id=144796
2000
2001         broke loader/go-back-to-different-window-size.html (Requested
2002         by kling on #webkit).
2003
2004         Reverted changeset:
2005
2006         "Throttle RequestAnimationFrame in subframes that are outside
2007         the viewport"
2008         https://bugs.webkit.org/show_bug.cgi?id=144718
2009         http://trac.webkit.org/changeset/183985
2010
2011 2015-05-08  Youenn Fablet  <youenn.fablet@crf.canon.fr>
2012
2013         SharedBuffer::m_size should be initialized to 0 when defining it
2014         https://bugs.webkit.org/show_bug.cgi?id=144740
2015
2016         Reviewed by Darin Adler.
2017
2018         Setting m_size to 0 when declaring it and updating constructor definitions.
2019
2020         No change in behaviour.
2021
2022         * platform/SharedBuffer.cpp:
2023         (WebCore::SharedBuffer::SharedBuffer):
2024         * platform/SharedBuffer.h:
2025         * platform/cf/SharedBufferCF.cpp:
2026         (WebCore::SharedBuffer::SharedBuffer):
2027         * platform/soup/SharedBufferSoup.cpp:
2028         (WebCore::SharedBuffer::SharedBuffer):
2029
2030 2015-05-08  Commit Queue  <commit-queue@webkit.org>
2031
2032         Unreviewed, rolling out r183945.
2033         https://bugs.webkit.org/show_bug.cgi?id=144789
2034
2035         "It broke all the GTK+ tests" (Requested by KaL on #webkit).
2036
2037         Reverted changeset:
2038
2039         "[GTK] Checks for DEVELOPMENT_BUILD are all wrong"
2040         https://bugs.webkit.org/show_bug.cgi?id=144746
2041         http://trac.webkit.org/changeset/183945
2042
2043 2015-05-07  Chris Dumez  <cdumez@apple.com>
2044
2045         Throttle RequestAnimationFrame in subframes that are outside the viewport
2046         https://bugs.webkit.org/show_bug.cgi?id=144718
2047         <rdar://problem/20688782>
2048
2049         Reviewed by Simon Fraser.
2050
2051         Throttle RequestAnimationFrame in subframes that are outside the
2052         viewport or have "display: none" for performance and power.
2053
2054         Tests: fast/animation/request-animation-frame-throttle-subframe-display-none.html
2055                fast/animation/request-animation-frame-throttle-subframe.html
2056
2057         * dom/Document.h:
2058         (WebCore::Document::scriptedAnimationController):
2059         * dom/ScriptedAnimationController.cpp:
2060         (WebCore::ScriptedAnimationController::setThrottled):
2061         (WebCore::ScriptedAnimationController::isThrottled):
2062         * dom/ScriptedAnimationController.h:
2063         * page/FrameView.cpp:
2064         (WebCore::FrameView::viewportContentsChanged):
2065         (WebCore::FrameView::applyRecursivelyWithVisibleRect):
2066         (WebCore::FrameView::resumeVisibleImageAnimations):
2067         (WebCore::FrameView::updateScriptedAnimationsThrottlingState):
2068         (WebCore::FrameView::resumeVisibleImageAnimationsIncludingSubframes):
2069         (WebCore::FrameView::updateThrottledDOMTimersState):
2070         (WebCore::FrameView::scrollPositionChanged): Deleted.
2071         (WebCore::FrameView::sendResizeEventIfNeeded): Deleted.
2072         * page/FrameView.h:
2073         * testing/Internals.cpp:
2074         (WebCore::Internals::isRequestAnimationFrameThrottled):
2075         (WebCore::Internals::isTimerThrottled): Deleted.
2076         * testing/Internals.h:
2077         * testing/Internals.idl:
2078
2079 2015-05-07  Yoav Weiss  <yoav@yoav.ws>
2080
2081         Calculate source-size length as a float
2082         https://bugs.webkit.org/show_bug.cgi?id=144766
2083
2084         Reviewed by Dean Jackson.
2085
2086         Make sure that the source-size length is calculated as a float,
2087         to align with the spec.
2088
2089         Test: fast/dom/HTMLImageElement/sizes/image-sizes-1x.html
2090               fast/dom/HTMLImageElement/sizes/image-sizes-2x.html
2091
2092         * css/SourceSizeList.cpp:
2093         (WebCore::parseSizesAttribute):
2094         (WebCore::defaultLength):
2095         (WebCore::computeLength):
2096         * css/SourceSizeList.h:
2097         * html/HTMLImageElement.cpp:
2098         (WebCore::HTMLImageElement::parseAttribute):
2099         * html/parser/HTMLPreloadScanner.cpp:
2100         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
2101         * html/parser/HTMLSrcsetParser.cpp:
2102         (WebCore::pickBestImageCandidate):
2103         (WebCore::bestFitSourceForImageAttributes):
2104         * html/parser/HTMLSrcsetParser.h:
2105
2106 2015-05-07  Commit Queue  <commit-queue@webkit.org>
2107
2108         Unreviewed, rolling out r183895.
2109         https://bugs.webkit.org/show_bug.cgi?id=144786
2110
2111         Many tests became flaky (Requested by ap on #webkit).
2112
2113         Reverted changeset:
2114
2115         "Expose more font weights for -apple-system"
2116         https://bugs.webkit.org/show_bug.cgi?id=144707
2117         http://trac.webkit.org/changeset/183895
2118
2119 2015-05-07  Hyungwook Lee  <hyungwook.lee@navercorp.com>
2120
2121         Add first-letter assert exception in RenderButton::setupInnerStyle().
2122         https://bugs.webkit.org/show_bug.cgi?id=140517OB
2123
2124         Reviewed by Darin Adler.
2125
2126         StyleResolver references inner block's render style temporary in
2127         RenderBlock::styleDidChange() when we have first-letter css pseudo
2128         element.
2129
2130         * rendering/RenderButton.cpp:
2131         (WebCore::RenderButton::setupInnerStyle):
2132
2133 2015-05-07  Chris Dumez  <cdumez@apple.com>
2134
2135         Unreviewed, fix build after r183970.
2136
2137         WEBCORE_EXPORT should not be used on inlined functions.
2138
2139         * platform/graphics/ca/GraphicsLayerCA.h:
2140
2141 2015-05-07  Anders Carlsson  <andersca@apple.com>
2142
2143         Build fixes.
2144
2145         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2146         (-[WebAccessibilityObjectWrapper doAXRTFForRange:]):
2147         * editing/cocoa/HTMLConverter.mm:
2148         (HTMLConverter::_addMarkersToList):
2149         * platform/mac/PasteboardMac.mm:
2150         (WebCore::writeFileWrapperAsRTFDAttachment):
2151         * platform/mac/PlatformPasteboardMac.mm:
2152         (WebCore::PlatformPasteboard::setTypes):
2153         Pass empty arrays and dictionaries instead of nil.
2154
2155         * rendering/RenderThemeMac.mm:
2156         (WebCore::RenderThemeMac::paintSliderThumb):
2157         Pass the document view to the AppKit paint method.
2158
2159 2015-05-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2160
2161         Purge PassRefPtr in WebCore/html - 3
2162         https://bugs.webkit.org/show_bug.cgi?id=144686
2163
2164         Reviewed by Andreas Kling.
2165
2166         Replace PassRefPtr with Ref in create() factory functions, because
2167         it doesn't have to change to be null.
2168
2169         No new tests, no behavior changes.
2170
2171         * html/FTPDirectoryDocument.h:
2172         * html/HTMLDetailsElement.cpp:
2173         (WebCore::DetailsContentElement::create):
2174         * html/HTMLKeygenElement.cpp:
2175         * html/HTMLSummaryElement.cpp:
2176         (WebCore::SummaryContentElement::create):
2177         * html/TimeRanges.cpp:
2178         (WebCore::TimeRanges::create):
2179         * html/shadow/SliderThumbElement.cpp:
2180         (WebCore::SliderContainerElement::create):
2181         * html/shadow/SliderThumbElement.h:
2182         (WebCore::SliderThumbElement::create):
2183         * html/shadow/SpinButtonElement.cpp:
2184         (WebCore::SpinButtonElement::create):
2185         * html/shadow/SpinButtonElement.h:
2186         * html/shadow/TextControlInnerElements.cpp:
2187         (WebCore::TextControlInnerContainer::create):
2188         (WebCore::TextControlInnerElement::create):
2189         (WebCore::TextControlInnerTextElement::create):
2190         (WebCore::SearchFieldResultsButtonElement::create):
2191         (WebCore::SearchFieldCancelButtonElement::create):
2192         * html/shadow/TextControlInnerElements.h:
2193         * html/shadow/YouTubeEmbedShadowElement.cpp:
2194         (WebCore::YouTubeEmbedShadowElement::create):
2195         * html/track/InbandDataTextTrack.cpp:
2196         (WebCore::InbandDataTextTrack::create):
2197         * html/track/InbandDataTextTrack.h:
2198         * html/track/InbandGenericTextTrack.cpp:
2199         (WebCore::InbandGenericTextTrack::create):
2200         * html/track/InbandGenericTextTrack.h:
2201         * html/track/InbandWebVTTTextTrack.cpp:
2202         (WebCore::InbandWebVTTTextTrack::create):
2203         * html/track/InbandWebVTTTextTrack.h:
2204         * html/track/LoadableTextTrack.h:
2205         * html/track/TextTrack.h:
2206         (WebCore::TextTrack::create):
2207         * html/track/TextTrackCueGeneric.cpp:
2208         * html/track/TextTrackCueGeneric.h:
2209         * html/track/TextTrackList.h:
2210         * html/track/VTTRegionList.h:
2211         (WebCore::VTTRegionList::create):
2212
2213 2015-05-07  Dean Jackson  <dino@apple.com>
2214
2215         [iOS] MediaControls: disappear while scrubbing
2216         https://bugs.webkit.org/show_bug.cgi?id=144777
2217         <rdar://problem/20065572>
2218
2219         Reviewed by Eric Carlson.
2220
2221         If we are scrubbing we shouldn't hide the controls.
2222
2223         * Modules/mediacontrols/mediaControlsApple.js:
2224         (Controller.prototype.hideControls): Return early if we are scrubbing.
2225         * Modules/mediacontrols/mediaControlsiOS.js:
2226         (ControllerIOS.prototype): Add initial value for _potentiallyScrubbing and
2227         rename from non-underscored value throughout the file.
2228         (ControllerIOS.prototype.handleTimelineTouchEnd): When we finish scrubbing, reset
2229         the timer to hide the controls.
2230
2231 2015-05-07  Simon Fraser  <simon.fraser@apple.com>
2232
2233         REGRESSION (r183300): Fixed elements flash when scrolling
2234         https://bugs.webkit.org/show_bug.cgi?id=144778
2235         rdar://problem/20769741
2236
2237         Reviewed by Dean Jackson.
2238
2239         After r183300 we can detached layer backing store when outside the coverage region.
2240         However, position:fixed layers are moved around by the ScrollingCoordinator behind
2241         GraphicsLayer's back, so we can do layer flushes with stale information about layer
2242         geometry.
2243         
2244         To avoid dropping backing store for layers in this situation, prevent backing
2245         store detachment on layers registered with the ScrollingCoordinator as viewport-constrained
2246         layers. Preventing detachment on a layer also prevents detachment on all descendant
2247         layers.
2248
2249         * platform/graphics/GraphicsLayer.h:
2250         (WebCore::GraphicsLayer::setAllowsBackingStoreDetachment):
2251         (WebCore::GraphicsLayer::allowsBackingStoreDetachment):
2252         * platform/graphics/ca/GraphicsLayerCA.cpp:
2253         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
2254         (WebCore::GraphicsLayerCA::setVisibleAndCoverageRects): Set m_intersectsCoverageRect to true
2255         if backing store detachment is prevented.
2256         (WebCore::GraphicsLayerCA::recursiveCommitChanges): Set a bit in the CommitState to 
2257         communicate to descendants that detachment is prevented.
2258         * platform/graphics/ca/GraphicsLayerCA.h:
2259         (WebCore::GraphicsLayerCA::CommitState::CommitState): Deleted.
2260         * rendering/RenderLayerBacking.cpp:
2261         (WebCore::RenderLayerBacking::setIsScrollCoordinatedWithViewportConstrainedRole):
2262         * rendering/RenderLayerBacking.h:
2263         (WebCore::RenderLayerBacking::setScrollingNodeIDForRole): If registering with a non-zero
2264         nodeID for the ViewportConstrained role, turn off backing store detachment.
2265
2266 2015-05-07  Sam Weinig  <sam@webkit.org>
2267
2268         Consider implementing Document.scrollingElement
2269         <rdar://problem/20845213>
2270         https://bugs.webkit.org/show_bug.cgi?id=143609
2271
2272         Reviewed by Simon Fraser.
2273
2274         Add the non-compliant implementation of Document.scrollingElement that the spec,
2275         found at http://dev.w3.org/csswg/cssom-view/#dom-document-scrollingelement, 
2276         says we should have while we have non-compliant implementations of Element.scrollTop
2277         and Element.scrollLeft (fixing that is tracked by https://bugs.webkit.org/show_bug.cgi?id=106133).
2278
2279         Tests: fast/dom/Document/scrollingElement-quirks-mode.html
2280                fast/dom/Document/scrollingElement-standards-mode.html
2281
2282         * dom/Document.cpp:
2283         (WebCore::Document::scrollingElement):
2284         * dom/Document.h:
2285         * dom/Document.idl:
2286
2287 2015-05-07  Dean Jackson  <dino@apple.com>
2288
2289         [iOS] While scrubbing and holding down, video continues to play
2290         https://bugs.webkit.org/show_bug.cgi?id=144776
2291         <rdar://problem/20863757>
2292
2293         Reviewed by Simon Fraser.
2294
2295         When we are scrubbing a video, we should pause playback. As we
2296         let go of the scrubber playback can resume (but only if it was
2297         playing originally).
2298
2299         * Modules/mediacontrols/mediaControlsiOS.js:
2300         (ControllerIOS.prototype.createControls): Listen for touchstart on the scrubber.
2301         (ControllerIOS.prototype.handleTimelineInput): Call the prototype, but pause if necessary.
2302         (ControllerIOS.prototype.handleTimelineChange): Just moved this to be with the other timeline functions.
2303         (ControllerIOS.prototype.handleTimelineTouchStart): Add the listeners for end and cancel. Remember that we are
2304         potentially about to scrub.
2305         (ControllerIOS.prototype.handleTimelineTouchEnd): Remove the listeners.
2306
2307 2015-05-07  Said Abou-Hallawa  <sabouhallawa@apple.com>
2308
2309         Applying a filter on an SVG element, which is larger than 4096 pixels, causes this element to be rendered shifted to the left
2310         https://bugs.webkit.org/show_bug.cgi?id=144335
2311
2312         Reviewed by Daniel Bates.
2313
2314         Address comments raised by Darin Adler in review.
2315
2316         * platform/graphics/ImageBuffer.cpp:
2317         (WebCore::ImageBuffer::sizeNeedsClamping):
2318         (WebCore::ImageBuffer::clampedSize):
2319         (WebCore::ImageBuffer::isSizeClamped): Deleted.
2320         * platform/graphics/ImageBuffer.h:
2321         The condition for the negative width/height in isSizeClamped() was wrong. Use
2322         FloatSize::isEmpty() instead and rename the function to sizeNeedsClamping().
2323         The new function should return the opposite of the old function return value.
2324         
2325         * platform/graphics/filters/FilterEffect.cpp:
2326         (WebCore::FilterEffect::apply):
2327         (WebCore::FilterEffect::asUnmultipliedImage):
2328         (WebCore::FilterEffect::asPremultipliedImage):
2329         (WebCore::FilterEffect::copyUnmultipliedImage):
2330         (WebCore::FilterEffect::copyPremultipliedImage):
2331         (WebCore::FilterEffect::createUnmultipliedImageResult):
2332         (WebCore::FilterEffect::createPremultipliedImageResult):
2333         * rendering/FilterEffectRenderer.cpp:
2334         (WebCore::FilterEffectRenderer::updateBackingStoreRect):
2335         (WebCore::FilterEffectRendererHelper::beginFilterEffect):
2336         * rendering/svg/RenderSVGResourceFilter.cpp:
2337         (WebCore::RenderSVGResourceFilter::applyResource):
2338         Call the new function and negate the condition for the return value.
2339
2340 2015-05-07  Anders Carlsson  <andersca@apple.com>
2341
2342         Build fix.
2343
2344         * editing/mac/EditorMac.mm:
2345         (WebCore::dataInRTFDFormat):
2346         (WebCore::dataInRTFFormat):
2347
2348 2015-05-07  Said Abou-Hallawa  <sabouhallawa@apple.com>
2349
2350         Applying a filter on an SVG element, which is larger than 4096 pixels, causes this element to be rendered shifted to the left
2351         https://bugs.webkit.org/show_bug.cgi?id=144335
2352
2353         Reviewed by Darin Adler.
2354
2355         When the SVG element is larger than 4096x4096 pixels and it has a filter,
2356         a clipper or a masker, the ImageBuffer which is created for drawing the
2357         sourceGraphicBuffer has to be clamped to this size. The reason for this
2358         clamping is the FilterEffect simply ignores processing any ImageBuffer
2359         larger than this size.
2360         
2361         The bug was happening because we did not propagate the clamping logic to
2362         the FilterEffect. The FilterEffect result ImageBuffer was not clamped as
2363         what we do for drawing the sourceGraphicBuffer. If only the destination
2364         point is specified, the GraphicsContext::drawImageBuffer() assumes the
2365         source and the destination images have the same size which is not true
2366         with the clamping.
2367         
2368         The fix is to add the clamping logic to the FilterEffect. Two places we
2369         need to change. (1) FilterEffect::createImageBufferResult() has to apply
2370         the same clamping we do in SVGRenderingContext::createImageBuffer(). (2)
2371         FilterEffect::drawingRegionOfInputImage() has to consider the clamping 
2372         when mapping from absolute coordinates to the ImageBuffer coordinates.
2373         
2374         Tests: svg/filters/big-sized-off-viewport-filter.svg
2375
2376         * platform/graphics/ImageBuffer.cpp:
2377         (WebCore::ImageBuffer::isSizeClamped):
2378         (WebCore::ImageBuffer::clampedSize):
2379         (WebCore::ImageBuffer::clampedRect):
2380         * platform/graphics/ImageBuffer.h:
2381         (WebCore::ImageBuffer::setSpaceSize): Move all the clamping helper methods
2382         from SVGRenderingContext and RenderSVGResourceFilter to the ImageBuffer.
2383
2384         * platform/graphics/filters/FEColorMatrix.cpp:
2385         (WebCore::FEColorMatrix::platformApplySoftware): Use logicalSize() of the
2386         result image instead of using absolutePaintRect(). The later returns the
2387         rectangle of the element without clamping.
2388         
2389         * platform/graphics/filters/FETile.cpp:
2390         (WebCore::FETile::platformApplySoftware):
2391         * rendering/svg/RenderSVGResourceClipper.cpp:
2392         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2393         * rendering/svg/RenderSVGResourceFilter.cpp:
2394         (WebCore::RenderSVGResourceFilter::applyResource):
2395         (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize): Deleted.
2396         * rendering/svg/RenderSVGResourceFilter.h:
2397         * rendering/svg/RenderSVGResourceGradient.cpp:
2398         (WebCore::createMaskAndSwapContextForTextGradient):
2399         (WebCore::clipToTextMask):
2400         * rendering/svg/RenderSVGResourceMasker.cpp:
2401         (WebCore::RenderSVGResourceMasker::applySVGMask):
2402         * rendering/svg/RenderSVGResourcePattern.cpp:
2403         (WebCore::RenderSVGResourcePattern::buildPattern):
2404         (WebCore::RenderSVGResourcePattern::createTileImage): Make the modifications
2405         which are needed because of moving the clamping helper methods to ImageBuffer
2406         and because of changing the prototype of SVGRenderingContext methods.
2407
2408         * platform/graphics/filters/FilterEffect.cpp:
2409         (WebCore::FilterEffect::drawingRegionOfInputImage): Consider the clamping
2410         when mapping from absolute coordinates to the ImageBuffer coordinates.
2411
2412         (WebCore::FilterEffect::createImageBufferResult): Apply the same clamping
2413         we do in SVGRenderingContext::createImageBuffer() when creating the 
2414         FilterEffect result ImageBuffer.
2415         
2416         (WebCore::FilterEffect::apply):
2417         (WebCore::FilterEffect::asUnmultipliedImage):
2418         (WebCore::FilterEffect::asPremultipliedImage):
2419         (WebCore::FilterEffect::copyUnmultipliedImage):
2420         (WebCore::FilterEffect::copyPremultipliedImage):
2421         (WebCore::FilterEffect::createUnmultipliedImageResult):
2422         (WebCore::FilterEffect::createPremultipliedImageResult):
2423         (WebCore::FilterEffect::maxFilterArea): Deleted.
2424         (WebCore::FilterEffect::isFilterSizeValid): Deleted.
2425         * platform/graphics/filters/FilterEffect.h: Use the new ImageBuffer clamping
2426         helper methods and delete the local ones.
2427
2428         * platform/graphics/transforms/AffineTransform.cpp:
2429         (WebCore::AffineTransform::scaleNonUniform):
2430         (WebCore::AffineTransform::scale):
2431         (WebCore::AffineTransform::translate):
2432         * platform/graphics/transforms/AffineTransform.h: Add new scale and translate
2433         overloads to AffineTransform.
2434         
2435         * rendering/FilterEffectRenderer.cpp:
2436         (WebCore::FilterEffectRenderer::updateBackingStoreRect):
2437         (WebCore::FilterEffectRendererHelper::beginFilterEffect): Code clean up.
2438         
2439         * rendering/svg/SVGRenderingContext.cpp:
2440         (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
2441         (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
2442         Return the AffineTransform instead of passing it through the reference of
2443         an argument.
2444         
2445         (WebCore::SVGRenderingContext::createImageBuffer):
2446         (WebCore::SVGRenderingContext::createImageBufferForPattern): Deleted.
2447         Code clean up and method rename.
2448         
2449         (WebCore::SVGRenderingContext::clampedAbsoluteTargetRect): Deleted.
2450         (WebCore::SVGRenderingContext::clampedAbsoluteSize): Deleted.
2451         * rendering/svg/SVGRenderingContext.h: Move the clamping helper methods to
2452         the ImageBuffer class.
2453     
2454 2015-05-07  Beth Dakin  <bdakin@apple.com>
2455
2456         New force-related DOM events should fire in WK1 views
2457         https://bugs.webkit.org/show_bug.cgi?id=144663
2458         -and corresponding-
2459         rdar://problem/20281886
2460
2461         Reviewed by Sam Weinig.
2462
2463         All of the WK1 mouse events need to take the correspondingPressureEvent.
2464         * page/EventHandler.h:
2465
2466         Make correspondingPressureEvent a part of CurrentEventScope. This is needed to 
2467         have accurate pressure information for all of the mouse events in subframes.
2468         * page/mac/EventHandlerMac.mm:
2469         (WebCore::correspondingPressureEventSlot):
2470         (WebCore::EventHandler::correspondingPressureEvent):
2471         (WebCore::CurrentEventScope::CurrentEventScope):
2472         (WebCore::CurrentEventScope::~CurrentEventScope):
2473
2474         These events don’t have an associated pressure, so send nil for the 
2475         correspondingPressureEvent.
2476         (WebCore::EventHandler::wheelEvent):
2477         (WebCore::EventHandler::keyEvent):
2478
2479         Pipe through correspondingPressureEvent.
2480         (WebCore::EventHandler::mouseDown):
2481         (WebCore::EventHandler::mouseDragged):
2482         (WebCore::EventHandler::mouseUp):
2483         (WebCore::EventHandler::mouseMoved):
2484
2485         New function to handle pressure change events.
2486         (WebCore::EventHandler::pressureChange):
2487
2488         Pipe through correspondingPressureEvent.
2489         (WebCore::EventHandler::passMouseMovedEventToScrollbars):
2490         (WebCore::EventHandler::currentPlatformMouseEvent):
2491
2492         Take the correspondingPressureEvent in order to build a PlatformMouseEvent with 
2493         the correct pressure information.
2494         * platform/mac/PlatformEventFactoryMac.h:
2495         * platform/mac/PlatformEventFactoryMac.mm:
2496         (WebCore::globalPointForEvent):
2497         (WebCore::pointForEvent):
2498         (WebCore::mouseButtonForEvent):
2499         (WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
2500         (WebCore::PlatformEventFactory::createPlatformMouseEvent):
2501
2502 2015-05-06  Roger Fong  <roger_fong@apple.com>
2503
2504         Media Controls: Scrubber should be independent of actual video time, causes scrubber to be jumpy.
2505         https://bugs.webkit.org/show_bug.cgi?id=144700.
2506         <rdar://problem/19997548>
2507
2508         Reviewed by Jer Noble.
2509
2510         Update time and timeline during the timeline input event instead of the wrapper's mousemove.
2511         (Controller.prototype.handleWrapperMouseMove):
2512         (Controller.prototype.handleTimelineMouseMove):
2513         (Controller.prototype.drawTimelineBackground): 
2514
2515         (Controller.prototype.updateControlsWhileScrubbing): 
2516         Updates time and scrubber to reflect timeline user input.
2517
2518 2015-05-07  Yoav Weiss  <yoav@yoav.ws>
2519
2520         Handle meta viewport in HTMLPreloadScanner
2521         https://bugs.webkit.org/show_bug.cgi?id=144640
2522
2523         Reviewed by Dean Jackson.
2524
2525         Add support for the <meta> tag to the HTMLPreloadScanner
2526         and when the meta tag's name is viewport, get the document
2527         to process the tag's attribute value, and set its ViewportArgument.
2528
2529         Tests: fast/dom/HTMLMetaElement/meta-preloader.html
2530
2531         * html/parser/HTMLPreloadScanner.cpp:
2532         (WebCore::TokenPreloadScanner::tagIdFor): Added meta.
2533         (WebCore::TokenPreloadScanner::initiatorFor): Added meta.
2534         (WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner): Call document.processViewport is meta viewport encountered.
2535         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
2536         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute): Keep track of meta viewport tags.
2537         (WebCore::testPreloadScannerViewportSupport): Testing function that makes sure this functionality is working.
2538         * html/parser/HTMLPreloadScanner.h:
2539         * testing/Internals.cpp:
2540         (WebCore::Internals::testPreloaderSettingViewport): Calls the testing function.
2541         * testing/Internals.h:
2542         * testing/Internals.idl:
2543
2544 2015-05-07  Zalan Bujtas  <zalan@apple.com>
2545
2546         REGRESSION (r164449): Subpixel rendering: http://www.apple.com/iphone-6/ "Faster wireless." image displays vertical black line on 1x displays at specific window width.
2547         https://bugs.webkit.org/show_bug.cgi?id=144723
2548         rdar://problem/18307094
2549
2550         Reviewed by Simon Fraser.
2551
2552         This patch ensures that the backing store's graphics layer is always positioned on a device pixel boundary.
2553
2554         While calculating the backing store's graphics layer location, its ancestor layer's compositing bounds is taken into account.
2555         However the compositing bounds is an unsnapped value, so in order to place the graphics layer properly,
2556         we need to pixel align the ancestor compositing bounds before using it to adjust the child's graphics layer position.
2557
2558         Test: compositing/ancestor-compositing-layer-is-on-subpixel-position.html
2559
2560         * rendering/RenderLayerBacking.cpp:
2561         (WebCore::RenderLayerBacking::updateGeometry):
2562
2563 2015-05-07  Yoav Weiss  <yoav@yoav.ws>
2564
2565         Fix sizes crash and add invalid value tests.
2566         https://bugs.webkit.org/show_bug.cgi?id=144739
2567
2568         Reviewed by Darin Adler.
2569
2570         Make sure that only CSS length are allowed when the sizes parser is calling computeLength.
2571         Also make sure that for invalid lengths, the 100vw default is used instead.
2572
2573         Test: fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html
2574
2575         * css/SourceSizeList.cpp:
2576         (WebCore::computeLength):
2577         (WebCore::defaultLength):
2578         (WebCore::parseSizesAttribute):
2579
2580 2015-05-07  Michael Catanzaro  <mcatanzaro@igalia.com>
2581
2582         [GTK] Checks for DEVELOPMENT_BUILD are all wrong
2583         https://bugs.webkit.org/show_bug.cgi?id=144746
2584
2585         Reviewed by Martin Robinson.
2586
2587         Use DEVELOPER_MODE rather than DEVELOPMENT_BUILD.
2588
2589         * platform/gtk/GtkUtilities.cpp:
2590         * platform/gtk/GtkUtilities.h:
2591         * platform/text/gtk/HyphenationLibHyphen.cpp:
2592         (WebCore::availableLocales):
2593
2594 2015-05-07  Simon Fraser  <simon.fraser@apple.com>
2595
2596         Remove the WK1-only code path for independently composited iframes
2597         https://bugs.webkit.org/show_bug.cgi?id=144722
2598
2599         Reviewed by Dean Jackson.
2600
2601         In WebKit1 on Mac, we allowed iframes to be composited independently of their
2602         parent document, relying on the fact that the frame's platform view can host
2603         a layer-backed view. However, this ran into bugs (rdar://problem/18862298),
2604         and triggers the assertion at the end of FrameView::updateLayoutAndStyleIfNeededRecursive(),
2605         because the compositing update after a layout can dirty style in notifyIFramesOfCompositingChange().
2606         
2607         Removing the WK1-only code path solves these problems. It also eliminates the need
2608         to do compositing-specific frame overlap testing.
2609
2610         * page/FrameView.cpp:
2611         (WebCore::FrameView::setIsOverlapped): No need to do compositing-related things here.
2612         Any iframe that gets composited will participate in the normal compositing overlap
2613         testing in its parent frame.
2614         (WebCore::FrameView::hasCompositedContentIncludingDescendants): Deleted.
2615         (WebCore::FrameView::hasCompositingAncestor): Deleted.
2616         * page/FrameView.h:
2617         * rendering/RenderLayerCompositor.cpp: Replace ownerElement() checks in this file
2618         with an isMainFrameCompositor() for readability. Some 0->nullptr.
2619         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
2620         (WebCore::RenderLayerCompositor::chromeClient):
2621         (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
2622         (WebCore::RenderLayerCompositor::updateCompositingLayers):
2623         (WebCore::RenderLayerCompositor::appendDocumentOverlayLayers):
2624         (WebCore::RenderLayerCompositor::updateBacking):
2625         (WebCore::RenderLayerCompositor::layerTreeAsText):
2626         (WebCore::RenderLayerCompositor::frameContentsCompositor):
2627         (WebCore::RenderLayerCompositor::setIsInWindow):
2628         (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):
2629         (WebCore::RenderLayerCompositor::requiresCompositingForFrame): frameRenderer.requiresAcceleratedCompositing()
2630         already bails on no content RenderView, so the shouldPropagateCompositingToEnclosingFrame() check does
2631         nothing and is removed.
2632         (WebCore::RenderLayerCompositor::isAsyncScrollableStickyLayer):
2633         (WebCore::RenderLayerCompositor::requiresScrollLayer):
2634         (WebCore::RenderLayerCompositor::documentUsesTiledBacking):
2635         (WebCore::RenderLayerCompositor::isMainFrameCompositor):
2636         (WebCore::RenderLayerCompositor::shouldCompositeOverflowControls):
2637         (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
2638         (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
2639         (WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
2640         (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
2641         (WebCore::RenderLayerCompositor::updateLayerForHeader):
2642         (WebCore::RenderLayerCompositor::updateLayerForFooter):
2643         (WebCore::RenderLayerCompositor::ensureRootLayer): Main frame attaches via ChromeClient,
2644         all other frames attach via parent frame.
2645         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): This call to
2646         scheduleSetNeedsStyleRecalc(SyntheticStyleChange) was the source of dirtying style after
2647         layout, but is no longer needed so remove it.
2648         (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
2649         (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers):
2650         (WebCore::RenderLayerCompositor::scrollingCoordinator):
2651         (WebCore::RenderLayerCompositor::graphicsLayerFactory):
2652         (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): Deleted.
2653         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame): Deleted.
2654         (WebCore::RenderLayerCompositor::mainFrameBackingIsTiled): Deleted. This was mis-named;
2655         it really asks whether the document uses tiled backing, but does not check for main frame.
2656         * rendering/RenderLayerCompositor.h:
2657         * rendering/RenderWidget.cpp:
2658         (WebCore::RenderWidget::paintContents): No need to do frame overlap testing for
2659         compositing now.
2660
2661 2015-05-06  Dean Jackson  <dino@apple.com>
2662
2663         Handle backdrop views that have to tile
2664         https://bugs.webkit.org/show_bug.cgi?id=142317
2665         <rdar://problem/20049088>
2666
2667         Reviewed by Simon Fraser.
2668
2669         Take 2 - this was rolled out because Mavericks was crashing.
2670
2671         Make sure backdrop layers don't tile. If they are big
2672         enough, we'll leave it to the platform compositor to handle.
2673
2674         This also fixes a bug where if a layer changed from a backdrop
2675         type to a tiled type, it would still retain its custom appearance
2676         and we'd try to add children to the wrong layer.
2677
2678         Test: compositing/media-controls-bar-appearance-big.html
2679
2680         * platform/graphics/ca/GraphicsLayerCA.cpp:
2681         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Check if
2682         a layer needs a backdrop before checking if it needs to tile.
2683
2684 2015-05-05  Myles C. Maxfield  <mmaxfield@apple.com>
2685
2686         Revert "Introducing the Platform Abstraction Layer (PAL)"
2687         https://bugs.webkit.org/show_bug.cgi?id=144751
2688
2689         Unreviewed.
2690
2691         PAL should be a new target inside WebCore, rather than a top-level folder.
2692
2693         * WebCore.xcodeproj/project.pbxproj:
2694         * Configurations/FeatureDefines.xcconfig:
2695
2696 2015-05-07  Dan Bernstein  <mitz@apple.com>
2697
2698         Tried to fix the build.
2699
2700         * Configurations/WebCoreTestSupport.xcconfig:
2701
2702 2015-05-07  Joanmarie Diggs  <jdiggs@igalia.com>
2703
2704         AX: [ATK] The pre element should be mapped to ATK_ROLE_SECTION; not ATK_ROLE_PANEL
2705         https://bugs.webkit.org/show_bug.cgi?id=144702
2706
2707         Reviewed by Chris Fleizach.
2708
2709         Add a new PreRole AccessibilityRole so that per-platform mapping is possible.
2710         Map PreRole to ATK_ROLE_SECTION for Efl and Gtk; to NSAccessibilityGroupRole
2711         for the Mac. Add PreRole to the list of "text type" ATK roles.
2712
2713         No new tests. Existing tests were updated to reflect the corrected mapping.
2714
2715         * accessibility/AccessibilityObject.h:
2716         * accessibility/AccessibilityRenderObject.cpp:
2717         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2718         * accessibility/atk/AccessibilityObjectAtk.cpp:
2719         (WebCore::AccessibilityObject::allowsTextRanges):
2720         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2721         (atkRole):
2722         (roleIsTextType):
2723         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2724         (createAccessibilityRoleMap):
2725
2726 2015-05-07  Dan Bernstein  <mitz@apple.com>
2727
2728         <rdar://problem/19317140> [Xcode] Remove usage of AspenFamily.xcconfig in Source/
2729         https://bugs.webkit.org/show_bug.cgi?id=144727
2730
2731         Reviewed by Darin Adler.
2732
2733         * Configurations/Base.xcconfig: Don’t include AspenFamily.xcconfig.
2734         * Configurations/WebCore.xcconfig: For iOS, define INSTALL_PATH in terms of
2735         INSTALL_PATH_PREFIX, and set INSTALL_PATH_PREFIX for the iOS 8.x Simulator.
2736         * Configurations/WebCoreTestSupport.xcconfig: Define INSTALL_PATH in terms of
2737         INSTALL_PATH_PREFIX and INSTALL_PATH_ACTUAL, and define INSTALL_PATH_PREFIX for the iOS 8.x
2738         Simulator.
2739
2740 2015-05-07  Eric Carlson  <eric.carlson@apple.com>
2741
2742         [Mac] Playback target isn't set on new element
2743         https://bugs.webkit.org/show_bug.cgi?id=144724
2744
2745         Reviewed by Jer Noble.
2746
2747         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2748         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2749         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Call setShouldPlayToPlaybackTarget
2750         if necessary.
2751         (WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget): Remember
2752         the setting in case we don't have an AVPlayer yet.
2753
2754 2015-05-07  Yoav Weiss  <yoav@yoav.ws>
2755
2756         Fix <script srcset> being loaded by the preloader.
2757         https://bugs.webkit.org/show_bug.cgi?id=144675
2758
2759         Reviewed by Darin Adler.
2760
2761         Fix HTMLPreloadScanner to make sure that srcset is only loaded
2762         when it is present on an <img>.
2763
2764         Tests: http/tests/loading/preload-script-src.html
2765                http/tests/loading/preload-script-srcset-ignored.html
2766
2767         * html/parser/HTMLPreloadScanner.cpp:
2768         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
2769
2770 2015-05-07  Žan Doberšek  <zdobersek@igalia.com>
2771
2772         Add missing type traits specialization for PlatformDisplayWayland
2773         https://bugs.webkit.org/show_bug.cgi?id=144671
2774
2775         Reviewed by Carlos Garcia Campos.
2776
2777         * platform/graphics/wayland/PlatformDisplayWayland.h:
2778         Add missing type traits specialization for the PlatformDisplayWayland
2779         class via the SPECIALIZE_TYPE_TRAITS_PLATFORM_DISPLAY macro.
2780
2781 2015-05-06  Manuel Rego Casasnovas  <rego@igalia.com>
2782
2783         [CSS Grid Layout] Mark grid shorthands as layout dependent
2784         https://bugs.webkit.org/show_bug.cgi?id=144687
2785
2786         Reviewed by Darin Adler.
2787
2788         grid-template and grid shorthands were not marked us layout dependent,
2789         so you can end up calling them before the grid has been laid out and
2790         you'll get a crash at valueForGridTrackList() because of trackPositions
2791         won't be initialized yet.
2792
2793         Tests: fast/css-grid-layout/grid-shorthand-computed-style-crash.html
2794                fast/css-grid-layout/grid-template-shorthand-computed-style-crash.html
2795
2796         * css/CSSComputedStyleDeclaration.cpp:
2797         (WebCore::isLayoutDependent): Add the grid shorthands only if the object
2798         is a RenderGrid as otherwise it's not needed (using the same condition
2799         for grid-template-columns and grid-template-rows properties too).
2800
2801 2015-05-06  Daniel Bates  <dabates@apple.com>
2802
2803         [iOS][WK2] Pause/resume database thread when UIProcess enters/leaves the background
2804         https://bugs.webkit.org/show_bug.cgi?id=144657
2805         <rdar://problem/18894598>
2806
2807         Reviewed by Andy Estes.
2808
2809         Export WebCore functionality to pause and resume the database thread so that we can
2810         make use of this functionality from WebKit2.
2811
2812         * Modules/webdatabase/AbstractDatabaseServer.h:
2813         * Modules/webdatabase/DatabaseManager.cpp:
2814         (WebCore::DatabaseManager::setPauseAllDatabases): Added; turns around and calls DatabaseServer::setPauseAllDatabases().
2815         * Modules/webdatabase/DatabaseManager.h:
2816         * Modules/webdatabase/DatabaseServer.cpp:
2817         (WebCore::DatabaseServer::setPauseAllDatabases): Added; turns around and calls
2818         DatabaseTracker::tracker().setDatabasesPaused() to pause or resume the database thread.
2819         For now, we guard this call with PLATFORM(IOS). We'll look to remove this guard once
2820         we fix <https://bugs.webkit.org/show_bug.cgi?id=144660>.
2821         * Modules/webdatabase/DatabaseServer.h:
2822
2823 2015-05-06  Brent Fulgham  <bfulgham@apple.com>
2824
2825         Scroll-snap points do not handle margins and padding propertly
2826         https://bugs.webkit.org/show_bug.cgi?id=144647
2827         <rdar://problem/20829473>
2828
2829         Reviewed by Simon Fraser.
2830
2831         The calculation of scroll snap points was incorrect because it did not account for margins or padding.
2832         This was fixed by using the "paddingBoxRect" to represent the overall size of the view area, and
2833         subtracting the relevant padding when computing the size of the scroll snap offsets.
2834
2835         Extend testing internals with accessor methods to retrieve string representations of the scroll snap
2836         offsets and scroll snap coordinates computed during layout. These values are used in the new
2837         'css3/scroll-snap/scroll-snap-offsets-and-coordinates.html' test.
2838
2839         New tests:
2840         * css3/scroll-snap/scroll-snap-offsets-and-coordinates.html: Added.
2841         * platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html: Added.
2842         * platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding.html: Added.
2843         * platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html: Added.
2844
2845         * css/LengthFunctions.h: Expose the 'valueForLength' method so we can use it in WebCoreTestSupport.
2846         * dom/Node.h: Expose the 'renderBox' method so we can use it in WebCoreTestSupport.
2847         * page/scrolling/AxisScrollSnapOffsets.cpp:
2848         (WebCore::appendChildSnapOffsets): Use 'contentBoxRect' for overall size, so that we don't use padding
2849         as part of our offset calculations.
2850         (WebCore::updateSnapOffsetsForScrollableArea): Ditto.
2851         * rendering/RenderBox.h: Expose 'canBeScrolledAndHasScrollableArea' for use in WebCoreTestSupport.
2852         * rendering/style/RenderStyle.h: Expose 'scrollSnapCoordinates' for use in WebCoreTestSupport.
2853         * testing/Internals.cpp:
2854         (WebCore::appendOffsets): Helper function.
2855         (WebCore::Internals::scrollSnapOffsets): Added.
2856         * testing/Internals.h:
2857         * testing/Internals.idl:
2858
2859 2015-05-06  Myles C. Maxfield  <mmaxfield@apple.com>
2860
2861         Clean up TextRun constructors
2862         https://bugs.webkit.org/show_bug.cgi?id=144712
2863
2864         Reviewed by Zalan Bujtas.
2865
2866         This patch uses constructor forwarding to make TextRun's constructors much simpler. It then
2867         updates the implementations of RenderBlock::constructTextRun() to be more consistent with
2868         TextRun (via using StringViews).
2869
2870         No new tests because there is no behavior change.
2871
2872         * mathml/MathMLMencloseElement.cpp:
2873         (WebCore::MathMLMencloseElement::longDivLeftPadding):
2874         * platform/graphics/TextRun.h:
2875         (WebCore::TextRun::TextRun):
2876         * rendering/RenderBlock.cpp:
2877         (WebCore::RenderBlock::constructTextRun):
2878         (WebCore::constructTextRunInternal): Deleted.
2879         * rendering/RenderBlock.h:
2880         * rendering/RenderEmbeddedObject.cpp:
2881         (WebCore::RenderEmbeddedObject::paintReplaced):
2882         (WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
2883         (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
2884         * rendering/svg/SVGTextMetricsBuilder.cpp:
2885         (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
2886         * platform/win/DragImageWin.cpp:
2887         (WebCore::createDragImageForLink):
2888
2889 2015-05-06  Sungmann Cho  <sungmann.cho@navercorp.com>
2890
2891         Rename URL::copy() to URL::isolatedCopy() to match String.
2892         https://bugs.webkit.org/show_bug.cgi?id=144684
2893
2894         Reviewed by Darin Adler.
2895
2896         No new tests, no behavior change.
2897
2898         * Modules/websockets/WebSocketHandshake.cpp:
2899         (WebCore::WebSocketHandshake::setURL):
2900         (WebCore::WebSocketHandshake::httpURLForAuthenticationAndCookies):
2901         * fileapi/ThreadableBlobRegistry.cpp:
2902         (WebCore::BlobRegistryContext::BlobRegistryContext):
2903         * html/parser/HTMLPreloadScanner.cpp:
2904         (WebCore::TokenPreloadScanner::updatePredictedBaseURL):
2905         * html/parser/HTMLResourcePreloader.h:
2906         (WebCore::PreloadRequest::PreloadRequest):
2907         * html/parser/XSSAuditor.cpp:
2908         (WebCore::XSSAuditor::init):
2909         * platform/CrossThreadCopier.cpp:
2910         (WebCore::URL>::copy):
2911         * platform/URL.cpp:
2912         (WebCore::URL::isolatedCopy):
2913         (WebCore::URL::copy): Deleted.
2914         * platform/URL.h:
2915         (WebCore::URLCapture::URLCapture):
2916         * platform/network/BlobPart.h:
2917         (WebCore::BlobPart::detachFromCurrentThread):
2918         * platform/network/ResourceRequestBase.cpp:
2919         (WebCore::ResourceRequestBase::copyData):
2920         * platform/network/ResourceResponseBase.cpp:
2921         (WebCore::ResourceResponseBase::copyData):
2922         * workers/WorkerThread.cpp:
2923         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
2924
2925 2015-05-06  Commit Queue  <commit-queue@webkit.org>
2926
2927         Unreviewed, rolling out r183894.
2928         https://bugs.webkit.org/show_bug.cgi?id=144719
2929
2930         crashes on mavericks (Requested by dino on #webkit).
2931
2932         Reverted changeset:
2933
2934         "Handle backdrop views that have to tile"
2935         https://bugs.webkit.org/show_bug.cgi?id=142317
2936         http://trac.webkit.org/changeset/183894
2937
2938 2015-05-06  Jon Lee  <jonlee@apple.com>
2939
2940         CoreTextSPI.h uses wrong version number to denote Yosemite
2941         https://bugs.webkit.org/show_bug.cgi?id=144701
2942
2943         Reviewed by Dean Jackson.
2944
2945         * platform/spi/cocoa/CoreTextSPI.h: Should 101000 not 10100.
2946
2947 2015-05-06  Jon Lee  <jonlee@apple.com>
2948
2949         Expose more font weights for -apple-system
2950         https://bugs.webkit.org/show_bug.cgi?id=144707
2951
2952         Reviewed by Dean Jackson.
2953
2954         Update to platform/mac/fast/text/systemFont.html
2955
2956         * platform/graphics/mac/FontCacheMac.mm:
2957         (WebCore::toNSFontWeight): New static method to map font weights to NSFontWeight constants available on
2958         Yosemite and later.
2959         (WebCore::fontWithFamily): Request the system font with a mapped weight on Yosemite and later.
2960         * platform/spi/mac/NSFontSPI.h: Add [NSFont systemFontWithSize:weight:], and the proper NSFontWeight
2961         constants.
2962
2963 2015-05-06  Dean Jackson  <dino@apple.com>
2964
2965         Handle backdrop views that have to tile
2966         https://bugs.webkit.org/show_bug.cgi?id=142317
2967         <rdar://problem/20049088>
2968
2969         Reviewed by Simon Fraser.
2970
2971         Make sure backdrop layers don't tile. If they are big
2972         enough, we'll leave it to the platform compositor to handle.
2973
2974         This also fixes a bug where if a layer changed from a backdrop
2975         type to a tiled type, it would still retain its custom appearance
2976         and we'd try to add children to the wrong layer.
2977
2978         Test: compositing/media-controls-bar-appearance-big.html
2979
2980         * platform/graphics/ca/GraphicsLayerCA.cpp:
2981         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Check if
2982         a layer needs a backdrop before checking if it needs to tile.
2983
2984 2015-05-06  Carlos Garcia Campos  <cgarcia@igalia.com> and Per Arne Vollan  <peavo@outlook.com>
2985
2986         [WinCairo] Compile error due to undefined symbols after r183868
2987         https://bugs.webkit.org/show_bug.cgi?id=144692
2988
2989         Reviewed by Alex Christensen.
2990
2991         Speculative build fix. Add dummy PlatformDisplayWin.
2992
2993         * PlatformWinCairo.cmake: Add PlatformDisplay.cpp to compilation.
2994         * platform/graphics/PlatformDisplay.cpp:
2995         (WebCore::PlatformDisplay::createPlatformDisplay):
2996         * platform/graphics/PlatformDisplay.h:
2997         * platform/graphics/win/PlatformDisplayWin.h:
2998         Add stubs to compile.
2999         * WebCore.vcxproj/WebCore.vcxproj
3000         * WebCore.vcxproj/WebCore.vcxproj.filters
3001         Add new files to Windows build.
3002
3003 2015-05-06  David Hyatt  <hyatt@apple.com>
3004
3005         Avoid copies in scrollOffsetForFixedPosition() and inline it.
3006         https://bugs.webkit.org/show_bug.cgi?id=144709
3007
3008         Reviewed by Simon Fraser.
3009
3010         * page/FrameView.cpp:
3011         (WebCore::FrameView::frameScaleFactor):
3012         Added so that scrollOffsetForFixedPosition() can be inlined without having to
3013         reference Frame's implementation.
3014
3015         (WebCore::FrameView::scrollOffsetForFixedPosition): Deleted.
3016         Moved this to the header.
3017
3018         * page/FrameView.h:
3019         Inline scrollOffsetForFixedPosition() and get rid of all the copying
3020         it was doing.
3021
3022 2015-05-06  David Hyatt  <hyatt@apple.com>
3023
3024         RenderLayer::currentTransform computes a pixel snapped rect it doesn't use.
3025         https://bugs.webkit.org/show_bug.cgi?id=144708
3026
3027         Reviewed by Simon Fraser.
3028
3029         * rendering/RenderLayer.cpp:
3030         (WebCore::RenderLayer::currentTransform):
3031
3032         Only compute a pixel snapped rect if we actually end up needing it. The common case
3033         is that this rect is not needed, so pushing it inside the two if statements
3034         speeds up the common case.
3035
3036 2015-05-06  Timothy Horton  <timothy_horton@apple.com>
3037
3038         Fix the build.
3039
3040         * platform/spi/cocoa/QuartzCoreSPI.h:
3041
3042 2015-05-06  David Hyatt  <hyatt@apple.com>
3043
3044         Optimize topLeftLocationOffset() addition in updateLayerPosition
3045         https://bugs.webkit.org/show_bug.cgi?id=144704
3046
3047         Reviewed by Dean Jackson.
3048
3049         * page/FrameView.cpp:
3050         (WebCore::FrameView::FrameView):
3051         * page/FrameView.h:
3052         Move the hasFlippedBlocks bit to FrameView instead of RenderView. Works better for inlining
3053         the check in any renderer header, and it also makes more sense conceptually, since the RenderView
3054         itself could be a flipped block.
3055
3056         * rendering/RenderBox.cpp:
3057         (WebCore::RenderBox::layoutOverflowRectForPropagation):
3058         Change over to the FrameView bit.
3059
3060         * rendering/RenderBox.h:
3061         (WebCore::RenderBox::applyTopLeftLocationOffset):
3062         Add a new inlined function that can apply the top left location offset to a point without
3063         multiple LayoutSize creations and copies. It invokes a helper for flipping that is not
3064         inlined only in the case where actual flipped blocks exist in the render tree.
3065
3066         * rendering/RenderBoxModelObject.cpp:
3067         (WebCore::RenderBoxModelObject::updateFromStyle):
3068         Set the bit on the FrameView now instead of the RenderView.
3069
3070         * rendering/RenderLayer.cpp:
3071         (WebCore::RenderLayer::updateLayerPosition):
3072         Call the new applyTopLeftLocationOffset function so that the point can have offsets added
3073         in without any extra copies.
3074
3075         (WebCore::RenderLayer::calculateClipRects):
3076         * rendering/RenderLineBoxList.cpp:
3077         (WebCore::RenderLineBoxList::rangeIntersectsRect):
3078         Switch over to the bit on the FrameView.
3079
3080         * rendering/RenderView.cpp:
3081         (WebCore::RenderView::RenderView):
3082         * rendering/RenderView.h:
3083         Get rid of the bit on the RenderView.
3084
3085 2015-05-05  Myles C. Maxfield  <mmaxfield@apple.com>
3086
3087         Introducing the Platform Abstraction Layer (PAL)
3088         https://bugs.webkit.org/show_bug.cgi?id=143358
3089
3090         Reviewed by Simon Fraser.
3091
3092         * WebCore.xcodeproj/project.pbxproj: Let the project know about the .a
3093         * Configurations/FeatureDefines.xcconfig: Updated
3094
3095 2015-05-06  Eric Carlson  <eric.carlson@apple.com>
3096
3097         [iOS] remove some unnecessary iOS-only media code
3098         https://bugs.webkit.org/show_bug.cgi?id=144697
3099         <rdar://problem/20229914>
3100
3101         Reviewed by Jer Noble.
3102
3103         * html/HTMLAttributeNames.in: Remove data-youtube-id.
3104
3105         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3106         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Remove dataYouTubeID.
3107
3108 2015-05-06  David Hyatt  <hyatt@apple.com>
3109
3110         Optimize relativePositionOffset() to avoid doing unnecessary work
3111         https://bugs.webkit.org/show_bug.cgi?id=144698
3112
3113         Reviewed by Simon Fraser.
3114
3115         * rendering/RenderBoxModelObject.cpp:
3116         (WebCore::RenderBoxModelObject::relativePositionOffset):
3117
3118         Patch relativePositionOffset to avoid doing unnecessary work in the common case where
3119         all values of top/left/right/bottom are either auto or fixed. We no longer fetch
3120         containingBlock() into a local always, but instead just invoke the function only
3121         when necessary.
3122
3123         Also avoid computing the percentage-relative maximum for the top/right/bottom/left lengths
3124         when they are fixed values, since that maximum won't be examined at all.
3125
3126 2015-05-06  Martin Robinson  <mrobinson@igalia.com>
3127
3128         [FreeType] Vertical CJK glyphs should not be rendered with synthetic oblique
3129         https://bugs.webkit.org/show_bug.cgi?id=144612
3130
3131         Reviewed by Darin Adler.
3132
3133         No new tests. This causes fast/text/international/synthesized-italic-vertical.html to pass.
3134
3135         * platform/graphics/Font.cpp:
3136         (WebCore::Font::nonSyntheticItalicFont): Compile this method for Cairo as well.
3137         * platform/graphics/FontCascadeFonts.cpp:
3138         (WebCore::FontCascadeFonts::glyphDataForSystemFallback): When searching for the system fallback,
3139         ensure that we do not use synthetic oblique when rendering vertical CJK glyphs.
3140         (WebCore::FontCascadeFonts::glyphDataForNormalVariant): Extend the CJK fix to Cairo ports.
3141         * platform/graphics/FontPlatformData.h:
3142         (WebCore::FontPlatformData::setSyntheticOblique): Added this helper method, because
3143         Freetype/Cairo ports needs to be able to recreate the scaled font matrix when the
3144         synthetic oblique settings changes.
3145         * platform/graphics/freetype/FontPlatformData.h: Rename initializeWithFontFace to buildScaledFont.
3146         Remove the now unused m_horizontalOrientationMatrix member.
3147         (WebCore::FontPlatformData::setSyntheticOblique): Added the helper here as well.
3148         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3149         (WebCore::FontPlatformData::FontPlatformData): Calculate whether or not to use synthetic oblique here,
3150         before buildScaledFont is called. Call buildScaledFont instead of initializeWithFontFace.
3151         (WebCore::FontPlatformData::operator=):
3152         (WebCore::FontPlatformData::buildScaledFont): Renamed from initializeWithFontFace, does
3153         the same thing, except calculate whether or not to use synthetic oblique. Instead just
3154         reads the value.
3155         (WebCore::FontPlatformData::setOrientation): Instead of adjusting the font matrix, recreate
3156         the entire font.
3157         (WebCore::FontPlatformData::setSyntheticOblique): Added.
3158         (WebCore::rotateCairoMatrixForVerticalOrientation): Deleted.
3159         (WebCore::FontPlatformData::initializeWithFontFace): Deleted.
3160
3161 2015-05-06  Alex Christensen  <achristensen@webkit.org>
3162
3163         [Content Extensions] Test splitting NFAs by max NFA size.
3164         https://bugs.webkit.org/show_bug.cgi?id=144659
3165
3166         Reviewed by Darin Adler.
3167
3168         * WebCore.xcodeproj/project.pbxproj:
3169         * contentextensions/CombinedURLFilters.cpp:
3170         (WebCore::ContentExtensions::generateNFAForSubtree):
3171         (WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
3172         * contentextensions/CombinedURLFilters.h:
3173         * contentextensions/ContentExtensionCompiler.cpp:
3174         (WebCore::ContentExtensions::compileRuleList):
3175         * contentextensions/DFABytecodeCompiler.h:
3176         * contentextensions/DFABytecodeInterpreter.h:
3177         Make maxNFASize a parameter so we can test it with small values.
3178
3179 2015-05-06  Antti Koivisto  <antti@apple.com>
3180
3181         REGRESSION (r183467): Unable to start downloads in private browsing mode
3182         https://bugs.webkit.org/show_bug.cgi?id=144533
3183
3184         Reviewed by Darin Adler.
3185
3186         If willSendRequest delegate mutated the request we would lose the requester field value from the original.
3187
3188         No test runner support for mutating requests.
3189
3190         * platform/network/cf/ResourceRequestCFNet.cpp:
3191         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
3192
3193             This needs to keep the requester too.
3194
3195         * platform/network/cocoa/ResourceRequestCocoa.mm:
3196         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Deleted.
3197
3198             Share implementations.
3199
3200 2015-05-06  Ryosuke Niwa  <rniwa@webkit.org>
3201
3202         Toggling underline on font panel removes strike through
3203         https://bugs.webkit.org/show_bug.cgi?id=144670
3204         <rdar://problem/3790443>
3205
3206         Reviewed by Darin Adler.
3207
3208         * editing/EditingStyle.cpp:
3209         (WebCore::EditingStyle::EditingStyle): Added a variant that takes CSSStyleDeclaration.
3210         * editing/EditingStyle.h:
3211         (WebCore::EditingStyle::create): Ditto.
3212         * editing/Editor.cpp:
3213         (WebCore::Editor::applyStyleToSelection): Takes Ref<EditingStyle>&& instead of RefPtr<EditingStyle>&&.
3214         * editing/Editor.h:
3215         * editing/EditorCommand.cpp:
3216         (WebCore::applyCommandToFrame): Ditto.
3217         (WebCore::executeStrikethrough):
3218         (WebCore::executeUnderline):
3219
3220 2015-05-06  Jessie Berlin  <jberlin@webkit.org>
3221
3222         More build fixing.
3223
3224         * page/mac/TextIndicatorWindow.mm:
3225
3226 2015-05-06  Jessie Berlin  <jberlin@webkit.org>
3227
3228         32-bit build fix after r183859 and r183860.
3229
3230         * page/mac/TextIndicatorWindow.mm:
3231         Autosynthesis isn't available for our 32-bit builds.
3232
3233 2015-05-06  Carlos Garcia Campos  <cgarcia@igalia.com>
3234
3235         [EGL] Move EGLDisplay handling to PlatformDisplay and remove PlatformDisplay definition from GLDefs.h
3236         https://bugs.webkit.org/show_bug.cgi?id=144685
3237
3238         Reviewed by Martin Robinson.
3239
3240         The EGL display is also initialized in multiple places, and could
3241         be unified in PlatformDisplay. Remove the PlatformDisplay
3242         definition from platform/graphics/opengl/GLDefs.h to avoid conflicts.
3243
3244         * platform/graphics/PlatformDisplay.cpp:
3245         (WebCore::PlatformDisplay::PlatformDisplay): Initialize m_eglDisplay.
3246         (WebCore::PlatformDisplay::~PlatformDisplay): Call terminateEGLDisplay().
3247         (WebCore::PlatformDisplay::eglDisplay): Lazy intialize the EGL
3248         display and return it.
3249         (WebCore::PlatformDisplay::initializeEGLDisplay):
3250         (WebCore::PlatformDisplay::terminateEGLDisplay):
3251         * platform/graphics/PlatformDisplay.h:
3252         * platform/graphics/egl/GLContextEGL.cpp:
3253         (WebCore::sharedEGLDisplay): Use PlatformDisplay::eglDisplay().
3254         * platform/graphics/opengl/GLDefs.h: Remove unneeded definitions.
3255         * platform/graphics/opengl/GLPlatformSurface.cpp:
3256         (WebCore::GLPlatformSurface::GLPlatformSurface): Remove
3257         m_sharedDisplay member, PlatformDisplay::sharedDisplay() can be used instead.
3258         (WebCore::GLPlatformSurface::sharedDisplay): Deleted.
3259         * platform/graphics/opengl/GLPlatformSurface.h:
3260         * platform/graphics/surfaces/egl/EGLConfigSelector.h: Use
3261         EGLDisplay instead of PlatformDisplay.
3262         * platform/graphics/surfaces/egl/EGLContext.cpp:
3263         (WebCore::EGLOffScreenContext::initialize): Use PlatformDisplay::eglDisplay().
3264         * platform/graphics/surfaces/egl/EGLHelper.cpp: Remove the
3265         EGLDisplayConnection clas and use PlatformDisplay instead.
3266         (WebCore::EGLHelper::eglDisplay):
3267         (WebCore::EGLHelper::currentDisplay):
3268         (WebCore::EGLDisplayConnection::EGLDisplayConnection): Deleted.
3269         (WebCore::EGLDisplayConnection::~EGLDisplayConnection): Deleted.
3270         (WebCore::EGLDisplayConnection::display): Deleted.
3271         (WebCore::EGLDisplayConnection::terminate): Deleted.
3272         * platform/graphics/surfaces/egl/EGLHelper.h:
3273         * platform/graphics/surfaces/egl/EGLSurface.cpp:
3274         (WebCore::EGLTransportSurface::EGLTransportSurface): Use EGLHelper::eglDisplay().
3275         (WebCore::EGLTransportSurface::destroy): Ditto.
3276         (WebCore::EGLOffScreenSurface::EGLOffScreenSurface): Ditto.
3277         (WebCore::EGLOffScreenSurface::destroy): Ditto.
3278         * platform/graphics/surfaces/egl/EGLXSurface.cpp:
3279         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
3280         Use PlatformDisplay::eglDisplay().
3281         (WebCore::EGLWindowTransportSurface::swapBuffers): Ditto.
3282         (WebCore::EGLPixmapSurface::EGLPixmapSurface): Ditto.
3283         * platform/graphics/surfaces/glx/GLXContext.cpp:
3284         (WebCore::GLXOffScreenContext::initialize): Use X11Helper::nativeDisplay().
3285         * platform/graphics/surfaces/glx/GLXSurface.cpp:
3286         (WebCore::GLXTransportSurface::GLXTransportSurface): Do not use m_sharedDisplay.
3287         (WebCore::GLXOffScreenSurface::initialize): Ditto.
3288         * platform/graphics/wayland/PlatformDisplayWayland.cpp:
3289         (WebCore::PlatformDisplayWayland::PlatformDisplayWayland): Call
3290         PlatformDisplay::initializeEGLDisplay() to insialize the EGL display.
3291         * platform/graphics/wayland/PlatformDisplayWayland.h:
3292         * platform/graphics/x11/PlatformDisplayX11.cpp:
3293         (WebCore::PlatformDisplayX11::initializeEGLDisplay): Override
3294         PlatformDisplay::initializeEGLDisplay() to initialize the
3295         m_eglDisplay member.
3296         * platform/graphics/x11/PlatformDisplayX11.h:
3297
3298 2015-05-06  Joseph Pecoraro  <pecoraro@apple.com>
3299
3300         Web Inspector: DOMStorage exception and issue with sessionStorage
3301         https://bugs.webkit.org/show_bug.cgi?id=144646
3302
3303         Reviewed by Timothy Hatcher.
3304
3305         * inspector/InspectorDOMStorageAgent.cpp:
3306         (WebCore::InspectorDOMStorageAgent::findStorageArea):
3307         Return session storage if the identifier says not local storage.
3308
3309 2015-05-06  Xabier Rodriguez Calvar  <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
3310
3311         Move ReadableStreamJSSource.h/.cpp to ReadableJSStream.h/.cpp
3312         https://bugs.webkit.org/show_bug.cgi?id=144567
3313
3314         Reviewed by Darin Adler.
3315
3316         In addition to renaming ReadableStreamJSSource.h/.cpp, ReadableStreamJSSource is now made a private class of
3317         ReadableJSStream, called ReadableJSStream::Source.
3318         Made some minor refactoring (passing some ExecState by ref and not by pointer).
3319         No functional change, existing tests cover the changes.
3320
3321         * bindings/js/JSReadableStreamCustom.cpp:
3322         * bindings/js/ReadableJSStream.cpp:
3323         (WebCore::ReadableJSStream::Source::create):
3324         (WebCore::ReadableJSStream::Source::Source):
3325         (WebCore::ReadableJSStream::Source::~Source):
3326         (WebCore::ReadableJSStream::Source::globalObject):
3327         (WebCore::ReadableJSStream::Source::start):
3328         (WebCore::ReadableJSStream::create):
3329         (WebCore::ReadableJSStream::ReadableJSStream):
3330         * bindings/js/ReadableJSStream.h:
3331
3332 2015-05-05  Tim Horton  <timothy_horton@apple.com>
3333
3334         REGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
3335         https://bugs.webkit.org/show_bug.cgi?id=144651
3336         <rdar://problem/20755722>
3337
3338         * page/mac/TextIndicatorWindow.mm:
3339         Fix an incorrectly-applied review comment.
3340
3341 2015-05-05  Timothy Horton  <timothy_horton@apple.com>
3342
3343         REGRESSION (r183517): Yellow find-in-page highlight gets stuck forever
3344         https://bugs.webkit.org/show_bug.cgi?id=144651
3345         <rdar://problem/20755722>
3346
3347         Reviewed by Dan Bernstein.
3348
3349         * page/mac/TextIndicatorWindow.h:
3350         * page/mac/TextIndicatorWindow.mm:
3351         (WebCore::TextIndicatorWindow::clearTextIndicator):
3352         (WebCore::TextIndicatorWindow::setTextIndicator):
3353         (WebCore::TextIndicatorWindow::closeWindow):
3354         (WebCore::TextIndicatorWindow::startFadeOut):
3355         We can't keep m_fadingOut on TextIndicatorWindow, since it is reused.
3356         Keep it on the WebTextIndicatorView instead.
3357
3358 2015-05-05  Žan Doberšek  <zdobersek@igalia.com>
3359
3360         Add missing vtable override specifiers under Source/WebCore/html
3361         https://bugs.webkit.org/show_bug.cgi?id=144578
3362
3363         Reviewed by Daniel Bates.
3364
3365         Update virtual method overrides under Source/WebCore/html
3366         which are missing the override specifier.
3367
3368         * html/canvas/WebGL2RenderingContext.h:
3369         * html/canvas/WebGLRenderingContext.h:
3370         * html/track/InbandTextTrack.h:
3371         * html/track/TrackListBase.h:
3372
3373 2015-05-05  Žan Doberšek  <zdobersek@igalia.com>
3374
3375         Add missing vtable override specifiers under Source/WebCore/rendering
3376         https://bugs.webkit.org/show_bug.cgi?id=144570
3377
3378         Reviewed by Darin Adler.
3379
3380         Update virtual method overrides under Source/WebCore/rendering
3381         which are missing the override specifiers.
3382
3383         * rendering/InlineTextBox.h:
3384         (WebCore::InlineTextBox::calculateBoundaries): Deleted.
3385         * rendering/RenderFlowThread.h:
3386         * rendering/RenderMedia.h:
3387         (WebCore::RenderMedia::shadowControlsNeedCustomLayoutMetrics): Deleted.
3388         * rendering/RenderMultiColumnSet.h:
3389         * rendering/RenderRegion.h:
3390         * rendering/RenderRegionSet.h:
3391         * rendering/RenderThemeGtk.h:
3392         * rendering/mathml/RenderMathMLOperator.h:
3393         * rendering/svg/RenderSVGBlock.h:
3394
3395 2015-05-05  Žan Doberšek  <zdobersek@igalia.com>
3396
3397         Add missing vtable override specifiers under Source/WebCore/Modules
3398         https://bugs.webkit.org/show_bug.cgi?id=144569
3399
3400         Reviewed by Darin Adler.
3401
3402         Update virtual method overrides under Source/WebCore/Modules
3403         which are missing the override specifier.
3404
3405         * Modules/mediasource/SourceBuffer.h:
3406         * Modules/mediastream/MediaStreamTrack.h:
3407         * Modules/mediastream/RTCVoidRequestImpl.h:
3408         * Modules/webaudio/AudioContext.h:
3409         (WebCore::AudioContext::mediaType): Deleted.
3410         (WebCore::AudioContext::presentationType): Deleted.
3411         (WebCore::AudioContext::canReceiveRemoteControlCommands): Deleted.
3412         (WebCore::AudioContext::didReceiveRemoteControlCommand): Deleted.
3413         (WebCore::AudioContext::overrideBackgroundPlaybackRestriction): Deleted.
3414         * Modules/webaudio/MediaStreamAudioDestinationNode.h:
3415         * Modules/webaudio/MediaStreamAudioSourceNode.h:
3416         * Modules/webaudio/WaveShaperDSPKernel.h:
3417         * Modules/websockets/WebSocketChannel.h:
3418         (WebCore::WebSocketChannel::refThreadableWebSocketChannel): Deleted.
3419         (WebCore::WebSocketChannel::derefThreadableWebSocketChannel): Deleted.
3420         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
3421         (WebCore::WorkerThreadableWebSocketChannel::refThreadableWebSocketChannel): Deleted.
3422         (WebCore::WorkerThreadableWebSocketChannel::derefThreadableWebSocketChannel): Deleted.
3423
3424 2015-05-05  Žan Doberšek  <zdobersek@igalia.com>
3425
3426         EventHandler::m_eventHandlerWillResetCapturingMouseEventsElement is incorrectly initialized
3427         https://bugs.webkit.org/show_bug.cgi?id=144583
3428
3429         Reviewed by Daniel Bates.
3430
3431         * page/EventHandler.cpp:
3432         (WebCore::EventHandler::EventHandler): The
3433         m_eventHandlerWillResetCapturingMouseEventsElement is a boolean,
3434         so initialize it to false, instead of to nullptr.
3435
3436 2015-05-05  Manuel Rego Casasnovas  <rego@igalia.com>
3437
3438         [CSS Grid Layout] grid-template-areas should accept none value