a22b6bc527a7801b6c9ef508d3593fd2a1489cad
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-12-06  Csaba Osztrogonác  <ossy@webkit.org>
2
3         URTBF after r176915.
4
5         DisplayRefreshMonitorClient is the parent class of GraphicsLayerUpdater
6         only if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is true, so override
7         is incorrect if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is false.
8
9         That's why r176915 broke the build on non PLATFORM(COCOA) platforms,
10         such as GTK, EFL, Apple Windows.
11
12         Additionally displayRefreshFired is only used inside USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
13         guard, so there is no reason to define it for non COCOA platforms.
14
15         * platform/graphics/GraphicsLayerUpdater.cpp:
16         * platform/graphics/GraphicsLayerUpdater.h:
17
18 2014-12-06  Anders Carlsson  <andersca@apple.com>
19
20         Fix build with newer versions of clang.
21         rdar://problem/18978733
22
23         Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit.
24
25         * page/scrolling/AsyncScrollingCoordinator.h:
26         * page/scrolling/ScrollingStateFixedNode.h:
27         * page/scrolling/ScrollingStateFrameScrollingNode.h:
28         * page/scrolling/ScrollingStateOverflowScrollingNode.h:
29         * page/scrolling/ScrollingStateStickyNode.h:
30         * page/scrolling/ScrollingTreeFrameScrollingNode.h:
31         (WebCore::ScrollingTreeFrameScrollingNode::updateLayersAfterDelegatedScroll): Deleted.
32         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
33         * platform/graphics/GraphicsLayerUpdater.h:
34         * platform/mac/ScrollbarThemeMac.h:
35         (WebCore::ScrollbarThemeMac::supportsControlTints): Deleted.
36         (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): Deleted.
37         * rendering/RenderLayerCompositor.h:
38         * rendering/RenderSnapshottedPlugIn.h:
39
40 2014-12-06  Anders Carlsson  <andersca@apple.com>
41
42         Fix build with newer versions of clang.
43         rdar://problem/18978687
44
45         Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit.
46
47         * html/HTMLElement.h:
48         * html/HTMLMediaElement.h:
49         * html/track/VTTCue.h:
50         * loader/FrameNetworkingContext.h:
51         (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect): Deleted.
52         * loader/cache/CachedImage.h:
53         * page/SuspendableTimer.h:
54         * platform/Scrollbar.h:
55         * platform/graphics/InbandTextTrackPrivate.h:
56         * rendering/RenderBlockFlow.h:
57
58 2014-12-06  Anders Carlsson  <andersca@apple.com>
59
60         Follow-up build fix.
61
62         * Configurations/Base.xcconfig:
63
64 2014-12-06  Anders Carlsson  <andersca@apple.com>
65
66         Fix build with newer versions of clang.
67         rdar://problem/18978689
68
69         Disable the "inconsistent missing override" warning due to our use of macros in SVG where it's hard to
70         know whether we can add an override or not.
71
72         Also, cast return values of +alloc to the right type, and add some casts for vector iterator arithmetic.
73
74         * Configurations/Base.xcconfig:
75         * Modules/webdatabase/DatabaseBackendBase.cpp:
76         (WebCore::guidForOriginAndName):
77         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
78         (-[WebAccessibilityObjectWrapper _stringForRange:attributed:]):
79         * editing/cocoa/HTMLConverter.mm:
80         (_shadowForShadowStyle):
81         (HTMLConverter::_addTableForElement):
82         * platform/graphics/SVGGlyph.cpp:
83         (WebCore::isCompatibleArabicForm):
84         * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
85         (WebCore::AudioSourceProviderAVFObjC::createMix):
86         * platform/graphics/mac/FontMac.mm:
87         (WebCore::showLetterpressedGlyphsWithAdvances):
88         * platform/ios/PlatformSpeechSynthesizerIOS.mm:
89         (-[WebSpeechSynthesisWrapper speakUtterance:]):
90         * platform/ios/WebCoreMotionManager.mm:
91         (-[WebCoreMotionManager initializeOnMainThread]):
92         * rendering/RenderTableSection.cpp:
93         (WebCore::RenderTableSection::spannedRows):
94         (WebCore::RenderTableSection::spannedColumns):
95
96 2014-12-06  peavo@outlook.com  <peavo@outlook.com>
97
98         [WinCairo] Compile error, missing guard.
99         https://bugs.webkit.org/show_bug.cgi?id=139338
100
101         Reviewed by Alex Christensen.
102
103         There is missing a ENABLE(CSS_SELECTORS_LEVEL4) guard in CSSParser.cpp.
104
105         * css/CSSParser.cpp:
106         (WebCore::CSSParser::realLex):
107
108 2014-12-05  Chris Fleizach  <cfleizach@apple.com>
109
110         AX: I cannot activate links on the mobile version of news.google.com
111         https://bugs.webkit.org/show_bug.cgi?id=139330
112
113         Reviewed by Simon Fraser.
114
115         This website only listens for touch events. VoiceOver normally dispatches click and mouse events,
116         so on iOS this falls and VoiceOver is not able to activate anything.
117
118         The solution here is to dispatch simulated touch down/up events.
119
120         Test: platform/ios-simulator/ios-accessibility/press-fires-touch-events.html
121
122         * accessibility/AccessibilityObject.cpp:
123         (WebCore::AccessibilityObject::press):
124         (WebCore::AccessibilityObject::dispatchTouchEvent):
125         * accessibility/AccessibilityObject.h:
126         (WebCore::AccessibilityObject::isDetachedFromParent):
127         * page/EventHandler.h:
128         * page/ios/EventHandlerIOS.mm:
129         (WebCore::EventHandler::dispatchSimulatedTouchEvent):
130         * platform/ios/PlatformEventFactoryIOS.h:
131         * platform/ios/PlatformEventFactoryIOS.mm:
132         (WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder):
133         (WebCore::PlatformEventFactory::createPlatformSimulatedTouchEvent):
134
135 2014-12-05  Myles C. Maxfield  <mmaxfield@apple.com>
136
137         Directional single quotation marks are not rotated in vertical text
138         https://bugs.webkit.org/show_bug.cgi?id=138526
139
140         Reviewed by Darin Adler.
141
142         In vertical text, directional single quotation marks are not rotated along with
143         the rest of the letters.
144
145         Test: fast/text/vertical-quotation-marks.html
146
147         * platform/graphics/FontGlyphs.cpp:
148         (WebCore::shouldIgnoreRotation):
149
150 2014-12-05  Dhi Aurrahman  <diorahman@rockybars.com>
151
152         Implement parser for :lang pseudo class selector arguments that contain wildcard '*' subtags
153         https://bugs.webkit.org/show_bug.cgi?id=139014
154
155         Reviewed by Benjamin Poulain.
156
157         Consider each language range in :lang() that consists of an asterisk 
158         immediately followed by an identifier beginning with an ASCII hyphen 
159         as a valid input for the selector as specified in [1].
160
161         [1] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo 
162
163         Test: fast/css/parsing-css-lang.html
164
165         * css/CSSGrammar.y.in:
166         * css/CSSParser.cpp:
167         (WebCore::CSSParser::realLex):
168
169 2014-12-05  Simon Fraser  <simon.fraser@apple.com>
170
171         Programmatic scrolling and content changes are not always synchronized
172         https://bugs.webkit.org/show_bug.cgi?id=139245
173         rdar://problem/18833612
174
175         Reviewed by Anders Carlsson.
176         
177         For programmatic scrolls, AsyncScrollingCoordinator::requestScrollPositionUpdate()
178         calls updateScrollPositionAfterAsyncScroll(), then dispatches the requested
179         scroll position to the scrolling thread.
180         
181         Once the scrolling thread commits, it calls back to the main thread via
182         scheduleUpdateScrollPositionAfterAsyncScroll(), which schedules a second
183         call to updateScrollPositionAfterAsyncScroll() on a timer. That's a problem,
184         because some other scroll may have happened in the meantime; when the timer
185         fires, it can sometimes restore a stale scroll position.
186         
187         Fix by bailing early from scheduleUpdateScrollPositionAfterAsyncScroll()
188         for programmatic scrolls, since we know that requestScrollPositionUpdate()
189         already did the updateScrollPositionAfterAsyncScroll().
190
191         Test:
192             ManualTests/programmatic-scroll-flicker.html
193
194         * page/FrameView.cpp:
195         (WebCore::FrameView::reset): nullptr.
196         (WebCore::FrameView::setScrollPosition): Ditto.
197         (WebCore::FrameView::setWasScrolledByUser): Ditto.
198         * page/scrolling/AsyncScrollingCoordinator.cpp:
199         (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate): Use a local variable for
200         isProgrammaticScroll just to make sure we use the same value for the duration of this function.
201         (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll): Do nothing
202         if this is a programmatic scroll.
203
204 2014-12-05  Timothy Horton  <timothy_horton@apple.com>
205
206         Build fix.
207
208         * platform/spi/mac/TUCallSPI.h:
209
210 2014-12-05  Roger Fong  <roger_fong@apple.com>
211
212         [Win] proj files copying over too many resources..
213         https://bugs.webkit.org/show_bug.cgi?id=139315.
214         <rdar://problem/19148278>
215
216         Reviewed by Brent Fulgham.
217
218         * WebCore.vcxproj/WebCore.proj: Don't copy over bin32 build output.
219
220 2014-12-05  Timothy Horton  <timothy_horton@apple.com>
221
222         Use the system string for telephone number menu
223         https://bugs.webkit.org/show_bug.cgi?id=139324
224         <rdar://problem/18726471>
225
226         * platform/spi/mac/TUCallSPI.h: Added.
227         Actually add the SPI header from the last commit.
228
229 2014-12-05  Tim Horton  <timothy_horton@apple.com>
230
231         Use the system string for telephone number menu
232         https://bugs.webkit.org/show_bug.cgi?id=139324
233         <rdar://problem/18726471>
234
235         Reviewed by Anders Carlsson.
236
237         * WebCore.xcodeproj/project.pbxproj:
238         * platform/spi/mac/TUCallSPI.h: Added.
239         Add an SPI header.
240
241 2014-12-05  Jer Noble  <jer.noble@apple.com>
242
243         [MSE][Mac] Return absolute value of error code from CDMSessionMediaSourceAVFObjC::update().
244         https://bugs.webkit.org/show_bug.cgi?id=139316
245
246         Reviewed by Eric Carlson.
247
248         Similarly to our asynchronous error reporting, return the absolute value of the error code.
249
250         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
251         (WebCore::systemCodeForError):
252         (WebCore::CDMSessionMediaSourceAVFObjC::update):
253
254 2014-12-05  Anders Carlsson  <andersca@apple.com>
255
256         Fix build on Windows.
257
258         * page/SessionIDHash.h:
259
260 2014-12-05  Zalan Bujtas  <zalan@apple.com>
261
262         Issue repaint at setUnavailablePluginIndicatorIsHidden() only when embedded object's indicator status changes.
263         https://bugs.webkit.org/show_bug.cgi?id=139311
264
265         Reviewed by Tim Horton.
266
267         Not testable.
268
269         * rendering/RenderEmbeddedObject.cpp:
270         (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden):
271
272 2014-12-05  Andreas Kling  <akling@apple.com>
273
274         PassRef should deref on destruction if pointee was not moved.
275         <https://webkit.org/b/139309>
276
277         Reviewed by Antti Koivisto.
278
279         Remove calls to PassRef::dropRef() since it's no longer necessary to manually
280         notify PassRef that you didn't move the pointee.
281
282         * rendering/RenderElement.cpp:
283         (WebCore::RenderElement::createFor):
284         (WebCore::RenderElement::setStyle):
285         * style/StyleResolveTree.cpp:
286         (WebCore::Style::resolveTree):
287
288 2014-12-05  Benjamin Poulain  <bpoulain@apple.com>
289
290         Fix style sharing with the "type" and "readonly" attributes
291         https://bugs.webkit.org/show_bug.cgi?id=139283
292
293         Reviewed by Antti Koivisto.
294
295         There are two bugs adressed with this patch:
296         1) The attributes "type" and "readonly" where only handled correctly
297            for input elements. For everything else, they could incorrectly
298            be ignored for style sharing.
299         2) The handling of attributes was incorrect for selector lists, leading
300            to various bugs (incorrect style sharing in some cases, disabling
301            style sharing on valid cases).
302
303         For [1], the problem was that attribute checking had been limited to
304         StyleResolver::canShareStyleWithControl(). That function is for handling
305         the special states of input element. For any other element, the attributes
306         were simply ignored.
307
308         For [2], there were a bunch of small problems. First, containsUncommonAttributeSelector()
309         was not recursive, which caused it to ignored any nested selector list. This used to be
310         correct but since we have advanced selectors we can no longer assumed selectors are not nested.
311
312         A second issue was that any attribute in a selector list was causing us to fall back
313         to the slow case. Now that we have the fast :matches(), we really don't want that.
314
315         The function containsUncommonAttributeSelector() was transformed into a recursive function
316         tracking where we are in the selector.
317
318         At the entry point, we start with the flag "startsOnRightmostElement" set to true. The flag is then
319         updated on the stack of each recursive call.
320
321         For example, "webkit > is:matches(freaking > awesome)". We evalute "is" with the flag to true, then recurse
322         into evaluating "freaking > awesome" with the flag still set to true. When we evalute ">", the flag
323         is set to false to evaluate any following selectors.
324         After evaluating "freaking > awesome", we go back to our previous stack frame, and the flag
325         is back to true and we can continue evaluating with the curren top level state.
326
327         From some logging, I discovered that the attribute handling is way too aggressive.
328         This is not a regression and I cannot fix that easily so I left a fixme.
329
330         Tests: fast/css/data-attribute-style-sharing-1.html
331                fast/css/data-attribute-style-sharing-2.html
332                fast/css/data-attribute-style-sharing-3.html
333                fast/css/data-attribute-style-sharing-4.html
334                fast/css/data-attribute-style-sharing-5.html
335                fast/css/data-attribute-style-sharing-6.html
336                fast/css/data-attribute-style-sharing-7.html
337                fast/css/readonly-attribute-style-sharing-1.html
338                fast/css/readonly-attribute-style-sharing-2.html
339                fast/css/readonly-attribute-style-sharing-3.html
340                fast/css/readonly-attribute-style-sharing-4.html
341                fast/css/readonly-attribute-style-sharing-5.html
342                fast/css/readonly-attribute-style-sharing-6.html
343                fast/css/readonly-attribute-style-sharing-7.html
344                fast/css/type-attribute-style-sharing-1.html
345                fast/css/type-attribute-style-sharing-2.html
346                fast/css/type-attribute-style-sharing-3.html
347                fast/css/type-attribute-style-sharing-4.html
348                fast/css/type-attribute-style-sharing-5.html
349                fast/css/type-attribute-style-sharing-6.html
350                fast/css/type-attribute-style-sharing-7.html
351
352         * css/RuleSet.cpp:
353         (WebCore::containsUncommonAttributeSelector):
354         (WebCore::RuleData::RuleData):
355         (WebCore::selectorListContainsAttributeSelector): Deleted.
356         * css/StyleResolver.cpp:
357         (WebCore::StyleResolver::canShareStyleWithControl):
358         (WebCore::StyleResolver::canShareStyleWithElement):
359
360 2014-12-05  Jer Noble  <jer.noble@apple.com>
361
362         [WTF] MediaTime should support round-tripping from and to doubles.
363         https://bugs.webkit.org/show_bug.cgi?id=139248
364
365         Reviewed by Eric Carlson.
366
367         Check whether the MediaTime's underlying data is floating point before converting
368         to a CMTime or QTTime.
369
370         * platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:
371         (WebCore::toCMTime):
372         * platform/graphics/mac/MediaTimeQTKit.mm:
373         (WebCore::toQTTime):
374
375 2014-12-05  Anders Carlsson  <andersca@apple.com>
376
377         Add a private browsing mode to MiniBrowser
378         https://bugs.webkit.org/show_bug.cgi?id=139308
379
380         Reviewed by Sam Weinig.
381
382         Use -1 instead of -2 for the deleted value.
383
384         * page/SessionIDHash.h:
385
386 2014-12-05  Chris Dumez  <cdumez@apple.com>
387
388         Move 'text-emphasis-style' CSS property to the new StyleBuilder
389         https://bugs.webkit.org/show_bug.cgi?id=139285
390
391         Reviewed by Sam Weinig.
392
393         Move 'text-emphasis-style' CSS property to the new StyleBuilder by
394         using custom code.
395
396         No new tests, no behavior change.
397
398         * css/CSSPropertyNames.in:
399         * css/DeprecatedStyleBuilder.cpp:
400         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
401         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue): Deleted.
402         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue): Deleted.
403         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue): Deleted.
404         (WebCore::ApplyPropertyTextEmphasisStyle::createHandler): Deleted.
405         * css/StyleBuilderCustom.h:
406         (WebCore::StyleBuilderCustom::applyInitialWebkitTextEmphasisStyle):
407         (WebCore::StyleBuilderCustom::applyInheritWebkitTextEmphasisStyle):
408         (WebCore::StyleBuilderCustom::applyValueWebkitTextEmphasisStyle):
409
410 2014-12-05  Eric Carlson  <eric.carlson@apple.com>
411
412         [iOS] remove "enter optimized fullscreen" gesture
413         https://bugs.webkit.org/show_bug.cgi?id=139301
414
415         Reviewed by Jer Noble.
416
417         * Modules/mediacontrols/mediaControlsiOS.js:
418         (ControllerIOS.prototype.handleWrapperTouchStart): Remove gesture recognizer.
419
420 2014-12-05  Beth Dakin  <bdakin@apple.com>
421
422         rdar://problem/19156353 Additional build-fixes needed.
423
424         Rubber-stamped by Tim Horton.
425
426         This is a bit unfortunate, but we need to always forward-declare this for now.
427         * platform/spi/mac/QuickLookMacSPI.h:
428
429 2014-12-05  David Kilzer  <ddkilzer@apple.com>
430
431         FeatureDefines.xcconfig: Workaround bug in Xcode 5.1.1 when defining ENABLE_WEB_REPLAY
432         <http://webkit.org/b/139286>
433
434         Reviewed by Daniel Bates.
435
436         * Configurations/FeatureDefines.xcconfig: Switch back to using
437         PLATFORM_NAME to workaround a bug in Xcode 5.1.1 on 10.8.
438
439 2014-12-05  Eric Carlson  <eric.carlson@apple.com>
440
441         [iOS] allow host application to opt-out of alternate fullscreen pt. 2
442         https://bugs.webkit.org/show_bug.cgi?id=139227
443
444         Reviewed by Jer Noble and Anders Carlsson
445
446         * WebCore.exp.in: Export HTMLMediaSession::allowsAlternateFullscreen, change the signature of 
447             WebVideoFullscreenInterfaceAVKit::setupFullscreen.
448
449         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
450         (-[WebVideoFullscreenController enterFullscreen:mode:]): Update for
451             WebVideoFullscreenInterfaceAVKit::setupFullscreen change.
452
453         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Add argument to setupFullscreen.
454         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
455         (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
456
457 2014-12-05  Shivakumar JM  <shiva.jm@samsung.com>
458
459         Fix build warning in WebCore/platform/graphics module
460         https://bugs.webkit.org/show_bug.cgi?id=139290
461
462         Reviewed by Carlos Garcia Campos.
463
464         Fix a build warning by removing parameter name from function.
465
466         No new tests, no behavior change.
467
468         * platform/graphics/freetype/FontCacheFreeType.cpp:
469         (WebCore::getFamilyNameStringFromFontDescriptionAndFamily):
470
471 2014-12-05  sungmin cho  <sungmin17.cho@lge.com>
472
473         GraphicsLayerTextureMapper: Rename parameter to be more clear
474         https://bugs.webkit.org/show_bug.cgi?id=139288
475
476         Reviewed by Martin Robinson.
477
478         Rename 'media' to 'platformLayer'.
479
480         No new tests, no change in functionality.
481
482         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
483         (WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):
484
485 2014-12-04  Mark Rowe  <mrowe@apple.com>
486
487         Fix pre-Yosemite builds.
488
489         The #ifs in two SPI wrapper headers were incorrect, resulting in code being included
490         prior to Yosemite that required Yosemite to compile.
491
492         * platform/spi/mac/NSSharingServicePickerSPI.h:
493         * platform/spi/mac/NSSharingServiceSPI.h:
494
495 2014-12-02  Brian J. Burg  <burg@cs.washington.edu>
496
497         Web Inspector: timeline probe records have inaccurate per-probe hit counts
498         https://bugs.webkit.org/show_bug.cgi?id=138976
499
500         Reviewed by Joseph Pecoraro.
501
502         Update the signature for breakpointActionProbe to take batchId and sampleId.
503         Covered by existing test inspector-protocol/debugger/didSampleProbe-multiple-probes.html.
504
505         * inspector/InspectorTimelineAgent.cpp:
506         (WebCore::InspectorTimelineAgent::breakpointActionProbe):
507         * inspector/InspectorTimelineAgent.h:
508         * inspector/TimelineRecordFactory.cpp:
509         (WebCore::TimelineRecordFactory::createProbeSampleData):
510         * inspector/TimelineRecordFactory.h:
511
512 2014-12-04  Adenilson Cavalcanti  <cavalcantii@gmail.com>
513
514         Groove/inset/outset borders show solid if the color is black
515         https://bugs.webkit.org/show_bug.cgi?id=58608
516
517         Reviewed by Simon Fraser.
518
519         Test: fast/borders/mixed-border-style2.html
520
521         This patch will lighten/darken the border side colors, handling
522         border decoration in a similar way as Firefox does.
523
524         * rendering/RenderObject.cpp:
525         (WebCore::RenderObject::drawLineForBoxSide):
526         (WebCore::RenderObject::calculateBorderStyleColor):
527         * rendering/RenderObject.h:
528
529 2014-12-04  Chris Dumez  <cdumez@apple.com>
530
531         Move 'webkit-aspect-ratio' CSS property to the new StyleBuilder
532         https://bugs.webkit.org/show_bug.cgi?id=139250
533
534         Reviewed by Sam Weinig.
535
536         Move 'aspect-ratio' CSS property to the new StyleBuilder by
537         using custom code.
538
539         No new tests, no behavior change.
540
541         * css/CSSPropertyNames.in:
542         * css/DeprecatedStyleBuilder.cpp:
543         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
544         (WebCore::ApplyPropertyAspectRatio::applyInheritValue): Deleted.
545         (WebCore::ApplyPropertyAspectRatio::applyInitialValue): Deleted.
546         (WebCore::ApplyPropertyAspectRatio::applyValue): Deleted.
547         (WebCore::ApplyPropertyAspectRatio::createHandler): Deleted.
548         * css/StyleBuilderCustom.h:
549         (WebCore::StyleBuilderCustom::applyInitialWebkitAspectRatio):
550         (WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio):
551         (WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio):
552
553 2014-12-04  Timothy Horton  <timothy_horton@apple.com>
554
555         Further fix the 32-bit build.
556
557         * page/mac/TextIndicatorWindow.mm:
558         (WebCore::TextIndicatorWindow::setTextIndicator):
559
560 2014-12-04  Timothy Horton  <timothy_horton@apple.com>
561
562         Fix the 32-bit build.
563
564         * page/mac/TextIndicatorWindow.h:
565         * page/mac/TextIndicatorWindow.mm:
566         (WebCore::TextIndicatorWindow::setTextIndicator):
567
568 2014-12-04  Tim Horton  <timothy_horton@apple.com>
569
570         TextIndicator::createWithSelectionInFrame does synchronous IPC in WebKit2
571         https://bugs.webkit.org/show_bug.cgi?id=139252
572         <rdar://problem/19140827>
573
574         Reviewed by Anders Carlsson.
575
576         * WebCore.exp.in:
577         * page/TextIndicator.cpp:
578         (WebCore::TextIndicator::createWithSelectionInFrame):
579         (WebCore::TextIndicator::TextIndicator):
580         * page/TextIndicator.h:
581         (WebCore::TextIndicator::selectionRectInWindowCoordinates):
582         (WebCore::TextIndicator::textBoundingRectInWindowCoordinates):
583         (WebCore::TextIndicator::selectionRectInScreenCoordinates): Deleted.
584         (WebCore::TextIndicator::textBoundingRectInScreenCoordinates): Deleted.
585         Go back to keeping the rects in "window" coordinates.
586
587         * page/mac/TextIndicatorWindow.h:
588         * page/mac/TextIndicatorWindow.mm:
589         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
590         (WebCore::TextIndicatorWindow::setTextIndicator):
591         Let callers pass in the contentRect instead of trying to share the code
592         to compute it, since it needs to be different for legacy and modern WebKit.
593
594 2014-12-04  Oliver Hunt  <oliver@apple.com>
595
596         Serialization of MapData object provides unsafe access to internal types
597         https://bugs.webkit.org/show_bug.cgi?id=138653
598
599         Reviewed by Geoffrey Garen.
600
601         We now keep the value portion of the key/value pair in MapData as a
602         separate stack. This allows us to maintain the spec semantic of
603         "atomic" serialisation of the key/value pair without retaining the
604         use of a potentially invalid iterator.
605
606         * bindings/js/SerializedScriptValue.cpp:
607         (WebCore::CloneSerializer::serialize):
608
609 2014-12-04  Radu Stavila  <stavila@adobe.com>
610
611         [SVG Masking] Add support for referencing <mask> elements from -webkit-mask-image
612         https://bugs.webkit.org/show_bug.cgi?id=139092
613
614         Reviewed by Simon Fraser.
615
616         This patch improves the -webkit-mask-image property by allowing it to reference
617         a <mask> element defined in an inline or external SVG document.
618         Up until now, each image to be used as a mask consisted of a FillLayer object 
619         whose m_image member represented the mask. Now, in order to accomodate
620         <mask> elements referenced by a fragment identifier (e.g. file.svg#mask1)
621         a new class was created (MaskImageOperation) and added as a member of the 
622         FillLayer. As such, from now on, all FillLayer objects used for masking will
623         store the masking information in this new member.
624         When parsing the -webkit-mask-image property (or the -webkit-mask shorthand)
625         a new MaskImageOperation object is created for each image. If the value represents
626         an external URL, a pending SVG document will be created which will be loaded 
627         during the phase that loads the pending resources. When the download is complete,
628         the MaskImageOperation is notified by the CachedSVGDocument class and checks if
629         the received download is a valid SVG and the requested fragment identifier
630         actually exists and identifies a <mask> element. If it does, that element's
631         renderer (of type RenderSVGResourceMasker) will be used when painting the mask layers.
632         Otherwise, the MaskImageOperation class will use the already downloaded data 
633         buffer to create a CachedImage from it and use that instead, basically emulating
634         the previous behavior, when only images were accepted. This ensures that all existing
635         behavior, like painting entire SVGs, painting normal images (e.g. PNG/JPG), painting
636         generated images (e.g. linear-gradient) works as it did before.
637
638         No new tests required, this patch doesn't change any current functionality. 
639         It only adds support for referencing <mask> elements for the -webkit-mask-image 
640         property. This is sub-part 1 of the bigger patch https://bugs.webkit.org/show_bug.cgi?id=129682.
641
642         * CMakeLists.txt:
643         * WebCore.vcxproj/WebCore.vcxproj:
644         * WebCore.vcxproj/WebCore.vcxproj.filters:
645         * WebCore.xcodeproj/project.pbxproj:
646         * css/CSSValue.cpp:
647         (WebCore::CSSValue::cssText):
648         (WebCore::CSSValue::destroy):
649         * css/CSSValue.h:
650         (WebCore::CSSValue::isWebKitCSSResourceValue):
651         * css/StyleResolver.cpp:
652         (WebCore::StyleResolver::State::clear):
653         (WebCore::StyleResolver::createMaskImageOperations):
654         * css/StyleResolver.h:
655         (WebCore::StyleResolver::State::maskImagesWithPendingSVGDocuments):
656         * css/WebKitCSSResourceValue.cpp: Added.
657         (WebCore::WebKitCSSResourceValue::WebKitCSSResourceValue):
658         (WebCore::WebKitCSSResourceValue::customCSSText):
659         (WebCore::WebKitCSSResourceValue::isCSSValueNone):
660         * css/WebKitCSSResourceValue.h: Added.
661         (WebCore::WebKitCSSResourceValue::create):
662         (WebCore::WebKitCSSResourceValue::innerValue):
663         * loader/cache/CachedResourceLoader.cpp:
664         (WebCore::CachedResourceLoader::addCachedResource):
665         * loader/cache/CachedResourceLoader.h:
666         * loader/cache/CachedSVGDocument.cpp:
667         (WebCore::CachedSVGDocument::CachedSVGDocument):
668         (WebCore::CachedSVGDocument::finishLoading):
669         * loader/cache/CachedSVGDocument.h:
670         * loader/cache/CachedSVGDocumentReference.cpp:
671         (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
672         (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
673         (WebCore::CachedSVGDocumentReference::load):
674         * loader/cache/CachedSVGDocumentReference.h:
675         * page/FrameView.cpp:
676         (WebCore::FrameView::isSVGDocument):
677         * page/FrameView.h:
678         * page/Page.cpp:
679         (WebCore::Page::createPageFromBuffer):
680         * page/Page.h:
681         * platform/ScrollView.h:
682         (WebCore::ScrollView::isSVGDocument):
683         * platform/graphics/MaskImageOperation.cpp: Added.
684         (WebCore::MaskImageOperation::create):
685         (WebCore::MaskImageOperation::MaskImageOperation):
686         (WebCore::MaskImageOperation::~MaskImageOperation):
687         (WebCore::MaskImageOperation::isCSSValueNone):
688         (WebCore::MaskImageOperation::cssValue):
689         (WebCore::MaskImageOperation::isMaskLoaded):
690         (WebCore::MaskImageOperation::setRenderLayerImageClient):
691         (WebCore::MaskImageOperation::addRendererImageClient):
692         (WebCore::MaskImageOperation::removeRendererImageClient):
693         (WebCore::MaskImageOperation::getOrCreateCachedSVGDocumentReference):
694         (WebCore::MaskImageOperation::notifyFinished): This is the method that gets called when the document has finished 
695         downloading and checks if it can find a valid <mask> element.
696         (WebCore::MaskImageOperation::drawMask):
697         (WebCore::MaskImageOperation::getSVGMasker):
698         * platform/graphics/MaskImageOperation.h: Added.
699         * rendering/RenderBoxModelObject.cpp: The BackgroundImageGeometry class was moved out of RenderBoxModelObject in 
700         order to be used as a parameter for other methods. This was necessary to avoid having methods with very many parameters.
701         (WebCore::BackgroundImageGeometry::setNoRepeatX):
702         (WebCore::BackgroundImageGeometry::setNoRepeatY):
703         (WebCore::BackgroundImageGeometry::useFixedAttachment):
704         (WebCore::BackgroundImageGeometry::clip):
705         (WebCore::BackgroundImageGeometry::relativePhase):
706         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX): Deleted.
707         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY): Deleted.
708         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment): Deleted.
709         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip): Deleted.
710         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase): Deleted.
711         * rendering/RenderBoxModelObject.h:
712         (WebCore::BackgroundImageGeometry::BackgroundImageGeometry):
713         (WebCore::BackgroundImageGeometry::destOrigin):
714         (WebCore::BackgroundImageGeometry::setDestOrigin):
715         (WebCore::BackgroundImageGeometry::destRect):
716         (WebCore::BackgroundImageGeometry::setDestRect):
717         (WebCore::BackgroundImageGeometry::phase):
718         (WebCore::BackgroundImageGeometry::setPhase):
719         (WebCore::BackgroundImageGeometry::tileSize):
720         (WebCore::BackgroundImageGeometry::setTileSize):
721         (WebCore::BackgroundImageGeometry::spaceSize):
722         (WebCore::BackgroundImageGeometry::setSpaceSize):
723         (WebCore::BackgroundImageGeometry::setPhaseX):
724         (WebCore::BackgroundImageGeometry::setPhaseY):
725         (WebCore::BackgroundImageGeometry::setHasNonLocalGeometry):
726         (WebCore::BackgroundImageGeometry::hasNonLocalGeometry):
727         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::BackgroundImageGeometry): Deleted.
728         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin): Deleted.
729         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin): Deleted.
730         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect): Deleted.
731         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect): Deleted.
732         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase): Deleted.
733         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase): Deleted.
734         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize): Deleted.
735         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize): Deleted.
736         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::spaceSize): Deleted.
737         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setSpaceSize): Deleted.
738         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX): Deleted.
739         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY): Deleted.
740         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setHasNonLocalGeometry): Deleted.
741         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::hasNonLocalGeometry): Deleted.
742         * rendering/RenderLayer.cpp:
743         (WebCore::RenderLayer::RenderLayer):
744         (WebCore::RenderLayer::~RenderLayer):
745         * rendering/RenderLayer.h:
746         * rendering/RenderLayerMaskImageInfo.cpp: Added.
747         (WebCore::RenderLayer::MaskImageInfo::layerToMaskMap): Returns a static map that links MaskImageInfo objects to RenderLayers.
748         (WebCore::RenderLayer::MaskImageInfo::getIfExists): Returns the MaskImageInfo associated with a specific RenderLayer.
749         (WebCore::RenderLayer::MaskImageInfo::get): Returns the MaskImageInfo associated with a specific RenderLayer (creates it if necessary).
750         (WebCore::RenderLayer::MaskImageInfo::remove): Removes the MaskImageInfo associated with a specific RenderLayer.
751         (WebCore::RenderLayer::MaskImageInfo::MaskImageInfo):
752         (WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo):
753         (WebCore::RenderLayer::MaskImageInfo::notifyFinished): Gets called when the SVG document finished loading, triggers repaint.
754         (WebCore::RenderLayer::MaskImageInfo::imageChanged): Gets called when the image object changed, triggers repaint.
755         (WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients): Goes through all mask layers and sets image/SVG clients. 
756         Updates list of internal and external SVG references.
757         (WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients): Removes all image/SVG clients and clears lists of internal and external SVG references.
758         * rendering/RenderLayerMaskImageInfo.h: Added.
759         * rendering/RenderObject.h:
760         (WebCore::RenderObject::isRenderSVGResourceMasker):
761         * rendering/style/FillLayer.cpp:
762         (WebCore::FillLayer::FillLayer):
763         (WebCore::FillLayer::operator=):
764         (WebCore::FillLayer::operator==):
765         (WebCore::FillLayer::cullEmptyLayers):
766         (WebCore::FillLayer::hasNonEmptyMaskImage):
767         (WebCore::FillLayer::imagesAreLoaded):
768         * rendering/style/FillLayer.h:
769         (WebCore::FillLayer::maskImage):
770         (WebCore::FillLayer::imageOrMaskImage):
771         (WebCore::FillLayer::setMaskImage):
772         (WebCore::FillLayer::clearMaskImage):
773         (WebCore::FillLayer::hasMaskImage):
774         * rendering/svg/RenderSVGResourceMasker.cpp:
775         (WebCore::RenderSVGResourceMasker::applySVGMask):
776         (WebCore::RenderSVGResourceMasker::applyResource):
777         (WebCore::RenderSVGResourceMasker::drawMaskForRenderer):
778         * rendering/svg/RenderSVGResourceMasker.h:
779         * svg/SVGMaskElement.cpp:
780         (WebCore::SVGMaskElement::createElementRenderer):
781         (WebCore::SVGMaskElement::addClientRenderLayer):
782         (WebCore::SVGMaskElement::removeClientRenderLayer):
783         * svg/SVGMaskElement.h:
784         * svg/SVGUseElement.cpp:
785         (WebCore::SVGUseElement::setCachedDocument):
786         * svg/graphics/SVGImage.cpp:
787         (WebCore::SVGImage::dataChanged):
788
789 2014-12-04  Commit Queue  <commit-queue@webkit.org>
790
791         Unreviewed, rolling out r176789.
792         https://bugs.webkit.org/show_bug.cgi?id=139255
793
794         Broke the non Mac-WK2 builds (Requested by stavila on
795         #webkit).
796
797         Reverted changeset:
798
799         "Remove isSpecifiedFont boolean from FontDescription"
800         https://bugs.webkit.org/show_bug.cgi?id=139233
801         http://trac.webkit.org/changeset/176789
802
803 2014-12-03  Antti Koivisto  <antti@apple.com>
804
805         Remove isSpecifiedFont boolean from FontDescription
806         https://bugs.webkit.org/show_bug.cgi?id=139233
807
808         Reviewed by Andreas Kling.
809
810         It is barely used.
811
812         * css/StyleBuilderCustom.h:
813         (WebCore::StyleBuilderCustom::applyInheritFontFamily):
814         (WebCore::StyleBuilderCustom::applyValueFontFamily):
815         * platform/graphics/FontDescription.cpp:
816         (WebCore::genericFamiliesSet):
817         (WebCore::FontDescription::hasGenericFirstFamily):
818
819             Add a function to test for generic families.
820
821         * platform/graphics/FontDescription.h:
822         (WebCore::FontDescription::FontDescription):
823         (WebCore::FontDescription::setTextRenderingMode):
824         (WebCore::FontDescription::operator==):
825         (WebCore::FontDescription::isSpecifiedFont): Deleted.
826         (WebCore::FontDescription::setIsSpecifiedFont): Deleted.
827         * rendering/RenderText.cpp:
828         (WebCore::RenderText::computeUseBackslashAsYenSymbol):
829
830             This is the only client.
831             Figure out the equivalent information dynamically if needed.
832
833 2014-12-03  Joonghun Park  <jh718.park@samsung.com>
834
835         Use std::unique_ptr instead of PassOwnPtr|OwnPtr for Pasteboard
836         https://bugs.webkit.org/show_bug.cgi?id=139019
837
838         Reviewed by Darin Adler.
839
840         No new tests, no behavior changes.
841
842         * dom/DataTransfer.cpp:
843         (WebCore::DataTransfer::DataTransfer):
844         * dom/DataTransfer.h:
845         * editing/Editor.cpp:
846         (WebCore::Editor::dispatchCPPEvent):
847         * page/mac/EventHandlerMac.mm:
848         (WebCore::EventHandler::createDraggingDataTransfer):
849         * platform/Pasteboard.h:
850         * platform/efl/PasteboardEfl.cpp:
851         (WebCore::Pasteboard::createForCopyAndPaste):
852         (WebCore::Pasteboard::createPrivate):
853         (WebCore::Pasteboard::createForDragAndDrop):
854         * platform/gtk/PasteboardGtk.cpp:
855         (WebCore::Pasteboard::createForCopyAndPaste):
856         (WebCore::Pasteboard::createForGlobalSelection):
857         (WebCore::Pasteboard::createPrivate):
858         (WebCore::Pasteboard::createForDragAndDrop):
859         (WebCore::Pasteboard::create): Deleted.
860         * platform/ios/PasteboardIOS.mm:
861         (WebCore::Pasteboard::createForCopyAndPaste):
862         (WebCore::Pasteboard::createPrivate):
863         * platform/mac/PasteboardMac.mm:
864         (WebCore::Pasteboard::createForCopyAndPaste):
865         (WebCore::Pasteboard::createPrivate):
866         (WebCore::Pasteboard::createForDragAndDrop):
867         (WebCore::Pasteboard::create): Deleted.
868         * platform/win/PasteboardWin.cpp:
869         (WebCore::Pasteboard::createForCopyAndPaste):
870         (WebCore::Pasteboard::createPrivate):
871         (WebCore::Pasteboard::createForDragAndDrop):
872
873 2014-12-03  Benjamin Poulain  <bpoulain@apple.com>
874
875         Get rid of FrameLoaderClient::dispatchWillRequestResource
876         https://bugs.webkit.org/show_bug.cgi?id=139235
877
878         Reviewed by Alexey Proskuryakov.
879
880         It is useless.
881
882         * loader/FrameLoaderClient.h:
883         (WebCore::FrameLoaderClient::dispatchWillRequestResource): Deleted.
884         * loader/cache/CachedResourceLoader.cpp:
885         (WebCore::CachedResourceLoader::requestResource):
886
887 2014-12-03  Myles C. Maxfield  <mmaxfield@apple.com>
888
889         List markers in RTL languages do not draw the first character.
890         https://bugs.webkit.org/show_bug.cgi?id=139244
891
892         Reviewed by Simon Fraser.
893
894         Off-by-one error when reversing the string (from LTR to RTL)
895
896         Test: fast/lists/rtl-marker.html
897
898         * rendering/RenderListMarker.cpp:
899         (WebCore::RenderListMarker::paint):
900
901 2014-12-03  Beth Dakin  <bdakin@apple.com>
902
903         <input> elements get whitespace action menu instead of editable text menu
904         https://bugs.webkit.org/show_bug.cgi?id=139241
905         -and corresponding-
906         rdar://problem/19072083
907
908         Reviewed by Sam Weinig.
909
910         Since we will hit test form controls as form controls, we need a new function to 
911         determine if the hit point is over text inside that form control or not.
912         * WebCore.exp.in:
913         * rendering/HitTestResult.cpp:
914         (WebCore::HitTestResult::isOverTextInsideFormControlElement):
915         * rendering/HitTestResult.h:
916
917 2014-12-03  Tim Horton  <timothy_horton@apple.com>
918
919         Keyboard input should be disabled in the preview popover
920         https://bugs.webkit.org/show_bug.cgi?id=139219
921         <rdar://problem/19052381>
922
923         Reviewed by Anders Carlsson.
924
925         * page/ChromeClient.h:
926         (WebCore::ChromeClient::shouldDispatchFakeMouseMoveEvents):
927         * page/EventHandler.cpp:
928         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
929         Allow ChromeClient to disable the dispatch of "fake" mouseMove events
930         that happens during scrolling.
931
932 2014-12-03  Antti Koivisto  <antti@apple.com>
933
934         Remove genericFamily enum from FontDescription
935         https://bugs.webkit.org/show_bug.cgi?id=139207
936
937         Reviewed by Andreas Kling.
938
939         We use predefined AtomicStrings for generic families. The side enum adds no information.
940
941         * css/CSSFontSelector.cpp:
942         (WebCore::resolveGenericFamily):
943         (WebCore::CSSFontSelector::getFontData):
944
945             Match the existing quirk where the default font can be replaced by @font-face rule but user generic families can't.
946
947         (WebCore::CSSFontSelector::resolvesFamilyFor):
948         (WebCore::fontDataForGenericFamily): Deleted.
949         * css/DeprecatedStyleBuilder.cpp:
950         (WebCore::ApplyPropertyFontFamily::applyInheritValue):
951         (WebCore::ApplyPropertyFontFamily::applyInitialValue):
952         (WebCore::ApplyPropertyFontFamily::applyValue):
953         * css/StyleResolver.cpp:
954         (WebCore::StyleResolver::checkForGenericFamilyChange):
955
956             Remove the explicit monospace check, earlier useFixedDefaultSize check is equivalent.
957
958         (WebCore::StyleResolver::initializeFontStyle):
959         * platform/graphics/FontDescription.h:
960         (WebCore::FontDescription::FontDescription):
961         (WebCore::FontDescription::useFixedDefaultSize):
962         (WebCore::FontDescription::setWeight):
963         (WebCore::FontDescription::equalForTextAutoSizing):
964         (WebCore::FontDescription::operator==):
965         (WebCore::FontDescription::genericFamily): Deleted.
966         (WebCore::FontDescription::setGenericFamily): Deleted.
967         * platform/mac/ThemeMac.mm:
968         (WebCore::ThemeMac::controlFont):
969         * rendering/RenderTheme.cpp:
970         (WebCore::RenderTheme::adjustStyle):
971
972             Reset the lineheight unconditionally for buttons.
973             This always happened before because the explicitly set generic family made the font compare false.
974
975         * rendering/RenderThemeIOS.mm:
976         (WebCore::RenderThemeIOS::systemFont):
977         * rendering/RenderThemeMac.mm:
978         (WebCore::RenderThemeMac::systemFont):
979         (WebCore::RenderThemeMac::setFontFromControlSize):
980         * style/StyleResolveForDocument.cpp:
981         (WebCore::Style::resolveForDocument):
982
983             Resolve document style for final value immediately as it can't be affected by @font-face rules.
984
985 2014-12-03  Zalan Bujtas  <zalan@apple.com>
986
987         ASSERTION: RenderMultiColumnFlowThread::processPossibleSpannerDescendant() when column spanner's parent is not a RenderBlockFlow.
988         https://bugs.webkit.org/show_bug.cgi?id=139188
989         rdar://problem/18502182
990
991         Reviewed by David Hyatt.
992
993         This patch ensures that the validation check for spanner in isValidColumnSpanner() is in synch
994         with the expectation in RenderMultiColumnFlowThread::processPossibleSpannerDescendant().
995         (descendant's parent is expected to be a RenderBlockFlow)
996
997         Test: fast/multicol/svg-content-as-column-spanner-crash.html
998
999         * rendering/RenderMultiColumnFlowThread.cpp:
1000         (WebCore::isValidColumnSpanner):
1001
1002 2014-12-03  peavo@outlook.com  <peavo@outlook.com>
1003
1004         [TexMap] Redundant method in GraphicsLayerTextureMapper.
1005         https://bugs.webkit.org/show_bug.cgi?id=138005
1006
1007         Reviewed by Alex Christensen.
1008
1009         The TextureMapperLayer method descendantsOrSelfHaveRunningAnimations() can be used
1010         instead of the GraphicsLayerTextureMapper method startedAnimation().
1011
1012         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1013         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
1014         (WebCore::GraphicsLayerTextureMapper::addAnimation):
1015         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1016
1017 2014-12-03  Jeremy Jones  <jeremyj@apple.com>
1018
1019         Subtitle menu should only appear when useful.
1020         https://bugs.webkit.org/show_bug.cgi?id=139133
1021
1022         Reviewed by Eric Carlson.
1023
1024         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1025         (-[WebAVPlayerController hasLegibleMediaSelectionOptions]): only enable when there are non default options.
1026         (-[WebAVPlayerController hasAudioMediaSelectionOptions]): only enable when there is more than one option.
1027
1028 2014-12-03  Joanmarie Diggs  <jdiggs@igalia.com>
1029
1030         AX: [ATK] Inline text elements with accessible object attributes and/or event handlers are not exposed
1031         https://bugs.webkit.org/show_bug.cgi?id=139071
1032
1033         Reviewed by Chris Fleizach.
1034
1035         Adds a new InlineRole accessibility role type for non-focusable inline
1036         elements which have an event handler or attribute suggesting possible
1037         inclusion by the platform. This is mapped to ATK_ROLE_STATIC for GTK and
1038         EFL. On the Mac, it is currently ignored to preserve existing behavior.
1039
1040         Added new test cases to the existing roles-exposed.html test.
1041
1042         * accessibility/AccessibilityObject.cpp:
1043         (WebCore::AccessibilityObject::supportsDatetimeAttribute): Added.
1044         * accessibility/AccessibilityObject.h: Added InlineRole.
1045         * accessibility/AccessibilityRenderObject.cpp:
1046         (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Handle InlineRole.
1047         * accessibility/atk/AccessibilityObjectAtk.cpp:
1048         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Include InlineRole objects.
1049         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1050         (atkRole):
1051         * accessibility/mac/AccessibilityObjectMac.mm:
1052         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore InlineRole objects.
1053         * html/HTMLTagNames.in: Added 'time'.
1054
1055 2014-12-03  Jer Noble  <jer.noble@apple.com>
1056
1057         [Mac] Hang when calling -[AVAsset resolvedURL].
1058         https://bugs.webkit.org/show_bug.cgi?id=139223
1059
1060         Reviewed by Eric Carlson.
1061
1062         On a particularly slow-loading site, a call to -[AVAsset resolvedURL] can take an arbitrarily long
1063         time. Treat this AVAsset property similar to other "metadata" properties, and check the load status
1064         of the property before requesting it.
1065
1066         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1067         (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check the load state of -resolvedURL.
1068         (WebCore::MediaPlayerPrivateAVFoundationObjC::resolvedURL): Ditto.
1069         (WebCore::assetMetadataKeyNames): Add @"resolvedURL".
1070
1071 2014-12-03  Csaba Osztrogonác  <ossy@webkit.org>
1072
1073         URTBF after r176721 to fix ENABLE(CSS_DEVICE_ADAPTATION) build.
1074
1075         * css/CSSParser.cpp:
1076         (WebCore::CSSParser::parseViewportProperty):
1077
1078 2014-12-03  Chris Dumez  <cdumez@apple.com>
1079
1080         Move 'display' CSS property to the new StyleBuilder
1081         https://bugs.webkit.org/show_bug.cgi?id=139218
1082
1083         Reviewed by Antti Koivisto.
1084
1085         Move 'display' CSS property to the new StyleBuilder.
1086
1087         No new tests, no behavior change.
1088
1089         * css/CSSPropertyNames.in:
1090         * css/DeprecatedStyleBuilder.cpp:
1091         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1092         (WebCore::ApplyPropertyDisplay::isValidDisplayValue): Deleted.
1093         (WebCore::ApplyPropertyDisplay::applyInheritValue): Deleted.
1094         (WebCore::ApplyPropertyDisplay::applyInitialValue): Deleted.
1095         (WebCore::ApplyPropertyDisplay::applyValue): Deleted.
1096         (WebCore::ApplyPropertyDisplay::createHandler): Deleted.
1097         * css/StyleBuilderCustom.h:
1098         (WebCore::StyleBuilderCustom::isValidDisplayValue):
1099         (WebCore::StyleBuilderCustom::applyInheritDisplay):
1100         (WebCore::StyleBuilderCustom::applyValueDisplay):
1101         * css/makeprop.pl:
1102         Add support for passing multiple values for Custom option, e.g.:
1103         'Custom=Inherit|Value'. This was useful as we did not need custom
1104         code for display's initial value.
1105
1106 2014-12-03  Chris Dumez  <cdumez@apple.com>
1107
1108         Modernize the CSSParser code
1109         https://bugs.webkit.org/show_bug.cgi?id=139209
1110
1111         Reviewed by Antti Koivisto.
1112
1113         Modernize the CSSParser code by:
1114         - Using more references instead of pointers
1115         - Using nullptr instead of 0
1116
1117         No new tests, no behavior change.
1118
1119 2014-12-03  David Kilzer  <ddkilzer@apple.com>
1120
1121         [iOS] REGRESSION (r176622): WebCore fails to link
1122
1123         Speculative fix for the following build failure:
1124
1125             Ld WebCore
1126             Undefined symbols for architecture armv7s:
1127               "__ZN3JSC10IdentifierC1EPNS_9ExecStateERKN3WTF12AtomicStringE", referenced from:
1128                   __ZN7WebCoreL24createAccelerationObjectEPKNS_16DeviceMotionData12AccelerationEPN3JSC9ExecStateE in JSDeviceMotionEventCustom.o
1129
1130         * bindings/js/JSDeviceMotionEventCustom.cpp: Include
1131         <runtime/IdentifierInlines.h> to define missing symbol.
1132
1133 2014-12-02  Dean Jackson  <dino@apple.com>
1134
1135         [Media] Audio content shouldn't have fullscreen buttons, even if in a video element
1136         https://bugs.webkit.org/show_bug.cgi?id=139200
1137         <rdar://problem/18914506>
1138
1139         Reviewed by Eric Carlson.
1140
1141         An audio-only resource, even if loaded into a <video> element, should not
1142         present the fullscreen or optimised fullscreen controls. This includes a
1143         MediaDocument, which is always a <video> element. We can detect this by
1144         examining the length of the videoTracks property as our content loads.
1145
1146         Test: media/audio-as-video-fullscreen.html
1147
1148         * Modules/mediacontrols/mediaControlsApple.js:
1149         (Controller): Initialize a hasVisualMedia to false.
1150         (Controller.prototype.handleReadyStateChange): If we see a videoTrack, hasVisualMedia is now true.
1151         (Controller.prototype.updateFullscreenButtons): Merge the updateFullscreenButton and
1152         updateOptimizedFullscreenButton methods into this single spot, and check for
1153         hasVisualMedia.
1154         (Controller.prototype.updateFullscreenButton): Deleted.
1155         (Controller.prototype.updateOptimizedFullscreenButton): Deleted.
1156
1157         * Modules/mediacontrols/mediaControlsBase.js: Do the same for the other ports.
1158
1159 2014-12-02  Dean Jackson  <dino@apple.com>
1160
1161         Missing support for innerHTML on SVGElement
1162         https://bugs.webkit.org/show_bug.cgi?id=136903
1163
1164         Unreviewed followup from r176630. Minor style nits that I missed in my review.
1165
1166         * dom/Element.h: Remove unnecessary parameter name.
1167         * html/parser/HTMLTreeBuilder.cpp: Whitespace cleanup.
1168         (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem):
1169
1170 2014-12-03  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
1171
1172         [EFL] Add subtle crypto to the build system
1173         https://bugs.webkit.org/show_bug.cgi?id=138612
1174
1175         Reviewed by Csaba Osztrogonác.
1176
1177         It is obvious to make Efl use GnuTLS as well,
1178         and since there seems no reason why to separate
1179         Efl and Gtk implementations from each other, I
1180         also propose renaming the gtk directory and file
1181         suffixes to gnutls.
1182
1183         No new tests needed.
1184
1185         * PlatformEfl.cmake:
1186         * PlatformGTK.cmake:
1187         * crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_CBCGtk.cpp.
1188         (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
1189         (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
1190         * crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_KWGtk.cpp.
1191         (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
1192         (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
1193         * crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp.
1194         (WebCore::getGnutlsDigestAlgorithm):
1195         (WebCore::calculateSignature):
1196         (WebCore::CryptoAlgorithmHMAC::platformSign):
1197         (WebCore::CryptoAlgorithmHMAC::platformVerify):
1198         * crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSAES_PKCS1_v1_5Gtk.cpp.
1199         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
1200         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
1201         * crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSASSA_PKCS1_v1_5Gtk.cpp.
1202         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
1203         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
1204         * crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSA_OAEPGtk.cpp.
1205         (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
1206         (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
1207         * crypto/gnutls/CryptoAlgorithmRegistryGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRegistryGtk.cpp.
1208         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
1209         * crypto/gnutls/CryptoDigestGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoDigestGtk.cpp.
1210         (WebCore::CryptoDigest::CryptoDigest):
1211         (WebCore::CryptoDigest::~CryptoDigest):
1212         (WebCore::CryptoDigest::create):
1213         (WebCore::CryptoDigest::addBytes):
1214         (WebCore::CryptoDigest::computeHash):
1215         * crypto/gnutls/CryptoKeyRSAGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoKeyRSAGtk.cpp.
1216         (WebCore::CryptoKeyRSA::CryptoKeyRSA):
1217         (WebCore::CryptoKeyRSA::create):
1218         (WebCore::CryptoKeyRSA::~CryptoKeyRSA):
1219         (WebCore::CryptoKeyRSA::restrictToHash):
1220         (WebCore::CryptoKeyRSA::isRestrictedToHash):
1221         (WebCore::CryptoKeyRSA::keySizeInBits):
1222         (WebCore::CryptoKeyRSA::buildAlgorithmDescription):
1223         (WebCore::CryptoKeyRSA::exportData):
1224         (WebCore::CryptoKeyRSA::generatePair):
1225         * crypto/gnutls/SerializedCryptoKeyWrapGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/SerializedCryptoKeyWrapGtk.cpp.
1226         (WebCore::getDefaultWebCryptoMasterKey):
1227         (WebCore::wrapSerializedCryptoKey):
1228         (WebCore::unwrapSerializedCryptoKey):
1229         * crypto/keys/CryptoKeyRSA.h:
1230
1231 2014-12-02  Benjamin Poulain  <benjamin@webkit.org>
1232
1233         Little cleanup of the default stylesheet
1234         https://bugs.webkit.org/show_bug.cgi?id=139168
1235
1236         Reviewed by Antti Koivisto.
1237
1238         The default stylesheet has a lot of historical junk that need cleaning. This patch addresses
1239         only the bits that do not change behaviors and have positive perf and readability impact.
1240
1241         I have limited :matches() to attributes for now. The idea is to only target
1242         simple selectors that are not used for filtering by the collectors.
1243         We should eventually clean up more cases, one thing at a time.
1244
1245         Tests: fast/css/map-tag-default-display.html
1246                fast/selectors/map-tag-default-display.html
1247
1248         * css/html.css:
1249         (map): Deleted.
1250         map was explicitely setting its display to inline. Remove that since it is the default.
1251
1252         (head): Deleted.
1253         (meta): Deleted.
1254         (title): Deleted.
1255         (link): Deleted.
1256         (style): Deleted.
1257         (script): Deleted.
1258         (div): Deleted.
1259         (layer): Deleted.
1260         (article, aside, footer, header, hgroup, main, nav, section): Deleted.
1261         (address): Deleted.
1262         (head, link, meta, script, style, title):
1263         (address, article, aside, div, footer, header, hgroup, layer, main, nav, section):
1264         Group the standard blocks in a single rule.
1265
1266         (input:matches([type="hidden"], [type="image"], [type="file"])):
1267         (input:matches([type="radio"], [type="checkbox"])):
1268         (input:matches([type="button"], [type="submit"], [type="reset"])):
1269         (input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
1270         (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::-webkit-file-upload-button:active, button:active):
1271         (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]:active::-webkit-file-upload-button, button:active):
1272         (input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled):
1273         (input:matches([type="checkbox"], [type="radio"]):checked):
1274         (input:matches([type="checkbox"], [type="radio"]):checked:disabled):
1275         (select:matches([size], [multiple], [size][multiple])):
1276         (select:matches([size="0"], [size="1"])):
1277         (input[type="hidden"], input[type="image"], input[type="file"]): Deleted.
1278         (input[type="radio"], input[type="checkbox"]): Deleted.
1279         (input[type="button"], input[type="submit"], input[type="reset"]): Deleted.
1280         (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button): Deleted.
1281         (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]::-webkit-file-upload-button:active, button:active): Deleted.
1282         (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active): Deleted.
1283         (input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled): Deleted.
1284         (input[type="checkbox"]:checked, input[type="radio"]:checked): Deleted.
1285         (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled): Deleted.
1286         (select[size][multiple]): Deleted.
1287         (select[size="1"]): Deleted.
1288         Group every selector lists that only differentiates complex selectors through attributes
1289         into a simple complex selector with :matches().
1290
1291 2014-12-02  Mark Lam  <mark.lam@apple.com>
1292
1293         Rolling out r176592, r176603, r176616, and r176705 until build and perf issues are resolved.
1294         https://bugs.webkit.org/show_bug.cgi?id=138821
1295
1296         Not reviewed.
1297
1298         * bindings/js/SerializedScriptValue.cpp:
1299         (WebCore::CloneDeserializer::deserializeString):
1300         * editing/TextIterator.cpp:
1301         (WebCore::SearchBuffer::isBadMatch):
1302         * page/mac/ServicesOverlayController.mm:
1303         (WebCore::ServicesOverlayController::buildSelectionHighlight):
1304         * platform/graphics/SegmentedFontData.cpp:
1305         (WebCore::SegmentedFontData::fontDataForCharacter):
1306         (WebCore::SegmentedFontData::containsCharacter):
1307         (WebCore::SegmentedFontData::isLoading):
1308         * platform/graphics/WOFFFileFormat.cpp:
1309         (WebCore::convertWOFFToSfnt):
1310         * platform/graphics/cairo/GradientCairo.cpp:
1311         (WebCore::Gradient::platformGradient):
1312         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1313         (WebCore::GIFImageDecoder::clearFrameBufferCache):
1314         * rendering/RenderBox.cpp:
1315         (WebCore::RenderBox::paintFillLayers):
1316         * rendering/style/GridResolvedPosition.cpp:
1317         (WebCore::firstNamedGridLineBeforePosition):
1318         (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
1319         * svg/SVGFontElement.cpp:
1320         (WebCore::kerningForPairOfStringsAndGlyphs):
1321         * svg/SVGPathByteStream.h:
1322         (WebCore::SVGPathByteStream::append):
1323         * xml/XPathNodeSet.h:
1324         (WebCore::XPath::NodeSet::begin):
1325         (WebCore::XPath::NodeSet::end):
1326
1327 2014-12-02  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1328
1329         Fix build break EFL port since r176696
1330         https://bugs.webkit.org/show_bug.cgi?id=139215
1331
1332         Unreviewed, build fix for EFL port.
1333
1334         * storage/StorageNamespaceProvider.h: Include SecurityOriginHash.h from WebCore/page directory.
1335
1336 2014-12-02  Joanmarie Diggs  <jdiggs@igalia.com>
1337
1338         AX: [ATK] Table captions and table rows are missing from the accessible hierarchy
1339         https://bugs.webkit.org/show_bug.cgi?id=139005
1340
1341         Reviewed by Chris Fleizach.
1342
1343         Expose table captions and rows via ATK. Accomplishing the former is done
1344         by role mapping and inclusion of the object as a child of the table for
1345         ATK. Accomplishing the latter was mostly a matter of deleting all the ATK
1346         platform code that had been forcing rows to be ignored. Because captions
1347         are not being exposed on the Mac, they are now explicitly being ignored
1348         for that platform.
1349
1350         Tests: accessibility/aria-table-hierarchy.html
1351                accessibility/table-hierarchy.html
1352
1353         * accessibility/AccessibilityObject.h:
1354         * accessibility/AccessibilityRenderObject.cpp:
1355         (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Added CaptionRole.
1356         * accessibility/AccessibilityTable.cpp:
1357         (WebCore::AccessibilityTable::addChildren): Include non-ignored captions as table children.
1358         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1359         (webkitAccessibleGetNChildren): Removed special handling for tables.
1360         (webkitAccessibleRefChild): Removed special handling for tables.
1361         (webkitAccessibleGetIndexInParent): Removed special handling for table cells.
1362         (atkRole): Corrected broken mapping for RowRole.
1363         (getNChildrenForTable): Deleted.
1364         (getChildForTable): Deleted.
1365         (getIndexInParentForCellInRow): Deleted.
1366         * accessibility/mac/AccessibilityObjectMac.mm:
1367         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore captions as table children.
1368
1369 2014-12-02  Alexey Proskuryakov  <ap@apple.com>
1370
1371         http/tests/appcache/main-resource-fallback-for-network-error-crash.html can break subsequent tests
1372         https://bugs.webkit.org/show_bug.cgi?id=139149
1373
1374         Reviewed by Anders Carlsson.
1375
1376         * WebCore.exp.in: Added ApplicationCache::deleteAllCaches.
1377
1378         * loader/appcache/ApplicationCache.h:
1379         * loader/appcache/ApplicationCache.cpp:
1380         (WebCore::ApplicationCache::deleteAllCaches): Added.
1381
1382         * loader/appcache/ApplicationCacheStorage.cpp:
1383         (WebCore::ApplicationCacheStorage::getManifestURLs): Removed logging. It is OK to
1384         have this function called when there is no database file.
1385
1386         * loader/appcache/ApplicationCacheStorage.h: Renamed manifestURLs to getManifestURLs,
1387         because WebKit style.
1388
1389 2014-12-02  Tim Horton  <timothy_horton@apple.com>
1390
1391         Remove a SnowLeopard-era quirk for QuickLook
1392         https://bugs.webkit.org/show_bug.cgi?id=139208
1393         <rdar://problem/19121822>
1394
1395         Reviewed by Alexey Proskuryakov.
1396
1397         * WebCore.exp.in:
1398         * WebCore.xcodeproj/project.pbxproj:
1399         * loader/EmptyClients.h:
1400         * loader/FrameLoader.cpp:
1401         (WebCore::FrameLoader::subresourceCachePolicy):
1402         * loader/FrameLoaderClient.h:
1403         * platform/mac/QuickLookMac.h: Removed.
1404         * platform/mac/QuickLookMac.mm: Removed.
1405
1406 2014-12-02  Anders Carlsson  <andersca@apple.com>
1407
1408         Begin stubbing out a StorageNamespaceProvider class
1409         https://bugs.webkit.org/show_bug.cgi?id=139203
1410
1411         Reviewed by Tim Horton.
1412
1413         * CMakeLists.txt:
1414         * WebCore.vcxproj/WebCore.vcxproj:
1415         * WebCore.vcxproj/WebCore.vcxproj.filters:
1416         * WebCore.xcodeproj/project.pbxproj:
1417         Add new files.
1418
1419         * page/DOMWindow.cpp:
1420         (WebCore::DOMWindow::localStorage):
1421         If the page has a storage namespace provider, get the local storage from it.
1422
1423         * page/Page.cpp:
1424         (WebCore::Page::Page):
1425         Move the storage namespace provider from the configuration.
1426
1427         (WebCore::Page::setStorageNamespaceProvider):
1428         Add a setter. This will be used by setGroupName.
1429
1430         * page/Page.h:
1431         (WebCore::Page::storageNamespaceProvider):
1432         Add a getter.
1433
1434         * page/PageConfiguration.cpp:
1435         * page/PageConfiguration.h:
1436         Add a storage namespace provider member.
1437
1438         * storage/StorageNamespaceProvider.cpp:
1439         (WebCore::StorageNamespaceProvider::StorageNamespaceProvider):
1440         (WebCore::StorageNamespaceProvider::~StorageNamespaceProvider):
1441         (WebCore::StorageNamespaceProvider::addPage):
1442         (WebCore::StorageNamespaceProvider::removePage):
1443         (WebCore::StorageNamespaceProvider::localStorageNamespace):
1444         (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):
1445         * storage/StorageNamespaceProvider.h:
1446         Stub out a storage namespace provider class.
1447
1448 2014-12-02  Beth Dakin  <bdakin@apple.com>
1449
1450         More build fixing.
1451
1452         * platform/spi/mac/QuickLookMacSPI.h:
1453
1454 2014-12-02  Beth Dakin  <bdakin@apple.com>
1455
1456         Another build fix.
1457
1458         * platform/spi/mac/NSMenuSPI.h:
1459
1460 2014-12-02  Beth Dakin  <bdakin@apple.com>
1461
1462         Speculative build fix.
1463
1464         * platform/spi/mac/QuickLookMacSPI.h:
1465
1466 2014-12-02  Beth Dakin  <bdakin@apple.com>
1467
1468         Speculative build fix.
1469
1470         * platform/spi/mac/QuickLookMacSPI.h:
1471
1472 2014-12-02  Eric Carlson  <eric.carlson@apple.com>
1473
1474         Unreviewed, fix typo introduced in r176673.
1475
1476         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1477         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
1478
1479 2014-12-02  Beth Dakin  <bdakin@apple.com>
1480
1481         Should use standardQuickLookMenuItem for apps that don't implement customizations
1482         https://bugs.webkit.org/show_bug.cgi?id=139193
1483         -and corresponding-
1484         rdar://problem/18944696
1485
1486         Reviewed by Anders Carlsson.
1487
1488         New SPI headers.
1489         * WebCore.xcodeproj/project.pbxproj:
1490         * platform/spi/mac/NSMenuSPI.h: Added.
1491         * platform/spi/mac/QuickLookMacSPI.h: Added.
1492
1493 2014-12-02  Gavin Barraclough  <barraclough@apple.com>
1494
1495         Generalize PageActivityAssertionToken
1496         https://bugs.webkit.org/show_bug.cgi?id=139106
1497
1498         Reviewed by Sam Weinig.
1499
1500         PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
1501         to count user visible activity in progress on the page (currently page load and media playback).
1502         Use of an RAII type is prevents a number of possible errors, including double counting a single
1503         media element, or failing to decrement the count after a media element has been deallocated.
1504
1505         The current implementation has a number of drawbacks that have been addressed by this refactoring:
1506          - specific to single use in PageThrottler class - not reusable.
1507          - incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation
1508            are not encapsulated (are in the client type, PageThrottler).
1509          - tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every
1510            increment requires an object allocation.
1511          - redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this
1512            is internally implemented using a reference counted type, resulting in two counters being
1513            incremented (one in the PageActivityAssertionToken, one in the PageThrottler).
1514
1515         In the reimplementation:
1516          - a callback is provided via a lambda function, which allows for easy reuse without a lot of
1517            boilerplate code.
1518          - the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the
1519            RefCounter type.
1520          - a single count within RefCounter::Count stores the counter value, and also manage the lifetime
1521            of this object.
1522          - standard RefPtrs are used to manage references to the RefCounter::Count.
1523
1524         * WebCore.xcodeproj/project.pbxproj:
1525             - removed PageActivityAssertionToken.cpp/.h
1526         * html/HTMLMediaElement.cpp:
1527             - removed PageActivityAssertionToken.h
1528         * html/HTMLMediaElement.h:
1529             - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
1530         * loader/FrameLoader.cpp:
1531             - removed PageActivityAssertionToken.h
1532         * loader/FrameLoader.h:
1533             - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
1534         * loader/SubresourceLoader.cpp:
1535             - removed PageActivityAssertionToken.h
1536         * loader/SubresourceLoader.h:
1537             - removed class PageActivityAssertionToken
1538         * page/Page.cpp:
1539             - removed PageActivityAssertionToken.h
1540         (WebCore::Page::Page):
1541             - removed Page* parameter to PageThrottler
1542         * page/Page.h:
1543             - removed class PageActivityAssertionToken
1544         * page/PageActivityAssertionToken.cpp: Removed.
1545         * page/PageActivityAssertionToken.h: Removed.
1546             - removed PageActivityAssertionToken.cpp/.h
1547         * page/PageThrottler.cpp:
1548         (WebCore::PageThrottler::PageThrottler):
1549             - removed m_page, m_weakPtrFactory, m_activityCount; added m_pageActivityCounter.
1550         (WebCore::PageThrottler::mediaActivityToken):
1551             - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
1552         (WebCore::PageThrottler::pageLoadActivityToken):
1553             - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
1554         (WebCore::PageThrottler::pageActivityCounterValueDidChange):
1555             - merged functionality of incrementActivityCount/decrementActivityCount
1556         (WebCore::PageThrottler::incrementActivityCount): Deleted.
1557             - see pageActivityCounterValueDidChange
1558         (WebCore::PageThrottler::decrementActivityCount): Deleted.
1559             - see pageActivityCounterValueDidChange
1560         * page/PageThrottler.h:
1561         (WebCore::PageThrottler::weakPtr): Deleted.
1562             - no longer required; this functionality is now encapsulated within RefCounter.
1563
1564 2014-12-02  Tim Horton  <timothy_horton@apple.com>
1565
1566         Always show the arrow for text selection services
1567         https://bugs.webkit.org/show_bug.cgi?id=139191
1568         <rdar://problem/18903995>
1569
1570         Reviewed by Anders Carlsson.
1571
1572         * platform/spi/mac/DataDetectorsSPI.h:
1573         * page/mac/ServicesOverlayController.mm:
1574         Move a few things to DataDetectorsSPI.h.
1575
1576         (WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
1577         (WebCore::ServicesOverlayController::buildSelectionHighlight):
1578         Make use of the real DDHighlightStyle names.
1579         Add DDHighlightStyleButtonShowAlways for selection services.
1580
1581 2014-12-02  Anders Carlsson  <andersca@apple.com>
1582
1583         Fix iOS build.
1584
1585         * WebCore.exp.in:
1586
1587 2014-12-02  Chris Dumez  <cdumez@apple.com>
1588
1589         Crash when setting 'flex' CSS property to 'calc(2 * 3) calc(2 * 3)'
1590         https://bugs.webkit.org/show_bug.cgi?id=139162
1591
1592         Reviewed by Darin Adler.
1593
1594         Add support for calculated values in 'flex' CSS property.
1595         Previously, those did not work in release builds, and were hitting
1596         an assertion in debug builds.
1597
1598         Test: fast/css/flex-calculated-value.html
1599
1600         * css/CSSParser.cpp:
1601         (WebCore::CSSParser::validCalculationUnit):
1602         Do not call RefPtr::release() as we are not interested in the return
1603         value. Assign nullptr to the member instead.
1604
1605         (WebCore::CSSParser::parseValue):
1606         (WebCore::CSSParser::parseFillPositionComponent):
1607         (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
1608         (WebCore::CSSParser::parseFontWeight):
1609         (WebCore::CSSParser::parsedDouble):
1610         (WebCore::CSSParser::colorIntFromValue):
1611         (WebCore::CSSParser::parseColorParameters):
1612         (WebCore::CSSParser::parseHSLParameters):
1613         (WebCore::CSSParser::parseFlex):
1614         * css/CSSParser.h:
1615
1616 2014-12-02  Eric Carlson  <eric.carlson@apple.com>
1617
1618         Fix logging typo
1619         https://bugs.webkit.org/show_bug.cgi?id=139182
1620
1621         Reviewed by Alexey Proskuryakov.
1622
1623         No new tests, only logging code is changed.
1624
1625         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1626         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't use %f to log a string.
1627
1628 2014-12-02  Anders Carlsson  <andersca@apple.com>
1629
1630         Get rid of the WinINet based network implementation
1631         https://bugs.webkit.org/show_bug.cgi?id=139187
1632
1633         Reviewed by Andreas Kling.
1634
1635         This code was only used by the Windows CE port. Now it's unused.
1636
1637         * platform/network/ResourceHandle.h:
1638         * platform/network/ResourceHandleInternal.h:
1639         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1640         * platform/network/win/AuthenticationChallenge.h: Removed.
1641         * platform/network/win/CookieJarWin.cpp: Removed.
1642         * platform/network/win/CredentialStorageWin.cpp: Removed.
1643         * platform/network/win/ProxyServerWin.cpp: Removed.
1644         * platform/network/win/ResourceError.h: Removed.
1645         * platform/network/win/ResourceHandleWin.cpp: Removed.
1646         * platform/network/win/ResourceRequest.h: Removed.
1647         * platform/network/win/ResourceResponse.h: Removed.
1648         * platform/network/win/SocketStreamError.h: Removed.
1649         * platform/network/win/SocketStreamHandle.h: Removed.
1650         * platform/network/win/SocketStreamHandleWin.cpp: Removed.
1651
1652 2014-12-02  Chris Dumez  <cdumez@apple.com>
1653
1654         Crash when setting 'column-span' CSS property to 'calc(2 * 3)'
1655         https://bugs.webkit.org/show_bug.cgi?id=139170
1656
1657         Reviewed by Darin Adler.
1658
1659         Add support for calculated values for 'column-span' and 'column-width'
1660         CSS properties. Previously, these were not working in release builds
1661         and hitting assertions in debug builds.
1662
1663         Tests: fast/css/column-width-calculated-value.html
1664                fast/css/webkit-column-span-calculated-value.html
1665
1666         * css/CSSParser.cpp:
1667         (WebCore::CSSParser::parseValue):
1668
1669 2014-12-02  Anders Carlsson  <andersca@apple.com>
1670
1671         Remove visited link handling from PageGroup
1672         https://bugs.webkit.org/show_bug.cgi?id=139185
1673
1674         Reviewed by Sam Weinig.
1675
1676         * CMakeLists.txt:
1677         * WebCore.exp.in:
1678         * WebCore.vcxproj/WebCore.vcxproj:
1679         * WebCore.vcxproj/WebCore.vcxproj.filters:
1680         * WebCore.xcodeproj/project.pbxproj:
1681         * loader/HistoryController.cpp:
1682         * page/Chrome.cpp:
1683         (WebCore::ChromeClient::populateVisitedLinks): Deleted.
1684         * page/ChromeClient.h:
1685         * page/DefaultVisitedLinkStore.cpp: Removed.
1686         * page/DefaultVisitedLinkStore.h: Removed.
1687         * page/Page.cpp:
1688         (WebCore::Page::Page):
1689         (WebCore::Page::~Page):
1690         (WebCore::Page::visitedLinkStore):
1691         (WebCore::Page::setVisitedLinkStore):
1692         (WebCore::Page::removeAllVisitedLinks): Deleted.
1693         * page/Page.h:
1694         * page/PageGroup.cpp:
1695         (WebCore::PageGroup::PageGroup):
1696         (WebCore::PageGroup::visitedLinkStore): Deleted.
1697         (WebCore::PageGroup::isLinkVisited): Deleted.
1698         (WebCore::PageGroup::addVisitedLinkHash): Deleted.
1699         (WebCore::PageGroup::addVisitedLink): Deleted.
1700         (WebCore::PageGroup::removeVisitedLink): Deleted.
1701         (WebCore::PageGroup::removeVisitedLinks): Deleted.
1702         (WebCore::PageGroup::removeAllVisitedLinks): Deleted.
1703         (WebCore::PageGroup::setShouldTrackVisitedLinks): Deleted.
1704         * page/PageGroup.h:
1705
1706 2014-12-02  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
1707
1708         Use references instead of pointers in EditingStyle
1709         https://bugs.webkit.org/show_bug.cgi?id=137918
1710
1711         Reviewed by Darin Adler.
1712
1713         * editing/EditingStyle.cpp:
1714         (WebCore::extractPropertyValue):
1715         (WebCore::identifierForStyleProperty):
1716         (WebCore::textColorFromStyle):
1717         (WebCore::backgroundColorFromStyle):
1718         (WebCore::textAlignResolvingStartAndEnd):
1719         (WebCore::EditingStyle::triStateOfStyle):
1720         (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
1721         (WebCore::EditingStyle::prepareToApplyAt):
1722         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
1723         (WebCore::StyleChange::StyleChange):
1724         (WebCore::setTextDecorationProperty):
1725         (WebCore::StyleChange::extractTextStyles):
1726         (WebCore::diffTextDecorations):
1727         (WebCore::fontWeightIsBold):
1728         (WebCore::extractPropertiesNotIn):
1729         (WebCore::getPropertiesNotIn):
1730         * editing/EditingStyle.h:
1731
1732 2014-12-02  Bartlomiej Gajda  <b.gajda@samsung.com>
1733
1734         [GStreamer] Media Source sending seek event fails.
1735         https://bugs.webkit.org/show_bug.cgi?id=139181
1736
1737         Reviewed by Philippe Normand.
1738
1739         There were callbacks connected to app_src on 'seek', but if stream type is not seekable, they would never launch,
1740         and seeking (as in MediaPlayerPrivateGStreamer::doSeek) fails.
1741
1742         No new tests needed.
1743
1744         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
1745         (webkit_media_src_init):
1746
1747 2014-12-02  Chris Dumez  <cdumez@apple.com>
1748
1749         Move 'font-family' CSS property to the new StyleBuilder
1750         https://bugs.webkit.org/show_bug.cgi?id=139172
1751
1752         Reviewed by Antti Koivisto.
1753
1754         Move 'font-family' CSS property to the new StyleBuilder by using
1755         custom code.
1756
1757         No new tests, no behavior change.
1758
1759         * css/CSSPropertyNames.in:
1760         * css/DeprecatedStyleBuilder.cpp:
1761         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1762         (WebCore::ApplyPropertyFontFamily::applyInheritValue): Deleted.
1763         (WebCore::ApplyPropertyFontFamily::applyInitialValue): Deleted.
1764         (WebCore::ApplyPropertyFontFamily::applyValue): Deleted.
1765         (WebCore::ApplyPropertyFontFamily::createHandler): Deleted.
1766         * css/StyleBuilderCustom.h:
1767         (WebCore::StyleBuilderCustom::applyInitialFontFamily):
1768         (WebCore::StyleBuilderCustom::applyInheritFontFamily):
1769         (WebCore::StyleBuilderCustom::applyValueFontFamily):
1770
1771 2014-12-02  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
1772
1773         Fix class was previously declared as a struct warnings
1774         https://bugs.webkit.org/show_bug.cgi?id=139131
1775
1776         Reviewed by Csaba Osztrogonác.
1777
1778         No new tests needed.
1779
1780         * platform/graphics/texmap/TextureMapperGL.h:
1781
1782 2014-12-02  Sylvain Galineau  <galineau@adobe.com>
1783
1784         Missing support for innerHTML on SVGElement
1785         https://bugs.webkit.org/show_bug.cgi?id=136903
1786
1787         Reviewed by Dean Jackson.
1788
1789         Two parts to this patch:
1790         1. Move innerHTML/outerHTML to Element so SVG elements can inherit them, per https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#innerhtml
1791         2. Make sure fragment insertion is processed relative to the proper node, per http://www.whatwg.org/specs/web-apps/current-work/#adjusted-current-node
1792
1793         The latter part was ported over from Blink. 
1794
1795         Test: svg/in-html/svg-inner-html.html
1796
1797         * bindings/objc/PublicDOMInterfaces.h: Move innerHTML/outerHTML to Element.
1798         * dom/Element.cpp:
1799         (WebCore::Element::mergeWithNextTextNode): Helper used by Element::innerHTML/outerHTML as well as HTMLElement::innerText/outerText; moved to Element as protected static.
1800         (WebCore::Element::innerHTML): Moved from HTMLElement.
1801         (WebCore::Element::outerHTML): Moved from HTMLElement.
1802         (WebCore::Element::setOuterHTML): Moved from HTMLElement.
1803         (WebCore::Element::setInnerHTML): Moved from HTMLElement.
1804         * dom/Element.h: 
1805         * dom/Element.idl:
1806         * html/HTMLElement.cpp:
1807         (WebCore::HTMLElement::innerHTML): Deleted.
1808         (WebCore::HTMLElement::outerHTML): Deleted.
1809         (WebCore::HTMLElement::setInnerHTML): Deleted.
1810         (WebCore::mergeWithNextTextNode): Deleted.
1811         (WebCore::HTMLElement::setOuterHTML): Deleted.
1812         * html/HTMLElement.h:
1813         * html/HTMLElement.idl:
1814         * html/parser/HTMLTreeBuilder.cpp:
1815         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): no more m_contextElement.
1816         (WebCore::HTMLTreeBuilder::constructTree): read namespace from adjusted current node.
1817         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): use contextElementStackItem for insertion.
1818         (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): compute adjusted current node.
1819         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): use adjusted current node for context.
1820         (WebCore::HTMLTreeBuilder::processTokenInForeignContent): use adjusted current node to read namespace.
1821         * html/parser/HTMLTreeBuilder.h:
1822         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Deleted. Read from contextElementStackItem.
1823         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Added.
1824
1825 2014-11-20  Jeffrey Pfau  <jpfau@apple.com>
1826
1827         Add cancelable version of willSendRequest
1828         https://bugs.webkit.org/show_bug.cgi?id=138987
1829
1830         Reviewed by Anders Carlsson.
1831
1832         Covered by existing tests.
1833
1834         * loader/ResourceLoader.cpp:
1835         (WebCore::ResourceLoader::willSendRequest):
1836         * loader/ResourceLoader.h:
1837
1838 2014-12-01  Benjamin Poulain  <benjamin@webkit.org>
1839
1840         Add the dynamic specificity of the selector list argument when matching :nth-child() and :nth-last-child()
1841         https://bugs.webkit.org/show_bug.cgi?id=139001
1842
1843         Reviewed by Andreas Kling.
1844
1845         When matching :nth-child(An+B of selector list) or :nth-last-child(An+B of selector list),
1846         we were previously ignoring the arguments.
1847
1848         That behavior seems to be confusing for users. We made the proposal to include the selector list
1849         like when using :matches():
1850             http://lists.w3.org/Archives/Public/www-style/2014Oct/0533.html
1851         David Baron also agrees with this behavior:
1852             http://lists.w3.org/Archives/Public/www-style/2014Oct/0534.html
1853
1854         This patch adds the specificity computation.
1855
1856         Tests: fast/css/nth-child-specificity-1.html
1857                fast/css/nth-child-specificity-2.html
1858                fast/css/nth-last-child-specificity-1.html
1859                fast/css/nth-last-child-specificity-2.html
1860
1861         * css/CSSSelector.cpp:
1862         (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
1863         * css/SelectorChecker.cpp:
1864         (WebCore::SelectorChecker::checkOne):
1865         (WebCore::SelectorChecker::matchSelectorList):
1866         * css/SelectorChecker.h:
1867         * cssjit/SelectorCompiler.cpp:
1868         (WebCore::SelectorCompiler::addPseudoClassType):
1869
1870 2014-12-01  Chris Dumez  <cdumez@apple.com>
1871
1872         Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' to the new StyleBuilder
1873         https://bugs.webkit.org/show_bug.cgi?id=138938
1874
1875         Reviewed by Sam Weinig.
1876
1877         Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' CSS properties
1878         from StyleResolver to the new StyleBuilder by using custom code.
1879
1880         No new tests, no behavior change.
1881
1882         * css/CSSPropertyNames.in:
1883         * css/StyleBuilderCustom.h:
1884         (WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
1885         (WebCore::StyleBuilderCustom::applyInitialTextShadow):
1886         (WebCore::StyleBuilderCustom::applyInheritTextShadow):
1887         (WebCore::StyleBuilderCustom::applyValueTextShadow):
1888         (WebCore::StyleBuilderCustom::applyInitialBoxShadow):
1889         (WebCore::StyleBuilderCustom::applyInheritBoxShadow):
1890         (WebCore::StyleBuilderCustom::applyValueBoxShadow):
1891         (WebCore::StyleBuilderCustom::applyInitialWebkitBoxShadow):
1892         (WebCore::StyleBuilderCustom::applyInheritWebkitBoxShadow):
1893         (WebCore::StyleBuilderCustom::applyValueWebkitBoxShadow):
1894         * css/StyleResolver.cpp:
1895         (WebCore::StyleResolver::applyProperty):
1896
1897 2014-12-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1898
1899         [EFL] Add a ENABLE_CSS_SCROLL_SNAP macro to CMake build system
1900         https://bugs.webkit.org/show_bug.cgi?id=139085
1901
1902         Reviewed by Andreas Kling.
1903
1904         * PlatformEfl.cmake: 
1905             Include page/scrolling/AxisScrollSnapOffsets.cpp to EFL build files to fix build break.
1906
1907 2014-12-01  Zalan Bujtas  <zalan@apple.com>
1908
1909         Twitter avatar moves when hovering/unhovering the "follow" button.
1910         https://bugs.webkit.org/show_bug.cgi?id=139147
1911         rdar://problem/19096508
1912
1913         Reviewed by Simon Fraser.
1914
1915         This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
1916         get repositioned when their inline box wrappers move.
1917         Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
1918         placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
1919         they are still part of the inline box tree.
1920         This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
1921         They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().
1922
1923         Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html
1924
1925         * rendering/InlineBox.cpp:
1926         (WebCore::InlineBox::adjustPosition):
1927
1928 2014-12-01  Tim Horton  <timothy_horton@apple.com>
1929
1930         Null deref under TextIndicator::createWithSelectionInFrame using find-in-page on bugzilla
1931         https://bugs.webkit.org/show_bug.cgi?id=139164
1932         <rdar://problem/19107247>
1933
1934         Reviewed by Beth Dakin.
1935
1936         * page/TextIndicator.cpp:
1937         (WebCore::TextIndicator::createWithSelectionInFrame):
1938         Null-check the ImageBuffer in addition to the Image.
1939
1940 2014-12-01  Anders Carlsson  <andersca@apple.com>
1941
1942         Remove IWebCookieManager on Windows
1943         https://bugs.webkit.org/show_bug.cgi?id=139144
1944
1945         Reviewed by Sam Weinig.
1946
1947         Remove code that handles overriding the cookie storage.
1948
1949         * platform/network/NetworkStorageSession.h:
1950         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
1951         (WebCore::cookieStorageOverride): Deleted.
1952         (WebCore::overrideCookieStorage): Deleted.
1953         (WebCore::overridenCookieStorage): Deleted.
1954         * platform/network/cf/ResourceHandleCFNet.cpp:
1955         (WebCore::ResourceHandle::createCFURLConnection):
1956
1957 2014-12-01  Dean Jackson  <dino@apple.com>
1958
1959         [iOS Media] Slider knob should not have a border
1960         https://bugs.webkit.org/show_bug.cgi?id=139160
1961         <rdar://problem/19075185>
1962
1963         Reviewed by Jer Noble.
1964
1965         The change in r175715 required adding !important to a bunch
1966         of rules for pseudo elements. The border width of slider knobs
1967         for media controls should be zero, so add an !important there.
1968
1969         * Modules/mediacontrols/mediaControlsiOS.css:
1970         (audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Change
1971         border to border-width and force it to zero.
1972
1973 2014-12-01  Chris Dumez  <cdumez@apple.com>
1974
1975         Take into consideration canvas drawing for throttling DOM timers
1976         https://bugs.webkit.org/show_bug.cgi?id=139140
1977         <rdar://problem/19102218>
1978
1979         Reviewed by Andreas Kling.
1980
1981         Take into consideration canvas drawing for throttling DOM timers so
1982         that:
1983         - Timers drawing on a visible canvas can no longer get throttled.
1984           This fixes the following sites:
1985           - http://hint.fm/wind/
1986           - http://radar.weather.gov/Conus/full_loop.php
1987         - Timers that are drawing on a canvas that is not user observable
1988           now get throttled, thus using less CPU. As an example, on
1989           http://hint.fm/wind/, CPU usage is at 110% when the canvas is
1990           inside the viewport on my machine. CPU usage would remain at
1991           110% when scrolling the canvas outside the viewport before this
1992           patch. After this patch, the CPU usage goes down to 5% when
1993           the canvas is outside the viewport.
1994
1995         Tests: fast/canvas/canvas-inside-viewport-timer-throttling.html
1996                fast/canvas/canvas-outside-viewport-timer-throttling.html
1997
1998         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1999         (WebCore::JSCSSStyleDeclaration::putDelegate):
2000         * html/HTMLCanvasElement.cpp:
2001         (WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):
2002         * page/DOMTimer.cpp:
2003         (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElement):
2004         (WebCore::DOMTimer::scriptDidCauseElementRepaint):
2005         (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElementStyle): Deleted.
2006         (WebCore::DOMTimer::scriptDidUpdateStyleOfElement): Deleted.
2007         * page/DOMTimer.h:
2008
2009 2014-12-01  Myles C. Maxfield  <mmaxfield@apple.com>
2010
2011         Crash in Font::dashesForIntersectionsWithRect() due to underlining SVG fonts
2012         https://bugs.webkit.org/show_bug.cgi?id=139158
2013
2014         Reviewed by Simon Fraser.
2015
2016         RenderingContexts are only created if the primary SimpleFontData is an SVG font,
2017         but dashesForIntersectionWithRect() uses the first character's SimpleFontData.
2018         One might be an SVG font but the other might not be.
2019
2020         Note that this brittle design will be fixed with the SVG -> OTF translator.
2021
2022         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html
2023
2024         * platform/graphics/mac/FontMac.mm:
2025         (WebCore::Font::dashesForIntersectionsWithRect):
2026
2027 2014-12-01  Bartlomiej Gajda  <b.gajda@samsung.com>
2028
2029         [MSE] Fix not always calling mediaPlayer seek.
2030         https://bugs.webkit.org/show_bug.cgi?id=139139
2031
2032         Reviewed by Jer Noble.
2033
2034         Original comment states that media source shall always be notified of seek if it's not closed.
2035
2036         No new tests needed.
2037
2038         * html/HTMLMediaElement.cpp:
2039         (WebCore::HTMLMediaElement::seekTimerFired):
2040
2041 2014-12-01  Tim Horton  <timothy_horton@apple.com>
2042
2043         Implement yellow highlight for WebKit1 data detectors
2044         https://bugs.webkit.org/show_bug.cgi?id=138956
2045         <rdar://problem/18992185>
2046
2047         Reviewed by Beth Dakin.
2048
2049         * page/TextIndicator.cpp:
2050         (WebCore::TextIndicator::createWithSelectionInFrame):
2051         (WebCore::TextIndicator::TextIndicator):
2052         * page/TextIndicator.h:
2053         (WebCore::TextIndicator::selectionRectInScreenCoordinates):
2054         (WebCore::TextIndicator::textBoundingRectInScreenCoordinates):
2055         (WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted.
2056         (WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted.
2057         Store TextIndicator rects in screen coordinates, since that's what we
2058         want anyway, and this makes it easier to share this code between the WebKits.
2059
2060         * page/mac/TextIndicatorWindow.mm:
2061         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
2062         (WebCore::TextIndicatorWindow::setTextIndicator):
2063         Avoid some rect conversion because the TextIndicator rects are already in screen coordinates.
2064
2065 2014-12-01  Anders Carlsson  <andersca@apple.com>
2066
2067         Remove old site specific quirks code that was added in 2009
2068         https://bugs.webkit.org/show_bug.cgi?id=139141
2069
2070         Reviewed by Antti Koivisto.
2071
2072         * platform/network/NetworkingContext.h:
2073         * platform/network/ResourceHandleInternal.h:
2074         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2075         * platform/network/mac/ResourceHandleMac.mm:
2076         (WebCore::ResourceHandle::start):
2077
2078 2014-12-01  Joseph Pecoraro  <pecoraro@apple.com>
2079
2080         Web Inspector: DOMExceptions do not show the error message string in Pause Reason section
2081         https://bugs.webkit.org/show_bug.cgi?id=138988
2082
2083         Reviewed by Timothy Hatcher.
2084
2085         * inspector/WebInjectedScriptHost.cpp:
2086         (WebCore::WebInjectedScriptHost::type):
2087         Give all DOM Exception types the "error" RemoteObject subtype.
2088
2089 2014-12-01  Bartlomiej Gajda  <b.gajda@samsung.com>
2090
2091         [MSE] Unset timestamps of trackbuffers during Reset Parser State algorithm.
2092         https://bugs.webkit.org/show_bug.cgi?id=139075.
2093
2094         Reviewed by Jer Noble.
2095
2096         Specification requires from us to unset timestamps for trackBuffers
2097         during abort() method.
2098
2099         Test: media/media-source/media-source-append-nonsync-sample-after-abort.html
2100
2101         * Modules/mediasource/SourceBuffer.cpp:
2102         (WebCore::SourceBuffer::resetParserState):
2103         (WebCore::SourceBuffer::abort):
2104         * Modules/mediasource/SourceBuffer.h:
2105
2106 2014-12-01  Chris Dumez  <cdumez@apple.com>
2107
2108         Transform StyleBuilderCustom into a class and mark it as a friend of RenderStyle
2109         https://bugs.webkit.org/show_bug.cgi?id=138999
2110
2111         Reviewed by Sam Weinig.
2112
2113         Transform StyleBuilderCustom into a class and mark it as a friend of
2114         RenderStyle. This is needed because some of the StyleBuilderCustom
2115         functions need to access RenderStyle's private API.
2116
2117         No new tests, no behavior change.
2118
2119         * css/StyleBuilderCustom.h:
2120           Move functions from StyleBuilderFunctions namespace to
2121           StyleBuilderCustom class.
2122
2123         * css/makeprop.pl:
2124           Use StyleBuilderCustom scope instead of StyleBuilderFunctions for
2125           custom implementation.
2126
2127         * rendering/style/RenderStyle.h:
2128           Mark StyleBuilderCustom class as a friend, similarly to what was
2129           already done for DeprecatedStyleBuilder and StyleResolver.
2130
2131 2014-11-17  Oliver Hunt  <oliver@apple.com>
2132
2133         Make sure range based iteration of Vector<> still receives bounds checking
2134         https://bugs.webkit.org/show_bug.cgi?id=138821
2135
2136         Reviewed by Mark Lam.
2137
2138         There are a few uses of begin()/end() that explicitly require pointers,
2139         so we use getPtr() to extract the underlying pointer generically.
2140
2141         * bindings/js/SerializedScriptValue.cpp:
2142         (WebCore::CloneDeserializer::deserializeString):
2143         * editing/TextIterator.cpp:
2144         (WebCore::SearchBuffer::isBadMatch):
2145         * page/mac/ServicesOverlayController.mm:
2146         (WebCore::ServicesOverlayController::buildSelectionHighlight):
2147         * platform/graphics/SegmentedFontData.cpp:
2148         (WebCore::SegmentedFontData::fontDataForCharacter):
2149         (WebCore::SegmentedFontData::containsCharacter):
2150         (WebCore::SegmentedFontData::isLoading):
2151         * platform/graphics/WOFFFileFormat.cpp:
2152         (WebCore::convertWOFFToSfnt):
2153         * rendering/RenderBox.cpp:
2154         (WebCore::RenderBox::paintFillLayers):
2155         * rendering/style/GridResolvedPosition.cpp:
2156         (WebCore::firstNamedGridLineBeforePosition):
2157         (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
2158         * svg/SVGFontElement.cpp:
2159         (WebCore::kerningForPairOfStringsAndGlyphs):
2160         * svg/SVGPathByteStream.h:
2161         (WebCore::SVGPathByteStream::append):
2162         * xml/XPathNodeSet.h:
2163         (WebCore::XPath::NodeSet::begin):
2164         (WebCore::XPath::NodeSet::end):
2165
2166 2014-11-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2167
2168         Fix a build warning when CSS_SCROLL_SNAP is enabled
2169         https://bugs.webkit.org/show_bug.cgi?id=139084
2170
2171         Reviewed by Andrei Bucur.
2172
2173         Fix a build warning. Copy constructor of StyleScrollSnapPoints should initialize its base class.
2174
2175         * rendering/style/StyleScrollSnapPoints.cpp:
2176         (WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Call RefCounted().
2177
2178 2014-11-29  Sam Weinig  <sam@webkit.org>
2179
2180         Move the '-webkit-locale', '-webkit-text-orientation', '-webkit-writing-mode', '-webkit-justify-self' and '-webkit-perspective' CSS properties to the new StyleBuilder
2181         https://bugs.webkit.org/show_bug.cgi?id=139104
2182
2183         Reviewed by Anders Carlsson.
2184
2185         * css/CSSPropertyNames.in:
2186         * css/StyleBuilderCustom.h:
2187         (WebCore::StyleBuilderFunctions::applyValueWebkitLocale):
2188         (WebCore::StyleBuilderFunctions::applyValueWebkitWritingMode):
2189         (WebCore::StyleBuilderFunctions::applyValueWebkitTextOrientation):
2190         (WebCore::StyleBuilderFunctions::applyValueWebkitJustifySelf):
2191         (WebCore::StyleBuilderFunctions::applyValueWebkitPerspective):
2192         * css/StyleResolver.cpp:
2193         (WebCore::StyleResolver::applyProperty):
2194
2195 2014-11-29  Anders Carlsson  <andersca@apple.com>
2196
2197         Add an EmptyVisitedLinkStore implementation
2198         https://bugs.webkit.org/show_bug.cgi?id=139102
2199
2200         Reviewed by Sam Weinig.
2201
2202         * loader/EmptyClients.cpp:
2203         (WebCore::fillWithEmptyClients):
2204         * loader/EmptyClients.h:
2205
2206 2014-11-28  Sam Weinig  <sam@webkit.org>
2207
2208         Move the '-webkit-initial-letter', '-webkit-line-box-contain' and '-webkit-text-stroke-width' CSS properties to the new StyleBuilder
2209         https://bugs.webkit.org/show_bug.cgi?id=139053
2210
2211         Reviewed by Andreas Kling.
2212
2213         * css/CSSPropertyNames.in:
2214         * css/StyleBuilderConverter.h:
2215         (WebCore::StyleBuilderConverter::convertInitialLetter):
2216         (WebCore::StyleBuilderConverter::convertTextStrokeWidth):
2217         (WebCore::StyleBuilderConverter::convertLineBoxContain):
2218         * css/StyleResolver.cpp:
2219         (WebCore::StyleResolver::applyProperty):
2220
2221 2014-11-26  Philippe Normand  <pnormand@igalia.com>
2222
2223         [GStreamer] HTTP source element lacks SCHEDULING query support
2224         https://bugs.webkit.org/show_bug.cgi?id=139064
2225
2226         Reviewed by Carlos Garcia Campos.
2227
2228         No new tests, covered by http/tests/media/hls.
2229
2230         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2231         (webKitWebSrcQueryWithParent): Make the element handle SCHEDULING
2232         queries with the BANDWIDTH_LIMITED flag. This helps uridecodebin
2233         to configure itself for adaptive streaming playback scenarios.
2234
2235 2014-11-27  Ryuan Choi  <ryuan.choi@navercorp.com>
2236
2237         [EFL] Remove E_Dbus dependency
2238         https://bugs.webkit.org/show_bug.cgi?id=136355
2239
2240         Reviewed by Gyuyoung Kim.
2241
2242         E_Dbus is the simple wrapper of Dbus but it has not been maintained since EFL 1.8.
2243         Instead, EFL introduced Eldbus, which is almost similar with E_Dbus but provides more dbus like interface.
2244         This patch replaces E_Dbus implementation to Eldbus.
2245
2246         * PlatformEfl.cmake:
2247         * platform/efl/BatteryProviderEfl.cpp:
2248         (WebCore::BatteryProviderEfl::BatteryProviderEfl):
2249         (WebCore::BatteryProviderEfl::~BatteryProviderEfl):
2250         (WebCore::BatteryProviderEfl::stopUpdating):
2251         (WebCore::batteryProperties):
2252         (WebCore::batteryPropertiesChanged):
2253         (WebCore::BatteryProviderEfl::deviceTypeCallback):
2254         (WebCore::BatteryProviderEfl::enumerateDevices):
2255         (WebCore::BatteryProviderEfl::startUpdating):
2256         (WebCore::BatteryProviderEfl::setBatteryStatus):
2257         (WebCore::BatteryProviderEfl::timerFired): Deleted.
2258         (WebCore::BatteryProviderEfl::getBatteryStatus): Deleted.
2259         (WebCore::BatteryProviderEfl::setBatteryClient): Deleted.
2260         * platform/efl/BatteryProviderEfl.h:
2261         (WebCore::BatteryProviderEfl::connection):
2262         (WebCore::BatteryProviderEfl::setSignalHandler):
2263         (WebCore::BatteryProviderEfl::~BatteryProviderEfl): Deleted.
2264
2265 2014-11-27  Antti Koivisto  <antti@apple.com>
2266
2267         CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::HTMLPlugInImageElement::updateSnapshot + 108
2268         https://bugs.webkit.org/show_bug.cgi?id=139057
2269
2270         Reviewed by Anders Carlsson.
2271
2272         No test, don't know how to repro.
2273
2274         * html/HTMLPlugInImageElement.cpp:
2275         (WebCore::HTMLPlugInImageElement::updateSnapshot): Null check the renderer.
2276
2277 2014-11-27  Joanmarie Diggs  <jdiggs@igalia.com>
2278
2279         AX: [ATK] Meter and Option elements do not expose their id attribute
2280         https://bugs.webkit.org/show_bug.cgi?id=139017
2281
2282         Reviewed by Mario Sanchez Prada.
2283
2284         The options in a collapsed select element lack a node, so get the id
2285         attribute from the associated action element. In the case of a meter,
2286         the meter element itself is not exposed; its RenderMeter is instead.
2287         So associate the meter element's id with the exposed RenderMeter.
2288
2289         No new tests. Instead, updated existing expectations to reflect the fix.
2290
2291         * accessibility/AccessibilityObject.h:
2292         * accessibility/AccessibilityProgressIndicator.cpp:
2293         (WebCore::AccessibilityProgressIndicator::element):
2294         * accessibility/AccessibilityProgressIndicator.h:
2295         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2296         (webkitAccessibleGetAttributes):
2297
2298 2014-11-27  Anders Carlsson  <andersca@apple.com>
2299
2300         Add a Page::setVisitedLinkStore member function
2301         https://bugs.webkit.org/show_bug.cgi?id=139065
2302
2303         Reviewed by Antti Koivisto.
2304
2305         This will be used in a subsequent commit.
2306
2307         * WebCore.exp.in:
2308         * page/Page.cpp:
2309         (WebCore::Page::setVisitedLinkStore):
2310         * page/Page.h:
2311
2312 2014-11-25  Sukolsak Sakshuwong  <sukolsak@gmail.com>
2313
2314         Add parsing for :dir()
2315         https://bugs.webkit.org/show_bug.cgi?id=138932
2316
2317         Reviewed by Benjamin Poulain.
2318
2319         Add support for parsing :dir() pseudo class. The implementation of selector
2320         matching will be in a follow-up patch.
2321
2322         * css/CSSGrammar.y.in:
2323         * css/CSSParser.cpp:
2324         (WebCore::CSSParser::detectFunctionTypeToken):
2325         * css/CSSSelector.cpp:
2326         (WebCore::appendPseudoClassFunctionTail):
2327         (WebCore::CSSSelector::selectorText):
2328         * css/CSSSelector.h:
2329         * css/SelectorChecker.cpp:
2330         (WebCore::SelectorChecker::checkOne):
2331         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
2332         * cssjit/SelectorCompiler.cpp:
2333         (WebCore::SelectorCompiler::addPseudoClassType):
2334
2335 2014-11-25  Anders Carlsson  <andersca@apple.com>
2336
2337         Remove user content handling from PageGroup
2338         https://bugs.webkit.org/show_bug.cgi?id=139051
2339
2340         Reviewed by Antti Koivisto.
2341
2342         Remove m_userContentController from PageGroup and the related functions and symbol exports.
2343
2344         * WebCore.exp.in:
2345         * page/PageGroup.cpp:
2346         (WebCore::PageGroup::PageGroup):
2347         (WebCore::PageGroup::~PageGroup):
2348         (WebCore::PageGroup::addPage):
2349         (WebCore::PageGroup::removePage):
2350         (WebCore::PageGroup::addUserScriptToWorld): Deleted.
2351         (WebCore::PageGroup::addUserStyleSheetToWorld): Deleted.
2352         (WebCore::PageGroup::removeUserScriptFromWorld): Deleted.
2353         (WebCore::PageGroup::removeUserStyleSheetFromWorld): Deleted.
2354         (WebCore::PageGroup::removeUserScriptsFromWorld): Deleted.
2355         (WebCore::PageGroup::removeUserStyleSheetsFromWorld): Deleted.
2356         (WebCore::PageGroup::removeAllUserContent): Deleted.
2357         * page/PageGroup.h:
2358
2359 2014-11-25  Anders Carlsson  <andersca@apple.com>
2360
2361         Add a user content controller to WebViewGroup and use it for user content
2362         https://bugs.webkit.org/show_bug.cgi?id=139043
2363
2364         Reviewed by Antti Koivisto.
2365
2366         * WebCore.exp.in:
2367         Export symbols.
2368
2369         * page/Page.cpp:
2370         (WebCore::Page::setUserContentController):
2371         Invalidate the injected style cache when setting a new user content controller.
2372
2373 2014-11-25  Philippe Normand  <pnormand@igalia.com>
2374
2375         [GStreamer] gstmpegts is not initialized
2376         https://bugs.webkit.org/show_bug.cgi?id=139039
2377
2378         Reviewed by Carlos Garcia Campos.
2379
2380         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
2381         (WebCore::initializeGStreamer): Initialize the gstmpegts library.
2382
2383 2014-11-24  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
2384
2385         Fix unused variable warning in Biquad.cpp
2386         https://bugs.webkit.org/show_bug.cgi?id=139031
2387
2388         Reviewed by Andreas Kling.
2389
2390         No new tests needed.
2391
2392         * platform/audio/Biquad.cpp:
2393
2394 2014-11-24  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
2395
2396         Remove Qt cruft related to tap higlighting
2397         https://bugs.webkit.org/show_bug.cgi?id=139030
2398
2399         Reviewed by Andreas Kling.
2400
2401         No new tests needed.
2402
2403         * CMakeLists.txt:
2404         * page/GestureTapHighlighter.cpp: Removed.
2405         * page/GestureTapHighlighter.h: Removed.
2406
2407 2014-11-24  Dhi Aurrahman  <diorahman@rockybars.com>
2408
2409         Fix the parsing and re-serialization of :lang pseudo class selector when it has multiple arguments with same value
2410         https://bugs.webkit.org/show_bug.cgi?id=139013
2411
2412         Reviewed by Benjamin Poulain.
2413
2414         Fix the parsing and re-serialization of :lang pseudo class selector when 
2415         it has multiple arguments with same value e.g. :lang(en, en, en). Previously, 
2416         given :lang(en, en, en) selector, it was parsed and reserialized 
2417         as :lang(enenen) instead of :lang(en, en, en)
2418
2419         Related test on parsing and re-serialization of css selectors is updated.
2420
2421         * css/CSSSelector.cpp:
2422         (WebCore::appendArgumentList):
2423
2424 2014-11-24  Zalan Bujtas  <zalan@apple.com>
2425
2426         Fix r176527. Iterate through the text renderers.
2427         https://bugs.webkit.org/show_bug.cgi?id=139007
2428
2429         Reviewed by Antti Koivisto.
2430
2431         * rendering/SimpleLineLayout.cpp:
2432         (WebCore::SimpleLineLayout::canUseFor):
2433
2434 2014-11-24  Zalan Bujtas  <zalan@apple.com>
2435
2436         Simple line layout: Rename TextFragment::mustBreak to TextFragment::isLineBreak
2437         https://bugs.webkit.org/show_bug.cgi?id=139035
2438
2439         Reviewed by Antti Koivisto.
2440
2441         Move new line logic to FlowContents class.
2442         This is in preparation to support <br>.
2443
2444         No change in functionality.
2445
2446         * rendering/SimpleLineLayout.cpp:
2447         (WebCore::SimpleLineLayout::TextFragment::TextFragment):
2448         (WebCore::SimpleLineLayout::removeTrailingWhitespace):
2449         (WebCore::SimpleLineLayout::nextFragment):
2450         (WebCore::SimpleLineLayout::createLineRuns):
2451         * rendering/SimpleLineLayoutFlowContents.h:
2452         (WebCore::SimpleLineLayout::FlowContents::isNewline):
2453         (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter): Deleted.
2454
2455 2014-11-24  Benjamin Poulain  <benjamin@webkit.org>
2456
2457         Move :placeholder-shown out of experimental
2458         https://bugs.webkit.org/show_bug.cgi?id=138998
2459
2460         Reviewed by Andreas Kling.
2461
2462         The pseudo class :placeholder-shown is used by the inspector, disabling it breaks
2463         the sidebar.
2464
2465         The implementation has been stable for a while, we can move it to stable.
2466
2467         * css/CSSSelector.cpp:
2468         (WebCore::CSSSelector::selectorText):
2469         * css/CSSSelector.h:
2470         * css/SelectorChecker.cpp:
2471         (WebCore::SelectorChecker::checkOne):
2472         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
2473         * cssjit/SelectorCompiler.cpp:
2474         (WebCore::SelectorCompiler::addPseudoClassType):
2475         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
2476         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
2477
2478 2014-11-24  Antti Koivisto  <antti@apple.com>
2479
2480         Avoid String concatenation with line break iterator
2481         https://bugs.webkit.org/show_bug.cgi?id=139034
2482
2483         Reviewed by Zalan Bujtas.
2484
2485         Test: fast/text/simple-lines-multiple-renderers-break.html
2486
2487         * rendering/SimpleLineLayoutFlowContents.cpp:
2488         (WebCore::SimpleLineLayout::initializeSegments):
2489
2490             Include String too so it doesn't need to be fetched from the renderer.
2491
2492         (WebCore::SimpleLineLayout::FlowContents::FlowContents):
2493         (WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):
2494
2495             Make this iterative instead of recursive.
2496             Uset setPriorContext to provide previous characters instead of concatenating
2497             the string from all the previous segments.
2498
2499         (WebCore::SimpleLineLayout::findNextNonWhitespace):
2500         (WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):
2501
2502             Search using segments instead of the concatenated string.
2503
2504         (WebCore::SimpleLineLayout::FlowContents::textWidth):
2505         (WebCore::SimpleLineLayout::FlowContents::segmentIndexForPositionSlow):
2506         (WebCore::SimpleLineLayout::FlowContents::runWidth):
2507         (WebCore::SimpleLineLayout::FlowContents::segmentForPositionSlow): Deleted.
2508         (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Deleted.
2509         (WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition): Deleted.
2510         * rendering/SimpleLineLayoutFlowContents.h:
2511         (WebCore::SimpleLineLayout::FlowContents::characterAt):
2512         (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter):
2513         (WebCore::SimpleLineLayout::FlowContents::segmentIndexForPosition):
2514         (WebCore::SimpleLineLayout::FlowContents::segmentForPosition):
2515
2516 2014-11-24  Zalan Bujtas  <zalan@apple.com>
2517
2518         SimpleLineLayout::canUseFor() should iterate through RenderTexts to check if their content is eligible for simple line layout.
2519         https://bugs.webkit.org/show_bug.cgi?id=139007
2520
2521         Reviewed by Antti Koivisto.
2522
2523         Tests: fast/text/simple-line-layout-multiple-renderers-non-breaking-space.html
2524                fast/text/simple-line-layout-multiple-renderers-with-float.html
2525
2526         * rendering/SimpleLineLayout.cpp:
2527         (WebCore::SimpleLineLayout::canUseFor):
2528
2529 2014-11-22  Sam Weinig  <sam@webkit.org>
2530
2531         Move the '-webkit-box-reflext' CSS property to the new StyleBuilder
2532         https://bugs.webkit.org/show_bug.cgi?id=139008
2533
2534         Reviewed by Anders Carlsson.
2535
2536         * css/CSSPropertyNames.in:
2537         * css/StyleBuilderConverter.h:
2538         (WebCore::StyleBuilderConverter::convertReflection):
2539         * css/StyleResolver.cpp:
2540         (WebCore::StyleResolver::applyProperty):
2541
2542 2014-11-24  Antti Koivisto  <antti@apple.com>
2543
2544         Remove unused Style struct from SimpleLineLayout.cpp
2545         https://bugs.webkit.org/show_bug.cgi?id=139027
2546
2547         Reviewed by Sam Weinig.
2548
2549         It was moved to FlowContents.
2550
2551         * rendering/SimpleLineLayout.cpp:
2552         (WebCore::SimpleLineLayout::Style::Style): Deleted.
2553
2554 2014-11-24  peavo@outlook.com  <peavo@outlook.com>
2555
2556         [Curl] Compile error in ResourceHandleManager.cpp.
2557         https://bugs.webkit.org/show_bug.cgi?id=139026
2558
2559         Reviewed by Brent Fulgham.
2560
2561         The parameter types of the constructor of the Timer class has changed.
2562
2563         * platform/network/curl/ResourceHandleManager.cpp:
2564         (WebCore::ResourceHandleManager::ResourceHandleManager):
2565         (WebCore::ResourceHandleManager::downloadTimerCallback):
2566         * platform/network/curl/ResourceHandleManager.h:
2567
2568 2014-11-24  Joanmarie Diggs  <jdiggs@igalia.com>
2569
2570         AX: [ATK] Unskip the skipped ATK tests in roles-exposed.html
2571         https://bugs.webkit.org/show_bug.cgi?id=139016
2572
2573         Reviewed by Chris Fleizach.
2574
2575         There was one test that could not be unskipped without making a change
2576         for that one to pass: mapping DocumentRegionRole to ATK_ROLE_PANEL. The
2577         rest of the "fix" is just unskipping tests for ATK and updating the test
2578         expectations.
2579
2580         No new tests needed.
2581
2582         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2583         (atkRole):
2584
2585 2014-11-23  Antti Koivisto  <antti@apple.com>
2586
2587         Use segment vector for FlowContents
2588         https://bugs.webkit.org/show_bug.cgi?id=139015
2589
2590         Reviewed by Zalan Bujtas.
2591
2592         And FlowContents::Segment struct and use it.
2593
2594         * rendering/SimpleLineLayout.cpp:
2595         (WebCore::SimpleLineLayout::removeTrailingWhitespace):
2596         (WebCore::SimpleLineLayout::createLineRuns):
2597         (WebCore::SimpleLineLayout::splitRunsAtRendererBoundary):
2598
2599             Use segments.
2600             If there is only one segment there is nothing to do. Bail out.
2601
2602         * rendering/SimpleLineLayoutFlowContents.cpp:
2603         (WebCore::SimpleLineLayout::initializeSegments):
2604
2605             Move initialization to a function so m_segments can be const.
2606             Don't add empty end segment, handle the end case in code.
2607
2608         (WebCore::SimpleLineLayout::FlowContents::FlowContents):
2609         (WebCore::SimpleLineLayout::FlowContents::textWidth):
2610
2611             Simplify and use segments.
2612
2613         (WebCore::SimpleLineLayout::FlowContents::segmentForPositionSlow):
2614
2615             Replace hand-rolled binary search with std::lower_bounds.
2616
2617         (WebCore::SimpleLineLayout::FlowContents::segmentForRenderer):
2618         (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded):
2619         (WebCore::SimpleLineLayout::FlowContents::renderer): Deleted.
2620         (WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions): Deleted.
2621         * rendering/SimpleLineLayoutFlowContents.h:
2622         (WebCore::SimpleLineLayout::FlowContents::hasOneSegment):
2623         (WebCore::SimpleLineLayout::FlowContents::length):
2624         (WebCore::SimpleLineLayout::FlowContents::isEnd):
2625         (WebCore::SimpleLineLayout::FlowContents::isEndOfContent): Deleted.
2626
2627             Renamed.
2628
2629         (WebCore::SimpleLineLayout::FlowContents::segmentForPosition):
2630
2631             Inline the fast path.
2632
2633         * rendering/SimpleLineLayoutResolver.cpp:
2634         (WebCore::SimpleLineLayout::RunResolver::Run::text):
2635         (WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):
2636
2637 2014-11-22  Simon Fraser  <simon.fraser@apple.com>
2638
2639         Extend WKRenderObject and WKRenderLayer with some more useful data
2640         https://bugs.webkit.org/show_bug.cgi?id=139006
2641
2642         Reviewed by Sam Weinig.
2643
2644         Export WebCore::RenderLayerBacking::backingStoreMemoryEstimate() const.
2645
2646         * WebCore.exp.in:
2647
2648 2014-11-22  Antti Koivisto  <antti@apple.com>
2649
2650         Make locale part of the SimpleLineLayout::FlowContent::Style
2651         https://bugs.webkit.org/show_bug.cgi?id=139004
2652
2653         Reviewed by Zalan Bujtas.
2654
2655         That's the only part of style not extracted out of RenderStyle in the constructor.
2656
2657         * rendering/SimpleLineLayoutFlowContents.cpp:
2658         (WebCore::SimpleLineLayout::FlowContents::Style::Style):
2659         (WebCore::SimpleLineLayout::FlowContents::FlowContents):
2660         (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded):
2661         * rendering/SimpleLineLayoutFlowContents.h:
2662
2663             Also remove RenderBlockFlow member since it is now unused.
2664
2665         (WebCore::SimpleLineLayout::FlowContents::Style::Style): Deleted.
2666
2667             Move to cpp.
2668
2669 2014-11-22  Joanmarie Diggs  <jdiggs@igalia.com>
2670
2671         AX: [ATK] Accessible names missing for imagemap images and links
2672         https://bugs.webkit.org/show_bug.cgi?id=127288
2673
2674         Reviewed by Chris Fleizach.
2675
2676         Return the alt text, if present, for the accessible name for image maps
2677         and image map links for ATK. Also expose the accessible element with
2678         ATK_ROLE_IMAGE_MAP instead of ATK_ROLE_IMAGE.
2679
2680         Test: accessibility/image-with-alt-and-map.html
2681
2682         * accessibility/AccessibilityObject.h:
2683         (WebCore::AccessibilityObject::isImageMap):
2684         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2685         (webkitAccessibleGetName):
2686         (atkRole):
2687
2688 2014-11-22  Andreas Kling  <akling@apple.com>
2689
2690         Remove unused Document::ignoreAutofocus().
2691         <https://webkit.org/b/139002>
2692
2693         Reviewed by Antti Koivisto.
2694
2695         No one ever actually changes this flag, so let's remove it.
2696
2697         * dom/Document.cpp:
2698         (WebCore::Document::Document):
2699         * dom/Document.h:
2700         (WebCore::Document::ignoreAutofocus): Deleted.
2701         (WebCore::Document::setIgnoreAutofocus): Deleted.
2702         * html/HTMLFormControlElement.cpp:
2703         (WebCore::shouldAutofocus):
2704
2705 2014-11-22  Csaba Osztrogonác  <ossy@webkit.org>
2706
2707         URTBF after r176459 to fix GTK build.
2708
2709         * platform/ScrollAnimatorNone.cpp:
2710         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
2711         (WebCore::ScrollAnimatorNone::requestAnimationTimerFired):
2712         * platform/ScrollAnimatorNone.h:
2713
2714 2014-11-22  Andreas Kling  <akling@apple.com>
2715
2716         Convert PassRefPtr return types to RefPtr.
2717         <https://webkit.org/b/138995>
2718
2719         Reviewed by Anders Carlsson.
2720
2721         Convert an assortment of DOM and HTML related functions
2722         to return RefPtr instead of PassRefPtr.
2723
2724 2014-11-21  Jer Noble  <jer.noble@apple.com>
2725
2726         Unreviewed iOS build fix; move new symbols out of Mac-only exports.
2727
2728         * WebCore.exp.in:
2729
2730 2014-11-21  Timothy Horton  <timothy_horton@apple.com>
2731
2732         Remove a file that r176499 presumably did not mean to add.
2733
2734         * WebCore.exp.in.orig: Removed.
2735
2736 2014-11-21  Jer Noble  <jer.noble@apple.com>
2737
2738         Support multiple signatures of diagnostic logging.
2739         https://bugs.webkit.org/show_bug.cgi?id=138690
2740
2741         Reviewed by Anders Carlsson.
2742
2743         Pull logDiagnosticMessage() out of ChromeClient and make a new client interface,
2744         DiagnosticLoggingClient, which supports multiple kinds of diagnostic logging,
2745         namely: simple logging without a parameter, logging with a success parameter, and
2746         logging with a generic string value parameter.
2747
2748         * html/HTMLMediaElement.cpp:
2749         (WebCore::HTMLMediaElement::parseAttribute): Use DiagnosticLoggingClient.
2750         * loader/FrameLoader.cpp:
2751         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
2752         * loader/SubframeLoader.cpp:
2753         (WebCore::logPluginRequest): Ditto.
2754         * page/ChromeClient.h:
2755         (WebCore::ChromeClient::logDiagnosticMessage): Deleted.
2756         * page/DiagnosticLoggingClient.h: 
2757         (WebCore::DiagnosticLoggingClient::logDiagnosticMessage): Added.
2758         (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithResult): Added.
2759         (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithValue): Added.
2760         (WebCore::DiagnosticLoggingClient::~DiagnosticLoggingClient): Empty destructor.
2761
2762         Rename Page::PageClient to PageConfiguration, and pass that configuration from
2763         Page into MainFrame upon construction.
2764
2765         * inspector/InspectorOverlay.cpp:
2766         (WebCore::InspectorOverlay::overlayPage): Use PageConfiguration instead of PageClients.
2767         * loader/EmptyClients.cpp:
2768         (WebCore::fillWithEmptyClients): Ditto.
2769         * loader/EmptyClients.h:
2770         * page/MainFrame.cpp:
2771         (WebCore::MainFrame::MainFrame): Pass loaderClientForMainFrame through to the
2772             Frame constructor.
2773         (WebCore::MainFrame::create): Takes a PageConfiguration.
2774         * page/MainFrame.h:
2775         (WebCore::MainFrame::diagnosticLoggingClient): Simple accessor.
2776         * page/Page.cpp:
2777         (WebCore::Page::Page):
2778         (WebCore::Page::PageClients::PageClients): Deleted.
2779         (WebCore::Page::PageClients::~PageClients): Deleted.
2780         * page/Page.h:
2781         * page/PageConfiguration.cpp: Added.
2782         (WebCore::PageConfiguration::PageConfiguration): Renamed from PageClients().
2783         (WebCore::PageConfiguration::~PageConfiguration): Renamed from ~PageClients().
2784         * page/PageConfiguration.h: Added.
2785         * svg/graphics/SVGImage.cpp:
2786         (WebCore::SVGImage::dataChanged): Use PageConfiguration instead of PageClients.
2787
2788         Add new files and symbols to the project.
2789
2790         * CMakeLists.txt:
2791         * WebCore.exp.in:
2792         * WebCore.vcxproj/WebCore.vcxproj:
2793         * WebCore.xcodeproj/project.pbxproj:
2794
2795 2014-11-21  Chris Dumez  <cdumez@apple.com>
2796
2797         Throttled DOMTimers can prevent their document from being garbage collected
2798         https://bugs.webkit.org/show_bug.cgi?id=138915
2799
2800         Reviewed by Andreas Kling.
2801
2802         Throttled DOMTimers whose interval depend on viewport changes would
2803         keep a Vector of elements outside viewport causing them to be throttled
2804         so that we could check later on (upon scroll or layout) if those
2805         elements are still outside viewport. The issue is that these elements
2806         could potentially be removed from the document (and destroyed) after
2807         the timer has fired. To handle this, DOMTimer was ref'ing the
2808         elements. Unfortunately, this was causing us to leak the document
2809         as the elements in the Vector would keep the document alive.
2810
2811         To handle this issue, this patch updates the DOMTimer Vector to use
2812         weak pointers. The WeakPtrFactory is stored in ElementRareData to
2813         avoid wasting memory for all kinds of Elements (it is a fair assumption
2814         that the number of elements whose style is animated via timers is low).
2815
2816         Test: fast/dom/throttled-timer-running-on-document-destruction.html
2817
2818         * dom/Element.cpp:
2819         (WebCore::Element::createWeakPtr):
2820         * dom/Element.h:
2821         * dom/ElementRareData.cpp:
2822         * dom/ElementRareData.h:
2823         (WebCore::ElementRareData::weakPtrFactory):
2824         * page/DOMTimer.cpp:
2825         (WebCore::DOMTimerFireState::elementsChangedOutsideViewport):
2826         (WebCore::DOMTimer::updateThrottlingStateAfterViewportChange):
2827         * page/DOMTimer.h:
2828
2829 2014-11-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2830
2831         Unreviewed, EFL build fix since r176459.
2832
2833         r176459 removed Timer parameter in timer callbacks only for Mac port.
2834         So this patch applies it to remaining classes for EFL port.
2835
2836         No new tests, fix build break.
2837
2838         * Modules/mediastream/RTCDTMFSender.cpp:
2839         (WebCore::RTCDTMFSender::RTCDTMFSender):
2840         * Modules/mediastream/RTCDataChannel.cpp:
2841         (WebCore::RTCDataChannel::RTCDataChannel):
2842         * Modules/mediastream/RTCPeerConnection.cpp:
2843         (WebCore::RTCPeerConnection::RTCPeerConnection):
2844         * Modules/vibration/Vibration.cpp:
2845         (WebCore::Vibration::Vibration):
2846         (WebCore::Vibration::timerFired):
2847         * Modules/vibration/Vibration.h:
2848         * bindings/js/GCController.cpp:
2849         (WebCore::GCController::GCController):
2850         * platform/efl/BatteryProviderEfl.cpp:
2851         (WebCore::BatteryProviderEfl::BatteryProviderEfl):
2852         (WebCore::BatteryProviderEfl::timerFired):
2853         * platform/efl/BatteryProviderEfl.h:
2854         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2855         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2856         (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
2857         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2858         * platform/graphics/texmap/TextureMapper.cpp:
2859         (WebCore::BitmapTexturePool::BitmapTexturePool):
2860         (WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
2861         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
2862         (WebCore::CompositingCoordinator::CompositingCoordinator):
2863         (WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired):
2864         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
2865         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2866         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
2867         (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
2868         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2869         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
2870         (WebCore::CoordinatedImageBacking::CoordinatedImageBacking):
2871         (WebCore::CoordinatedImageBacking::clearContentsTimerFired):
2872         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
2873         * platform/mock/DeviceMotionClientMock.cpp:
2874         (WebCore::DeviceMotionClientMock::DeviceMotionClientMock):
2875         (WebCore::DeviceMotionClientMock::timerFired):
2876         * platform/mock/DeviceMotionClientMock.h:
2877         * platform/mock/TimerEventBasedMock.h:
2878         (WebCore::TimerEvent::TimerEvent):
2879         (WebCore::TimerEvent::timerFired):
2880
2881 2014-11-21  Benjamin Poulain  <bpoulain@apple.com>
2882
2883         Start using the new :not() and :matches() in the Web Inspector
2884         https://bugs.webkit.org/show_bug.cgi?id=138978
2885
2886         Reviewed by Joseph Pecoraro.
2887
2888         There are only minor pending issues on :not() and :matches(). The feedback
2889         has only been positive so far. It is time to move them out the experimental
2890         flag.
2891
2892         * css/CSSGrammar.y.in:
2893         * css/CSSParser.cpp:
2894         (WebCore::CSSParser::detectFunctionTypeToken):
2895         * css/CSSSelector.cpp:
2896         (WebCore::simpleSelectorSpecificityInternal):
2897         (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
2898         (WebCore::appendSelectorList):
2899         (WebCore::CSSSelector::selectorText):
2900         * css/CSSSelector.h:
2901         * css/SelectorChecker.cpp:
2902         (WebCore::SelectorChecker::checkOne):
2903         (WebCore::SelectorChecker::determineLinkMatchType):
2904         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
2905         * cssjit/SelectorCompiler.cpp:
2906         (WebCore::SelectorCompiler::addPseudoClassType):
2907
2908 2014-11-21  Chris Dumez  <cdumez@apple.com>
2909
2910         Unreviewed, iOS build fix after r176462.
2911
2912         Export a few extra symbols.
2913
2914         * WebCore.exp.in:
2915
2916 2014-11-21  Chris Dumez  <cdumez@apple.com>
2917
2918         Properties in CSSPropertyNames.in should use the new StyleBuilder by default
2919         https://bugs.webkit.org/show_bug.cgi?id=138983
2920
2921         Reviewed by Andreas Kling.
2922
2923         This patch makes using the new StyleBuilder the default and drops the
2924         [NewStyleBuilder] option as a result. A new [LegacyStyleBuilder] option
2925         is introduced for CSS properties that are not generated in the new
2926         StyleBuilder yet.
2927
2928         * css/CSSPropertyNames.in:
2929         * css/SVGCSSPropertyNames.in:
2930         * css/makeprop.pl:
2931
2932 2014-11-21  Chris Dumez  <cdumez@apple.com>
2933
2934         [iOS] Regression(r176202): line-height is wrong on marco.org
2935         https://bugs.webkit.org/show_bug.cgi?id=138970
2936
2937         Reviewed by Simon Fraser.
2938
2939         After r176202, on iOS with IOS_TEXT_AUTOSIZING enabled, we would
2940         multiply the lineHeight by RenderStyle::textSizeAdjust()::multiplier()
2941         unconditionally. However, we're only supposed to do so if
2942         RenderStyle::textSizeAdjust()::isPercentage() returns true. This
2943         patch reintroduces the textSizeAdjust().isPercentage() check that was
2944         inadvertently dropped when refactoring the code to be shared between
2945         iOS and OS X.
2946
2947         Additionally, the multiplier is only supposed the be applied if the
2948         input CSSPrimitiveValue is a Length or a Number. However, after
2949         r176202, we would apply the multiplier if the CSSPrimitiveValue is
2950         a Percentage or a Number. This patch updates the code to match the
2951         behavior prior to r176202.
2952
2953         Test: fast/css/line-height-text-autosizing.html
2954
2955         * css/StyleBuilderCustom.h:
2956         (WebCore::StyleBuilderFunctions::convertLineHeight):
2957         (WebCore::StyleBuilderFunctions::applyValueLineHeight):
2958
2959 2014-11-21  Chris Fleizach  <cfleizach@apple.com>
2960
2961         AX: com.apple.WebKit.WebContent crashed at WebCore: WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const
2962         https://bugs.webkit.org/show_bug.cgi?id=138905
2963
2964         Reviewed by Mario Sanchez Prada.
2965
2966         The crash log indicates that m_renderer is null at the time we ask ancestorsOfType(). 
2967         This is more of a speculative fix, since I am not entirely sure m_renderer is null when we enter the method.
2968
2969         Unable to determine cause of crash or how to reproduce on demand.
2970
2971         * accessibility/AccessibilityRenderObject.cpp:
2972         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2973
2974 2014-11-21  Jer Noble  <jer.noble@apple.com>
2975
2976         [EME][Mac] Check the underlying error if the one returned by AVFoundation is AVErrorUnknown.
2977         https://bugs.webkit.org/show_bug.cgi?id=138986
2978
2979         Reviewed by Eric Carlson.
2980
2981         When we recieve an error with the code AVErrorUnknown, look for an underlying error from CoreMedia (or another
2982         lower-level framework) with a (presumably) more informative error code, and return that code instead.
2983
2984         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
2985         (WebCore::systemCodeForError):
2986         (WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):
2987         (WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):
2988
2989 2014-11-21  Chris Fleizach  <cfleizach@apple.com>
2990
2991         AX: Unclear that user and password are autofilled, no VoiceOver version of the yellow outline.
2992         https://bugs.webkit.org/show_bug.cgi?id=138904
2993
2994         Reviewed by Mario Sanchez Prada.
2995
2996         Add an attribute that marks when a text field is auto-filled.
2997
2998         Test: accessibility/auto-filled-value.html
2999
3000         * accessibility/AccessibilityObject.cpp:
3001         (WebCore::AccessibilityObject::isValueAutofilled):
3002         * accessibility/AccessibilityObject.h:
3003         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3004         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
3005         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3006
3007 2014-11-21  Andreas Kling  <akling@apple.com>
3008
3009         RenderElement::removeChild() doesn't need a return value.
3010         <https://webkit.org/b/138985>
3011
3012         Reviewed by Pantti Koivisto.
3013
3014         Nobody uses the return value from RenderElement::removeChild().
3015         Change it to return void and remove all the unnecessary plumbing.
3016
3017         * rendering/RenderBlock.cpp:
3018         (WebCore::RenderBlock::removeChild):
3019         * rendering/RenderBlock.h:
3020         * rendering/RenderBlockFlow.cpp:
3021         (WebCore::RenderBlockFlow::removeChild):
3022         * rendering/RenderBlockFlow.h:
3023         * rendering/RenderButton.cpp:
3024         (WebCore::RenderButton::removeChild):
3025         * rendering/RenderButton.h:
3026         * rendering/RenderElement.cpp:
3027         (WebCore::RenderElement::removeChild):
3028         (WebCore::RenderElement::removeChildInternal):
3029         * rendering/RenderElement.h:
3030         * rendering/RenderMenuList.cpp:
3031         (RenderMenuList::removeChild):
3032         * rendering/RenderMenuList.h:
3033         * rendering/RenderRuby.cpp:
3034         (WebCore::RenderRubyAsInline::removeChild):
3035         (WebCore::RenderRubyAsBlock::removeChild):
3036         * rendering/RenderRuby.h:
3037         * rendering/RenderRubyRun.cpp:
3038         (WebCore::RenderRubyRun::removeChild):
3039         * rendering/RenderRubyRun.h:
3040         * rendering/mathml/RenderMathMLRoot.cpp:
3041         (WebCore::RenderMathMLRootWrapper::removeChildWithoutRestructuring):
3042         (WebCore::RenderMathMLRootWrapper::removeChild):
3043         * rendering/mathml/RenderMathMLRoot.h:
3044         * rendering/mathml/RenderMathMLScripts.cpp:
3045         (WebCore::RenderMathMLScripts::removeChildInternal):
3046         (WebCore::RenderMathMLScripts::removeChild):
3047         (WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
3048         (WebCore::RenderMathMLScriptsWrapper::removeChild):
3049         * rendering/mathml/RenderMathMLScripts.h:
3050         * rendering/svg/RenderSVGContainer.cpp:
3051         (WebCore::RenderSVGContainer::removeChild):
3052         * rendering/svg/RenderSVGContainer.h:
3053         * rendering/svg/RenderSVGInline.cpp:
3054         (WebCore::RenderSVGInline::removeChild):
3055         * rendering/svg/RenderSVGInline.h:
3056         * rendering/svg/RenderSVGRoot.cpp:
3057         (WebCore::RenderSVGRoot::removeChild):
3058         * rendering/svg/RenderSVGRoot.h:
3059         * rendering/svg/RenderSVGText.cpp:
3060         (WebCore::RenderSVGText::removeChild):
3061         * rendering/svg/RenderSVGText.h:
3062
3063 2014-11-21  Tim Horton  <timothy_horton@apple.com>
3064
3065         REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
3066         ​https://bugs.webkit.org/show_bug.cgi?id=138960
3067         <rdar://problem/19056715>
3068
3069         Reviewed by Anders Carlsson.
3070
3071         * platform/spi/mac/DataDetectorsSPI.h:
3072         Add some DataDetectors SPI.
3073
3074 2014-11-21  Jer Noble  <jer.noble@apple.com>
3075
3076         [Mac] Random crashes inside media libraries when creating then destroying media quickly.
3077         https://bugs.webkit.org/show_bug.cgi?id=138980
3078
3079         Reviewed by Eric Carlson.
3080
3081         Speculative fix for random crashes in the layout tests which occur randomly but regularly. The theory is
3082         that creating-then-destroying our media objects too quickly triggers crashes deep within the media frameworks
3083         when their initialization threads don't have a chance to complete before the main player object is destroyed.
3084         Test out this theory by delaying the destruction of the AVPlayer object for 1s after its owner is destroyed.
3085
3086         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3087         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
3088
3089 2014-11-21  Jer Noble  <jer.noble@apple.com>
3090
3091         [Mac] Delay of 1-2s after the first paint of a video frame.
3092         https://bugs.webkit.org/show_bug.cgi?id=138979
3093
3094         Reviewed by Eric Carlson.
3095
3096         Only bother waiting for a signal that a new image is ready when the image isn't ready in the first place.
3097
3098         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3099         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
3100
3101 2014-11-21  Glenn Adams  <glenn@skynav.com> and Myles C. Maxfield  <mmaxfield@apple.com>
3102
3103         Add support to -webkit-line-break property for CSS3 Text line-break property values and semantics.
3104         https://bugs.webkit.org/show_bug.cgi?id=89235
3105
3106         Reviewed by Eric Seidel and Dave Hyatt.
3107
3108         This patch adds semantic support for the CSS3 line-break property (qua -webkit-line-break),
3109         and enables testing on (apple) mac ports. Follow on patches will enable these tests on
3110         other ports as they are incrementally verified.
3111
3112         See also wiki documentation at:
3113         [1] http://trac.webkit.org/wiki/LineBreaking
3114         [2] http://trac.webkit.org/wiki/LineBreakingCSS3Mapping
3115
3116         Tests: css3/line-break/line-break-auto-centered.html
3117                css3/line-break/line-break-auto-half-kana.html
3118                css3/line-break/line-break-auto-hyphens.html
3119                css3/line-break/line-break-auto-inseparables.html
3120                css3/line-break/line-break-auto-iteration-marks.html
3121                css3/line-break/line-break-auto-postfixes.html
3122                css3/line-break/line-break-auto-prefixes.html
3123                css3/line-break/line-break-auto-sound-marks.html
3124                css3/line-break/line-break-loose-centered.html
3125                css3/line-break/line-break-loose-half-kana.html
3126                css3/line-break/line-break-loose-hyphens.html
3127                css3/line-break/line-break-loose-inseparables.html
3128                css3/line-break/line-break-loose-iteration-marks.html
3129                css3/line-break/line-break-loose-postfixes.html
3130                css3/line-break/line-break-loose-prefixes.html
3131                css3/line-break/line-break-loose-sound-marks.html
3132                css3/line-break/line-break-normal-centered.html
3133                css3/line-break/line-break-normal-half-kana.html
3134                css3/line-break/line-break-normal-hyphens.html
3135                css3/line-break/line-break-normal-inseparables.html
3136                css3/line-break/line-break-normal-iteration-marks.html
3137                css3/line-break/line-break-normal-postfixes.html
3138                css3/line-break/line-break-normal-prefixes.html
3139                css3/line-break/line-break-normal-sound-marks.html
3140                css3/line-break/line-break-strict-centered.html
3141                css3/line-break/line-break-strict-half-kana.html
3142                css3/line-break/line-break-strict-hyphens.html
3143                css3/line-break/line-break-strict-inseparables.html
3144                css3/line-break/line-break-strict-iteration-marks.html
3145                css3/line-break/line-break-strict-postfixes.html
3146                css3/line-break/line-break-strict-prefixes.html
3147                css3/line-break/line-break-strict-sound-marks.html
3148
3149         These tests were previously added in http://trac.webkit.org/changeset/143378, but skipped
3150         in generic TestExpectations. In this patch, they are marked as Pass for the (apple) mac ports.
3151
3152         * platform/text/LineBreakIteratorPoolICU.h:
3153         (WebCore::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
3154         Add static function to construct ICU locale argument (also used as pool key) with additional
3155         break keyword.
3156         (LineBreakIteratorPool):
3157         (WebCore::LineBreakIteratorPool::take):
3158         (WebCore::LineBreakIteratorPool::put):
3159         Remove direct dependency from ICU library (and types), moving that dependency into
3160         new {open,close}LineBreakIterator() functions (defined in TextBreakIteratorICU.cpp).
3161         Update to take line break mode into account.
3162         Create (and cache) different break iterators depending on line break mode (in addition to locale),
3163         which entails expanding pool entry key format to optionally append "@break=" +
3164         "loose"|"normal"|"strict" keyword to locale string.
3165
3166         * platform/text/TextBreakIterator.h:
3167         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
3168         (WebCore::LazyLineBreakIterator::isLooseCJKMode):
3169         (WebCore::LazyLineBreakIterator::get):
3170         (WebCore::LazyLineBreakIterator::reset):
3171         (LazyLineBreakIterator):
3172         Define LineBreakIteratorMode enumeration for use in TextBreakIterator et al.
3173         Add state member to indicate line break mode.
3174
3175         * platform/text/TextBreakIteratorICU.cpp:
3176         (WebCore::acquireLineBreakIterator):
3177         Use new line break mode when making iterator from pool.
3178         Handle change of return type of LineBreakIteratorPool::take() to non-ICU type,
3179         i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
3180         (WebCore::releaseLineBreakIterator):
3181         Handle change of parameter type of LineBreakIteratorPool::put() to non-ICU type,
3182         i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
3183         (WebCore):
3184         (WebCore::isCJKLocale):
3185         New functions for determining if CJK rules apply.
3186         (WebCore::openLineBreakIterator):
3187         New function for abstracting opening of ICU style line break iterator. This is now
3188         used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.
3189         This function also takes into account the line break mode.
3190
3191         Note that this function only calls ubrk_openRules() when the author has opted-in via
3192         using the -webkit-line-break CSS property. Eventually, we would like to be able to
3193         customize the rules that ICU's line breaking algorithm uses (especially for CJK text);
3194         however, ubrk_openRules() currently parses its input string to create a DFA and is
3195         therefore very slow. In fact, it's so slow that increasing our cache size in
3196         LineBreakIteratorPool doesn't actually help enough. Also note that the default value
3197         for the line-break CSS property is 'auto'.
3198         (WebCore::closeLineBreakIterator):
3199         (WebCore::mapLineIteratorModeToRules):
3200         New function for abstracting closing of ICU style line break iterator. This is now
3201         used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.
3202
3203         * rendering/RenderBlockLineLayout.cpp:
3204         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
3205         Pass line break iterator mode flag when reseting LazyLineBreakIterator.
3206         Add looseMode local variable to prevent need for computing under isBreakable().
3207
3208         * rendering/RenderText.cpp:
3209         (WebCore::mapLineBreakToIteratorMode):
3210         Add implementation for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
3211         and RenderBlock::LineBreaker::nextLineBreak.
3212         (WebCore):
3213         (WebCore::RenderText::computePreferredLogicalWidths):
3214         Ensure (lazy line) breakIterator is initialized for line break mode.
3215         Ensure isBreakable() is passed loose mode flag to match behavior in RenderBlock::LineBreaker::nextLineBreak.
3216
3217         * rendering/RenderText.h:
3218         (WebCore):
3219         Add declaration for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
3220         and RenderBlock::LineBreaker::nextLineBreak.
3221
3222         * rendering/break_lines.cpp:
3223         (WebCore):
3224         Introduce (local) enum NBSPBehavior for expanding template on nextBreakablePosition.
3225         (WebCore::isBreakableSpace):
3226         Add externally specified loose mode parameter to prevent need to invoke line break iterator
3227         accessor method on each invocation. Use new loose mode flavors off NBP functions.
3228         (WebCore::needsLineBreakIterator):
3229         Use enum NBSP behavior template parameter rather than boolean.
3230         (WebCore::nextBreakablePositionNonLoosely):
3231         Extend name to distinguish from loose flavor of this function.
3232         (WebCore::nextBreakablePositionLoosely):
3233         Add loose flavor of NBP invoked only when loose mode applies, in which case ASCII shortcut
3234         table cannot be used.
3235         (WebCore::nextBreakablePosition):
3236         (WebCore::nextBreakablePositionIgnoringNBSP):
3237         Use (renamed) non-loose flavor of NBP.
3238         (WebCore::nextBreakablePositionLoose):
3239         (WebCore::nextBreakablePositionIgnoringNBSPLoose):
3240         Introduce loose flavor of NBP template expansions.
3241
3242         * rendering/break_lines.h:
3243         (WebCore):
3244         (WebCore::isBreakable):
3245         Add externally specified loose mode parameter to prevent need to invoke line break iterator
3246         accessor method on each invocation.
3247
3248 2014-11-21  Anders Carlsson  <andersca@apple.com>
3249
3250         More build fixes.
3251
3252         * Modules/mediastream/MediaStream.cpp:
3253         (WebCore::MediaStream::MediaStream):
3254
3255 2014-11-21  Eric Carlson  <eric.carlson@apple.com>
3256
3257         [iOS] allocate volume view on the main thread
3258         https://bugs.webkit.org/show_bug.cgi?id=138971
3259         rdar://problem/18016958
3260
3261         Reviewed by Jer Noble.
3262
3263         * platform/audio/ios/MediaSessionManagerIOS.mm:
3264         (-[WebMediaSessionHelper allocateVolumeView]): New, dispatch to the main thread if necessary before allocating
3265             the volume view.
3266         (-[WebMediaSessionHelper initWithCallback:]): Call allocateVolumeView.
3267
3268 2014-11-21  Zalan Bujtas  <zalan@apple.com>
3269
3270         REGRESSION(r175259) Simple line layout text measuring behavior changed.
3271         https://bugs.webkit.org/show_bug.cgi?id=138947
3272         rdar://problem/19050653
3273
3274         Reviewed by Antti Koivisto.
3275
3276         In certain cases, when block flow needs to compute the preferred width of a particular text
3277         renderer, we use the non-simple line layout text measuring.
3278         However, the same text renderer might end up at simple line layout later.
3279         Complex line layout measures text including the trailing space and it subtracts
3280         (the constant value of) space width afterwards, while simple line layout measures
3281         runs without the extra space.
3282         In such cases, this may result different word widths and produce unexpected line breaking. (preferred width != final width)
3283         In long term, any text renderer qualified for simple line layout should go through the simple
3284         text measuring code path. (https://bugs.webkit.org/show_bug.cgi?id=138973)
3285         For now, just copy complex line layout behaviour. This also matches the previous simple line layout line breaking implementation.
3286
3287         Test: fast/text/simple-line-text-measuring-with-trailing-space.html
3288
3289         * rendering/SimpleLineLayoutFlowContents.cpp:
3290         (WebCore::SimpleLineLayout::FlowContents::textWidth):
3291
3292 2014-11-21  Anders Carlsson  <andersca@apple.com>
3293
3294         More Windows build fixes.
3295
3296         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
3297         (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost):
3298         (WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
3299         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
3300         * platform/mock/GeolocationClientMock.cpp:
3301         (WebCore::GeolocationClientMock::GeolocationClientMock):
3302         (WebCore::GeolocationClientMock::permissionTimerFired):
3303         (WebCore::GeolocationClientMock::controllerTimerFired):
3304         * platform/mock/GeolocationClientMock.h:
3305
3306 2014-11-21  Andreas Kling  <akling@apple.com>
3307
3308         RenderMathMLScripts isPrescript() helper should take a reference.
3309         <https://webkit.org/b/138975>
3310
3311         Reviewed by Antti Koivisto.
3312
3313         Tidy this up a bit, since it's never called with a null pointer.
3314
3315         * rendering/mathml/RenderMathMLScripts.cpp:
3316         (WebCore::isPrescript):
3317         (WebCore::RenderMathMLScripts::fixAnonymousStyles):
3318         (WebCore::RenderMathMLScripts::addChildInternal):
3319         (WebCore::RenderMathMLScripts::removeChildInternal):
3320         (WebCore::RenderMathMLScripts::layout):
3321         (WebCore::RenderMathMLScriptsWrapper::addChildInternal):
3322         (WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
3323
3324 2014-11-21  Anders Carlsson  <andersca@apple.com>
3325
3326         Windows build fixes.
3327
3328         * plugins/PluginPackage.cpp:
3329         (WebCore::PluginPackage::freeLibraryTimerFired):
3330         (WebCore::PluginPackage::PluginPackage):
3331         * plugins/PluginPackage.h:
3332         * plugins/PluginStream.cpp:
3333         (WebCore::PluginStream::PluginStream):
3334         (WebCore::PluginStream::delayDeliveryTimerFired):
3335         (WebCore::PluginStream::deliverData): Deleted.
3336         * plugins/PluginStream.h:
3337         * plugins/PluginView.cpp:
3338         (WebCore::PluginView::popPopupsStateTimerFired):
3339         (WebCore::PluginView::requestTimerFired):
3340         (WebCore::PluginView::invalidateTimerFired):
3341         (WebCore::PluginView::PluginView):
3342         (WebCore::PluginView::lifeSupportTimerFired):
3343         (WebCore::PluginView::performRequest): Deleted.
3344         (WebCore::PluginView::setValue): Deleted.
3345         (WebCore::PluginView::setParameters): Deleted.
3346         (WebCore::PluginView::userAgent): Deleted.
3347         * plugins/PluginView.h:
3348         * plugins/win/PluginMessageThrottlerWin.cpp:
3349         (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin):
3350         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
3351         * plugins/win/PluginMessageThrottlerWin.h:
3352
3353 2014-11-21  Tim Horton  <timothy_horton@apple.com>
3354
3355         REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
3356         https://bugs.webkit.org/show_bug.cgi?id=138960
3357         <rdar://problem/19056715>
3358
3359         Reviewed by Beth Dakin.
3360
3361         * platform/spi/mac/DataDetectorsSPI.h:
3362         Softlink some SPI.
3363
3364 2014-11-21  Tim Horton  <timothy_horton@apple.com>
3365
3366         Move TextIndicator{Window} to WebCore
3367         https://bugs.webkit.org/show_bug.cgi?id=138954
3368         <rdar://problem/18992185>
3369
3370         Some adjustments by Csaba Osztrogonác.
3371         Reviewed by Anders Carlsson.
3372
3373         Move TextIndicator and TextIndicatorWindow to WebCore so that both
3374         WebKits can share the implementation.
3375
3376         * CMakeLists.txt:
3377         Build TextIndicator.
3378
3379         * WebCore.exp.in:
3380         Export TextIndicator{Window} symbols for the WebKits.
3381
3382         * WebCore.xcodeproj/project.pbxproj:
3383         * page/TextIndicator.cpp: Renamed from Source/WebKit2/Shared/TextIndicator.cpp.
3384         * page/TextIndicator.h: Renamed from Source/WebKit2/Shared/TextIndicator.h.
3385         Straighforward move of TextIndicator from WebKit2, except:
3386
3387         Move TextIndicator::Data and TextIndicator::PresentationTransition out directly
3388         into the WebCore namespace to allow for implementation of WebKit2 argument coders.
3389
3390         Use Image instead of ShareableBitmap internally.
3391
3392         Move the TextIndicatorData encode/decode to WebCoreArgumentCoders.
3393         
3394         * page/mac/TextIndicatorWindow.h: Renamed from Source/WebKit2/UIProcess/mac/TextIndicatorWindow.h.
3395         * page/mac/TextIndicatorWindow.mm: Renamed from Source/WebKit2/UIProcess/mac/TextIndicatorWindow.mm.
3396         Straighforward move of TextIndicatorWindow from WebKit2.
3397
3398 2014-11-21  Anders Carlsson  <andersca@apple.com>
3399
3400         Remove the Timer parameters from timer callbacks
3401         https://bugs.webkit.org/show_bug.cgi?id=138974
3402
3403         Reviewed by Antti Koivisto.
3404
3405         * Modules/encryptedmedia/MediaKeySession.cpp:
3406         (WebCore::MediaKeySession::MediaKeySession):
3407         (WebCore::MediaKeySession::keyRequestTimerFired):
3408         (WebCore::MediaKeySession::addKeyTimerFired):
3409         * Modules/encryptedmedia/MediaKeySession.h:
3410         * Modules/geolocation/Geolocation.cpp:
3411         (WebCore::Geolocation::GeoNotifier::GeoNotifier):
3412         (WebCore::Geolocation::GeoNotifier::timerFired):
3413         (WebCore::Geolocation::Geolocation):
3414         (WebCore::Geolocation::resumeTimerFired):
3415         * Modules/geolocation/Geolocation.h:
3416         * Modules/indexeddb/IDBTransactionBackend.cpp:
3417         (WebCore::IDBTransactionBackend::IDBTransactionBackend):
3418         (WebCore::IDBTransactionBackend::taskTimerFired):
3419         * Modules/indexeddb/IDBTransactionBackend.h:
3420         * Modules/mediasource/SourceBuffer.cpp:
3421         (WebCore::SourceBuffer::SourceBuffer):
3422         (WebCore::SourceBuffer::appendBufferTimerFired):
3423         (WebCore::SourceBuffer::removeTimerFired):
3424         * Modules/mediasource/SourceBuffer.h:
3425         * Modules/mediastream/MediaStream.cpp:
3426         (WebCore::MediaStream::MediaStream):
3427         (WebCore::MediaStream::scheduledEventTimerFired):
3428         * Modules/mediastream/MediaStream.h:
3429         * Modules/mediastream/RTCDTMFSender.cpp:
3430         (WebCore::RTCDTMFSender::RTCDTMFSender):
3431         (WebCore::RTCDTMFSender::scheduledEventTimerFired):
3432         * Modules/mediastream/RTCDTMFSender.h:
3433         * Modules/mediastream/RTCDataChannel.cpp:
3434         (WebCore::RTCDataChannel::RTCDataChannel):
3435         (WebCore::RTCDataChannel::scheduledEventTimerFired):
3436         * Modules/mediastream/RTCDataChannel.h:
3437         * Modules/mediastream/RTCPeerConnection.cpp:
3438         (WebCore::RTCPeerConnection::RTCPeerConnection):
3439         (WebCore::RTCPeerConnection::scheduledEventTimerFired):
3440         * Modules/mediastream/RTCPeerConnection.h:
3441         * Modules/notifications/Notification.cpp:
3442         (WebCore::Notification::Notification):
3443         (WebCore::Notification::taskTimerFired):
3444         * Modules/notifications/Notification.h:
3445         * Modules/notifications/NotificationCenter.cpp:
3446         (WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback):
3447         (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
3448         * Modules/notifications/NotificationCenter.h:
3449         * Modules/websockets/WebSocketChannel.cpp:
3450         (WebCore::WebSocketChannel::WebSocketChannel):
3451         (WebCore::WebSocketChannel::resumeTimerFired):
3452         (WebCore::WebSocketChannel::closingTimerFired):
3453         * Modules/websockets/WebSocketChannel.h:
3454         * accessibility/AXObjectCache.cpp:
3455         (WebCore::AXObjectCache::AXObjectCache):
3456         (WebCore::AXObjectCache::notificationPostTimerFired):
3457         * accessibility/AXObjectCache.h:
3458         * bindings/js/GCController.cpp:
3459         (WebCore::GCController::GCController):
3460         (WebCore::GCController::gcTimerFired):
3461         * bindings/js/GCController.h:
3462         * css/CSSFontFaceSource.h:
3463         * css/CSSFontSelector.cpp:
3464         (WebCore::CSSFontSelector::CSSFontSelector):
3465         (WebCore::CSSFontSelector::beginLoadTimerFired):
3466         * css/CSSFontSelector.h:
3467         * css/CSSImageGeneratorValue.cpp:
3468         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
3469         * css/StyleResolver.cpp:
3470         (WebCore::StyleResolver::StyleResolver):
3471         (WebCore::StyleResolver::sweepMatchedPropertiesCache):
3472         * css/StyleResolver.h:
3473         * dom/Document.cpp:
3474         (WebCore::Document::Document):
3475         (WebCore::Document::visualUpdatesSuppressionTimerFired):
3476         (WebCore::Document::styleRecalcTimerFired):
3477         (WebCore::Document::optimizedStyleSheetUpdateTimerFired):
3478         (WebCore::Document::sharedObjectPoolClearTimerFired):
3479         (WebCore::Document::updateFocusAppearanceTimerFired):
3480         (WebCore::Document::pendingTasksTimerFired):
3481         (WebCore::Document::webkitWillEnterFullScreenForElement):
3482         (WebCore::Document::webkitDidExitFullScreenForElement):
3483         (WebCore::Document::fullScreenChangeDelayTimerFired):
3484         (WebCore::Document::loadEventDelayTimerFired):
3485         (WebCore::Document::didAssociateFormControlsTimerFired):
3486         (WebCore::Document::domCookieCacheExpiryTimerFired):
3487         * dom/Document.h:
3488         * dom/EventSender.h:
3489         (WebCore::EventSender::timerFired):
3490         (WebCore::EventSender<T>::EventSender):
3491         * dom/ScriptRunner.cpp:
3492         (WebCore::ScriptRunner::ScriptRunner):
3493         (WebCore::ScriptRunner::timerFired):
3494         * dom/ScriptRunner.h:
3495         * dom/ScriptedAnimationController.cpp:
3496         (WebCore::ScriptedAnimationController::ScriptedAnimationController):
3497         (WebCore::ScriptedAnimationController::animationTimerFired):
3498         * dom/ScriptedAnimationController.h:
3499         * dom/StyledElement.cpp:
3500         (WebCore::PresentationAttributeCacheCleaner::PresentationAttributeCacheCleaner):
3501         (WebCore::PresentationAttributeCacheCleaner::cleanCache):
3502         * editing/AlternativeTextController.cpp:
3503         (WebCore::AlternativeTextController::AlternativeTextController):
3504         (WebCore::AlternativeTextController::timerFired):
3505         * editing/AlternativeTextController.h:
3506         * editing/Editor.cpp:
3507         (WebCore::Editor::Editor):
3508         (WebCore::Editor::updateEditorUINowIfScheduled):
3509         (WebCore::Editor::editorUIUpdateTimerFired):
3510         (WebCore::Editor::scanSelectionForTelephoneNumbers): Deleted.
3511         * editing/Editor.h:
3512         * editing/FrameSelection.cpp:
3513         (WebCore::FrameSelection::FrameSelection):
3514         (WebCore::FrameSelection::caretBlinkTimerFired):
3515         * editing/FrameSelection.h:
3516         * editing/SpellChecker.cpp:
3517         (WebCore::SpellChecker::SpellChecker):
3518         (WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
3519         * editing/SpellChecker.h:
3520         * html/HTMLFormElement.cpp:
3521         (WebCore::HTMLFormElement::HTMLFormElement):
3522         (WebCore::HTMLFormElement::requestAutocompleteTimerFired):
3523         * html/HTMLFormElement.h:
3524         * html/HTMLMediaElement.cpp:
3525         (WebCore::HTMLMediaElement::HTMLMediaElement):
3526         (WebCore::HTMLMediaElement::parseAttribute):
3527         * html/HTMLMediaElement.h:
3528         * html/HTMLPlugInElement.cpp:
3529         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
3530         (WebCore::HTMLPlugInElement::swapRendererTimerFired):
3531         * html/HTMLPlugInElement.h:
3532         * html/HTMLPlugInImageElement.cpp:
3533         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
3534         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
3535         * html/HTMLPlugInImageElement.h:
3536         * html/HTMLSourceElement.cpp:
3537         (WebCore::HTMLSourceElement::HTMLSourceElement):
3538         (WebCore::HTMLSourceElement::errorEventTimerFired):
3539         * html/HTMLSourceElement.h:
3540         * html/HTMLTrackElement.cpp:
3541         (WebCore::HTMLTrackElement::HTMLTrackElement):
3542         (WebCore::HTMLTrackElement::loadTimerFired):
3543         * html/HTMLTrackElement.h:
3544         * html/MediaController.cpp:
3545         (MediaController::MediaController):
3546         (MediaController::asyncEventTimerFired):
3547         (MediaController::clearPositionTimerFired):
3548         (MediaController::timeupdateTimerFired):
3549         * html/MediaController.h:
3550         * html/MediaDocument.cpp:
3551         (WebCore::MediaDocument::MediaDocument):
3552         (WebCore::MediaDocument::replaceMediaElementTimerFired):
3553         * html/MediaDocument.h:
3554         * html/SearchInputType.cpp:
3555         (WebCore::SearchInputType::SearchInputType):
3556         (WebCore::SearchInputType::searchEventTimerFired):
3557         * html/SearchInputType.h:
3558         * html/ValidationMessage.cpp:
3559         (WebCore::ValidationMessage::setMessage):
3560         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
3561         (WebCore::ValidationMessage::buildBubbleTree):
3562         (WebCore::ValidationMessage::requestToHideMessage):
3563         (WebCore::ValidationMessage::deleteBubbleTree):
3564         * html/ValidationMessage.h:
3565         * html/canvas/WebGLRenderingContext.cpp:
3566         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
3567         (WebCore::WebGLRenderingContext::dispatchContextLostEvent):
3568         (WebCore::WebGLRenderingContext::maybeRestoreContext):
3569         * html/canvas/WebGLRenderingContext.h:
3570         * html/parser/HTMLParserScheduler.cpp:
3571         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
3572         (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
3573         * html/parser/HTMLParserScheduler.h:
3574         * html/shadow/MediaControlElements.cpp:
3575         (WebCore::MediaControlPanelElement::MediaControlPanelElement):
3576         (WebCore::MediaControlPanelElement::transitionTimerFired):
3577         (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement):
3578         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
3579         * html/shadow/MediaControlElements.h:
3580         * html/shadow/MediaControls.cpp:
3581         (WebCore::MediaControls::MediaControls):
3582         (WebCore::MediaControls::hideFullscreenControlsTimerFired):
3583         * html/shadow/MediaControls.h:
3584         * html/shadow/SpinButtonElement.cpp:
3585         (WebCore::SpinButtonElement::SpinButtonElement):
3586         (WebCore::SpinButtonElement::repeatingTimerFired):
3587         * html/shadow/SpinButtonElement.h:
3588         * html/track/LoadableTextTrack.cpp:
3589         (WebCore::LoadableTextTrack::LoadableTextTrack):
3590         (WebCore::LoadableTextTrack::loadTimerFired):
3591         * html/track/LoadableTextTrack.h:
3592         * html/track/VTTRegion.cpp:
3593         (WebCore::VTTRegion::VTTRegion):
3594         (WebCore::VTTRegion::scrollTimerFired):
3595         * html/track/VTTRegion.h:
3596         * inspector/InspectorCSSAgent.cpp:
3597         (WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask):
3598         (WebCore::ChangeRegionOversetTask::timerFired):
3599         * inspector/InspectorDOMAgent.cpp:
3600         (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
3601         (WebCore::RevalidateStyleAttributeTask::timerFired):
3602         * inspector/InspectorFrontendClientLocal.cpp:
3603         (WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
3604         (WebCore::InspectorBackendDispatchTask::timerFired):
3605         * inspector/InspectorOverlay.cpp:
3606         (WebCore::InspectorOverlay::InspectorOverlay):
3607         (WebCore::InspectorOverlay::updatePaintRectsTimerFired):
3608         * inspector/InspectorOverlay.h:
3609         * loader/DocumentLoader.cpp:
3610         (WebCore::DocumentLoader::DocumentLoader):
3611         (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
3612         (WebCore::DocumentLoader::handleSubstituteDataLoadSoon):
3613         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
3614         * loader/DocumentLoader.h:
3615         * loader/FrameLoader.cpp:
3616         (WebCore::FrameLoader::FrameLoader):
3617         (WebCore::FrameLoader::checkTimerFired):
3618         * loader/FrameLoader.h:
3619         * loader/ImageLoader.cpp:
3620         (WebCore::ImageLoader::ImageLoader):
3621         (WebCore::ImageLoader::timerFired):
3622         * loader/ImageLoader.h:
3623         * loader/LinkLoader.cpp:
3624         (WebCore::LinkLoader::LinkLoader):
3625         (WebCore::LinkLoader::linkLoadTimerFired):
3626         (WebCore::LinkLoader::linkLoadingErrorTimerFired):
3627         * loader/LinkLoader.h:
3628         * loader/NavigationScheduler.cpp:
3629         (WebCore::NavigationScheduler::NavigationScheduler):
3630         (WebCore::NavigationScheduler::timerFired):
3631         * loader/NavigationScheduler.h:
3632         * loader/PingLoader.cpp:
3633         (WebCore::PingLoader::PingLoader):
3634         * loader/PingLoader.h:
3635         (WebCore::PingLoader::timeoutTimerFired):
3636         * loader/ProgressTracker.cpp:
3637         (WebCore::ProgressTracker::ProgressTracker):
3638         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
3639         * loader/ProgressTracker.h:
3640         * loader/ResourceLoadScheduler.cpp:
3641         (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
3642         (WebCore::ResourceLoadScheduler::requestTimerFired):
3643         * loader/ResourceLoadScheduler.h:
3644         * loader/TextTrackLoader.cpp:
3645         (WebCore::TextTrackLoader::TextTrackLoader):
3646         (WebCore::TextTrackLoader::cueLoadTimerFired):
3647         * loader/TextTrackLoader.h:
3648         * loader/cache/CachedResource.cpp:
3649         (WebCore::CachedResource::CachedResource):
3650         (WebCore::CachedResource::Callback::Callback):
3651         (WebCore::CachedResource::Callback::timerFired):
3652         * loader/cache/CachedResource.h:
3653         * loader/cache/CachedResourceLoader.cpp:
3654         (WebCore::CachedResourceLoader::CachedResourceLoader):
3655         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
3656         * loader/cache/CachedResourceLoader.h:
3657         * loader/icon/IconDatabase.cpp:
3658         (WebCore::IconDatabase::IconDatabase):
3659         (WebCore::IconDatabase::syncTimerFired):
3660         * loader/icon/IconDatabase.h:
3661         * page/AutoscrollController.cpp:
3662         (WebCore::AutoscrollController::AutoscrollController):
3663         (WebCore::AutoscrollController::autoscrollTimerFired):
3664         * page/AutoscrollController.h:
3665         * page/CaptionUserPreferences.cpp:
3666         (WebCore::CaptionUserPreferences::CaptionUserPreferences):
3667         (WebCore::CaptionUserPreferences::timerFired):
3668         * page/CaptionUserPreferences.h:
3669         * page/CaptionUserPreferencesMediaAF.cpp:
3670         (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
3671         (WebCore::CaptionUserPreferencesMediaAF::updateTimerFired):
3672         * page/CaptionUserPreferencesMediaAF.h:
3673         * page/DeviceController.cpp:
3674         (WebCore::DeviceController::DeviceController):
3675         (WebCore::DeviceController::fireDeviceEvent):
3676         * page/DeviceController.h:
3677         * page/EventHandler.cpp:
3678         (WebCore::EventHandler::EventHandler):
3679         (WebCore::EventHandler::cursorUpdateTimerFired):
3680         (WebCore::EventHandler::autoHideCursorTimerFired):
3681         (WebCore::EventHandler::recognizeLongMousePress):
3682         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
3683         (WebCore::EventHandler::hoverTimerFired):
3684         * page/EventHandler.h:
3685         * page/EventSource.cpp:
3686         (WebCore::EventSource::EventSource):
3687         (WebCore::EventSource::connectTimerFired):
3688         * page/EventSource.h:
3689         * page/FocusController.cpp:
3690         (WebCore::FocusController::FocusController):
3691         (WebCore::FocusController::focusRepaintTimerFired):
3692         * page/FocusController.h:
3693         * page/Frame.cpp:
3694         (WebCore::Frame::Frame):
3695         (WebCore::Frame::overflowAutoScrollTimerFired):
3696         * page/Frame.h:
3697         * page/FrameView.cpp:
3698         (WebCore::FrameView::FrameView):
3699         (WebCore::FrameView::delayedScrollEventTimerFired):
3700         (WebCore::FrameView::speculativeTilingEnableTimerFired):
3701         (WebCore::FrameView::layoutTimerFired):
3702         (WebCore::FrameView::updateEmbeddedObjectsTimerFired):
3703         (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
3704         (WebCore::FrameView::postLayoutTimerFired):
3705         * page/FrameView.h:
3706         * page/PageOverlay.cpp:
3707         (WebCore::PageOverlay::PageOverlay):
3708         (WebCore::PageOverlay::fadeAnimationTimerFired):
3709         * page/PageOverlay.h:
3710         * page/Settings.cpp:
3711         (WebCore::Settings::Settings):
3712         (WebCore::Settings::imageLoadingSettingsTimerFired):
3713         * page/Settings.h:
3714         * page/animation/AnimationController.cpp:
3715         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
3716         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
3717         (WebCore::AnimationControllerPrivate::animationTimerFired):
3718         * page/animation/AnimationControllerPrivate.h:
3719         * page/mac/ServicesOverlayController.h:
3720         * page/mac/ServicesOverlayController.mm:
3721         (WebCore::ServicesOverlayController::ServicesOverlayController):
3722         (WebCore::ServicesOverlayController::determineActiveHighlightTimerFired):
3723         * page/scrolling/AsyncScrollingCoordinator.cpp:
3724         (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
3725         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
3726         * page/scrolling/AsyncScrollingCoordinator.h:
3727         * page/scrolling/ios/ScrollingCoordinatorIOS.h:
3728         * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
3729         (WebCore::ScrollingCoordinatorIOS::ScrollingCoordinatorIOS):
3730         (WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired):
3731         * page/scrolling/mac/ScrollingCoordinatorMac.h:
3732         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3733         (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
3734         (WebCore::ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired):
3735         * platform/HysteresisActivity.h:
3736         (WebCore::HysteresisActivity::HysteresisActivity):
3737         (WebCore::HysteresisActivity::hysteresisTimerFired):
3738         * platform/ScrollAnimator.cpp:
3739         (WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers):
3740         (WebCore::ScrollAnimator::horizontalScrollSnapTimerFired):
3741         (WebCore::ScrollAnimator::verticalScrollSnapTimerFired):
3742         * platform/ScrollAnimator.h:
3743         * platform/Scrollbar.cpp:
3744         (WebCore::Scrollbar::Scrollbar):
3745         (WebCore::Scrollbar::autoscrollTimerFired):
3746         * platform/Scrollbar.h:
3747         * platform/Timer.h:
3748         (WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer):
3749         (WebCore::Timer::Timer): Deleted.
3750         * platform/audio/MediaSession.cpp:
3751         (WebCore::MediaSession::MediaSession):
3752         (WebCore::MediaSession::clientDataBufferingTimerFired):
3753         * platform/audio/MediaSession.h:
3754         * platform/graphics/BitmapImage.cpp:
3755         (WebCore::BitmapImage::startAnimation):
3756         (WebCore::BitmapImage::advanceAnimation):
3757         * platform/graphics/BitmapImage.h:
3758         * platform/graphics/MediaPlayer.cpp:
3759         (WebCore::MediaPlayer::MediaPlayer):
3760         (WebCore::MediaPlayer::reloadTimerFired):
3761         * platform/graphics/MediaPlayer.h:
3762         * platform/graphics/ShadowBlur.cpp:
3763         (WebCore::ScratchBuffer::ScratchBuffer):
3764         (WebCore::ScratchBuffer::timerFired):
3765         * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:
3766         * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:
3767         (WebCore::MediaSelectionGroupAVFObjC::MediaSelectionGroupAVFObjC):
3768         (WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired):
3769         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
3770         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3771         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
3772         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekTimerFired):
3773         * platform/graphics/ca/LayerPool.cpp:
3774         (WebCore::LayerPool::LayerPool):
3775         (WebCore::LayerPool::pruneTimerFired):
3776         * platform/graphics/ca/LayerPool.h:
3777         * platform/graphics/ca/TileController.cpp:
3778         (WebCore::TileController::TileController):
3779         (WebCore::TileController::tileRevalidationTimerFired):
3780         * platform/graphics/ca/TileController.h:
3781         * platform/graphics/ca/TileGrid.cpp:
3782         (WebCore::TileGrid::TileGrid):
3783         (WebCore::TileGrid::cohortRemovalTimerFired):
3784         * platform/graphics/ca/TileGrid.h:
3785         * platform/graphics/cg/IOSurfacePool.cpp:
3786         (WebCore::IOSurfacePool::IOSurfacePool):
3787         (WebCore::IOSurfacePool::collectionTimerFired):
3788         * platform/graphics/cg/IOSurfacePool.h:
3789         * platform/graphics/cg/SubimageCacheWithTimer.cpp:
3790         (WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer):
3791         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3792         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3793         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
3794         (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
3795         * platform/ios/LegacyTileCache.h:
3796         * platform/ios/LegacyTileCache.mm:
3797         (WebCore::LegacyTileCache::LegacyTileCache):
3798         (WebCore::LegacyTileCache::tileCreationTimerFired):
3799         * platform/mac/HIDGamepadProvider.cpp:
3800         (WebCore::HIDGamepadProvider::HIDGamepadProvider):
3801         (WebCore::HIDGamepadProvider::connectionDelayTimerFired):
3802         (WebCore::HIDGamepadProvider::inputNotificationTimerFired):
3803         * platform/mac/HIDGamepadProvider.h:
3804         * platform/mac/ScrollAnimatorMac.h:
3805         * platform/mac/ScrollAnimatorMac.mm:
3806         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3807         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
3808         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
3809         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
3810         * platform/mock/DeviceOrientationClientMock.cpp:
3811         (WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
3812         (WebCore::DeviceOrientationClientMock::timerFired):
3813         * platform/mock/DeviceOrientationClientMock.h:
3814         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
3815         (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
3816         (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
3817         * platform/mock/PlatformSpeechSynthesizerMock.h:
3818         * platform/network/DNSResolveQueue.cpp:
3819         (WebCore::DNSResolveQueue::DNSResolveQueue):
3820         (WebCore::DNSResolveQueue::timerFired):
3821         * platform/network/DNSResolveQueue.h:
3822         * platform/network/NetworkStateNotifier.h:
3823         * platform/network/ResourceHandle.cpp:
3824         (WebCore::ResourceHandle::failureTimerFired):
3825         * platform/network/ResourceHandle.h:
3826         * platform/network/ResourceHandleInternal.h:
3827         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3828         * platform/network/mac/NetworkStateNotifierMac.cpp:
3829         (WebCore::NetworkStateNotifier::networkStateChangeTimerFired):
3830         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
3831         * rendering/ImageQualityController.cpp:
3832         (WebCore::ImageQualityController::ImageQualityController):
3833         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
3834         * rendering/ImageQualityController.h:
3835         * rendering/RenderButton.cpp:
3836         (WebCore::RenderButton::styleDidChange):
3837         (WebCore::RenderButton::timerFired):
3838         * rendering/RenderButton.h:
3839         * rendering/RenderLayerCompositor.cpp:
3840         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
3841         (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
3842         (WebCore::RenderLayerCompositor::layerFlushTimerFired):
3843         (WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):
3844         * rendering/RenderLayerCompositor.h:
3845         * rendering/RenderMarquee.cpp:
3846         (WebCore::RenderMarquee::RenderMarquee):
3847         (WebCore::RenderMarquee::timerFired):
3848         * rendering/RenderMarquee.h:
3849         * rendering/RenderNamedFlowThread.cpp:
3850         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
3851         (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
3852         * rendering/RenderNamedFlowThread.h:
3853         * rendering/RenderProgress.cpp:
3854         (WebCore::RenderProgress::RenderProgress):
3855         (WebCore::RenderProgress::animationTimerFired):
3856         * rendering/RenderProgress.h:
3857         * rendering/RenderView.cpp:
3858         (WebCore::RenderView::RenderView):
3859         (WebCore::RenderView::lazyRepaintTimerFired):
3860         * rendering/RenderView.h:
3861         * replay/EventLoopInputDispatcher.cpp:
3862         (WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher):
3863         (WebCore::EventLoopInputDispatcher::timerFired):
3864         * replay/EventLoopInputDispatcher.h:
3865         * storage/StorageAreaImpl.cpp:
3866         (WebCore::StorageAreaImpl::StorageAreaImpl):
3867         (WebCore::StorageAreaImpl::closeDatabaseTimerFired):
3868         (WebCore::StorageAreaImpl::closeDatabaseIfIdle):
3869         * storage/StorageAreaImpl.h:
3870         * storage/StorageAreaSync.cpp:
3871         (WebCore::StorageAreaSync::StorageAreaSync):
3872         (WebCore::StorageAreaSync::scheduleFinalSync):
3873         (WebCore::StorageAreaSync::syncTimerFired):
3874         (WebCore::StorageAreaSync::scheduleSync):
3875         * storage/StorageAreaSync.h:
3876         * svg/SVGElement.cpp:
3877         (WebCore::SVGElement::svgLoadEventTimerFired):
3878         * svg/SVGElement.h:
3879         * svg/SVGScriptElement.cpp:
3880         (WebCore::SVGScriptElement::SVGScriptElement):
3881         * svg/SVGStyleElement.cpp:
3882         (WebCore::SVGStyleElement::SVGStyleElement):
3883         * svg/SVGUseElement.cpp:
3884         (WebCore::SVGUseElement::SVGUseElement):
3885         * svg/animation/SMILTimeContainer.cpp:
3886         (WebCore::SMILTimeContainer::SMILTimeContainer):
3887         (WebCore::SMILTimeContainer::timerFired):
3888         * svg/animation/SMILTimeContainer.h:
3889         * xml/XMLHttpRequestProgressEventThrottle.cpp:
3890         (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
3891         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
3892         * xml/XMLHttpRequestProgressEventThrottle.h:
3893
3894 2014-11-21  Chris Dumez  <cdumez@apple.com>
3895
3896         Crash when setting 'transition-delay' CSS property to a calculated value
3897         https://bugs.webkit.org/show_bug.cgi?id=138784
3898
3899         Reviewed by Sam Weinig.
3900
3901         Update CSSPrimitiveValue::computeTime() to use primitiveType() instead
3902         of m_primitiveUnitType so that it properly handles calculated values.
3903         Without this, we would hit the ASSERT_NOT_REACHED() assertion in
3904         computeTime() for calculated values.
3905
3906         Test: fast/css/transition-delay-calculated-value.html
3907
3908         * css/CSSPrimitiveValue.h:
3909         (WebCore::CSSPrimitiveValue::computeTime):
3910
3911 2014-11-21  Chris Dumez  <cdumez@apple.com>
3912
3913         Regression(r175381): -webkit-mask-box-image is broken
3914         https://bugs.webkit.org/show_bug.cgi?id=138969
3915         <rdar://problem/19054471>
3916
3917         Reviewed by Simon Fraser.
3918
3919         After r175381, the StyleBuilder would call NinePieceImage::setMaskDefaults()
3920         *after* calling CSSToStyleMap::mapNinePieceImage(), instead of *before*, for
3921         -webkit-mask-box-image CSS property. This was causing the mask defaults to
3922         overwrite what was set by mapNinePieceImage().
3923
3924         Test: fast/css/webkit-mask-box-image.html
3925
3926         * css/StyleBuilderConverter.h:
3927         (WebCore::StyleBuilderConverter::convertBorderMask):
3928
3929 2014-11-21  Chris Dumez  <cdumez@apple.com>
3930
3931         Crash when setting 'font' CSS property to 'calc(2 * 3)'
3932         https://bugs.webkit.org/show_bug.cgi?id=138933
3933
3934         Reviewed by Darin Adler.
3935
3936         The CSS Parser was not handling calculated values when parsing the font
3937         weight. This would lead us to hit an assertion when parsing a font
3938         property whose weight is set to a calculated value.
3939
3940         This patch updates parseFontWeight() to properly handle calculated
3941         values.
3942
3943         Test: fast/css/font-calculated-value.html
3944
3945         * css/CSSParser.cpp:
3946         (WebCore::CSSParser::parseFontWeight):
3947
3948 2014-11-21  Bear Travis  <betravis@gmail.com>
3949
3950         [CSS Font Loading] Switch to dispatching events asynchronously
3951         https://bugs.webkit.org/show_bug.cgi?id=138755
3952
3953         Reviewed by Simon Fraser.
3954
3955         Moving FontLoader to dispatch events and notify callbacks similarly
3956         to EventSender or the GenericEventQueue. Several bugs have popped
3957         up in the past because FontLoader has been sending events during
3958         layout, and there is no need for that to be the case.
3959
3960         Covered by existing font loader event tests. Added an additional
3961         test for the svg case, fontloader-svg-select.
3962
3963         * css/FontLoader.cpp:
3964         (WebCore::FontLoader::didLayout):
3965         (WebCore::FontLoader::timerFired): Adding asynchronous callback.
3966         (WebCore::FontLoader::scheduleEvent): Add an event to the dispatch
3967         queue.
3968         (WebCore::FontLoader::firePendingEvents): Modified to handle the
3969         loading done event and callbacks.
3970         (WebCore::FontLoader::loadingDone): Modified to spin up the timer
3971         rather than immediately dispatching events.
3972         * css/FontLoader.h:
3973
3974 2014-11-21  Daniel Bates  <dabates@apple.com>
3975
3976         Attempt to fix the internal Apple Mavericks build after <https://trac.webkit.org/changeset/176448>
3977         (https://bugs.webkit.org/show_bug.cgi?id=138930)
3978
3979         Declare NSCachedURLResponse SPI when building without the Apple Internal SDK and with the Apple
3980         Internal SDK when building for OS X Mavericks or earlier.
3981
3982         * platform/spi/cf/CFNetworkSPI.h:
3983
3984 2014-11-21  Anders Carlsson  <andersca@apple.com>
3985
3986         Make memoryCache() return a reference
3987         https://bugs.webkit.org/show_bug.cgi?id=138939
3988
3989         Reviewed by Antti Koivisto.
3990
3991         * inspector/InspectorPageAgent.cpp:
3992         (WebCore::InspectorPageAgent::cachedResource):
3993         * inspector/InspectorResourceAgent.cpp:
3994         (WebCore::InspectorResourceAgent::replayXHR):
3995         (WebCore::InspectorResourceAgent::setCacheDisabled):
3996         (WebCore::InspectorResourceAgent::mainFrameNavigated):
3997         * loader/DocumentLoader.cpp:
3998         (WebCore::areAllLoadersPageCacheAcceptable):
3999         (WebCore::DocumentLoader::finishedLoading):
4000         (WebCore::DocumentLoader::responseReceived):
4001         * loader/FrameLoader.cpp:
4002         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
4003         * loader/SubresourceLoader.cpp:
4004         (WebCore::SubresourceLoader::willSendRequest):
4005         (WebCore::SubresourceLoader::didReceiveResponse):
4006         (WebCore::SubresourceLoader::didFail):
4007         (WebCore::SubresourceLoader::willCancel):
4008         * loader/archive/cf/LegacyWebArchive.cpp:
4009         (WebCore::LegacyWebArchive::create):
4010         * loader/cache/CachedImage.cpp:
4011         (WebCore::CachedImage::addIncrementalDataBuffer):
4012         (WebCore::CachedImage::finishLoading):
4013         * loader/cache/CachedResource.cpp:
4014         (WebCore::deadDecodedDataDeletionIntervalForResourceType):
4015         (WebCore::CachedResource::~CachedResource):
4016         (WebCore::CachedResource::failBeforeStarting):
4017         (WebCore::CachedResource::addClientToSet):
4018         (WebCore::CachedResource::removeClient):
4019         (WebCore::CachedResource::destroyDecodedDataIfNeeded):
4020         (WebCore::CachedResource::setDecodedSize):
4021         (WebCore::CachedResource::setEncodedSize):
4022         (WebCore::CachedResource::didAccessDecodedData):
4023         * loader/cache/CachedResourceLoader.cpp:
4024         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
4025         (WebCore::CachedResourceLoader::requestResource):
4026         (WebCore::CachedResourceLoader::revalidateResource):
4027         (WebCore::CachedResourceLoader::loadResource):
4028         (WebCore::CachedResourceLoader::clearPreloads):
4029         (WebCore::CachedResourceLoader::printPreloadStats):
4030         * loader/cache/MemoryCache.cpp:
4031         (WebCore::memoryCache):
4032         (WebCore::MemoryCache::removeRequestFromCache):
4033         (WebCore::MemoryCache::removeRequestFromSessionCaches):
4034         * loader/cache/MemoryCache.h:
4035         * loader/cocoa/DiskCacheMonitorCocoa.mm:
4036         (WebCore::DiskCacheMonitor::resourceBecameFileBacked):
4037         * page/FrameView.cpp:
4038         (WebCore::FrameView::willPaintContents):
4039         (WebCore::FrameView::didPaintContents):
4040         * platform/MemoryPressureHandler.cpp:
4041         (WebCore::MemoryPressureHandler::releaseCriticalMemory):
4042         * testing/Internals.cpp:
4043         (WebCore::Internals::isLoadingFromMemoryCache):
4044
4045 2014-11-21  Daniel Bates  <dabates@apple.com>
4046
4047         [iOS] WebKit2 fails to build with public SDK due to missing SPI from CFNetwork, QuartzCore, MediaPlayer, XPC
4048         https://bugs.webkit.org/show_bug.cgi?id=138930
4049
4050         Reviewed by Anders Carlsson.
4051
4052         * WebCore.xcodeproj/project.pbxproj: Rename header MPAVRoutingControllerSPI.h to MediaPlayerSPI.h.
4053         * loader/cocoa/SubresourceLoaderCocoa.mm: Move NSCachedURLResponse forward declarations to file
4054         CFNetworkSPI.h and include header CFNetworkSPI.h.
4055         * loader/mac/ResourceLoaderMac.mm: Ditto.
4056        &nb