[Cocoa] Purge SQLite page cache when under memory pressure.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-02-28  Andreas Kling  <akling@apple.com>
2
3         [Cocoa] Purge SQLite page cache when under memory pressure.
4         <https://webkit.org/b/142139>
5         <rdar://problem/19997739>
6
7         Reviewed by Pratik Solanki.
8
9         Call out to sqlite3 cache purging SPI on Cocoa platforms when
10         we need to free up some extra memory.
11
12         * platform/cocoa/MemoryPressureHandlerCocoa.mm:
13         (WebCore::MemoryPressureHandler::platformReleaseMemory):
14
15 2015-02-28  Simon Fraser  <simon.fraser@apple.com>
16
17         FrameView::layoutTimerFired() should update style if needed before doing layout
18         https://bugs.webkit.org/show_bug.cgi?id=141688
19
20         Reviewed by Andreas Kling.
21
22         If the style recalc timer has been scheduled to fire after the layout timer,
23         when the layout timer fires, we might as well just do the style recalc
24         too. The call to updateStyleIfNeeded() will cancel the pending style
25         recalc timer.
26         
27         This doesn't have much impact on the number of layouts (measured via PLT)
28         but seems like a reasonable thing to do.
29
30         * page/FrameView.cpp:
31         (WebCore::FrameView::layoutTimerFired):
32
33 2015-02-28  Simon Fraser  <simon.fraser@apple.com>
34
35         Fullscreen video layers are off by one sometimes
36         https://bugs.webkit.org/show_bug.cgi?id=142122
37         rdar://problem/19878821
38
39         Reviewed by Eric Carlson.
40
41         Convert MediaPlayer::naturalSize() to return a FloatSize, since the natural size
42         isn't always integral (because of preserving pixel aspect ratio etc). Fix all the media
43         backends to use FloatSizes for natural size. Convert the video image drawing code
44         paths to FloatSize, since naturalSize is used on the destination rect computation,
45         and painting should be floating point anyway.
46         
47         Give the layer created by SourceBufferPrivateAVFObjC a name in debug builds.
48
49         * html/HTMLVideoElement.cpp:
50         (WebCore::HTMLVideoElement::videoWidth):
51         (WebCore::HTMLVideoElement::videoHeight):
52         (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
53         * html/HTMLVideoElement.h:
54         * html/canvas/CanvasRenderingContext2D.cpp:
55         (WebCore::size):
56         (WebCore::CanvasRenderingContext2D::drawImage):
57         * html/canvas/WebGLRenderingContextBase.cpp:
58         (WebCore::WebGLRenderingContextBase::videoFrameToImage):
59         * platform/graphics/MediaPlayer.cpp:
60         (WebCore::NullMediaPlayerPrivate::naturalSize):
61         (WebCore::MediaPlayer::naturalSize):
62         (WebCore::MediaPlayer::paint):
63         (WebCore::MediaPlayer::paintCurrentFrameInContext):
64         (WebCore::NullMediaPlayerPrivate::paint): Deleted.
65         * platform/graphics/MediaPlayer.h:
66         * platform/graphics/MediaPlayerPrivate.h:
67         (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
68         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
69         (WebCore::MediaPlayerPrivateAVFoundation::naturalSize):
70         (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize):
71         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
72         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
73         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
74         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext):
75         (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
76         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator):
77         (WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect):
78         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
79         (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
80         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
81         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
82         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
83         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):
84         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paint):
85         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):
86         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
87         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
88         (WebCore::MediaSourcePrivateAVFObjC::naturalSize):
89         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
90         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
91         (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
92         (WebCore::SourceBufferPrivateAVFObjC::naturalSize):
93         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h:
94         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm:
95         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::naturalSize):
96         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
97         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
98         (WebCore::MediaPlayerPrivateQTKit::naturalSize):
99         (WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):
100         (WebCore::MediaPlayerPrivateQTKit::paint):
101         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
102         (WebCore::MockMediaPlayerMediaSource::naturalSize):
103         (WebCore::MockMediaPlayerMediaSource::paint):
104         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
105         * rendering/RenderVideo.cpp:
106         (WebCore::RenderVideo::calculateIntrinsicSize):
107         (WebCore::RenderVideo::paintReplaced):
108
109 2015-02-27  Hunseop Jeong  <hs85.jeong@samsung.com>
110
111         [EFL][GTK] Fix build break after r180790,180798
112         https://bugs.webkit.org/show_bug.cgi?id=142127
113
114         Reviewed by Gyuyoung Kim.
115
116         * platform/graphics/cairo/PathCairo.cpp:
117         (WebCore::Path::addEllipse):
118
119 2015-02-27  Zalan Bujtas  <zalan@apple.com>
120
121         Subpixel-layout: width: max-content; property might cause unnecessary scrollbar.
122         https://bugs.webkit.org/show_bug.cgi?id=142065
123
124         Reviewed by Simon Fraser.
125
126         We should not pixelsnap (ceil in this case) logical coordinates during layout.
127         Should this cause content to be partially cut off, we need to
128         find the broken piece in the computation logic.
129
130         Covered by the unskipped test.
131
132         * rendering/RootInlineBox.cpp:
133         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
134
135 2015-02-27  Ryosuke Niwa  <rniwa@webkit.org>
136
137         Node::hasEditableStyle and isEditablePosition have too many options
138         https://bugs.webkit.org/show_bug.cgi?id=142078
139
140         Reviewed by Andreas Kling.
141
142         Moved the code that dealt with accessibility to htmlediting.cpp from Node. This patch introduces
143         new editing helper functions hasEditableStyle and isEditableNode for this purpose.
144
145         Also removed UserSelectAllTreatment from isContentEditable's arguments in the favor of using
146         newly extracted computeEditability in call sites that specify this option since isContentEditable
147         is a public DOM API.
148
149         No new tests since there should be no observable behavior changes.
150
151         * accessibility/AXObjectCache.h: Removed the declaration of an undefined function.
152
153         * dom/Element.cpp:
154         (WebCore::Element::shouldUseInputMethod): Uses newly added computeEditability.
155
156         * dom/Node.cpp:
157         (WebCore::Node::isContentEditable): Ditto. No longer takes UserSelectAllTreatment as an argument.
158         (WebCore::Node::isContentRichlyEditable): Ditto.
159         (WebCore::Node::computeEditability): Renamed from hasEditableStyle to avoid the confusion with
160         a helper function of the same name. Added ShouldUpdateStyle as an argument to optionally update
161         style tree. Also returns tri-state Editability enum instead of returning a boolean based on
162         the value of EditableLevel argument.
163         (WebCore::Node::isEditableToAccessibility): Moved to htmlediting.cpp.
164         (WebCore::Node::willRespondToMouseClickEvents): Uses newly added computeEditability.
165         (WebCore::Node::rootEditableElement): Moved to htmlediting.cpp.
166
167         * dom/Node.h: No longer includes EditingBoundary.h.
168         (WebCore::Node::isContentEditable):
169         (WebCore::Node::hasEditableStyle): No longer takes EditableType as an argument.
170         (WebCore::Node::hasRichlyEditableStyle): Ditto.
171
172         * editing/ApplyStyleCommand.cpp:
173         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Uses newly added isEditableNode.
174         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Ditto.
175         * editing/DeleteFromTextNodeCommand.cpp:
176         (WebCore::DeleteFromTextNodeCommand::doApply): Ditto.
177         * editing/FrameSelection.cpp:
178         (WebCore::CaretBase::invalidateCaretRect): Ditto.
179         * editing/InsertNodeBeforeCommand.cpp:
180         (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
181         (WebCore::InsertNodeBeforeCommand::doUnapply): Ditto.
182         * editing/RemoveNodeCommand.cpp:
183         (WebCore::RemoveNodeCommand::doApply): Ditto.
184
185         * editing/VisibleSelection.cpp:
186         (WebCore::VisibleSelection::hasEditableStyle): Since this is the only caller of isEditablePosition
187         which sets DoNotUpdateStyle, directly call hasEditableStyle on the container node instead. This was
188         not possible prior to r180726 because isEditablePosition had to move out of tables.
189
190         * editing/VisibleUnits.cpp:
191         (WebCore::previousLeafWithSameEditability): Uses newly added hasEditableStyle.
192         (WebCore::nextLeafWithSameEditability): Ditto.
193         (WebCore::rootEditableOrDocumentElement): Extracted from previousLinePosition. Use helper functions
194         in htmlediting.cpp instead of member functions of Node since they no longer support EditableType.
195         (WebCore::previousLinePosition):
196         (WebCore::nextLinePosition):
197
198         * editing/htmlediting.cpp:
199         (WebCore::highestEditableRoot): Uses newly added hasEditableStyle.
200         (WebCore::isEditableToAccessibility): Moved from Node.
201         (WebCore::computeEditability): Extracted from isEditablePosition.
202         (WebCore::hasEditableStyle): Added.
203         (WebCore::isEditableNode): Added.
204         (WebCore::isEditablePosition): Now calls computeEditability.
205         (WebCore::isRichlyEditablePosition): No longer takes EditableType since that variant was never used.
206         (WebCore::editableRootForPosition): Moved the code from Node::rootEditableElement.
207
208         * editing/htmlediting.h:
209
210 2015-02-27  Chris Dumez  <cdumez@apple.com>
211
212         Make ActiveDOMObject::canSuspend() pure virtual
213         https://bugs.webkit.org/show_bug.cgi?id=142096
214         <rdar://problem/19923085>
215
216         Reviewed by Andreas Kling.
217
218         Make ActiveDOMObject::canSuspend() pure virtual so that people at least
219         try to provide an implementation for it. The default implementation was
220         returning false unconditionally and thus was preventing pages from
221         entering the PageCache.
222
223 2015-02-27  Commit Queue  <commit-queue@webkit.org>
224
225         Unreviewed, rolling out r180203 and r180210.
226         https://bugs.webkit.org/show_bug.cgi?id=142116
227
228         broke process suspension and tile map (Requested by thorton on
229         #webkit).
230
231         Reverted changesets:
232
233         "Adopt CAMachPort-as-layer-contents"
234         https://bugs.webkit.org/show_bug.cgi?id=141687
235         http://trac.webkit.org/changeset/180203
236
237         "Fix the !USE(IOSURFACE) build"
238         http://trac.webkit.org/changeset/180210
239
240 2015-02-27  Sam Weinig  <sam@webkit.org>
241
242         Add WebKit2 SPI to create a DOM File object
243         https://bugs.webkit.org/show_bug.cgi?id=142109
244
245         Reviewed by Tim Horton.
246
247         * WebCore.xcodeproj/project.pbxproj:
248         Make <WebCore/File.h> (and associated files) available to WebKit2.
249
250 2015-02-27  Myles C. Maxfield  <mmaxfield@apple.com>
251
252         [Subpixel] Subpixelize RenderListMarker
253         https://bugs.webkit.org/show_bug.cgi?id=142093
254
255         Reviewed by Zalan Bujtas.
256
257         Use floats instead of ints.
258
259         Test: fast/lists/rtl-marker.html
260
261         * rendering/RenderListMarker.cpp:
262         (WebCore::RenderListMarker::paint):
263         (WebCore::RenderListMarker::updateContent):
264         (WebCore::RenderListMarker::getRelativeMarkerRect):
265         * rendering/RenderListMarker.h:
266
267 2015-02-27  Timothy Horton  <timothy_horton@apple.com>
268
269         <attachment> should be selected immediately upon click, and be drag/copyable upon click
270         https://bugs.webkit.org/show_bug.cgi?id=142114
271         <rdar://problem/19982520>
272
273         Reviewed by Enrica Casucci.
274
275         * css/html.css:
276         (attachment):
277         Make attachment use 'user-select: all' to act as a single click-to-select unit.
278
279         * html/HTMLAttachmentElement.cpp:
280         (WebCore::HTMLAttachmentElement::setFocus): Deleted.
281         * html/HTMLAttachmentElement.h:
282         * rendering/RenderAttachment.cpp:
283         (WebCore::RenderAttachment::isFocused): Deleted.
284         (WebCore::RenderAttachment::focusChanged): Deleted.
285         * rendering/RenderAttachment.h:
286         * rendering/RenderThemeMac.mm:
287         (WebCore::RenderThemeMac::paintAttachment):
288         Remove focus-related code; instead of focusing the element upon click,
289         we get a selection including just the <attachment>, and everything
290         behaves much more consistently (copy works, drag works, etc.).
291
292 2015-02-27  Myles C. Maxfield  <mmaxfield@apple.com>
293
294         [iOS] Some MathML tests crash in RenderMathMLOperator::advanceForGlyph() or boundsForGlyph()
295         https://bugs.webkit.org/show_bug.cgi?id=141371
296
297         Reviewed by David Kilzer.
298
299         Null checks.
300
301         Covered by existing mathml tests.
302
303         * rendering/mathml/RenderMathMLOperator.cpp:
304         (WebCore::RenderMathMLOperator::boundsForGlyph):
305         (WebCore::RenderMathMLOperator::advanceForGlyph):
306         (WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):
307
308 2015-02-27  Chris Dumez  <cdumez@apple.com>
309
310         Make SourceBuffer ActiveDOMObject suspendable
311         https://bugs.webkit.org/show_bug.cgi?id=142108
312         <rdar://problem/19923085>
313
314         Reviewed by Jer Noble.
315
316         Make SourceBuffer ActiveDOMObject suspendable if it is removed from its
317         MediaSource and does not have any pending events. This makes it more
318         likely for pages using SourceBuffer objects to go into the PageCache.
319
320         Test: fast/history/page-cache-removed-source-buffer.html
321
322         * Modules/mediasource/SourceBuffer.cpp:
323         (WebCore::SourceBuffer::canSuspend):
324         * Modules/mediasource/SourceBuffer.h:
325
326 2015-02-26  Sam Weinig  <sam@webkit.org>
327
328         Add support for canvas ellipse method
329         https://bugs.webkit.org/show_bug.cgi?id=82791
330         <rdar://problem/11159172>
331
332         Reviewed by Dirk Schulze.
333
334         Tests: fast/canvas/canvas-ellipse-360-winding.html
335                fast/canvas/canvas-ellipse-circumference-fill.html
336                fast/canvas/canvas-ellipse-circumference.html
337                fast/canvas/canvas-ellipse-connecting-line.html
338                fast/canvas/canvas-ellipse-negative-radius.html
339                fast/canvas/canvas-ellipse-zero-lineto.html
340                fast/canvas/canvas-ellipse.html
341
342         * html/canvas/CanvasPathMethods.h:
343         * html/canvas/CanvasPathMethods.cpp:
344         (WebCore::CanvasPathMethods::lineTo):
345         Convenience for passing a FloatPoint instead of two floats.
346
347         (WebCore::normalizeAngles):
348         Normalizes the angles as described in the HTML spec. Ensuring the startAngle
349         is greater than 0 and less than 2pi, and the the endAngle is at most 2pi
350         from the start angle.
351
352         (WebCore::CanvasPathMethods::arc):
353         - Renames some of the parameters to be clearer.
354         - Normalizes the angles for consistency with ellipse.
355         - Moves hasInvertibleTransform() higher in the function for consistency.
356
357         (WebCore::CanvasPathMethods::ellipse): Added.
358
359         * html/canvas/CanvasRenderingContext2D.idl:
360         * html/canvas/DOMPath.idl:
361         Add ellipse(...).
362
363         * platform/graphics/Path.h:
364         * platform/graphics/cg/PathCG.cpp:
365         (WebCore::Path::addArc):
366         Rename parameters for clarity and use a nullptr.
367
368         (WebCore::Path::addEllipse):
369         Added. Constructs an ellipse via a transformed arc.
370
371 2015-02-27  Enrica Casucci  <enrica@apple.com>
372
373         Adding support for serializing HTMLAttachment elements.
374         https://bugs.webkit.org/show_bug.cgi?id=142026
375
376         Reviewed by Tim Horton.
377
378         Test: editing/pasteboard/copy-paste-attachment.html
379
380         Adding support to serialize the attachment element
381         and properly handle it when converting a DOM range
382         to NSAttributedString.
383
384         * editing/cocoa/HTMLConverter.mm:
385         (HTMLConverter::_processElement):
386         * editing/markup.cpp:
387         (WebCore::StyledMarkupAccumulator::appendCustomAttributes): Create new attribute
388         for attachment element when serializating.
389         (WebCore::StyledMarkupAccumulator::appendElement):
390         (WebCore::createFragmentFromMarkup): Remove the attribute from the attachment element
391         when creating the fragment.
392         * html/HTMLAttachmentElement.cpp:
393         (WebCore::HTMLAttachmentElement::file): Added const to file() to
394         use it in appendCustonAttributes where the element is a const reference.
395         * html/HTMLAttachmentElement.h:
396         * html/HTMLAttributeNames.in:
397
398 2015-02-27  Timothy Horton  <timothy_horton@apple.com>
399
400         <attachment> should have an inactive style (gray in background)
401         https://bugs.webkit.org/show_bug.cgi?id=142103
402         <rdar://problem/19982486>
403
404         Reviewed by Dan Bernstein.
405
406         * rendering/RenderThemeMac.mm:
407         (WebCore::attachmentLabelInactiveBackgroundColor):
408         (WebCore::attachmentLabelInactiveTextColor):
409         (WebCore::RenderThemeMac::paintAttachmentLabelBackground):
410         (WebCore::RenderThemeMac::paintAttachmentLabel):
411         Use a gray background and gray text when the selection containing the
412         attachment isn't focused and active.
413
414 2015-02-27  Brady Eidson  <beidson@apple.com>
415
416         Add a "block-cookies" rule to the user content filter.
417         https://bugs.webkit.org/show_bug.cgi?id=142105
418
419         Reviewed by Alex Christensen.
420
421         Tests: http/tests/usercontentfilter/block-cookies-basic.html
422                http/tests/usercontentfilter/block-cookies-send.html
423
424         * contentextensions/ContentExtensionRule.h:
425
426         * contentextensions/ContentExtensionsBackend.cpp:
427         (WebCore::ContentExtensions::ContentExtensionsBackend::actionForURL):
428         (WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL): Deleted.
429         * contentextensions/ContentExtensionsBackend.h:
430
431         * contentextensions/ContentExtensionsManager.cpp:
432         (WebCore::ContentExtensions::ExtensionsManager::loadAction):
433
434         * loader/cache/CachedResourceLoader.cpp:
435         (WebCore::CachedResourceLoader::requestResource):
436
437         * page/UserContentController.cpp:
438         (WebCore::UserContentController::actionForURL):
439         (WebCore::UserContentController::contentFilterBlocksURL): Deleted.
440         * page/UserContentController.h:
441
442 2015-02-27  Alex Christensen  <achristensen@webkit.org>
443
444         [WinCairo] Unreviewed build fix.
445
446         * platform/graphics/BitmapImage.h:
447         * platform/win/BitmapInfo.h:
448         Added WEBCORE_EXPORT.
449
450 2015-02-27  Timothy Horton  <timothy_horton@apple.com>
451
452         <attachment>'s label baseline should match that of the surrounding text
453         https://bugs.webkit.org/show_bug.cgi?id=142099
454         rdar://problem/19982495
455
456         Reviewed by Dan Bernstein.
457
458         * rendering/RenderAttachment.cpp:
459         (WebCore::RenderAttachment::baselinePosition):
460         * rendering/RenderAttachment.h:
461         Override baselinePosition and retrieve it from RenderTheme.
462
463         * rendering/RenderTheme.h:
464         (WebCore::RenderTheme::attachmentBaseline):
465         * rendering/RenderThemeMac.h:
466         * rendering/RenderThemeMac.mm:
467         (WebCore::AttachmentLayout::AttachmentLayout):
468         (WebCore::RenderThemeMac::attachmentBaseline):
469         Plumb the label baseline from AttachmentLayout to RenderAttachment.
470
471 2015-02-27  Commit Queue  <commit-queue@webkit.org>
472
473         Unreviewed, rolling out r180752.
474         https://bugs.webkit.org/show_bug.cgi?id=142098
475
476         Causes 10 SVG test failures on Windows. (Requested by
477         bfulgham_ on #webkit).
478
479         Reverted changeset:
480
481         "Cache glyph widths to GlyphPages"
482         https://bugs.webkit.org/show_bug.cgi?id=142028
483         http://trac.webkit.org/changeset/180752
484
485 2015-02-27  David Kilzer  <ddkilzer@apple.com>
486
487         [iOS] Fix build by defining EAGL_IOSURFACE macro before including <OpenGLES/EAGLPrivate.h>
488
489         * platform/spi/ios/OpenGLESSPI.h:  Define EAGL_IOSURFACE macro
490         until header refactoring is completed.
491
492 2015-02-27  Chris Dumez  <cdumez@apple.com>
493
494         MediaSource should be suspendable when closed
495         https://bugs.webkit.org/show_bug.cgi?id=142089
496         <rdar://problem/19923085>
497
498         Reviewed by Jer Noble.
499
500         Make MediaSource ActiveDOMObject suspendable when it is in closed state
501         and it has no pending events. This increases the likelihood of pages
502         using MediaSource to enter the PageCache.
503
504         Tests: fast/history/page-cache-media-source-closed-2.html
505                fast/history/page-cache-media-source-closed.html
506                fast/history/page-cache-media-source-opened.html
507
508 2015-02-27  Andreas Kling  <akling@apple.com>
509
510         Use NeverDestroyed for JS wrapper owners.
511         <https://webkit.org/b/142090>
512
513         Reviewed by Chris Dumez.
514
515         Using NeverDestroyed puts these objects in BSS which is preferable
516         since that prevents them from pinning down entire malloc pages forever.
517
518         * bindings/scripts/CodeGeneratorJS.pm:
519         (GenerateHeader): Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
520
521         * bindings/scripts/test/JS/*: Rebaseline bindings tests for this change.
522
523 2015-02-27  Chris Dumez  <cdumez@apple.com>
524
525         Make IDBDatabase / IDBRequest suspendable
526         https://bugs.webkit.org/show_bug.cgi?id=142076
527         <rdar://problem/19923085>
528
529         Reviewed by Andreas Kling.
530
531         Make IDBDatabase / IDBRequest suspendable under certain conditions to
532         make it more likely for pages using indexeddb to enter the PageCache.
533
534         IDBDatabase is safely suspendable if the database is closed. IDBRequest
535         is safely suspendable if the request no longer has any pending activity
536         (i.e. state is DONE and success / failure handler was called). We may
537         be able to do better later but this is the bare minimum for now.
538
539         Tests: fast/history/page-cache-indexed-closed-db.html
540                fast/history/page-cache-indexed-opened-db.html
541
542         * Modules/indexeddb/IDBDatabase.cpp:
543         (WebCore::IDBDatabase::IDBDatabase):
544         (WebCore::IDBDatabase::closeConnection):
545         (WebCore::IDBDatabase::enqueueEvent):
546         (WebCore::IDBDatabase::canSuspend):
547         * Modules/indexeddb/IDBDatabase.h:
548         * Modules/indexeddb/IDBRequest.cpp:
549         (WebCore::IDBRequest::canSuspend):
550         * Modules/indexeddb/IDBRequest.h:
551
552 2015-02-27  Chris Dumez  <cdumez@apple.com>
553
554         Drop unnecessary DatabaseManager::hasOpenDatabases() in PageCache::canCachePageContainingThisFrame()
555         https://bugs.webkit.org/show_bug.cgi?id=142052
556
557         Reviewed by Andreas Kling.
558
559         Drop WebDatabase special-handling from PageCache::canCachePageContainingThisFrame().
560         DatabaseContext is already an ActiveDOMObject and DatabaseContext::canSuspend() was
561         returning false so pages using WebDatabase would never enter the PageCache anyway.
562
563         This patch also overrides ActiveDOMObject::canSuspend() in DatabaseContext to only
564         return false when there are open databases. This check is now equivalent to the one
565         that was in PageCache.
566
567         An issue that remains is that DatabaseContext::m_hasOpenDatabases is never reset
568         to false so once a page opened a database, it will never be page-cacheable. This
569         will be taken care of separately though.
570
571         Test: fast/history/page-cache-webdatabase-opened-db.html
572
573         * Modules/webdatabase/DatabaseContext.cpp:
574         (WebCore::DatabaseContext::canSuspend):
575         * Modules/webdatabase/DatabaseContext.h:
576         * history/PageCache.cpp:
577         (WebCore::logCanCacheFrameDecision):
578         (WebCore::PageCache::canCachePageContainingThisFrame):
579         * page/DiagnosticLoggingKeys.cpp:
580         (WebCore::DiagnosticLoggingKeys::hasOpenDatabasesKey): Deleted.
581         * page/DiagnosticLoggingKeys.h:
582
583 2015-02-27  Alex Christensen  <achristensen@webkit.org>
584
585         Compile DFA to bytecode.
586         https://bugs.webkit.org/show_bug.cgi?id=142031
587
588         Reviewed by Benjamin Poulain.
589
590         * WebCore.xcodeproj/project.pbxproj:
591         * contentextensions/ContentExtensionsBackend.cpp:
592         (WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
593         (WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):
594         * contentextensions/ContentExtensionsBackend.h:
595         * contentextensions/DFA.cpp:
596         (WebCore::ContentExtensions::DFA::nextState): Deleted.
597         (WebCore::ContentExtensions::DFA::actions): Deleted.
598         * contentextensions/DFA.h:
599         (WebCore::ContentExtensions::DFA::size):
600         (WebCore::ContentExtensions::DFA::nodeAt):
601         * contentextensions/DFABytecode.h: Added.
602         (WebCore::ContentExtensions::instructionSizeWithArguments):
603         * contentextensions/DFABytecodeCompiler.cpp: Added.
604         (WebCore::ContentExtensions::append):
605         (WebCore::ContentExtensions::set32Bits):
606         (WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendAction):
607         (WebCore::ContentExtensions::DFABytecodeCompiler::emitJump):
608         (WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValue):
609         (WebCore::ContentExtensions::DFABytecodeCompiler::emitTerminate):
610         (WebCore::ContentExtensions::DFABytecodeCompiler::reserveBufferCapacity):
611         (WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
612         (WebCore::ContentExtensions::DFABytecodeCompiler::compile):
613         * contentextensions/DFABytecodeCompiler.h: Added.
614         (WebCore::ContentExtensions::DFABytecodeCompiler::DFABytecodeCompiler):
615         * contentextensions/DFABytecodeInterpreter.cpp: Added.
616         (WebCore::ContentExtensions::getBits):
617         (WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
618         * contentextensions/DFABytecodeInterpreter.h: Added.
619         (WebCore::ContentExtensions::DFABytecodeInterpreter::DFABytecodeInterpreter):
620
621 2015-02-27  Zalan Bujtas  <zalan@apple.com>
622
623         Use after free in WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle
624         https://bugs.webkit.org/show_bug.cgi?id=138366
625
626         Reviewed by Dave Hyatt.
627
628         This patch ensures that we clean up RenderNamedFlowFragment::m_renderObjectRegionStyle when embedded flow content is getting destroyed.
629
630         In m_renderObjectRegionStyle hash map, we store style information about the named flow's descendant children.
631         When a child is being detached from the tree, it removes itself from this hashmap.
632         We do it by traversing up on the ancestor chain and call removeFlowChildInfo() on the parent flow.
633         However in case of embedded flows (for example multicolumn content inside a region), we need to check whether the parent flow
634         is inside a flow too and continue the cleanup accordingly.
635
636         Test: fast/regions/region-with-multicolumn-embedded-crash.html
637
638         * rendering/RenderObject.cpp:
639         (WebCore::RenderObject::removeFromRenderFlowThreadIncludingDescendants):
640
641 2015-02-27  Brady Eidson  <beidson@apple.com>
642
643         Add API to remove a single content filter.
644         <rdar://problem/19977764> and https://bugs.webkit.org/show_bug.cgi?id=142088
645
646         Reviewed by Sam Weinig.
647
648         * page/UserContentController.cpp:
649         (WebCore::UserContentController::removeUserContentFilter):
650         * page/UserContentController.h:
651
652 2015-02-26  Brent Fulgham  <bfulgham@apple.com>
653
654         [Win] Remove remaining SafariTheme cruft
655         https://bugs.webkit.org/show_bug.cgi?id=142075
656
657         Reviewed by Anders Carlsson.
658
659         Remove reference to SafariTheme-switching preference.
660
661         Tested by existing layout tests.
662
663         * WebCore.vcxproj/WebCore.vcxproj:
664         * WebCore.vcxproj/WebCore.vcxproj.filters:
665         * config.h:
666         * page/Settings.cpp:
667         (WebCore::Settings::fontRenderingMode):
668         (WebCore::Settings::setShouldPaintNativeControls): Deleted.
669         * page/Settings.h:
670         (WebCore::Settings::shouldPaintNativeControls): Deleted.
671         * platform/win/ScrollbarThemeWin.cpp:
672         (WebCore::ScrollbarTheme::nativeTheme):
673         * rendering/RenderThemeWin.cpp:
674         (WebCore::RenderTheme::themeForPage):
675
676 2015-02-27  Myles C. Maxfield  <mmaxfield@apple.com>
677
678         Add comment about CSS value name mangling
679
680         Unreviewed
681
682         * css/CSSParser.cpp:
683         (WebCore::cssValueKeywordID):
684
685 2015-02-27  Antti Koivisto  <antti@apple.com>
686
687         Cache glyph widths to GlyphPages
688         https://bugs.webkit.org/show_bug.cgi?id=142028
689
690         Reviewed by Andreas Kling.
691
692         Currently we have a separate cache in Font for glyph widths. In practice we always need
693         the widths so we can just cache them in GlyphPages. This simplifies the code and removes
694         a per-character hash lookup from WidthIterator.
695
696         * platform/graphics/Font.cpp:
697         (WebCore::Font::Font):
698         (WebCore::Font::initCharWidths):
699         (WebCore::Font::platformGlyphInit):
700         (WebCore::createAndFillGlyphPage):
701         (WebCore::Font::computeWidthForGlyph):
702
703             Rename to make it clear this doesn't cache.
704
705         (WebCore::GlyphPage::setGlyphDataForIndex):
706
707             Initialize the width.
708             This could go to GlyphPage.cpp if we had one.
709
710         * platform/graphics/Font.h:
711         (WebCore::Font::glyphZeroWidth):
712         (WebCore::Font::isZeroWidthSpaceGlyph):
713         (WebCore::Font::zeroGlyph): Deleted.
714         (WebCore::Font::setZeroGlyph): Deleted.
715         (WebCore::Font::widthForGlyph): Deleted.
716         * platform/graphics/FontCascade.cpp:
717         (WebCore::offsetToMiddleOfGlyph):
718         * platform/graphics/FontCascadeFonts.cpp:
719         (WebCore::FontCascadeFonts::glyphDataForCharacter):
720         * platform/graphics/GlyphPage.h:
721         (WebCore::GlyphData::GlyphData):
722
723             Return width too as part of GlyphData.
724
725         (WebCore::GlyphPage::glyphDataForIndex):
726         (WebCore::GlyphPage::setGlyphDataForCharacter):
727         (WebCore::GlyphPage::setGlyphDataForIndex):
728         (WebCore::GlyphPage::GlyphPage):
729         * platform/graphics/WidthIterator.cpp:
730         (WebCore::WidthIterator::advanceInternal):
731
732             No need to lookup width separately now.
733
734         * platform/graphics/mac/ComplexTextController.cpp:
735         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
736         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
737         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
738         * rendering/mathml/RenderMathMLOperator.cpp:
739         (WebCore::RenderMathMLOperator::advanceForGlyph):
740         * rendering/svg/SVGTextRunRenderingContext.cpp:
741         (WebCore::missingGlyphForFont):
742         * svg/SVGFontData.cpp:
743         (WebCore::SVGFontData::initializeFont):
744
745 2015-02-26  Alexey Proskuryakov  <ap@apple.com>
746
747         iOS build fix after r180717.
748
749         * Modules/webdatabase/DatabaseThread.cpp: (WebCore::DatabaseUnpauseTask::doPerformTask):
750
751 2015-02-26  Ryosuke Niwa  <rniwa@webkit.org>
752
753         isEditablePosition and related functions shouldn't move position out of table
754         https://bugs.webkit.org/show_bug.cgi?id=129200
755
756         Reviewed by Darin Adler.
757
758         This patch removes the legacy editing position for elements display: table in its computed style.
759         Previously, we used (table, 0) and (table, !0) to denote positions immediately before and after
760         such an element for historical reasons. This forced us to update the style tree before computing
761         the editability of a position because we have to check the editability of the position outside
762         the element with display: table if the position was using such a legacy editing position.
763         e.g. if a table was not editable (contenteditable=false), the position before the table (table, 0)
764         should still be considered editable if the parent node of the table was editable.
765
766         This patch replaces such a legacy editing position by using modern position types:
767         PositionIsBeforeAnchor and PositionIsAfterAnchor.
768
769         No new tests since there should be no change in the user perceived editing operations.
770
771         * dom/Position.cpp:
772         (WebCore::Position::previous): Setup the node and the offset correctly when the original position's
773         type is PositionIsBeforeAnchor. Also return a position before or after node when the node we found
774         is "atomic" (e.g. input, img, br, etc...) or it's a table. This avoids creating a legacy editing
775         position inside a table.
776         (WebCore::Position::next): Ditto.
777         (WebCore::Position::atStartOfTree): Use atFirstEditingPositionForNode, which takes care of all types
778         of positions.
779         (WebCore::Position::atEndOfTree): Ditto.
780         (WebCore::Position::downstream): Return a position before a node instead of a legacy editing position
781         for an atomic element or a table element as done in the equivalent code in Position::upstream.
782         (WebCore::Position::isCandidate): Don't treat a position inside a table to be a candidate. e.g.
783         (table, 1) when there are more than two children of the table.
784
785         * dom/PositionIterator.cpp:
786         (WebCore::PositionIterator::operator Position): PositionIterator internally uses legacy editing
787         positions. So convert it to a modern position by returning a position before or after a table here.
788         * editing/ApplyBlockElementCommand.cpp:
789         (WebCore::ApplyBlockElementCommand::formatSelection): Check that the unsplittable element we found
790         is actually empty before executing the simple code path for an empty unsplittable element. Without
791         this check, block formatting a table element will fail.
792
793         * editing/htmlediting.cpp:
794         (WebCore::isEditablePosition): Use containerNode instead of deprecatedNode because the editability
795         of a position before or after an element is determined by its parent, not the element itself.
796         (WebCore::isAtUnsplittableElement): Ditto.
797         (WebCore::isRichlyEditablePosition): Ditto. Removed the code that moved the starting node out of
798         an element with display: table. This is the code removal for which this patch was made.
799         (WebCore::editableRootForPosition): Ditto.
800
801 2015-02-26  Timothy Horton  <timothy_horton@apple.com>
802
803         Implement <attachment> element appearance on Mac
804         https://bugs.webkit.org/show_bug.cgi?id=142023
805
806         Reviewed by Dean Jackson.
807
808         * css/CSSParser.cpp:
809         (WebCore::isValidKeywordPropertyAndValue):
810         * css/CSSPrimitiveValueMappings.h:
811         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
812         * css/CSSValueKeywords.in:
813         * css/html.css:
814         (attachment):
815         * platform/ThemeTypes.h:
816         Add a new -webkit-appearance value, attachment.
817
818         * WebCore.xcodeproj/project.pbxproj:
819         * html/HTMLAttachmentElement.cpp:
820         (WebCore::HTMLAttachmentElement::setFile):
821         Let the renderer know when the file changes (so it can relayout and repaint).
822
823         (WebCore::HTMLAttachmentElement::filePath):
824         (WebCore::HTMLAttachmentElement::fileName):
825         * html/HTMLAttachmentElement.h:
826         Handy acccessors for the full path and the name of the file.
827
828         * platform/spi/mac/IconServicesSPI.h: Added.
829         * platform/spi/mac/LaunchServicesSPI.h: Added.
830         Add some IconServices and LaunchServices SPI headers.
831
832         * rendering/RenderAttachment.cpp:
833         (WebCore::RenderAttachment::RenderAttachment):
834         Don't have a default intrinsic size; we'll adjust in layout().
835
836         (WebCore::RenderAttachment::isSelected):
837         (WebCore::RenderAttachment::isFocused):
838         (WebCore::RenderAttachment::isSelectedOrFocused):
839         Factor out from paintReplaced().
840
841         (WebCore::RenderAttachment::layout):
842         Use RenderTheme to compute the intrinsic size of this attachment.
843
844         (WebCore::RenderAttachment::paintReplaced):
845         Use RenderTheme to paint the attachment.
846
847         (WebCore::RenderAttachment::representedFileChanged):
848         When the represented file changes, we need to recompute the intrinsic size and repaint.
849
850         * rendering/RenderTheme.cpp:
851         (WebCore::RenderTheme::adjustStyle):
852         (WebCore::RenderTheme::paint):
853         (WebCore::RenderTheme::adjustAttachmentStyle):
854         (WebCore::RenderTheme::paintAttachment):
855         Plumb through the attachment appearance.
856
857         * rendering/RenderAttachment.h:
858         * rendering/RenderTheme.h:
859         (WebCore::RenderTheme::paintAttachment):
860         (WebCore::RenderTheme::attachmentIntrinsicSize):
861         * rendering/RenderThemeMac.h:
862         * rendering/RenderThemeMac.mm:
863         (WebCore::attachmentIconBackgroundColor):
864         (WebCore::attachmentIconBorderColor):
865         (WebCore::AttachmentLayout):
866         AttachmentLayout lays out the innards of the RenderThemeMac attachment
867         presentation: an icon with an optional bordered background, with a label
868         underneath it with an optional background.
869
870         (WebCore::RenderThemeMac::attachmentIntrinsicSize):
871         (WebCore::paintAttachmentIconBackground):
872         (WebCore::paintAttachmentIcon):
873         (WebCore::RenderThemeMac::paintAttachmentLabelBackground):
874         (WebCore::RenderThemeMac::paintAttachmentLabel):
875         (WebCore::RenderThemeMac::paintAttachment):
876         Paint the attachment element. Paint the optional backgrounds (and swap
877         out the text color) if the element is selected/focused.
878
879 2015-02-26  Doug Russell  <d_russell@apple.com>
880
881         AX: Expose caret browsing preference to accessibility API
882         https://bugs.webkit.org/show_bug.cgi?id=141862
883
884         Reviewed by Chris Fleizach.
885
886         Exposing the caret browsing setting on WebCore::Frame via the accessibility API would allow assistive tech apps to enable it contextually (for example, when the assistive tech app is running).
887         Enabling caret browsing when assistive tech apps are running greatly improves the reliability of keyboard navigation on the web. Most especially in cases where selection would be disrupted by focus events.
888
889         Tests: platform/mac/accessibility/caret-browsing-arrow-nav.html
890                platform/mac/accessibility/caret-browsing-attribute.html
891                platform/mac/accessibility/caret-browsing-tab-selection.html
892
893         * accessibility/AccessibilityObject.h:
894         * accessibility/mac/AccessibilityObjectMac.mm:
895         (WebCore::AccessibilityObject::caretBrowsingEnabled):
896         (WebCore::AccessibilityObject::setCaretBrowsingEnabled):
897         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
898         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
899         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
900         (-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
901         (-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):
902         (-[WebAccessibilityObjectWrapper _accessibilitySetTestValue:forAttribute:]):
903
904 2015-02-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
905
906         Remove unnecessary create() factory functions
907         https://bugs.webkit.org/show_bug.cgi?id=142039
908
909         Reviewed by Chris Dumez.
910
911         Clean up remaining JSCryptoKeySerializationJWK::create, HTMLMediaSession::create,
912         and DatabaseUnpauseTask::create.
913
914         * Modules/webdatabase/DatabaseThread.cpp:
915         (WebCore::DatabaseUnpauseTask::DatabaseUnpauseTask):
916         (WebCore::DatabaseThread::setPaused):
917         (WebCore::DatabaseUnpauseTask::create): Deleted.
918         * bindings/js/JSCryptoKeySerializationJWK.h:
919         * bindings/js/JSSubtleCryptoCustom.cpp:
920         (WebCore::importKey):
921         * html/HTMLMediaElement.cpp:
922         (WebCore::HTMLMediaElement::HTMLMediaElement):
923         * html/HTMLMediaSession.cpp:
924         (WebCore::HTMLMediaSession::create): Deleted.
925         * html/HTMLMediaSession.h:
926
927 2015-02-26  Joseph Pecoraro  <pecoraro@apple.com>
928
929         Web Inspector: Save Console Evaluations into Command Line variables $1-$99 ($n)
930         https://bugs.webkit.org/show_bug.cgi?id=142061
931
932         Reviewed by Timothy Hatcher.
933
934         * inspector/CommandLineAPIModuleSource.js:
935         Replace $1-$4 "inspected objects" with $1-$99 "saved results".
936
937         * bindings/js/JSCommandLineAPIHostCustom.cpp:
938         (WebCore::JSCommandLineAPIHost::inspectedObject):
939         * inspector/CommandLineAPIHost.cpp:
940         (WebCore::CommandLineAPIHost::CommandLineAPIHost):
941         (WebCore::CommandLineAPIHost::InspectableObject::get):
942         (WebCore::CommandLineAPIHost::addInspectedObject):
943         (WebCore::CommandLineAPIHost::inspectedObject):
944         (WebCore::CommandLineAPIHost::clearInspectedObjects): Deleted.
945         * inspector/CommandLineAPIHost.h:
946         * inspector/CommandLineAPIHost.idl:
947         Since we now just save the single $0 inspected object, eliminate
948         keeping track of a list of 5 values.
949
950 2015-02-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
951
952         Remove unnecessary create() factory functions in CDMFoo, NamedNodeMap
953         https://bugs.webkit.org/show_bug.cgi?id=141902
954
955         Reviewed by Darin Adler.
956
957         Create instance using std::make_unique<> in CDMFactory directly. To do that,
958         CDMFactory uses lambdas. Additionally this patch removes NamedNodeMap::create() as well.
959
960         No new tests, no behavior changes.
961
962         * Modules/encryptedmedia/CDM.cpp:
963         (WebCore::installedCDMFactories):
964         * Modules/encryptedmedia/CDM.h:
965         * Modules/encryptedmedia/CDMPrivateClearKey.h:
966         (WebCore::CDMPrivateClearKey::CDMPrivateClearKey):
967         (WebCore::CDMPrivateClearKey::create): Deleted.
968         * Modules/encryptedmedia/CDMPrivateMediaPlayer.h:
969         (WebCore::CDMPrivateMediaPlayer::create): Deleted.
970         * dom/Element.cpp:
971         (WebCore::Element::attributes):
972         * dom/NamedNodeMap.h:
973         (WebCore::NamedNodeMap::NamedNodeMap):
974         (WebCore::NamedNodeMap::create): Deleted.
975         * platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h:
976         (WebCore::CDMPrivateMediaSourceAVFObjC::create): Deleted.
977
978 2015-02-26  Andy Estes  <aestes@apple.com>
979
980         [Content Filtering] Move WebFilterEvaluator and NEFilterSource declarations to SPI headers
981         https://bugs.webkit.org/show_bug.cgi?id=142062
982
983         Reviewed by Daniel Bates.
984
985         * WebCore.xcodeproj/project.pbxproj:
986         * platform/mac/ContentFilterMac.mm:
987         * platform/spi/cocoa/NEFilterSourceSPI.h: Added.
988         * platform/spi/cocoa/WebFilterEvaluatorSPI.h: Added.
989
990 2015-02-26  Anders Carlsson  <andersca@apple.com>
991
992         Add API to remove all website data for the given data records
993         https://bugs.webkit.org/show_bug.cgi?id=142060
994
995         Reviewed by Beth Dakin.
996
997         * loader/cache/MemoryCache.cpp:
998         (WebCore::MemoryCache::removeResourcesWithOrigins):
999         New function that removes all resources that match the set of origins in a given session.
1000
1001 2015-02-26  Chris Dumez  <cdumez@apple.com>
1002
1003         Rename DatabaseManager::manager() to DatabaseManager::singleton()
1004         https://bugs.webkit.org/show_bug.cgi?id=142054
1005
1006         Reviewed by Ryosuke Niwa.
1007
1008         Rename DatabaseManager::manager() to DatabaseManager::singleton() as
1009         per coding style and use WTF::NeverDestroyed.
1010
1011         * Modules/webdatabase/DOMWindowWebDatabase.cpp:
1012         (WebCore::DOMWindowWebDatabase::openDatabase):
1013         * Modules/webdatabase/DatabaseBackendBase.cpp:
1014         (WebCore::DatabaseBackendBase::DatabaseBackendBase):
1015         * Modules/webdatabase/DatabaseContext.cpp:
1016         (WebCore::DatabaseContext::DatabaseContext):
1017         (WebCore::DatabaseContext::~DatabaseContext):
1018         (WebCore::DatabaseContext::stopDatabases):
1019         (WebCore::DatabaseContext::databaseExceededQuota):
1020         * Modules/webdatabase/DatabaseManager.cpp:
1021         (WebCore::DatabaseManager::singleton):
1022         (WebCore::DatabaseManager::manager): Deleted.
1023         * Modules/webdatabase/DatabaseManager.h:
1024         (WebCore::DatabaseManager::~DatabaseManager): Deleted.
1025         * Modules/webdatabase/SQLTransactionClient.cpp:
1026         (WebCore::SQLTransactionClient::didExceedQuota):
1027         * history/PageCache.cpp:
1028         (WebCore::logCanCacheFrameDecision):
1029         (WebCore::PageCache::canCachePageContainingThisFrame):
1030         * loader/FrameLoader.cpp:
1031         (WebCore::FrameLoader::stopLoading):
1032
1033 2015-02-26  Csaba Osztrogonác  <ossy@webkit.org>
1034
1035         Fix the !ENABLE(GEOLOCATION) build after r180533
1036         https://bugs.webkit.org/show_bug.cgi?id=142053
1037
1038         Reviewed by Chris Dumez.
1039
1040         * Modules/geolocation/GeoNotifier.cpp:
1041         * Modules/geolocation/GeoNotifier.h:
1042
1043 2015-02-26  Dean Jackson  <dino@apple.com>
1044
1045         [iOS Media] incorrect front padding on time values
1046         https://bugs.webkit.org/show_bug.cgi?id=142027
1047         <rdar://problem/19960790>
1048
1049         Reviewed by Brent Fulgham.
1050
1051         My last commit was updating the OS X file,
1052         not the iOS file.
1053
1054         We don't want to prefix times with a "0".
1055
1056         * Modules/mediacontrols/mediaControlsApple.js:
1057         (Controller.prototype.formatTime):
1058         * Modules/mediacontrols/mediaControlsiOS.js:
1059         (ControllerIOS.prototype.formatTime):
1060
1061 2015-02-26  Mark Lam  <mark.lam@apple.com>
1062
1063         Rolling out r180602, r180608, r180613, r180617, r180671.
1064         <https://webkit.org/b/141990>
1065
1066         Not reviewed.
1067
1068         The r180602 solution does result in more work for GC when worker
1069         threads are in use.  Filip is uncomfortable with that.
1070         The EFL and GTK ports also seem to be unhappy with this change.
1071         Rolling out while we investigate.
1072
1073         * bindings/js/JSDOMWindowBase.cpp:
1074         (WebCore::JSDOMWindowBase::commonVM):
1075
1076 2015-02-26  Myles C. Maxfield  <mmaxfield@apple.com>
1077
1078         [Mac] [iOS] Parsing support for -apple-trailing-word
1079         https://bugs.webkit.org/show_bug.cgi?id=141939
1080
1081         Reviewed by Andreas Kling.
1082
1083         This patch implements initial parsing support for the -apple-trailing-word CSS property.
1084         This property has two possible (mutually exclusive) values: auto and
1085         -apple-partially-balanced. This property is inherited.
1086
1087         The work for this property is behind the ENABLE(CSS_TRAILING_WORD) preprocessor define.
1088
1089         This is an internal property that will allow us to control line breaking behavior for
1090         short paragraphs.
1091
1092         Note that, because of the implementation of cssValueKeywordID() in CSSParser.cpp,
1093         the new value must be implemented as -webkit-partially-balanced. Using the -apple-
1094         prefix will work, but if you getComputedStyle(), it will return the -webkit- prefixed
1095         version.
1096
1097         Test: platform/mac/fast/text/trailing-word-parse.html
1098
1099         * Configurations/FeatureDefines.xcconfig:
1100         * css/CSSComputedStyleDeclaration.cpp:
1101         (WebCore::ComputedStyleExtractor::propertyValue): Turn internal representation into a
1102         CSS value.
1103         * css/CSSParser.cpp:
1104         (WebCore::isValidKeywordPropertyAndValue): Updated for new keyword property / value
1105         pair.
1106         (WebCore::isKeywordPropertyID): New property is a keyword property.
1107         (WebCore::CSSParser::parseValue): Use the keyword property codepath.
1108         * css/CSSPrimitiveValueMappings.h:
1109         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Convert to and from the internal
1110         representation and CSS values.
1111         (WebCore::CSSPrimitiveValue::operator TrailingWord):
1112         * css/CSSPropertyNames.in: New property.
1113         * css/CSSValueKeywords.in: New value.
1114         * rendering/SimpleLineLayout.cpp:
1115         (WebCore::SimpleLineLayout::canUseFor): Can't use SimpleLineLayout for this.
1116         * rendering/style/RenderStyle.h: Getter, setter and initial value.
1117         * rendering/style/RenderStyleConstants.h: Internal data type.
1118         * rendering/style/StyleRareInheritedData.h: One bit to control this style property.
1119         * rendering/style/StyleRareInheritedData.cpp: Update constructors and operators.
1120
1121 2015-02-26  Roger Fong  <roger_fong@apple.com>
1122
1123         Unreviewed. Fix a accidental deletion from r178674.
1124
1125         * html/canvas/WebGLRenderingContextBase.cpp:
1126         (WebCore::WebGLRenderingContextBase::create):
1127         Return the fake WebGL context.
1128
1129 2015-02-26  Said Abou-Hallawa  <sabouhallawa@apple.com>
1130
1131         Cleanup RenderSVGResourceClipper class.
1132         https://bugs.webkit.org/show_bug.cgi?id=142032.
1133
1134         Reviewed by Darin Adler.
1135         
1136         This is a follow up for r180643: <http://trac.webkit.org/changeset/180643>.
1137         It includes cleanup for RenderSVGResourceClipper class.
1138
1139         * rendering/svg/RenderSVGResourceClipper.cpp:
1140         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1141         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
1142         * rendering/svg/RenderSVGResourceClipper.h: Change ClipperData to be a
1143         typedef instead of a class and rename it to ClipperMaskImage. The purpose
1144         of having it a class even though it includes only one member was because
1145         we wanted it to be WTF_MAKE_FAST_ALLOCATED. We do not need to allocate it
1146         as a separate object on the heap anymore.
1147         
1148         (WebCore::RenderSVGResourceClipper::addRendererToClipper): Instead of doing
1149         double hash table lookups by calling HashMap::contains() and then HashMap::get(),
1150         we can use HashMap::add() instead.
1151
1152 2015-02-26  Said Abou-Hallawa  <sabouhallawa@apple.com>
1153
1154         Setting any of the <object> element plugin controlling attributes does not have any affect.
1155         https://bugs.webkit.org/show_bug.cgi?id=141936.
1156
1157         Reviewed by Zalan Bujtas.
1158
1159         When setting any of the <object> element plugin controlling attributes
1160         dynamically we need to mark the the element to be dirty by calling
1161         setNeedsStyleRecalc(), so it has to recreate its renderer when needed.
1162         
1163         Test: svg/as-object/svg-in-object-dynamic-attribute-change.html
1164
1165         * dom/Element.h: Delete unimplemented function.
1166         
1167         * html/HTMLObjectElement.cpp:
1168         (WebCore::HTMLObjectElement::parseAttribute): Dirty the element by calling
1169         setNeedsStyleRecalc() when one of the plugin controlling attributes gets
1170         changed. We have to clear the m_useFallbackContent because the attribute's
1171         new value might fix the object rendering.
1172         
1173         * html/HTMLObjectElement.h: Add a function to clear m_useFallbackContent.
1174         
1175         * html/HTMLPlugInImageElement.cpp:
1176         (WebCore::HTMLPlugInImageElement::willRecalcStyle): We might need to 
1177         reconstruct the object renderer in the image case. This can happen if the
1178         image was rendering fallback content and the attribute's new value fixes
1179         the object rendering.
1180
1181 2015-02-26  Brent Fulgham  <bfulgham@apple.com>
1182
1183         [Win] Make build logs more legible by reducing noise
1184         https://bugs.webkit.org/show_bug.cgi?id=142034
1185
1186         Reviewed by Alexey Proskuryakov.
1187
1188         Modify batch files, makefiles, and DOS commands to remove
1189         uninteresting/unhelpful output.
1190
1191         * WebCore.vcxproj/WebCoreGenerated.make:
1192         * WebCore.vcxproj/WebCorePreBuild.cmd:
1193         * WebCore.vcxproj/copyForwardingHeaders.cmd:
1194         * WebCore.vcxproj/copyWebCoreResourceFiles.cmd:
1195
1196 2015-02-26  Michael Catanzaro  <mcatanzaro@igalia.com>
1197
1198         [FreeType] REGRESSION(r180563): Introduced crashes
1199         https://bugs.webkit.org/show_bug.cgi?id=142044
1200
1201         Reviewed by Martin Robinson.
1202
1203         No new tests, should be caught by any woff font test.
1204
1205         Use optionsPattern, not m_pattern, when m_pattern may be null.
1206
1207         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1208         (WebCore::FontPlatformData::initializeWithFontFace):
1209
1210 2015-02-26  Sergio Villar Senin  <svillar@igalia.com>
1211
1212         ASSERTION FAILED: !length.isUndefined() in WebCore::GridLength::GridLength
1213         https://bugs.webkit.org/show_bug.cgi?id=141645
1214
1215         Reviewed by Chris Dumez.
1216
1217         This bug has been here since r110484 but was uncovered by
1218         r180140. The problem r110484 was trying to fix was that
1219         CSSPrimitiveValue::convertToLength<Length> ended up calling
1220         CSSPrimitiveValue::computeLengthDouble() which was apparently
1221         dereferencing conversionData.style() and
1222         conversionData.rootStyle() pointers without checking them. That's
1223         why that fix added this condition to convertToLength():
1224
1225         isFontRelativeLength() && (!conversionData.style() || !conversionData.rootStyle())
1226
1227         which is not correct, because for the 4 possible font relative
1228         length types, 3 of them just use the style() pointer and the other
1229         one just uses rootStyle() which BTW could be NULL. This erroneous
1230         condition makes that function to return Length(Undefined) more
1231         often than it should.
1232
1233         From now on it only returns Length(Undefined) if the style()
1234         pointer is NULL and the font relative length type is one in the
1235         set (CSS_EMS, CSS_EXS, CSS_CHS);
1236
1237         Test: fast/css-grid-layout/grid-with-relative-font-length-crash.html
1238
1239         * css/CSSPrimitiveValue.h:
1240         * css/CSSPrimitiveValueMappings.h:
1241         (WebCore::CSSPrimitiveValue::convertingToLengthRequiresNonNullStyle):
1242         (WebCore::CSSPrimitiveValue::convertToLength):
1243
1244
1245 2015-02-26  Andreas Kling  <akling@apple.com>
1246
1247         [Cocoa] Prod libcache to drop caches in memory pressure relief handler.
1248         <https://webkit.org/b/142024>
1249         <rdar://problem/19966096>
1250
1251         Reviewed by Antti Koivisto.
1252
1253         libcache already listens to the OS memory pressure notifications, but we still
1254         need to manually request a cleanup when doing an iOS process suspension, or when
1255         simulating memory pressure.
1256
1257         * platform/cocoa/MemoryPressureHandlerCocoa.mm:
1258         (WebCore::MemoryPressureHandler::platformReleaseMemory): Call out to libcache's
1259         cache_simulate_memory_warning_event() to make sure that nonessential objects
1260         being kept alive by NSCaches get dropped when we need the memory.
1261
1262 2015-02-25  Zalan Bujtas  <zalan@apple.com>
1263
1264         Black line across screen on Adobe Illustrator detail page (non-retina only)
1265         https://bugs.webkit.org/show_bug.cgi?id=141866
1266
1267         Reviewed by Simon Fraser.
1268
1269         Phase is relative to the destination origin. We need to take location information into account
1270         while snapping so that the result is inline with the snapped destination rect.
1271         (location affects the snapped size.)
1272
1273         Test: fast/backgrounds/gradient-background-on-subpixel-position.html
1274
1275         * rendering/RenderBoxModelObject.cpp:
1276         (WebCore::pixelSnapBackgroundImageGeometryForPainting):
1277         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1278
1279 2015-02-25  Brent Fulgham  <bfulgham@apple.com>
1280
1281         [Win] Use WEBCORE_EXPORT instead of Definition file
1282         https://bugs.webkit.org/show_bug.cgi?id=141734
1283
1284         Reviewed by Alex Christensen.
1285
1286         No change in functionality.
1287
1288         * WebCore.vcxproj/WebCore.vcxproj: Correct bad Precompiled header
1289         settings on certain files.
1290         * WebCore.vcxproj/WebCore.vcxproj.filters: Automatically updated
1291         by Visual Studio.
1292         * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Ditto.
1293         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Ditto.
1294         * WebCore.vcxproj/WebCoreTestSupportCommon.props: Added.
1295         * WebCore.vcxproj/WebCoreTestSupportDebug.props: Added.
1296         * WebCore.vcxproj/WebCoreTestSupportDebugWinCairo.props: Added.
1297         * WebCore.vcxproj/WebCoreTestSupportProduction.props: Added.
1298         * WebCore.vcxproj/WebCoreTestSupportRelease.props: Added.
1299         * WebCore.vcxproj/WebCoreTestSupportReleaseWinCairo.props: Added.
1300         * WebCorePrefix.h: Provide proper export definitions for Windows.
1301         * bindings/js/JSCustomXPathNSResolver.cpp: Add missing #include
1302         needed by the new export style.
1303         * bindings/js/JSDOMWindowBase.h: Export class since DRT needs
1304         access to parts of it.
1305         * bindings/js/ScriptCachedFrameData.cpp: Add missing #include
1306         needed by the new export style.
1307         * bindings/scripts/CodeGeneratorJS.pm: Use different export macro
1308         when generating WebCoreTestSupport files, so that we don't confuse
1309         the linker when WebCore.lib and WebCoreTestSupport.lib try to
1310         both export WEBCORE_EXPORT symbols.
1311         (ExportLabelForClass):
1312         (GenerateHeader):
1313         * bridge/jsc/BridgeJSC.cpp: Add missing #include needed by the new
1314         export style.
1315         * css/CSSParser.cpp: Ditto.
1316         * dom/Document.cpp: Ditto.
1317         * html/HTMLImageLoader.cpp: Ditto.
1318         * inspector/CommandLineAPIModule.cpp: Ditto.
1319         * inspector/PageDebuggerAgent.cpp: Ditto.
1320         * inspector/PageRuntimeAgent.cpp: Ditto.
1321         * inspector/WorkerRuntimeAgent.cpp: Ditto.
1322         * page/DOMWindow.cpp: Ditto.
1323         * page/DOMWindow.h: Export the destructor, as it is needed by
1324         DumpRenderTree (on Windows).
1325         * page/Page.cpp: Add missing #include needed by the new export style.
1326         * platform/Logging.h: Remove conflicting export declaration.
1327         * platform/PlatformExportMacros.h: Update for Windows use.
1328         * testing/Internals.cpp: Add missing #include needed by the new export style.
1329         * testing/Internals.h: Use WEBCORE_TESTSUPPORT_EXPORT for things that
1330         are supposed to be exported by WebCoreTestSupport, not WebCore.
1331         * testing/js/WebCoreTestSupport.cpp: Add missing #include needed by
1332         new export style.
1333         * testing/js/WebCoreTestSupportPrefix.cpp: Added.
1334         * testing/js/WebCoreTestSupportPrefix.h: Added.
1335         * xml/XMLHttpRequest.h: Export the destructor.
1336         * xml/XSLStyleSheetLibxslt.cpp: Add missing #include needed by the new
1337         export style.
1338         * xml/XSLTProcessorLibxslt.cpp: Ditto.
1339
1340 2015-02-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1341
1342         Remove unnecessary DatabaseFooTask::create
1343         https://bugs.webkit.org/show_bug.cgi?id=142002
1344
1345         Reviewed by Darin Adler.
1346
1347         DatabaseFooTask::create can be replaced with std::make_unique<>.
1348
1349         No new tests, no behavior changes.
1350
1351         * Modules/webdatabase/Database.cpp:
1352         (WebCore::Database::scheduleTransaction):
1353         (WebCore::Database::scheduleTransactionStep):
1354         (WebCore::Database::markAsDeletedAndClose):
1355         (WebCore::Database::closeImmediately):
1356         (WebCore::Database::tableNames):
1357         * Modules/webdatabase/DatabaseTask.h:
1358         (WebCore::DatabaseBackend::DatabaseCloseTask::create): Deleted.
1359         (WebCore::DatabaseBackend::DatabaseTransactionTask::create): Deleted.
1360         (WebCore::DatabaseBackend::DatabaseTableNamesTask::create): Deleted.
1361
1362 2015-02-25  Dean Jackson  <dino@apple.com>
1363
1364         [iOS Media] incorrect front padding on time values
1365         https://bugs.webkit.org/show_bug.cgi?id=142027
1366         <rdar://problem/19960790>
1367
1368         Reviewed by Brent Fulgham.
1369
1370         We don't want to prefix times with a "0".
1371
1372         * Modules/mediacontrols/mediaControlsApple.js:
1373         (Controller.prototype.formatTime):
1374
1375 2015-02-25  Chris Dumez  <cdumez@apple.com>
1376
1377         Make PublicURLManager suspendable
1378         https://bugs.webkit.org/show_bug.cgi?id=141977
1379         <rdar://problem/19923085>
1380
1381         Reviewed by Andreas Kling.
1382
1383         Make PublicURLManager suspendable by overriding ActiveDOMObject::canSuspend()
1384         and returning true. Nothing prevents suspending the PublicURLManager as its
1385         implementation never causes JS to be executed. No implementation for
1386         suspend() / resume() needs to be provided for the same reason.
1387
1388         The fact that PublicURLManager wasn't suspendable was preventing pages using
1389         URL.createObjectURL() from entering the PageCache. Baidu.com search results
1390         pages are using the API for example.
1391
1392         Test: fast/history/page-cache-createObjectURL.html
1393
1394         * html/PublicURLManager.cpp:
1395         (WebCore::PublicURLManager::canSuspend):
1396         * html/PublicURLManager.h:
1397
1398 2015-02-25  Zalan Bujtas  <zalan@apple.com>
1399
1400         Cleanup BackgroundImageGeometry class.
1401         https://bugs.webkit.org/show_bug.cgi?id=141997
1402
1403         Reviewed by Simon Fraser.
1404
1405         This patch attempts to improve RenderBoxModelObject::calculateBackgroundImageGeometry() readability by
1406         removing redundant code and making image geometry operations explicit. BackgroundImageGeometry
1407         becomes a read only class (with the exception of the clip() method).
1408
1409         No change in functionality.
1410
1411         * rendering/RenderBoxModelObject.cpp:
1412         (WebCore::BackgroundImageGeometry::BackgroundImageGeometry):
1413         (WebCore::BackgroundImageGeometry::pixelSnapBackgroundImageGeometryForPainting):
1414         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1415         (WebCore::BackgroundImageGeometry::setNoRepeatX): Deleted.
1416         (WebCore::BackgroundImageGeometry::setNoRepeatY): Deleted.
1417         (WebCore::BackgroundImageGeometry::useFixedAttachment): Deleted.
1418         (WebCore::BackgroundImageGeometry::clip): Deleted.
1419         (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting): Deleted.
1420         * rendering/RenderBoxModelObject.h:
1421         (WebCore::BackgroundImageGeometry::clip):
1422         (WebCore::BackgroundImageGeometry::BackgroundImageGeometry): Deleted.
1423         (WebCore::BackgroundImageGeometry::setDestRect): Deleted.
1424         (WebCore::BackgroundImageGeometry::setPhase): Deleted.
1425         (WebCore::BackgroundImageGeometry::setPhaseX): Deleted.
1426         (WebCore::BackgroundImageGeometry::setPhaseY): Deleted.
1427         (WebCore::BackgroundImageGeometry::setTileSize): Deleted.
1428         (WebCore::BackgroundImageGeometry::setSpaceSize): Deleted.
1429         (WebCore::BackgroundImageGeometry::setHasNonLocalGeometry): Deleted.
1430
1431 2015-02-25  Said Abou-Hallawa  <sabouhallawa@apple.com>
1432
1433         Horizontal and vertical lines are clipped completely if clip-path is included in the tag but the referenced element is defined later.
1434         https://bugs.webkit.org/show_bug.cgi?id=141776.
1435
1436         Reviewed by Dean Jackson.
1437
1438         Tests: svg/clip-path/clip-path-line-use-before-defined-expected.svg
1439                svg/clip-path/clip-path-line-use-before-defined.svg
1440
1441         * rendering/svg/RenderSVGResourceClipper.cpp:
1442         (WebCore::RenderSVGResourceClipper::applyClippingToContext): Ensure the renderer
1443         is added to m_clipper if it does not exist. The same renderer might have been 
1444         added to m_clipper in resourceBoundingBox().
1445         
1446         (WebCore::RenderSVGResourceClipper::addRendererToClipper): Add the renderer to
1447         m_clipper if it does not exist. Return the associated ClipperData.
1448         
1449         (WebCore::RenderSVGResourceClipper::resourceBoundingBox): If the clipper is
1450         referenced before it is defined, add the renderer to m_clipper. While doing the
1451         layout() for the clipper, we can check if m_clipper has values or not. If it does
1452         have, we are going to mark the clipper for client invalidation which is done by
1453         the SVG root.
1454         
1455         * rendering/svg/RenderSVGResourceClipper.h:
1456         * rendering/svg/RenderSVGResourceContainer.h:
1457         (WebCore::RenderSVGResourceContainer::selfNeedsClientInvalidation): Define a 
1458         new function selfNeedsClientInvalidation() which controls marking the clipper 
1459         for client invalidation. In RenderSVGResourceClipper, override it so it checks
1460         m_clipper to force clients validation even if it the first time we do layout
1461         for this clipper.
1462
1463         * rendering/svg/RenderSVGResourceContainer.cpp:
1464         (WebCore::RenderSVGResourceContainer::layout): Call the virtual function
1465         selfNeedsClientInvalidation() to check whether we need to mark the clipper for
1466         client invalidation.
1467         
1468         * svg/SVGElement.cpp: Delete unneeded header file.
1469
1470 2015-02-25  peavo@outlook.com  <peavo@outlook.com>
1471
1472         [WinCairo] WinLauncher is not starting on Vista.
1473         https://bugs.webkit.org/show_bug.cgi?id=141905
1474
1475         Reviewed by Alex Christensen.
1476
1477         We have to soft link with Media Foundation functions to be able
1478         to start on Vista and WinXP.
1479
1480         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
1481         (WebCore::MediaPlayerPrivateMediaFoundation::createSession):
1482         (WebCore::MediaPlayerPrivateMediaFoundation::endSession):
1483         (WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource):
1484         (WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
1485         (WebCore::MediaPlayerPrivateMediaFoundation::createTopologyFromSource):
1486         (WebCore::MediaPlayerPrivateMediaFoundation::createOutputNode):
1487         (WebCore::MediaPlayerPrivateMediaFoundation::createSourceStreamNode):
1488         (WebCore::MediaPlayerPrivateMediaFoundation::onTopologySet):
1489
1490 2015-02-25  Beth Dakin  <bdakin@apple.com>
1491
1492         REGRESSION (r180018 ): Holding a rubber-band in place can get stuck
1493         https://bugs.webkit.org/show_bug.cgi?id=142020
1494         -and corresponding-
1495         rdar://problem/19945216
1496
1497         Reviewed by Tom Horton.
1498
1499         It was a mistaken assumption that it was necessary to return false in the zero-
1500         delta case. That is clearly conceptually wrong since false represents the DOM 
1501         doing something special with the event, which is clearly not the case if we never 
1502         even send the event to the DOM. Returning true will allow the rest of the 
1503         scrolling machinery the ability to handle the event.
1504         * dom/Element.cpp:
1505         (WebCore::Element::dispatchWheelEvent):
1506
1507 2015-02-25  Ryosuke Niwa  <rniwa@webkit.org>
1508
1509         HTMLElement::collectStyleForPresentationAttribute duplicates a lot of code for contentEditableAttr
1510         https://bugs.webkit.org/show_bug.cgi?id=142003
1511
1512         Reviewed by Sam Weinig.
1513
1514         Utilized contentEditableType to reduce the code duplication.
1515
1516         * html/HTMLElement.cpp:
1517         (WebCore::contentEditableType): Moved and added a version that takes AtomicString.
1518         (WebCore::HTMLElement::collectStyleForPresentationAttribute):
1519
1520 2015-02-25  Sergio Villar Senin  <svillar@igalia.com>
1521
1522         [CSS Grid Layout] Tracks growing beyond limits when they should not
1523         https://bugs.webkit.org/show_bug.cgi?id=140883
1524
1525         Reviewed by Darin Adler.
1526
1527         Our track sizing algorithm implementation incorrectly grew some
1528         tracks beyond limits when handling min-content and max-content
1529         base sizes. In those cases we should only grow "any affected track
1530         that happens to also have an intrinsic max track sizing function"
1531         or all of them if there are none.
1532
1533         The problem was that we're using a vector of indexes pointing to
1534         the vector with the list of affected tracks. Those indexes become
1535         easily incorrect because the first thing we do in
1536         distributeSpaceToTracks() is to sort the vector with the affected
1537         tracks by growth potential.
1538
1539         Instead of that we now pass a vector with pointers to the list of
1540         tracks allowed to grow over the limits. The size changes are now
1541         directly stored in the GridTracks (it's called plannedSize)
1542         instead of in a separate vector, so we don't need to worry about
1543         tracks being rearranged (and we also get rid of the ugly vector of
1544         indexes pointing to another vector).
1545
1546         * rendering/RenderGrid.cpp:
1547         (WebCore::GridTrack::plannedSize): New member with getter/setter.
1548         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
1549         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
1550         Pass a setXXX() function instead of a growXXX() one to ForItems().
1551         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
1552         Renamed additionalBreadthSpace to extraSpace which is the term
1553         used by specs.
1554         (WebCore::RenderGrid::distributeSpaceToTracks): Use GridTrack's
1555         plannedSize instead of the old distribution vector.
1556         (WebCore::GridTrack::growBaseSize): Deleted.
1557         (WebCore::GridTrack::growGrowthLimit): Deleted.
1558         * rendering/RenderGrid.h:
1559
1560 2015-02-25  Joanmarie Diggs  <jdiggs@igalia.com>
1561
1562         AX: Implement support for ARIA 1.1 'searchbox' role
1563         https://bugs.webkit.org/show_bug.cgi?id=142004
1564
1565         Reviewed by Chris Fleizach.
1566
1567         Add a new accessible SearchFieldRole to handle both the ARIA role
1568         and the "search" input type.
1569
1570         No new tests. Instead, added a new test case to roles-exposed.html
1571         for the mapping, and updated roles-computedRoleString.html because
1572         there is now a one-to-one mapping between the "search" input type
1573         and an ARIA role.
1574
1575         * accessibility/AccessibilityNodeObject.cpp:
1576         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
1577         (WebCore::AccessibilityNodeObject::isSearchField):
1578         * accessibility/AccessibilityObject.cpp:
1579         (WebCore::AccessibilityObject::isARIATextControl):
1580         (WebCore::AccessibilityObject::isARIAInput):
1581         (WebCore::initializeRoleMap):
1582         * accessibility/AccessibilityObject.h:
1583         * accessibility/AccessibilityRenderObject.cpp:
1584         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1585         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1586         (atkRole):
1587         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1588         (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
1589         (-[WebAccessibilityObjectWrapper accessibilityTraits]):
1590         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
1591         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1592         (createAccessibilityRoleMap):
1593
1594 2015-02-24  Simon Fraser  <simon.fraser@apple.com>
1595
1596         Clarify some resizing terminology in ScrollView/FrameView
1597         https://bugs.webkit.org/show_bug.cgi?id=141996
1598
1599         Reviewed by Zalan Bujtas.
1600
1601         ScrollableArea/ScrollView/FrameView had some confusing terminology around
1602         contentsResized/visibleContentsResized/fixedLayoutSizeChanged.
1603         
1604         Clarify this by distinguishing between:
1605         1. Available size changes because of
1606             i) non-overlay scrollbar presence
1607            ii) ScrollableArea frame change
1608         2. Removing fixedLayoutSizeChanged() and just treating it like an
1609            available size change.
1610            
1611         contentsResized() is relegated to simply being a hook that allows Mac to
1612         flash overlay scrollbars.
1613         
1614         The confusingly named visibleContentsResized() is now updateContentsSize(),
1615         and is the way that a ScrollableArea tells its subclasss that it should recompute
1616         the size of the contents (i.e. do a layout).
1617
1618         * page/FrameView.cpp:
1619         (WebCore::FrameView::setContentsSize): No longer mysteriously skip the
1620         FrameView implementation of contentsResized(), which used to do a setNeedsLayout()
1621         which we didn't want to do from setContentsSize(), which itself happens as a result of layout.
1622         (WebCore::FrameView::adjustViewSize): Whitespace.
1623         (WebCore::FrameView::layout): Ditto.
1624         (WebCore::FrameView::availableContentSizeChanged): Called on frame size change, or scrollbar
1625         change.
1626         (WebCore::FrameView::updateContentsSize): This actually does the layout.
1627         (WebCore::FrameView::scrollbarStyleChanged): Always call the base class;  ScrollView::scrollbarStyleChanged
1628         will bail if not a forced update.
1629         (WebCore::FrameView::setCustomFixedPositionLayoutRect): Forces a layout via updateContentsSize() now.
1630         (WebCore::FrameView::contentsResized): Deleted.
1631         (WebCore::FrameView::fixedLayoutSizeChanged): Deleted.
1632         (WebCore::FrameView::visibleContentsResized): Deleted.
1633         * page/FrameView.h:
1634         * platform/ScrollView.cpp:
1635         (WebCore::ScrollView::setFixedLayoutSize): Calls availableContentSizeChanged() now.
1636         (WebCore::ScrollView::setUseFixedLayout): Ditto.
1637         (WebCore::ScrollView::availableContentSizeChanged): Update scrollbars if that's not
1638         the reason we are being called.
1639         (WebCore::ScrollView::updateScrollbars): contentsResized() was the thing that caused setNeedsLayout();
1640         replace it with availableContentSizeChanged(). visibleContentsResized() did the layout, and
1641         replace with updateContentsSize().
1642         (WebCore::ScrollView::setFrameRect): Call availableContentSizeChanged() now. This takes care of
1643         updating scrollbars, so no need to explicitly do that.
1644         (WebCore::ScrollView::scrollbarStyleChanged): Call the base class.
1645         (WebCore::ScrollView::fixedLayoutSizeChanged): Deleted.
1646         * platform/ScrollView.h:
1647         * platform/ScrollableArea.cpp:
1648         (WebCore::ScrollableArea::availableContentSizeChanged): Call scrollAnimator->contentsResized()
1649         to flash the scrollbars.
1650         (WebCore::ScrollableArea::scrolledToRight):
1651         (WebCore::ScrollableArea::scrollbarStyleChanged): Call availableContentSizeChanged() since
1652         scrollbar style affects available space.
1653         * platform/ScrollableArea.h:
1654         (WebCore::ScrollableArea::updateContentsSize):
1655         (WebCore::ScrollableArea::scrollbarStyleChanged): Deleted.
1656
1657 2015-02-24  Ryosuke Niwa  <rniwa@webkit.org>
1658
1659         Unreviewed Mavericks build attempt fix after r180609.
1660
1661         * platform/graphics/mac/GraphicsContext3DMac.mm:
1662         (WebCore::GraphicsContext3D::GraphicsContext3D):
1663         (WebCore::GraphicsContext3D::checkGPUStatusIfNecessary):
1664
1665 2015-02-19  Roger Fong  <roger_fong@apple.com>
1666
1667         WebGL: Destroy the GLContext if a GPU restart has been detected.
1668         https://bugs.webkit.org/show_bug.cgi?id=141567.
1669         <rdar://problem/18507496>
1670
1671         Reviewed by Dean Jackson.
1672
1673         * html/canvas/WebGLRenderingContextBase.cpp:
1674         (WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):
1675         * platform/graphics/GraphicsContext3D.h:
1676         (WebCore::GraphicsContext3D::setWebGLContext): 
1677         Keep track of which WebGLRenderingContext is associated with the current GraphicsContext3D.
1678         * platform/graphics/mac/GraphicsContext3DMac.mm:
1679         (WebCore::GraphicsContext3D::checkGPUStatusIfNecessary): Helper method to check GPU status.
1680         (WebCore::GraphicsContext3D::GraphicsContext3D): 
1681         Don’t immediately abort the GPU process when the restart status is kCGLCPGPURestartStatusBlacklisted.
1682         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1683         (WebCore::GraphicsContext3D::forceContextLost): 
1684         Force the WebGLRenderingContext to be lost.
1685         (WebCore::GraphicsContext3D::drawArrays): Check GPU status after calling drawArrays.
1686         (WebCore::GraphicsContext3D::drawElements): Check GPU status after calling drawElements.
1687         * WebCore.xcodeproj/project.pbxproj: Add SPI header for iOS.
1688         * platform/spi/ios/OpenGLESSPI.h: Added.
1689
1690 2015-02-24  Stephanie Lewis  <slewis@apple.com>
1691
1692         Unreviewed ios build fix after http://trac.webkit.org/changeset/180602.
1693
1694         * bindings/js/JSDOMWindowBase.cpp:
1695         (WebCore::JSDOMWindowBase::commonVM):
1696
1697 2015-02-24  Simon Fraser  <simon.fraser@apple.com>
1698
1699         Use an enum for scrollbar style
1700         https://bugs.webkit.org/show_bug.cgi?id=141985
1701
1702         Reviewed by Beth Dakin.
1703
1704         Switch to an enum class for the scrollbar style (normal or overlay).
1705
1706         * page/ChromeClient.h:
1707         * page/FrameView.cpp:
1708         (WebCore::FrameView::scrollbarStyleChanged):
1709         * page/FrameView.h:
1710         * platform/ScrollTypes.h:
1711         * platform/ScrollView.cpp:
1712         (WebCore::ScrollView::scrollbarStyleChanged):
1713         * platform/ScrollView.h:
1714         * platform/ScrollableArea.h:
1715         (WebCore::ScrollableArea::scrollbarStyleChanged):
1716         * platform/mac/ScrollAnimatorMac.mm:
1717         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
1718
1719 2015-02-24  Commit Queue  <commit-queue@webkit.org>
1720
1721         Unreviewed, rolling out r180599.
1722         https://bugs.webkit.org/show_bug.cgi?id=141998
1723
1724         Lots of new test failures (Requested by smfr on #webkit).
1725
1726         Reverted changeset:
1727
1728         "Parsing support for -webkit-trailing-word"
1729         https://bugs.webkit.org/show_bug.cgi?id=141939
1730         http://trac.webkit.org/changeset/180599
1731
1732 2015-02-24  Sam Weinig  <sam@webkit.org>
1733
1734         [Attachment] Give <attachment> elements an underlying File
1735         https://bugs.webkit.org/show_bug.cgi?id=141993
1736
1737         Reviewed by Tim Horton.
1738
1739         - Add a JS subclass for attachments so that <attachment>s are
1740           instances of HTMLAttachmentElement rather than HTMLElement.
1741         - Give HTMLAttachmentElements an underlying File that they
1742           are the representation of. Expose it via a new 'file' property.
1743         - Expose a new Internals function called window.internals.createFile(url)
1744           that allows creating File objects for testing.
1745
1746         * CMakeLists.txt:
1747         * DerivedSources.cpp:
1748         * DerivedSources.make:
1749         * WebCore.vcxproj/WebCore.vcxproj:
1750         * WebCore.vcxproj/WebCore.vcxproj.filters:
1751         * WebCore.xcodeproj/project.pbxproj:
1752         * fileapi/File.h:
1753         * html/HTMLAttachmentElement.cpp:
1754         (WebCore::HTMLAttachmentElement::~HTMLAttachmentElement):
1755         (WebCore::HTMLAttachmentElement::file):
1756         (WebCore::HTMLAttachmentElement::setFile):
1757         * html/HTMLAttachmentElement.h:
1758         * html/HTMLAttachmentElement.idl: Added.
1759         * html/HTMLTagNames.in:
1760         * testing/Internals.cpp:
1761         (WebCore::Internals::createFile):
1762         * testing/Internals.h:
1763         * testing/Internals.idl:
1764
1765 2015-02-24  Joanmarie Diggs  <jdiggs@igalia.com>
1766
1767         AX: Implement support for ARIA 1.1 'switch' role
1768         https://bugs.webkit.org/show_bug.cgi?id=141986
1769
1770         Reviewed by Chris Fleizach.
1771
1772         Map the role to ATK_ROLE_TOGGLE_BUTTON for Gtk and Efl; on the Mac, to
1773         AXCheckBox with a subrole of AXSwitch. Ensure it looks and acts like a
1774         widget to accessibility APIs (supports and emits notifications when
1775         toggled, doesn't have children, exposes a name and description when
1776         provided).
1777
1778         Tests: accessibility/aria-switch-checked.html
1779                accessibility/aria-switch-sends-notification.html
1780                accessibility/aria-switch-text.html
1781
1782         * accessibility/AccessibilityNodeObject.cpp:
1783         (WebCore::AccessibilityNodeObject::canHaveChildren):
1784         (WebCore::AccessibilityNodeObject::isChecked):
1785         (WebCore::AccessibilityNodeObject::visibleText):
1786         (WebCore::AccessibilityNodeObject::title):
1787         * accessibility/AccessibilityObject.cpp:
1788         (WebCore::AccessibilityObject::isARIAInput):
1789         (WebCore::AccessibilityObject::actionVerb):
1790         (WebCore::initializeRoleMap):
1791         (WebCore::AccessibilityObject::supportsChecked):
1792         (WebCore::AccessibilityObject::checkboxOrRadioValue):
1793         * accessibility/AccessibilityObject.h:
1794         (WebCore::AccessibilityObject::isSwitch):
1795         * accessibility/atk/AXObjectCacheAtk.cpp:
1796         (WebCore::AXObjectCache::postPlatformNotification):
1797         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1798         (atkRole):
1799         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1800         (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
1801         (-[WebAccessibilityObjectWrapper accessibilityTraits]):
1802         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
1803         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1804         (createAccessibilityRoleMap):
1805         (-[WebAccessibilityObjectWrapper subrole]):
1806         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1807
1808 2015-02-24  Myles C. Maxfield  <mmaxfield@apple.com>
1809
1810         [Mac] [iOS] Parsing support for -apple-trailing-word
1811         https://bugs.webkit.org/show_bug.cgi?id=141939
1812
1813         Reviewed by Andreas Kling.
1814
1815         This patch implements initial parsing support for the -apple-trailing-word CSS property.
1816         This property has two possible (mutually exclusive) values: auto and
1817         -apple-partially-balanced. This property is inherited.
1818
1819         The work for this property is behind the ENABLE(CSS_TRAILING_WORD) preprocessor define.
1820
1821         This is an internal property that will allow us to control line breaking behavior for
1822         short paragraphs.
1823
1824         Note that, because of the implementation of cssValueKeywordID() in CSSParser.cpp,
1825         the new value must be implemented as -webkit-partially-balanced. Using the -apple-
1826         prefix will work, but if you getComputedStyle(), it will return the -webkit- prefixed
1827         version.
1828
1829         Test: platform/mac/fast/text/trailing-word-parse.html
1830
1831         * Configurations/FeatureDefines.xcconfig:
1832         * css/CSSComputedStyleDeclaration.cpp:
1833         (WebCore::ComputedStyleExtractor::propertyValue): Turn internal representation into a
1834         CSS value.
1835         * css/CSSParser.cpp:
1836         (WebCore::isValidKeywordPropertyAndValue): Updated for new keyword property / value
1837         pair.
1838         (WebCore::isKeywordPropertyID): New property is a keyword property.
1839         (WebCore::CSSParser::parseValue): Use the keyword property codepath.
1840         * css/CSSPrimitiveValueMappings.h:
1841         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Convert to and from the internal
1842         representation and CSS values.
1843         (WebCore::CSSPrimitiveValue::operator TrailingWord):
1844         * css/CSSPropertyNames.in: New property.
1845         * css/CSSValueKeywords.in: New value.
1846         * rendering/SimpleLineLayout.cpp:
1847         (WebCore::SimpleLineLayout::canUseFor): Can't use SimpleLineLayout for this.
1848         * rendering/style/RenderStyle.h: Getter, setter and initial value.
1849         * rendering/style/RenderStyleConstants.h: Internal data type.
1850         * rendering/style/StyleRareInheritedData.h: One bit to control this style property.
1851
1852 2015-02-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1853
1854         Remove DecodingTask::create and DatabaseOpenTask::create
1855         https://bugs.webkit.org/show_bug.cgi?id=141966
1856
1857         Reviewed by Anders Carlsson.
1858
1859         These create() factory functions are redundant. We can use std::make_unique<> directly.
1860
1861         No new tests, no behavior changes.
1862
1863         * Modules/webaudio/AsyncAudioDecoder.cpp:
1864         (WebCore::AsyncAudioDecoder::decodeAsync):
1865         (WebCore::AsyncAudioDecoder::DecodingTask::create): Deleted.
1866         * Modules/webaudio/AsyncAudioDecoder.h:
1867         * Modules/webdatabase/Database.cpp:
1868         (WebCore::Database::openAndVerifyVersion):
1869         * Modules/webdatabase/DatabaseTask.h:
1870         (WebCore::DatabaseBackend::DatabaseOpenTask::create): Deleted.
1871
1872 2015-02-24  Commit Queue  <commit-queue@webkit.org>
1873
1874         Unreviewed, rolling out r180578.
1875         https://bugs.webkit.org/show_bug.cgi?id=141992
1876
1877         Broke scrolling in Inspector Console. (Requested by JoePeck on
1878         #webkit).
1879
1880         Reverted changeset:
1881
1882         "[Mac] WebKit abandons overlay scrollbar CALayers."
1883         https://bugs.webkit.org/show_bug.cgi?id=141943
1884         http://trac.webkit.org/changeset/180578
1885
1886 2015-02-24  Dean Jackson  <dino@apple.com>
1887
1888         [ios Media] the inline controls are visible after pressing Done on iPhone
1889         https://bugs.webkit.org/show_bug.cgi?id=141987
1890         <rdar://problem/19944110>
1891
1892         Reviewed by Beth Dakin.
1893
1894         When exiting out of a playing video, we should show the
1895         start playback button if we don't allow inline media
1896         (such as on iPhone).
1897
1898         * Modules/mediacontrols/mediaControlsiOS.js:
1899         (ControllerIOS.prototype.shouldHaveStartPlaybackButton): Test for
1900         allowsInline as well.
1901
1902 2015-02-24  Zalan Bujtas  <zalan@apple.com>
1903
1904         Pass FillLayer reference instead of pointer to RenderBoxModelObject::calculateBackgroundImageGeometry.
1905         https://bugs.webkit.org/show_bug.cgi?id=141982
1906
1907         Reviewed by Simon Fraser.
1908
1909         There should always be a valid FillLayer.
1910
1911         No change in functionality.
1912
1913         * rendering/RenderBox.cpp:
1914         (WebCore::RenderBox::getBackgroundPaintedExtent):
1915         (WebCore::RenderBox::maskClipRect):
1916         (WebCore::RenderBox::repaintLayerRectsForImage):
1917         * rendering/RenderBoxModelObject.cpp:
1918         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1919         (WebCore::RenderBoxModelObject::calculateFillTileSize):
1920         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1921         (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
1922         * rendering/RenderBoxModelObject.h:
1923
1924 2015-02-24  Dean Jackson  <dino@apple.com>
1925
1926         [iOS Media] Be specific about which document to use for the timeline background canvas
1927         https://bugs.webkit.org/show_bug.cgi?id=141981
1928
1929         Reviewed by Eric Carlson.
1930
1931         In some cases, especially with nested iframes, the document
1932         reference for the shadow DOM might not be the one used
1933         to create a -webkit-canvas context for rendering via CSS.
1934         Explicitly get the context from the video's owner
1935         document.
1936
1937         There is still a bug here:
1938         https://bugs.webkit.org/show_bug.cgi?id=141983
1939
1940         * Modules/mediacontrols/mediaControlsiOS.js:
1941         (ControllerIOS.prototype.drawTimelineBackground):
1942
1943 2015-02-24  Zalan Bujtas  <zalan@apple.com>
1944
1945         Remove unused BackgroundImageGeometry::m_destOrigin
1946         https://bugs.webkit.org/show_bug.cgi?id=141980
1947
1948         Reviewed by Simon Fraser.
1949
1950         Remove BackgroundImageGeometry::m_destOrigin and its dependencies.
1951         They are not used at all.
1952
1953         No change in functionality.
1954
1955         * rendering/RenderBoxModelObject.cpp:
1956         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1957         (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
1958         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1959         (WebCore::BackgroundImageGeometry::relativePhase): Deleted.
1960         * rendering/RenderBoxModelObject.h:
1961         (WebCore::BackgroundImageGeometry::destOrigin): Deleted.
1962         (WebCore::BackgroundImageGeometry::setDestOrigin): Deleted.
1963         * rendering/svg/RenderSVGResourceMasker.cpp:
1964         (WebCore::RenderSVGResourceMasker::drawMaskForRenderer):
1965
1966 2015-02-24  Zalan Bujtas  <zalan@apple.com>
1967
1968         RenderBoxModelObject::calculateBackgroundImageGeometry should return BackgroundImageGeometry.
1969         https://bugs.webkit.org/show_bug.cgi?id=141979
1970
1971         Reviewed by Simon Fraser.
1972
1973         No change in functionality.
1974
1975         * rendering/RenderBox.cpp:
1976         (WebCore::RenderBox::getBackgroundPaintedExtent):
1977         (WebCore::RenderBox::maskClipRect):
1978         (WebCore::RenderBox::repaintLayerRectsForImage):
1979         * rendering/RenderBoxModelObject.cpp:
1980         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1981         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1982         (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
1983         * rendering/RenderBoxModelObject.h:
1984
1985 2015-02-24  Zalan Bujtas  <zalan@apple.com>
1986
1987         Switch BackgroundImageGeometry's m_phase from LayoutPoint to LayoutSize.
1988         https://bugs.webkit.org/show_bug.cgi?id=141972
1989
1990         Reviewed by Simon Fraser.
1991
1992         Image geometry's phase represents distance.
1993
1994         No change in functionality.
1995
1996         * WebCore.order:
1997         * platform/graphics/GraphicsLayer.h:
1998         (WebCore::GraphicsLayer::setContentsTilePhase):
1999         (WebCore::GraphicsLayer::contentsTilePhase):
2000         * platform/graphics/texmap/TextureMapperLayer.cpp:
2001         (WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
2002         (WebCore::TextureMapperLayer::setContentsTilePhase):
2003         * platform/graphics/texmap/TextureMapperLayer.h:
2004         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2005         (WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):
2006         * rendering/RenderBoxModelObject.cpp:
2007         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2008         (WebCore::BackgroundImageGeometry::setNoRepeatX):
2009         (WebCore::BackgroundImageGeometry::setNoRepeatY):
2010         (WebCore::BackgroundImageGeometry::useFixedAttachment):
2011         (WebCore::BackgroundImageGeometry::relativePhase):
2012         (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
2013         (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
2014         * rendering/RenderBoxModelObject.h:
2015         (WebCore::BackgroundImageGeometry::phase):
2016         (WebCore::BackgroundImageGeometry::setPhase):
2017         (WebCore::BackgroundImageGeometry::setPhaseX):
2018         (WebCore::BackgroundImageGeometry::setPhaseY):
2019         * rendering/RenderLayerBacking.cpp:
2020         (WebCore::RenderLayerBacking::resetContentsRect):
2021         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
2022         * rendering/svg/RenderSVGResourceMasker.cpp:
2023         (WebCore::RenderSVGResourceMasker::drawMaskForRenderer):
2024
2025 2015-02-24  Andreas Kling  <akling@apple.com>
2026
2027         [Mac] WebKit abandons overlay scrollbar CALayers.
2028         <https://webkit.org/b/141943>
2029         <rdar://problem/19932199>
2030
2031         Reviewed by Beth Dakin.
2032
2033         * platform/mac/ScrollAnimatorMac.mm:
2034         (-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]):
2035         Use NSAnimationNonblockingThreaded to ensure that NSAnimations get cleaned up after they finish.
2036         The animation was indirectly retaining the overlay scrollbar's CALayer, causing significant
2037         amounts of abandoned memory to accumulate over time.
2038
2039 2015-02-24  Anders Carlsson  <andersca@apple.com>
2040
2041         Implement more of the data fetching API
2042         https://bugs.webkit.org/show_bug.cgi?id=141975
2043
2044         Reviewed by Andreas Kling.
2045
2046         Add API for getting origins in a given session that has cached data.
2047
2048         * loader/cache/MemoryCache.cpp:
2049         (WebCore::MemoryCache::originsWithCache):
2050
2051 2015-02-24  Simon Fraser  <simon.fraser@apple.com>
2052
2053         Use nullptr in more places in FrameView, RenderView, RenderObject
2054         https://bugs.webkit.org/show_bug.cgi?id=141974
2055
2056         Reviewed by Zalan Bujtas.
2057
2058         0 -> nullptr in FrameView.h/cpp, RenderView.h/cpp, RenderObject.h/cpp.
2059         
2060         Rename FrameView::m_deferSetNeedsLayouts to FrameView::m_deferSetNeedsLayoutCount
2061         to make it more clear that it's a count.
2062
2063         * page/FrameView.cpp:
2064         (WebCore::FrameView::FrameView):
2065         (WebCore::FrameView::reset):
2066         (WebCore::FrameView::setContentsSize):
2067         (WebCore::FrameView::calculateScrollbarModesForLayout):
2068         (WebCore::FrameView::layerForScrolling):
2069         (WebCore::FrameView::layerForHorizontalScrollbar):
2070         (WebCore::FrameView::layerForVerticalScrollbar):
2071         (WebCore::FrameView::layerForScrollCorner):
2072         (WebCore::FrameView::tiledBacking):
2073         (WebCore::FrameView::scrollLayerID):
2074         (WebCore::FrameView::layerForOverhangAreas):
2075         (WebCore::FrameView::setWantsLayerForTopOverHangArea):
2076         (WebCore::FrameView::setWantsLayerForBottomOverHangArea):
2077         (WebCore::FrameView::hasCompositedContentIncludingDescendants):
2078         (WebCore::FrameView::layoutRoot):
2079         (WebCore::FrameView::forceLayoutParentViewIfNeeded):
2080         (WebCore::FrameView::layout):
2081         (WebCore::FrameView::hostWindow):
2082         (WebCore::FrameView::scheduleRelayout):
2083         (WebCore::FrameView::scheduleRelayoutOfSubtree):
2084         (WebCore::FrameView::needsLayout):
2085         (WebCore::FrameView::setNeedsLayout):
2086         (WebCore::FrameView::enclosingScrollableArea):
2087         (WebCore::FrameView::parentFrameView):
2088         (WebCore::FrameView::paintControlTints):
2089         (WebCore::FrameView::adjustPageHeightDeprecated):
2090         (WebCore::FrameView::axObjectCache):
2091         * page/FrameView.h:
2092         * rendering/RenderObject.cpp:
2093         (WebCore::RenderObject::RenderObject):
2094         (WebCore::RenderObject::nextInPreOrderAfterChildren):
2095         (WebCore::RenderObject::previousInPreOrder):
2096         (WebCore::RenderObject::firstLeafChild):
2097         (WebCore::RenderObject::lastLeafChild):
2098         (WebCore::RenderObject::traverseNext):
2099         (WebCore::RenderObject::firstLineBlock):
2100         (WebCore::RenderObject::containerForRepaint):
2101         (WebCore::RenderObject::showRenderSubTreeAndMark):
2102         (WebCore::RenderObject::localToAbsolute):
2103         (WebCore::RenderObject::container):
2104         * rendering/RenderObject.h:
2105         (WebCore::RenderObject::virtualContinuation):
2106         (WebCore::RenderObject::node):
2107         (WebCore::RenderObject::nonPseudoNode):
2108         (WebCore::RenderObject::localToAbsoluteQuad):
2109         (WebCore::RenderObject::absoluteQuads):
2110         (WebCore::RenderObject::absoluteClippedOverflowRect):
2111         (WebCore::RenderObject::outlineBoundsForRepaint):
2112         (WebCore::RenderObject::computeAbsoluteRepaintRect):
2113         (WebCore::RenderObject::selectionRect):
2114         (WebCore::RenderObject::imageChanged):
2115         (WebCore::RenderObject::addFocusRingRects):
2116         (WebCore::RenderObject::absoluteOutlineBounds):
2117         * rendering/RenderView.cpp:
2118         (WebCore::SelectionIterator::next):
2119         (WebCore::RenderView::RenderView):
2120         (WebCore::RenderView::mapLocalToContainer):
2121         (WebCore::RenderView::pushMappingToContainer):
2122         (WebCore::RenderView::computeRectForRepaint):
2123         (WebCore::rendererAfterPosition):
2124         (WebCore::RenderView::splitSelectionBetweenSubtrees):
2125         (WebCore::RenderView::rootBackgroundIsEntirelyFixed):
2126         * rendering/RenderView.h:
2127
2128 2015-02-24  Yusuke Suzuki  <utatane.tea@gmail.com>
2129
2130         REGRESSION(r179429): Can't type comments in Facebook
2131         https://bugs.webkit.org/show_bug.cgi?id=141859
2132
2133         Reviewed by Brent Fulgham.
2134
2135         Enable SymbolEnabled runtime flag in inspector context.
2136
2137         * ForwardingHeaders/runtime/RuntimeFlags.h: Added.
2138         * WebCore.order:
2139         * WebCore.vcxproj/WebCore.vcxproj:
2140         * WebCore.vcxproj/WebCore.vcxproj.filters:
2141         * bindings/js/JSDOMWindowBase.cpp:
2142         (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
2143         (WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.
2144         * bindings/js/JSDOMWindowBase.h:
2145         * bindings/js/JSWorkerGlobalScopeBase.cpp:
2146         (WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
2147         (WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.
2148         * bindings/js/JSWorkerGlobalScopeBase.h:
2149         * inspector/InspectorFrontendClientLocal.cpp:
2150         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
2151         * page/Settings.h:
2152         * page/Settings.in:
2153
2154 2015-02-24  Manuel Rego Casasnovas  <rego@igalia.com>
2155
2156         [CSS Grid Layout] Support "sparse" in auto-placed items locked to a row/column
2157         https://bugs.webkit.org/show_bug.cgi?id=141748
2158
2159         Reviewed by Sergio Villar Senin.
2160
2161         The first step of grid item placement algorithm has been updated in
2162         order to support both "sparse" and "dense" modes. Current code is always
2163         doing a "dense" packing in this case.
2164
2165         See: http://dev.w3.org/csswg/css-grid/#auto-placement-algo
2166
2167         Test: fast/css-grid-layout/grid-item-auto-placement-fixed-row-column.html
2168
2169         * rendering/RenderGrid.cpp:
2170         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid): Add a cursor
2171         for each row/column and use it to place items in the right position.
2172
2173 2015-02-24  Joanmarie Diggs  <jdiggs@igalia.com>
2174
2175         [GTK] Layout Test accessibility/roles-exposed.html is failing
2176         https://bugs.webkit.org/show_bug.cgi?id=141960
2177
2178         Reviewed by Martin Robinson.
2179
2180         The test was failing because Gtk now uses GtkColorChooserDialog for the
2181         color input, making the input field a button which results in the color
2182         chooser dialog appearing. As a side effect of this change, the input now
2183         has an accessible role of ColorWell, which is currently mapped to
2184         ATK_ROLE_COLOR_CHOOSER (which is by definition the dialog which results
2185         upon activating the button input field). Changed the Gtk platform mapping
2186         to ATK_ROLE_BUTTON, leaving the Efl mapping as-is.
2187
2188         No new tests. Instead, updated and unskipped failing test.
2189
2190         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2191         (atkRole):
2192
2193 2015-02-24  Michael Catanzaro  <mcatanzaro@igalia.com>
2194
2195         [GTK] Fonts loaded via @font-face look bad
2196         https://bugs.webkit.org/show_bug.cgi?id=140994
2197
2198         Reviewed by Martin Robinson.
2199
2200         We've had several complaints that woff fonts look bad on some websites. This seems to be a
2201         combination of multiple issues. For one, we don't look at Fontconfig settings at all when
2202         creating a web font. This commit changes FontPlatformData::initializeWithFontFace to instead
2203         use sane default settings from Fontconfig when loading a web font, rather than accepting the
2204         default settings from GTK+, which are normally overridden by Fontconfig when loading system
2205         fonts. However, we will hardcode the hinting setting for web fonts to always force use of
2206         the light autohinter, so that we do not use a font's native hints. This avoids compatibility
2207         issues when fonts with poor native hinting are only tested in browsers that do not use the
2208         native hints. It also allows us to sidestep future security vulnerabilities in FreeType's
2209         bytecode interpreter.
2210
2211         The net result of this is that there should be little noticable difference if you have GTK+
2212         set to use slight hinting (which forces use of the autohinter) unless you have customized
2213         Fontconfig configuration, but a dramatic improvement with particular fonts if you use medium
2214         or full hinting. This should reduce complaints about our font rendering on "fancy sites."
2215
2216         No new tests, since the affected fonts we've found are not freely redistributable.
2217
2218         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
2219         (WebCore::FontCustomPlatformData::FontCustomPlatformData): Force web fonts to be autohinted.
2220         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2221         (WebCore::getDefaultCairoFontOptions): Renamed to disambiguate.
2222         (WebCore::getDefaultFontconfigOptions): Added.
2223         (WebCore::FontPlatformData::initializeWithFontFace): Always call
2224         FontPlatformData::setCairoOptionsFromFontConfigPattern. If the FontPlatformData was not
2225         created with an FcPattern (e.g. because this is a web font), call
2226         getDefaultFontconfigOptions to get a sane default FcPattern.
2227         (WebCore::FontPlatformData::setOrientation): Renamed call to getDefaultCairoFontOptions.
2228         (WebCore::getDefaultFontOptions): Deleted.
2229
2230 2015-02-24  Andreas Kling  <akling@apple.com>
2231
2232         [Cocoa] Break internal reference cycle in WebCore::Font.
2233         <https://webkit.org/b/141941>
2234         <rdar://problem/19650570>
2235
2236         Reviewed by Antti Koivisto.
2237
2238         The Cocoa implementation of Font::platformCreateScaledFont() tried to be smart and use the FontCache.
2239         This didn't work out well when scaling a 0pt Font, since scaling 0pt by any factor will return 0pt.
2240
2241         We'd have a 0pt font, scale it by 0.7 to get a small-caps variant, and then cache that small-caps
2242         variant (really "this") in Font::m_derivedData->smallCaps.
2243
2244         Fix this by having Cocoa Font scaling do exactly what other platforms do: create a new Font every time.
2245         This stops us from accumulating tons of abandoned Font objects over time.
2246
2247         * platform/graphics/Font.cpp:
2248         (WebCore::Font::verticalRightOrientationFont):
2249         (WebCore::Font::uprightOrientationFont):
2250         (WebCore::Font::smallCapsFont):
2251         (WebCore::Font::emphasisMarkFont):
2252         (WebCore::Font::brokenIdeographFont):
2253         (WebCore::Font::nonSyntheticItalicFont): Add assertions to guard against reference cycles inside a Font.
2254
2255         * platform/graphics/cocoa/FontCocoa.mm:
2256         (WebCore::Font::platformCreateScaledFont): Always create a new Font when scaling an existing Font to a different size.
2257
2258 2015-02-24  Xabier Rodriguez Calvar <calvaris@igalia.com> and Youenn Fablet  <youenn.fablet@crf.canon.fr>
2259
2260         [Streams API] Reading ReadableStream ready and closed attributes should not always create a new promise
2261         https://bugs.webkit.org/show_bug.cgi?id=141650
2262
2263         Reviewed by Benjamin Poulain.
2264
2265         The JSPromiseDeferred objects returned by JSReadableStream::ready and JSReadableStream::closed should be stored somewhere.
2266         This patch stores them as private slots in JSReadableStream.
2267         This is close to the description in https://streams.spec.whatwg.org/#rs-internal-slots.
2268
2269         An alternative would be to have these objects as JSReadableStream class members, thus modifying the binding generator.
2270         That may be the cleanest solution, especially if other APIs express the same need.
2271         Another alternative is to store DeferredWrapper in ReadableStream objects.
2272         But it is currently preferred to keep DeferredWrapper in bindings/js code.
2273
2274         Added new constructor for DeferredWrapper to use these stored values.
2275         Updated ready and closed methods to use that new constructor.
2276         Changes are covered by new test in streams/readablestream-constructor.html.
2277
2278         * bindings/js/JSDOMPromise.cpp:
2279         (WebCore::DeferredWrapper::DeferredWrapper):
2280         * bindings/js/JSDOMPromise.h:
2281         * bindings/js/JSReadableStreamCustom.cpp:
2282         (WebCore::closedPromiseSlotName):
2283         (WebCore::getOrCreatePromiseDeferredFromObject):
2284         (WebCore::readyPromiseSlotName):
2285         (WebCore::JSReadableStream::ready):
2286         (WebCore::JSReadableStream::closed):
2287         * bindings/js/ReadableStreamJSSource.cpp:
2288         (WebCore::setInternalSlotToObject):
2289         (WebCore::getInternalSlotFromObject):
2290         * bindings/js/ReadableStreamJSSource.h:
2291
2292 2015-02-24  Dhi Aurrahman  <diorahman@rockybars.com>
2293
2294         Always serialize :lang()'s arguments to strings
2295         https://bugs.webkit.org/show_bug.cgi?id=141944
2296
2297         Reviewed by Benjamin Poulain.
2298
2299         As specified in [1] :lang()'s arguments are always serialized to strings.
2300
2301         [1] http://dev.w3.org/csswg/cssom/#serializing-selectors
2302
2303         Related tests are updated.
2304
2305         * css/CSSGrammar.y.in:
2306         * css/CSSParserValues.cpp:
2307         (WebCore::CSSParserSelector::setLangArgumentList):
2308         * css/CSSParserValues.h:
2309         (WebCore::CSSParserString::init):
2310         (WebCore::CSSParserString::clear):
2311         (WebCore::CSSParserString::tokenType): Deleted.
2312         (WebCore::CSSParserString::setTokenType): Deleted.
2313         * css/CSSSelector.cpp:
2314         (WebCore::appendLangArgumentList):
2315         (WebCore::CSSSelector::setLangArgumentList):
2316         * css/CSSSelector.h:
2317         (WebCore::CSSSelector::langArgumentList):
2318         * css/SelectorCheckerTestFunctions.h:
2319         (WebCore::matchesLangPseudoClass):
2320         * cssjit/SelectorCompiler.cpp:
2321         (WebCore::SelectorCompiler::addPseudoClassType):
2322         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):
2323
2324 2015-02-24  Antti Koivisto  <antti@apple.com>
2325
2326        Give TemporaryChange for m_inLoadPendingImages assertion a name so it actually does something.
2327
2328         * css/StyleResolver.cpp:
2329         (WebCore::StyleResolver::loadPendingImages):
2330
2331 2015-02-23  Commit Queue  <commit-queue@webkit.org>
2332
2333         Unreviewed, rolling out r180547 and r180550.
2334         https://bugs.webkit.org/show_bug.cgi?id=141957
2335
2336         Broke 10 Windows tests. (Requested by bfulgham_ on #webkit).
2337
2338         Reverted changesets:
2339
2340         "REGRESSION(r179429): Can't type comments in Facebook"
2341         https://bugs.webkit.org/show_bug.cgi?id=141859
2342         http://trac.webkit.org/changeset/180547
2343
2344         "Constructor returning null should construct an object instead
2345         of null"
2346         https://bugs.webkit.org/show_bug.cgi?id=141640
2347         http://trac.webkit.org/changeset/180550
2348
2349 2015-02-23  Ryosuke Niwa  <rniwa@webkit.org>
2350
2351         Disable font loading events until our implementation gets updated to match the latest spec
2352         https://bugs.webkit.org/show_bug.cgi?id=141938
2353
2354         Reviewed by Andreas Kling.
2355
2356         Revert r173531 for now since our implementation is outdated.
2357
2358         * Configurations/FeatureDefines.xcconfig:
2359
2360 2015-02-23  Brent Fulgham  <bfulgham@apple.com>
2361
2362         EventHandler references deleted Scrollbar
2363         https://bugs.webkit.org/show_bug.cgi?id=141931
2364         <rdar://problem/19915210>
2365
2366         Reviewed by Tim Horton.
2367
2368         Tested by scrollbars/overflow-custom-scrollbar-crash.html
2369
2370         Update the EventHandler class to use a WeakPtr to reference the
2371         last used Scrollbar, rather than retaining the Scrollbar and
2372         artificially extending its life. This keeps the EventHandler
2373         state in proper sync with the state of the render tree, and
2374         avoids cases where we have destroyed a ScrollableArea (and
2375         Scrollbar) but are still sending messages to a fake zombie
2376         version of the element.
2377
2378         * page/EventHandler.cpp:
2379         (WebCore::EventHandler::clear):
2380         (WebCore::EventHandler::handleMousePressEvent):
2381         (WebCore::EventHandler::updateMouseEventTargetNode):
2382         (WebCore::EventHandler::updateLastScrollbarUnderMouse):
2383         * page/EventHandler.h:
2384         * platform/Scrollbar.cpp:
2385         (WebCore::Scrollbar::Scrollbar): Initialize WeakPtrFactory.
2386         * platform/Scrollbar.h:
2387         (WebCore::Scrollbar::createWeakPtr): Added,
2388
2389 2015-02-23  Yusuke Suzuki  <utatane.tea@gmail.com>
2390
2391         REGRESSION(r179429): Can't type comments in Facebook
2392         https://bugs.webkit.org/show_bug.cgi?id=141859
2393
2394         Reviewed by Geoffrey Garen.
2395
2396         Enable SymbolEnabled runtime flag in inspector context.
2397
2398         * ForwardingHeaders/runtime/RuntimeFlags.h: Added.
2399         * WebCore.order:
2400         * WebCore.vcxproj/WebCore.vcxproj:
2401         * WebCore.vcxproj/WebCore.vcxproj.filters:
2402         * bindings/js/JSDOMWindowBase.cpp:
2403         (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
2404         (WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.
2405         * bindings/js/JSDOMWindowBase.h:
2406         * bindings/js/JSWorkerGlobalScopeBase.cpp:
2407         (WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
2408         (WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.
2409         * bindings/js/JSWorkerGlobalScopeBase.h:
2410         * inspector/InspectorFrontendClientLocal.cpp:
2411         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
2412         * page/Settings.h:
2413         * page/Settings.in:
2414
2415 2015-02-23  Benjamin Poulain  <benjamin@webkit.org>
2416
2417         CSS JIT: add support for case-insensitive attribute matching
2418         https://bugs.webkit.org/show_bug.cgi?id=141880
2419
2420         Reviewed by Andreas Kling.
2421
2422         The value matching now has 3 cases:
2423         1) Case-sensitive.
2424         2) Case-insensitive.
2425         3) Legacy HTML Case-insensitive.
2426
2427         The information to determine the case is split over 2 source:
2428         -To know if explicit case-insensitive is needed, we need to ask the selector
2429          for attributeValueMatchingIsCaseInsensitive().
2430         -To know if the legacy HTML behavior is needed, we need to test the attribute
2431          name filter with HTMLDocument::isCaseSensitiveAttribute().
2432
2433         I decided to perform all those checks at the fragment creation step.
2434         This makes the register requirements and code generation more explicit.
2435
2436         From there, everything is easy: switch() on the type of matching needed,
2437         and generate the code. The new case-insensitive case is a simplified version
2438         of the legacy HTML behavior without runtime check for the element type.
2439
2440         Tests: fast/css/implicitly-case-insensitive-attribute-with-svg.html
2441                fast/selectors/case-insensitive-attribute-register-requirement-1.html
2442                fast/selectors/case-insensitive-attribute-register-requirement-2.html
2443                fast/selectors/querySelector-explicit-case-insensitive-attribute-match-with-svg.html
2444
2445         * cssjit/SelectorCompiler.cpp:
2446         (WebCore::SelectorCompiler::attributeSelectorCaseSensitivity):
2447         (WebCore::SelectorCompiler::AttributeMatchingInfo::AttributeMatchingInfo):
2448         (WebCore::SelectorCompiler::AttributeMatchingInfo::attributeCaseSensitivity):
2449         (WebCore::SelectorCompiler::AttributeMatchingInfo::canDefaultToCaseSensitiveValueMatch): Deleted.
2450         (WebCore::SelectorCompiler::constructFragmentsInternal):
2451         Compute the type of value matching and store it on the AttributeMatchingInfo
2452         when creating the fragment.
2453
2454         (WebCore::SelectorCompiler::minimumRegisterRequirements):
2455         (WebCore::SelectorCompiler::attributeValueTestingRequiresExtraRegister):
2456         (WebCore::SelectorCompiler::attributeValueTestingRequiresCaseFoldingRegister): Deleted.
2457         In general, AttributeCaseSensitivity::CaseInsensitive does not require an extra
2458         register. I have made an exception for generateElementAttributeValueExactMatching()
2459         for simplicity. I use that register to load the StringImpl of the attribute
2460         being tested, that way I can use WTF::equalIgnoringCaseNonNull() directly.
2461
2462         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):
2463         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching):
2464         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
2465         Matching itself is just function calls. Unlike AttributeCaseSensitivity::HTMLLegacyCaseInsensitive,
2466         the behavior is consistent between XML and HTML.
2467
2468 2015-02-23  Alex Christensen  <achristensen@webkit.org>
2469
2470         [WinCairo] Unreviewed build fix after r180532
2471
2472         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
2473         (WebCore::MediaPlayerPrivateMediaFoundation::buffered):
2474         Fixed typo.
2475
2476 2015-02-23  Chris Dumez  <cdumez@apple.com>
2477
2478         Log using diagnostic logging which ActiveDOMObjects prevent using the PageCache
2479         https://bugs.webkit.org/show_bug.cgi?id=141922
2480         <rdar://problem/19923085>
2481
2482         Reviewed by Andreas Kling.
2483
2484         Log using diagnostic logging which ActiveDOMObjects prevent using the
2485         PageCache.
2486
2487         * history/PageCache.cpp:
2488         (WebCore::logCanCacheFrameDecision):
2489         * page/DiagnosticLoggingKeys.cpp:
2490         (WebCore::DiagnosticLoggingKeys::unsuspendableDOMObjectKey):
2491         * page/DiagnosticLoggingKeys.h:
2492
2493 2015-02-23  Chris Dumez  <cdumez@apple.com>
2494
2495         Move GeoNotifier class to its own file
2496         https://bugs.webkit.org/show_bug.cgi?id=141918
2497
2498         Reviewed by Andreas Kling.
2499
2500         Move GeoNotifier class to its own file to make Geolocation class less
2501         crowded.
2502
2503 2015-02-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2504
2505         Remove unnecessary PlatformTimeRanges::create()
2506         https://bugs.webkit.org/show_bug.cgi?id=141901
2507
2508         Reviewed by Filip Pizlo.
2509
2510         PlatformTimeRanges::create() functions have just created an instance of PlatformTimeRanges.
2511         This functionality can be replaced with std::make_unique<> use directly.
2512
2513         No new tests, no behavior changes.
2514
2515         * Modules/mediasource/MediaSource.cpp:
2516         (WebCore::MediaSource::buffered):
2517         * Modules/mediasource/SourceBuffer.cpp:
2518         (WebCore::SourceBuffer::bufferedAccountingForEndOfStream):
2519         * platform/graphics/MediaPlayer.cpp:
2520         (WebCore::NullMediaPlayerPrivate::buffered):
2521         * platform/graphics/MediaPlayerPrivate.h:
2522         (WebCore::MediaPlayerPrivateInterface::seekable):
2523         * platform/graphics/PlatformTimeRanges.cpp:
2524         (WebCore::PlatformTimeRanges::create): Deleted.
2525         * platform/graphics/PlatformTimeRanges.h:
2526         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2527         (WebCore::MediaPlayerPrivateAVFoundation::buffered):
2528         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2529         (WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):
2530         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2531         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges):
2532         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2533         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
2534         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):
2535         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2536         (WebCore::MediaPlayerPrivateGStreamer::buffered):
2537         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2538         (WebCore::MediaPlayerPrivateQTKit::buffered):
2539         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
2540         (WebCore::MediaPlayerPrivateMediaFoundation::buffered):
2541         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
2542         (WebCore::MockMediaPlayerMediaSource::buffered):
2543
2544 2015-02-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2545
2546         Partial clean up OwnPtr and PassOwnPtr in WebCore/platform
2547         https://bugs.webkit.org/show_bug.cgi?id=141888
2548
2549         Reviewed by Filip Pizlo.
2550
2551         Use std::unique_ptr<> and std::make_unique<>. Besides this patch removes
2552         unnecessary OwnPtr.h|PasSOwnPtr.h includes.
2553
2554         No new tests, no behavior changes.
2555
2556         * platform/SharedBuffer.h:
2557         * platform/Supplementable.h:
2558         * platform/audio/gstreamer/AudioSourceProviderGStreamer.h:
2559         (WebCore::AudioSourceProviderGStreamer::create): Deleted.
2560         * platform/graphics/ImageBuffer.h:
2561         * platform/graphics/TiledBackingStoreBackend.h:
2562         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2563         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2564         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2565         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2566         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2567         * platform/gtk/GamepadsGtk.cpp:
2568
2569 2015-02-23  Shivakumar JM  <shiva.jm@samsung.com>
2570
2571         Default value of HTMLSelectElement size IDL attribute should be 0.
2572         https://bugs.webkit.org/show_bug.cgi?id=141795
2573
2574         Reviewed by Andreas Kling.
2575
2576         Default value of HTMLSelectElement size IDL attribute should be 0. 
2577         As in spec: http://www.w3.org/html/wg/drafts/html/master/forms.html#the-select-element, also this matches the behavior of Chrome, IE and
2578         Gecko.
2579
2580         Test: fast/dom/select-size.html
2581
2582         * html/HTMLSelectElement.cpp:
2583         (WebCore::HTMLSelectElement::parseAttribute):
2584
2585 2015-02-23  Said Abou-Hallawa  <sabouhallawa@apple.com>
2586
2587         Drawing an SVG image into a canvas using drawImage() ignores globalAlpha.
2588         https://bugs.webkit.org/show_bug.cgi?id=141729.
2589
2590         Reviewed by Daniel Bates.
2591
2592         Fix a build break which is caused by http://trac.webkit.org/changeset/180511/trunk.
2593         Two functions of GraphicsContext were made inline but they were kept WEBCORE_EXPORT.
2594
2595         * platform/graphics/GraphicsContext.h:
2596         (WebCore::GraphicsContext::paintingDisabled):
2597         (WebCore::GraphicsContext::updatingControlTints):
2598
2599 2015-02-22  Dean Jackson  <dino@apple.com>
2600
2601         [iOS] Max canvas size is lower than expected
2602         https://bugs.webkit.org/show_bug.cgi?id=141886
2603         <rdar://problem/19729246>
2604
2605         Reviewed by Tim Horton.
2606
2607         Use the same maximum canvas area for all ports,
2608         which bumps the iOS limit up from 4580 * 1145
2609         to 16k * 16k.
2610
2611         * html/HTMLCanvasElement.cpp: Update MaxCanvasArea.
2612
2613 2015-02-23  Chris Dumez  <cdumez@apple.com>
2614
2615         Add support for diagnostic logging messages sampling
2616         https://bugs.webkit.org/show_bug.cgi?id=141823
2617         <rdar://problem/19899030>
2618
2619         Reviewed by Andreas Kling.
2620
2621         Add support for diagnostic logging messages sampling to decrease the
2622         impact of diagnostic logging on CPU usage, while still getting useful
2623         overall results. This patch adds a ShouldSample argument to
2624         logDiagnosticMessage*() functions and logs 5% of the messages when
2625         sampling. Sampling is turned on for keys that are known to be verbose
2626         (e.g. per resource load logging).
2627
2628         On the page load test I am tracking, CPU usage caused by diagnostic
2629         logging went down to 0.3% of UIProcess from 2.8% with this change.
2630
2631         * history/PageCache.cpp:
2632         (WebCore::logPageCacheFailureDiagnosticMessage):
2633         (WebCore::logCanCachePageDecision):
2634         * html/HTMLMediaElement.cpp:
2635         (WebCore::HTMLMediaElement::parseAttribute):
2636         * loader/EmptyClients.h:
2637         * loader/FrameLoader.cpp:
2638         (WebCore::logNavigation):
2639         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2640         * loader/ResourceLoader.cpp:
2641         (WebCore::logResourceResponseSource):
2642         * loader/SubframeLoader.cpp:
2643         (WebCore::logPluginRequest):
2644         * loader/SubresourceLoader.cpp:
2645         (WebCore::SubresourceLoader::willSendRequest):
2646         (WebCore::SubresourceLoader::didReceiveResponse):
2647         (WebCore::logResourceLoaded):
2648         * loader/cache/CachedResource.cpp:
2649         (WebCore::logResourceRevalidationReason):
2650         * loader/cache/CachedResourceLoader.cpp:
2651         (WebCore::logMemoryCacheResourceRequest):
2652         * page/DiagnosticLoggingClient.h:
2653
2654 2015-02-23  Said Abou-Hallawa  <sabouhallawa@apple.com>
2655
2656         Drawing an SVG image into a canvas using drawImage() ignores globalAlpha.
2657         https://bugs.webkit.org/show_bug.cgi?id=141729.
2658
2659         Reviewed by Simon Fraser.
2660
2661         When drawing an SVG image and the drawing context is set to be transparent,
2662         make sure this transparency is applied to the compositing layer.
2663
2664         Test: svg/canvas/canvas-global-alpha-svg.html
2665
2666         * platform/graphics/GraphicsContext.cpp:
2667         (WebCore::GraphicsContext::setAlpha): Make setAlpha() calls the platform
2668         function and sets 'm_state.alpha' to the input value.
2669
2670         (WebCore::GraphicsContext::alpha): Add a new function 'alpha()' which
2671         returns the value of the global alpha.
2672         
2673         * platform/graphics/GraphicsContext.h:
2674         (WebCore::GraphicsContextState::GraphicsContextState): Add a new member
2675         'alpha' to the context state since the getter function CGContextGetAlpha
2676         is defined only in a private header file. Also move single line functions
2677         from the source file to the header file.
2678     
2679         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2680         (WebCore::GraphicsContext::setPlatformAlpha):
2681         (WebCore::GraphicsContext::setAlpha): Deleted.
2682         * platform/graphics/cg/GraphicsContextCG.cpp:
2683         (WebCore::GraphicsContext::setPlatformAlpha):
2684         (WebCore::GraphicsContext::setAlpha): Deleted.
2685         Rename setAlpha() to setPlatformAlpha() in the platform files. Add setAlpha()
2686         to the core file. setAlpha() will set the value of 'm_state.alpha' and call
2687         setPlatformAlpha().
2688     
2689         * svg/graphics/SVGImage.cpp:
2690         (WebCore::SVGImage::draw): If the drawing context is transparent, apply its
2691         global alpha value to the compositing layer.
2692         
2693 2015-02-23  Eric Carlson  <eric.carlson@apple.com>
2694
2695         Occasional crash in MediaPlayer::setPrivateBrowsingMode
2696         https://bugs.webkit.org/show_bug.cgi?id=141910
2697
2698         Reviewed by Jer Noble.
2699
2700         No new tests, I was unable to reproduce the crash.
2701
2702         * html/HTMLMediaElement.cpp:
2703         (WebCore::HTMLMediaElement::stopPeriodicTimers): Use EveryDelayedAction instead of -1.
2704         (WebCore::HTMLMediaElement::stop): Call clearMediaPlayer instead of just setting m_player
2705             to NULL.
2706         * html/HTMLMediaElement.h: Define EveryDelayedAction.
2707
2708 2015-02-23  Philippe Normand  <pnormand@igalia.com>
2709
2710         [GStreamer] Redundant track language notifications
2711         https://bugs.webkit.org/show_bug.cgi?id=141908
2712
2713         Reviewed by Žan Doberšek.
2714
2715         Invoke languageChanged only if the language code actually
2716         changed.
2717
2718         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2719         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):
2720
2721 2015-02-23  peavo@outlook.com  <peavo@outlook.com>
2722
2723         [WinCairo] Crash when media player is destroyed.
2724         https://bugs.webkit.org/show_bug.cgi?id=141248
2725
2726         Reviewed by Darin Adler.
2727
2728         A COM smart pointer is both released, and set to null.
2729         This means that the COM Release method is called twice, causing a crash.
2730
2731         * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
2732         (WebCore::MediaPlayerPrivateMediaFoundation::endSession):
2733
2734 2015-02-23  Manuel Rego Casasnovas  <rego@igalia.com>
2735
2736         [CSS Grid Layout] Remove old FIXME in RenderGrid::placeItemsOnGrid()
2737         https://bugs.webkit.org/show_bug.cgi?id=141899
2738
2739         Reviewed by Sergio Villar Senin.
2740
2741         There was a FIXME about not re-resolving positions if the grid is grown during
2742         auto-placement. But as the spec has changed [1] and you can only refer to the
2743         explicit grid (even if you use for example grid-column: 1 / -1). It seems that
2744         we can get rid of this FIXME as it's not a causing a problem anymore.
2745
2746         [1] http://dev.w3.org/csswg/css-grid/#grid-placement-int
2747
2748         No new tests (no change in behavior).
2749
2750         * rendering/RenderGrid.cpp:
2751         (WebCore::RenderGrid::placeItemsOnGrid): Remove FIXME.
2752
2753 2015-02-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2754
2755         Move std::unique_ptr<>|make_unique<> to WebCore/page/scrolling
2756         https://bugs.webkit.org/show_bug.cgi?id=137877
2757
2758         Reviewed by Sam Weinig.
2759
2760         Clean up unnecessary OwnPtr.h|PassOwnPtr.h includes as well as
2761         change OwnPtr with std::unique_ptr<>|make_unique<>.
2762
2763         No new tests, no behavior changes.
2764
2765         * page/scrolling/AsyncScrollingCoordinator.h:
2766         * page/scrolling/ScrollingStateFixedNode.cpp:
2767         * page/scrolling/ScrollingStateFrameScrollingNode.cpp:
2768         * page/scrolling/ScrollingStateNode.cpp:
2769         (WebCore::ScrollingStateNode::appendChild):
2770         * page/scrolling/ScrollingStateNode.h:
2771         * page/scrolling/ScrollingStateOverflowScrollingNode.cpp:
2772         * page/scrolling/ScrollingStateScrollingNode.cpp:
2773         * page/scrolling/ScrollingStateStickyNode.cpp:
2774         * page/scrolling/ScrollingTree.h:
2775         * page/scrolling/ScrollingTreeNode.cpp:
2776         (WebCore::ScrollingTreeNode::appendChild):
2777         * page/scrolling/ScrollingTreeNode.h:
2778         * page/scrolling/ScrollingTreeScrollingNode.h:
2779
2780 2015-02-22  Dean Jackson  <dino@apple.com>
2781
2782         Print a console warning when HTMLCanvasElement exceeds the maximum size
2783         https://bugs.webkit.org/show_bug.cgi?id=141861
2784         <rdar://problem/19729145>
2785
2786         Reviewed by Simon Fraser.
2787
2788         Add a warning if we ever try to create a canvas that is
2789         too big.
2790
2791         No test because:
2792         1. We can't ref-test against console messages.
2793         2. The output is platform specific.
2794
2795         * html/HTMLCanvasElement.cpp:
2796         (WebCore::HTMLCanvasElement::createImageBuffer):
2797
2798 2015-02-21  Sam Weinig  <sam@webkit.org>
2799
2800         Convert the caps lock indicator to be implemented using the shadow DOM
2801         https://bugs.webkit.org/show_bug.cgi?id=141868
2802
2803         Reviewed by Dan Bernstein.
2804
2805         - Re-adds 'caps-lock-indicator' as a valid -webkit-appearance value. It was removed
2806           in r74099 to work around a site bug, that should not be a problem anymore.
2807         - Converts the caps lock indicator to be implemented as part of the shadow DOM rather
2808           than a paint time effect. This gives the proper overflow behavior (it now clips) and
2809           behaves correctly in RTL.
2810
2811         * css/CSSParser.cpp:
2812         (WebCore::isValidKeywordPropertyAndValue):
2813         Make 'caps-lock-indicator' a valid -webkit-appearance value.
2814
2815         * css/CSSValueKeywords.in:
2816         Remove comment that indicated that caps-lock-indicator was not a valid
2817         -webkit-appearance value.
2818
2819         * css/html.css:
2820         (input::-webkit-caps-lock-indicator):
2821         Add new default style for the new -webkit-caps-lock-indicator pseudo-element. The
2822         trick employed here is to use a content: image to both implement the painting of
2823         the caps lock indicator, and to get the sizing right (shrink-to-fit, height: 100%).
2824
2825         * html/HTMLInputElement.cpp:
2826         (WebCore::HTMLInputElement::capsLockIndicatorElement):
2827         (WebCore::HTMLInputElement::capsLockStateMayHaveChanged):
2828         * html/HTMLInputElement.h:
2829         * html/InputType.cpp:
2830         (WebCore::InputType::capsLockStateMayHaveChanged):
2831         * html/InputType.h:
2832         (WebCore::InputType::capsLockIndicatorElement):
2833         Pipe notification of changes in the caps locks state to the <input> element
2834         rather than the RenderTextControlSingleLine. Also add an accessor for the caps
2835         lock indicator element in the shadow DOM.
2836
2837         * html/TextFieldInputType.cpp:
2838         (WebCore::TextFieldInputType::forwardEvent):
2839         (WebCore::TextFieldInputType::shouldHaveCapsLockIndicator):
2840         (WebCore::TextFieldInputType::createShadowSubtree):
2841         (WebCore::TextFieldInputType::capsLockIndicatorElement):
2842         (WebCore::TextFieldInputType::destroyShadowSubtree):
2843         (WebCore::TextFieldInputType::shouldDrawCapsLockIndicator):
2844         (WebCore::TextFieldInputType::capsLockStateMayHaveChanged):
2845         * html/TextFieldInputType.h:
2846         Add a new element to the text field shadow DOM to act as the caps lock indicator.
2847         Give it a pseudo-element ID of -webkit-caps-lock-indicator so it can be referenced
2848         from CSS. The element is always in the DOM for a password field. It toggles between
2849         display: none and display: block depending on the state of the caps lock key.
2850
2851         * page/EventHandler.cpp:
2852         (WebCore::EventHandler::capsLockStateMayHaveChanged):
2853         Pipe notification of changes in the caps locks state to the <input> element
2854         rather than the RenderTextControlSingleLine.
2855
2856         * rendering/RenderTextControlSingleLine.cpp:
2857         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
2858         (WebCore::RenderTextControlSingleLine::paint): Deleted.
2859         (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged): Deleted.
2860         * rendering/RenderTextControlSingleLine.h:
2861         Remove logic for drawing the caps lock indicator.
2862
2863         * rendering/RenderTheme.cpp:
2864         (WebCore::RenderTheme::adjustStyle):
2865         (WebCore::RenderTheme::paint):
2866         (WebCore::RenderTheme::paintMeter):
2867         (WebCore::RenderTheme::adjustCapsLockIndicatorStyle):
2868         (WebCore::RenderTheme::paintCapsLockIndicator):
2869         (WebCore::RenderTheme::shouldHaveCapsLockIndicator):
2870         * rendering/RenderTheme.h:
2871         (WebCore::RenderTheme::paintCapsLockIndicator): Deleted.
2872         * rendering/RenderThemeIOS.h:
2873         * rendering/RenderThemeIOS.mm:
2874         (WebCore::RenderThemeIOS::shouldHaveCapsLockIndicator):
2875         * rendering/RenderThemeMac.h:
2876         * rendering/RenderThemeMac.mm:
2877         (WebCore::RenderThemeMac::shouldHaveCapsLockIndicator):
2878         (WebCore::RenderThemeMac::paintCapsLockIndicator): Deleted.
2879         Now that the caps lock indicator is implemented like other aspects of form controls,
2880         the theme code can be converted to be similar as well.
2881
2882 2015-02-21  David Kilzer  <ddkilzer@apple.com>
2883
2884         [iOS] Fix build failure after including CoreMediaSoftLink.h in WebVideoFullscreenInterfaceAVKit.mm
2885         <http://webkit.org/b/141816>
2886
2887         Attempt to fix the following build failure:
2888
2889             WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:68:1: error: call to 'CoreMediaLibrary' is ambiguous
2890             SOFT_LINK(CoreMedia, CMTimeRangeContainsTime, Boolean, (CMTimeRange range, CMTime time), (range, time))
2891             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2892             In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
2893             In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
2894             WebCore/platform/mac/SoftLinking.h:107:79: note: expanded from macro 'SOFT_LINK'
2895             <scratch space>:58:1: note: expanded from here
2896             CoreMediaLibrary
2897             ^~~~~~~~~~~~~~~~
2898             In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
2899             WebCore/platform/cf/CoreMediaSoftLink.h:35:1: note: candidate function
2900             SOFT_LINK_FRAMEWORK_HEADER(WebCore, CoreMedia)
2901             ^
2902             In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
2903             In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
2904             WebCore/platform/mac/SoftLinking.h:298:18: note: expanded from macro 'SOFT_LINK_FRAMEWORK_HEADER'
2905             <scratch space>:42:1: note: expanded from here
2906             CoreMediaLibrary
2907             ^
2908             WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:67:1: note: candidate function
2909             SOFT_LINK_FRAMEWORK(CoreMedia)
2910             ^
2911             In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
2912             In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
2913             WebCore/platform/mac/SoftLinking.h:46:18: note: expanded from macro 'SOFT_LINK_FRAMEWORK'
2914             <scratch space>:51:1: note: expanded from here
2915             CoreMediaLibrary
2916             ^
2917
2918         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Remove the
2919         SOFT_LINK_FRAMEWORK(CoreMedia) macro since the remaining
2920         SOFT_LINK() and SOFT_LINK_CONSTANT() macros can use the
2921         CoreMediaLibrary() method exposed by CoreMediaSoftLink.h.
2922
2923 2015-02-21  David Kilzer  <ddkilzer@apple.com>
2924
2925         Add SOFT_LINK_CONSTANT_SOURCE() cross-platform macro and start using it
2926         <http://webkit.org/b/141816>
2927
2928         Reviewed by Alexey Proskuryakov.
2929
2930         * WebCore.vcxproj/WebCore.vcxproj:
2931         * WebCore.vcxproj/WebCore.vcxproj.filters:
2932         - Remove CoreMediaSoftLinking.h.
2933
2934         * platform/cf/CoreMediaSoftLink.cpp:
2935         - Add kCMTimeZero constant.
2936         * platform/cf/CoreMediaSoftLink.h:
2937         - Add SOFT_LINK_FRAMEWORK_HEADER() macro for CoreMedia.
2938         - Add kCMTimeZero constant.
2939
2940         * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Remove.
2941
2942         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2943         - Remove reference to CoreMediaSoftLinking.h and update comment.
2944         (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable):
2945         - Switch to using new method to check if a framework is
2946           available.
2947
2948         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2949         - Remove all local soft-linking macros for CoreMedia.
2950           CoreMediaSoftLink.h handles everything now.
2951         (WebCore::MediaPlayerPrivateAVFoundationObjC::isAvailable):
2952         - Switch to using new method to check if a framework is
2953           available.
2954
2955         * platform/mac/SoftLinking.h:
2956         (SOFT_LINK_FRAMEWORK_HEADER): Add.  Defines
2957         is_Name_FrameworkAvailable() macro.
2958         (SOFT_LINK_FRAMEWORK_SOURCE): Update to make it work with
2959         optional framework checks without a separate macro.
2960         (SOFT_LINK_CONSTANT_HEADER): Add.
2961         (SOFT_LINK_CONSTANT_SOURCE): Add.
2962         - Support soft-links to constants.
2963
2964         * platform/win/SoftLinking.h:
2965         (SOFT_LINK_FRAMEWORK_HELPER): Add.  Copied from
2966         SOFT_LINK_LIBRARY_HELPER, with addition of namespace and
2967         non-static function.
2968         (SOFT_LINK_FRAMEWORK): Add.  Copied from SOFT_LINK_LIBRARY.
2969         (SOFT_LINK_DEBUG_FRAMEWORK): Add.  Copied from
2970         SOFT_LINK_DEBUG_LIBRARY.
2971         (SOFT_LINK_FRAMEWORK_HEADER): Add.  Defines
2972         is_Name_FrameworkAvailable() macro.
2973         (SOFT_LINK_FRAMEWORK_SOURCE): Redefine in terms of
2974         SOFT_LINK_FRAMEWORK/SOFT_LINK_DEBUG_FRAMEWORK.
2975         (SOFT_LINK_CONSTANT_HEADER): Add.
2976         (SOFT_LINK_CONSTANT_SOURCE): Add.
2977         - Support soft-links to constants.
2978
2979 2015-02-20  David Kilzer  <ddkilzer@apple.com>
2980
2981         Make namespace configurable for SOFT_LINK_*_{HEADER,SOURCE}() macros
2982         <http://webkit.org/b/141849>
2983
2984         Reviewed by Brent Fulgham.
2985
2986         This patch does the following:
2987         - Add namespace argument to the SOFT_LINK_*_{HEADER,SOURCE}()
2988           macros for reuse in other projects.
2989         - Adds SOFT_LINK_FRAMEWORK_SOURCE() macro in preparation for Bug
2990           141816.
2991         - Adds back framework argument to SOFT_LINK_FUNCTION_HEADER()
2992           and includes framework name in generated function names.  This
2993           adds more entropy to the names in case there are two functions
2994           with the same name in different frameworks.
2995
2996         * platform/cf/CoreMediaSoftLink.cpp:
2997         - Add FIXME about USE(COREMEDIA).
2998         - Switch from SOFT_LINK_FRAMEWORK() to
2999           SOFT_LINK_FRAMEWORK_SOURCE().
3000         * platform/cf/CoreMediaSoftLink.h:
3001         - Add FIXME about USE(COREMEDIA).
3002         - Add back framework argument to SOFT_LINK_FUNCTION_HEADER()
3003           macros.
3004
3005         * platform/mac/SoftLinking.h:
3006         - Add missing header guards.
3007         - Add pragmas for different macro groups.
3008         (SOFT_LINK_FRAMEWORK_SOURCE): Add.
3009         (SOFT_LINK_FUNCTION_HEADER): Move. Add back framework argument.
3010         (SOFT_LINK_FUNCTION_SOURCE): Move.
3011         - Add framework name to generated function names.
3012         - Incorporates namespace so that it doesn't have to be listed in
3013           the *SoftLink.{cpp,h} file.
3014
3015         * platform/win/SoftLinking.h:
3016         - Add pragmas for different macro groups.
3017         (SOFT_LINK_FRAMEWORK_SOURCE): Add.
3018         (SOFT_LINK_FUNCTION_HEADER): Move. Add back framework argument.
3019         (SOFT_LINK_FUNCTION_SOURCE): Move.
3020         - Add framework name to generated function names.
3021         - Incorporates namespace so that it doesn't have to be listed in
3022           the *SoftLink.{cpp,h} file.
3023
3024 2015-02-20  Brent Fulgham  <bfulgham@apple.com>
3025
3026         [Gtk] Unreviewed build fix.
3027
3028         * platform/ScrollAnimatorNone.cpp:
3029         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone): Forget to update two
3030         uses of ScrollableArea.
3031
3032 2015-02-20  Brent Fulgham  <bfulgham@apple.com>
3033
3034         Scrollbars and ScrollAnimators must always have a ScrollableArea
3035         https://bugs.webkit.org/show_bug.cgi?id=141855
3036
3037         Reviewed by Simon Fraser.
3038
3039         No change in functionality.
3040         
3041         Change users of the scrollAnimator() method to expect a reference instead of a pointer. Also get rid of
3042         a number of unnecessary nullptr checks.
3043
3044         * accessibility/AccessibilityScrollbar.cpp:
3045         (WebCore::AccessibilityScrollbar::setValue):
3046         * css/SelectorCheckerTestFunctions.h:
3047         (WebCore::scrollbarMatchesCornerPresentPseudoClass):
3048         * page/FrameView.cpp:
3049         (WebCore::FrameView::createScrollbar):
3050         (WebCore::FrameView::setFixedVisibleContentRect):
3051         * page/scrolling/ScrollingCoordinator.cpp:
3052         (WebCore::ScrollingCoordinator::handleWheelEventPhase):
3053         * platform/PopupMenuClient.h:
3054         * platform/ScrollAnimator.cpp:
3055         (WebCore::ScrollAnimator::ScrollAnimator):
3056         (WebCore::ScrollAnimator::scroll):
3057         (WebCore::ScrollAnimator::handleWheelEvent):
3058         (WebCore::ScrollAnimator::notifyPositionChanged):
3059         (WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers):
3060         * platform/ScrollAnimator.h:
3061         (WebCore::ScrollAnimator::ScrollAnimator::scrollableArea):
3062         * platform/ScrollAnimatorNone.cpp:
3063         * platform/ScrollAnimatorNone.h:
3064         * platform/ScrollView.cpp:
3065         (WebCore::ScrollView::createScrollbar):
3066         * platform/ScrollableArea.cpp:
3067         (WebCore::ScrollableArea::scrollAnimator):
3068         (WebCore::ScrollableArea::scroll):
3069         (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
3070         (WebCore::ScrollableArea::notifyScrollPositionChanged):
3071         (WebCore::ScrollableArea::scrollPositionChanged):
3072         (WebCore::ScrollableArea::handleWheelEvent):
3073         (WebCore::ScrollableArea::handleTouchEvent):
3074         (WebCore::ScrollableArea::mouseEnteredScrollbar):
3075         (WebCore::ScrollableArea::mouseExitedScrollbar):
3076         (WebCore::ScrollableArea::didAddScrollbar):
3077         (WebCore::ScrollableArea::willRemoveScrollbar):
3078         (WebCore::ScrollableArea::verticalScrollbarLayerDidChange):
3079         (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
3080         * platform/ScrollableArea.h:
3081         * platform/Scrollbar.cpp:
3082         (WebCore::Scrollbar::createNativeScrollbar):
3083         (WebCore::Scrollbar::Scrollbar):
3084         (WebCore::Scrollbar::scrollbarOverlayStyle):
3085         (WebCore::Scrollbar::isScrollableAreaActive):
3086         (WebCore::Scrollbar::offsetDidChange):
3087         (WebCore::Scrollbar::autoscrollPressedPart):
3088         (WebCore::Scrollbar::moveThumb):
3089         (WebCore::Scrollbar::mouseMoved):
3090         (WebCore::Scrollbar::mouseEntered):
3091         (WebCore::Scrollbar::mouseExited):
3092         (WebCore::Scrollbar::mouseUp):
3093         (WebCore::Scrollbar::shouldParticipateInHitTesting):
3094         (WebCore::Scrollbar::isWindowActive):
3095         (WebCore::Scrollbar::invalidateRect):
3096         (WebCore::Scrollbar::convertToContainingView):
3097         (WebCore::Scrollbar::convertFromContainingView):
3098         (WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
3099         * platform/Scrollbar.h:
3100         (WebCore::Scrollbar::scrollableArea):
3101         (WebCore::Scrollbar::disconnectFromScrollableArea): Deleted.
3102         * platform/ios/ScrollAnimatorIOS.mm:
3103         (WebCore::ScrollAnimatorIOS::handleTouchEvent):
3104         (WebCore::ScrollAnimatorIOS::determineScrollableAreaForTouchSequence):
3105         * platform/mac/ScrollAnimatorMac.h:
3106         * platform/mac/ScrollAnimatorMac.mm:
3107         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
3108         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3109         (-[WebScrollbarPainterDelegate scrollAnimator]):
3110         (-[WebScrollbarPainterDelegate layer]):
3111         (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
3112         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:animateAlphaTo:duration:]):
3113         (WebCore::ScrollAnimator::create):
3114         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3115         (WebCore::ScrollAnimatorMac::scroll):
3116         (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
3117         (WebCore::ScrollAnimatorMac::adjustScrollPositionToBoundsIfNecessary):
3118         (WebCore::ScrollAnimatorMac::immediateScrollTo):
3119         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
3120         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
3121         (WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange):
3122         (WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange):
3123         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
3124         (WebCore::ScrollAnimatorMac::pinnedInDirection):
3125         (WebCore::ScrollAnimatorMac::isAlreadyPinnedInDirectionOfGesture):
3126         (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
3127         (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
3128         (WebCore::ScrollAnimatorMac::stretchAmount):
3129         (WebCore::ScrollAnimatorMac::canScrollHorizontally):
3130         (WebCore::ScrollAnimatorMac::canScrollVertically):
3131         (WebCore::ScrollAnimatorMac::absoluteScrollPosition):
3132         (WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
3133         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
3134         (WebCore::ScrollAnimatorMac::setVisibleScrollerThumbRect):
3135         * rendering/RenderLayer.cpp:
3136         (WebCore::RenderLayer::RenderLayer):
3137         (WebCore::RenderLayer::createScrollbar):
3138         (WebCore::RenderLayer::destroyScrollbar):
3139         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
3140         * rendering/RenderListBox.cpp:
3141         (WebCore::RenderListBox::createScrollbar):
3142         (WebCore::RenderListBox::destroyScrollbar):
3143         * rendering/RenderMenuList.cpp:
3144         (RenderMenuList::createScrollbar):
3145         * rendering/RenderMenuList.h:
3146         * rendering/RenderScrollbar.cpp:
3147         (WebCore::RenderScrollbar::createCustomScrollbar):
3148         (WebCore::RenderScrollbar::RenderScrollbar):
3149         * rendering/RenderScrollbar.h:
3150         * rendering/RenderSearchField.cpp:
3151         (WebCore::RenderSearchField::createScrollbar):
3152         * rendering/RenderSearchField.h:
3153
3154 2015-02-20  Enrica Casucci  <enrica@apple.com>
3155
3156         [WK2] Add support for font panel on OS X.
3157         https://bugs.webkit.org/show_bug.cgi?id=141777
3158
3159         Reviewed by Tim Horton.
3160
3161         This patch adds the necessary hooks to the Editor class to support
3162         the font panel.
3163
3164         * editing/Editor.h:
3165         * editing/mac/EditorMac.mm:
3166         (WebCore::Editor::applyFontStyles):
3167
3168 2015-02-20  Zalan Bujtas  <zalan@apple.com>
3169
3170         Invalid assert in CompositeEditCommand::insertNodeAfter/insertNodeBefore
3171         https://bugs.webkit.org/show_bug.cgi?id=141854
3172
3173         Reviewed by Ryosuke Niwa.
3174
3175         Inserting content before/after the body as the result of editing is a valid operation.
3176         This assert was originally introduced to cover cases where edited content would get moved
3177         out of body. However, asserting such operation properly is not possible atm.
3178
3179         Test: editing/inserting/insert-as-body-sibling.html
3180
3181         * editing/CompositeEditCommand.cpp:
3182         (WebCore::CompositeEditCommand::insertNodeBefore):
3183         (WebCore::CompositeEditCommand::insertNodeAfter):
3184
3185 2015-02-20  Chris Dumez  <cdumez@apple.com>
3186
3187         [WK2] Add more detailed diagnostic logging for measuring network cache efficacy
3188         https://bugs.webkit.org/show_bug.cgi?id=141803
3189         <rdar://problem/19632080>
3190
3191         Reviewed by Antti Koivisto.
3192
3193         Add more diagnostic logging keys for the network cache.
3194
3195         * page/DiagnosticLoggingKeys.cpp:
3196         (WebCore::DiagnosticLoggingKeys::missingValidatorFieldsKey):
3197         (WebCore::DiagnosticLoggingKeys::noLongerInCacheKey):
3198         (WebCore::DiagnosticLoggingKeys::isReloadIgnoringCacheDataKey):
3199         (WebCore::DiagnosticLoggingKeys::isAttachmentKey):
3200         (WebCore::DiagnosticLoggingKeys::isConditionalRequestKey):
3201         (WebCore::DiagnosticLoggingKeys::cacheControlNoStoreKey):
3202         (WebCore::DiagnosticLoggingKeys::uncacheableStatusCodeKey):
3203         (WebCore::DiagnosticLoggingKeys::unsupportedHTTPMethodKey):
3204         (WebCore::DiagnosticLoggingKeys::unusableCachedEntryKey):
3205         (WebCore::DiagnosticLoggingKeys::varyingHeaderMismatchKey):
3206         (WebCore::WebCore::DiagnosticLoggingKeys::notHTTPFamilyKey):
3207         (WebCore::DiagnosticLoggingKeys::notInCacheKey):
3208         (WebCore::DiagnosticLoggingKeys::noLongerInCacheFailureKey): Deleted.
3209         (WebCore::DiagnosticLoggingKeys::unhandledRequestFailureKey): Deleted.
3210         (WebCore::DiagnosticLoggingKeys::unusableCachedEntryFailureKey): Deleted.
3211         * page/DiagnosticLoggingKeys.h:
3212
3213 2015-02-20  Tim Horton  <timothy_horton@apple.com>
3214
3215         <attachment> turns the wrong blue when you highlight it
3216         https://bugs.webkit.org/show_bug.cgi?id=141853
3217
3218         Reviewed by Simon Fraser.
3219
3220         * rendering/RenderAttachment.h:
3221         * rendering/RenderReplaced.cpp:
3222         (WebCore::RenderReplaced::shouldDrawSelectionTint):
3223         (WebCore::RenderReplaced::paint):
3224         * rendering/RenderReplaced.h:
3225         Don't draw the selection tint for RenderAttachment.
3226
3227 2015-02-20  Tim Horton  <timothy_horton@apple.com>
3228
3229         Allow <attachment> elements to be focused
3230         https://bugs.webkit.org/show_bug.cgi?id=141847
3231
3232         Reviewed by Enrica Casucci.
3233
3234         * css/html.css:
3235         (attachment:focus):
3236         Disable focus rings for <attachment>.
3237
3238         * html/HTMLAttachmentElement.cpp:
3239         (WebCore::HTMLAttachmentElement::setFocus):
3240         * html/HTMLAttachmentElement.h:
3241         Allow HTMLAttachmentElement to get editing focus.
3242         Let RenderAttachment know when focus changes.
3243
3244         * rendering/RenderAttachment.cpp:
3245         (WebCore::RenderAttachment::paintReplaced):
3246         Paint the background in cyan when we are inside the selection or have focus.
3247         Otherwise, it will be gray.
3248
3249         (WebCore::RenderAttachment::focusChanged):
3250         When focus changes, repaint.
3251
3252         * rendering/RenderAttachment.h:
3253
3254 2015-02-20  Brent Fulgham  <bfulgham@apple.com>
3255
3256         Rename ScrollElasticityController to ScrollController
3257         https://bugs.webkit.org/show_bug.cgi?id=141842
3258
3259         Reviewed by Simon Fraser.
3260
3261         No change in functionality.
3262
3263         * PlatformMac.cmake:
3264         * WebCore.order:
3265         * WebCore.xcodeproj/project.pbxproj:
3266         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
3267         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
3268         (WebCore::ScrollingTreeFrameScrollingNodeMac::ScrollingTreeFrameScrollingNodeMac):
3269         (WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):
3270         (WebCore::ScrollingTreeFrameScrollingNodeMac::startSnapRubberbandTimer):
3271         * platform/mac/ScrollAnimatorMac.h:
3272         * platform/mac/ScrollAnimatorMac.mm:
3273         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3274         (WebCore::ScrollAnimatorMac::isRubberBandInProgress):
3275         (WebCore::ScrollAnimatorMac::handleWheelEvent):
3276         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
3277         * platform/mac/ScrollController.h: Copied from WebCore/platform/mac/ScrollElasticityController.h.
3278         (WebCore::ScrollControllerClient::~ScrollControllerClient):
3279         (WebCore::ScrollElasticityControllerClient::~ScrollElasticityControllerClient): Deleted.
3280         * platform/mac/ScrollController.mm: Copied from WebCore/platform/mac/ScrollElasticityController.mm.
3281         (WebCore::ScrollController::ScrollController):
3282         (WebCore::ScrollController::handleWheelEvent):
3283         (WebCore::ScrollController::snapRubberBandTimerFired):
3284         (WebCore::ScrollController::isRubberBandInProgress):
3285         (WebCore::ScrollController::stopSnapRubberbandTimer):
3286         (WebCore::ScrollController::snapRubberBand):
3287         (WebCore::ScrollController::shouldRubberBandInHorizontalDirection):
3288         (WebCore::ScrollElasticityController::ScrollElasticityController): Deleted.
3289         (WebCore::ScrollElasticityController::handleWheelEvent): Deleted.
3290         (WebCore::ScrollElasticityController::snapRubberBandTimerFired): Deleted.
3291         (WebCore::ScrollElasticityController::isRubberBandInProgress): Deleted.
3292         (WebCore::ScrollElasticityController::stopSnapRubberbandTimer): Deleted.
3293         (WebCore::ScrollElasticityController::snapRubberBand): Deleted.
3294         (WebCore::ScrollElasticityController::shouldRubberBandInHorizontalDirection): Deleted.
3295         * platform/mac/ScrollElasticityController.h: Removed.
3296         * platform/mac/ScrollElasticityController.mm: Removed.
3297
3298 2015-02-20  Alexey Proskuryakov  <ap@apple.com>
3299
3300         Remove svn:keywords property.
3301
3302         As far as I can tell, the property had no effect on any of these files, but also,
3303         when it has effect it's likely harmful.
3304
3305         * Modules/mediacontrols/assets-apple-iOS.svg: Removed property svn:keywords.
3306         * Modules/mediacontrols/mediaControlsBase.css: Removed property svn:keywords.
3307         * Modules/mediacontrols/mediaControlsBase.js: Removed property svn:keywords.
3308         * bindings/js/JSDeviceMotionEventCustom.cpp: Removed property svn:keywords.
3309         * css/CSSKeyframeRule.cpp: Removed property svn:keywords.
3310         * css/CSSKeyframeRule.h: Removed property svn:keywords.
3311         * css/CSSKeyframesRule.cpp: Removed property svn:keywords.
3312         * css/CSSKeyframesRule.h: Removed property svn:keywords.
3313         * css/WebKitCSSFilterValue.cpp: Removed property svn:keywords.
3314         * css/WebKitCSSFilterValue.h: Removed property svn:keywords.
3315         * css/plugIns.css: Removed property svn:keywords.
3316         * dom/AnimationEvent.cpp: Removed property svn:keywords.
3317         * dom/AnimationEvent.h: Removed property svn:keywords.
3318         * dom/DeviceMotionClient.h: Removed property svn:keywords.
3319         * dom/DeviceMotionController.cpp: Removed property svn:keywords.
3320         * dom/DeviceMotionController.h: Removed property svn:keywords.
3321         * dom/DeviceMotionData.cpp: Removed property svn:keywords.
3322         * dom/DeviceMotionData.h: Removed property svn:keywords.
3323         * dom/DeviceMotionEvent.cpp: Removed property svn:keywords.
3324         * dom/DeviceMotionEvent.h: Removed property svn:keywords.
3325         * html/canvas/ANGLEInstancedArrays.cpp: Removed property svn:keywords.
3326         * html/canvas/ANGLEInstancedArrays.h: Removed property svn:keywords.
3327         * html/canvas/OESTextureFloatLinear.cpp: Removed property svn:keywords.
3328         * html/canvas/OESTextureFloatLinear.h: Removed property svn:keywords.
3329         * html/canvas/OESTextureHalfFloatLinear.cpp: Removed property svn:keywords.
3330         * html/canvas/OESTextureHalfFloatLinear.h: Removed property svn:keywords.
3331         * html/shadow/MediaControlsApple.cpp: Removed property svn:keywords.
3332         * html/shadow/MediaControlsApple.h: Removed property svn:keywords.
3333         * page/Frame.h: Removed property svn:keywords.
3334         * page/scrolling/ScrollingConstraints.cpp: Removed property svn:keywords.
3335         * page/scrolling/ScrollingConstraints.h: Removed property svn:keywords.
3336         * page/scrolling/ScrollingStateStickyNode.cpp: Removed property svn:keywords.
3337         * page/scrolling/ios/ScrollingTreeIOS.cpp: Removed property svn:keywords.
3338         * page/scrolling/mac/ScrollingTreeStickyNode.h: Removed property svn:keywords.
3339         * platform/ControlStates.h: Removed property svn:keywords.
3340         * platform/ScrollbarTheme.cpp: Removed property svn:keywords.
3341         * platform/graphics/GraphicsLayerUpdater.cpp: Removed property svn:keywords.
3342         * platform/graphics/GraphicsLayerUpdater.h: Removed property svn:keywords.
3343         * platform/graphics/ca/TileController.h: Removed property svn:keywords.
3344         * platform/graphics/ca/mac/WebTiledBackingLayer.h: Removed property svn:keywords.
3345         * platform/graphics/filters/FilterOperation.cpp: Removed property svn:keywords.
3346         * platform/graphics/filters/FilterOperation.h: Removed property svn:keywords.
3347         * platform/graphics/filters/FilterOperations.h: Removed property svn:keywords.
3348         * platform/ios/SystemMemory.h: Removed property svn:keywords.
3349         * platform/mock/ScrollbarThemeMock.cpp: Removed property svn:keywords.
3350         * platform/mock/ScrollbarThemeMock.h: Removed property svn:keywords.
3351         * platform/spi/cocoa/ServersSPI.h: Removed property svn:keywords.
3352         * platform/text/mac/ios-encodings.txt: Removed property svn:keywords.
3353         * rendering/FilterEffectRenderer.cpp: Removed property svn:keywords.
3354         * rendering/FilterEffectRenderer.h: Removed property svn:keywords.
3355         * rendering/RenderGeometryMap.cpp: Removed property svn:keywords.
3356         * rendering/RenderGeometryMap.h: Removed property svn:keywords.
3357         * rendering/RenderMediaControlElements.h: Removed property svn:keywords.
3358         * rendering/TextAutoSizing.cpp: Removed property svn:keywords.
3359         * rendering/TextAutoSizing.h: Removed property svn:keywords.
3360         * rendering/style/StylePendingImage.h: Removed property svn:keywords.
3361
3362 2015-02-20  Brent Fulgham  <bfulgham@apple.com>
3363
3364         [Mac] REGRESSION: Scroll snap points broken after r180018
3365         https://bugs.webkit.org/show_bug.cgi?id=141821
3366         <rdar://problem/19898333>
3367
3368         Reviewed by Simon Fraser.
3369
3370         * page/EventHandler.cpp:
3371         (WebCore::EventHandler::platformNotifySnapIfNecessary): Added stub.
3372         (WebCore::EventHandler::handleWheelEvent): Call new 'platformNotifySnapIfNecessary' method
3373         to catch the 'ended wheel' gesture.
3374         * page/EventHandler.h:
3375         * page/mac/EventHandlerMac.mm:
3376         (WebCore::EventHandler::platformNotifySnapIfNecessary): Added. If the wheel event signifies
3377         the end of a wheel/swipe gesture, let the snap logic decide if it should do anything
3378         (i.e., trigger an animation)
3379         * platform/ScrollAnimator.cpp:
3380         (WebCore::ScrollAnimator::processWheelEventForScrollSnap): Added.
3381         * platform/ScrollAnimator.h:
3382
3383 2015-02-20  Eric Carlson  <eric.carlson@apple.com>
3384
3385         [iOS] cleanup AirPlay code
3386         https://bugs.webkit.org/show_bug.cgi?id=141811
3387
3388         Reviewed by Jer Noble.
3389
3390         * Configurations/FeatureDefines.xcconfig: IOS_AIRPLAY -> WIRELESS_PLAYBACK_TARGET.
3391
3392         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp: Ditto.
3393         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
3394         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl:
3395
3396         * Modules/mediacontrols/MediaControlsHost.cpp:
3397         (WebCore::MediaControlsHost::externalDeviceDisplayName): Ditto.
3398         (WebCore::MediaControlsHost::externalDeviceType):
3399
3400         * dom/EventNames.h: Ditto.
3401         * dom/EventNames.in:
3402
3403         * html/HTMLMediaElement.cpp:
3404         (WebCore::HTMLMediaElement::HTMLMediaElement): Ditto.
3405         (WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto.
3406         (WebCore::HTMLMediaElement::parseAttribute):
3407         * html/HTMLMediaElement.h:
3408         * html/HTMLMediaElement.idl:
3409
3410         * html/HTMLMediaSession.cpp:
3411         (WebCore::restrictionName): Ditto.
3412         (WebCore::HTMLMediaSession::applyMediaPlayerRestrictions): Ditto.
3413         * html/HTMLMediaSession.h:
3414
3415         * html/HTMLVideoElement.cpp:
3416         (WebCore::HTMLVideoElement::parseAttribute): Ditto.
3417         * html/HTMLVideoElement.h:
3418         * html/HTMLVideoElement.idl:
3419
3420         * page/Settings.in: Ditto.
3421
3422         * platform/audio/MediaSessionManager.h:
3423         * platform/audio/ios/MediaSessionManagerIOS.h:
3424         * platform/audio/ios/MediaSessionManagerIOS.mm: Ditto.
3425
3426         * platform/graphics/MediaPlayer.cpp:
3427         (WebCore::MediaPlayer::showPlaybackTargetPicker): Deleted.
3428         (WebCore::MediaPlayer::hasWirelessPlaybackTargets): Deleted.
3429         * platform/graphics/MediaPlayer.h:
3430         * platform/graphics/MediaPlayerPrivate.h:
3431         (WebCore::MediaPlayerPrivateInterface::showPlaybackTargetPicker): Deleted.
3432         (WebCore::MediaPlayerPrivateInterface::hasWirelessPlaybackTargets): Deleted.
3433         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3434         (WebCore::MediaPlayerPrivateAVFoundation::rateChanged):
3435         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
3436