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