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