452283c7a2f9afd795f96edd9e1fd4af77ca9f83
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-12-02  Eric Carlson  <eric.carlson@apple.com>
2
3         Unreviewed, fix typo introduced in r176673.
4
5         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
6         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
7
8 2014-12-02  Beth Dakin  <bdakin@apple.com>
9
10         Should use standardQuickLookMenuItem for apps that don't implement customizations
11         https://bugs.webkit.org/show_bug.cgi?id=139193
12         -and corresponding-
13         rdar://problem/18944696
14
15         Reviewed by Anders Carlsson.
16
17         New SPI headers.
18         * WebCore.xcodeproj/project.pbxproj:
19         * platform/spi/mac/NSMenuSPI.h: Added.
20         * platform/spi/mac/QuickLookMacSPI.h: Added.
21
22 2014-12-02  Gavin Barraclough  <barraclough@apple.com>
23
24         Generalize PageActivityAssertionToken
25         https://bugs.webkit.org/show_bug.cgi?id=139106
26
27         Reviewed by Sam Weinig.
28
29         PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
30         to count user visible activity in progress on the page (currently page load and media playback).
31         Use of an RAII type is prevents a number of possible errors, including double counting a single
32         media element, or failing to decrement the count after a media element has been deallocated.
33
34         The current implementation has a number of drawbacks that have been addressed by this refactoring:
35          - specific to single use in PageThrottler class - not reusable.
36          - incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation
37            are not encapsulated (are in the client type, PageThrottler).
38          - tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every
39            increment requires an object allocation.
40          - redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this
41            is internally implemented using a reference counted type, resulting in two counters being
42            incremented (one in the PageActivityAssertionToken, one in the PageThrottler).
43
44         In the reimplementation:
45          - a callback is provided via a lambda function, which allows for easy reuse without a lot of
46            boilerplate code.
47          - the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the
48            RefCounter type.
49          - a single count within RefCounter::Count stores the counter value, and also manage the lifetime
50            of this object.
51          - standard RefPtrs are used to manage references to the RefCounter::Count.
52
53         * WebCore.xcodeproj/project.pbxproj:
54             - removed PageActivityAssertionToken.cpp/.h
55         * html/HTMLMediaElement.cpp:
56             - removed PageActivityAssertionToken.h
57         * html/HTMLMediaElement.h:
58             - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
59         * loader/FrameLoader.cpp:
60             - removed PageActivityAssertionToken.h
61         * loader/FrameLoader.h:
62             - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
63         * loader/SubresourceLoader.cpp:
64             - removed PageActivityAssertionToken.h
65         * loader/SubresourceLoader.h:
66             - removed class PageActivityAssertionToken
67         * page/Page.cpp:
68             - removed PageActivityAssertionToken.h
69         (WebCore::Page::Page):
70             - removed Page* parameter to PageThrottler
71         * page/Page.h:
72             - removed class PageActivityAssertionToken
73         * page/PageActivityAssertionToken.cpp: Removed.
74         * page/PageActivityAssertionToken.h: Removed.
75             - removed PageActivityAssertionToken.cpp/.h
76         * page/PageThrottler.cpp:
77         (WebCore::PageThrottler::PageThrottler):
78             - removed m_page, m_weakPtrFactory, m_activityCount; added m_pageActivityCounter.
79         (WebCore::PageThrottler::mediaActivityToken):
80             - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
81         (WebCore::PageThrottler::pageLoadActivityToken):
82             - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
83         (WebCore::PageThrottler::pageActivityCounterValueDidChange):
84             - merged functionality of incrementActivityCount/decrementActivityCount
85         (WebCore::PageThrottler::incrementActivityCount): Deleted.
86             - see pageActivityCounterValueDidChange
87         (WebCore::PageThrottler::decrementActivityCount): Deleted.
88             - see pageActivityCounterValueDidChange
89         * page/PageThrottler.h:
90         (WebCore::PageThrottler::weakPtr): Deleted.
91             - no longer required; this functionality is now encapsulated within RefCounter.
92
93 2014-12-02  Tim Horton  <timothy_horton@apple.com>
94
95         Always show the arrow for text selection services
96         https://bugs.webkit.org/show_bug.cgi?id=139191
97         <rdar://problem/18903995>
98
99         Reviewed by Anders Carlsson.
100
101         * platform/spi/mac/DataDetectorsSPI.h:
102         * page/mac/ServicesOverlayController.mm:
103         Move a few things to DataDetectorsSPI.h.
104
105         (WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
106         (WebCore::ServicesOverlayController::buildSelectionHighlight):
107         Make use of the real DDHighlightStyle names.
108         Add DDHighlightStyleButtonShowAlways for selection services.
109
110 2014-12-02  Anders Carlsson  <andersca@apple.com>
111
112         Fix iOS build.
113
114         * WebCore.exp.in:
115
116 2014-12-02  Chris Dumez  <cdumez@apple.com>
117
118         Crash when setting 'flex' CSS property to 'calc(2 * 3) calc(2 * 3)'
119         https://bugs.webkit.org/show_bug.cgi?id=139162
120
121         Reviewed by Darin Adler.
122
123         Add support for calculated values in 'flex' CSS property.
124         Previously, those did not work in release builds, and were hitting
125         an assertion in debug builds.
126
127         Test: fast/css/flex-calculated-value.html
128
129         * css/CSSParser.cpp:
130         (WebCore::CSSParser::validCalculationUnit):
131         Do not call RefPtr::release() as we are not interested in the return
132         value. Assign nullptr to the member instead.
133
134         (WebCore::CSSParser::parseValue):
135         (WebCore::CSSParser::parseFillPositionComponent):
136         (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
137         (WebCore::CSSParser::parseFontWeight):
138         (WebCore::CSSParser::parsedDouble):
139         (WebCore::CSSParser::colorIntFromValue):
140         (WebCore::CSSParser::parseColorParameters):
141         (WebCore::CSSParser::parseHSLParameters):
142         (WebCore::CSSParser::parseFlex):
143         * css/CSSParser.h:
144
145 2014-12-02  Eric Carlson  <eric.carlson@apple.com>
146
147         Fix logging typo
148         https://bugs.webkit.org/show_bug.cgi?id=139182
149
150         Reviewed by Alexey Proskuryakov.
151
152         No new tests, only logging code is changed.
153
154         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
155         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't use %f to log a string.
156
157 2014-12-02  Anders Carlsson  <andersca@apple.com>
158
159         Get rid of the WinINet based network implementation
160         https://bugs.webkit.org/show_bug.cgi?id=139187
161
162         Reviewed by Andreas Kling.
163
164         This code was only used by the Windows CE port. Now it's unused.
165
166         * platform/network/ResourceHandle.h:
167         * platform/network/ResourceHandleInternal.h:
168         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
169         * platform/network/win/AuthenticationChallenge.h: Removed.
170         * platform/network/win/CookieJarWin.cpp: Removed.
171         * platform/network/win/CredentialStorageWin.cpp: Removed.
172         * platform/network/win/ProxyServerWin.cpp: Removed.
173         * platform/network/win/ResourceError.h: Removed.
174         * platform/network/win/ResourceHandleWin.cpp: Removed.
175         * platform/network/win/ResourceRequest.h: Removed.
176         * platform/network/win/ResourceResponse.h: Removed.
177         * platform/network/win/SocketStreamError.h: Removed.
178         * platform/network/win/SocketStreamHandle.h: Removed.
179         * platform/network/win/SocketStreamHandleWin.cpp: Removed.
180
181 2014-12-02  Chris Dumez  <cdumez@apple.com>
182
183         Crash when setting 'column-span' CSS property to 'calc(2 * 3)'
184         https://bugs.webkit.org/show_bug.cgi?id=139170
185
186         Reviewed by Darin Adler.
187
188         Add support for calculated values for 'column-span' and 'column-width'
189         CSS properties. Previously, these were not working in release builds
190         and hitting assertions in debug builds.
191
192         Tests: fast/css/column-width-calculated-value.html
193                fast/css/webkit-column-span-calculated-value.html
194
195         * css/CSSParser.cpp:
196         (WebCore::CSSParser::parseValue):
197
198 2014-12-02  Anders Carlsson  <andersca@apple.com>
199
200         Remove visited link handling from PageGroup
201         https://bugs.webkit.org/show_bug.cgi?id=139185
202
203         Reviewed by Sam Weinig.
204
205         * CMakeLists.txt:
206         * WebCore.exp.in:
207         * WebCore.vcxproj/WebCore.vcxproj:
208         * WebCore.vcxproj/WebCore.vcxproj.filters:
209         * WebCore.xcodeproj/project.pbxproj:
210         * loader/HistoryController.cpp:
211         * page/Chrome.cpp:
212         (WebCore::ChromeClient::populateVisitedLinks): Deleted.
213         * page/ChromeClient.h:
214         * page/DefaultVisitedLinkStore.cpp: Removed.
215         * page/DefaultVisitedLinkStore.h: Removed.
216         * page/Page.cpp:
217         (WebCore::Page::Page):
218         (WebCore::Page::~Page):
219         (WebCore::Page::visitedLinkStore):
220         (WebCore::Page::setVisitedLinkStore):
221         (WebCore::Page::removeAllVisitedLinks): Deleted.
222         * page/Page.h:
223         * page/PageGroup.cpp:
224         (WebCore::PageGroup::PageGroup):
225         (WebCore::PageGroup::visitedLinkStore): Deleted.
226         (WebCore::PageGroup::isLinkVisited): Deleted.
227         (WebCore::PageGroup::addVisitedLinkHash): Deleted.
228         (WebCore::PageGroup::addVisitedLink): Deleted.
229         (WebCore::PageGroup::removeVisitedLink): Deleted.
230         (WebCore::PageGroup::removeVisitedLinks): Deleted.
231         (WebCore::PageGroup::removeAllVisitedLinks): Deleted.
232         (WebCore::PageGroup::setShouldTrackVisitedLinks): Deleted.
233         * page/PageGroup.h:
234
235 2014-12-02  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
236
237         Use references instead of pointers in EditingStyle
238         https://bugs.webkit.org/show_bug.cgi?id=137918
239
240         Reviewed by Darin Adler.
241
242         * editing/EditingStyle.cpp:
243         (WebCore::extractPropertyValue):
244         (WebCore::identifierForStyleProperty):
245         (WebCore::textColorFromStyle):
246         (WebCore::backgroundColorFromStyle):
247         (WebCore::textAlignResolvingStartAndEnd):
248         (WebCore::EditingStyle::triStateOfStyle):
249         (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
250         (WebCore::EditingStyle::prepareToApplyAt):
251         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
252         (WebCore::StyleChange::StyleChange):
253         (WebCore::setTextDecorationProperty):
254         (WebCore::StyleChange::extractTextStyles):
255         (WebCore::diffTextDecorations):
256         (WebCore::fontWeightIsBold):
257         (WebCore::extractPropertiesNotIn):
258         (WebCore::getPropertiesNotIn):
259         * editing/EditingStyle.h:
260
261 2014-12-02  Bartlomiej Gajda  <b.gajda@samsung.com>
262
263         [GStreamer] Media Source sending seek event fails.
264         https://bugs.webkit.org/show_bug.cgi?id=139181
265
266         Reviewed by Philippe Normand.
267
268         There were callbacks connected to app_src on 'seek', but if stream type is not seekable, they would never launch,
269         and seeking (as in MediaPlayerPrivateGStreamer::doSeek) fails.
270
271         No new tests needed.
272
273         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
274         (webkit_media_src_init):
275
276 2014-12-02  Chris Dumez  <cdumez@apple.com>
277
278         Move 'font-family' CSS property to the new StyleBuilder
279         https://bugs.webkit.org/show_bug.cgi?id=139172
280
281         Reviewed by Antti Koivisto.
282
283         Move 'font-family' CSS property to the new StyleBuilder by using
284         custom code.
285
286         No new tests, no behavior change.
287
288         * css/CSSPropertyNames.in:
289         * css/DeprecatedStyleBuilder.cpp:
290         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
291         (WebCore::ApplyPropertyFontFamily::applyInheritValue): Deleted.
292         (WebCore::ApplyPropertyFontFamily::applyInitialValue): Deleted.
293         (WebCore::ApplyPropertyFontFamily::applyValue): Deleted.
294         (WebCore::ApplyPropertyFontFamily::createHandler): Deleted.
295         * css/StyleBuilderCustom.h:
296         (WebCore::StyleBuilderCustom::applyInitialFontFamily):
297         (WebCore::StyleBuilderCustom::applyInheritFontFamily):
298         (WebCore::StyleBuilderCustom::applyValueFontFamily):
299
300 2014-12-02  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
301
302         Fix class was previously declared as a struct warnings
303         https://bugs.webkit.org/show_bug.cgi?id=139131
304
305         Reviewed by Csaba Osztrogonác.
306
307         No new tests needed.
308
309         * platform/graphics/texmap/TextureMapperGL.h:
310
311 2014-12-02  Sylvain Galineau  <galineau@adobe.com>
312
313         Missing support for innerHTML on SVGElement
314         https://bugs.webkit.org/show_bug.cgi?id=136903
315
316         Reviewed by Dean Jackson.
317
318         Two parts to this patch:
319         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
320         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
321
322         The latter part was ported over from Blink. 
323
324         Test: svg/in-html/svg-inner-html.html
325
326         * bindings/objc/PublicDOMInterfaces.h: Move innerHTML/outerHTML to Element.
327         * dom/Element.cpp:
328         (WebCore::Element::mergeWithNextTextNode): Helper used by Element::innerHTML/outerHTML as well as HTMLElement::innerText/outerText; moved to Element as protected static.
329         (WebCore::Element::innerHTML): Moved from HTMLElement.
330         (WebCore::Element::outerHTML): Moved from HTMLElement.
331         (WebCore::Element::setOuterHTML): Moved from HTMLElement.
332         (WebCore::Element::setInnerHTML): Moved from HTMLElement.
333         * dom/Element.h: 
334         * dom/Element.idl:
335         * html/HTMLElement.cpp:
336         (WebCore::HTMLElement::innerHTML): Deleted.
337         (WebCore::HTMLElement::outerHTML): Deleted.
338         (WebCore::HTMLElement::setInnerHTML): Deleted.
339         (WebCore::mergeWithNextTextNode): Deleted.
340         (WebCore::HTMLElement::setOuterHTML): Deleted.
341         * html/HTMLElement.h:
342         * html/HTMLElement.idl:
343         * html/parser/HTMLTreeBuilder.cpp:
344         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): no more m_contextElement.
345         (WebCore::HTMLTreeBuilder::constructTree): read namespace from adjusted current node.
346         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): use contextElementStackItem for insertion.
347         (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): compute adjusted current node.
348         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): use adjusted current node for context.
349         (WebCore::HTMLTreeBuilder::processTokenInForeignContent): use adjusted current node to read namespace.
350         * html/parser/HTMLTreeBuilder.h:
351         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Deleted. Read from contextElementStackItem.
352         (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Added.
353
354 2014-11-20  Jeffrey Pfau  <jpfau@apple.com>
355
356         Add cancelable version of willSendRequest
357         https://bugs.webkit.org/show_bug.cgi?id=138987
358
359         Reviewed by Anders Carlsson.
360
361         Covered by existing tests.
362
363         * loader/ResourceLoader.cpp:
364         (WebCore::ResourceLoader::willSendRequest):
365         * loader/ResourceLoader.h:
366
367 2014-12-01  Benjamin Poulain  <benjamin@webkit.org>
368
369         Add the dynamic specificity of the selector list argument when matching :nth-child() and :nth-last-child()
370         https://bugs.webkit.org/show_bug.cgi?id=139001
371
372         Reviewed by Andreas Kling.
373
374         When matching :nth-child(An+B of selector list) or :nth-last-child(An+B of selector list),
375         we were previously ignoring the arguments.
376
377         That behavior seems to be confusing for users. We made the proposal to include the selector list
378         like when using :matches():
379             http://lists.w3.org/Archives/Public/www-style/2014Oct/0533.html
380         David Baron also agrees with this behavior:
381             http://lists.w3.org/Archives/Public/www-style/2014Oct/0534.html
382
383         This patch adds the specificity computation.
384
385         Tests: fast/css/nth-child-specificity-1.html
386                fast/css/nth-child-specificity-2.html
387                fast/css/nth-last-child-specificity-1.html
388                fast/css/nth-last-child-specificity-2.html
389
390         * css/CSSSelector.cpp:
391         (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
392         * css/SelectorChecker.cpp:
393         (WebCore::SelectorChecker::checkOne):
394         (WebCore::SelectorChecker::matchSelectorList):
395         * css/SelectorChecker.h:
396         * cssjit/SelectorCompiler.cpp:
397         (WebCore::SelectorCompiler::addPseudoClassType):
398
399 2014-12-01  Chris Dumez  <cdumez@apple.com>
400
401         Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' to the new StyleBuilder
402         https://bugs.webkit.org/show_bug.cgi?id=138938
403
404         Reviewed by Sam Weinig.
405
406         Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' CSS properties
407         from StyleResolver to the new StyleBuilder by using custom code.
408
409         No new tests, no behavior change.
410
411         * css/CSSPropertyNames.in:
412         * css/StyleBuilderCustom.h:
413         (WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
414         (WebCore::StyleBuilderCustom::applyInitialTextShadow):
415         (WebCore::StyleBuilderCustom::applyInheritTextShadow):
416         (WebCore::StyleBuilderCustom::applyValueTextShadow):
417         (WebCore::StyleBuilderCustom::applyInitialBoxShadow):
418         (WebCore::StyleBuilderCustom::applyInheritBoxShadow):
419         (WebCore::StyleBuilderCustom::applyValueBoxShadow):
420         (WebCore::StyleBuilderCustom::applyInitialWebkitBoxShadow):
421         (WebCore::StyleBuilderCustom::applyInheritWebkitBoxShadow):
422         (WebCore::StyleBuilderCustom::applyValueWebkitBoxShadow):
423         * css/StyleResolver.cpp:
424         (WebCore::StyleResolver::applyProperty):
425
426 2014-12-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
427
428         [EFL] Add a ENABLE_CSS_SCROLL_SNAP macro to CMake build system
429         https://bugs.webkit.org/show_bug.cgi?id=139085
430
431         Reviewed by Andreas Kling.
432
433         * PlatformEfl.cmake: 
434             Include page/scrolling/AxisScrollSnapOffsets.cpp to EFL build files to fix build break.
435
436 2014-12-01  Zalan Bujtas  <zalan@apple.com>
437
438         Twitter avatar moves when hovering/unhovering the "follow" button.
439         https://bugs.webkit.org/show_bug.cgi?id=139147
440         rdar://problem/19096508
441
442         Reviewed by Simon Fraser.
443
444         This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
445         get repositioned when their inline box wrappers move.
446         Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
447         placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
448         they are still part of the inline box tree.
449         This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
450         They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().
451
452         Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html
453
454         * rendering/InlineBox.cpp:
455         (WebCore::InlineBox::adjustPosition):
456
457 2014-12-01  Tim Horton  <timothy_horton@apple.com>
458
459         Null deref under TextIndicator::createWithSelectionInFrame using find-in-page on bugzilla
460         https://bugs.webkit.org/show_bug.cgi?id=139164
461         <rdar://problem/19107247>
462
463         Reviewed by Beth Dakin.
464
465         * page/TextIndicator.cpp:
466         (WebCore::TextIndicator::createWithSelectionInFrame):
467         Null-check the ImageBuffer in addition to the Image.
468
469 2014-12-01  Anders Carlsson  <andersca@apple.com>
470
471         Remove IWebCookieManager on Windows
472         https://bugs.webkit.org/show_bug.cgi?id=139144
473
474         Reviewed by Sam Weinig.
475
476         Remove code that handles overriding the cookie storage.
477
478         * platform/network/NetworkStorageSession.h:
479         * platform/network/cf/NetworkStorageSessionCFNet.cpp:
480         (WebCore::cookieStorageOverride): Deleted.
481         (WebCore::overrideCookieStorage): Deleted.
482         (WebCore::overridenCookieStorage): Deleted.
483         * platform/network/cf/ResourceHandleCFNet.cpp:
484         (WebCore::ResourceHandle::createCFURLConnection):
485
486 2014-12-01  Dean Jackson  <dino@apple.com>
487
488         [iOS Media] Slider knob should not have a border
489         https://bugs.webkit.org/show_bug.cgi?id=139160
490         <rdar://problem/19075185>
491
492         Reviewed by Jer Noble.
493
494         The change in r175715 required adding !important to a bunch
495         of rules for pseudo elements. The border width of slider knobs
496         for media controls should be zero, so add an !important there.
497
498         * Modules/mediacontrols/mediaControlsiOS.css:
499         (audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Change
500         border to border-width and force it to zero.
501
502 2014-12-01  Chris Dumez  <cdumez@apple.com>
503
504         Take into consideration canvas drawing for throttling DOM timers
505         https://bugs.webkit.org/show_bug.cgi?id=139140
506         <rdar://problem/19102218>
507
508         Reviewed by Andreas Kling.
509
510         Take into consideration canvas drawing for throttling DOM timers so
511         that:
512         - Timers drawing on a visible canvas can no longer get throttled.
513           This fixes the following sites:
514           - http://hint.fm/wind/
515           - http://radar.weather.gov/Conus/full_loop.php
516         - Timers that are drawing on a canvas that is not user observable
517           now get throttled, thus using less CPU. As an example, on
518           http://hint.fm/wind/, CPU usage is at 110% when the canvas is
519           inside the viewport on my machine. CPU usage would remain at
520           110% when scrolling the canvas outside the viewport before this
521           patch. After this patch, the CPU usage goes down to 5% when
522           the canvas is outside the viewport.
523
524         Tests: fast/canvas/canvas-inside-viewport-timer-throttling.html
525                fast/canvas/canvas-outside-viewport-timer-throttling.html
526
527         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
528         (WebCore::JSCSSStyleDeclaration::putDelegate):
529         * html/HTMLCanvasElement.cpp:
530         (WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):
531         * page/DOMTimer.cpp:
532         (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElement):
533         (WebCore::DOMTimer::scriptDidCauseElementRepaint):
534         (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElementStyle): Deleted.
535         (WebCore::DOMTimer::scriptDidUpdateStyleOfElement): Deleted.
536         * page/DOMTimer.h:
537
538 2014-12-01  Myles C. Maxfield  <mmaxfield@apple.com>
539
540         Crash in Font::dashesForIntersectionsWithRect() due to underlining SVG fonts
541         https://bugs.webkit.org/show_bug.cgi?id=139158
542
543         Reviewed by Simon Fraser.
544
545         RenderingContexts are only created if the primary SimpleFontData is an SVG font,
546         but dashesForIntersectionWithRect() uses the first character's SimpleFontData.
547         One might be an SVG font but the other might not be.
548
549         Note that this brittle design will be fixed with the SVG -> OTF translator.
550
551         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html
552
553         * platform/graphics/mac/FontMac.mm:
554         (WebCore::Font::dashesForIntersectionsWithRect):
555
556 2014-12-01  Bartlomiej Gajda  <b.gajda@samsung.com>
557
558         [MSE] Fix not always calling mediaPlayer seek.
559         https://bugs.webkit.org/show_bug.cgi?id=139139
560
561         Reviewed by Jer Noble.
562
563         Original comment states that media source shall always be notified of seek if it's not closed.
564
565         No new tests needed.
566
567         * html/HTMLMediaElement.cpp:
568         (WebCore::HTMLMediaElement::seekTimerFired):
569
570 2014-12-01  Tim Horton  <timothy_horton@apple.com>
571
572         Implement yellow highlight for WebKit1 data detectors
573         https://bugs.webkit.org/show_bug.cgi?id=138956
574         <rdar://problem/18992185>
575
576         Reviewed by Beth Dakin.
577
578         * page/TextIndicator.cpp:
579         (WebCore::TextIndicator::createWithSelectionInFrame):
580         (WebCore::TextIndicator::TextIndicator):
581         * page/TextIndicator.h:
582         (WebCore::TextIndicator::selectionRectInScreenCoordinates):
583         (WebCore::TextIndicator::textBoundingRectInScreenCoordinates):
584         (WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted.
585         (WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted.
586         Store TextIndicator rects in screen coordinates, since that's what we
587         want anyway, and this makes it easier to share this code between the WebKits.
588
589         * page/mac/TextIndicatorWindow.mm:
590         (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
591         (WebCore::TextIndicatorWindow::setTextIndicator):
592         Avoid some rect conversion because the TextIndicator rects are already in screen coordinates.
593
594 2014-12-01  Anders Carlsson  <andersca@apple.com>
595
596         Remove old site specific quirks code that was added in 2009
597         https://bugs.webkit.org/show_bug.cgi?id=139141
598
599         Reviewed by Antti Koivisto.
600
601         * platform/network/NetworkingContext.h:
602         * platform/network/ResourceHandleInternal.h:
603         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
604         * platform/network/mac/ResourceHandleMac.mm:
605         (WebCore::ResourceHandle::start):
606
607 2014-12-01  Joseph Pecoraro  <pecoraro@apple.com>
608
609         Web Inspector: DOMExceptions do not show the error message string in Pause Reason section
610         https://bugs.webkit.org/show_bug.cgi?id=138988
611
612         Reviewed by Timothy Hatcher.
613
614         * inspector/WebInjectedScriptHost.cpp:
615         (WebCore::WebInjectedScriptHost::type):
616         Give all DOM Exception types the "error" RemoteObject subtype.
617
618 2014-12-01  Bartlomiej Gajda  <b.gajda@samsung.com>
619
620         [MSE] Unset timestamps of trackbuffers during Reset Parser State algorithm.
621         https://bugs.webkit.org/show_bug.cgi?id=139075.
622
623         Reviewed by Jer Noble.
624
625         Specification requires from us to unset timestamps for trackBuffers
626         during abort() method.
627
628         Test: media/media-source/media-source-append-nonsync-sample-after-abort.html
629
630         * Modules/mediasource/SourceBuffer.cpp:
631         (WebCore::SourceBuffer::resetParserState):
632         (WebCore::SourceBuffer::abort):
633         * Modules/mediasource/SourceBuffer.h:
634
635 2014-12-01  Chris Dumez  <cdumez@apple.com>
636
637         Transform StyleBuilderCustom into a class and mark it as a friend of RenderStyle
638         https://bugs.webkit.org/show_bug.cgi?id=138999
639
640         Reviewed by Sam Weinig.
641
642         Transform StyleBuilderCustom into a class and mark it as a friend of
643         RenderStyle. This is needed because some of the StyleBuilderCustom
644         functions need to access RenderStyle's private API.
645
646         No new tests, no behavior change.
647
648         * css/StyleBuilderCustom.h:
649           Move functions from StyleBuilderFunctions namespace to
650           StyleBuilderCustom class.
651
652         * css/makeprop.pl:
653           Use StyleBuilderCustom scope instead of StyleBuilderFunctions for
654           custom implementation.
655
656         * rendering/style/RenderStyle.h:
657           Mark StyleBuilderCustom class as a friend, similarly to what was
658           already done for DeprecatedStyleBuilder and StyleResolver.
659
660 2014-11-17  Oliver Hunt  <oliver@apple.com>
661
662         Make sure range based iteration of Vector<> still receives bounds checking
663         https://bugs.webkit.org/show_bug.cgi?id=138821
664
665         Reviewed by Mark Lam.
666
667         There are a few uses of begin()/end() that explicitly require pointers,
668         so we use getPtr() to extract the underlying pointer generically.
669
670         * bindings/js/SerializedScriptValue.cpp:
671         (WebCore::CloneDeserializer::deserializeString):
672         * editing/TextIterator.cpp:
673         (WebCore::SearchBuffer::isBadMatch):
674         * page/mac/ServicesOverlayController.mm:
675         (WebCore::ServicesOverlayController::buildSelectionHighlight):
676         * platform/graphics/SegmentedFontData.cpp:
677         (WebCore::SegmentedFontData::fontDataForCharacter):
678         (WebCore::SegmentedFontData::containsCharacter):
679         (WebCore::SegmentedFontData::isLoading):
680         * platform/graphics/WOFFFileFormat.cpp:
681         (WebCore::convertWOFFToSfnt):
682         * rendering/RenderBox.cpp:
683         (WebCore::RenderBox::paintFillLayers):
684         * rendering/style/GridResolvedPosition.cpp:
685         (WebCore::firstNamedGridLineBeforePosition):
686         (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
687         * svg/SVGFontElement.cpp:
688         (WebCore::kerningForPairOfStringsAndGlyphs):
689         * svg/SVGPathByteStream.h:
690         (WebCore::SVGPathByteStream::append):
691         * xml/XPathNodeSet.h:
692         (WebCore::XPath::NodeSet::begin):
693         (WebCore::XPath::NodeSet::end):
694
695 2014-11-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
696
697         Fix a build warning when CSS_SCROLL_SNAP is enabled
698         https://bugs.webkit.org/show_bug.cgi?id=139084
699
700         Reviewed by Andrei Bucur.
701
702         Fix a build warning. Copy constructor of StyleScrollSnapPoints should initialize its base class.
703
704         * rendering/style/StyleScrollSnapPoints.cpp:
705         (WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Call RefCounted().
706
707 2014-11-29  Sam Weinig  <sam@webkit.org>
708
709         Move the '-webkit-locale', '-webkit-text-orientation', '-webkit-writing-mode', '-webkit-justify-self' and '-webkit-perspective' CSS properties to the new StyleBuilder
710         https://bugs.webkit.org/show_bug.cgi?id=139104
711
712         Reviewed by Anders Carlsson.
713
714         * css/CSSPropertyNames.in:
715         * css/StyleBuilderCustom.h:
716         (WebCore::StyleBuilderFunctions::applyValueWebkitLocale):
717         (WebCore::StyleBuilderFunctions::applyValueWebkitWritingMode):
718         (WebCore::StyleBuilderFunctions::applyValueWebkitTextOrientation):
719         (WebCore::StyleBuilderFunctions::applyValueWebkitJustifySelf):
720         (WebCore::StyleBuilderFunctions::applyValueWebkitPerspective):
721         * css/StyleResolver.cpp:
722         (WebCore::StyleResolver::applyProperty):
723
724 2014-11-29  Anders Carlsson  <andersca@apple.com>
725
726         Add an EmptyVisitedLinkStore implementation
727         https://bugs.webkit.org/show_bug.cgi?id=139102
728
729         Reviewed by Sam Weinig.
730
731         * loader/EmptyClients.cpp:
732         (WebCore::fillWithEmptyClients):
733         * loader/EmptyClients.h:
734
735 2014-11-28  Sam Weinig  <sam@webkit.org>
736
737         Move the '-webkit-initial-letter', '-webkit-line-box-contain' and '-webkit-text-stroke-width' CSS properties to the new StyleBuilder
738         https://bugs.webkit.org/show_bug.cgi?id=139053
739
740         Reviewed by Andreas Kling.
741
742         * css/CSSPropertyNames.in:
743         * css/StyleBuilderConverter.h:
744         (WebCore::StyleBuilderConverter::convertInitialLetter):
745         (WebCore::StyleBuilderConverter::convertTextStrokeWidth):
746         (WebCore::StyleBuilderConverter::convertLineBoxContain):
747         * css/StyleResolver.cpp:
748         (WebCore::StyleResolver::applyProperty):
749
750 2014-11-26  Philippe Normand  <pnormand@igalia.com>
751
752         [GStreamer] HTTP source element lacks SCHEDULING query support
753         https://bugs.webkit.org/show_bug.cgi?id=139064
754
755         Reviewed by Carlos Garcia Campos.
756
757         No new tests, covered by http/tests/media/hls.
758
759         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
760         (webKitWebSrcQueryWithParent): Make the element handle SCHEDULING
761         queries with the BANDWIDTH_LIMITED flag. This helps uridecodebin
762         to configure itself for adaptive streaming playback scenarios.
763
764 2014-11-27  Ryuan Choi  <ryuan.choi@navercorp.com>
765
766         [EFL] Remove E_Dbus dependency
767         https://bugs.webkit.org/show_bug.cgi?id=136355
768
769         Reviewed by Gyuyoung Kim.
770
771         E_Dbus is the simple wrapper of Dbus but it has not been maintained since EFL 1.8.
772         Instead, EFL introduced Eldbus, which is almost similar with E_Dbus but provides more dbus like interface.
773         This patch replaces E_Dbus implementation to Eldbus.
774
775         * PlatformEfl.cmake:
776         * platform/efl/BatteryProviderEfl.cpp:
777         (WebCore::BatteryProviderEfl::BatteryProviderEfl):
778         (WebCore::BatteryProviderEfl::~BatteryProviderEfl):
779         (WebCore::BatteryProviderEfl::stopUpdating):
780         (WebCore::batteryProperties):
781         (WebCore::batteryPropertiesChanged):
782         (WebCore::BatteryProviderEfl::deviceTypeCallback):
783         (WebCore::BatteryProviderEfl::enumerateDevices):
784         (WebCore::BatteryProviderEfl::startUpdating):
785         (WebCore::BatteryProviderEfl::setBatteryStatus):
786         (WebCore::BatteryProviderEfl::timerFired): Deleted.
787         (WebCore::BatteryProviderEfl::getBatteryStatus): Deleted.
788         (WebCore::BatteryProviderEfl::setBatteryClient): Deleted.
789         * platform/efl/BatteryProviderEfl.h:
790         (WebCore::BatteryProviderEfl::connection):
791         (WebCore::BatteryProviderEfl::setSignalHandler):
792         (WebCore::BatteryProviderEfl::~BatteryProviderEfl): Deleted.
793
794 2014-11-27  Antti Koivisto  <antti@apple.com>
795
796         CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::HTMLPlugInImageElement::updateSnapshot + 108
797         https://bugs.webkit.org/show_bug.cgi?id=139057
798
799         Reviewed by Anders Carlsson.
800
801         No test, don't know how to repro.
802
803         * html/HTMLPlugInImageElement.cpp:
804         (WebCore::HTMLPlugInImageElement::updateSnapshot): Null check the renderer.
805
806 2014-11-27  Joanmarie Diggs  <jdiggs@igalia.com>
807
808         AX: [ATK] Meter and Option elements do not expose their id attribute
809         https://bugs.webkit.org/show_bug.cgi?id=139017
810
811         Reviewed by Mario Sanchez Prada.
812
813         The options in a collapsed select element lack a node, so get the id
814         attribute from the associated action element. In the case of a meter,
815         the meter element itself is not exposed; its RenderMeter is instead.
816         So associate the meter element's id with the exposed RenderMeter.
817
818         No new tests. Instead, updated existing expectations to reflect the fix.
819
820         * accessibility/AccessibilityObject.h:
821         * accessibility/AccessibilityProgressIndicator.cpp:
822         (WebCore::AccessibilityProgressIndicator::element):
823         * accessibility/AccessibilityProgressIndicator.h:
824         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
825         (webkitAccessibleGetAttributes):
826
827 2014-11-27  Anders Carlsson  <andersca@apple.com>
828
829         Add a Page::setVisitedLinkStore member function
830         https://bugs.webkit.org/show_bug.cgi?id=139065
831
832         Reviewed by Antti Koivisto.
833
834         This will be used in a subsequent commit.
835
836         * WebCore.exp.in:
837         * page/Page.cpp:
838         (WebCore::Page::setVisitedLinkStore):
839         * page/Page.h:
840
841 2014-11-25  Sukolsak Sakshuwong  <sukolsak@gmail.com>
842
843         Add parsing for :dir()
844         https://bugs.webkit.org/show_bug.cgi?id=138932
845
846         Reviewed by Benjamin Poulain.
847
848         Add support for parsing :dir() pseudo class. The implementation of selector
849         matching will be in a follow-up patch.
850
851         * css/CSSGrammar.y.in:
852         * css/CSSParser.cpp:
853         (WebCore::CSSParser::detectFunctionTypeToken):
854         * css/CSSSelector.cpp:
855         (WebCore::appendPseudoClassFunctionTail):
856         (WebCore::CSSSelector::selectorText):
857         * css/CSSSelector.h:
858         * css/SelectorChecker.cpp:
859         (WebCore::SelectorChecker::checkOne):
860         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
861         * cssjit/SelectorCompiler.cpp:
862         (WebCore::SelectorCompiler::addPseudoClassType):
863
864 2014-11-25  Anders Carlsson  <andersca@apple.com>
865
866         Remove user content handling from PageGroup
867         https://bugs.webkit.org/show_bug.cgi?id=139051
868
869         Reviewed by Antti Koivisto.
870
871         Remove m_userContentController from PageGroup and the related functions and symbol exports.
872
873         * WebCore.exp.in:
874         * page/PageGroup.cpp:
875         (WebCore::PageGroup::PageGroup):
876         (WebCore::PageGroup::~PageGroup):
877         (WebCore::PageGroup::addPage):
878         (WebCore::PageGroup::removePage):
879         (WebCore::PageGroup::addUserScriptToWorld): Deleted.
880         (WebCore::PageGroup::addUserStyleSheetToWorld): Deleted.
881         (WebCore::PageGroup::removeUserScriptFromWorld): Deleted.
882         (WebCore::PageGroup::removeUserStyleSheetFromWorld): Deleted.
883         (WebCore::PageGroup::removeUserScriptsFromWorld): Deleted.
884         (WebCore::PageGroup::removeUserStyleSheetsFromWorld): Deleted.
885         (WebCore::PageGroup::removeAllUserContent): Deleted.
886         * page/PageGroup.h:
887
888 2014-11-25  Anders Carlsson  <andersca@apple.com>
889
890         Add a user content controller to WebViewGroup and use it for user content
891         https://bugs.webkit.org/show_bug.cgi?id=139043
892
893         Reviewed by Antti Koivisto.
894
895         * WebCore.exp.in:
896         Export symbols.
897
898         * page/Page.cpp:
899         (WebCore::Page::setUserContentController):
900         Invalidate the injected style cache when setting a new user content controller.
901
902 2014-11-25  Philippe Normand  <pnormand@igalia.com>
903
904         [GStreamer] gstmpegts is not initialized
905         https://bugs.webkit.org/show_bug.cgi?id=139039
906
907         Reviewed by Carlos Garcia Campos.
908
909         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
910         (WebCore::initializeGStreamer): Initialize the gstmpegts library.
911
912 2014-11-24  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
913
914         Fix unused variable warning in Biquad.cpp
915         https://bugs.webkit.org/show_bug.cgi?id=139031
916
917         Reviewed by Andreas Kling.
918
919         No new tests needed.
920
921         * platform/audio/Biquad.cpp:
922
923 2014-11-24  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
924
925         Remove Qt cruft related to tap higlighting
926         https://bugs.webkit.org/show_bug.cgi?id=139030
927
928         Reviewed by Andreas Kling.
929
930         No new tests needed.
931
932         * CMakeLists.txt:
933         * page/GestureTapHighlighter.cpp: Removed.
934         * page/GestureTapHighlighter.h: Removed.
935
936 2014-11-24  Dhi Aurrahman  <diorahman@rockybars.com>
937
938         Fix the parsing and re-serialization of :lang pseudo class selector when it has multiple arguments with same value
939         https://bugs.webkit.org/show_bug.cgi?id=139013
940
941         Reviewed by Benjamin Poulain.
942
943         Fix the parsing and re-serialization of :lang pseudo class selector when 
944         it has multiple arguments with same value e.g. :lang(en, en, en). Previously, 
945         given :lang(en, en, en) selector, it was parsed and reserialized 
946         as :lang(enenen) instead of :lang(en, en, en)
947
948         Related test on parsing and re-serialization of css selectors is updated.
949
950         * css/CSSSelector.cpp:
951         (WebCore::appendArgumentList):
952
953 2014-11-24  Zalan Bujtas  <zalan@apple.com>
954
955         Fix r176527. Iterate through the text renderers.
956         https://bugs.webkit.org/show_bug.cgi?id=139007
957
958         Reviewed by Antti Koivisto.
959
960         * rendering/SimpleLineLayout.cpp:
961         (WebCore::SimpleLineLayout::canUseFor):
962
963 2014-11-24  Zalan Bujtas  <zalan@apple.com>
964
965         Simple line layout: Rename TextFragment::mustBreak to TextFragment::isLineBreak
966         https://bugs.webkit.org/show_bug.cgi?id=139035
967
968         Reviewed by Antti Koivisto.
969
970         Move new line logic to FlowContents class.
971         This is in preparation to support <br>.
972
973         No change in functionality.
974
975         * rendering/SimpleLineLayout.cpp:
976         (WebCore::SimpleLineLayout::TextFragment::TextFragment):
977         (WebCore::SimpleLineLayout::removeTrailingWhitespace):
978         (WebCore::SimpleLineLayout::nextFragment):
979         (WebCore::SimpleLineLayout::createLineRuns):
980         * rendering/SimpleLineLayoutFlowContents.h:
981         (WebCore::SimpleLineLayout::FlowContents::isNewline):
982         (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter): Deleted.
983
984 2014-11-24  Benjamin Poulain  <benjamin@webkit.org>
985
986         Move :placeholder-shown out of experimental
987         https://bugs.webkit.org/show_bug.cgi?id=138998
988
989         Reviewed by Andreas Kling.
990
991         The pseudo class :placeholder-shown is used by the inspector, disabling it breaks
992         the sidebar.
993
994         The implementation has been stable for a while, we can move it to stable.
995
996         * css/CSSSelector.cpp:
997         (WebCore::CSSSelector::selectorText):
998         * css/CSSSelector.h:
999         * css/SelectorChecker.cpp:
1000         (WebCore::SelectorChecker::checkOne):
1001         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
1002         * cssjit/SelectorCompiler.cpp:
1003         (WebCore::SelectorCompiler::addPseudoClassType):
1004         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
1005         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
1006
1007 2014-11-24  Antti Koivisto  <antti@apple.com>
1008
1009         Avoid String concatenation with line break iterator
1010         https://bugs.webkit.org/show_bug.cgi?id=139034
1011
1012         Reviewed by Zalan Bujtas.
1013
1014         Test: fast/text/simple-lines-multiple-renderers-break.html
1015
1016         * rendering/SimpleLineLayoutFlowContents.cpp:
1017         (WebCore::SimpleLineLayout::initializeSegments):
1018
1019             Include String too so it doesn't need to be fetched from the renderer.
1020
1021         (WebCore::SimpleLineLayout::FlowContents::FlowContents):
1022         (WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):
1023
1024             Make this iterative instead of recursive.
1025             Uset setPriorContext to provide previous characters instead of concatenating
1026             the string from all the previous segments.
1027
1028         (WebCore::SimpleLineLayout::findNextNonWhitespace):
1029         (WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):
1030
1031             Search using segments instead of the concatenated string.
1032
1033         (WebCore::SimpleLineLayout::FlowContents::textWidth):
1034         (WebCore::SimpleLineLayout::FlowContents::segmentIndexForPositionSlow):
1035         (WebCore::SimpleLineLayout::FlowContents::runWidth):
1036         (WebCore::SimpleLineLayout::FlowContents::segmentForPositionSlow): Deleted.
1037         (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Deleted.
1038         (WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition): Deleted.
1039         * rendering/SimpleLineLayoutFlowContents.h:
1040         (WebCore::SimpleLineLayout::FlowContents::characterAt):
1041         (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter):
1042         (WebCore::SimpleLineLayout::FlowContents::segmentIndexForPosition):
1043         (WebCore::SimpleLineLayout::FlowContents::segmentForPosition):
1044
1045 2014-11-24  Zalan Bujtas  <zalan@apple.com>
1046
1047         SimpleLineLayout::canUseFor() should iterate through RenderTexts to check if their content is eligible for simple line layout.
1048         https://bugs.webkit.org/show_bug.cgi?id=139007
1049
1050         Reviewed by Antti Koivisto.
1051
1052         Tests: fast/text/simple-line-layout-multiple-renderers-non-breaking-space.html
1053                fast/text/simple-line-layout-multiple-renderers-with-float.html
1054
1055         * rendering/SimpleLineLayout.cpp:
1056         (WebCore::SimpleLineLayout::canUseFor):
1057
1058 2014-11-22  Sam Weinig  <sam@webkit.org>
1059
1060         Move the '-webkit-box-reflext' CSS property to the new StyleBuilder
1061         https://bugs.webkit.org/show_bug.cgi?id=139008
1062
1063         Reviewed by Anders Carlsson.
1064
1065         * css/CSSPropertyNames.in:
1066         * css/StyleBuilderConverter.h:
1067         (WebCore::StyleBuilderConverter::convertReflection):
1068         * css/StyleResolver.cpp:
1069         (WebCore::StyleResolver::applyProperty):
1070
1071 2014-11-24  Antti Koivisto  <antti@apple.com>
1072
1073         Remove unused Style struct from SimpleLineLayout.cpp
1074         https://bugs.webkit.org/show_bug.cgi?id=139027
1075
1076         Reviewed by Sam Weinig.
1077
1078         It was moved to FlowContents.
1079
1080         * rendering/SimpleLineLayout.cpp:
1081         (WebCore::SimpleLineLayout::Style::Style): Deleted.
1082
1083 2014-11-24  peavo@outlook.com  <peavo@outlook.com>
1084
1085         [Curl] Compile error in ResourceHandleManager.cpp.
1086         https://bugs.webkit.org/show_bug.cgi?id=139026
1087
1088         Reviewed by Brent Fulgham.
1089
1090         The parameter types of the constructor of the Timer class has changed.
1091
1092         * platform/network/curl/ResourceHandleManager.cpp:
1093         (WebCore::ResourceHandleManager::ResourceHandleManager):
1094         (WebCore::ResourceHandleManager::downloadTimerCallback):
1095         * platform/network/curl/ResourceHandleManager.h:
1096
1097 2014-11-24  Joanmarie Diggs  <jdiggs@igalia.com>
1098
1099         AX: [ATK] Unskip the skipped ATK tests in roles-exposed.html
1100         https://bugs.webkit.org/show_bug.cgi?id=139016
1101
1102         Reviewed by Chris Fleizach.
1103
1104         There was one test that could not be unskipped without making a change
1105         for that one to pass: mapping DocumentRegionRole to ATK_ROLE_PANEL. The
1106         rest of the "fix" is just unskipping tests for ATK and updating the test
1107         expectations.
1108
1109         No new tests needed.
1110
1111         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1112         (atkRole):
1113
1114 2014-11-23  Antti Koivisto  <antti@apple.com>
1115
1116         Use segment vector for FlowContents
1117         https://bugs.webkit.org/show_bug.cgi?id=139015
1118
1119         Reviewed by Zalan Bujtas.
1120
1121         And FlowContents::Segment struct and use it.
1122
1123         * rendering/SimpleLineLayout.cpp:
1124         (WebCore::SimpleLineLayout::removeTrailingWhitespace):
1125         (WebCore::SimpleLineLayout::createLineRuns):
1126         (WebCore::SimpleLineLayout::splitRunsAtRendererBoundary):
1127
1128             Use segments.
1129             If there is only one segment there is nothing to do. Bail out.
1130
1131         * rendering/SimpleLineLayoutFlowContents.cpp:
1132         (WebCore::SimpleLineLayout::initializeSegments):
1133
1134             Move initialization to a function so m_segments can be const.
1135             Don't add empty end segment, handle the end case in code.
1136
1137         (WebCore::SimpleLineLayout::FlowContents::FlowContents):
1138         (WebCore::SimpleLineLayout::FlowContents::textWidth):
1139
1140             Simplify and use segments.
1141
1142         (WebCore::SimpleLineLayout::FlowContents::segmentForPositionSlow):
1143
1144             Replace hand-rolled binary search with std::lower_bounds.
1145
1146         (WebCore::SimpleLineLayout::FlowContents::segmentForRenderer):
1147         (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded):
1148         (WebCore::SimpleLineLayout::FlowContents::renderer): Deleted.
1149         (WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions): Deleted.
1150         * rendering/SimpleLineLayoutFlowContents.h:
1151         (WebCore::SimpleLineLayout::FlowContents::hasOneSegment):
1152         (WebCore::SimpleLineLayout::FlowContents::length):
1153         (WebCore::SimpleLineLayout::FlowContents::isEnd):
1154         (WebCore::SimpleLineLayout::FlowContents::isEndOfContent): Deleted.
1155
1156             Renamed.
1157
1158         (WebCore::SimpleLineLayout::FlowContents::segmentForPosition):
1159
1160             Inline the fast path.
1161
1162         * rendering/SimpleLineLayoutResolver.cpp:
1163         (WebCore::SimpleLineLayout::RunResolver::Run::text):
1164         (WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):
1165
1166 2014-11-22  Simon Fraser  <simon.fraser@apple.com>
1167
1168         Extend WKRenderObject and WKRenderLayer with some more useful data
1169         https://bugs.webkit.org/show_bug.cgi?id=139006
1170
1171         Reviewed by Sam Weinig.
1172
1173         Export WebCore::RenderLayerBacking::backingStoreMemoryEstimate() const.
1174
1175         * WebCore.exp.in:
1176
1177 2014-11-22  Antti Koivisto  <antti@apple.com>
1178
1179         Make locale part of the SimpleLineLayout::FlowContent::Style
1180         https://bugs.webkit.org/show_bug.cgi?id=139004
1181
1182         Reviewed by Zalan Bujtas.
1183
1184         That's the only part of style not extracted out of RenderStyle in the constructor.
1185
1186         * rendering/SimpleLineLayoutFlowContents.cpp:
1187         (WebCore::SimpleLineLayout::FlowContents::Style::Style):
1188         (WebCore::SimpleLineLayout::FlowContents::FlowContents):
1189         (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded):
1190         * rendering/SimpleLineLayoutFlowContents.h:
1191
1192             Also remove RenderBlockFlow member since it is now unused.
1193
1194         (WebCore::SimpleLineLayout::FlowContents::Style::Style): Deleted.
1195
1196             Move to cpp.
1197
1198 2014-11-22  Joanmarie Diggs  <jdiggs@igalia.com>
1199
1200         AX: [ATK] Accessible names missing for imagemap images and links
1201         https://bugs.webkit.org/show_bug.cgi?id=127288
1202
1203         Reviewed by Chris Fleizach.
1204
1205         Return the alt text, if present, for the accessible name for image maps
1206         and image map links for ATK. Also expose the accessible element with
1207         ATK_ROLE_IMAGE_MAP instead of ATK_ROLE_IMAGE.
1208
1209         Test: accessibility/image-with-alt-and-map.html
1210
1211         * accessibility/AccessibilityObject.h:
1212         (WebCore::AccessibilityObject::isImageMap):
1213         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1214         (webkitAccessibleGetName):
1215         (atkRole):
1216
1217 2014-11-22  Andreas Kling  <akling@apple.com>
1218
1219         Remove unused Document::ignoreAutofocus().
1220         <https://webkit.org/b/139002>
1221
1222         Reviewed by Antti Koivisto.
1223
1224         No one ever actually changes this flag, so let's remove it.
1225
1226         * dom/Document.cpp:
1227         (WebCore::Document::Document):
1228         * dom/Document.h:
1229         (WebCore::Document::ignoreAutofocus): Deleted.
1230         (WebCore::Document::setIgnoreAutofocus): Deleted.
1231         * html/HTMLFormControlElement.cpp:
1232         (WebCore::shouldAutofocus):
1233
1234 2014-11-22  Csaba Osztrogonác  <ossy@webkit.org>
1235
1236         URTBF after r176459 to fix GTK build.
1237
1238         * platform/ScrollAnimatorNone.cpp:
1239         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
1240         (WebCore::ScrollAnimatorNone::requestAnimationTimerFired):
1241         * platform/ScrollAnimatorNone.h:
1242
1243 2014-11-22  Andreas Kling  <akling@apple.com>
1244
1245         Convert PassRefPtr return types to RefPtr.
1246         <https://webkit.org/b/138995>
1247
1248         Reviewed by Anders Carlsson.
1249
1250         Convert an assortment of DOM and HTML related functions
1251         to return RefPtr instead of PassRefPtr.
1252
1253 2014-11-21  Jer Noble  <jer.noble@apple.com>
1254
1255         Unreviewed iOS build fix; move new symbols out of Mac-only exports.
1256
1257         * WebCore.exp.in:
1258
1259 2014-11-21  Timothy Horton  <timothy_horton@apple.com>
1260
1261         Remove a file that r176499 presumably did not mean to add.
1262
1263         * WebCore.exp.in.orig: Removed.
1264
1265 2014-11-21  Jer Noble  <jer.noble@apple.com>
1266
1267         Support multiple signatures of diagnostic logging.
1268         https://bugs.webkit.org/show_bug.cgi?id=138690
1269
1270         Reviewed by Anders Carlsson.
1271
1272         Pull logDiagnosticMessage() out of ChromeClient and make a new client interface,
1273         DiagnosticLoggingClient, which supports multiple kinds of diagnostic logging,
1274         namely: simple logging without a parameter, logging with a success parameter, and
1275         logging with a generic string value parameter.
1276
1277         * html/HTMLMediaElement.cpp:
1278         (WebCore::HTMLMediaElement::parseAttribute): Use DiagnosticLoggingClient.
1279         * loader/FrameLoader.cpp:
1280         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
1281         * loader/SubframeLoader.cpp:
1282         (WebCore::logPluginRequest): Ditto.
1283         * page/ChromeClient.h:
1284         (WebCore::ChromeClient::logDiagnosticMessage): Deleted.
1285         * page/DiagnosticLoggingClient.h: 
1286         (WebCore::DiagnosticLoggingClient::logDiagnosticMessage): Added.
1287         (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithResult): Added.
1288         (WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithValue): Added.
1289         (WebCore::DiagnosticLoggingClient::~DiagnosticLoggingClient): Empty destructor.
1290
1291         Rename Page::PageClient to PageConfiguration, and pass that configuration from
1292         Page into MainFrame upon construction.
1293
1294         * inspector/InspectorOverlay.cpp:
1295         (WebCore::InspectorOverlay::overlayPage): Use PageConfiguration instead of PageClients.
1296         * loader/EmptyClients.cpp:
1297         (WebCore::fillWithEmptyClients): Ditto.
1298         * loader/EmptyClients.h:
1299         * page/MainFrame.cpp:
1300         (WebCore::MainFrame::MainFrame): Pass loaderClientForMainFrame through to the
1301             Frame constructor.
1302         (WebCore::MainFrame::create): Takes a PageConfiguration.
1303         * page/MainFrame.h:
1304         (WebCore::MainFrame::diagnosticLoggingClient): Simple accessor.
1305         * page/Page.cpp:
1306         (WebCore::Page::Page):
1307         (WebCore::Page::PageClients::PageClients): Deleted.
1308         (WebCore::Page::PageClients::~PageClients): Deleted.
1309         * page/Page.h:
1310         * page/PageConfiguration.cpp: Added.
1311         (WebCore::PageConfiguration::PageConfiguration): Renamed from PageClients().
1312         (WebCore::PageConfiguration::~PageConfiguration): Renamed from ~PageClients().
1313         * page/PageConfiguration.h: Added.
1314         * svg/graphics/SVGImage.cpp:
1315         (WebCore::SVGImage::dataChanged): Use PageConfiguration instead of PageClients.
1316
1317         Add new files and symbols to the project.
1318
1319         * CMakeLists.txt:
1320         * WebCore.exp.in:
1321         * WebCore.vcxproj/WebCore.vcxproj:
1322         * WebCore.xcodeproj/project.pbxproj:
1323
1324 2014-11-21  Chris Dumez  <cdumez@apple.com>
1325
1326         Throttled DOMTimers can prevent their document from being garbage collected
1327         https://bugs.webkit.org/show_bug.cgi?id=138915
1328
1329         Reviewed by Andreas Kling.
1330
1331         Throttled DOMTimers whose interval depend on viewport changes would
1332         keep a Vector of elements outside viewport causing them to be throttled
1333         so that we could check later on (upon scroll or layout) if those
1334         elements are still outside viewport. The issue is that these elements
1335         could potentially be removed from the document (and destroyed) after
1336         the timer has fired. To handle this, DOMTimer was ref'ing the
1337         elements. Unfortunately, this was causing us to leak the document
1338         as the elements in the Vector would keep the document alive.
1339
1340         To handle this issue, this patch updates the DOMTimer Vector to use
1341         weak pointers. The WeakPtrFactory is stored in ElementRareData to
1342         avoid wasting memory for all kinds of Elements (it is a fair assumption
1343         that the number of elements whose style is animated via timers is low).
1344
1345         Test: fast/dom/throttled-timer-running-on-document-destruction.html
1346
1347         * dom/Element.cpp:
1348         (WebCore::Element::createWeakPtr):
1349         * dom/Element.h:
1350         * dom/ElementRareData.cpp:
1351         * dom/ElementRareData.h:
1352         (WebCore::ElementRareData::weakPtrFactory):
1353         * page/DOMTimer.cpp:
1354         (WebCore::DOMTimerFireState::elementsChangedOutsideViewport):
1355         (WebCore::DOMTimer::updateThrottlingStateAfterViewportChange):
1356         * page/DOMTimer.h:
1357
1358 2014-11-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1359
1360         Unreviewed, EFL build fix since r176459.
1361
1362         r176459 removed Timer parameter in timer callbacks only for Mac port.
1363         So this patch applies it to remaining classes for EFL port.
1364
1365         No new tests, fix build break.
1366
1367         * Modules/mediastream/RTCDTMFSender.cpp:
1368         (WebCore::RTCDTMFSender::RTCDTMFSender):
1369         * Modules/mediastream/RTCDataChannel.cpp:
1370         (WebCore::RTCDataChannel::RTCDataChannel):
1371         * Modules/mediastream/RTCPeerConnection.cpp:
1372         (WebCore::RTCPeerConnection::RTCPeerConnection):
1373         * Modules/vibration/Vibration.cpp:
1374         (WebCore::Vibration::Vibration):
1375         (WebCore::Vibration::timerFired):
1376         * Modules/vibration/Vibration.h:
1377         * bindings/js/GCController.cpp:
1378         (WebCore::GCController::GCController):
1379         * platform/efl/BatteryProviderEfl.cpp:
1380         (WebCore::BatteryProviderEfl::BatteryProviderEfl):
1381         (WebCore::BatteryProviderEfl::timerFired):
1382         * platform/efl/BatteryProviderEfl.h:
1383         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1384         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1385         (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
1386         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1387         * platform/graphics/texmap/TextureMapper.cpp:
1388         (WebCore::BitmapTexturePool::BitmapTexturePool):
1389         (WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
1390         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
1391         (WebCore::CompositingCoordinator::CompositingCoordinator):
1392         (WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired):
1393         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
1394         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1395         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
1396         (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
1397         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1398         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
1399         (WebCore::CoordinatedImageBacking::CoordinatedImageBacking):
1400         (WebCore::CoordinatedImageBacking::clearContentsTimerFired):
1401         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
1402         * platform/mock/DeviceMotionClientMock.cpp:
1403         (WebCore::DeviceMotionClientMock::DeviceMotionClientMock):
1404         (WebCore::DeviceMotionClientMock::timerFired):
1405         * platform/mock/DeviceMotionClientMock.h:
1406         * platform/mock/TimerEventBasedMock.h:
1407         (WebCore::TimerEvent::TimerEvent):
1408         (WebCore::TimerEvent::timerFired):
1409
1410 2014-11-21  Benjamin Poulain  <bpoulain@apple.com>
1411
1412         Start using the new :not() and :matches() in the Web Inspector
1413         https://bugs.webkit.org/show_bug.cgi?id=138978
1414
1415         Reviewed by Joseph Pecoraro.
1416
1417         There are only minor pending issues on :not() and :matches(). The feedback
1418         has only been positive so far. It is time to move them out the experimental
1419         flag.
1420
1421         * css/CSSGrammar.y.in:
1422         * css/CSSParser.cpp:
1423         (WebCore::CSSParser::detectFunctionTypeToken):
1424         * css/CSSSelector.cpp:
1425         (WebCore::simpleSelectorSpecificityInternal):
1426         (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
1427         (WebCore::appendSelectorList):
1428         (WebCore::CSSSelector::selectorText):
1429         * css/CSSSelector.h:
1430         * css/SelectorChecker.cpp:
1431         (WebCore::SelectorChecker::checkOne):
1432         (WebCore::SelectorChecker::determineLinkMatchType):
1433         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
1434         * cssjit/SelectorCompiler.cpp:
1435         (WebCore::SelectorCompiler::addPseudoClassType):
1436
1437 2014-11-21  Chris Dumez  <cdumez@apple.com>
1438
1439         Unreviewed, iOS build fix after r176462.
1440
1441         Export a few extra symbols.
1442
1443         * WebCore.exp.in:
1444
1445 2014-11-21  Chris Dumez  <cdumez@apple.com>
1446
1447         Properties in CSSPropertyNames.in should use the new StyleBuilder by default
1448         https://bugs.webkit.org/show_bug.cgi?id=138983
1449
1450         Reviewed by Andreas Kling.
1451
1452         This patch makes using the new StyleBuilder the default and drops the
1453         [NewStyleBuilder] option as a result. A new [LegacyStyleBuilder] option
1454         is introduced for CSS properties that are not generated in the new
1455         StyleBuilder yet.
1456
1457         * css/CSSPropertyNames.in:
1458         * css/SVGCSSPropertyNames.in:
1459         * css/makeprop.pl:
1460
1461 2014-11-21  Chris Dumez  <cdumez@apple.com>
1462
1463         [iOS] Regression(r176202): line-height is wrong on marco.org
1464         https://bugs.webkit.org/show_bug.cgi?id=138970
1465
1466         Reviewed by Simon Fraser.
1467
1468         After r176202, on iOS with IOS_TEXT_AUTOSIZING enabled, we would
1469         multiply the lineHeight by RenderStyle::textSizeAdjust()::multiplier()
1470         unconditionally. However, we're only supposed to do so if
1471         RenderStyle::textSizeAdjust()::isPercentage() returns true. This
1472         patch reintroduces the textSizeAdjust().isPercentage() check that was
1473         inadvertently dropped when refactoring the code to be shared between
1474         iOS and OS X.
1475
1476         Additionally, the multiplier is only supposed the be applied if the
1477         input CSSPrimitiveValue is a Length or a Number. However, after
1478         r176202, we would apply the multiplier if the CSSPrimitiveValue is
1479         a Percentage or a Number. This patch updates the code to match the
1480         behavior prior to r176202.
1481
1482         Test: fast/css/line-height-text-autosizing.html
1483
1484         * css/StyleBuilderCustom.h:
1485         (WebCore::StyleBuilderFunctions::convertLineHeight):
1486         (WebCore::StyleBuilderFunctions::applyValueLineHeight):
1487
1488 2014-11-21  Chris Fleizach  <cfleizach@apple.com>
1489
1490         AX: com.apple.WebKit.WebContent crashed at WebCore: WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const
1491         https://bugs.webkit.org/show_bug.cgi?id=138905
1492
1493         Reviewed by Mario Sanchez Prada.
1494
1495         The crash log indicates that m_renderer is null at the time we ask ancestorsOfType(). 
1496         This is more of a speculative fix, since I am not entirely sure m_renderer is null when we enter the method.
1497
1498         Unable to determine cause of crash or how to reproduce on demand.
1499
1500         * accessibility/AccessibilityRenderObject.cpp:
1501         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1502
1503 2014-11-21  Jer Noble  <jer.noble@apple.com>
1504
1505         [EME][Mac] Check the underlying error if the one returned by AVFoundation is AVErrorUnknown.
1506         https://bugs.webkit.org/show_bug.cgi?id=138986
1507
1508         Reviewed by Eric Carlson.
1509
1510         When we recieve an error with the code AVErrorUnknown, look for an underlying error from CoreMedia (or another
1511         lower-level framework) with a (presumably) more informative error code, and return that code instead.
1512
1513         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
1514         (WebCore::systemCodeForError):
1515         (WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):
1516         (WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):
1517
1518 2014-11-21  Chris Fleizach  <cfleizach@apple.com>
1519
1520         AX: Unclear that user and password are autofilled, no VoiceOver version of the yellow outline.
1521         https://bugs.webkit.org/show_bug.cgi?id=138904
1522
1523         Reviewed by Mario Sanchez Prada.
1524
1525         Add an attribute that marks when a text field is auto-filled.
1526
1527         Test: accessibility/auto-filled-value.html
1528
1529         * accessibility/AccessibilityObject.cpp:
1530         (WebCore::AccessibilityObject::isValueAutofilled):
1531         * accessibility/AccessibilityObject.h:
1532         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1533         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1534         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1535
1536 2014-11-21  Andreas Kling  <akling@apple.com>
1537
1538         RenderElement::removeChild() doesn't need a return value.
1539         <https://webkit.org/b/138985>
1540
1541         Reviewed by Pantti Koivisto.
1542
1543         Nobody uses the return value from RenderElement::removeChild().
1544         Change it to return void and remove all the unnecessary plumbing.
1545
1546         * rendering/RenderBlock.cpp:
1547         (WebCore::RenderBlock::removeChild):
1548         * rendering/RenderBlock.h:
1549         * rendering/RenderBlockFlow.cpp:
1550         (WebCore::RenderBlockFlow::removeChild):
1551         * rendering/RenderBlockFlow.h:
1552         * rendering/RenderButton.cpp:
1553         (WebCore::RenderButton::removeChild):
1554         * rendering/RenderButton.h:
1555         * rendering/RenderElement.cpp:
1556         (WebCore::RenderElement::removeChild):
1557         (WebCore::RenderElement::removeChildInternal):
1558         * rendering/RenderElement.h:
1559         * rendering/RenderMenuList.cpp:
1560         (RenderMenuList::removeChild):
1561         * rendering/RenderMenuList.h:
1562         * rendering/RenderRuby.cpp:
1563         (WebCore::RenderRubyAsInline::removeChild):
1564         (WebCore::RenderRubyAsBlock::removeChild):
1565         * rendering/RenderRuby.h:
1566         * rendering/RenderRubyRun.cpp:
1567         (WebCore::RenderRubyRun::removeChild):
1568         * rendering/RenderRubyRun.h:
1569         * rendering/mathml/RenderMathMLRoot.cpp:
1570         (WebCore::RenderMathMLRootWrapper::removeChildWithoutRestructuring):
1571         (WebCore::RenderMathMLRootWrapper::removeChild):
1572         * rendering/mathml/RenderMathMLRoot.h:
1573         * rendering/mathml/RenderMathMLScripts.cpp:
1574         (WebCore::RenderMathMLScripts::removeChildInternal):
1575         (WebCore::RenderMathMLScripts::removeChild):
1576         (WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
1577         (WebCore::RenderMathMLScriptsWrapper::removeChild):
1578         * rendering/mathml/RenderMathMLScripts.h:
1579         * rendering/svg/RenderSVGContainer.cpp:
1580         (WebCore::RenderSVGContainer::removeChild):
1581         * rendering/svg/RenderSVGContainer.h:
1582         * rendering/svg/RenderSVGInline.cpp:
1583         (WebCore::RenderSVGInline::removeChild):
1584         * rendering/svg/RenderSVGInline.h:
1585         * rendering/svg/RenderSVGRoot.cpp:
1586         (WebCore::RenderSVGRoot::removeChild):
1587         * rendering/svg/RenderSVGRoot.h:
1588         * rendering/svg/RenderSVGText.cpp:
1589         (WebCore::RenderSVGText::removeChild):
1590         * rendering/svg/RenderSVGText.h:
1591
1592 2014-11-21  Tim Horton  <timothy_horton@apple.com>
1593
1594         REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
1595         ​https://bugs.webkit.org/show_bug.cgi?id=138960
1596         <rdar://problem/19056715>
1597
1598         Reviewed by Anders Carlsson.
1599
1600         * platform/spi/mac/DataDetectorsSPI.h:
1601         Add some DataDetectors SPI.
1602
1603 2014-11-21  Jer Noble  <jer.noble@apple.com>
1604
1605         [Mac] Random crashes inside media libraries when creating then destroying media quickly.
1606         https://bugs.webkit.org/show_bug.cgi?id=138980
1607
1608         Reviewed by Eric Carlson.
1609
1610         Speculative fix for random crashes in the layout tests which occur randomly but regularly. The theory is
1611         that creating-then-destroying our media objects too quickly triggers crashes deep within the media frameworks
1612         when their initialization threads don't have a chance to complete before the main player object is destroyed.
1613         Test out this theory by delaying the destruction of the AVPlayer object for 1s after its owner is destroyed.
1614
1615         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1616         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
1617
1618 2014-11-21  Jer Noble  <jer.noble@apple.com>
1619
1620         [Mac] Delay of 1-2s after the first paint of a video frame.
1621         https://bugs.webkit.org/show_bug.cgi?id=138979
1622
1623         Reviewed by Eric Carlson.
1624
1625         Only bother waiting for a signal that a new image is ready when the image isn't ready in the first place.
1626
1627         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1628         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
1629
1630 2014-11-21  Glenn Adams  <glenn@skynav.com> and Myles C. Maxfield  <mmaxfield@apple.com>
1631
1632         Add support to -webkit-line-break property for CSS3 Text line-break property values and semantics.
1633         https://bugs.webkit.org/show_bug.cgi?id=89235
1634
1635         Reviewed by Eric Seidel and Dave Hyatt.
1636
1637         This patch adds semantic support for the CSS3 line-break property (qua -webkit-line-break),
1638         and enables testing on (apple) mac ports. Follow on patches will enable these tests on
1639         other ports as they are incrementally verified.
1640
1641         See also wiki documentation at:
1642         [1] http://trac.webkit.org/wiki/LineBreaking
1643         [2] http://trac.webkit.org/wiki/LineBreakingCSS3Mapping
1644
1645         Tests: css3/line-break/line-break-auto-centered.html
1646                css3/line-break/line-break-auto-half-kana.html
1647                css3/line-break/line-break-auto-hyphens.html
1648                css3/line-break/line-break-auto-inseparables.html
1649                css3/line-break/line-break-auto-iteration-marks.html
1650                css3/line-break/line-break-auto-postfixes.html
1651                css3/line-break/line-break-auto-prefixes.html
1652                css3/line-break/line-break-auto-sound-marks.html
1653                css3/line-break/line-break-loose-centered.html
1654                css3/line-break/line-break-loose-half-kana.html
1655                css3/line-break/line-break-loose-hyphens.html
1656                css3/line-break/line-break-loose-inseparables.html
1657                css3/line-break/line-break-loose-iteration-marks.html
1658                css3/line-break/line-break-loose-postfixes.html
1659                css3/line-break/line-break-loose-prefixes.html
1660                css3/line-break/line-break-loose-sound-marks.html
1661                css3/line-break/line-break-normal-centered.html
1662                css3/line-break/line-break-normal-half-kana.html
1663                css3/line-break/line-break-normal-hyphens.html
1664                css3/line-break/line-break-normal-inseparables.html
1665                css3/line-break/line-break-normal-iteration-marks.html
1666                css3/line-break/line-break-normal-postfixes.html
1667                css3/line-break/line-break-normal-prefixes.html
1668                css3/line-break/line-break-normal-sound-marks.html
1669                css3/line-break/line-break-strict-centered.html
1670                css3/line-break/line-break-strict-half-kana.html
1671                css3/line-break/line-break-strict-hyphens.html
1672                css3/line-break/line-break-strict-inseparables.html
1673                css3/line-break/line-break-strict-iteration-marks.html
1674                css3/line-break/line-break-strict-postfixes.html
1675                css3/line-break/line-break-strict-prefixes.html
1676                css3/line-break/line-break-strict-sound-marks.html
1677
1678         These tests were previously added in http://trac.webkit.org/changeset/143378, but skipped
1679         in generic TestExpectations. In this patch, they are marked as Pass for the (apple) mac ports.
1680
1681         * platform/text/LineBreakIteratorPoolICU.h:
1682         (WebCore::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
1683         Add static function to construct ICU locale argument (also used as pool key) with additional
1684         break keyword.
1685         (LineBreakIteratorPool):
1686         (WebCore::LineBreakIteratorPool::take):
1687         (WebCore::LineBreakIteratorPool::put):
1688         Remove direct dependency from ICU library (and types), moving that dependency into
1689         new {open,close}LineBreakIterator() functions (defined in TextBreakIteratorICU.cpp).
1690         Update to take line break mode into account.
1691         Create (and cache) different break iterators depending on line break mode (in addition to locale),
1692         which entails expanding pool entry key format to optionally append "@break=" +
1693         "loose"|"normal"|"strict" keyword to locale string.
1694
1695         * platform/text/TextBreakIterator.h:
1696         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
1697         (WebCore::LazyLineBreakIterator::isLooseCJKMode):
1698         (WebCore::LazyLineBreakIterator::get):
1699         (WebCore::LazyLineBreakIterator::reset):
1700         (LazyLineBreakIterator):
1701         Define LineBreakIteratorMode enumeration for use in TextBreakIterator et al.
1702         Add state member to indicate line break mode.
1703
1704         * platform/text/TextBreakIteratorICU.cpp:
1705         (WebCore::acquireLineBreakIterator):
1706         Use new line break mode when making iterator from pool.
1707         Handle change of return type of LineBreakIteratorPool::take() to non-ICU type,
1708         i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
1709         (WebCore::releaseLineBreakIterator):
1710         Handle change of parameter type of LineBreakIteratorPool::put() to non-ICU type,
1711         i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
1712         (WebCore):
1713         (WebCore::isCJKLocale):
1714         New functions for determining if CJK rules apply.
1715         (WebCore::openLineBreakIterator):
1716         New function for abstracting opening of ICU style line break iterator. This is now
1717         used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.
1718         This function also takes into account the line break mode.
1719
1720         Note that this function only calls ubrk_openRules() when the author has opted-in via
1721         using the -webkit-line-break CSS property. Eventually, we would like to be able to
1722         customize the rules that ICU's line breaking algorithm uses (especially for CJK text);
1723         however, ubrk_openRules() currently parses its input string to create a DFA and is
1724         therefore very slow. In fact, it's so slow that increasing our cache size in
1725         LineBreakIteratorPool doesn't actually help enough. Also note that the default value
1726         for the line-break CSS property is 'auto'.
1727         (WebCore::closeLineBreakIterator):
1728         (WebCore::mapLineIteratorModeToRules):
1729         New function for abstracting closing of ICU style line break iterator. This is now
1730         used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.
1731
1732         * rendering/RenderBlockLineLayout.cpp:
1733         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1734         Pass line break iterator mode flag when reseting LazyLineBreakIterator.
1735         Add looseMode local variable to prevent need for computing under isBreakable().
1736
1737         * rendering/RenderText.cpp:
1738         (WebCore::mapLineBreakToIteratorMode):
1739         Add implementation for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
1740         and RenderBlock::LineBreaker::nextLineBreak.
1741         (WebCore):
1742         (WebCore::RenderText::computePreferredLogicalWidths):
1743         Ensure (lazy line) breakIterator is initialized for line break mode.
1744         Ensure isBreakable() is passed loose mode flag to match behavior in RenderBlock::LineBreaker::nextLineBreak.
1745
1746         * rendering/RenderText.h:
1747         (WebCore):
1748         Add declaration for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
1749         and RenderBlock::LineBreaker::nextLineBreak.
1750
1751         * rendering/break_lines.cpp:
1752         (WebCore):
1753         Introduce (local) enum NBSPBehavior for expanding template on nextBreakablePosition.
1754         (WebCore::isBreakableSpace):
1755         Add externally specified loose mode parameter to prevent need to invoke line break iterator
1756         accessor method on each invocation. Use new loose mode flavors off NBP functions.
1757         (WebCore::needsLineBreakIterator):
1758         Use enum NBSP behavior template parameter rather than boolean.
1759         (WebCore::nextBreakablePositionNonLoosely):
1760         Extend name to distinguish from loose flavor of this function.
1761         (WebCore::nextBreakablePositionLoosely):
1762         Add loose flavor of NBP invoked only when loose mode applies, in which case ASCII shortcut
1763         table cannot be used.
1764         (WebCore::nextBreakablePosition):
1765         (WebCore::nextBreakablePositionIgnoringNBSP):
1766         Use (renamed) non-loose flavor of NBP.
1767         (WebCore::nextBreakablePositionLoose):
1768         (WebCore::nextBreakablePositionIgnoringNBSPLoose):
1769         Introduce loose flavor of NBP template expansions.
1770
1771         * rendering/break_lines.h:
1772         (WebCore):
1773         (WebCore::isBreakable):
1774         Add externally specified loose mode parameter to prevent need to invoke line break iterator
1775         accessor method on each invocation.
1776
1777 2014-11-21  Anders Carlsson  <andersca@apple.com>
1778
1779         More build fixes.
1780
1781         * Modules/mediastream/MediaStream.cpp:
1782         (WebCore::MediaStream::MediaStream):
1783
1784 2014-11-21  Eric Carlson  <eric.carlson@apple.com>
1785
1786         [iOS] allocate volume view on the main thread
1787         https://bugs.webkit.org/show_bug.cgi?id=138971
1788         rdar://problem/18016958
1789
1790         Reviewed by Jer Noble.
1791
1792         * platform/audio/ios/MediaSessionManagerIOS.mm:
1793         (-[WebMediaSessionHelper allocateVolumeView]): New, dispatch to the main thread if necessary before allocating
1794             the volume view.
1795         (-[WebMediaSessionHelper initWithCallback:]): Call allocateVolumeView.
1796
1797 2014-11-21  Zalan Bujtas  <zalan@apple.com>
1798
1799         REGRESSION(r175259) Simple line layout text measuring behavior changed.
1800         https://bugs.webkit.org/show_bug.cgi?id=138947
1801         rdar://problem/19050653
1802
1803         Reviewed by Antti Koivisto.
1804
1805         In certain cases, when block flow needs to compute the preferred width of a particular text
1806         renderer, we use the non-simple line layout text measuring.
1807         However, the same text renderer might end up at simple line layout later.
1808         Complex line layout measures text including the trailing space and it subtracts
1809         (the constant value of) space width afterwards, while simple line layout measures
1810         runs without the extra space.
1811         In such cases, this may result different word widths and produce unexpected line breaking. (preferred width != final width)
1812         In long term, any text renderer qualified for simple line layout should go through the simple
1813         text measuring code path. (https://bugs.webkit.org/show_bug.cgi?id=138973)
1814         For now, just copy complex line layout behaviour. This also matches the previous simple line layout line breaking implementation.
1815
1816         Test: fast/text/simple-line-text-measuring-with-trailing-space.html
1817
1818         * rendering/SimpleLineLayoutFlowContents.cpp:
1819         (WebCore::SimpleLineLayout::FlowContents::textWidth):
1820
1821 2014-11-21  Anders Carlsson  <andersca@apple.com>
1822
1823         More Windows build fixes.
1824
1825         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
1826         (WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost):
1827         (WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
1828         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
1829         * platform/mock/GeolocationClientMock.cpp:
1830         (WebCore::GeolocationClientMock::GeolocationClientMock):
1831         (WebCore::GeolocationClientMock::permissionTimerFired):
1832         (WebCore::GeolocationClientMock::controllerTimerFired):
1833         * platform/mock/GeolocationClientMock.h:
1834
1835 2014-11-21  Andreas Kling  <akling@apple.com>
1836
1837         RenderMathMLScripts isPrescript() helper should take a reference.
1838         <https://webkit.org/b/138975>
1839
1840         Reviewed by Antti Koivisto.
1841
1842         Tidy this up a bit, since it's never called with a null pointer.
1843
1844         * rendering/mathml/RenderMathMLScripts.cpp:
1845         (WebCore::isPrescript):
1846         (WebCore::RenderMathMLScripts::fixAnonymousStyles):
1847         (WebCore::RenderMathMLScripts::addChildInternal):
1848         (WebCore::RenderMathMLScripts::removeChildInternal):
1849         (WebCore::RenderMathMLScripts::layout):
1850         (WebCore::RenderMathMLScriptsWrapper::addChildInternal):
1851         (WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
1852
1853 2014-11-21  Anders Carlsson  <andersca@apple.com>
1854
1855         Windows build fixes.
1856
1857         * plugins/PluginPackage.cpp:
1858         (WebCore::PluginPackage::freeLibraryTimerFired):
1859         (WebCore::PluginPackage::PluginPackage):
1860         * plugins/PluginPackage.h:
1861         * plugins/PluginStream.cpp:
1862         (WebCore::PluginStream::PluginStream):
1863         (WebCore::PluginStream::delayDeliveryTimerFired):
1864         (WebCore::PluginStream::deliverData): Deleted.
1865         * plugins/PluginStream.h:
1866         * plugins/PluginView.cpp:
1867         (WebCore::PluginView::popPopupsStateTimerFired):
1868         (WebCore::PluginView::requestTimerFired):
1869         (WebCore::PluginView::invalidateTimerFired):
1870         (WebCore::PluginView::PluginView):
1871         (WebCore::PluginView::lifeSupportTimerFired):
1872         (WebCore::PluginView::performRequest): Deleted.
1873         (WebCore::PluginView::setValue): Deleted.
1874         (WebCore::PluginView::setParameters): Deleted.
1875         (WebCore::PluginView::userAgent): Deleted.
1876         * plugins/PluginView.h:
1877         * plugins/win/PluginMessageThrottlerWin.cpp:
1878         (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin):
1879         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
1880         * plugins/win/PluginMessageThrottlerWin.h:
1881
1882 2014-11-21  Tim Horton  <timothy_horton@apple.com>
1883
1884         REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
1885         https://bugs.webkit.org/show_bug.cgi?id=138960
1886         <rdar://problem/19056715>
1887
1888         Reviewed by Beth Dakin.
1889
1890         * platform/spi/mac/DataDetectorsSPI.h:
1891         Softlink some SPI.
1892
1893 2014-11-21  Tim Horton  <timothy_horton@apple.com>
1894
1895         Move TextIndicator{Window} to WebCore
1896         https://bugs.webkit.org/show_bug.cgi?id=138954
1897         <rdar://problem/18992185>
1898
1899         Some adjustments by Csaba Osztrogonác.
1900         Reviewed by Anders Carlsson.
1901
1902         Move TextIndicator and TextIndicatorWindow to WebCore so that both
1903         WebKits can share the implementation.
1904
1905         * CMakeLists.txt:
1906         Build TextIndicator.
1907
1908         * WebCore.exp.in:
1909         Export TextIndicator{Window} symbols for the WebKits.
1910
1911         * WebCore.xcodeproj/project.pbxproj:
1912         * page/TextIndicator.cpp: Renamed from Source/WebKit2/Shared/TextIndicator.cpp.
1913         * page/TextIndicator.h: Renamed from Source/WebKit2/Shared/TextIndicator.h.
1914         Straighforward move of TextIndicator from WebKit2, except:
1915
1916         Move TextIndicator::Data and TextIndicator::PresentationTransition out directly
1917         into the WebCore namespace to allow for implementation of WebKit2 argument coders.
1918
1919         Use Image instead of ShareableBitmap internally.
1920
1921         Move the TextIndicatorData encode/decode to WebCoreArgumentCoders.
1922         
1923         * page/mac/TextIndicatorWindow.h: Renamed from Source/WebKit2/UIProcess/mac/TextIndicatorWindow.h.
1924         * page/mac/TextIndicatorWindow.mm: Renamed from Source/WebKit2/UIProcess/mac/TextIndicatorWindow.mm.
1925         Straighforward move of TextIndicatorWindow from WebKit2.
1926
1927 2014-11-21  Anders Carlsson  <andersca@apple.com>
1928
1929         Remove the Timer parameters from timer callbacks
1930         https://bugs.webkit.org/show_bug.cgi?id=138974
1931
1932         Reviewed by Antti Koivisto.
1933
1934         * Modules/encryptedmedia/MediaKeySession.cpp:
1935         (WebCore::MediaKeySession::MediaKeySession):
1936         (WebCore::MediaKeySession::keyRequestTimerFired):
1937         (WebCore::MediaKeySession::addKeyTimerFired):
1938         * Modules/encryptedmedia/MediaKeySession.h:
1939         * Modules/geolocation/Geolocation.cpp:
1940         (WebCore::Geolocation::GeoNotifier::GeoNotifier):
1941         (WebCore::Geolocation::GeoNotifier::timerFired):
1942         (WebCore::Geolocation::Geolocation):
1943         (WebCore::Geolocation::resumeTimerFired):
1944         * Modules/geolocation/Geolocation.h:
1945         * Modules/indexeddb/IDBTransactionBackend.cpp:
1946         (WebCore::IDBTransactionBackend::IDBTransactionBackend):
1947         (WebCore::IDBTransactionBackend::taskTimerFired):
1948         * Modules/indexeddb/IDBTransactionBackend.h:
1949         * Modules/mediasource/SourceBuffer.cpp:
1950         (WebCore::SourceBuffer::SourceBuffer):
1951         (WebCore::SourceBuffer::appendBufferTimerFired):
1952         (WebCore::SourceBuffer::removeTimerFired):
1953         * Modules/mediasource/SourceBuffer.h:
1954         * Modules/mediastream/MediaStream.cpp:
1955         (WebCore::MediaStream::MediaStream):
1956         (WebCore::MediaStream::scheduledEventTimerFired):
1957         * Modules/mediastream/MediaStream.h:
1958         * Modules/mediastream/RTCDTMFSender.cpp:
1959         (WebCore::RTCDTMFSender::RTCDTMFSender):
1960         (WebCore::RTCDTMFSender::scheduledEventTimerFired):
1961         * Modules/mediastream/RTCDTMFSender.h:
1962         * Modules/mediastream/RTCDataChannel.cpp:
1963         (WebCore::RTCDataChannel::RTCDataChannel):
1964         (WebCore::RTCDataChannel::scheduledEventTimerFired):
1965         * Modules/mediastream/RTCDataChannel.h:
1966         * Modules/mediastream/RTCPeerConnection.cpp:
1967         (WebCore::RTCPeerConnection::RTCPeerConnection):
1968         (WebCore::RTCPeerConnection::scheduledEventTimerFired):
1969         * Modules/mediastream/RTCPeerConnection.h:
1970         * Modules/notifications/Notification.cpp:
1971         (WebCore::Notification::Notification):
1972         (WebCore::Notification::taskTimerFired):
1973         * Modules/notifications/Notification.h:
1974         * Modules/notifications/NotificationCenter.cpp:
1975         (WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback):
1976         (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
1977         * Modules/notifications/NotificationCenter.h:
1978         * Modules/websockets/WebSocketChannel.cpp:
1979         (WebCore::WebSocketChannel::WebSocketChannel):
1980         (WebCore::WebSocketChannel::resumeTimerFired):
1981         (WebCore::WebSocketChannel::closingTimerFired):
1982         * Modules/websockets/WebSocketChannel.h:
1983         * accessibility/AXObjectCache.cpp:
1984         (WebCore::AXObjectCache::AXObjectCache):
1985         (WebCore::AXObjectCache::notificationPostTimerFired):
1986         * accessibility/AXObjectCache.h:
1987         * bindings/js/GCController.cpp:
1988         (WebCore::GCController::GCController):
1989         (WebCore::GCController::gcTimerFired):
1990         * bindings/js/GCController.h:
1991         * css/CSSFontFaceSource.h:
1992         * css/CSSFontSelector.cpp:
1993         (WebCore::CSSFontSelector::CSSFontSelector):
1994         (WebCore::CSSFontSelector::beginLoadTimerFired):
1995         * css/CSSFontSelector.h:
1996         * css/CSSImageGeneratorValue.cpp:
1997         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
1998         * css/StyleResolver.cpp:
1999         (WebCore::StyleResolver::StyleResolver):
2000         (WebCore::StyleResolver::sweepMatchedPropertiesCache):
2001         * css/StyleResolver.h:
2002         * dom/Document.cpp:
2003         (WebCore::Document::Document):
2004         (WebCore::Document::visualUpdatesSuppressionTimerFired):
2005         (WebCore::Document::styleRecalcTimerFired):
2006         (WebCore::Document::optimizedStyleSheetUpdateTimerFired):
2007         (WebCore::Document::sharedObjectPoolClearTimerFired):
2008         (WebCore::Document::updateFocusAppearanceTimerFired):
2009         (WebCore::Document::pendingTasksTimerFired):
2010         (WebCore::Document::webkitWillEnterFullScreenForElement):
2011         (WebCore::Document::webkitDidExitFullScreenForElement):
2012         (WebCore::Document::fullScreenChangeDelayTimerFired):
2013         (WebCore::Document::loadEventDelayTimerFired):
2014         (WebCore::Document::didAssociateFormControlsTimerFired):
2015         (WebCore::Document::domCookieCacheExpiryTimerFired):
2016         * dom/Document.h:
2017         * dom/EventSender.h:
2018         (WebCore::EventSender::timerFired):
2019         (WebCore::EventSender<T>::EventSender):
2020         * dom/ScriptRunner.cpp:
2021         (WebCore::ScriptRunner::ScriptRunner):
2022         (WebCore::ScriptRunner::timerFired):
2023         * dom/ScriptRunner.h:
2024         * dom/ScriptedAnimationController.cpp:
2025         (WebCore::ScriptedAnimationController::ScriptedAnimationController):
2026         (WebCore::ScriptedAnimationController::animationTimerFired):
2027         * dom/ScriptedAnimationController.h:
2028         * dom/StyledElement.cpp:
2029         (WebCore::PresentationAttributeCacheCleaner::PresentationAttributeCacheCleaner):
2030         (WebCore::PresentationAttributeCacheCleaner::cleanCache):
2031         * editing/AlternativeTextController.cpp:
2032         (WebCore::AlternativeTextController::AlternativeTextController):
2033         (WebCore::AlternativeTextController::timerFired):
2034         * editing/AlternativeTextController.h:
2035         * editing/Editor.cpp:
2036         (WebCore::Editor::Editor):
2037         (WebCore::Editor::updateEditorUINowIfScheduled):
2038         (WebCore::Editor::editorUIUpdateTimerFired):
2039         (WebCore::Editor::scanSelectionForTelephoneNumbers): Deleted.
2040         * editing/Editor.h:
2041         * editing/FrameSelection.cpp:
2042         (WebCore::FrameSelection::FrameSelection):
2043         (WebCore::FrameSelection::caretBlinkTimerFired):
2044         * editing/FrameSelection.h:
2045         * editing/SpellChecker.cpp:
2046         (WebCore::SpellChecker::SpellChecker):
2047         (WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
2048         * editing/SpellChecker.h:
2049         * html/HTMLFormElement.cpp:
2050         (WebCore::HTMLFormElement::HTMLFormElement):
2051         (WebCore::HTMLFormElement::requestAutocompleteTimerFired):
2052         * html/HTMLFormElement.h:
2053         * html/HTMLMediaElement.cpp:
2054         (WebCore::HTMLMediaElement::HTMLMediaElement):
2055         (WebCore::HTMLMediaElement::parseAttribute):
2056         * html/HTMLMediaElement.h:
2057         * html/HTMLPlugInElement.cpp:
2058         (WebCore::HTMLPlugInElement::HTMLPlugInElement):
2059         (WebCore::HTMLPlugInElement::swapRendererTimerFired):
2060         * html/HTMLPlugInElement.h:
2061         * html/HTMLPlugInImageElement.cpp:
2062         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
2063         (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
2064         * html/HTMLPlugInImageElement.h:
2065         * html/HTMLSourceElement.cpp:
2066         (WebCore::HTMLSourceElement::HTMLSourceElement):
2067         (WebCore::HTMLSourceElement::errorEventTimerFired):
2068         * html/HTMLSourceElement.h:
2069         * html/HTMLTrackElement.cpp:
2070         (WebCore::HTMLTrackElement::HTMLTrackElement):
2071         (WebCore::HTMLTrackElement::loadTimerFired):
2072         * html/HTMLTrackElement.h:
2073         * html/MediaController.cpp:
2074         (MediaController::MediaController):
2075         (MediaController::asyncEventTimerFired):
2076         (MediaController::clearPositionTimerFired):
2077         (MediaController::timeupdateTimerFired):
2078         * html/MediaController.h:
2079         * html/MediaDocument.cpp:
2080         (WebCore::MediaDocument::MediaDocument):
2081         (WebCore::MediaDocument::replaceMediaElementTimerFired):
2082         * html/MediaDocument.h:
2083         * html/SearchInputType.cpp:
2084         (WebCore::SearchInputType::SearchInputType):
2085         (WebCore::SearchInputType::searchEventTimerFired):
2086         * html/SearchInputType.h:
2087         * html/ValidationMessage.cpp:
2088         (WebCore::ValidationMessage::setMessage):
2089         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
2090         (WebCore::ValidationMessage::buildBubbleTree):
2091         (WebCore::ValidationMessage::requestToHideMessage):
2092         (WebCore::ValidationMessage::deleteBubbleTree):
2093         * html/ValidationMessage.h:
2094         * html/canvas/WebGLRenderingContext.cpp:
2095         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2096         (WebCore::WebGLRenderingContext::dispatchContextLostEvent):
2097         (WebCore::WebGLRenderingContext::maybeRestoreContext):
2098         * html/canvas/WebGLRenderingContext.h:
2099         * html/parser/HTMLParserScheduler.cpp:
2100         (WebCore::HTMLParserScheduler::HTMLParserScheduler):
2101         (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
2102         * html/parser/HTMLParserScheduler.h:
2103         * html/shadow/MediaControlElements.cpp:
2104         (WebCore::MediaControlPanelElement::MediaControlPanelElement):
2105         (WebCore::MediaControlPanelElement::transitionTimerFired):
2106         (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement):
2107         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
2108         * html/shadow/MediaControlElements.h:
2109         * html/shadow/MediaControls.cpp:
2110         (WebCore::MediaControls::MediaControls):
2111         (WebCore::MediaControls::hideFullscreenControlsTimerFired):
2112         * html/shadow/MediaControls.h:
2113         * html/shadow/SpinButtonElement.cpp:
2114         (WebCore::SpinButtonElement::SpinButtonElement):
2115         (WebCore::SpinButtonElement::repeatingTimerFired):
2116         * html/shadow/SpinButtonElement.h:
2117         * html/track/LoadableTextTrack.cpp:
2118         (WebCore::LoadableTextTrack::LoadableTextTrack):
2119         (WebCore::LoadableTextTrack::loadTimerFired):
2120         * html/track/LoadableTextTrack.h:
2121         * html/track/VTTRegion.cpp:
2122         (WebCore::VTTRegion::VTTRegion):
2123         (WebCore::VTTRegion::scrollTimerFired):
2124         * html/track/VTTRegion.h:
2125         * inspector/InspectorCSSAgent.cpp:
2126         (WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask):
2127         (WebCore::ChangeRegionOversetTask::timerFired):
2128         * inspector/InspectorDOMAgent.cpp:
2129         (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
2130         (WebCore::RevalidateStyleAttributeTask::timerFired):
2131         * inspector/InspectorFrontendClientLocal.cpp:
2132         (WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
2133         (WebCore::InspectorBackendDispatchTask::timerFired):
2134         * inspector/InspectorOverlay.cpp:
2135         (WebCore::InspectorOverlay::InspectorOverlay):
2136         (WebCore::InspectorOverlay::updatePaintRectsTimerFired):
2137         * inspector/InspectorOverlay.h:
2138         * loader/DocumentLoader.cpp:
2139         (WebCore::DocumentLoader::DocumentLoader):
2140         (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
2141         (WebCore::DocumentLoader::handleSubstituteDataLoadSoon):
2142         (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
2143         * loader/DocumentLoader.h:
2144         * loader/FrameLoader.cpp:
2145         (WebCore::FrameLoader::FrameLoader):
2146         (WebCore::FrameLoader::checkTimerFired):
2147         * loader/FrameLoader.h:
2148         * loader/ImageLoader.cpp:
2149         (WebCore::ImageLoader::ImageLoader):
2150         (WebCore::ImageLoader::timerFired):
2151         * loader/ImageLoader.h:
2152         * loader/LinkLoader.cpp:
2153         (WebCore::LinkLoader::LinkLoader):
2154         (WebCore::LinkLoader::linkLoadTimerFired):
2155         (WebCore::LinkLoader::linkLoadingErrorTimerFired):
2156         * loader/LinkLoader.h:
2157         * loader/NavigationScheduler.cpp:
2158         (WebCore::NavigationScheduler::NavigationScheduler):
2159         (WebCore::NavigationScheduler::timerFired):
2160         * loader/NavigationScheduler.h:
2161         * loader/PingLoader.cpp:
2162         (WebCore::PingLoader::PingLoader):
2163         * loader/PingLoader.h:
2164         (WebCore::PingLoader::timeoutTimerFired):
2165         * loader/ProgressTracker.cpp:
2166         (WebCore::ProgressTracker::ProgressTracker):
2167         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
2168         * loader/ProgressTracker.h:
2169         * loader/ResourceLoadScheduler.cpp:
2170         (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
2171         (WebCore::ResourceLoadScheduler::requestTimerFired):
2172         * loader/ResourceLoadScheduler.h:
2173         * loader/TextTrackLoader.cpp:
2174         (WebCore::TextTrackLoader::TextTrackLoader):
2175         (WebCore::TextTrackLoader::cueLoadTimerFired):
2176         * loader/TextTrackLoader.h:
2177         * loader/cache/CachedResource.cpp:
2178         (WebCore::CachedResource::CachedResource):
2179         (WebCore::CachedResource::Callback::Callback):
2180         (WebCore::CachedResource::Callback::timerFired):
2181         * loader/cache/CachedResource.h:
2182         * loader/cache/CachedResourceLoader.cpp:
2183         (WebCore::CachedResourceLoader::CachedResourceLoader):
2184         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
2185         * loader/cache/CachedResourceLoader.h:
2186         * loader/icon/IconDatabase.cpp:
2187         (WebCore::IconDatabase::IconDatabase):
2188         (WebCore::IconDatabase::syncTimerFired):
2189         * loader/icon/IconDatabase.h:
2190         * page/AutoscrollController.cpp:
2191         (WebCore::AutoscrollController::AutoscrollController):
2192         (WebCore::AutoscrollController::autoscrollTimerFired):
2193         * page/AutoscrollController.h:
2194         * page/CaptionUserPreferences.cpp:
2195         (WebCore::CaptionUserPreferences::CaptionUserPreferences):
2196         (WebCore::CaptionUserPreferences::timerFired):
2197         * page/CaptionUserPreferences.h:
2198         * page/CaptionUserPreferencesMediaAF.cpp:
2199         (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
2200         (WebCore::CaptionUserPreferencesMediaAF::updateTimerFired):
2201         * page/CaptionUserPreferencesMediaAF.h:
2202         * page/DeviceController.cpp:
2203         (WebCore::DeviceController::DeviceController):
2204         (WebCore::DeviceController::fireDeviceEvent):
2205         * page/DeviceController.h:
2206         * page/EventHandler.cpp:
2207         (WebCore::EventHandler::EventHandler):
2208         (WebCore::EventHandler::cursorUpdateTimerFired):
2209         (WebCore::EventHandler::autoHideCursorTimerFired):
2210         (WebCore::EventHandler::recognizeLongMousePress):
2211         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
2212         (WebCore::EventHandler::hoverTimerFired):
2213         * page/EventHandler.h:
2214         * page/EventSource.cpp:
2215         (WebCore::EventSource::EventSource):
2216         (WebCore::EventSource::connectTimerFired):
2217         * page/EventSource.h:
2218         * page/FocusController.cpp:
2219         (WebCore::FocusController::FocusController):
2220         (WebCore::FocusController::focusRepaintTimerFired):
2221         * page/FocusController.h:
2222         * page/Frame.cpp:
2223         (WebCore::Frame::Frame):
2224         (WebCore::Frame::overflowAutoScrollTimerFired):
2225         * page/Frame.h:
2226         * page/FrameView.cpp:
2227         (WebCore::FrameView::FrameView):
2228         (WebCore::FrameView::delayedScrollEventTimerFired):
2229         (WebCore::FrameView::speculativeTilingEnableTimerFired):
2230         (WebCore::FrameView::layoutTimerFired):
2231         (WebCore::FrameView::updateEmbeddedObjectsTimerFired):
2232         (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
2233         (WebCore::FrameView::postLayoutTimerFired):
2234         * page/FrameView.h:
2235         * page/PageOverlay.cpp:
2236         (WebCore::PageOverlay::PageOverlay):
2237         (WebCore::PageOverlay::fadeAnimationTimerFired):
2238         * page/PageOverlay.h:
2239         * page/Settings.cpp:
2240         (WebCore::Settings::Settings):
2241         (WebCore::Settings::imageLoadingSettingsTimerFired):
2242         * page/Settings.h:
2243         * page/animation/AnimationController.cpp:
2244         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
2245         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2246         (WebCore::AnimationControllerPrivate::animationTimerFired):
2247         * page/animation/AnimationControllerPrivate.h:
2248         * page/mac/ServicesOverlayController.h:
2249         * page/mac/ServicesOverlayController.mm:
2250         (WebCore::ServicesOverlayController::ServicesOverlayController):
2251         (WebCore::ServicesOverlayController::determineActiveHighlightTimerFired):
2252         * page/scrolling/AsyncScrollingCoordinator.cpp:
2253         (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
2254         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
2255         * page/scrolling/AsyncScrollingCoordinator.h:
2256         * page/scrolling/ios/ScrollingCoordinatorIOS.h:
2257         * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
2258         (WebCore::ScrollingCoordinatorIOS::ScrollingCoordinatorIOS):
2259         (WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired):
2260         * page/scrolling/mac/ScrollingCoordinatorMac.h:
2261         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2262         (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
2263         (WebCore::ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired):
2264         * platform/HysteresisActivity.h:
2265         (WebCore::HysteresisActivity::HysteresisActivity):
2266         (WebCore::HysteresisActivity::hysteresisTimerFired):
2267         * platform/ScrollAnimator.cpp:
2268         (WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers):
2269         (WebCore::ScrollAnimator::horizontalScrollSnapTimerFired):
2270         (WebCore::ScrollAnimator::verticalScrollSnapTimerFired):
2271         * platform/ScrollAnimator.h:
2272         * platform/Scrollbar.cpp:
2273         (WebCore::Scrollbar::Scrollbar):
2274         (WebCore::Scrollbar::autoscrollTimerFired):
2275         * platform/Scrollbar.h:
2276         * platform/Timer.h:
2277         (WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer):
2278         (WebCore::Timer::Timer): Deleted.
2279         * platform/audio/MediaSession.cpp:
2280         (WebCore::MediaSession::MediaSession):
2281         (WebCore::MediaSession::clientDataBufferingTimerFired):
2282         * platform/audio/MediaSession.h:
2283         * platform/graphics/BitmapImage.cpp:
2284         (WebCore::BitmapImage::startAnimation):
2285         (WebCore::BitmapImage::advanceAnimation):
2286         * platform/graphics/BitmapImage.h:
2287         * platform/graphics/MediaPlayer.cpp:
2288         (WebCore::MediaPlayer::MediaPlayer):
2289         (WebCore::MediaPlayer::reloadTimerFired):
2290         * platform/graphics/MediaPlayer.h:
2291         * platform/graphics/ShadowBlur.cpp:
2292         (WebCore::ScratchBuffer::ScratchBuffer):
2293         (WebCore::ScratchBuffer::timerFired):
2294         * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:
2295         * platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:
2296         (WebCore::MediaSelectionGroupAVFObjC::MediaSelectionGroupAVFObjC):
2297         (WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired):
2298         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2299         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2300         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
2301         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekTimerFired):
2302         * platform/graphics/ca/LayerPool.cpp:
2303         (WebCore::LayerPool::LayerPool):
2304         (WebCore::LayerPool::pruneTimerFired):
2305         * platform/graphics/ca/LayerPool.h:
2306         * platform/graphics/ca/TileController.cpp:
2307         (WebCore::TileController::TileController):
2308         (WebCore::TileController::tileRevalidationTimerFired):
2309         * platform/graphics/ca/TileController.h:
2310         * platform/graphics/ca/TileGrid.cpp:
2311         (WebCore::TileGrid::TileGrid):
2312         (WebCore::TileGrid::cohortRemovalTimerFired):
2313         * platform/graphics/ca/TileGrid.h:
2314         * platform/graphics/cg/IOSurfacePool.cpp:
2315         (WebCore::IOSurfacePool::IOSurfacePool):
2316         (WebCore::IOSurfacePool::collectionTimerFired):
2317         * platform/graphics/cg/IOSurfacePool.h:
2318         * platform/graphics/cg/SubimageCacheWithTimer.cpp:
2319         (WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer):
2320         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2321         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2322         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
2323         (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
2324         * platform/ios/LegacyTileCache.h:
2325         * platform/ios/LegacyTileCache.mm:
2326         (WebCore::LegacyTileCache::LegacyTileCache):
2327         (WebCore::LegacyTileCache::tileCreationTimerFired):
2328         * platform/mac/HIDGamepadProvider.cpp:
2329         (WebCore::HIDGamepadProvider::HIDGamepadProvider):
2330         (WebCore::HIDGamepadProvider::connectionDelayTimerFired):
2331         (WebCore::HIDGamepadProvider::inputNotificationTimerFired):
2332         * platform/mac/HIDGamepadProvider.h:
2333         * platform/mac/ScrollAnimatorMac.h:
2334         * platform/mac/ScrollAnimatorMac.mm:
2335         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2336         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
2337         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
2338         (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
2339         * platform/mock/DeviceOrientationClientMock.cpp:
2340         (WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
2341         (WebCore::DeviceOrientationClientMock::timerFired):
2342         * platform/mock/DeviceOrientationClientMock.h:
2343         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
2344         (WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
2345         (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
2346         * platform/mock/PlatformSpeechSynthesizerMock.h:
2347         * platform/network/DNSResolveQueue.cpp:
2348         (WebCore::DNSResolveQueue::DNSResolveQueue):
2349         (WebCore::DNSResolveQueue::timerFired):
2350         * platform/network/DNSResolveQueue.h:
2351         * platform/network/NetworkStateNotifier.h:
2352         * platform/network/ResourceHandle.cpp:
2353         (WebCore::ResourceHandle::failureTimerFired):
2354         * platform/network/ResourceHandle.h:
2355         * platform/network/ResourceHandleInternal.h:
2356         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2357         * platform/network/mac/NetworkStateNotifierMac.cpp:
2358         (WebCore::NetworkStateNotifier::networkStateChangeTimerFired):
2359         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
2360         * rendering/ImageQualityController.cpp:
2361         (WebCore::ImageQualityController::ImageQualityController):
2362         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
2363         * rendering/ImageQualityController.h:
2364         * rendering/RenderButton.cpp:
2365         (WebCore::RenderButton::styleDidChange):
2366         (WebCore::RenderButton::timerFired):
2367         * rendering/RenderButton.h:
2368         * rendering/RenderLayerCompositor.cpp:
2369         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2370         (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
2371         (WebCore::RenderLayerCompositor::layerFlushTimerFired):
2372         (WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):
2373         * rendering/RenderLayerCompositor.h:
2374         * rendering/RenderMarquee.cpp:
2375         (WebCore::RenderMarquee::RenderMarquee):
2376         (WebCore::RenderMarquee::timerFired):
2377         * rendering/RenderMarquee.h:
2378         * rendering/RenderNamedFlowThread.cpp:
2379         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
2380         (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
2381         * rendering/RenderNamedFlowThread.h:
2382         * rendering/RenderProgress.cpp:
2383         (WebCore::RenderProgress::RenderProgress):
2384         (WebCore::RenderProgress::animationTimerFired):
2385         * rendering/RenderProgress.h:
2386         * rendering/RenderView.cpp:
2387         (WebCore::RenderView::RenderView):
2388         (WebCore::RenderView::lazyRepaintTimerFired):
2389         * rendering/RenderView.h:
2390         * replay/EventLoopInputDispatcher.cpp:
2391         (WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher):
2392         (WebCore::EventLoopInputDispatcher::timerFired):
2393         * replay/EventLoopInputDispatcher.h:
2394         * storage/StorageAreaImpl.cpp:
2395         (WebCore::StorageAreaImpl::StorageAreaImpl):
2396         (WebCore::StorageAreaImpl::closeDatabaseTimerFired):
2397         (WebCore::StorageAreaImpl::closeDatabaseIfIdle):
2398         * storage/StorageAreaImpl.h:
2399         * storage/StorageAreaSync.cpp:
2400         (WebCore::StorageAreaSync::StorageAreaSync):
2401         (WebCore::StorageAreaSync::scheduleFinalSync):
2402         (WebCore::StorageAreaSync::syncTimerFired):
2403         (WebCore::StorageAreaSync::scheduleSync):
2404         * storage/StorageAreaSync.h:
2405         * svg/SVGElement.cpp:
2406         (WebCore::SVGElement::svgLoadEventTimerFired):
2407         * svg/SVGElement.h:
2408         * svg/SVGScriptElement.cpp:
2409         (WebCore::SVGScriptElement::SVGScriptElement):
2410         * svg/SVGStyleElement.cpp:
2411         (WebCore::SVGStyleElement::SVGStyleElement):
2412         * svg/SVGUseElement.cpp:
2413         (WebCore::SVGUseElement::SVGUseElement):
2414         * svg/animation/SMILTimeContainer.cpp:
2415         (WebCore::SMILTimeContainer::SMILTimeContainer):
2416         (WebCore::SMILTimeContainer::timerFired):
2417         * svg/animation/SMILTimeContainer.h:
2418         * xml/XMLHttpRequestProgressEventThrottle.cpp:
2419         (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
2420         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
2421         * xml/XMLHttpRequestProgressEventThrottle.h:
2422
2423 2014-11-21  Chris Dumez  <cdumez@apple.com>
2424
2425         Crash when setting 'transition-delay' CSS property to a calculated value
2426         https://bugs.webkit.org/show_bug.cgi?id=138784
2427
2428         Reviewed by Sam Weinig.
2429
2430         Update CSSPrimitiveValue::computeTime() to use primitiveType() instead
2431         of m_primitiveUnitType so that it properly handles calculated values.
2432         Without this, we would hit the ASSERT_NOT_REACHED() assertion in
2433         computeTime() for calculated values.
2434
2435         Test: fast/css/transition-delay-calculated-value.html
2436
2437         * css/CSSPrimitiveValue.h:
2438         (WebCore::CSSPrimitiveValue::computeTime):
2439
2440 2014-11-21  Chris Dumez  <cdumez@apple.com>
2441
2442         Regression(r175381): -webkit-mask-box-image is broken
2443         https://bugs.webkit.org/show_bug.cgi?id=138969
2444         <rdar://problem/19054471>
2445
2446         Reviewed by Simon Fraser.
2447
2448         After r175381, the StyleBuilder would call NinePieceImage::setMaskDefaults()
2449         *after* calling CSSToStyleMap::mapNinePieceImage(), instead of *before*, for
2450         -webkit-mask-box-image CSS property. This was causing the mask defaults to
2451         overwrite what was set by mapNinePieceImage().
2452
2453         Test: fast/css/webkit-mask-box-image.html
2454
2455         * css/StyleBuilderConverter.h:
2456         (WebCore::StyleBuilderConverter::convertBorderMask):
2457
2458 2014-11-21  Chris Dumez  <cdumez@apple.com>
2459
2460         Crash when setting 'font' CSS property to 'calc(2 * 3)'
2461         https://bugs.webkit.org/show_bug.cgi?id=138933
2462
2463         Reviewed by Darin Adler.
2464
2465         The CSS Parser was not handling calculated values when parsing the font
2466         weight. This would lead us to hit an assertion when parsing a font
2467         property whose weight is set to a calculated value.
2468
2469         This patch updates parseFontWeight() to properly handle calculated
2470         values.
2471
2472         Test: fast/css/font-calculated-value.html
2473
2474         * css/CSSParser.cpp:
2475         (WebCore::CSSParser::parseFontWeight):
2476
2477 2014-11-21  Bear Travis  <betravis@gmail.com>
2478
2479         [CSS Font Loading] Switch to dispatching events asynchronously
2480         https://bugs.webkit.org/show_bug.cgi?id=138755
2481
2482         Reviewed by Simon Fraser.
2483
2484         Moving FontLoader to dispatch events and notify callbacks similarly
2485         to EventSender or the GenericEventQueue. Several bugs have popped
2486         up in the past because FontLoader has been sending events during
2487         layout, and there is no need for that to be the case.
2488
2489         Covered by existing font loader event tests. Added an additional
2490         test for the svg case, fontloader-svg-select.
2491
2492         * css/FontLoader.cpp:
2493         (WebCore::FontLoader::didLayout):
2494         (WebCore::FontLoader::timerFired): Adding asynchronous callback.
2495         (WebCore::FontLoader::scheduleEvent): Add an event to the dispatch
2496         queue.
2497         (WebCore::FontLoader::firePendingEvents): Modified to handle the
2498         loading done event and callbacks.
2499         (WebCore::FontLoader::loadingDone): Modified to spin up the timer
2500         rather than immediately dispatching events.
2501         * css/FontLoader.h:
2502
2503 2014-11-21  Daniel Bates  <dabates@apple.com>
2504
2505         Attempt to fix the internal Apple Mavericks build after <https://trac.webkit.org/changeset/176448>
2506         (https://bugs.webkit.org/show_bug.cgi?id=138930)
2507
2508         Declare NSCachedURLResponse SPI when building without the Apple Internal SDK and with the Apple
2509         Internal SDK when building for OS X Mavericks or earlier.
2510
2511         * platform/spi/cf/CFNetworkSPI.h:
2512
2513 2014-11-21  Anders Carlsson  <andersca@apple.com>
2514
2515         Make memoryCache() return a reference
2516         https://bugs.webkit.org/show_bug.cgi?id=138939
2517
2518         Reviewed by Antti Koivisto.
2519
2520         * inspector/InspectorPageAgent.cpp:
2521         (WebCore::InspectorPageAgent::cachedResource):
2522         * inspector/InspectorResourceAgent.cpp:
2523         (WebCore::InspectorResourceAgent::replayXHR):
2524         (WebCore::InspectorResourceAgent::setCacheDisabled):
2525         (WebCore::InspectorResourceAgent::mainFrameNavigated):
2526         * loader/DocumentLoader.cpp:
2527         (WebCore::areAllLoadersPageCacheAcceptable):
2528         (WebCore::DocumentLoader::finishedLoading):
2529         (WebCore::DocumentLoader::responseReceived):
2530         * loader/FrameLoader.cpp:
2531         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
2532         * loader/SubresourceLoader.cpp:
2533         (WebCore::SubresourceLoader::willSendRequest):
2534         (WebCore::SubresourceLoader::didReceiveResponse):
2535         (WebCore::SubresourceLoader::didFail):
2536         (WebCore::SubresourceLoader::willCancel):
2537         * loader/archive/cf/LegacyWebArchive.cpp:
2538         (WebCore::LegacyWebArchive::create):
2539         * loader/cache/CachedImage.cpp:
2540         (WebCore::CachedImage::addIncrementalDataBuffer):
2541         (WebCore::CachedImage::finishLoading):
2542         * loader/cache/CachedResource.cpp:
2543         (WebCore::deadDecodedDataDeletionIntervalForResourceType):
2544         (WebCore::CachedResource::~CachedResource):
2545         (WebCore::CachedResource::failBeforeStarting):
2546         (WebCore::CachedResource::addClientToSet):
2547         (WebCore::CachedResource::removeClient):
2548         (WebCore::CachedResource::destroyDecodedDataIfNeeded):
2549         (WebCore::CachedResource::setDecodedSize):
2550         (WebCore::CachedResource::setEncodedSize):
2551         (WebCore::CachedResource::didAccessDecodedData):
2552         * loader/cache/CachedResourceLoader.cpp:
2553         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
2554         (WebCore::CachedResourceLoader::requestResource):
2555         (WebCore::CachedResourceLoader::revalidateResource):
2556         (WebCore::CachedResourceLoader::loadResource):
2557         (WebCore::CachedResourceLoader::clearPreloads):
2558         (WebCore::CachedResourceLoader::printPreloadStats):
2559         * loader/cache/MemoryCache.cpp:
2560         (WebCore::memoryCache):
2561         (WebCore::MemoryCache::removeRequestFromCache):
2562         (WebCore::MemoryCache::removeRequestFromSessionCaches):
2563         * loader/cache/MemoryCache.h:
2564         * loader/cocoa/DiskCacheMonitorCocoa.mm:
2565         (WebCore::DiskCacheMonitor::resourceBecameFileBacked):
2566         * page/FrameView.cpp:
2567         (WebCore::FrameView::willPaintContents):
2568         (WebCore::FrameView::didPaintContents):
2569         * platform/MemoryPressureHandler.cpp:
2570         (WebCore::MemoryPressureHandler::releaseCriticalMemory):
2571         * testing/Internals.cpp:
2572         (WebCore::Internals::isLoadingFromMemoryCache):
2573
2574 2014-11-21  Daniel Bates  <dabates@apple.com>
2575
2576         [iOS] WebKit2 fails to build with public SDK due to missing SPI from CFNetwork, QuartzCore, MediaPlayer, XPC
2577         https://bugs.webkit.org/show_bug.cgi?id=138930
2578
2579         Reviewed by Anders Carlsson.
2580
2581         * WebCore.xcodeproj/project.pbxproj: Rename header MPAVRoutingControllerSPI.h to MediaPlayerSPI.h.
2582         * loader/cocoa/SubresourceLoaderCocoa.mm: Move NSCachedURLResponse forward declarations to file
2583         CFNetworkSPI.h and include header CFNetworkSPI.h.
2584         * loader/mac/ResourceLoaderMac.mm: Ditto.
2585         * platform/audio/ios/MediaSessionManagerIOS.mm: Substitute MediaPlayerSPI.h for MPAVRoutingControllerSPI.h.
2586         * platform/spi/cf/CFNetworkSPI.h: Add more SPI.
2587         * platform/spi/cg/CoreGraphicsSPI.h: Ditto.
2588         * platform/spi/cocoa/QuartzCoreSPI.h: Ditto.
2589         * platform/spi/ios/MediaPlayerSPI.h: Renamed from Source/WebCore/platform/spi/ios/MPAVRoutingControllerSPI.h.
2590
2591 2014-11-21  Chris Fleizach  <cfleizach@apple.com>
2592
2593         AX: MathML expressions are misread by VoiceOver
2594         https://bugs.webkit.org/show_bug.cgi?id=138948
2595
2596         Reviewed by Mario Sanchez Prada.
2597
2598         The logic for deciding what's the radicand and an index was too tied to children placement.
2599         We should instead pull directly from the source.
2600
2601         Test: platform/mac/accessibility/mathml-root.html
2602
2603         * accessibility/AccessibilityRenderObject.cpp:
2604         (WebCore::AccessibilityRenderObject::mathRadicandObject):
2605         (WebCore::AccessibilityRenderObject::mathRootIndexObject):
2606         * rendering/mathml/RenderMathMLRoot.h:
2607
2608 2014-11-20  Benjamin Poulain  <bpoulain@apple.com>
2609
2610         Remove the remaining vestiges of minimal-ui
2611         https://bugs.webkit.org/show_bug.cgi?id=138890
2612
2613         Reviewed by Sam Weinig.
2614
2615         In ViewportArguments' setViewportFeature(), I skip the warning for now.
2616
2617         * WebCore.exp.in:
2618         * dom/ViewportArguments.cpp:
2619         (WebCore::setViewportFeature):
2620         * dom/ViewportArguments.h:
2621         (WebCore::ViewportArguments::ViewportArguments):
2622         (WebCore::ViewportArguments::operator==):
2623         * page/ViewportConfiguration.cpp:
2624         (WebCore::ViewportConfiguration::ViewportConfiguration):
2625         (WebCore::ViewportConfiguration::initialScale):
2626         (WebCore::ViewportConfiguration::minimumScale):
2627         (WebCore::ViewportConfiguration::updateConfiguration):
2628         (WebCore::ViewportConfiguration::viewportArgumentsLength):
2629         (WebCore::ViewportConfiguration::layoutWidth):
2630         (WebCore::ViewportConfiguration::layoutHeight):
2631         (WebCore::ViewportConfigurationTextStream::operator<<):
2632         (WebCore::ViewportConfiguration::description):
2633         (WebCore::ViewportConfiguration::setMinimumLayoutSizeForMinimalUI): Deleted.
2634         (WebCore::ViewportConfiguration::activeMinimumLayoutSizeInScrollViewCoordinates): Deleted.
2635         (WebCore::ViewportConfiguration::resetMinimalUI): Deleted.
2636         (WebCore::ViewportConfiguration::didFinishDocumentLoad): Deleted.
2637         * page/ViewportConfiguration.h:
2638         (WebCore::ViewportConfiguration::minimumLayoutSizeForMinimalUI): Deleted.
2639         (WebCore::ViewportConfiguration::usesMinimalUI): Deleted.
2640
2641 2014-11-20  Benjamin Poulain  <benjamin@webkit.org>
2642
2643         Web Inspector: do not show invalid specificity for dynamic cases of :matches()
2644         https://bugs.webkit.org/show_bug.cgi?id=138911
2645
2646         Reviewed by Joseph Pecoraro.
2647
2648         * css/CSSSelector.cpp:
2649         (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
2650         (WebCore::functionalPseudoClassStaticSpecificity):
2651         (WebCore::staticSpecificityInternal):
2652         (WebCore::CSSSelector::staticSpecificity):
2653         (WebCore::CSSSelector::specificity): Deleted.
2654         * css/CSSSelector.h:
2655         Add an additional computation path for the inspector.
2656
2657         The regular path ignores everything inside function pseudo classes.
2658         This new path takes the static specificity of the regular path, then evaluate
2659         recursively all the selector lists inside any level of :matches().
2660
2661         If two complex selector of selector list do not have the same specificity,
2662         we bail out and refuse to compute a static specificity representing the selector.
2663
2664         * inspector/InspectorStyleSheet.cpp:
2665         (WebCore::buildObjectForSelectorHelper):
2666         (WebCore::selectorsFromSource):
2667         (WebCore::InspectorStyleSheet::buildObjectForSelector):
2668         Do not add the complexity to the inspector's CSSSelector structure whenever
2669         it is dynamic.
2670
2671 2014-11-20  Benjamin Poulain  <bpoulain@apple.com>
2672
2673         Remove InspectorCSSAgent::buildArrayForRuleList()
2674         https://bugs.webkit.org/show_bug.cgi?id=138907
2675
2676         Reviewed by Andreas Kling.
2677
2678         * inspector/InspectorCSSAgent.cpp:
2679         (WebCore::InspectorCSSAgent::buildArrayForRuleList): Deleted.
2680         * inspector/InspectorCSSAgent.h:
2681
2682 2014-11-20  Zalan Bujtas  <zalan@apple.com>
2683
2684         REGRESSION (174986): CSS clip property is ignored when border-radius is present.
2685         https://bugs.webkit.org/show_bug.cgi?id=138935
2686         rdar://problem/18965984
2687
2688         Reviewed by Simon Fraser.
2689
2690         Revert back to r163382 and fix bug 127729 properly. Save the graphics context when paint and clip rects are
2691         the same, but the clip rect has radius.
2692         Each iteration on ::clipRect() from r163382 onwards just introduced yet another regression.
2693
2694         Test: fast/clip/css-clip-does-not-work-when-border-radius-is-present.html
2695
2696         * rendering/RenderLayer.cpp:
2697         (WebCore::RenderLayer::clipToRect):
2698
2699 2014-11-20  Geoffrey Garen  <ggaren@apple.com>
2700
2701         Removed the custom allocator for PODRedBlackTree
2702         https://bugs.webkit.org/show_bug.cgi?id=138942
2703
2704         Reviewed by Sam Weinig.
2705
2706         bmalloc is fast enough.
2707
2708         * WebCore.xcodeproj/project.pbxproj:
2709         * platform/PODArena.h: Removed.
2710         * platform/PODFreeListArena.h: Removed. This is the point of the patch.
2711
2712         * platform/PODIntervalTree.h:
2713         (WebCore::PODIntervalTree::PODIntervalTree): Deleted. As a side effect
2714         of removing our custom allocator, we can no longer have a special
2715         "I'm not initialized yet" state. Instead, the tree either exists or not,
2716         like an idiomatic C++ object.
2717
2718         * platform/PODRedBlackTree.h:
2719         (WebCore::PODRedBlackTree::PODRedBlackTree): Ditto.
2720
2721         (WebCore::PODRedBlackTree::~PODRedBlackTree): We need to clear in our
2722         destructor because we can no longer rely on the arena destructor
2723         implicitly freeing our tree nodes.
2724
2725         Side note: This change basically removes the whole reason for having
2726         a purpose-built tree for POD data. We should probably remove this whole
2727         data structure in a follow-up patch, and just use a standard tree.
2728
2729         (WebCore::PODRedBlackTree::clear):
2730         (WebCore::PODRedBlackTree::add):
2731         (WebCore::PODRedBlackTree::remove):
2732         (WebCore::PODRedBlackTree::contains):
2733         (WebCore::PODRedBlackTree::visitInorder):
2734         (WebCore::PODRedBlackTree::size):
2735         (WebCore::PODRedBlackTree::checkInvariants):
2736         (WebCore::PODRedBlackTree::dump):
2737         (WebCore::PODRedBlackTree::deleteNode):
2738         (WebCore::PODRedBlackTree::markFree): Use normal new/delete, and mark
2739         ourselves as fast allocated so we get the bmalloc goodness.
2740
2741         (WebCore::PODRedBlackTree::isInitialized): Deleted.
2742         (WebCore::PODRedBlackTree::initIfNeeded): Deleted.
2743
2744         * rendering/FloatingObjects.cpp:
2745         (WebCore::FloatingObjects::findNextFloatLogicalBottomBelow):
2746         (WebCore::FloatingObjects::findNextFloatLogicalBottomBelowForBlock):
2747         (WebCore::FloatingObjects::FloatingObjects):
2748         (WebCore::FloatingObjects::clear):
2749         (WebCore::FloatingObjects::addPlacedObject):
2750         (WebCore::FloatingObjects::removePlacedObject):
2751         (WebCore::FloatingObjects::computePlacedFloatsTree):
2752         (WebCore::FloatingObjects::placedFloatsTree):
2753         (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
2754         (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
2755         (WebCore::FloatingObjects::logicalLeftOffset):
2756         (WebCore::FloatingObjects::logicalRightOffset): POD tree had a slightly
2757         weird behavior in which it was valid to use some of its APIs without
2758         first initializing it, but not others. It's not really possible to model
2759         that behavior with normal C++ objects that use new/delete, so instead
2760         I added some explicit NULL checks.
2761
2762         * rendering/FloatingObjects.h:
2763         * rendering/RenderFlowThread.cpp:
2764         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
2765         * rendering/RenderView.cpp:
2766         (WebCore::RenderView::intervalArena): Deleted.
2767         * rendering/RenderView.h: Removed custom-allocator-related cruft.
2768
2769 2014-11-20  Dean Jackson  <dino@apple.com>
2770
2771         Support unprefixed animation event types
2772         https://bugs.webkit.org/show_bug.cgi?id=138931
2773         <rdar://problem/18943167>
2774
2775         Reviewed by Simon Fraser.
2776
2777         Tests: animations/unprefixed-events-mixed-with-prefixed.html
2778                animations/unprefixed-events.html
2779
2780         Support the unprefixed animation event names:
2781         - animationstart (was webkitAnimationStart)
2782         - animationiteration (was webkitAnimationIteration)
2783         - animationend (was webkitAnimationEnd)
2784
2785         (Yes, event types are case sensitive and yes, this will
2786         likely cause some head-scratching as people change content)
2787
2788         The approach here is to follow what transitions does:
2789         - listener only for old event name -> fire old event name
2790         - listener for both old and new event name -> fire new event name
2791         - listener only for new event name -> fire new event name
2792
2793         That way pages that were trying to anticipate the new event name
2794         won't get duplicate events.
2795
2796         * CMakeLists.txt: Add new AnimationEvent* stuff.
2797         * DerivedSources.make: Ditto.
2798         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2799         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2800         * WebCore.xcodeproj/project.pbxproj: Ditto.
2801
2802         * bindings/js/JSBindingsAllInOne.cpp: New files for all in one builds.
2803         * dom/DOMAllInOne.cpp:
2804
2805         * dom/AnimationEvent.cpp: Added. Copied from WebKitAnimationEvent.cpp.
2806         (WebCore::AnimationEventInit::AnimationEventInit):
2807         (WebCore::AnimationEvent::AnimationEvent):
2808         (WebCore::AnimationEvent::~AnimationEvent):
2809         (WebCore::AnimationEvent::animationName):
2810         (WebCore::AnimationEvent::elapsedTime):
2811         (WebCore::AnimationEvent::eventInterface):
2812         * dom/AnimationEvent.h: Added. Copied from WebKitAnimationEvent.h.
2813         * dom/AnimationEvent.idl: Added. Copied from WebKitAnimationEvent.idl.
2814
2815         * dom/Document.cpp:
2816         (WebCore::Document::addListenerTypeIfNeeded): Handle new event types.
2817
2818         * dom/EventNames.h: New names.
2819         * dom/EventNames.in:
2820
2821         * dom/EventTarget.cpp:
2822         (WebCore::legacyType): Provide a mapping from the new names to the older
2823         prefixed forms.
2824
2825         * html/HTMLAttributeNames.in: Support the on* attributes, even though I
2826         hate them and wish this approach would die.
2827         * html/HTMLElement.cpp:
2828         (WebCore::HTMLElement::populateEventNameForAttributeLocalNameMap):
2829
2830         * page/DOMWindow.h: New names, and constructors.
2831         * page/DOMWindow.idl:
2832
2833         * page/animation/AnimationController.cpp:
2834         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): Fire new type.
2835
2836         * page/animation/KeyframeAnimation.cpp: Fire the new types of events.
2837         (WebCore::KeyframeAnimation::onAnimationStart):
2838         (WebCore::KeyframeAnimation::onAnimationIteration):
2839         (WebCore::KeyframeAnimation::onAnimationEnd):
2840         (WebCore::KeyframeAnimation::sendAnimationEvent):
2841
2842 2014-11-20  Tim Horton  <timothy_horton@apple.com>
2843
2844         Remove a piece of DataDetectors SPI that we aren't using anymore
2845         https://bugs.webkit.org/show_bug.cgi?id=138917
2846
2847         Reviewed by Beth Dakin.
2848
2849         * platform/spi/mac/DataDetectorsSPI.h:
2850
2851 2014-11-20  Beth Dakin  <bdakin@apple.com>
2852
2853         Invalid message WebPageProxy.DidPerformDictionaryLookup on Google stocks result
2854         https://bugs.webkit.org/show_bug.cgi?id=138568
2855         -and corresponding-
2856         rdar://problem/18904600
2857
2858         Reviewed by Tim Horton.
2859
2860         Add an optional parameter indicating whether or not to include images.
2861         * WebCore.exp.in:
2862         * editing/cocoa/HTMLConverter.h:
2863         * editing/cocoa/HTMLConverter.mm:
2864         (WebCore::editingAttributedStringFromRange):
2865
2866 2014-11-20  Myles C. Maxfield  <mmaxfield@apple.com>
2867
2868         Fix the !ENABLE(SVG_FONTS) build after r176276
2869         https://bugs.webkit.org/show_bug.cgi?id=138924
2870
2871         Reviewed by Csaba Osztrogonác.
2872
2873         No new tests because there is no behavior change.
2874
2875         * css/CSSFontFaceSource.cpp:
2876         (WebCore::CSSFontFaceSource::getFontData):
2877         * loader/cache/CachedResourceLoader.cpp:
2878         (WebCore::CachedResourceLoader::requestFont):
2879
2880 2014-11-19  Ada Chan  <adachan@apple.com>
2881
2882         Add a way to mute an AudioContext.
2883         https://bugs.webkit.org/show_bug.cgi?id=138104
2884
2885         Reviewed by Eric Carlson.
2886
2887         Keep a muted state in AudioDestinationNode. If m_muted is true,
2888         zero out the audio buffers.
2889
2890         No new tests, since it's difficult to test whether the audio is indeed muted.
2891
2892         * Modules/webaudio/AudioContext.cpp:
2893         (WebCore::AudioContext::AudioContext):
2894         Call pageMutedStateDidChange() so it'll initialize the destination audio node's muted state accordingly.
2895         (WebCore::AudioContext::pageMutedStateDidChange):
2896         Set the destination audio node's muted state to match the page's muted state.
2897
2898         * Modules/webaudio/AudioDestinationNode.cpp:
2899         (WebCore::AudioDestinationNode::AudioDestinationNode):
2900         Initialize m_muted.
2901         (WebCore::AudioDestinationNode::render):
2902         If m_muted is true, call AudioBus::zero() to zero out the buffers.
2903         * Modules/webaudio/AudioDestinationNode.h:
2904         (WebCore::AudioDestinationNode::setMuted):
2905         Set m_muted.
2906
2907 2014-11-20  Chris Dumez  <cdumez@apple.com>
2908
2909         Crash when destroying a Document that has a throttled timer still running
2910         https://bugs.webkit.org/show_bug.cgi?id=138914
2911
2912         Reviewed by Benjamin Poulain.
2913
2914         Upon destruction, a throttled DOMTimer whose interval depends on
2915         viewport changes will try to unregister itself from the view. It gets
2916         the view pointer from its Document. However, scriptExecutionContext()
2917         can return null if the Document is being destroyed (i.e. ~DOMTimer()
2918         is called from ~ScriptExecutionContext(), as the ScriptExecutionContext
2919         owns the DOMTimer).
2920
2921         This patch adds a null check for scriptExecutionContext() in the
2922         DOMTimer destructor to avoid this issue.
2923
2924         Test: fast/dom/throttled-timer-running-on-document-destruction.html
2925
2926         * page/DOMTimer.cpp:
2927         (WebCore::DOMTimer::~DOMTimer):
2928
2929         (WebCore::DOMTimer::unregisterForViewportChanges):
2930         Add assertion to make sure scriptExecutionContext() does not return
2931         null.
2932
2933         (WebCore::DOMTimerFireState::setChangedStyleOfElementOutsideViewport): Deleted.
2934         Killed this function as this was dead code.
2935
2936 2014-11-20  Zalan Bujtas  <zalan@apple.com>
2937
2938         Simple line layout: Introduce text fragment continuation.
2939         https://bugs.webkit.org/show_bug.cgi?id=138274
2940
2941         This patch extends simple line layout coverage to multiple text renderers.
2942         When a particular render flow has multiple text renderers (but not any other type)
2943         then we use simple line layout to process and paint the content. -other, existing requirements still apply
2944         so that for example if the content requires decoration, we bail out of simple line layout.
2945
2946         FlowContent now supports multiple renderes. It continuously reads content from sibling renderers
2947         so that the simple line layout parser sees it as one monolithic block of content. Run positions
2948         are all relative to the block and they get resolved to renderer's positions on demand.
2949         (painting, computing bounding rects etc)
2950
2951         Reviewed by Antti Koivisto.
2952
2953         Performance test already been added for the multiple rendere use case,
2954         correctness is covered by existing test cases.
2955         Test: fast/text/simple-lines-mutliple-renderers.html
2956
2957         * rendering/SimpleLineLayout.cpp:
2958         (WebCore::SimpleLineLayout::canUseFor): Check if children are all 8bit RenderTexts.
2959         (WebCore::SimpleLineLayout::removeTrailingWhitespace): Move the endofline check right before where we might overflow using end position.
2960         (WebCore::SimpleLineLayout::initializeNewLine):
2961         (WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
2962         (WebCore::SimpleLineLayout::splitRunsAtRendererBoundary): Split runs at renderers' boundary to be in sync with inline text renderering.
2963         (WebCore::SimpleLineLayout::createTextRuns):
2964         (WebCore::SimpleLineLayout::create):
2965         * rendering/SimpleLineLayoutFlowContents.cpp:
2966         (WebCore::SimpleLineLayout::FlowContents::FlowContents):
2967         (WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):
2968         (WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):
2969         (WebCore::SimpleLineLayout::FlowContents::textWidth): Do not measure text across renderers. It could produce different width value due to
2970         ligature which later can produce unexpected line breaks and out sync rendering in general.
2971         (WebCore::SimpleLineLayout::FlowContents::renderer): 
2972         (WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions):
2973         (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Read the next renderer content if needed.
2974         (WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition):
2975         (WebCore::SimpleLineLayout::FlowContents::runWidth):
2976         * rendering/SimpleLineLayoutFlowContents.h:
2977         (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter):
2978         (WebCore::SimpleLineLayout::FlowContents::isEndOfContent):
2979         * rendering/SimpleLineLayoutResolver.cpp:
2980         (WebCore::SimpleLineLayout::RunResolver::Run::text):
2981
2982 2014-11-20  Commit Queue  <commit-queue@webkit.org>
2983
2984         Unreviewed, rolling out r176396.
2985         https://bugs.webkit.org/show_bug.cgi?id=138926
2986
2987         revealed some WebCore::BidiResolver issue. rollout this for
2988         now. (Requested by zalan on #webkit).
2989
2990         Reverted changeset:
2991
2992         "Simple line layout: Introduce text fragment continuation."
2993         https://bugs.webkit.org/show_bug.cgi?id=138274
2994         http://trac.webkit.org/changeset/176396
2995
2996 2014-11-20  Zalan Bujtas  <zalan@apple.com>
2997
2998         Simple line layout: Introduce text fragment continuation.
2999         https://bugs.webkit.org/show_bug.cgi?id=138274
3000
3001         This patch extends simple line layout coverage to multiple text renderers.
3002         When a particular render flow has multiple text renderers (but not any other type)
3003         then we use simple line layout to process and paint the content. -other, existing requirements still apply
3004         so that for example if the content requires decoration, we bail out of simple line layout.
3005
3006         FlowContent now supports multiple renderes. It continuously reads content from sibling renderers
3007         so that the simple line layout parser sees it as one monolithic block of content. Run positions
3008         are all relative to the block and they get resolved to renderer's positions on demand.
3009         (painting, computing bounding rects etc)
3010
3011         Reviewed by Antti Koivisto.
3012
3013         Performance test already been added for the multiple rendere use case,
3014         correctness is covered by existing test cases.
3015         Test: fast/text/simple-lines-mutliple-renderers.html
3016
3017         * rendering/SimpleLineLayout.cpp:
3018         (WebCore::SimpleLineLayout::canUseFor): Check if children are all 8bit RenderTexts.
3019         (WebCore::SimpleLineLayout::removeTrailingWhitespace): Move the endofline check right before where we might overflow using end position.
3020         (WebCore::SimpleLineLayout::initializeNewLine):
3021         (WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
3022         (WebCore::SimpleLineLayout::splitRunsAtRendererBoundary): Split runs at renderers' boundary to be in sync with inline text renderering.
3023         (WebCore::SimpleLineLayout::createTextRuns):
3024         (WebCore::SimpleLineLayout::create):
3025         * rendering/SimpleLineLayoutFlowContents.cpp:
3026         (WebCore::SimpleLineLayout::FlowContents::FlowContents):
3027         (WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):
3028         (WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):
3029         (WebCore::SimpleLineLayout::FlowContents::textWidth): Do not measure text across renderers. It could produce different width value due to
3030         ligature which later can produce unexpected line breaks and out sync renderering in general.
3031         (WebCore::SimpleLineLayout::FlowContents::renderer): 
3032         (WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions):
3033         (WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Read the next renderer content if needed.
3034         (WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition):
3035         (WebCore::SimpleLineLayout::FlowContents::runWidth):
3036         * rendering/SimpleLineLayoutFlowContents.h:
3037         (WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter):
3038         (WebCore::SimpleLineLayout::FlowContents::isEndOfContent):
3039         * rendering/SimpleLineLayoutResolver.cpp:
3040         (WebCore::SimpleLineLayout::RunResolver::Run::text):
3041
3042 2014-11-20  peavo@outlook.com  <peavo@outlook.com>
3043
3044         [WinCairo] Compile error when GStreamer is enabled.
3045         https://bugs.webkit.org/show_bug.cgi?id=138925
3046
3047         Reviewed by Philippe Normand.
3048
3049         A guard is missing for an overridden method.
3050
3051         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3052
3053 2014-11-20  Adrian Perez de Castro  <aperez@igalia.com>
3054
3055         [GTK] Provide convenience API in DOM bindings to post messages to user message handlers
3056         https://bugs.webkit.org/show_bug.cgi?id=138871
3057
3058         Reviewed by Carlos Garcia Campos.
3059
3060         Adds a convenience function in the WebKitGTK+ DOM bindings to post
3061         messages to user message handlers in a way convenient way more
3062         convenient than using the autogenerated bindings.
3063
3064         * bindings/gobject/WebKitDOMCustom.cpp:
3065         (webkit_dom_dom_window_webkit_message_handlers_post_message):
3066         Added new convenience API function to post messages to user message
3067         handlers.
3068         * bindings/gobject/WebKitDOMCustom.h: Ditto.
3069         * bindings/gobject/WebKitDOMCustom.symbols: Ditto.
3070
3071 2014-11-12  Sergio Villar Senin  <svillar@igalia.com>
3072
3073         [CSS Grid Layout] Replace the usage of size_t by unsigned
3074         https://bugs.webkit.org/show_bug.cgi?id=136218
3075
3076         Reviewed by Benjamin Poulain.
3077
3078         In general, size_t should be used for sizes of objects in
3079         memory. We're using it to represent indexes and spans in the
3080         grid. Now that the maximum number of tracks is 1 million, it
3081         should be safe to replace them by unsigned integers.
3082
3083         No new tests as there is no change in functionality.
3084
3085         * css/CSSParser.cpp:
3086         (WebCore::CSSParser::parseGridTrackRepeatFunction):
3087         * css/StyleResolver.cpp:
3088         (WebCore::createImplicitNamedGridLinesFromGridArea):
3089         (WebCore::createGridTrackList):
3090         * rendering/RenderGrid.cpp:
3091         (WebCore::RenderGrid::GridIterator::GridIterator):
3092         (WebCore::RenderGrid::GridIterator::nextGridItem):
3093         (WebCore::RenderGrid::GridIterator::isEmptyAreaEnough):
3094         (WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
3095         (WebCore::RenderGrid::GridSizingData::GridSizingData):
3096         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
3097         (WebCore::RenderGrid::gridTrackSize):
3098         (WebCore::RenderGrid::distributeSpaceToTracks):
3099         (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
3100         (WebCore::RenderGrid::ensureGridSize):
3101         (WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
3102         (WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid):
3103         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
3104         (WebCore::RenderGrid::populateGridPositions):
3105         * rendering/RenderGrid.h:
3106         * rendering/style/GridCoordinate.h:
3107         (WebCore::GridSpan::integerSpan):
3108         * rendering/style/GridResolvedPosition.cpp:
3109         (WebCore::GridResolvedPosition::explicitGridColumnCount):
3110         (WebCore::GridResolvedPosition::explicitGridRowCount):
3111         (WebCore::explicitGridSizeForSide):
3112         (WebCore::GridResolvedPosition::resolveNamedGridLinePositionFromStyle):
3113         (WebCore::GridResolvedPosition::resolveGridPositionFromStyle):
3114         (WebCore::GridResolvedPosition::resolveGridPositionAgainstOppositePosition):
3115         (WebCore::firstNamedGridLineBeforePosition):
3116         (WebCore::GridResolvedPosition::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
3117         (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
3118         * rendering/style/GridResolvedPosition.h:
3119         (WebCore::GridResolvedPosition::adjustGridPositionForRowEndColumnEndSide):
3120         (WebCore::GridResolvedPosition::adjustGridPositionForSide):
3121         (WebCore::GridResolvedPosition::GridResolvedPosition):
3122         (WebCore::GridResolvedPosition::toInt):
3123         * rendering/style/StyleGridData.h:
3124
3125 2014-11-20  Andreas Kling  <akling@apple.com>
3126
3127         Remove "document has no sibling rules" optimization.
3128         <https://webkit.org/b/138902>
3129
3130         Reviewed by Antti Koivisto.
3131
3132         We were keeping a document-level flag to track whether there are any
3133         sibling rules in any active style sheets.
3134
3135         This information was used to do.. nothing.
3136
3137         * css/StyleResolver.h:
3138         (WebCore::StyleResolver::usesSiblingRules): Deleted.
3139         * dom/DocumentStyleSheetCollection.cpp:
3140         (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
3141         (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
3142         (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
3143         * dom/DocumentStyleSheetCollection.h:
3144         (WebCore::DocumentStyleSheetCollection::usesSiblingRules): Deleted.
3145         (WebCore::DocumentStyleSheetCollection::setUsesSiblingRulesOverride): Deleted.
3146         * mathml/MathMLMathElement.cpp:
3147         (WebCore::MathMLMathElement::insertedInto): Deleted.
3148         * mathml/MathMLMathElement.h:
3149
3150 2014-11-20  Andreas Kling  <akling@apple.com>
3151
3152         Caret renderer is always a RenderBlock.
3153         <https://webkit.org/b/138912>
3154
3155         Reviewed by Chris Dumez.
3156
3157         Tighten typing in the code that finds and deals with the renderer
3158         used to paint the caret (it's always a RenderBlock.)
3159
3160         * editing/FrameSelection.cpp:
3161         (WebCore::CaretBase::updateCaretRect):
3162         (WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
3163         (WebCore::DragCaretController::caretRenderer):
3164         (WebCore::repaintCaretForLocalRect):
3165         (WebCore::CaretBase::paintCaret):
3166         * editing/FrameSelection.h:
3167         * editing/VisiblePosition.cpp:
3168         (WebCore::VisiblePosition::absoluteCaretBounds):
3169         * editing/htmlediting.cpp:
3170         (WebCore::rendererForCaretPainting):
3171         (WebCore::localCaretRectInRendererForCaretPainting):
3172         (WebCore::absoluteBoundsForLocalCaretRect):
3173         * editing/htmlediting.h:
3174         * rendering/RenderBlock.cpp:
3175         (WebCore::RenderBlock::paintCaret):
3176
3177 2014-11-20  Antti Koivisto  <antti@apple.com>
3178
3179         REGRESSION (r172854): Web Viewer in FileMaker does not render a Base64 encoded animated-GIF
3180         https://bugs.webkit.org/show_bug.cgi?id=138807
3181         <rdar://problem/18829540>
3182
3183         Reviewed by Simon Fraser.
3184
3185         Animation gets paused because WebKit thinks the GIF is outside of the view.
3186
3187         * page/FrameView.cpp:
3188         (WebCore::FrameView::windowClipRect):
3189
3190         We need to convert to window coordinates in paintsEntireContents mode too so these functions are consistent.
3191         This matters with some WK1 API clients.
3192
3193 2014-11-19  Chris Dumez  <cdumez@apple.com>
3194
3195         Move 'clip' CSS property to the new StyleBuilder
3196         https://bugs.webkit.org/show_bug.cgi?id=138909
3197
3198         Reviewed by Andreas Kling.
3199
3200         Move 'clip' CSS property from DeprecatedStyleBuilder to the new
3201         StyleBuilder by using custom code.
3202
3203         No new tests, no behavior change.
3204
3205         * css/CSSPropertyNames.in:
3206         * css/DeprecatedStyleBuilder.cpp:
3207         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3208         (WebCore::ApplyPropertyClip::convertToLength): Deleted.
3209         (WebCore::ApplyPropertyClip::applyInheritValue): Deleted.
3210         (WebCore::ApplyPropertyClip::applyInitialValue): Deleted.
3211         (WebCore::ApplyPropertyClip::applyValue): Deleted.
3212         (WebCore::ApplyPropertyClip::createHandler): Deleted.
3213         * css/StyleBuilderCustom.h:
3214         (WebCore::StyleBuilderFunctions::applyInitialClip):
3215         (WebCore::StyleBuilderFunctions::applyInheritClip):
3216         (WebCore::StyleBuilderFunctions::applyValueClip):
3217
3218 2014-11-19  Ryuan Choi  <ryuan.choi@navercorp.com>
3219
3220         Remove dead code from TiledBackingStore
3221         https://bugs.webkit.org/show_bug.cgi?id=138864
3222
3223         Reviewed by Andreas Kling.
3224
3225         Since r168151, paint() method, m_commitTileUpdatesOnIdleEventLoop and related code are not used.
3226
3227         No new tests, no behavior change.
3228
3229         * platform/graphics/TiledBackingStore.cpp:
3230         (WebCore::TiledBackingStore::TiledBackingStore):
3231         (WebCore::TiledBackingStore::setTileSize):
3232         (WebCore::TiledBackingStore::invalidate):
3233         (WebCore::TiledBackingStore::createTiles):
3234         (WebCore::TiledBackingStore::paint): Deleted.
3235         (WebCore::TiledBackingStore::startTileBufferUpdateTimer): Deleted.
3236         (WebCore::TiledBackingStore::tileBufferUpdateTimerFired): Deleted.
3237         (WebCore::TiledBackingStore::startBackingStoreUpdateTimer): Deleted.
3238         (WebCore::TiledBackingStore::backingStoreUpdateTimerFired): Deleted.
3239         * platform/graphics/TiledBackingStore.h:
3240         (WebCore::TiledBackingStore::setCommitTileUpdatesOnIdleEventLoop): Deleted.
3241
3242 2014-11-19  Andreas Kling  <akling@apple.com>
3243
3244         Remove "document has no ::before and/or ::after rules" optimization.
3245         <https://webkit.org/b/138897>
3246
3247         Reviewed by Antti Koivisto.
3248
3249         This optimization has been dead for a long time, since the default UA
3250         style contains both ::before and ::after rules.
3251
3252         * css/RuleFeature.cpp:
3253         (WebCore::recursivelyCollectFeaturesFromSelector):
3254         (WebCore::RuleFeatureSet::add):
3255         (WebCore::RuleFeatureSet::clear):
3256         * css/RuleFeature.h:
3257         (WebCore::RuleFeatureSet::RuleFeatureSet):
3258         * css/StyleResolver.h:
3259         (WebCore::StyleResolver::usesBeforeAfterRules): Deleted.
3260         * dom/DocumentStyleSheetCollection.cpp:
3261         (WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
3262         (WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
3263         (WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):
3264         * dom/DocumentStyleSheetCollection.h:
3265         (WebCore::DocumentStyleSheetCollection::usesBeforeAfterRules): Deleted.
3266         (WebCore::DocumentStyleSheetCollection::setUsesBeforeAfterRulesOverride): Deleted.
3267         * html/HTMLQuoteElement.cpp:
3268         (WebCore::HTMLQuoteElement::insertedInto): Deleted.
3269         * html/HTMLQuoteElement.h:
3270         * style/StyleResolveTree.cpp:
3271         (WebCore::Style::needsPseudoElement):
3272
3273 2014-11-19  Myles C. Maxfield  <mmaxfield@apple.com>
3274
3275         [OS X] Upright vertical text is completely broken for multi-code-unit codepoints
3276         https://bugs.webkit.org/show_bug.cgi?id=138891
3277
3278         Reviewed by Dan Bernstein.
3279
3280         We were assuming that we can use the string index (in UTF-16) as the glyph
3281         index. This falls down when a single codepoint (and glyph) contians
3282         multiple code units.
3283
3284         Test: platform/mac/fast/text/multiple-codeunit-vertical-upright.html
3285
3286         * platform/graphics/GlyphPage.h:
3287         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
3288         (WebCore::GlyphPage::fill):
3289
3290 2014-11-19  Daniel Bates  <dabates@apple.com>
3291
3292         Attempt to fix the Apple Internal Mavericks build after <https://trac.webkit.org/changeset/176347>
3293         (https://bugs.webkit.org/show_bug.cgi?id=136863)
3294
3295         Define enumerator NSHTTPCookieAcceptPolicyExclusivelyFromMainDocumentDomain when building without
3296         the Apple Internal SDK or with the Apple Internal SDK on OS X Mavericks or earlier.
3297
3298         * platform/spi/cf/CFNetworkSPI.h:
3299
3300 2014-11-16  Sam Weinig  <sam@webkit.org>
3301
3302         Move the 'quotes' CSS property to the new StyleBuilder
3303         https://bugs.webkit.org/show_bug.cgi?id=138788
3304
3305         Reviewed by Chris Dumez.
3306
3307         Test: fast/css/content/content-quotes-07.html
3308
3309         * css/CSSParser.cpp:
3310         (WebCore::CSSParser::parseValue):
3311         Fix the parser to only accept none as a valid primitive identifier. Tested in 
3312         the newly added content-quotes-07.html.
3313
3314         * css/CSSPropertyNames.in:
3315         * css/StyleBuilderConverter.h:
3316         (WebCore::StyleBuilderConverter::convertQuotes):
3317         * css/StyleResolver.cpp:
3318         (WebCore::StyleResolver::applyProperty):
3319         Move "quotes" to the new style builder.
3320
3321         * rendering/style/RenderStyle.h:
3322         Add an initialQuotes() function for use in the auto-generated style builder.
3323
3324 2014-11-19  Dean Jackson  <dino@apple.com>
3325
3326         Handle unprefixed @keyframes rule
3327         https://bugs.webkit.org/show_bug.cgi?id=138899
3328         <rdar://problem/18943117>
3329
3330         Reviewed by Simon Fraser.
3331
3332         Support the parsing of unprefixed @keyframes. In
3333         CSSParser, assign the same token identifier to
3334         the prefixed and unprefixed forms. This will
3335         keep compatibility with older content. If a page
3336         has both forms, then whatever comes last will
3337         win (as it does if you had duplicate names of the same
3338         form).
3339
3340         Tests: animations/unprefixed-keyframes-rule.html
3341                animations/unprefixed-keyframes.html
3342
3343         * css/CSSGrammar.y.in: Rename the WEBKIT_KEYFRAME_RULE_SYM symbol to
3344         be KEYFRAME_RULE_SYM. Same with KEYFRAMES_SYM.
3345         * css/CSSParser.cpp:
3346         (WebCore::CSSParser::detectAtToken): Look for the @keyframes style
3347         strings and assign the new token values.
3348
3349 2014-11-19  Andreas Kling  <akling@apple.com>
3350
3351         Move pseudo-style code from RenderObject to RenderElement.
3352         <https://webkit.org/b/138880>
3353
3354         Reviewed by Antti Koivisto.
3355
3356         Migrate get*PseudoStyle() to RenderElement, and the selection color
3357         functions along with them. This gets rid of a DOM ancestor walk in
3358         pseudo style lookup.
3359
3360         Narrow down some argument types to keep things building.
3361
3362         * rendering/RenderBlock.cpp:
3363         (WebCore::RenderBlock::logicalLeftSelectionGap):
3364         (WebCore::RenderBlock::logicalRightSelectionGap):
3365         (WebCore::styleForFirstLetter):
3366         (WebCore::RenderBlock::updateFirstLetterStyle):
3367         (WebCore::RenderBlock::createFirstLetterRenderer):
3368         * rendering/RenderBlock.h:
3369         * rendering/RenderElement.cpp:
3370         (WebCore::RenderElement::getCachedPseudoStyle):
3371         (WebCore::RenderElement::getUncachedPseudoStyle):
3372         (WebCore::RenderElement::selectionColor):
3373         (WebCore::RenderElement::selectionPseudoStyle):
3374         (WebCore::RenderElement::selectionForegroundColor):
3375         (WebCore::RenderElement::selectionEmphasisMarkColor):
3376         (WebCore::RenderElement::selectionBackgroundColor):
3377         * rendering/RenderElement.h:
3378         * rendering/RenderObject.cpp:
3379         (WebCore::RenderObject::selectionBackgroundColor): Deleted.
3380         (WebCore::RenderObject::selectionColor): Deleted.
3381         (WebCore::RenderObject::selectionPseudoStyle): Deleted.
3382         (WebCore::RenderObject::selectionForegroundColor): Deleted.
3383         (WebCore::RenderObject::selectionEmphasisMarkColor): Deleted.
3384         (WebCore::RenderObject::getCachedPseudoStyle): Deleted.
3385         (WebCore::RenderObject::getUncachedPseudoStyle): Deleted.
3386         * rendering/RenderObject.h:
3387         * rendering/RenderText.h:
3388         (WebCore::RenderText::getCachedPseudoStyle):
3389         (WebCore::RenderText::selectionBackgroundColor):
3390         (WebCore::RenderText::selectionForegroundColor):
3391         (WebCore::RenderText::selectionEmphasisMarkColor):
3392         * rendering/svg/SVGInlineTextBox.cpp:
3393         (WebCore::SVGInlineTextBox::paintSelectionBackground):
3394         (WebCore::SVGInlineTextBox::paint):
3395
3396 2014-11-19  Tim Horton  <timothy_horton@apple.com>
3397
3398         Add an optional entry transition (from selection highlight) to TextIndicator
3399         https://bugs.webkit.org/show_bug.cgi?id=138856
3400         <rdar://problem/18840128>
3401
3402         Reviewed by Anders Carlsson.
3403
3404         * WebCore.exp.in:
3405         Add an export.
3406
3407         * platform/spi/cocoa/QuartzCoreSPI.h:
3408         Add some SPI.
3409
3410 2014-11-19  Chris Dumez  <cdumez@apple.com>
3411
3412         Move 'outline-style' CSS property to the new StyleBuilder
3413         https://bugs.webkit.org/show_bug.cgi?id=138882
3414
3415         Reviewed by Sam Weinig.
3416
3417         Move 'outline-style' CSS property from DeprecatedStyleBuilder to the
3418         new StyleBuilder by using custom code.
3419
3420         No new tests, no behavior change.
3421
3422         * css/CSSPropertyNames.in:
3423         * css/DeprecatedStyleBuilder.cpp:
3424         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3425         (WebCore::ApplyPropertyDefault::setValue): Deleted.
3426         (WebCore::ApplyPropertyDefault::applyValue): Deleted.
3427         (WebCore::ApplyPropertyDefault::createHandler): Deleted.
3428         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue): Deleted.
3429         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue): Deleted.
3430         (WebCore::ApplyPropertyOutlineStyle::applyValue): Deleted.
3431         (WebCore::ApplyPropertyOutlineStyle::createHandler): Deleted.
3432         * css/StyleBuilderCustom.h:
3433         (WebCore::StyleBuilderFunctions::applyInheritOutlineStyle):
3434         (WebCore::StyleBuilderFunctions::applyInitialOutlineStyle):
3435         (WebCore::StyleBuilderFunctions::applyValueOutlineStyle):
3436
3437 2014-11-19  Joseph Pecoraro  <pecoraro@apple.com>
3438
3439         Web Inspector: JSContext inspection Resource search does not work
3440         https://bugs.webkit.org/show_bug.cgi?id=131252
3441
3442         Reviewed by Timothy Hatcher.
3443
3444         Test: inspector/debugger/search-scripts.html
3445
3446         * inspector/InspectorPageAgent.cpp:
3447         (WebCore::InspectorPageAgent::searchInResources):
3448         A little cleanup.
3449
3450 2014-11-19  Joseph Pecoraro  <pecoraro@apple.com>
3451
3452         Web Inspector: Provide $exception in the console for the thrown exception value
3453         https://bugs.webkit.org/show_bug.cgi?id=138726
3454
3455         Reviewed by Timothy Hatcher.
3456
3457         Tests: inspector/debugger/command-line-api-exception-nested-catch.html
3458                inspector/debugger/command-line-api-exception.html
3459
3460         * inspector/CommandLineAPIModuleSource.js:
3461         Expose $exception in the more complete command line API.
3462
3463 2014-11-19  David Hyatt  <hyatt@apple.com>
3464
3465         Images/replaced elements that are as tall as a page should be on their own page
3466         https://bugs.webkit.org/show_bug.cgi?id=138886 - <rdar://problem/18296371>
3467
3468         Reviewed by Dean Jackson.
3469
3470         Added fast/multicol/tall-image-behavior.html (and RL/LR variants)
3471
3472         * rendering/InlineFlowBox.cpp:
3473         (WebCore::InlineFlowBox::computeReplacedAndTextLineTopAndBottom):
3474         * rendering/InlineFlowBox.h:
3475         Add a new method that computes the line top and line bottom ignoring all margins,
3476         overflow and line-height. This allows us to see if a line that is taller than a page
3477         can be made to fit if we ignored margins and unused descent.
3478
3479         * rendering/RenderBlockFlow.cpp:
3480         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
3481         Call the new helper function, computeReplacedAndTextLineTopAndBottom and push
3482         to a new page if we see that we can fit on a page by ourselves without blank space
3483         included.
3484
3485 2014-11-18  Ada Chan  <adachan@apple.com>
3486
3487         Take Web Audio into account for the Page::isPlayingAudio() API.
3488         https://bugs.webkit.org/show_bug.cgi?id=137464
3489
3490         Reviewed by Jer Noble.
3491
3492         Make AudioContext a subclass of AudioProducer. It figures out whether there's
3493         audio playing by checking whether its AudioDestinationNode is playing (and not
3494         silent). It calls Document::updateIsPlayingAudio() whenever its audio playing
3495         state has changed.
3496
3497         Test: webaudio/web-audio-is-playing.html
3498
3499         * Modules/webaudio/AudioContext.cpp:
3500         (WebCore::AudioContext::lazyInitialize):
3501         Add itself to the Document's list of AudioProducers if it's not an offline
3502         audio context.
3503         (WebCore::AudioContext::uninitialize):
3504         Remove itself from the Document's list of AudioProducers if it's not an offline
3505         audio context.
3506         (WebCore::AudioContext::stop):
3507         Tell the document to update its audio playing state.
3508         (WebCore::AudioContext::isPlayingAudio):
3509         Return true if the audio context hasn't been stopped and its destination node is
3510         playing audio.
3511         (WebCore::AudioContext::pageMutedStateDidChange):
3512         Add a FIXME for now.
3513         (WebCore::AudioContext::isPlayingAudioDidChange):
3514         Call Document::updateIsPlayingAudio().
3515         * Modules/webaudio/AudioContext.h:
3516
3517         * Modules/webaudio/AudioDestinationNode.cpp:
3518         (WebCore::AudioDestinationNode::AudioDestinationNode):
3519         Initialize m_isSilent and m_isEffectivelyPlayingAudio.
3520         (WebCore::AudioDestinationNode::render):
3521         Call setIsSilent() with the appropriate value after rendering.
3522         (WebCore::AudioDestinationNode::isPlayingDidChange):
3523         Call updateIsEffectivelyPlayingAudio().
3524         (WebCore::AudioDestinationNode::setIsSilent):
3525         If m_isSilent has changed, call updateIsEffectivelyPlayingAudio().
3526         (WebCore::AudioDestinationNode::updateIsEffectivelyPlayingAudio):
3527         If m_isEffectivelyPlayingAudio has changed, call AudioContext::isPlayingAudioDidChange().
3528         * Modules/webaudio/AudioDestinationNode.h:
3529         (WebCore::AudioDestinationNode::isPlaying):
3530         (WebCore::AudioDestinationNode::isPlayingAudio):
3531
3532         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
3533         (WebCore::DefaultAudioDestinationNode::isPlaying):
3534         Return whether the AudioDestination is playing.
3535         * Modules/webaudio/DefaultAudioDestinationNode.h:
3536
3537         * platform/audio/AudioIOCallback.h:
3538         * platform/audio/ios/AudioDestinationIOS.cpp:
3539         (WebCore::AudioDestinationIOS::start):
3540         Call setIsPlaying() instead.
3541         (WebCore::AudioDestinationIOS::stop):
3542         Ditto.
3543         (WebCore::AudioDestinationIOS::setIsPlaying):
3544         If m_isPlaying has changed, call AudioIOCallback::isPlayingDidChange().
3545         * platform/audio/ios/AudioDestinationIOS.h:
3546
3547         * platform/audio/mac/AudioDestinationMac.cpp:
3548         (WebCore::AudioDestinationMac::start):
3549         Call setIsPlaying() instead.
3550         (WebCore::AudioDestinationMac::stop):
3551         Ditto.
3552         (WebCore::AudioDestinationMac::setIsPlaying):
3553         If m_isPlaying has changed, call AudioIOCallback::isPlayingDidChange().
3554         * platform/audio/mac/AudioDestinationMac.h:
3555
3556         * testing/Internals.cpp:
3557         (WebCore::Internals::isPagePlayingAudio):
3558         * testing/Internals.h:
3559         * testing/Internals.idl:
3560         Add internals.isPagePlayingAudio() for testing.
3561
3562 2014-11-19  Daniel Bates  <dabates@apple.com>
3563
3564         Attempt to fix the Apple Internal Mountain Lion build after <https://trac.webkit.org/changeset/176347>
3565         (https://bugs.webkit.org/show_bug.cgi?id=136863)
3566
3567         Only import header CFNSURLConnection.h when building for iOS or OS X Yosemite.
3568
3569         * platform/spi/cf/CFNetworkSPI.h:
3570
3571 2014-11-19  Antti Koivisto  <antti@apple.com>
3572
3573         Fix TilesAdded bitmask
3574         https://bugs.webkit.org/show_bug.cgi?id=138883
3575
3576         Reviewed by Simon Fraser.
3577
3578         Simon spotted this.
3579
3580         * platform/graphics/ca/GraphicsLayerCA.h:
3581
3582             Use 1LLU << 29 instead of 1LLU < 29
3583             This worked before by pure luck as bit 0 is unused.
3584
3585 2014-11-19  Daniel Bates  <dabates@apple.com>
3586
3587         [iOS] Make WebKit build with public iOS SDK
3588         https://bugs.webkit.org/show_bug.cgi?id=136863
3589
3590         Reviewed by David Kilzer.
3591
3592         * WebCore.xcodeproj/project.pbxproj: Add private headers CFNetworkSPI.h and
3593         NS{CalendarDate, String, URLDownload}SPI.h.
3594         * loader/cocoa/DiskCacheMonitorCocoa.mm: Move forward declaration of
3595         CFNetwork data types and functions from here to file CFNetworkSPI.h and
3596         include header CFNetworkSPI.h.
3597         * platform/network/mac/ResourceHandleMac.mm: Substitute CFNetworkSPI.h for
3598         CFURLRequestSPI.h as the content of the latter was incorporated into the former.
3599         * platform/spi/cf/CFNetworkSPI.h: Added.
3600         * platform/spi/cf/CFURLRequestSPI.h: Removed; incorporated its functionality
3601         into CFNetworkSPI.h
3602         * platform/spi/cocoa/NSCalendarDateSPI.h: Added.
3603         * platform/spi/cocoa/NSStringSPI.h: Added.
3604         * platform/spi/cocoa/NSURLDownloadSPI.h: Added.
3605
3606 2014-11-19  Benjamin Poulain  <bpoulain@apple.com>
3607
3608         Get rid of AccessibilityObject::setRoleValue()
3609         https://bugs.webkit.org/show_bug.cgi?id=138861
3610
3611         Reviewed by Chris Fleizach.
3612
3613         * accessibility/AccessibilityObject.h:
3614         (WebCore::AccessibilityObject::setRoleValue): Deleted.
3615
3616 2014-11-19  Philippe Normand  <pnormand@igalia.com>
3617
3618         Missing NULL-check in VideoTrack::setLanguage
3619         https://bugs.webkit.org/show_bug.cgi?id=138867
3620
3621         Reviewed by Jer Noble.
3622
3623         * html/track/VideoTrack.cpp:
3624         (WebCore::VideoTrack::setLanguage): Prevent change event creation
3625         on an empty video track list.
3626
3627 2014-11-19  Chris Fleizach  <cfleizach@apple.com>
3628
3629         AX: Safari fails to load a web page with VoiceOver
3630         https://bugs.webkit.org/show_bug.cgi?id=138849
3631
3632         Reviewed by Mario Sanchez Prada.
3633
3634         Sometimes an inlineElementContinuation will continue to an inline RenderBlock, so we case this incorrectly and bad things happen.
3635
3636         Test: accessibility/inline-block-assertion.html
3637
3638         * accessibility/AccessibilityRenderObject.cpp:
3639         (WebCore::startOfContinuations):
3640
3641 2014-11-19  Zalan Bujtas  <zalan@apple.com>
3642
3643         Simple line layout: RenderTreeAsText should use rangeForRenderer() when dumping simple line text.
3644         https://bugs.webkit.org/show_bug.cgi?id=138847
3645
3646         Reviewed by Antti Koivisto.
3647
3648         This is in preparation to support multiple renderers for simple line layout.
3649         Use rangeForRenderer() to get runs for a particular renderer as opposed to for the entire flow.
3650
3651         Not testable.
3652
3653         * rendering/RenderTreeAsText.cpp:
3654         (WebCore::write):
3655
3656 2014-11-19  peavo@outlook.com  <peavo@outlook.com>
3657
3658         [WinCairo] Compile error when CSS_SELECTORS_LEVEL4 is not enabled.
3659         https://bugs.webkit.org/show_bug.cgi?id=138870
3660
3661         Reviewed by Alex Christensen.
3662
3663         * css/CSSSelector.cpp:
3664         (WebCore::simpleSelectorSpecificityInternal):
3665
3666 2014-11-19  Chris Fleizach  <cfleizach@apple.com>
3667
3668         AX: Screen braille input doesn't work on forms.
3669         https://bugs.webkit.org/show_bug.cgi?id=138804
3670
3671         Reviewed by Mario Sanchez Prada.
3672
3673         Allow iOS to set values of text fields through the API.
3674
3675         Test: platform/ios-sim/accessibility/set-value.html
3676
3677         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3678         (-[WebAccessibilityObjectWrapper _accessibilitySetValue:]):
3679
3680 2014-11-19  Zalan Bujtas  <zalan@apple.com>
3681
3682         Simple line layout: Add renderer based rect collecting to RunResolver.
3683         https://bugs.webkit.org/show_bug.cgi?id=138818
3684
3685         Reviewed by Antti Koivisto.
3686
3687         This is in preparation to multiple renderers support.
3688         RunResolver should be able to collect rects for a particular renderer
3689         that might overlap multiple runs. (or might just be a subset of a Run)
3690
3691         Covered by existing tests.
3692
3693         * rendering/SimpleLineLayoutFlowContents.cpp:
3694         (WebCore::SimpleLineLayout::FlowContents::renderer): It operates on a single renderer currently.
3695         (WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions): It operates on a single renderer currently.
3696         * rendering/SimpleLineLayoutFlowContents.h:
3697         * rendering/SimpleLineLayoutFunctions.cpp:
3698         (WebCore::SimpleLineLayout::computeTextBoundingBox):
3699         (WebCore::SimpleLineLayout::computeTextFirstRunLocation):
3700         (WebCore::SimpleLineLayout::collectTextAbsoluteRects):
3701         (WebCore::SimpleLineLayout::collectTextAbsoluteQuads):
3702         (WebCore::SimpleLineLayout::showLineLayoutForFlow):
3703         * rendering/SimpleLineLayoutResolver.cpp:
3704         (WebCore::SimpleLineLayout::baselinePosition):
3705         (WebCore::SimpleLineLayout::linePosition):
3706         (WebCore::SimpleLineLayout::lineSize):
3707         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
3708         (WebCore::SimpleLineLayout::RunResolver::Run::rectForTextRenderer):
3709         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
3710         (WebCore::SimpleLineLayout::RunResolver::Run::text):
3711         (WebCore::SimpleLineLayout::RunResolver::Run::computeRect):
3712         (WebCore::SimpleLineLayout::RunResolver::RunResolver):
3713         * rendering/SimpleLineLayoutResolver.h:
3714
3715 2014-11-19  Dhi Aurrahman  <diorahman@rockybars.com>
3716
3717         Add selector checker for :lang pseudo class in Selectors level 4
3718         https://bugs.webkit.org/show_bug.cgi?id=138281
3719
3720         Reviewed by Benjamin Poulain.
3721
3722         Add selector checker for :lang pseudo class in Selectors level 4.
3723
3724         The language tags matching is specified in [1,2].
3725
3726         [1] http://www.ietf.org/rfc/rfc4647.txt
3727         [2] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo
3728
3729         Tests: fast/selectors/lang-extended-filtering.html
3730                fast/selectors/lang-multiple.html
3731
3732         * css/SelectorChecker.cpp:
3733         (WebCore::SelectorChecker::checkOne):
3734         * css/SelectorCheckerTestFunctions.h:
3735         (WebCore::containslanguageSubtagMatchingRange):
3736         (WebCore::matchesLangPseudoClass):
3737         (WebCore::matchesLangPseudoClassDeprecated):
3738         * cssjit/SelectorCompiler.cpp:
3739         (WebCore::SelectorCompiler::addPseudoClassType):
3740
3741 2014-11-18  Philippe Normand  <pnormand@igalia.com>
3742
3743         start/stop method for AudioBufferSourceNodes and OscillatorNodes can take no args
3744         https://bugs.webkit.org/show_bug.cgi?id=138739
3745
3746         Reviewed by Darin Adler.
3747
3748         The patch is inspired by the following Blink revision by
3749         <rtoy@google.com>:
3750         <https://src.chromium.org/viewvc/blink?view=rev&revision=160845>
3751
3752         Test: webaudio/dom-exceptions.html
3753
3754         * Modules/webaudio/AudioBufferSourceNode.cpp:
3755         (WebCore::AudioBufferSourceNode::start):
3756         (WebCore::AudioBufferSourceNode::startPlaying):
3757         (WebCore::AudioBufferSourceNode::noteGrainOn):
3758         (WebCore::AudioBufferSourceNode::startGrain): Deleted.
3759         * Modules/webaudio/AudioBufferSourceNode.h:
3760         * Modules/webaudio/AudioBufferSourceNode.idl:
3761         * Modules/webaudio/AudioScheduledSourceNode.cpp:
3762         (WebCore::AudioScheduledSourceNode::start):
3763         (WebCore::AudioScheduledSourceNode::stop):
3764         * Modules/webaudio/AudioScheduledSourceNode.h:
3765         * Modules/webaudio/OscillatorNode.idl:
3766
3767 2014-11-18  Benjamin Poulain  <benjamin@webkit.org>
3768
3769         Add the initial implementation of dynamic specificity for :matches()
3770         https://bugs.webkit.org/show_bug.cgi?id=138822
3771
3772         Reviewed by Andreas Kling.
3773
3774         Previously we completely ignored the selector list of :matches() when computing
3775         the specificity of the selector.
3776
3777         The spec (http://dev.w3.org/csswg/selectors4/#specificity) says:
3778         "The specificity of a :matches() pseudo-class, however, is the specificity
3779          of the most specific complex selector that matched the given element."
3780
3781         This patch does just that.
3782
3783         In the CSS JIT, we only consider specificities that can be computed statically
3784         for now, this should be extended later.
3785         When the specificity is dynamic, we fall back to SelectorChecker. In that case,
3786         we execute every selector of the selector list and we keep the maximum value
3787         as the specificity for the whole :matches().
3788
3789         Tests: fast/css/matches-specificity-1.html
3790                fast/css/matches-specificity-2.html
3791                fast/css/matches-specificity-3.html
3792                fast/css/matches-specificity-4.html
3793                fast/css/matches-specificity-5.html
3794                fast/css/matches-specificity-6.html
3795                fast/css/matches-specificity-7.html
3796                fast/css/matches-specificity-8.html
3797                fast/css/matches-specificity-9.html
3798                fast/css/matches-specificity-10.html
3799
3800         * css/CSSSelector.cpp:
3801         (WebCore::selectorSpecificity):
3802         (WebCore::maxSpecificity):
3803         (WebCore::CSSSelector::specificity):
3804         (WebCore::simpleSelectorSpecificityInternal):
3805         (WebCore::CSSSelector::simpleSelectorSpecificity):
3806         :matches() itself should not have any specificity. The specificity of its components
3807         is computed in SelectorChecker.
3808
3809         Since :matches() is no longer accounted as a class B specificity, I had to finish
3810         the specificity of :not() or some test breaks.
3811
3812         * css/CSSSelector.h:
3813         * css/PageRuleCollector.cpp:
3814         (WebCore::comparePageRules):
3815         * css/SelectorChecker.cpp:
3816         (WebCore::SelectorChecker::checkOne):
3817         We can no longer shortcut the execution when context.pseudoElementEffective is false.
3818         There is no guarantee that a following selector wouldn't match with a higher specificity.
3819
3820         * cssjit/SelectorCompiler.cpp:
3821         (WebCore::SelectorCompiler::addPseudoClassType):
3822         (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
3823         (WebCore::SelectorCompiler::constructFragments):
3824         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
3825
3826 2014-11-18  David Kilzer  <ddkilzer@apple.com>
3827
3828         FeatureDefines.xcconfig: Switch from using PLATFORM_NAME to SDK selectors
3829         <http://webkit.org/b/138813>
3830
3831         Reviewed by Mark Rowe.
3832
3833         * Configurations/FeatureDefines.xcconfig: Switch to using SDK
3834         selectors.
3835
3836 2014-11-18  Chris Dumez  <cdumez@apple.com>
3837
3838         Crash when setting 'z-index' / 'flex-shrink' CSS properties to a calculated value
3839         https://bugs.webkit.org/show_bug.cgi?id=138783
3840
3841         Reviewed by Andreas Kling.
3842
3843         Update operators converting CSSPrimitiveValue to integer / floating
3844         point types to properly handle calculated values (e.g. 'calc(2 * 3)').
3845         Previously, this was not working in release builds and we would hit an
3846         ASSERT_NOT_REACHED() in debug builds.
3847
3848         Tests: fast/css/flex-shrink-calculated-value.html
3849                fast/css/z-index-calculated-value.html
3850
3851         * css/CSSPrimitiveValueMappings.h:
3852         (WebCore::CSSPrimitiveValue::operator unsigned short):
3853         (WebCore::CSSPrimitiveValue::operator int):
3854         (WebCore::CSSPrimitiveValue::operator unsigned):
3855         (WebCore::CSSPrimitiveValue::operator float):
3856
3857 2014-11-18  Commit Queue  <commit-queue@webkit.org>
3858
3859         Unreviewed, rolling out r176263 and r176273.
3860         https://bugs.webkit.org/show_bug.cgi?id=138854
3861
3862         Underlines are hideous. (Requested by litherum on #webkit).
3863
3864         Reverted changesets:
3865
3866         "Use underlining metrics from the font file"
3867         https://bugs.webkit.org/show_bug.cgi?id=138762
3868         http://trac.webkit.org/changeset/176263
3869
3870         "iOS build fix."
3871         http://trac.webkit.org/changeset/176273
3872
3873 2014-11-18  Chris Dumez  <cdumez@apple.com>
3874
3875         Add a setting to toggle DOMTimer throttling support
3876         https://bugs.webkit.org/show_bug.cgi?id=138844
3877         <rdar://problem/19020874>
3878
3879         Reviewed by Andreas Kling.
3880
3881         Add a setting to disable DOM timers throttling, in order to help
3882         developers determine if a specific issue is caused by timer
3883         throttling.
3884
3885         * page/DOMTimer.cpp:
3886         (WebCore::DOMTimerFireState::contextDocument):
3887         (WebCore::DOMTimerFireState::scriptMadeUserObservableChanges):
3888         (WebCore::DOMTimer::isDOMTimersThrottlingEnabled):
3889         (WebCore::DOMTimer::updateThrottlingStateIfNecessary):
3890         * page/DOMTimer.h:
3891         * page/Settings.in:
3892
3893 2014-11-18  Beth Dakin  <bdakin@apple.com>
3894
3895         REGRESSION: Invoking dictionary lookup on text in some search fields searches for 
3896         incorrect item
3897         https://bugs.webkit.org/show_bug.cgi?id=138853
3898         -and corresponding-
3899         rdar://problem/18912505
3900
3901         Reviewed by Tim Horton.
3902
3903         Get the visible position based on the frame, not just the renderer.
3904         * editing/mac/DictionaryLookup.mm:
3905         (WebCore::rangeForDictionaryLookupAtHitTestResult):
3906
3907 2014-11-18  David Hyatt  <hyatt@apple.com>
3908
3909         REGRESSION (r167210): Invalid cast in WebCore::RenderBlock::blockSelectionGaps
3910         https://bugs.webkit.org/show_bug.cgi?id=137590
3911
3912         Reviewed by Dean Jackson.
3913
3914         Added fast/block/selection-block-gaps-crash.html
3915
3916         * rendering/RenderBlock.cpp:
3917         (WebCore::RenderBlock::blockSelectionGaps):
3918         Check that we really are a RenderBlock before recurring.
3919
3920 2014-11-18  Andreas Kling  <akling@apple.com>
3921
3922         Avoid synchronous style recalc in Document.activeElement
3923         <https://webkit.org/b/138850>
3924
3925         Reviewed by Ryosuke Niwa.
3926
3927         This subtly changes the behavior of <input autofocus>, which was caught by
3928         a layout test. Auto-focus doesn't happen until the render tree is attached,
3929         although it was possible to force it by accessing document.activeElement.
3930
3931         Now auto-focus is always lazy. This is consistent with other browser engines.
3932
3933         ~1% progression on Speedometer locally.
3934
3935         * dom/Document.cpp:
3936         (WebCore::Document::activeElement):
3937
3938 2014-11-18  Chris Dumez  <cdumez@apple.com>
3939
3940         Have Vector::capacity() return an unsigned instead of a size_t
3941         https://bugs.webkit.org/show_bug.cgi?id=138842
3942
3943         Reviewed by Andreas Kling.
3944
3945         Update the code base now that Vector::capacity() returns an unsigned
3946         type instead of a size_t.
3947
3948         No new tests, no behavior change.
3949
3950         * editing/TextIterator.cpp:
3951         (WebCore::SearchBuffer::append):
3952         (WebCore::SearchBuffer::prependContext):
3953         (WebCore::SearchBuffer::search):
3954         (WebCore::SearchBuffer::length):
3955         * platform/SharedBuffer.cpp:
3956         (WebCore::SharedBuffer::duplicateDataBufferIfNecessary):
3957
3958 2014-11-18  Geoffrey Garen  <ggaren@apple.com>
3959
3960         Removed the custom allocator for ListHashSet nodes
3961         https://bugs.webkit.org/show_bug.cgi?id=138841
3962
3963         Reviewed by Andreas Kling.
3964
3965         Uses of ListHashSet no longer need to declare an inline capacity,
3966         since that was only used to specify the capacity of the custom allocator.
3967
3968         * dom/DOMNamedFlowCollection.h:
3969         * dom/DocumentEventQueue.h:
3970         * dom/DocumentStyleSheetCollection.h:
3971         * dom/NamedFlowCollection.h:
3972         * html/FormController.h:
3973         * rendering/FloatingObjects.h:
3974         * rendering/RenderBlock.h:
3975
3976 2014-11-18  David Hyatt  <hyatt@apple.com>
3977
3978         REGRESSION(r152313): Inline-block element doesn't wrap properly
3979         https://bugs.webkit.org/show_bug.cgi?id=138846 - <rdar://problem/18838703>
3980
3981         Reviewed by Simon Fraser.
3982
3983         Added fast/inline-block/inline-block-empty-spans.html
3984
3985         * rendering/line/BreakingContextInlineHeaders.h:
3986         (WebCore::BreakingContext::canBreakAtThisPosition):
3987
3988 2014-11-18  Myles C. Maxfield  <mmaxfield@apple.com>
3989
3990         Multicolumn layout with negative line spacing and orphans causes pieces of letters to be shown at the bottom of columns
3991         https://bugs.webkit.org/show_bug.cgi?id=138204
3992
3993         Reviewed by Dave Hyatt.
3994
3995         This code is responsible for pushing block elements to the next column if
3996         the "orphans" CSS property is triggered. The mechanism by which this is
3997         achieved is to push the block down such that the origin of the block is
3998         at the origin of the next column. However, if there is negative line
3999         spacing, the top portion of the text might actually be on top of the
4000         origin of the block. Therefore, the block wasn't being pushed down enough
4001         to entirely contain its text, so the top pieces were being drawn on the
4002         previous column.
4003
4004         Test: fast/multicol/orphans-negative-line-spacing.html
4005
4006         * rendering/RenderBlockFlow.cpp:
4007         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
4008
4009 2014-11-18  Chris Dumez  <cdumez@apple.com>
4010
4011         DOMTimers sometimes don't get unthrottled on scrolling
4012         https://bugs.webkit.org/show_bug.cgi?id=138838
4013
4014         Reviewed by Antti Koivisto.
4015
4016         DOMTimers sometimes didn't get unthrottled on scrolling. This is
4017         because we stopped listening for viewport changes every time the
4018         timer fires, but we didn't listen for those changes again if we
4019         decided the timer should stay throttled after the timer's action
4020         was executed.
4021
4022         We should listen for viewport changes again after executing the
4023         timer's action, if there are elements outside the viewport causing
4024         the DOMTimer to be throttled, even if the throttleState hasn't
4025         changed (i.e the timer stays throttled).
4026
4027         Test: fast/dom/timer-unthrottle-on-scroll.html
4028
4029         * page/DOMTimer.cpp:
4030         (WebCore::DOMTimer::updateThrottlingStateIfNecessary):
4031         (WebCore::DOMTimer::updateTimerIntervalIfNecessary):
4032         (WebCore::DOMTimer::updateThrottlingStateAfterViewportChange):
4033
4034 2014-11-18  Daniel Bates  <dbates@webkit.org>
4035
4036         [iOS] Make WebCore build and link with public SDK
4037         https://bugs.webkit.org/show_bug.cgi?id=136487
4038
4039         Reviewed by David Kilzer.
4040
4041         * bindings/objc/DOMInternal.mm: Include header NSMapTableSPI.h.
4042         * bindings/objc/WebScriptObject.mm: Ditto; Also fix style nit, substitute
4043         #import for #include when importing header WTFString.h.
4044         * bridge/objc/objc_instance.mm: Include header NSMapTableSPI.h and remove
4045         #import NSMapTable.h as the former will import the latter.
4046         * platform/ios/PlatformEventFactoryIOS.mm: Include header wtf/CurrentTime.h
4047         for the declaration of WTF::currentTime().
4048         * platform/ios/wak/WebCoreThread.mm: Remove unnecessary include of header CoreFoundation/CFPriv.h.
4049         * platform/spi/ios/AVKitSPI.h: Add more SPI.
4050         * platform/spi/ios/MPAVRoutingControllerSPI.h: Ditto.
4051
4052 2014-11-18  Myles C. Maxfield  <mmaxfield@apple.com>
4053
4054         Subclass CachedFont for SVG fonts
4055         https://bugs.webkit.org/show_bug.cgi?id=138686
4056
4057         Reviewed by Simon Fraser.
4058
4059         Re-landing due to flakey bots.
4060
4061         CachedFont had many #if ENABLE(SVG_FONTS) scattered throughout it.
4062         Splitting out this SVG-specific code into a subclass of CachedFont
4063         cleans up the design.
4064
4065         No new tests because there is no behavior change.
4066
4067         * CMakeLists.txt:
4068         * WebCore.vcxproj/WebCore.vcxproj:
4069         * WebCore.vcxproj/WebCore.vcxproj.filters:
4070         * WebCore.xcodeproj/project.pbxproj:
4071         * css/CSSFontFaceSource.cpp: