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