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