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