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