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