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