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