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