Add WTF::move()
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-07-03  Daniel Bates  <dabates@apple.com>
2
3         Add WTF::move()
4         https://bugs.webkit.org/show_bug.cgi?id=134500
5
6         Rubber-stamped by Anders Carlsson.
7
8         Substitute WTF::move() for std::move().
9
10         * Modules/battery/NavigatorBattery.cpp:
11         * Modules/encryptedmedia/MediaKeys.cpp:
12         * Modules/gamepad/NavigatorGamepad.cpp:
13         * Modules/gamepad/deprecated/NavigatorGamepad.cpp:
14         * Modules/geolocation/NavigatorGeolocation.cpp:
15         * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
16         * Modules/indexeddb/IDBDatabaseBackend.cpp:
17         * Modules/indexeddb/IDBDatabaseBackend.h:
18         [...]
19
20 2014-07-03  Benjamin Poulain  <bpoulain@apple.com>
21
22         [iOS][WK2] Fix small bugs of dynamicViewportSizeUpdate that were causing inaccuracies in the computed target
23         https://bugs.webkit.org/show_bug.cgi?id=134582
24
25         Reviewed by Tim Horton.
26
27         * WebCore.exp.in:
28         * platform/ScrollView.h:
29         (WebCore::ScrollView::unobscuredContentSize):
30         * platform/ios/ScrollViewIOS.mm:
31         (WebCore::ScrollView::unobscuredContentRect):
32         (WebCore::ScrollView::setUnobscuredContentSize):
33
34 2014-07-02  Brent Fulgham  <bfulgham@apple.com>
35
36         [Mac] WebKit1 WebView iframe not responding to scroll gestures
37         https://bugs.webkit.org/show_bug.cgi?id=134569
38         <rdar://problem/17309008>
39
40         Reviewed by Simon Fraser.
41
42         New test: platform/mac/fast/scrolling/scroll-iframe-fragment.html
43
44         WK1 scrollable areas are implemented on top of PlatformWidget (i.e., NSView) objects. They only
45         perform a scroll operation if the EventHandler::handleWheelEvent method returns 'false', indicating
46         that the Cocoa layer should do scrolling work. This is in contrast to WK2, where the scrolling is
47         handled separately and we return 'true' from EventHandler::handleWheelEvent to indicate that the
48         scroll event has been handled and that no other work is needed. This mismatch in the meaning of
49         EventHandler::handleWheelEvent means that WK1 views do not properly handle scroll wheel events.
50
51         To correct this, we need to see if we are acting on an Element backed by a PlatformWidget. When we
52         are (the WK1 case) we want to return 'false' to instruct the Cocoa object to do the scroll operation.
53         To implement proper latching behavior in WK1, we must return 'true' in the case where we are latched
54         to a PlatformWidget, and that PlatformWidget did not start the scroll gesture at the edge of
55         the region in the dominant scroll direction.
56
57         Finally, additional logic was needed to determine whether the PlatformWidget is scrolled to the
58         edge in the dominant scroll direction.
59
60         * page/EventHandler.cpp:
61         (WebCore::EventHandler::platformCompleteWheelEvent): Added stub.
62         (WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Added stub.
63         (WebCore::EventHandler::handleWheelEvent): Call new platformCompletePlatformWidgetWheelEvent if the
64         event was handled for a PlatformWidget.
65         * page/EventHandler.h:
66         * page/mac/EventHandlerMac.mm:
67         (WebCore::widgetForEventTarget): Added helper function.
68         (WebCore::scrollViewForEventTarget): Added helper function.
69         (WebCore::eventTargetIsPlatformWidget): Added helper function.
70         (WebCore::EventHandler::platformPrepareForWheelEvents): Check whether we are at a scrolled edge
71         for the NSView (PlatformWidget) case.
72         (WebCore::EventHandler::platformCompleteWheelEvent): Return 'false' when handling WK1-style scrolls.
73         (WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Added. We generally want to
74         return false so the PlatformWidget handles scrolling, except in the case where we are latched to
75         a PlatformWidget, which has already performed its scroll, and we want to avoid propegating a
76         scroll event to an enclosing region.
77
78 2014-07-03  Pratik Solanki  <psolanki@apple.com>
79
80         Preserve old behavior of creating an NSURLRequest of the exact same type as passed to us
81         https://bugs.webkit.org/show_bug.cgi?id=134605
82         <rdar://problem/17544641>
83
84         Reviewed by Andreas Kling.
85
86         We have client code that passes us a subclass of NSURLRequest to load resource. Later when
87         we call willSendRequest, they test to make sure they get an object of the same type. My
88         optimization in r170642 broke this path when I cleared out the NSURLRequest object. We
89         already had code in updateNSURLRequest() that was taking this quirk into account but I broke
90         that. Fix it by reverting to old behavior for such clients.
91
92         No new tests though we need one. I will add it later.
93
94         * platform/network/cf/ResourceRequest.h:
95         * platform/network/cf/ResourceRequestCFNet.cpp:
96         (WebCore::ResourceRequest::doUpdatePlatformRequest):
97         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
98         (WebCore::ResourceRequest::setStorageSession):
99         * platform/network/ios/ResourceRequestIOS.mm:
100         (WebCore::ResourceRequest::updateNSURLRequest):
101         (WebCore::ResourceRequest::clearOrUpdateNSURLRequest):
102
103 2014-07-02  Anders Carlsson  <andersca@apple.com>
104
105         Stop using EncoderAdapter/DecoderAdapter for FormData
106         https://bugs.webkit.org/show_bug.cgi?id=134571
107
108         Reviewed by Andreas Kling.
109
110         * WebCore.exp.in:
111         * platform/network/FormData.cpp:
112         (WebCore::encodeElement): Deleted.
113         (WebCore::decodeElement): Deleted.
114         (WebCore::FormData::encode): Deleted.
115         (WebCore::FormData::decode): Deleted.
116         * platform/network/FormData.h:
117         (WebCore::FormDataElement::encode):
118         (WebCore::FormDataElement::decode):
119         (WebCore::FormData::encode):
120         (WebCore::FormData::decode):
121
122 2014-07-03  Brady Eidson  <beidson@apple.com>
123
124         Selection rects sent to ServicesOverlayController are wrong.
125         <rdar://problem/16727796> and https://bugs.webkit.org/show_bug.cgi?id=134568
126
127         Reviewed by Darin Adler (and Tim Horton and Ryosuke Niwa).
128
129         * WebCore.exp.in:
130
131         Update the gatherer to keep GapRects separate from LayoutRects:
132         * editing/SelectionRectGatherer.cpp:
133         (WebCore::SelectionRectGatherer::addRects):
134         (WebCore::SelectionRectGatherer::Notifier::~Notifier):
135         (WebCore::SelectionRectGatherer::clearAndCreateNotifier):
136         * editing/SelectionRectGatherer.h:
137
138         * page/EditorClient.h:
139         (WebCore::EditorClient::selectionRectsDidChange): Updated to take LayoutRects and GapRects separately.
140
141         Change RenderSelectionInfo to also hang on to the individual rects that formed the final bounding rect:
142         * rendering/RenderSelectionInfo.h:
143         (WebCore::RenderSelectionInfo::RenderSelectionInfo): If the RenderObject is a RenderText, then call
144           collectSelectionRectsForLineBoxes instead of selectionRectForRepaint.
145         (WebCore::RenderSelectionInfo::rects):
146
147         * rendering/RenderText.cpp:
148         (WebCore::RenderText::collectSelectionRectsForLineBoxes): Added
149         (WebCore::RenderText::selectionRectForRepaint):
150         * rendering/RenderText.h:
151
152         * rendering/RenderTextLineBoxes.cpp:
153         (WebCore::RenderTextLineBoxes::collectSelectionRectsForRange): Added
154         * rendering/RenderTextLineBoxes.h:
155
156         * rendering/RenderView.cpp:
157         (WebCore::RenderView::setSubtreeSelection): Add the list of rects to the gatherer instead of just 
158           the bounding rect.
159
160 2014-07-03  Brady Eidson  <beidson@apple.com>
161
162         Possible crash in IconDatabase in WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread
163         <rdar://problem/17437687> and https://bugs.webkit.org/show_bug.cgi?id=134517
164
165         Reviewed by Eric Carlson.
166
167         Since WebCore::IconDatabase is not RefCounted there’s no obvious way to keep it alive until it is
168         truly no longer needed.
169
170         This isn’t generally a problem because they are usually a singleton that lasts the lifetime of the process.
171
172         In the WebKit2 case, WebCore::IconDatabases can come and go as their owning WebIconDatabases come and go.
173
174         So we can rely on WebIconDatabase to handle the lifetime appropriately. 
175
176         * loader/icon/IconDatabase.cpp:
177         (WebCore::IconDatabase::close): If the database is actually closed, notify the client.
178         (WebCore::IconDatabase::IconDatabase):
179         (WebCore::IconDatabase::isOpen): Take into account whether there’s any main thread callbacks, plus what
180           is covered by isOpenBesidesMainThreadCallbacks.
181         (WebCore::IconDatabase::isOpenBesidesMainThreadCallbacks): Take into account whether the sync thread
182           is still running and whether or not the database file is still open.
183         (WebCore::IconDatabase::checkClosedAfterMainThreadCallback): Checks to see if the database has just
184           become 100% closed and - if so - notify the client.
185         (WebCore::IconDatabase::dispatchDidImportIconURLForPageURLOnMainThread): Updated to increment the main thread
186           callback count and to call checkClosedAfterMainThreadCallback when done.
187         (WebCore::IconDatabase::dispatchDidImportIconDataForPageURLOnMainThread): Ditto.
188         (WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread): Ditto.
189         (WebCore::IconDatabase::dispatchDidFinishURLImportOnMainThread): Ditto.
190         * loader/icon/IconDatabase.h:
191
192         * loader/icon/IconDatabaseClient.h:
193         (WebCore::IconDatabaseClient::didClose): Added. For the IconDatabase to tell its client it is 100% closed.
194
195 2014-07-03  Chris Fleizach  <cfleizach@apple.com>
196
197         AX: VoiceOver does not read aria-expanded attribute on controls in Safari
198         https://bugs.webkit.org/show_bug.cgi?id=134527
199
200         Reviewed by Mario Sanchez Prada.
201
202         Expose whether the ARIA expanded property is present or not.
203
204         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
205         (-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):
206
207 2014-07-02  Jon Honeycutt  <jhoneycutt@apple.com>
208
209         Removing an element with CSS -webkit-overflow-scrolling: touch breaks
210         subsequent touch events
211
212         <https://bugs.webkit.org/show_bug.cgi?id=134584>
213         <rdar://problem/17202021>
214
215         This issue is caused by the order of teardown for RenderLayers.
216
217         RenderLayer clears its m_backing in its destructor, calling the
218         RenderLayerBacking destructor. The RenderLayerBacking destructor calls
219         RenderLayerCompositor::willRemoveScrollingLayer(), which tries to
220         access the RenderLayer's backing that has already been cleared. This
221         causes us to skip the call to ChromeClient::removeScrollingLayer(),
222         resulting in a stale view that can block touch events.
223
224         Reviewed by Simon Fraser.
225
226         * rendering/RenderLayerBacking.cpp:
227         (WebCore::RenderLayerBacking::updateScrollingLayers):
228         When calling willRemoveScrollingLayerWithBacking(), pass both the layer
229         and the RenderLayerBacking.
230
231         * rendering/RenderLayerCompositor.cpp:
232         (WebCore::RenderLayerCompositor::willRemoveScrollingLayerWithBacking):
233         Renamed. Use the passed RenderLayerBacking, as the RenderLayer's
234         backing might have already been cleared.
235         (WebCore::RenderLayerCompositor::willRemoveScrollingLayer): Deleted.
236
237         * rendering/RenderLayerCompositor.h:
238         Renamed willRemoveScrollingLayer() to
239         willRemoveScrollingLayerWithBacking() and added a parameter.
240
241 2014-07-01  Mark Rowe  <mrowe@apple.com>
242
243         Ensure that the WebKit bundle version in the user agent string continues to match the current format.
244         <https://webkit.org/b/134524> / <rdar://problem/17447771>
245
246         Reviewed by Simon Fraser.
247
248         * page/cocoa/UserAgent.h:
249         * page/cocoa/UserAgent.mm:
250         (WebCore::userVisibleWebKitBundleVersionFromFullVersion): Updated to take an NSString now that it's internal
251         to the file.
252         (WebCore::userAgentBundleVersionFromFullVersionString): Limit the bundle version included in the user agent
253         string to three components.
254         * page/ios/UserAgentIOS.mm:
255         (WebCore::standardUserAgentWithApplicationName): Update to call userAgentBundleVersionFromFullVersionString.
256         * page/mac/UserAgentMac.mm:
257         (WebCore::standardUserAgentWithApplicationName): Ditto.
258
259 2014-07-01  Mark Rowe  <mrowe@apple.com>
260
261         <https://webkit.org/b/134522> Remove duplication in code that prepares the user agent string on Mac and iOS
262
263         Reviewed by Simon Fraser.
264
265         * page/cocoa/UserAgent.h:
266         * page/cocoa/UserAgent.mm:
267         (WebCore::userVisibleWebKitBundleVersionFromFullVersion): Moved from WebKit2.
268         * page/ios/UserAgentIOS.mm:
269         (WebCore::standardUserAgentWithApplicationName): Pass the WebKit bundle version through userVisibleWebKitBundleVersionFromFullVersion
270         before including it in the user agent string.
271         * page/mac/UserAgentMac.mm:
272         (WebCore::standardUserAgentWithApplicationName): Ditto.
273
274 2014-07-02  Mark Rowe  <mrowe@apple.com>
275
276         <https://webkit.org/b/134521> iOS should use shared code to determine the system marketing version
277
278         Reviewed by Simon Fraser.
279
280         * WebCore.xcodeproj/project.pbxproj: Add the new files, and sort the groups they're in.
281         * page/cocoa/UserAgent.h: Copied from Source/WebCore/page/mac/UserAgent.h.
282         * page/cocoa/UserAgent.mm: Renamed from Source/WebCore/page/mac/UserAgent.h.
283         Move systemMarketingVersionForUserAgentString to a location where it can be shared between
284         Mac and iOS.
285         * page/ios/UserAgentIOS.mm:
286         (WebCore::standardUserAgentWithApplicationName): Switch to systemMarketingVersionForUserAgentString.
287         * page/mac/UserAgentMac.mm:
288         * platform/cocoa/SystemVersion.h: Renamed from Source/WebCore/platform/mac/SystemVersionMac.h.
289         * platform/cocoa/SystemVersion.mm: Renamed from Source/WebCore/platform/mac/SystemVersionMac.mm.
290         Move to a location that makes it clear this is shared between Mac and iOS. Enable the modern Mac
291         codepath for iOS as well.
292
293 2014-07-02  Anders Carlsson  <andersca@apple.com>
294
295         Remove keyed coding from FormData
296         https://bugs.webkit.org/show_bug.cgi?id=134565
297
298         Reviewed by Tim Horton.
299
300         * platform/network/FormData.cpp:
301         (WebCore::encodeElement): Deleted.
302         (WebCore::decodeElement): Deleted.
303         (WebCore::FormData::encode): Deleted.
304         (WebCore::FormData::decode): Deleted.
305         * platform/network/FormData.h:
306
307 2014-07-02  Anders Carlsson  <andersca@apple.com>
308
309         Get rid of the HistoryItem encoding/decoding in WebCore
310         https://bugs.webkit.org/show_bug.cgi?id=134564
311
312         Reviewed by Beth Dakin.
313
314         * WebCore.exp.in:
315         * history/HistoryItem.cpp:
316         (WebCore::HistoryItem::encodeBackForwardTree): Deleted.
317         (WebCore::encodeRect): Deleted.
318         (WebCore::encodeSize): Deleted.
319         (WebCore::HistoryItem::encodeBackForwardTreeNode): Deleted.
320         (WebCore::DecodeRecursionStackElement::DecodeRecursionStackElement): Deleted.
321         (WebCore::decodeRect): Deleted.
322         (WebCore::decodeSize): Deleted.
323         (WebCore::HistoryItem::decodeBackForwardTree): Deleted.
324         * history/HistoryItem.h:
325
326 2014-07-02  Alex Christensen  <achristensen@webkit.org>
327
328         [WebGL] Fix crash when glsl expressions are too complex.
329         https://bugs.webkit.org/show_bug.cgi?id=134554
330         <rdar://problem/17540462>
331
332         Reviewed by Dean Jackson.
333         
334         This fixes the Khronos test conformance/glsl/bugs/long-expressions-should-not-crash.html.
335
336         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
337         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
338         Add SH_LIMIT_EXPRESSION_COMPLEXITY to the ANGLE compile options.
339
340 2014-07-02  Benjamin Poulain  <benjamin@webkit.org>
341
342         WebCore JIT: rename registerCount to something less generic and add new types for lists of registers and lists of stack references
343         https://bugs.webkit.org/show_bug.cgi?id=134552
344
345         Reviewed by Alex Christensen.
346
347         Little cleanup:
348         -The name registerCount was a little too generic. Rename that to "maximumRegisterCount" to avoid confusion.
349         -Add a new type RegisterVector for any vector holding registers. This is just to avoid repeating the inline
350          size everywhere, no functional change.
351         -Same idea for the stack: welcome StackReferenceVector!
352
353         * cssjit/FunctionCall.h:
354         (WebCore::FunctionCall::saveAllocatedCallerSavedRegisters):
355         Remove the appendVector here. It was unnecessarily cautious, StackAllocator already protect us
356         from mistakes.
357
358         * cssjit/RegisterAllocator.h:
359         (WebCore::RegisterAllocator::allocatedRegisters):
360         * cssjit/SelectorCompiler.cpp:
361         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
362         Changing from the count of "calleeSavedRegisterCount" to "maximumRegisterCount" will cause
363         calleeSavedRegisterStackReferences to always overallocate.
364         The code generator is never on the heap, so that should not change anything.
365
366         * cssjit/StackAllocator.h:
367         (WebCore::StackAllocator::push):
368         (WebCore::StackAllocator::pop):
369
370 2014-07-02  Dan Bernstein  <mitz@apple.com>
371
372         Remove some code only needed for versions of Safari that are no longer supported
373         https://bugs.webkit.org/show_bug.cgi?id=134537
374
375         Reviewed by Anders Carlsson.
376
377         * bindings/objc/DOMHTML.mm:
378         (-[DOMHTMLInputElement _rectOnScreen]): Deleted.
379         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): Deleted.
380         (-[DOMHTMLInputElement _selectedRange]): Deleted.
381         * bindings/objc/DOMPrivate.h:
382         * editing/EditorCommand.cpp:
383         (WebCore::createCommandMap):
384
385 2014-07-02  Carlos Garcia Campos  <cgarcia@igalia.com>
386
387         [GStreamer] MediaPlayerPrivateGStreamer.cpp fails to build when VIDEO_TRACK is enabled and using GSTREAMER_MPEGTS
388         https://bugs.webkit.org/show_bug.cgi?id=134548
389
390         Reviewed by Philippe Normand.
391
392         Include AtomicStringHash.h when ENABLE(VIDEO_TRACK) && USE(GSTREAMER_MPEGTS)
393         since it's used by HashMap<AtomicString, RefPtr<InbandMetadataTextTrackPrivateGStreamer>>
394
395         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
396
397 2014-07-02  Carlos Garcia Campos  <cgarcia@igalia.com>
398
399         [GTK] Unstable headers should include webkitdomdefines-unstable.h
400         https://bugs.webkit.org/show_bug.cgi?id=134540
401
402         Reviewed by Martin Robinson.
403
404         Instead of the class header that can only be included from webkitdom.h.
405
406         * bindings/scripts/CodeGeneratorGObject.pm:
407         (WriteData):
408
409 2014-07-02  Mario Sanchez Prada  <mario.prada@samsung.com>
410
411         REGRESSION(r170008): [GTK] Layout Tests fast/forms/option-constructor-selected.html and fast/forms/select-live-pseudo-selectors.html crash.
412         https://bugs.webkit.org/show_bug.cgi?id=134399
413
414         Reviewed by Chris Fleizach.
415
416         Check that the value of optionIndex passed as a parameter is valid
417         before calling didUpdateActiveOption() over the item of the menu
418         list, to prevent crashes in platforms where renderers (and therefore
419         accessibility objects) might not be created for items at the time
420         of calling AccessibilityMenuList::didUpdateActiveOption().
421
422         * accessibility/AccessibilityMenuList.cpp:
423         (WebCore::AccessibilityMenuList::didUpdateActiveOption): Added check.
424
425 2014-07-02  Carlos Garcia Campos  <cgarcia@igalia.com>
426
427         [GTK] Do not add forward declaration of class struct for interfaces
428         https://bugs.webkit.org/show_bug.cgi?id=134297
429
430         Reviewed by Martin Robinson.
431
432         * PlatformGTK.cmake: Make files generated by
433         gobject-generate-headers.pl script depend on it.
434         * bindings/gobject/WebKitDOMEventTarget.h: Remove forward declaration.
435         * bindings/gobject/WebKitDOMNodeFilter.h: Ditto
436         * bindings/gobject/WebKitDOMXPathNSResolver.h: Ditto.
437         * bindings/scripts/gobject-generate-headers.pl: Use Iface instead
438         of Class suffix for interfaces.
439
440 2014-07-01  Carlos Garcia Campos  <cgarcia@igalia.com>
441
442         [GTK] XPathNSResolver should be exposed as an interface instead of as a class
443         https://bugs.webkit.org/show_bug.cgi?id=134028
444
445         Reviewed by Gustavo Noronha Silva.
446
447         Add custom implementation of WebKitDOMXPathNSResolver to expose it
448         as an interface instead of a class. It also includes an internal
449         default implementation of the interface to support methods that
450         create a XPathNSResolver using the native implementation.
451
452         * PlatformGTK.cmake: Add new files to compilation.
453         * bindings/gobject/GObjectXPathNSResolver.cpp: Added.
454         (WebCore::GObjectXPathNSResolver::~GObjectXPathNSResolver):
455         (WebCore::GObjectXPathNSResolver::lookupNamespaceURI): Call
456         webkit_dom_xpath_ns_resolver_lookup_namespace_uri().
457         * bindings/gobject/GObjectXPathNSResolver.h: Added.
458         (WebCore::GObjectXPathNSResolver::create):
459         (WebCore::GObjectXPathNSResolver::GObjectXPathNSResolver): Create
460         a new GObjectXPathNSResolver for the given WebKitDOMXPathNSResolver.
461         * bindings/gobject/WebKitDOMXPathNSResolver.cpp: Added.
462         (webkit_dom_xpath_ns_resolver_default_init):
463         (webkit_dom_xpath_ns_resolver_lookup_namespace_uri):
464         (webkitDOMNativeXPathNSResolverFinalize):
465         (webkitDOMNativeXPathNSResolverConstructor):
466         (webkit_dom_native_xpath_ns_resolver_init):
467         (webkit_dom_native_xpath_ns_resolver_class_init):
468         (webkitDOMNativeXPathNSResolverLookupNamespaceURI):
469         (webkitDOMXPathNSResolverIfaceInit):
470         (WebKit::core): Return the native XPathNSResolver when using the
471         internal implementation or create a custom XPathNSResolver when
472         using a user provided WebKitDOMXPathNSResolver.
473         (WebKit::kit):
474         * bindings/gobject/WebKitDOMXPathNSResolver.h: Added.
475         * bindings/gobject/WebKitDOMXPathNSResolverPrivate.h: Added.
476         * bindings/scripts/CodeGeneratorGObject.pm:
477         (GenerateFunction): Add exceptions for XPathNSResolver since
478         the core method returns a PassRefPtr.
479
480 2014-07-01  Frédéric Wang  <fred.wang@free.fr>
481
482         The OpenType MATH table is not read on Mac
483         https://bugs.webkit.org/show_bug.cgi?id=133569
484
485         Reviewed by Chris Fleizach.
486
487         An incorrect tag format is used to load the OpenType MATH table on Mac.
488         This commit makes the format consistent with what is used for other tables on Mac.
489         This will allow to load the MATH table and to use it for the MathML rendering.
490
491         No new tests. platform/graphics/opentype already contains tests for the OpenType MATH support.
492
493         * platform/graphics/opentype/OpenTypeMathData.cpp:
494
495 2014-07-01  Alex Christensen  <achristensen@webkit.org>
496
497         [Win64] Unreviewed build fix.
498
499         * WebCore.vcxproj/WebCore.vcxproj:
500         Exclude CA files from 32 and 64 bit WinCairo builds.
501         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
502         Don't use a precompiled header in 32 or 63 bit builds of MockCDM.cpp.
503
504 2014-07-01  Alex Christensen  <achristensen@webkit.org>
505
506         Reduce dynamic memory allocation in css jit.
507         https://bugs.webkit.org/show_bug.cgi?id=134416
508
509         Reviewed by Benjamin Poulain.
510
511         * cssjit/FunctionCall.h:
512         (WebCore::FunctionCall::saveAllocatedRegisters):
513         * cssjit/RegisterAllocator.h:
514         * cssjit/SelectorCompiler.cpp:
515         (WebCore::SelectorCompiler::addPseudoClassType):
516         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
517         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
518         * cssjit/StackAllocator.h:
519         (WebCore::StackAllocator::push):
520         (WebCore::StackAllocator::pop):
521         Use inlineCapacity template parameter to reduce malloc calls.
522         I use 32 as the inline capacity for non-register related vectors because that
523         is probably big enough for the selector compiler, and if it is not then a malloc
524         call will not be significant because the selector is very complex.
525
526 2014-07-01  Eric Carlson  <eric.carlson@apple.com>
527
528         WebVTT percentage value can be a float
529         https://bugs.webkit.org/show_bug.cgi?id=134511
530
531         Reviewed by Brent Fulgham.
532
533         No new tests, existing tests modified.
534
535         * html/track/TextTrackCueGeneric.cpp:
536         (WebCore::TextTrackCueGeneric::setLine): int -> double.
537         (WebCore::TextTrackCueGeneric::setPosition): Ditto.
538         * html/track/TextTrackCueGeneric.h:
539
540         * html/track/VTTCue.cpp:
541         (WebCore::VTTCue::setLine): Ditto.
542         (WebCore::VTTCue::setPosition):  Ditto.
543         (WebCore::VTTCue::setCueSettings): Support floating point values for line, position, and size.
544         (WebCore::scanPercentage): Deleted.
545         * html/track/VTTCue.h:
546
547         * html/track/VTTScanner.cpp:
548         (WebCore::VTTScanner::scanFloat): Support negative values.
549         * html/track/VTTScanner.h:
550
551         * html/track/WebVTTParser.cpp: Include parseFloatPercentageValue in non-WEBVTT_REGIONS builds.
552         * html/track/WebVTTParser.h:
553
554         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
555         (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Drive by change to take a cue
556             reference rather than a pointer.
557         (WebCore::InbandTextTrackPrivateAVF::processAttributedStrings): Ditto.
558         (WebCore::InbandTextTrackPrivateAVF::removeCompletedCues): Loop over all cues, don't LOG that
559             we are asking the client to delete the cue because the client will have already deleted
560             it when status when to GenericCueData::Complete.
561         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
562
563 2014-07-01  Simon Fraser  <simon.fraser@apple.com>
564
565         Improve behavior of position:sticky on zoomed pages
566         https://bugs.webkit.org/show_bug.cgi?id=134535
567         <rdar://problem/12898829>
568
569         Reviewed by Dean Jackson.
570
571         Despite r138036, position:sticky still had incorrect behavior in zoomed pages.
572         
573         Fix by removing the scaling of the rect from viewportConstrainedVisibleContentRect(),
574         since all the other math happens in unscaled coordinates.
575
576         * rendering/RenderBoxModelObject.cpp:
577         (WebCore::RenderBoxModelObject::constrainingRectForStickyPosition):
578
579 2014-07-01  Alex Christensen  <achristensen@webkit.org>
580
581         [WebGL] Fix PVRTC extension.
582         https://bugs.webkit.org/show_bug.cgi?id=134525
583
584         Reviewed by Dean Jackson.
585
586         * html/canvas/WebGLRenderingContext.cpp:
587         (WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
588         Remove the return false which I mistakenly committed in r170128
589         and make the gl error match the S3TC error and the khronos test.
590
591 2014-07-01  Chris Fleizach  <cfleizach@apple.com>
592
593         AX: iOS does not expose ARIA toggle buttons at all (not even as a regular button)
594         https://bugs.webkit.org/show_bug.cgi?id=133875
595
596         Reviewed by Enrica Casucci.
597
598         Support the toggle button type in iOS.
599
600         Test: platform/ios-sim/accessibility/toggle-button.html
601
602         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
603         (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
604         (-[WebAccessibilityObjectWrapper accessibilityTraits]):
605         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
606
607 2014-07-01  Dean Jackson  <dino@apple.com>
608
609         [iOS] Subsampled JPEG images do not draw correctly via the canvas APIs
610         https://bugs.webkit.org/show_bug.cgi?id=134513
611         <rdar://problem/12078860>
612         <rdar://problem/16745393>
613
614         Reviewed by Tim Horton.
615
616         Subsampled images (e.g. JPEG) were not consistently using
617         their original dimensions and subsampled dimensions. This caused
618         things like texImage2D to pack the pixels incorrectly, or drawImage
619         to squish the rendering.
620
621         Renamed m_scale to m_subsamplingScale on FrameData.
622
623         Tests: fast/canvas/image-potential-subsample.html
624                fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image.html
625
626         * platform/graphics/BitmapImage.cpp:
627         (WebCore::BitmapImage::cacheFrame): Rename to m_subsamplingScale.
628         (WebCore::BitmapImage::frameAtIndex): Ditto.
629         * platform/graphics/BitmapImage.h:
630         (WebCore::FrameData::FrameData): Ditto.
631         * platform/graphics/cg/BitmapImageCG.cpp:
632         (WebCore::FrameData::clear): Ditto.
633         (WebCore::BitmapImage::BitmapImage): Ditto.
634         (WebCore::BitmapImage::draw): Use a scaledSrcRect that reflects the subsampled size,
635         rather than assuming the srcRect accurately reflects how many pixels we have
636         in the Bitmap.
637         (WebCore::BitmapImage::copyUnscaledFrameAtIndex):
638         * platform/graphics/cg/GraphicsContext3DCG.cpp:
639         (WebCore::GraphicsContext3D::ImageExtractor::extractImage): Similar fix, although this
640         time we just ask the image decoder to take into account the subsampled size
641         when it is "generating" a frame, causing it to use the bitmap data it has already
642         decoded.
643
644 2014-07-01  Joseph Pecoraro  <pecoraro@apple.com>
645
646         Web Inspector: Selected DOM element highlights invisible near bottom of the viewport (topContentInset?)
647         https://bugs.webkit.org/show_bug.cgi?id=133818
648
649         Reviewed by Beth Dakin.
650
651         * inspector/InspectorOverlay.cpp:
652         (WebCore::InspectorOverlay::update):
653         Take the topContentInset into account when sizing the InspectorOverlay's FrameView.
654
655 2014-07-01  Chris Fleizach  <cfleizach@apple.com>
656
657         AX: HTML indeterminate IDL attribute not mapped to checkbox value=2
658         https://bugs.webkit.org/show_bug.cgi?id=134492
659
660         Reviewed by Andreas Kling.
661
662         Support the indeterminate attribute in AX code.
663
664         Test: Update existing test: accessibility/aria-checked-mixed-value
665
666         * accessibility/AccessibilityObject.cpp:
667         (WebCore::AccessibilityObject::checkboxOrRadioValue):
668
669 2014-07-01  Myles C. Maxfield  <mmaxfield@apple.com>
670
671         Typing an automatic text replacement phrase after a br in contenteditable is not rendered as expected
672         https://bugs.webkit.org/show_bug.cgi?id=133883
673
674         Reviewed by Enrica Casucci.
675
676         enclosingDeletableElement() makes sure that the element's container is editable, but not
677         that it is capable of having content inside it (like how a <br> can't).
678
679         No new tests. I don't think this is testable because it requires setting some state in System Preferences.
680
681         * editing/DeleteButtonController.cpp:
682         (WebCore::enclosingDeletableElement):
683
684 2014-07-01  Alex Christensen  <achristensen@webkit.org>
685
686         [iOS] Unreviewed build fix after r170640.
687
688         * page/EditorClient.h:
689         (WebCore::EditorClient::selectedTelephoneNumberRangesChanged):
690         Add ifdefs to make everything compile and link.
691
692 2014-07-01  Daniel Bates  <dabates@apple.com>
693
694         Remove unnecessary calls to std::move()
695         https://bugs.webkit.org/show_bug.cgi?id=134493
696
697         Reviewed by Anders Carlsson.
698
699         * Modules/encryptedmedia/CDM.cpp:
700         (WebCore::CDM::CDM):
701         * css/CSSGrammar.y.in:
702         * css/CSSPrimitiveValue.cpp:
703         (WebCore::CSSPrimitiveValue::formatNumberValue):
704         * css/MediaQuery.cpp:
705         (WebCore::MediaQuery::MediaQuery):
706         * platform/graphics/mac/FontMac.mm:
707         (WebCore::Font::dashesForIntersectionsWithRect):
708
709 2014-07-01  Zalan Bujtas  <zalan@apple.com>
710
711         Subpixel rendering: Pixel crack in breadcrumbs at devforums.apple.com.
712         https://bugs.webkit.org/show_bug.cgi?id=134491
713
714         Reviewed by Simon Fraser.
715
716         Do not early round geometry values, while computing background image position. It changes the final
717         subpixel values and that could lead to wrong snap positions.
718         pixelSnapBackgroundImageGeometryForPainting() takes care of geometry snapping.
719
720         Test: fast/backgrounds/background-image-size-double-rounding.html
721
722         * rendering/RenderBoxModelObject.cpp:
723         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
724
725 2014-07-01  Pratik Solanki  <psolanki@apple.com>
726
727         Create NSURLRequest lazily when USE(CFNETWORK) is enabled
728         https://bugs.webkit.org/show_bug.cgi?id=134441
729
730         Reviewed by Andreas Kling.
731
732         No new tests. Should be covered by existing tests.
733
734         * platform/network/cf/ResourceRequest.h:
735         (WebCore::ResourceRequest::ResourceRequest):
736         (WebCore::ResourceRequest::encodingRequiresPlatformData):
737         * platform/network/cf/ResourceRequestCFNet.cpp:
738         (WebCore::ResourceRequest::doUpdatePlatformRequest):
739         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
740         (WebCore::ResourceRequest::setStorageSession):
741         * platform/network/cocoa/ResourceRequestCocoa.mm:
742         (WebCore::ResourceRequest::nsURLRequest):
743
744 2014-07-01  Brady Eidson  <beidson@apple.com>
745
746         Combine the Telephone and Selection overlay controllers, updating UI behavior.
747         https://bugs.webkit.org/show_bug.cgi?id=134461
748
749         Reviewed by Tim Horton.
750
751         * WebCore.exp.in:
752
753         * dom/Range.cpp:
754         (WebCore::Range::contains): Returns true if the Range completely contains the passed-in Range.
755         * dom/Range.h:
756
757 2014-07-01  Antti Koivisto  <antti@apple.com>
758
759         REGRESSION(160908): vube.com video won't play after going into and out of fullscreen
760         https://bugs.webkit.org/show_bug.cgi?id=134489
761
762         Reviewed by Zalan Bujtas.
763
764         Test: fullscreen/full-screen-plugin.html
765
766         It is difficult to restore the render tree correctly in all cases after removing a full screen
767         renderer from the tree. r160908 avoided dealing with this by simply always reconstructing the subtree.
768         Unfortunately plugin lifetime is currently tied to its renderer so this would cause the plugin to restart.
769         
770         With this patch we avoid reconstruction in normal cases and only force it if the render tree is complicated.
771
772         * dom/Document.cpp:
773         (WebCore::unwrapFullScreenRenderer):
774         
775             Force reconstruction conditionally.
776
777         (WebCore::Document::webkitWillEnterFullScreenForElement):
778         (WebCore::Document::webkitDidExitFullScreenForElement):
779         * rendering/RenderFullScreen.cpp:
780         (WebCore::RenderFullScreen::wrapRenderer):
781         (WebCore::RenderFullScreen::unwrapRenderer):
782         
783             Deal with the simple case of single child, possibly in anonymous wrapper.
784             In other cases request reconstruction.
785             This is covered by the existing fullscreen tests.
786
787         * rendering/RenderFullScreen.h:
788
789 2014-07-01  Zan Dobersek  <zdobersek@igalia.com>
790
791         Remove remaining Vector<> copies in WebCore accessibility code
792         https://bugs.webkit.org/show_bug.cgi?id=133263
793
794         Reviewed by Darin Adler.
795
796         * accessibility/AXObjectCache.cpp:
797         (WebCore::AXObjectCache::notificationPostTimerFired): Don't copy the Vector member and
798         then clear it -- move it into the local variable instead.
799         * accessibility/AccessibilityNodeObject.cpp:
800         (WebCore::AccessibilityNodeObject::ariaLabeledByText): Move the axElements Vector into
801         the AccessibilityText constructor.
802         (WebCore::AccessibilityNodeObject::stringValue): Create a const reference to the Vector of
803         HTMLSelectElement's list items instead of copying it.
804         * accessibility/AccessibilityObject.h:
805         (WebCore::AccessibilityText::AccessibilityText): Take the Vector parameter by non-const
806         value and move it into the member variable.
807         * accessibility/AccessibilityRenderObject.cpp: 
808         (WebCore::AccessibilityRenderObject::stringValue): Create a const reference to the Vector
809         of HTMLSelectElement's list items instead of copying it.
810         (WebCore::AccessibilityRenderObject::ariaSelectedRows): Wrap the AccessibilityChildrenVector
811         iteration in a lambda. Use it to iterate over either the newly-constructed Vector (in case
812         the object has the tree role) or the reference to the vector returned by
813         AccessibilityTable::rows() (in case the object is an AccessibilityTable instance).
814
815 2014-06-30  Commit Queue  <commit-queue@webkit.org>
816
817         Unreviewed, rolling out r170605.
818         https://bugs.webkit.org/show_bug.cgi?id=134484
819
820         The changes cause crashes on ARM64 (Requested by benjaminp on
821         #webkit).
822
823         Reverted changeset:
824
825         "Reduce dynamic memory allocation in css jit."
826         https://bugs.webkit.org/show_bug.cgi?id=134416
827         http://trac.webkit.org/changeset/170605
828
829 2014-06-30  Anders Carlsson  <andersca@apple.com>
830
831         Change the AddBackForwardItem message to take a page state object
832         https://bugs.webkit.org/show_bug.cgi?id=134475
833
834         Reviewed by Andreas Kling.
835
836         * WebCore.exp.in:
837
838 2014-06-30  Benjamin Poulain  <benjamin@webkit.org>
839
840         [iOS][WK2] Do not put tap highlight on images that are not in links, and on applet/embed/object
841         https://bugs.webkit.org/show_bug.cgi?id=134471
842         <rdar://problem/17513542>
843
844         Reviewed by Enrica Casucci.
845
846         UIKit has some special code to avoid tap highlight on certain type of object. This is not very flexible
847         since the page has no way of overriding that behavior.
848
849         This patch implement the same feature by changing the default stylesheet. The tap highlight is disabled
850         by default for those object, and enabled for images that are in a link.
851
852         * css/html.css:
853         (applet, embed, object, img):
854         (:-webkit-any-link img):
855
856 2014-06-30  Myles C. Maxfield  <mmaxfield@apple.com>
857
858         All Indic text is rendered as boxes on iOS
859         https://bugs.webkit.org/show_bug.cgi?id=134464
860
861         Reviewed by Simon Fraser.
862
863         I made a typo in r170207.
864
865         Test: fast/text/indic.html
866
867         * platform/graphics/ios/FontCacheIOS.mm:
868         (WebCore::languageSpecificFallbackFont):
869
870 2014-06-30  Myles C. Maxfield  <mmaxfield@apple.com>
871
872         [iOS] languageSpecificFallbackFont() is not consistent
873         https://bugs.webkit.org/show_bug.cgi?id=134473
874
875         Reviewed by Darin Adler.
876
877         It can use "<" throughout the function as well as keeping the fallthrough behavior consistent.
878
879         No tests because there is no behavior change.
880
881         * platform/graphics/ios/FontCacheIOS.mm:
882         (WebCore::languageSpecificFallbackFont):
883
884 2014-06-30  Brent Fulgham  <bfulgham@apple.com>
885
886         [Win] Unreviewed gardening.
887
888         * WebCore.vcxproj/WebCore.vcxproj: Do not compile JSFileException
889         and JSFileReaderSync multiple times.
890
891 2014-06-30  Daniel Bates  <dabates@apple.com>
892
893         Avoid copying function object in lambda function in ScrollingThread::dispatchBarrier(); actually use move semantics
894         https://bugs.webkit.org/show_bug.cgi?id=134470
895
896         Reviewed by Anders Carlsson.
897
898         Currently we always copy construct the captured std::function object when calling callOnMainThread()
899         in the lambda function created in ScrollingThread::dispatchBarrier() because captured variables are
900         const in a lambda expression's body by default. That is, the std::function object is captured as const.
901         Instead, we should mark this lambda expression as mutable so the captured std::function object is
902         non-const and hence we can use move semantics when passing it to callOnMainThread().
903
904         * page/scrolling/ScrollingThread.cpp:
905         (WebCore::ScrollingThread::dispatchBarrier):
906
907 2014-06-30  Anders Carlsson  <andersca@apple.com>
908
909         Adopt the legacy session decoding inside WebPage::restoreSession for now
910         https://bugs.webkit.org/show_bug.cgi?id=134465
911
912         Reviewed by Sam Weinig.
913
914         * WebCore.exp.in:
915
916 2014-06-30  Commit Queue  <commit-queue@webkit.org>
917
918         Unreviewed, rolling out r170578.
919         https://bugs.webkit.org/show_bug.cgi?id=134462
920
921         causes assertions loading nytimes.com on iOS (Requested by
922         smfr on #webkit).
923
924         Reverted changeset:
925
926         "Create NSURLRequest lazily when USE(CFNETWORK) is enabled"
927         https://bugs.webkit.org/show_bug.cgi?id=134441
928         http://trac.webkit.org/changeset/170578
929
930 2014-06-30  Alex Christensen  <achristensen@webkit.org>
931
932         Reduce dynamic memory allocation in css jit.
933         https://bugs.webkit.org/show_bug.cgi?id=134416
934
935         Reviewed by Benjamin Poulain.
936
937         * cssjit/FunctionCall.h:
938         (WebCore::FunctionCall::FunctionCall):
939         (WebCore::FunctionCall::saveAllocatedCallerSavedRegisters):
940         * cssjit/RegisterAllocator.h:
941         * cssjit/SelectorCompiler.cpp:
942         (WebCore::SelectorCompiler::addPseudoClassType):
943         (WebCore::SelectorCompiler::SelectorCodeGenerator::generatePrologue):
944         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
945         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
946         Use inlineCapacity template parameter to reduce malloc calls.
947         I use 16 and 32 as the inline capacity for non-register related vectors because that
948         is probably big enough for the selector compiler, and if it is not then a malloc
949         call will not be significant because the selector is very complex.
950         * cssjit/StackAllocator.h:
951         (WebCore::StackAllocator::push):
952         Pass a vector of stack references to match calls to pop and to avoid a call to appendVector.
953
954 2014-06-30  Alex Christensen  <achristensen@webkit.org>
955
956         Use non-thumb registers in armv7 css jit.
957         https://bugs.webkit.org/show_bug.cgi?id=134450
958
959         Reviewed by Geoff Garen.
960
961         * cssjit/RegisterAllocator.h:
962         (WebCore::RegisterAllocator::isValidRegister):
963         (WebCore::RegisterAllocator::isCallerSavedRegister):
964         Use additional general purpose registers.
965         * cssjit/SelectorCompiler.cpp:
966         (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
967         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
968         Always succeed when compiling css selectors.
969
970 2014-06-30  Myles C. Maxfield  <mmaxfield@apple.com>
971
972         Tiles on bottom of screen are not always allocated when necessary
973         https://bugs.webkit.org/show_bug.cgi?id=134272
974
975         Reviewed by Simon Fraser.
976
977         The initial visibleRect is in the coordinate of the root layer, so its origin
978         is at the top left of the view. The initial rect we were using doesn't
979         include the contents inset, so it was too short, which was causing tiles near
980         the bottom of the screen to not always be allocated if the tile threshold was
981         close to the bottom of the view. Instead, we want to include the contents
982         inset size so the visible rect includes the entire view.
983         GraphicsLayerCA::recursiveCommitChanges() takes care of mapping and cropping
984         the visible rect into the tiled layer's coordinate system, at which point it
985         is used for visible tile logic.
986
987         Test: platform/mac-wk2/tiled-drawing/visible-rect-content-inset.html
988
989         * platform/graphics/ca/TileCoverageMap.cpp:
990         (WebCore::TileCoverageMap::update):
991         * rendering/RenderLayerCompositor.cpp:
992         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
993
994 2014-06-30  Brent Fulgham  <bfulgham@apple.com>
995
996         [Win] Unreviewed project gardening.
997
998         * WebCore.vcxproj/WebCore.vcxproj: Clean up path information so
999         files appear in appropriate places in project view.
1000         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1001
1002 2014-06-30  Zalan Bujtas  <zalan@apple.com>
1003
1004         Remove redundant repaintCompositedLayers() parameter and its dependencies.
1005         https://bugs.webkit.org/show_bug.cgi?id=134431
1006
1007         Reviewed by Darin Adler.
1008
1009         No change in functionality.
1010
1011         * rendering/RenderLayer.cpp:
1012         (WebCore::RenderLayer::convertToPixelSnappedLayerCoords): Deleted.
1013         (WebCore::RenderLayer::convertToLayerCoords): Deleted.
1014         * rendering/RenderLayer.h:
1015         * rendering/RenderLayerCompositor.cpp:
1016         (WebCore::RenderLayerCompositor::repaintCompositedLayers):
1017         (WebCore::RenderLayerCompositor::recursiveRepaintLayer):
1018         * rendering/RenderLayerCompositor.h:
1019
1020 2014-06-30  Alex Christensen  <achristensen@webkit.org>
1021
1022         Remove webkit prefix from pointer lock.
1023         https://bugs.webkit.org/show_bug.cgi?id=134312
1024
1025         Reviewed by Dean Jackson.
1026
1027         * dom/Document.cpp:
1028         (WebCore::Document::exitPointerLock):
1029         (WebCore::Document::pointerLockElement):
1030         (WebCore::Document::webkitExitPointerLock): Deleted.
1031         (WebCore::Document::webkitPointerLockElement): Deleted.
1032         * dom/Document.h:
1033         * dom/Document.idl:
1034         * dom/Element.cpp:
1035         (WebCore::Element::requestPointerLock):
1036         (WebCore::Element::webkitRequestPointerLock): Deleted.
1037         * dom/Element.h:
1038         * dom/Element.idl:
1039         * dom/EventNames.h:
1040         * dom/MouseEvent.idl:
1041         * dom/MouseRelatedEvent.h:
1042         (WebCore::MouseRelatedEvent::movementX):
1043         (WebCore::MouseRelatedEvent::movementY):
1044         (WebCore::MouseRelatedEvent::webkitMovementX): Deleted.
1045         (WebCore::MouseRelatedEvent::webkitMovementY): Deleted.
1046         * page/PointerLockController.cpp:
1047         (WebCore::PointerLockController::PointerLockController):
1048         Initialize all data members.
1049         (WebCore::PointerLockController::requestPointerLock):
1050         (WebCore::PointerLockController::didAcquirePointerLock):
1051         (WebCore::PointerLockController::didNotAcquirePointerLock):
1052         (WebCore::PointerLockController::didLosePointerLock):
1053
1054 2014-06-30  Myles C. Maxfield  <mmaxfield@apple.com>
1055
1056         U16_IS_SURROGATE should not be called with a UChar32
1057         https://bugs.webkit.org/show_bug.cgi?id=134440
1058
1059         Reviewed by Darin Adler.
1060
1061         No new tests because there is no behavior change.
1062
1063         * platform/graphics/mac/ComplexTextController.cpp:
1064         (WebCore::advanceByCombiningCharacterSequence):
1065
1066 2014-06-30  Ryuan Choi  <ryuan.choi@samsung.com>
1067
1068         [EFL] Remove m_evasObject from Widget
1069         https://bugs.webkit.org/show_bug.cgi?id=134442
1070
1071         Reviewed by Gyuyoung Kim.
1072
1073         Since WebKit1/EFL was dropped, we don't need to keep the m_evasObject
1074         in the Widget.cpp because it's not used for WebKit2/Efl.
1075
1076         * platform/Widget.h:
1077         (WebCore::Widget::evasObject): Deleted.
1078         * platform/efl/ScrollbarEfl.cpp:
1079         Removed WebKit1/Efl specific code which uses m_evasObject.
1080         It will be a dummy until WebKit2/Efl support proper scrollbar implementation.
1081         (WebCore::ScrollbarEfl::ScrollbarEfl):
1082         (WebCore::ScrollbarEfl::~ScrollbarEfl):
1083         (WebCore::ScrollbarEfl::setParent):
1084         (WebCore::ScrollbarEfl::frameRectsChanged):
1085         (WebCore::ScrollbarEfl::invalidate):
1086         (ScrollbarEfl::ScrollbarEfl): Deleted.
1087         (ScrollbarEfl::~ScrollbarEfl): Deleted.
1088         (scrollbarEflEdjeMessage): Deleted.
1089         (ScrollbarEfl::setParent): Deleted.
1090         (ScrollbarEfl::updateThumbPosition): Deleted.
1091         (ScrollbarEfl::updateThumbProportion): Deleted.
1092         (ScrollbarEfl::updateThumbPositionAndProportion): Deleted.
1093         (ScrollbarEfl::frameRectsChanged): Deleted.
1094         (ScrollbarEfl::invalidate): Deleted.
1095         * platform/efl/ScrollbarEfl.h:
1096         Removed unnecessary methods. In addition, applied final, override keyword.
1097         (WebCore::ScrollbarEfl::handleMouseMoveEvent): Deleted.
1098         (WebCore::ScrollbarEfl::handleMouseOutEvent): Deleted.
1099         (WebCore::ScrollbarEfl::handleMousePressEvent): Deleted.
1100         (WebCore::ScrollbarEfl::handleMouseReleaseEvent): Deleted.
1101         * platform/efl/WidgetEfl.cpp:
1102         (WebCore::Widget::Widget):
1103         (WebCore::Widget::setEvasObject): Deleted.
1104
1105 2014-06-30  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
1106
1107         Fix deprecated warning with bison 3
1108         https://bugs.webkit.org/show_bug.cgi?id=133791
1109
1110         Reviewed by Csaba Osztrogonác.
1111
1112         No new tests because no functional changes.
1113
1114         * css/CSSGrammar.y.in:
1115         * xml/XPathGrammar.y:
1116
1117 2014-06-30  Jaehun Lim  <ljaehun.lim@samsung.com>
1118
1119         Remove HarfBuzzShaper::setDrawRange()
1120         https://bugs.webkit.org/show_bug.cgi?id=134243
1121
1122         Reviewed by Gyuyoung Kim.
1123
1124         setDrawRange() is not used anywhere. Remove it.
1125         And m_fromIndex and m_toIndex are changed by only setDrawRange().
1126         So remove them too and use the default values instead of them.
1127
1128         No new tests, no behavior changes.
1129
1130         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
1131         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
1132         (WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun):
1133             currentCharacterIndex is unsigned, always greater than 0. Clean up if statements.
1134         (WebCore::HarfBuzzShaper::setDrawRange): Deleted.
1135         * platform/graphics/harfbuzz/HarfBuzzShaper.h:
1136
1137 2014-06-29  Pratik Solanki  <psolanki@apple.com>
1138
1139         Create NSURLRequest lazily when USE(CFNETWORK) is enabled
1140         https://bugs.webkit.org/show_bug.cgi?id=134441
1141
1142         Reviewed by Sam Weinig.
1143
1144         No new tests. Should be covered by exsting tests.
1145
1146         * platform/network/cf/ResourceRequest.h:
1147         (WebCore::ResourceRequest::ResourceRequest):
1148         * platform/network/cf/ResourceRequestCFNet.cpp:
1149         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1150         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
1151         (WebCore::ResourceRequest::setStorageSession):
1152         * platform/network/cocoa/ResourceRequestCocoa.mm:
1153         (WebCore::ResourceRequest::nsURLRequest):
1154
1155 2014-06-29  Ryuan Choi  <ryuan.choi@samsung.com>
1156
1157         [EFL] Remove netscape plugin implementation from WebCore
1158         https://bugs.webkit.org/show_bug.cgi?id=134438
1159
1160         Reviewed by Gyuyoung Kim.
1161
1162         Because WebKit1/Efl was dropped, PluginPackageEfl.cpp and PluginViewEfl.cpp are not necessary.
1163
1164         * PlatformEfl.cmake:
1165         * plugins/efl/PluginPackageEfl.cpp: Removed.
1166         * plugins/efl/PluginViewEfl.cpp: Removed.
1167         * plugins/x11/PluginViewX11.cpp: Removed.
1168         This file is to share common code between WebKit1/Efl and WebKit1/GTk.
1169         Now, both ports are dropped WebKit1 support and the GTK port already removed the related files at r167016.
1170
1171 2014-06-29  Yoav Weiss  <yoav@yoav.ws>
1172
1173         Add support for HTMLImageElement's sizes attribute
1174         https://bugs.webkit.org/show_bug.cgi?id=133620
1175
1176         Reviewed by Dean Jackson.
1177
1178         Tests: fast/dom/HTMLImageElement/sizes/image-sizes-1x.html
1179                fast/dom/HTMLImageElement/sizes/image-sizes-2x.html
1180                fast/dom/HTMLImageElement/sizes/image-sizes-js-change.html
1181                fast/dom/HTMLImageElement/sizes/image-sizes-js-innerhtml.html
1182                http/tests/loading/sizes/preload-image-sizes-2x.html
1183                http/tests/loading/sizes/preload-image-sizes.html
1184
1185         This patch adds support for HTMLImageElement's sizes attribute and the
1186         related srcset extended syntax as defined in
1187         http://picture.responsiveimages.org/.
1188         This sizes attribute syntax is added to the CSSGrammar and parsed by
1189         the CSSParser.
1190         The SourceSizeList class is generated by the parser, and used to get
1191         the final source size.
1192         HTMLImageElement and HTMLPreloadScanner send this value to
1193         HTMLSrcsetParser.
1194         HTMLSrcsetParser uses this value in order to pick the right resource.
1195
1196         * CMakeLists.txt: Added css/SourceSizeList.cpp.
1197         * Configurations/FeatureDefines.xcconfig: Added the PICTURE_SIZES flag.
1198         * WebCore.vcxproj/WebCore.vcxproj: Added css/SourceSizeList.*.
1199         * WebCore.vcxproj/WebCore.vcxproj.filters: Added css/SourceSizeList.*.
1200         * WebCore.xcodeproj/project.pbxproj: Added css/SourceSizeList.*.
1201         * css/CSSGrammar.y.in: Added 4 grammar rules that define a Media condition,
1202         Source size list, Source size length and source size.
1203         * css/CSSParser.cpp:
1204         (WebCore::CSSParser::parseSizesAttribute): Parse the sizes attribute.
1205         (WebCore::CSSParser::detectAtToken): Set the token to SIZESATTR.
1206         * css/CSSParser.h:
1207         * css/SourceSizeList.cpp: Added. Defined the SourceSize and SourceSizeList classes.
1208         (WebCore::SourceSize::match):
1209         (WebCore::computeLength):
1210         (WebCore::defaultValue):
1211         (WebCore::SourceSize::length):
1212         (WebCore::SourceSizeList::parseSizesAttribute):
1213         (WebCore::SourceSizeList::getEffectiveSize):
1214         * css/SourceSizeList.h: Added.
1215         (WebCore::SourceSize::SourceSize):
1216         (WebCore::SourceSizeList::append):
1217         * html/HTMLImageElement.cpp: Integrated sizes attribute parsing and added currentSrc.
1218         (WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate):
1219         (WebCore::HTMLImageElement::parseAttribute):
1220         (WebCore::HTMLImageElement::currentSrc):
1221         * html/HTMLImageElement.h:
1222         * html/HTMLImageElement.idl:
1223         * html/parser/HTMLDocumentParser.cpp: Added information required for sizes parsing to
1224         HTMLPreloadScanner calls.
1225         (WebCore::HTMLDocumentParser::pumpTokenizer):
1226         (WebCore::HTMLDocumentParser::insert):
1227         (WebCore::HTMLDocumentParser::append):
1228         (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
1229         * html/parser/HTMLPreloadScanner.cpp: Integrated sizes attribute parsing.
1230         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
1231         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
1232         (WebCore::TokenPreloadScanner::scan):
1233         (WebCore::HTMLPreloadScanner::scan):
1234         * html/parser/HTMLPreloadScanner.h:
1235         * html/parser/HTMLSrcsetParser.cpp: Added 'w' descriptor parsing sizes based normalization.
1236         (WebCore::parseDescriptors):
1237         (WebCore::pickBestImageCandidate):
1238         (WebCore::bestFitSourceForImageAttributes):
1239         * html/parser/HTMLSrcsetParser.h:
1240
1241 2014-06-29  Andreas Kling  <akling@apple.com>
1242
1243         No need to lazily initialize ResourceResponse internals when accessing timing data.
1244         <https://webkit.org/b/134437>
1245         <rdar://problem/17499876>
1246
1247         When building with ENABLE(WEB_TIMING), the last thing that would happen when
1248         serializing a ResourceResponse in the network process is that we'd retrieve
1249         the ResourceLoadTiming to encode it as part of the response. Doing so would
1250         trigger the lazy instantiation of ResourceResponse's internal data structures.
1251
1252         Since timing data is not actually lazily instantiated, we can just not do that.
1253
1254         This shaves off ~550ms of network process main thread time on PLT, reducing
1255         response latency by not doing unnecessary stuff before letting the web process
1256         look at the downloaded data.
1257
1258         Reviewed by Gavin Barraclough.
1259
1260         * WebCore.exp.in:
1261         * platform/network/ResourceResponseBase.cpp:
1262         (WebCore::ResourceResponseBase::adopt):
1263         (WebCore::ResourceResponseBase::resourceLoadTiming): Deleted.
1264         (WebCore::ResourceResponseBase::setResourceLoadTiming): Deleted.
1265         * platform/network/ResourceResponseBase.h:
1266         (WebCore::ResourceResponseBase::resourceLoadTiming):
1267
1268 2014-06-29  Pratik Solanki  <pratik.solanki@gmail.com>
1269
1270         Refactor ResourceRequest into Cocoa and iOS specific files
1271         https://bugs.webkit.org/show_bug.cgi?id=134430
1272
1273         Reviewed by Andreas Kling.
1274
1275         No new tests because no functional changes.
1276
1277         * WebCore.xcodeproj/project.pbxproj:
1278         * platform/network/cf/ResourceRequestCFNet.cpp:
1279         (WebCore::ResourceRequest::applyWebArchiveHackForMail): Deleted.
1280         * platform/network/cocoa/ResourceRequestCocoa.mm: Copied from Source/WebCore/platform/network/mac/ResourceRequestMac.mm.
1281         (WebCore::ResourceRequest::nsURLRequest):
1282         (WebCore::ResourceRequest::cfURLRequest):
1283         (WebCore::ResourceRequest::doUpdateResourceRequest):
1284         (WebCore::ResourceRequest::doUpdateResourceHTTPBody):
1285         (WebCore::ResourceRequest::doUpdatePlatformRequest):
1286         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
1287         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
1288         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
1289         (WebCore::ResourceRequest::setStorageSession):
1290         * platform/network/ios/ResourceRequestIOS.mm: Added.
1291         (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks):
1292         (WebCore::ResourceRequest::ResourceRequest):
1293         (WebCore::ResourceRequest::updateNSURLRequest):
1294         * platform/network/mac/ResourceRequestMac.mm:
1295         (WebCore::initQuickLookResourceCachingQuirks):
1296         (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks):
1297         (WebCore::ResourceRequest::ResourceRequest):
1298         (WebCore::ResourceRequest::updateNSURLRequest):
1299         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
1300         (WebCore::ResourceRequest::nsURLRequest): Deleted.
1301         (WebCore::ResourceRequest::cfURLRequest): Deleted.
1302         (WebCore::ResourceRequest::doUpdateResourceRequest): Deleted.
1303         (WebCore::ResourceRequest::doUpdateResourceHTTPBody): Deleted.
1304         (WebCore::ResourceRequest::doUpdatePlatformRequest): Deleted.
1305         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Deleted.
1306         (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Deleted.
1307         (WebCore::ResourceRequest::setStorageSession): Deleted.
1308
1309 2014-06-29  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1310
1311         TextCodecICU::encode turns the whole string as yen signs if there is any backslash in it
1312         https://bugs.webkit.org/show_bug.cgi?id=133678
1313
1314         Reviewed by Alexey Proskuryakov.
1315
1316         Test: fast/encoding/backslash-encoding-jp.html
1317
1318         * platform/text/TextCodecICU.cpp:
1319         (WebCore::TextCodecICU::encode): fixed the copy of characters other than backslash.
1320
1321 2014-06-28  Dean Jackson  <dino@apple.com>
1322
1323         [iOS] Pinching into a video (fullscreen gesture) leaves page zoomed in
1324         https://bugs.webkit.org/show_bug.cgi?id=134433
1325         <rdar://problem/16630794>
1326
1327         Reviewed by Eric Carlson.
1328
1329         Detect the number of target touches (those directly on the
1330         video element) and disable the page zoom if it looks
1331         like the user is trying to trigger fullscreen.
1332
1333         * Modules/mediacontrols/mediaControlsiOS.js:
1334         (ControllerIOS.prototype.handleBaseGestureStart): If we are seeing
1335         two touches in this video element, don't trigger fullscreen. The
1336         exception is if we haven't yet started playback.
1337         (ControllerIOS.prototype.handleBaseGestureChange): Don't allow fullscreen
1338         if we haven't started playback (iOS 7 behaviour).
1339         (ControllerIOS.prototype.handleWrapperTouchStart): Keep track of the
1340         number of targetted touches.
1341
1342 2014-06-27  Simon Fraser  <simon.fraser@apple.com>
1343
1344         [iOS WK2] position:fixed inside accelerated overflow:scroll is jumpy
1345         https://bugs.webkit.org/show_bug.cgi?id=134426
1346         <rdar://problem/17474523>
1347
1348         Reviewed by Tim Horton.
1349
1350         After committing a new layer tree (with possibly stale position:fixed layer
1351         positions), we need the scrolling tree to update those positions based on
1352         the current scroll offset.
1353         
1354         Give ScrollingTreeScrollingNode an implementation of updateLayersAfterAncestorChange()
1355         which is required to update fixed/sticky child nodes.
1356
1357         * WebCore.exp.in:
1358         * page/scrolling/ScrollingTreeScrollingNode.cpp:
1359         (WebCore::ScrollingTreeScrollingNode::updateLayersAfterAncestorChange):
1360         * page/scrolling/ScrollingTreeScrollingNode.h:
1361
1362 2014-06-28  Juan A. Suarez Romero  <jasuarez@igalia.com>  and  Carlos Garcia Campos  <cgarcia@igalia.com>
1363
1364         [GTK] Use public getter/setter in GObject DOM bindings properties implementation.
1365         https://bugs.webkit.org/show_bug.cgi?id=134390.
1366
1367         Reviewed by Carlos Garcia Campos.
1368
1369         The current GObject DOM bindings generator is duplicating code when
1370         implementing the get/set_property methods and the public
1371         getters/setters, instead of making one invoking the other.
1372         
1373         This commit changes this behaviour so the code is not duplicated,
1374         making it easier to maintain.
1375
1376         No new tests needed.
1377
1378         * bindings/scripts/CodeGeneratorGObject.pm:
1379         (GenerateProperty):
1380         (GenerateProperties):
1381         (WriteData):
1382         (GetCoreObject): Deleted.
1383         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
1384         (webkit_dom_test_active_dom_object_get_property):
1385         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
1386         (webkit_dom_test_event_constructor_get_property):
1387         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
1388         (webkit_dom_test_exception_get_property):
1389         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1390         (webkit_dom_test_interface_set_property):
1391         (webkit_dom_test_interface_get_property):
1392         * bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.cpp:
1393         (webkit_dom_test_nondeterministic_set_property):
1394         (webkit_dom_test_nondeterministic_get_property):
1395         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1396         (webkit_dom_test_obj_set_property):
1397         (webkit_dom_test_obj_get_property):
1398         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1399         (webkit_dom_test_serialized_script_value_interface_get_property):
1400         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
1401         (webkit_dom_test_typedefs_set_property):
1402         (webkit_dom_test_typedefs_get_property):
1403         * bindings/scripts/test/GObject/WebKitDOMattribute.cpp:
1404         (webkit_dom_test_exception_get_property):
1405         (webkit_dom_attribute_get_property):
1406
1407 2014-06-28  Radu Stavila  <stavila@adobe.com>
1408
1409         [New Multicolumn] Elements with rounded corners and overflow:hidden do not properly clip their content
1410         https://bugs.webkit.org/show_bug.cgi?id=133941
1411
1412         Reviewed by Darin Adler.
1413
1414         When having a multicol element inside an element with overflow:hidden and border-radius,
1415         the fragments representing the columns need to have the border radius set also, to ensure
1416         proper clipping.
1417
1418         Test: fast/multicol/newmulticol/multicol-clip-rounded-corners.html
1419
1420         * rendering/RenderLayer.cpp:
1421         (WebCore::RenderLayer::collectFragments):
1422
1423 2014-06-27  Zalan Bujtas  <zalan@apple.com>
1424
1425         Subpixel rendering: Background clipping with subpixel behaves differently when composited.
1426         https://bugs.webkit.org/show_bug.cgi?id=134422
1427
1428         Reviewed by Simon Fraser.
1429
1430         Adjust cliprect with the subpixel offset from the graphics layer the same way we do it for painting.
1431         It ensures that cliprect starts from the right position when graphics layer is not on the same
1432         coordinates as the associated render layer.
1433
1434         Test: compositing/hidpi-compositing-layer-with-subpixel-offset-accumulation-clipping.html
1435
1436         * rendering/RenderLayer.cpp:
1437         (WebCore::RenderLayer::clipToRect):
1438         (WebCore::RenderLayer::paintLayer):
1439         (WebCore::RenderLayer::applyFilters):
1440         (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
1441         (WebCore::RenderLayer::paintBackgroundForFragments):
1442         (WebCore::RenderLayer::paintForegroundForFragments):
1443         (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
1444         (WebCore::RenderLayer::paintOutlineForFragments):
1445         (WebCore::RenderLayer::paintMaskForFragments):
1446         (WebCore::RenderLayer::paintOverflowControlsForFragments):
1447         (WebCore::RenderLayer::calculateClipRects):
1448         * rendering/RenderLayer.h:
1449
1450 2014-06-27  Brent Fulgham  <bfulgham@apple.com>
1451
1452         [Win] Implement parts of the AVFOUNDATION_LOADER_DELEGATE logic for Windows
1453         https://bugs.webkit.org/show_bug.cgi?id=134418
1454
1455         Reviewed by Eric Carlson.
1456
1457         Land an initial implementation of AVFOUNDATION_LOADER_DELEGATE for
1458         Windows.
1459
1460         * DerivedSources.cpp: Add new IDL files
1461         * DerivedSources.make: Add check for AVFOUNDATION_LOADER_DELEGATE.
1462         * Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp: Added (ported from
1463         Objective C.)
1464         * WebCore.vcxproj/WebCore.vcxproj: Update for new files.
1465         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1466         * WebCore.vcxproj/WebCoreCommon.props: Add new search paths.
1467         * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Update for new files.
1468         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Ditto.
1469         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1470         (WebCore::MediaPlayerPrivateAVFoundation::extractKeyURIKeyIDAndCertificateFromInitData):
1471         Moved from MediaPlayerPrivateAVFoundationObjC.
1472         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1473         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h:
1474         Update for new API calls.
1475         * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: Added.
1476         * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h: Added.
1477         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1478         Updated for new AVFOUNDATION_LOADER_DELEGATE methods.
1479         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1480         * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp: Added.
1481         * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.h: Added.
1482         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1483         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1484         Remove method that was moved to base class.
1485
1486 2014-06-27  Benjamin Poulain  <benjamin@webkit.org>
1487
1488         Remove BufferForAppendingHyphen
1489         https://bugs.webkit.org/show_bug.cgi?id=134376
1490
1491         Reviewed by Darin Adler.
1492
1493         It is legacy, from a time when that code was using a Vector.
1494
1495         The problem is that StringBuilder's memory was also implicitly used to keep
1496         the string alive for the lifespan of the TextRun. That seems quite dangerous
1497         as changes in StringBuilder could have changed that.
1498
1499         To fix the lifetime issue, my first idea was to make it explicit by passing
1500         a String reference to hold the memory alive, and a boolean to say if the text
1501         need an hyphen. The problem with that is this code is very hot and I made things
1502         worse.
1503
1504         The solution with this patch is to just pass a pointer to a String to do both
1505         the buffer reference, and the decision to add the hyphen. Having a single
1506         argument with 2 meanings is not pretty but that's not worse than the old buffer.
1507
1508         * editing/TextIterator.cpp:
1509         * rendering/InlineTextBox.cpp:
1510         (WebCore::InlineTextBox::localSelectionRect):
1511         (WebCore::InlineTextBox::paint):
1512         (WebCore::InlineTextBox::paintSelection):
1513         (WebCore::InlineTextBox::constructTextRun):
1514         (WebCore::adjustCharactersAndLengthForHyphen): Deleted.
1515         * rendering/InlineTextBox.h:
1516         (WebCore::BufferForAppendingHyphen::BufferForAppendingHyphen): Deleted.
1517         * rendering/RenderText.cpp:
1518
1519 2014-06-27  Jeremy Jones  <jeremyj@apple.com>
1520
1521         Lazily link frameworks in WebVideoFullscreenInterfaceAVKit.
1522         https://bugs.webkit.org/show_bug.cgi?id=134407
1523
1524         Reviewed by Eric Carlson.
1525
1526         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1527         (-[WebAVPlayerController init]):
1528         Load AVPlayerController on use.
1529         (WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
1530         Remove loading on construction.
1531         (WebVideoFullscreenInterfaceAVKit::setCurrentTime): Load AVValueTiming on use.
1532         (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Load several classes on use.
1533         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): Load UIColor on use.
1534
1535 2014-06-27  Alex Christensen  <achristensen@webkit.org>
1536
1537         Remove extra operations from 64-bit or on armv7.
1538         https://bugs.webkit.org/show_bug.cgi?id=134408
1539
1540         Reviewed by Geoffrey Garen.
1541
1542         * cssjit/SelectorCompiler.cpp:
1543         (WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
1544         Only do or operations if it would change values.
1545         Often we're only setting one flag, so half the operations are not necessary.
1546
1547 2014-06-27  Beth Dakin  <bdakin@apple.com>
1548
1549         ScrollView::rootViewToTotalContents() needs to take topContentInset into account
1550         https://bugs.webkit.org/show_bug.cgi?id=134415
1551         -and corresponding-
1552         <rdar://problem/17473633>
1553
1554         Reviewed by Simon Fraser.
1555
1556         This affects hit testing in headers aka PageBanners.
1557
1558         The root view will be anchored above the start of the total contents if there is a 
1559         topContentInset, so the inset value should be subtracted to get into the right 
1560         coordinate space here.
1561         * platform/ScrollView.cpp:
1562         (WebCore::ScrollView::rootViewToTotalContents):
1563
1564 2014-06-27  Antti Koivisto  <antti@apple.com>
1565
1566         Flush throttling with remote layers
1567         https://bugs.webkit.org/show_bug.cgi?id=134398
1568
1569         Reviewed by Darin Adler.
1570
1571         With remote layer trees the flush scheduling lives in the WebKit2 layer. The throttling code
1572         needs to live there as well.
1573         
1574         Add the required callbacks and disable the existing throttling code in RenderLayerCompositor
1575         when remote layers are in use. Later we can get rid of the RenderLayerCompositor throttling code.
1576
1577         * WebCore.xcodeproj/project.pbxproj:
1578         * loader/FrameLoader.cpp:
1579         (WebCore::FrameLoader::loadProgressingStatusChanged):
1580         * page/ChromeClient.h:
1581         (WebCore::ChromeClient::adjustLayerFlushThrottling):
1582         * page/FrameView.cpp:
1583         (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
1584         (WebCore::FrameView::loadProgressingStatusChanged):
1585         
1586             Factor the progress status change activities to a function.
1587
1588         (WebCore::FrameView::updateLayerFlushThrottling):
1589         (WebCore::FrameView::setExposedRect):
1590         
1591             Move the call to adjustTiledBackingCoverage from WebKit to here.
1592
1593         (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames): Deleted.
1594         * page/FrameView.h:
1595         * page/LayerFlushThrottleState.h: Added.
1596         * rendering/RenderLayerCompositor.cpp:
1597         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1598
1599 2014-06-27  Brady Eidson  <beidson@apple.com>
1600
1601         The user pressing a button on a gamepad should cause gamepads to become visible to all NavigatorGamepads.
1602         https://bugs.webkit.org/show_bug.cgi?id=134375
1603
1604         Reviewed by Darin Adler.
1605
1606         No new tests (Not yet a tested config)
1607
1608         * Modules/gamepad/GamepadManager.cpp:
1609         (WebCore::GamepadManager::platformGamepadConnected): Also call to makeGamepadsVisibileToBlindNavigators.
1610         (WebCore::GamepadManager::platformGamepadDisconnected):
1611         (WebCore::GamepadManager::platformGamepadInputActivity): Call makeGamepadsVisibileToBlindNavigators.
1612         (WebCore::GamepadManager::makeGamepadsVisibileToBlindNavigators): Walk through each blind navigator
1613           notifying it of each connected Gamepad.
1614         (WebCore::GamepadManager::registerNavigator): Also add to the blind navigator set.
1615         (WebCore::GamepadManager::unregisterNavigator): Also remove from the blind navigator set.
1616         * Modules/gamepad/GamepadManager.h:
1617
1618         * platform/GamepadProviderClient.h: Added platformGamepadInputActivity.
1619
1620         * platform/mac/HIDGamepadProvider.cpp:
1621         (WebCore::HIDGamepadProvider::HIDGamepadProvider):
1622         (WebCore::HIDGamepadProvider::valuesChanged): Set the input notification timer which will notify the clients
1623           that a button was pressed.
1624         (WebCore::HIDGamepadProvider::inputNotificationTimerFired): Perform that notification.
1625         * platform/mac/HIDGamepadProvider.h:
1626
1627 2014-06-27  Brady Eidson  <beidson@apple.com>
1628
1629         HIDGamepads should populate themselves with initial input values
1630         https://bugs.webkit.org/show_bug.cgi?id=134381
1631
1632         Reviewed by Darin Adler.
1633
1634         No new tests (Not yet a tested config)
1635
1636         * platform/mac/HIDGamepad.cpp:
1637         (WebCore::HIDGamepad::getCurrentValueForElement):
1638         (WebCore::HIDGamepad::initElements):  Loop through all the saved elements to get current values.
1639         (WebCore::HIDGamepad::maybeAddButton):
1640         (WebCore::HIDGamepad::maybeAddAxis):
1641         * platform/mac/HIDGamepad.h:
1642         (WebCore::HIDGamepadElement::HIDGamepadElement):
1643         (WebCore::HIDGamepadButton::HIDGamepadButton):
1644         (WebCore::HIDGamepadAxis::HIDGamepadAxis):
1645
1646 2014-06-27  Peyton Randolph  <prandolph@apple.com>
1647
1648         Add feature flag for link long-press gesture.
1649         https://bugs.webkit.org/show_bug.cgi?id=134262
1650
1651         Reviewed by Enrica Casucci.
1652
1653         * Configurations/FeatureDefines.xcconfig:
1654         Add ENABLE_LINK_LONG_PRESS.
1655
1656 2014-06-26  Brady Eidson  <beidson@apple.com>
1657
1658         HIDGamepadProvider should only be active when someone is interested in Gamepads.
1659         https://bugs.webkit.org/show_bug.cgi?id=134374
1660
1661         Reviewed by Darin Adler.
1662
1663         No new tests (Not yet a tested config)
1664
1665         * Modules/gamepad/GamepadManager.cpp:
1666         (WebCore::GamepadManager::registerNavigator): Add some logging.
1667         (WebCore::GamepadManager::unregisterNavigator): Ditto.
1668
1669         * platform/mac/HIDGamepadProvider.cpp:
1670         (WebCore::HIDGamepadProvider::HIDGamepadProvider):
1671         (WebCore::HIDGamepadProvider::connectionDelayTimerFired): Stop suppressing connection callbacks
1672         (WebCore::HIDGamepadProvider::openAndScheduleManager):
1673         (WebCore::HIDGamepadProvider::closeAndUnscheduleManager): Stop listening for gamepad events, and clear
1674           all current gamepads.
1675         (WebCore::HIDGamepadProvider::startMonitoringGamepads): If the first client, call openAndScheduleManager
1676         (WebCore::HIDGamepadProvider::stopMonitoringGamepads): If the last client, call closeAndUnscheduleManager
1677         (WebCore::HIDGamepadProvider::deviceAdded): If this callback came while we were suppressing connection
1678           callbacks, it is a startup event for already-connected gamepads. Stop suppressing callbacks in a later
1679           spin of the runloop.
1680         (WebCore::HIDGamepadProvider::deviceRemoved):
1681         * platform/mac/HIDGamepadProvider.h:
1682         (WebCore::HIDGamepadProvider::setShouldDispatchCallbacks): Deleted.
1683
1684 2014-06-27  Alex Christensen  <achristensen@webkit.org>
1685
1686         Prevent unnecessary register saving in css jit.
1687         https://bugs.webkit.org/show_bug.cgi?id=133955
1688
1689         Reviewed by Geoff Garen.
1690
1691         * cssjit/FunctionCall.h:
1692         (WebCore::FunctionCall::prepareAndCall):
1693         (WebCore::FunctionCall::cleanupPostCall):
1694         (WebCore::FunctionCall::saveAllocatedCallerSavedRegisters):
1695         (WebCore::FunctionCall::restoreAllocatedCallerSavedRegisters):
1696         (WebCore::FunctionCall::saveAllocatedRegisters): Renamed to saveAllocatedCallerSavedRegisters.
1697         (WebCore::FunctionCall::restoreAllocatedRegisters): Renamed to restoreAllocatedCallerSavedRegisters.
1698         Only push caller saved registers before function calls.
1699         * cssjit/RegisterAllocator.h:
1700         (WebCore::RegisterAllocator::isValidRegister):
1701         Corrected register ranges.
1702         (WebCore::RegisterAllocator::isCallerSavedRegister): Added.
1703
1704 2014-06-27  Beth Dakin  <bdakin@apple.com>
1705
1706         Custom scrollbars should not create ScrollbarPainters on Mac
1707         https://bugs.webkit.org/show_bug.cgi?id=134406
1708         -and corresponding-
1709         <rdar://problem/16178301>
1710
1711         Reviewed by Tim Horton.
1712
1713         The solution here is to return early in ScrollbarThemeMac::registerScrollbar() if 
1714         the scrollbar is custom. However, since this function is called during the 
1715         RenderScrollbar and Scrollbar constructor, we need to re-implement 
1716         Scrollbar::isCustomScrollbar() to return a member variable that is passed into the 
1717         constructor. Otherwise, we will get Scrollbar’s implementation is 
1718         isCustomScrollbar() wrongfully returning false since instead of the derived
1719         class’s implementation. 
1720
1721         Scrollbar constructor now has an option parameter isCustomScrollbar that defaults 
1722         to false. That value is returned by isCustomScrollbar()
1723         * platform/Scrollbar.cpp:
1724         (WebCore::Scrollbar::Scrollbar):
1725         * platform/Scrollbar.h:
1726
1727         Return early if this is a custom scrollbar since the rest of the function deals 
1728         with creating a native scrollbar and getting it in the right state.
1729         * platform/mac/ScrollbarThemeMac.mm:
1730         (WebCore::ScrollbarThemeMac::registerScrollbar):
1731
1732         Send true to the Scrollbar constructor to indicate that this is a custom 
1733         scrollbar.
1734         * rendering/RenderScrollbar.cpp:
1735         (WebCore::RenderScrollbar::RenderScrollbar):
1736         * rendering/RenderScrollbar.h:
1737
1738 2014-06-27  Eric Carlson  <eric.carlson@apple.com>
1739
1740         [Mac] AVMetadataKeySpaceISOUserData not defined on 10.8
1741         https://bugs.webkit.org/show_bug.cgi?id=134401
1742
1743         Reviewed by Jer Noble.
1744
1745         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1746         (WebCore::metadataType): Use SOFT_LINK_POINTER_OPTIONAL for AVMetadataKeySpaceISOUserData
1747             so we don't have problems on OS versions where it isn't defined.
1748
1749 2014-06-27  Martin Hodovan  <mhodovan.u-szeged@partner.samsung.com>
1750
1751         REGRESSION (r168685): css calc() expression fails 
1752         https://bugs.webkit.org/show_bug.cgi?id=134059
1753
1754         The expression 'calc((100% - 20px) / 3' did not work properly after r168685,
1755         because primitiveType() function in CSSCalculationValue.cpp has handled
1756         CalcPercentLength and CalcPercentNumber categories as if they were angles.
1757         The patch fixes this incorrect behavior.
1758
1759         Reviewed by Simon Fraser.
1760
1761         Test: fast/css/calc-percentage-pixel.html
1762
1763         * css/CSSCalculationValue.cpp:
1764
1765 2014-06-27  Jer Noble  <jer.noble@apple.com>
1766
1767         [MSE] http/tests/media/media-source/mediasource-append-buffer.html is failing
1768         https://bugs.webkit.org/show_bug.cgi?id=134389
1769
1770         Reviewed by Eric Carlson.
1771
1772         Two subtests in mediasource-append-buffer.html are failing. Bring setDuration() up to spec
1773         by throwing an exception if the duration is called while any SourceBuffer is updating. Do
1774         not cancel pending events when a SourceBuffer is removed from its MediaSource. And mark the
1775         SourceBuffer as having pending activity if there are pending events to be fired.
1776
1777         * Modules/mediasource/MediaSource.cpp:
1778         (WebCore::MediaSource::setDuration):
1779         * Modules/mediasource/SourceBuffer.cpp:
1780         (WebCore::SourceBuffer::removedFromMediaSource):
1781         (WebCore::SourceBuffer::hasPendingActivity):
1782
1783 2014-06-26  Simon Fraser  <simon.fraser@apple.com>
1784
1785         [iOS WK2] Fix touch-scrollable elements with overflow:scroll on just one axis, and RTL scrolling
1786         https://bugs.webkit.org/show_bug.cgi?id=134377
1787         <rdar://problem/16762224>
1788
1789         Reviewed by Tim Horton.
1790         
1791         Make -webkit-overflow-scrolling:touch scrolling work correctly when one axis
1792         has overflow:scroll and the other overflow:hidden. Also fix scrolling in RTL
1793         contexts.
1794         
1795         An RTL scroller with overflow-x:hidden will have a non-zero scroll origin,
1796         and needs to truncate the scrolled content on the left side. To pass the
1797         correct geometry to the UI process, we need to introduce the concept of
1798         "reachable" size as well as total content size; normally these are the same,
1799         but will differ when scrolling is only allowed on one axis but there is overflow
1800         on both axes.
1801         
1802         To get the reachable size, add RenderLayer::scrollableContentsSize().
1803         
1804         RenderLayer::visibleSize() was wrong; the function should return the size of the 
1805         scrollable portion, but used layer size which includes borders. Fix to use pixelSnappedClientWidth()/Height(),
1806         which is what we use for scrollbar computations.
1807
1808         * WebCore.exp.in:
1809         * page/scrolling/AsyncScrollingCoordinator.cpp:
1810         (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
1811         (WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):
1812         (WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode):
1813         * page/scrolling/ScrollingCoordinator.h:
1814         * page/scrolling/ScrollingStateScrollingNode.cpp:
1815         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
1816         (WebCore::ScrollingStateScrollingNode::setReachableContentsSize):
1817         * page/scrolling/ScrollingStateScrollingNode.h:
1818         (WebCore::ScrollingStateScrollingNode::reachableContentsSize):
1819         * page/scrolling/ScrollingTreeScrollingNode.cpp:
1820         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
1821         * page/scrolling/ScrollingTreeScrollingNode.h:
1822         (WebCore::ScrollingTreeScrollingNode::reachableContentsSize):
1823         * rendering/RenderLayer.cpp:
1824         (WebCore::RenderLayer::visibleSize):
1825         (WebCore::RenderLayer::scrollableContentsSize):
1826         * rendering/RenderLayer.h:
1827         * rendering/RenderLayerCompositor.cpp:
1828         (WebCore::updateScrollingLayerWithClient):
1829         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
1830
1831 2014-06-27  Bear Travis  <betravis@adobe.com>
1832
1833         [Feature Queries] Fix feature queries build on Mac
1834         https://bugs.webkit.org/show_bug.cgi?id=134359
1835
1836         Reviewed by Antti Koivisto.
1837
1838         Update the XCode project and Feature Queries code to build on Mac.
1839
1840         There are existing tests for supports in the LayoutTests/css3 directory.
1841
1842         * WebCore.xcodeproj/project.pbxproj: Add the Feature Queries files
1843         to the XCode project.
1844         * css/CSSGrammar.y.in: Update CSSParserExpression to CSSParserValueList.
1845         * css/DOMWindowCSS.idl: Add ImplementationLacksVTable metadata.
1846
1847 2014-06-27  Jer Noble  <jer.noble@apple.com>
1848
1849         [MSE] media/media-source/media-source-tracks.html is crashy
1850         https://bugs.webkit.org/show_bug.cgi?id=134385
1851
1852         Reviewed by Eric Carlson.
1853
1854         Fix the refactoring error (self assignment) introduced by r170488.
1855
1856         * Modules/mediasource/SourceBuffer.cpp:
1857         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
1858
1859 2014-06-27  Mark Hahnenberg  <mhahnenberg@apple.com>
1860
1861         XHR should keep attributes on instance
1862         https://bugs.webkit.org/show_bug.cgi?id=134363
1863
1864         Reviewed by Sam Weinig.
1865
1866         Test: js/dom/xhr-prototype-define-property.html
1867
1868         Having them on the prototype broke some sites due to the fact that these DOM attributes are currently 
1869         not configurable. Once we make them configurable, we can move XHR attributes back to the prototype.
1870
1871         * bindings/scripts/CodeGeneratorJS.pm:
1872         (InterfaceRequiresAttributesOnInstanceForCompatibility):
1873
1874 2014-06-27  Jeremy Jones  <jeremyj@apple.com>
1875
1876         removeCodedFrames should modify ref to TrackBuffer no a copy.
1877         https://bugs.webkit.org/show_bug.cgi?id=134380
1878
1879         Reviewed by Daniel Bates.
1880
1881         * Modules/mediasource/SourceBuffer.cpp:
1882         (WebCore::SourceBuffer::removeCodedFrames):
1883         Iterate with a reference.
1884
1885 2014-06-27  Zalan Bujtas  <zalan@apple.com>
1886
1887         Set cliprect radius unconditionally in RenderLayer.
1888         https://bugs.webkit.org/show_bug.cgi?id=134396
1889
1890         Reviewed by Simon Fraser.
1891
1892         No change in functionality.
1893
1894         * rendering/RenderLayer.cpp:
1895         (WebCore::RenderLayer::calculateClipRects):
1896
1897 2014-06-27  Manuel Rego Casasnovas  <rego@igalia.com>
1898
1899         [CSS Grid Layout] Interaction between auto-placement and column / row spanning
1900         https://bugs.webkit.org/show_bug.cgi?id=110633
1901
1902         Reviewed by Sergio Villar Senin.
1903
1904         Modify auto-placement algorithm in order to support span in both
1905         definite and automatic positions.
1906
1907         This patch fixes examples like:
1908         grid-row: auto;
1909         grid-column: 2 / span 3;
1910
1911         And also:
1912         grid-row: auto;
1913         grid-column: span 3;
1914
1915         Tests: fast/css-grid-layout/grid-item-auto-placement-automatic-span.html
1916                fast/css-grid-layout/grid-item-auto-placement-definite-span.html
1917
1918         * rendering/RenderGrid.cpp:
1919         (WebCore::RenderGrid::GridIterator::isEmptyAreaEnough): New method that
1920         checks if a grid area is or not empty.
1921         (WebCore::RenderGrid::GridIterator::nextEmptyGridArea): Updated method
1922         that now receives two arguments with the span value in both directions.
1923         (WebCore::RenderGrid::ensureGridSize): Renamed from gridRow(). Adapted
1924         method to grow in both directions at the same time if needed. It ensures
1925         that the grid is big enough to insert a new item.
1926         (WebCore::RenderGrid::insertItemIntoGrid): Only leave the method that
1927         receives a GridCoordinate. It uses ensureGridSize() before inserting the
1928         item in the grid.
1929         (WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Ensure that
1930         the grid is big enough to place the largest span for auto-positioned
1931         items.
1932         (WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid):
1933         New method that returns a GridCoordinate outside current grid with the
1934         requested dimensions.
1935         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid): Adapted
1936         method to calculate the item's span and use the new version of
1937         nextEmptyGridArea(). If an empty area is not found it uses
1938         createEmptyGridAreaAtSpecifiedPositionsOutsideGrid() to place the item.
1939         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid): Ditto.
1940         (WebCore::RenderGrid::growGrid): Renamed to ensureGridSize().
1941         * rendering/RenderGrid.h: Modify methods headers and add new method
1942         signature.
1943         * rendering/style/GridCoordinate.h:
1944         (WebCore::GridSpan::integerSpan): Add new simple method to return the
1945         span value of a position.
1946         * rendering/style/GridResolvedPosition.cpp:
1947         (WebCore::GridResolvedPosition::resolveGridPositionsFromAutoPlacementPosition):
1948         Implement method to take into account span in auto-placement algorithm.
1949         (WebCore::GridResolvedPosition::adjustGridPositionsFromStyle): Add new
1950         checks related with named grid line spans in auto-positioned items,
1951         which is not allowed according to the spec.
1952         * rendering/style/GridResolvedPosition.h: Update method header.
1953
1954 2014-06-27  Mahesh Kulkarni  <mahesh.kk@samsung.com>
1955
1956         [XHR] open method must uppercase only standard method types
1957         https://bugs.webkit.org/show_bug.cgi?id=134264
1958
1959         Reviewed by Darin Adler.
1960
1961         As per step-5 of http://xhr.spec.whatwg.org/#the-open()-method only
1962         DELETE, PUT, GET, POST, OPTIONS, HEAD are standard. Use other methods as is without case change.
1963         All tests from w3c-test suite pass http://w3c-test.org/XMLHttpRequest/open-method-case-sensitive.htm.
1964         This merges blink changes from r176592.
1965
1966         Tests: http/tests/xmlhttprequest/xmlhttprequest-open-method-allowed.html
1967                http/tests/xmlhttprequest/xmlhttprequest-open-method-case-insensitive.html
1968
1969         * xml/XMLHttpRequest.cpp:
1970         (WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod):
1971
1972 2014-06-27  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
1973
1974         Increase priority on SharedTimer source.
1975         http://bugs.webkit.org/show_bug.cgi?id=134109
1976
1977         While running webkit on a Debian virtual machine I stumbled upon an issue where JS
1978         setTimeout callbacks were not being properly invoked due to machine limitations and the
1979         usage of a low priority on setTimeout timers.
1980
1981         This patch increases the SharedTimer source priority to use the default glib priority which
1982         fixes the issue, making setTimeout JS calls work properly on the test environment.
1983
1984         Reviewed by Gustavo Noronha Silva.
1985
1986         * platform/gtk/SharedTimerGtk.cpp:
1987         (WebCore::setSharedTimerFireInterval):
1988
1989 2014-06-27  Zalan Bujtas  <zalan@apple.com>
1990
1991         Remove redundant offsetFromAncestor() call from RenderLayer::localClipRect().
1992         https://bugs.webkit.org/show_bug.cgi?id=134378
1993
1994         Reviewed by Simon Fraser.
1995
1996         No change in functionality.
1997
1998         * rendering/RenderLayer.cpp:
1999         (WebCore::RenderLayer::calculateClipRects):
2000
2001 2014-06-27  Philippe Normand  <pnormand@igalia.com>
2002
2003         [GTK] 8tracks.com triggers annoying pop-up window/installation of "About protocol source plugin" (GStreamer?)
2004         https://bugs.webkit.org/show_bug.cgi?id=133605
2005
2006         Reviewed by Carlos Garcia Campos.
2007
2008         Don't attempt to load blank URLs with the GStreamer media
2009         player. Those URLs trigger the codec installer which is useless in
2010         this scenario. This patch also renames some of the variables of
2011         the ::load method, as suggested by Carlos.
2012
2013         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2014         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2015         Check video-sink validity before disconnecting its signal handlers.
2016         (WebCore::MediaPlayerPrivateGStreamer::load): Don't load blank
2017         URLs (about:blank).
2018         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2019         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
2020         Disconnect repaint handler only if it's valid.
2021
2022 2014-06-26  Carlos Garcia Campos  <cgarcia@igalia.com>
2023
2024         [GTK] Expose getter and setter functions for attributes named type
2025         https://bugs.webkit.org/show_bug.cgi?id=134300
2026
2027         Reviewed by Martin Robinson.
2028
2029         We skip those because the getter conflicts with the get_type()
2030         function of all GObjects. We should use a different name for them. As
2031         a general rule we use the last word of the class name, something like:
2032
2033           webkit_dom_blob_get_type() -> webkit_dom_blob_get_blob_type()
2034           webkit_dom_event_get_type() -> webkit_dom_event_get_event_type()
2035
2036         It's consistent with other existing DOM methods like
2037         webkit_dom_xpath_result_get_result_type() or webkit_dom_css_value_get_css_value_type().
2038         This patch also adds some exceptions for particular cases.
2039
2040         * bindings/gobject/webkitdom.symbols: Add new public symbols.
2041         * bindings/scripts/CodeGeneratorGObject.pm:
2042         (GetFunctionSigName): Helper function to return the function name
2043         that takes into account all exceptions when generating getters and
2044         setters of attributes named type. Otherwise the name is returned unmodified.
2045         (GenerateFunction): Use GetFunctionSigName().
2046         (GenerateFunctions): Do not skip functions for type attributes.
2047
2048 2014-06-27  Sungmann Cho  <sungmann.cho@navercorp.com>
2049
2050         Remove unnecessary #include in HistoryController
2051         https://bugs.webkit.org/show_bug.cgi?id=134369
2052
2053         Reviewed by Daniel Bates.
2054
2055         After the landing of https://webkit.org/b/130099, HistoryController doesn't need
2056         WebCore::Settings class. So we can remove the related header.
2057
2058         * loader/HistoryController.cpp:
2059
2060 2014-06-26  Jeongeun Kim  <je_julie.kim@samsung.com>
2061
2062         REGRESSION (r170287): SVGDocumentExtensions::rebuildElements() called on removed element
2063         https://bugs.webkit.org/show_bug.cgi?id=134304
2064
2065         Reviewed by Daniel Bates.
2066
2067         Roll out <http://trac.webkit.org/170287> (https://bugs.webkit.org/show_bug.cgi?id=134186)
2068         as it led to SVGDocumentExtensions::rebuildElements() being called on an element(s) that
2069         may no longer be in the document.
2070
2071         * dom/ContainerNode.cpp:
2072         (WebCore::ContainerNode::removeChild):
2073         (WebCore::ContainerNode::removeChildren):
2074         * dom/Document.cpp:
2075         (WebCore::Document::commonTeardown):
2076         (WebCore::Document::implicitClose):
2077         * history/CachedFrame.cpp:
2078         (WebCore::CachedFrameBase::restore):
2079         * svg/SVGDocumentExtensions.cpp:
2080         (WebCore::SVGDocumentExtensions::startAnimations):
2081         (WebCore::SVGDocumentExtensions::pauseAnimations):
2082         (WebCore::SVGDocumentExtensions::unpauseAnimations):
2083         (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
2084         (WebCore::SVGDocumentExtensions::rebuildElements):
2085         * svg/SVGDocumentExtensions.h:
2086
2087 2014-06-26  Tim Horton  <timothy_horton@apple.com>
2088
2089         [WK2] Pinch-zoom shadows can overlap headers and footers
2090         https://bugs.webkit.org/show_bug.cgi?id=134372
2091         <rdar://problem/16004095>
2092
2093         Reviewed by Simon Fraser.
2094
2095         * WebCore.exp.in:
2096         * rendering/RenderLayerCompositor.cpp:
2097         (WebCore::RenderLayerCompositor::updateLayerForHeader):
2098         (WebCore::RenderLayerCompositor::updateLayerForFooter):
2099         Put header/footer layers in front of the root content layer instead of behind.
2100         Ideally nothing would ever overlap them, but this will give them precedence regardless.
2101
2102 2014-06-26  David Kilzer  <ddkilzer@apple.com>
2103
2104         [Win] Always NULL-terminate the string in createUTF8String()
2105         <http://webkit.org/b/134353>
2106         <rdar://problem/17471783>
2107
2108         Reviewed by Brent Fulgham.
2109
2110         * plugins/PluginView.cpp:
2111         (WebCore::createUTF8String): Pull out CString length into local
2112         variable.  Switch to use memcpy.  Always NULL-terminate the
2113         string.
2114
2115 2014-06-26  Jer Noble  <jer.noble@apple.com>
2116
2117         [MSE][Mac] Crash in WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered const + 13
2118         https://bugs.webkit.org/show_bug.cgi?id=134367
2119
2120         Reviewed by Darin Adler.
2121
2122         Add a couple of null-checks to protect against methods being called in the brief time
2123         between when the object is created and when it's asked to load.
2124
2125         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2126         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble):
2127         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):
2128
2129 2014-06-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2130
2131         Rearrange conditions to find invalid protocol in NavigatorContentUtils::verifyProtocolHandlerScheme()
2132         https://bugs.webkit.org/show_bug.cgi?id=134289
2133
2134         Reviewed by Darin Adler.
2135
2136         If we do early return when there is invalid protocol, we're able to avoid unnecessary call flow.
2137
2138         No new tests, covered by existing tests.
2139
2140         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
2141         (WebCore::verifyProtocolHandlerScheme):
2142
2143 2014-06-26  Benjamin Poulain  <bpoulain@apple.com>
2144
2145         [WK1] Use native touch event's timestamp for DOM touch event
2146         https://bugs.webkit.org/show_bug.cgi?id=134326
2147
2148         Reviewed by Enrica Casucci.
2149
2150         * platform/ios/PlatformEventFactoryIOS.mm:
2151         (WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder):
2152         Use device event timestamp to get more accurate timing information. This also removes
2153         the variance introduced by WebKit when computing velocity/acceleration/etc.
2154
2155 2014-06-26  Balazs Kelemen  <b.kelemen@samsung.com>
2156
2157         Memcache migth not be pruned when it should for https pages
2158         https://bugs.webkit.org/show_bug.cgi?id=134361
2159
2160         Reviewed by Geoffrey Garen.
2161
2162         There is no reason we should not try to prune in case of a https resource.
2163
2164         No observable change in behavior, no tests.
2165
2166         * loader/cache/CachedResource.cpp:
2167         (WebCore::CachedResource::removeClient):
2168         Call prune unconditionally and remove an unnecessary branch.
2169
2170 2014-06-26  Alexey Proskuryakov  <ap@apple.com>
2171
2172         REGRESSION: Mountain Lion: Gmail's "in new window" view of mail threads is very slow to load its content
2173         https://bugs.webkit.org/show_bug.cgi?id=133882
2174         <rdar://problem/17271965>
2175
2176         Reviewed by Brady Eidson.
2177
2178         This goes to pre-r161796 behavior on 10.8 and 10.9. We schedule the requests internally,
2179         and only give 6 of them to CFNetwork at a time. Except for synchronous requests,
2180         which still use the improved approach, and don't count against 6 connections.
2181
2182         * loader/ResourceLoadScheduler.cpp:
2183         (WebCore::ResourceLoadScheduler::scheduleLoad):
2184         * platform/network/cf/ResourceRequest.h:
2185         (WebCore::ResourceRequest::resourcePrioritiesEnabled):
2186         * platform/network/cf/ResourceRequestCFNet.cpp:
2187         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2188         (WebCore::ResourceRequest::doUpdateResourceRequest):
2189         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Deleted.
2190         * platform/network/mac/ResourceRequestMac.mm:
2191         (WebCore::ResourceRequest::doUpdateResourceRequest):
2192         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2193
2194 2014-06-26  Brady Eidson  <beidson@apple.com>
2195
2196         Remove use of PlatformStrategies for Gamepad API.
2197         https://bugs.webkit.org/show_bug.cgi?id=134348
2198
2199         Reviewed by Dean Jackson.
2200
2201         No new tests (Not yet a tested config)
2202
2203         Introduce a virtual GamepadProvider with a process-global shared provider.
2204         The base implementation of the GamepadProvider does nothing.
2205         * platform/GamepadProvider.cpp: Renamed from Source/WebKit/mac/WebCoreSupport/WebHIDGamepadController.h.
2206         (WebCore::GamepadProvider::shared):
2207         (WebCore::GamepadProvider::setSharedProvider):
2208         (WebCore::GamepadProvider::startMonitoringGamepads):
2209         (WebCore::GamepadProvider::stopMonitoringGamepads):
2210         (WebCore::GamepadProvider::platformGamepads):
2211         * platform/GamepadProvider.h: Renamed from Source/WebCore/platform/GamepadStrategy.h.
2212         (WebCore::GamepadProvider::~GamepadProvider):
2213
2214         * platform/GamepadProviderClient.h: Renamed from Source/WebCore/platform/GamepadStrategyClient.h.
2215         (WebCore::GamepadProviderClient::~GamepadProviderClient):
2216
2217         GamepadManager is now a GamepadProviderClient:
2218         * Modules/gamepad/GamepadManager.cpp:
2219         (WebCore::GamepadManager::GamepadManager):
2220         (WebCore::GamepadManager::registerNavigator):
2221         (WebCore::GamepadManager::unregisterNavigator):
2222         * Modules/gamepad/GamepadManager.h:
2223
2224         Remove the GamepadStrategy altogether:
2225         * platform/PlatformStrategies.h:
2226         (WebCore::PlatformStrategies::PlatformStrategies):
2227         (WebCore::PlatformStrategies::gamepadStrategy): Deleted.
2228
2229         Call to the shared GamepadProvider instead of the strategy:
2230         * Modules/gamepad/NavigatorGamepad.cpp:
2231         (WebCore::NavigatorGamepad::gamepads):
2232         (WebCore::NavigatorGamepad::gamepadsBecameVisible):
2233         (WebCore::NavigatorGamepad::gamepadConnected):
2234
2235         HIDGamepadListener is now a subclass of GamepadProvider that implements the HID based management.
2236         LegacyWebKit on Mac will install the shared HIDGamepadProvider instead of the default GamepadProvider:
2237         * platform/mac/HIDGamepadProvider.cpp: Renamed from Source/WebCore/platform/mac/HIDGamepadListener.cpp.
2238         (WebCore::deviceMatchingDictionary):
2239         (WebCore::deviceAddedCallback):
2240         (WebCore::deviceRemovedCallback):
2241         (WebCore::deviceValuesChangedCallback):
2242         (WebCore::HIDGamepadProvider::shared):
2243         (WebCore::HIDGamepadProvider::HIDGamepadProvider):
2244         (WebCore::HIDGamepadProvider::indexForNewlyConnectedDevice):
2245         (WebCore::HIDGamepadProvider::startMonitoringGamepads):
2246         (WebCore::HIDGamepadProvider::stopMonitoringGamepads):
2247         (WebCore::HIDGamepadProvider::deviceAdded):
2248         (WebCore::HIDGamepadProvider::deviceRemoved):
2249         (WebCore::HIDGamepadProvider::valuesChanged):
2250         (WebCore::HIDGamepadProvider::removeGamepadForDevice):
2251         * platform/mac/HIDGamepadProvider.h: Renamed from Source/WebCore/platform/mac/HIDGamepadListener.h.
2252         (WebCore::HIDGamepadProvider::platformGamepads):
2253         (WebCore::HIDGamepadProvider::setShouldDispatchCallbacks):
2254
2255         * WebCore.exp.in:
2256         * WebCore.xcodeproj/project.pbxproj:
2257
2258         * platform/mac/HIDGamepad.h: Fix incorrect comment
2259
2260 2014-06-26  Andreas Kling  <akling@apple.com>
2261
2262         Skip memcmp()ing fully downloaded resources after they become mmap()able.
2263         <https://webkit.org/b/134362>
2264
2265         When we receive word that a downloaded resource is now available for mmap()ing
2266         from the file system, we don't need to compare against the buffered data,
2267         since even if there were a mismatch, the cached version should be the canonical one.
2268
2269         This was added as belt-and-suspenders while the supporting mechanism was being
2270         developed in CFNetwork, and there's no evidence of a race today. This change
2271         turns the runtime checks into debug-only assertions.
2272
2273         Saves ~300ms of main thread time on PLT.
2274
2275         Reviewed by Geoff Garen.
2276
2277         * loader/cache/CachedResource.cpp:
2278         (WebCore::CachedResource::tryReplaceEncodedData):
2279
2280 2014-06-26  Jer Noble  <jer.noble@apple.com>
2281
2282         [MSE] Refactoring: Use C++11 for-loops in SourceBuffer.
2283         https://bugs.webkit.org/show_bug.cgi?id=134352
2284
2285         Reviewed by Darin Adler.
2286
2287         Use C++11 style for-loops where appropriate in SourceBuffer now that the
2288         SampleMap ordered objects support them.
2289
2290         * Modules/mediasource/SourceBuffer.cpp:
2291         (WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):
2292         (WebCore::SourceBuffer::sourceBufferPrivateFastSeekTimeForMediaTime):
2293         (WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
2294         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
2295         (WebCore::SourceBuffer::validateInitializationSegment):
2296         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
2297
2298 2014-06-25  Joseph Pecoraro  <pecoraro@apple.com>
2299  
2300         [iOS]: Tapping <button> outside of a form is no longer working
2301         https://bugs.webkit.org/show_bug.cgi?id=134319
2302         <rdar://problem/17213346>
2303
2304         Reviewed by Daniel Bates.
2305
2306         Restore behavior of allowing <button> clicks outside of <form>.
2307         This used to be iOS behavior before it was removed in favor of the
2308         OpenSource (Android?) behavior. Now, willRespondToMouseClickEvents
2309         is only used by iOS, so lets restore the iOS behavior.
2310
2311         * html/HTMLButtonElement.cpp:
2312         (WebCore::HTMLButtonElement::willRespondToMouseClickEvents):
2313
2314 2014-06-26  Jer Noble  <jer.noble@apple.com>
2315
2316         Unreviewed build-fix. Remove unintentionial rename of MediaTime.h -> MediaTimeHash.h.
2317
2318         * Modules/mediasource/SampleMap.h:
2319
2320 2014-06-26  Eric Carlson  <eric.carlson@apple.com>
2321
2322         [iOS] no need to deactivate audio session
2323         https://bugs.webkit.org/show_bug.cgi?id=134350
2324
2325         Reviewed by Jer Noble.
2326
2327         * platform/audio/mac/MediaSessionManagerMac.cpp:
2328         (MediaSessionManager::updateSessionState): Don't bother calling 
2329             AudioSession::setActive(false), WebCore's audio session will be deactivated 
2330             automatically if another application begins playing audio.
2331
2332 2014-06-26  Jer Noble  <jer.noble@apple.com>
2333
2334         [MSE] Refactoring: Differentiate between SampleMap decode and presentation order methods
2335         https://bugs.webkit.org/show_bug.cgi?id=134349
2336
2337         Reviewed by Geoffrey Garen.
2338
2339         Refactor SampleMap to clarify the distinction between methods which return decode-order
2340         iterators and ones which retun presentation-order iterators.
2341
2342         Add two classes, PresentationOrderSampleMap and DecodeOrderSampleMap, to contain the actual
2343         MediaTime-to-Sample maps, and move the methods returning presentation-order and decode-order
2344         iterators to each, respectively.  Rename the {presentation,decode}{Begin,End}() methods to
2345         begin() and end() so the objects can be used in C++11 for-loops.
2346
2347         Update all the call sites in SourceBuffer to use the new ordered objects.
2348
2349         * Modules/mediasource/SampleMap.cpp:
2350         (WebCore::SampleIsLessThanMediaTimeComparator::operator()): Use new ordered objects.
2351         (WebCore::SampleIsGreaterThanMediaTimeComparator::operator()): Ditto.
2352         (WebCore::SampleMap::clear): Ditto.
2353         (WebCore::SampleMap::addSample): Ditto.
2354         (WebCore::SampleMap::removeSample): Ditto.
2355         (WebCore::PresentationOrderSampleMap::findSampleContainingPresentationTime): Renamed from SampleMap version.
2356         (WebCore::PresentationOrderSampleMap::findSampleAfterPresentationTime): Ditto.
2357         (WebCore::DecodeOrderSampleMap::findSampleWithDecodeTime): Ditto.
2358         (WebCore::PresentationOrderSampleMap::reverseFindSampleContainingPresentationTime): Ditto.
2359         (WebCore::PresentationOrderSampleMap::reverseFindSampleBeforePresentationTime): Ditto.
2360         (WebCore::DecodeOrderSampleMap::reverseFindSampleWithDecodeTime): Ditto.
2361         (WebCore::DecodeOrderSampleMap::findSyncSamplePriorToPresentationTime): Ditto.
2362         (WebCore::DecodeOrderSampleMap::findSyncSamplePriorToDecodeIterator): Ditto.
2363         (WebCore::DecodeOrderSampleMap::findSyncSampleAfterPresentationTime): Ditto.
2364         (WebCore::DecodeOrderSampleMap::findSyncSampleAfterDecodeIterator): Ditto.
2365         (WebCore::PresentationOrderSampleMap::findSamplesBetweenPresentationTimes): Ditto.
2366         (WebCore::PresentationOrderSampleMap::findSamplesWithinPresentationRange): Ditto.
2367         (WebCore::DecodeOrderSampleMap::findDependentSamples): Ditto.
2368         * Modules/mediasource/SampleMap.h:
2369         (WebCore::PresentationOrderSampleMap::begin): Renamed from presentationBegin().
2370         (WebCore::PresentationOrderSampleMap::end): Renamed from presentationEnd().
2371         (WebCore::PresentationOrderSampleMap::rbegin): Renamed from reversePresentationBegin().
2372         (WebCore::PresentationOrderSampleMap::rend): Renamed from reversePresentationEnd().
2373         (WebCore::DecodeOrderSampleMap::begin): Renamed from decodeBegin().
2374         (WebCore::DecodeOrderSampleMap::end): Renamed from decodeEnd().
2375         (WebCore::DecodeOrderSampleMap::rbegin): Renamed from reverseDecodeBegin().
2376         (WebCore::DecodeOrderSampleMap::rend): Renamed from reverseDecodeEnd().
2377         (WebCore::SampleMap::SampleMap): Create new ordered objects.
2378         (WebCore::SampleMap::sizeInBytes): Use new ordered objects.
2379         (WebCore::SampleMap::decodeOrder): Simple accessor.
2380         (WebCore::SampleMap::presentationOrder): Simple accessor.
2381         * Modules/mediasource/SourceBuffer.cpp:
2382         (WebCore::SourceBuffer::sourceBufferPrivateSeekToTime): Use new ordered objects.
2383         (WebCore::SourceBuffer::sourceBufferPrivateFastSeekTimeForMediaTime): Ditto.
2384         (WebCore::SourceBuffer::removeCodedFrames): Ditto.
2385         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
2386         (WebCore::SourceBuffer::bufferedSamplesForTrackID): Ditto.
2387
2388 2014-06-26  Chris Fleizach  <cfleizach@apple.com>
2389
2390         Add an undo group for each dictated utterance in WebKit
2391         https://bugs.webkit.org/show_bug.cgi?id=134086
2392
2393         Applied review comments from Sam Weinig.
2394
2395         Move the associated USE #define into Platform.h.
2396  
2397         * WebCore.xcodeproj/project.pbxproj:
2398         * editing/mac/TextUndoInsertionMarkup.h: Removed.
2399         * editing/mac/TextUndoInsertionMarkupMac.h:
2400
2401 2014-06-26  Shivakumar JM  <shiva.jm@samsung.com>
2402
2403         [EFL][WK2] Fix Debug Build Error in Webcore module.
2404         https://bugs.webkit.org/show_bug.cgi?id=134345
2405
2406         Reviewed by Zalan Bujtas.
2407
2408         Use static cast to change the type of variable to fix error
2409
2410         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
2411         (WebCore::HarfBuzzShaper::setDrawRange):
2412
2413 2014-06-26  Eric Carlson  <eric.carlson@apple.com>
2414
2415         [Mac] allow host application to canonicalize media urls
2416         https://bugs.webkit.org/show_bug.cgi?id=134329
2417
2418         Reviewed by Dean Jackson.
2419
2420         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2421         (WebCore::canonicalURL): New, use NSURLProtocol to canonicalize a URL.
2422         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Call canonicalURL.
2423
2424 2014-06-26  Carlos Garcia Campos  <cgarcia@igalia.com>
2425
2426         [GTK] Add padding for future expansion to WebKitDOMEventTargetIface
2427         https://bugs.webkit.org/show_bug.cgi?id=134298
2428
2429         Reviewed by Martin Robinson.
2430
2431         * bindings/gobject/WebKitDOMEventTarget.h:
2432
2433 2014-06-25  Carlos Garcia Campos  <cgarcia@igalia.com>
2434
2435         [GTK] Add support for constants in GObject DOM bindings
2436         https://bugs.webkit.org/show_bug.cgi?id=133983
2437
2438         Reviewed by Martin Robinson.
2439
2440         * bindings/gobject/webkitdom.symbols: Add stable constants.
2441         * bindings/scripts/CodeGeneratorGObject.pm:
2442         (GenerateHeader): Add constants to the header.
2443         (Generate): Pass the interface object to GenerateHeader to get the constants
2444         (IsInterfaceSymbol): Helper function that returns whether the given
2445         symbol belongs to the interface. Check also constants now.
2446         (ReadStableSymbols): Use IsInterfaceSymbol().
2447         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
2448         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2449
2450 2014-06-26  Manuel Rego Casasnovas  <rego@igalia.com>
2451
2452         [CSS Grid Layout] Properly support for z-index on grid items
2453         https://bugs.webkit.org/show_bug.cgi?id=103329
2454
2455         Reviewed by Benjamin Poulain.
2456
2457         From Blink r157620 by <jchaffraix@chromium.org> and r172402 by
2458         <wangxianzhu@chromium.org>.
2459
2460         The specification says that grid should match flexbox and force
2461         grid items to be stacking context if z-index is set, regardless
2462         of 'position'. After this change, this is what happens.
2463
2464         Previously z-index changes of static positioned objects were ignored.
2465         However, z-index is applicable for some static positioned objects,
2466         such as grid items. Ignoring them makes the object not to be properly
2467         painted on z-index change.
2468
2469         As StyleResolver has ensured that z-index is non-auto only if
2470         applicable, RenderStyle::changeRequiresLayerRepaint() should not check
2471         again (with inconsistent conditions).
2472
2473         Tests: fast/css-grid-layout/grid-item-z-index-change-repaint.html
2474                fast/css-grid-layout/grid-item-z-index-stacking-context.html
2475                fast/css-grid-layout/grid-item-z-index-support.html
2476
2477         * css/StyleResolver.cpp:
2478         (WebCore::isDisplayFlexibleOrGridBox): Add new method to check if parent
2479         display is flexbox or grid.
2480         (WebCore::StyleResolver::adjustRenderStyle): Use new method in z-index
2481         condition.
2482         * rendering/style/RenderStyle.cpp:
2483         (WebCore::RenderStyle::changeRequiresLayerRepaint): Move z-index checks
2484         out of non-static positioned objects if.
2485
2486 2014-06-25  Dean Jackson  <dino@apple.com>
2487
2488         HIDGamepad should use CFIndex when looping
2489         https://bugs.webkit.org/show_bug.cgi?id=134337
2490
2491         Reviewed by Dan Bernstein.
2492
2493         * platform/mac/HIDGamepad.cpp:
2494         (WebCore::HIDGamepad::initElementsFromArray): Replace int with CFIndex, and use
2495         a local variable for CFArrayCount.
2496
2497 2014-06-25  Ryosuke Niwa  <rniwa@webkit.org>
2498
2499         Build fix attempt after r170465.
2500
2501         * platform/mac/HIDGamepad.cpp:
2502         (WebCore::HIDGamepad::initElementsFromArray):
2503
2504 2014-06-25  Dean Jackson  <dino@apple.com>
2505
2506         [Mac] Radio buttons and checkboxes vanish when redrawn
2507         https://bugs.webkit.org/show_bug.cgi?id=134335
2508
2509         Reviewed by Dan Bernstein.
2510
2511         I screwed up when landing r170343 by moving some code around
2512         which broke the logic. We need to query the animation
2513         state for controls after we draw (both statically and animated).
2514
2515         * platform/mac/ThemeMac.mm:
2516         (WebCore::paintToggleButton): We need to check the state of animation again, after
2517         we draw.
2518
2519 2014-06-25  Brady Eidson  <beidson@apple.com>
2520
2521         Add HID-based gamepad implementation for Mac
2522         https://bugs.webkit.org/show_bug.cgi?id=134324
2523
2524         Reviewed by Dean Jackson.
2525
2526         No new tests (Not yet a tested config)
2527
2528         * Modules/gamepad/Gamepad.cpp:
2529         (WebCore::Gamepad::Gamepad):
2530         (WebCore::Gamepad::updateFromPlatformGamepad): Update the Gamepad’s data from the passed-in PlatformGamepad.
2531         * Modules/gamepad/Gamepad.h:
2532
2533         * Modules/gamepad/GamepadButton.h:
2534         (WebCore::GamepadButton::create): Change to use Ref instead of RefPtr.
2535
2536         GamepadManager is a GamepadStrategyClient that receives notifications from the platform gamepad implementation
2537         and forwards them to NavigatorGamepad objects. In the future it will also handle event dispatch and exposing
2538         gamepads to the API layer when a button is pressed:
2539         * Modules/gamepad/GamepadManager.cpp: Added.
2540         (WebCore::GamepadManager::shared):
2541         (WebCore::GamepadManager::GamepadManager):
2542         (WebCore::GamepadManager::platformGamepadConnected):
2543         (WebCore::GamepadManager::platformGamepadDisconnected):
2544         (WebCore::GamepadManager::registerNavigator):
2545         (WebCore::GamepadManager::unregisterNavigator):
2546         * Modules/gamepad/GamepadManager.h:
2547
2548         The NavigatorGamepad supplement actually manages visibility of Gamepads on a per-DOMWindow basis:
2549         * Modules/gamepad/NavigatorGamepad.cpp:
2550         (WebCore::NavigatorGamepad::NavigatorGamepad):
2551         (WebCore::NavigatorGamepad::~NavigatorGamepad):
2552         (WebCore::NavigatorGamepad::from):
2553         (WebCore::NavigatorGamepad::gamepads):
2554         (WebCore::NavigatorGamepad::gamepadsBecameVisible):
2555         (WebCore::NavigatorGamepad::gamepadConnected):
2556         (WebCore::NavigatorGamepad::gamepadDisconnected):
2557         * Modules/gamepad/NavigatorGamepad.h:
2558         (WebCore::NavigatorGamepad::navigationStart):
2559
2560         HIDGamepad is a PlatformGamepad that wraps an IOHIDDeviceRef and keeps input values updated:
2561         * platform/mac/HIDGamepad.cpp: Added.
2562         (WebCore::HIDGamepad::HIDGamepad):
2563         (WebCore::HIDGamepad::initElements):
2564         (WebCore::HIDGamepad::initElementsFromArray):
2565         (WebCore::HIDGamepad::maybeAddButton):
2566         (WebCore::HIDGamepad::maybeAddAxis):
2567         (WebCore::HIDGamepad::valueChanged):
2568         * platform/mac/HIDGamepad.h: Added.
2569         (WebCore::HIDGamepadElement::HIDGamepadElement):
2570         (WebCore::HIDGamepadElement::~HIDGamepadElement):
2571         (WebCore::HIDGamepadElement::isButton):
2572         (WebCore::HIDGamepadElement::isAxis):
2573         (WebCore::HIDGamepadButton::HIDGamepadButton):
2574         (WebCore::HIDGamepadAxis::HIDGamepadAxis):
2575         (WebCore::HIDGamepad::hidDevice):
2576
2577         HIDGamepadListener wraps an IOHIDManagerRef and continuously listens for changes to Gamepad-type
2578         devices plugged in to the system:
2579         * platform/mac/HIDGamepadListener.cpp: Added.
2580         (WebCore::deviceMatchingDictionary):
2581         (WebCore::deviceAddedCallback):
2582         (WebCore::deviceRemovedCallback):
2583         (WebCore::deviceValuesChangedCallback):
2584         (WebCore::HIDGamepadListener::shared):
2585         (WebCore::HIDGamepadListener::HIDGamepadListener):
2586         (WebCore::HIDGamepadListener::indexForNewlyConnectedDevice):
2587         (WebCore::HIDGamepadListener::deviceAdded):
2588         (WebCore::HIDGamepadListener::deviceRemoved):
2589         (WebCore::HIDGamepadListener::valuesChanged):
2590         (WebCore::HIDGamepadListener::removeGamepadForDevice):
2591         * platform/mac/HIDGamepadListener.h: Copied from Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp.
2592         (WebCore::HIDGamepadListenerClient::~HIDGamepadListenerClient):
2593         (WebCore::HIDGamepadListener::setClient):
2594         (WebCore::HIDGamepadListener::platformGamepads):
2595         (WebCore::HIDGamepadListener::setShouldDispatchCallbacks):
2596
2597         * WebCore.exp.in:
2598         * WebCore.xcodeproj/project.pbxproj:
2599
2600 2014-06-25  Ryosuke Niwa  <rniwa@webkit.org>
2601
2602         WebProgressTracker updates progress too frequently
2603         https://bugs.webkit.org/show_bug.cgi?id=134185
2604
2605         Reviewed by Tim Horton.
2606
2607         The old code throttled the progress update to when either 100ms has passed or the delta is at least 2%
2608         but this was still not enough in pages that loaded in sub-seconds. The new code always throttles it at 200ms.
2609
2610         * loader/ProgressTracker.cpp:
2611         (WebCore::ProgressTracker::ProgressTracker):
2612         (WebCore::ProgressTracker::incrementProgress):
2613         * loader/ProgressTracker.h:
2614
2615 2014-06-25  Simon Fraser  <simon.fraser@apple.com>
2616
2617         [iOS WK2] Fixed position elements jump around when zooming
2618         https://bugs.webkit.org/show_bug.cgi?id=134328
2619         <rdar://problem/17447048>
2620
2621         Reviewed by Zalan Bujtas.
2622
2623         If a given remote layer tree commit contains changes of layers for viewport-constrained
2624         objects, then the associated scrolling tree also needs to show that the layers changed,
2625         since we need to re-run the "viewport changed" logic in the UI process to get the
2626         layers correctly positioned for the current zoom level.
2627         
2628         The bug was that page scale changes resulted in small "pixel alignment" position
2629         changes which touched layers, but we didn't commit any scrolling tree changes. So
2630         the scrolling tree commit would result in visibly stale layer positions, with no scrolling tree
2631         update to adjust them for the current transient zoom.
2632
2633         Fix by making use of the existing "alignment offset" field in the ViewportConstraints
2634         data, and having RemoteScrollingCoordinatorProxy::connectStateNodeLayers() note that
2635         fixed or sticky layers changed if any properties of fixed or sticky scrolling tree
2636         nodes were updated.
2637
2638         * page/scrolling/ScrollingConstraints.h:
2639         (WebCore::StickyPositionViewportConstraints::operator==):
2640         * platform/graphics/GraphicsLayer.h:
2641         (WebCore::GraphicsLayer::pixelAlignmentOffset):
2642         * platform/graphics/ca/GraphicsLayerCA.cpp:
2643         (WebCore::GraphicsLayerCA::updateGeometry):
2644         * platform/graphics/ca/GraphicsLayerCA.h:
2645         * rendering/RenderLayerCompositor.cpp:
2646         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
2647         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
2648
2649 2014-06-25  Simon Fraser  <simon.fraser@apple.com>
2650
2651         [iOS WK2] Tweak the logic used to choose the scale at which position:fixed gets pushed out of view
2652         https://bugs.webkit.org/show_bug.cgi?id=134323
2653
2654         Reviewed by Benjamin Poulain.
2655
2656         Previously we used a fixed scale (1.2x) at which we'd start pushing position:fixed elements
2657         out of the viewport. This worked well on iPad, but terribly on iPhone. Instead, choose a scale
2658         relative to how much of the page is visible width-wise, the threshold being 2/3 of the page width.
2659         The width is clamped to get reasonable behavior on wide pages.
2660
2661         * page/FrameView.cpp:
2662         (WebCore::FrameView::rectForViewportConstrainedObjects):
2663
2664 2014-06-25  Brady Eidson  <beidson@apple.com>
2665
2666         Add new platform gamepad abstractions
2667         https://bugs.webkit.org/show_bug.cgi?id=134325
2668
2669         Reviewed by Dean Jackson.
2670
2671         No new tests (Not yet a tested config)
2672
2673         - GamepadStrategy lets ports customize the 3 basic behaviors needed for a gamepad
2674           implementation to feed the API in WebCore.
2675         - GamepadStrategyClient gives arbitrary objects in WebCore the ability to register
2676           for callbacks with the GamepadStrategy.
2677         - PlatformGamepad is a platform-agnostic object that represents the data that
2678           feeds into the Gamepad object that is exposed to web content.
2679
2680         The code in this patch is dead as-is, but https://bugs.webkit.org/show_bug.cgi?id=134324
2681         will contain an immediate follow-up patch that uses it.
2682
2683         Makes sense to review them separately.
2684
2685         * WebCore.xcodeproj/project.pbxproj:
2686
2687         * platform/GamepadStrategy.h: Added.
2688         (WebCore::GamepadStrategy::~GamepadStrategy):
2689
2690         * platform/GamepadStrategyClient.h: Added.
2691         (WebCore::GamepadStrategyClient::~GamepadStrategyClient):
2692
2693         * platform/PlatformGamepad.h: Added.
2694         (WebCore::PlatformGamepad::~PlatformGamepad):
2695         (WebCore::PlatformGamepad::id):
2696         (WebCore::PlatformGamepad::lastUpdateTime):
2697         (WebCore::PlatformGamepad::connectTime):
2698         (WebCore::PlatformGamepad::PlatformGamepad):
2699
2700         * platform/PlatformStrategies.h:
2701         (WebCore::PlatformStrategies::gamepadStrategy):
2702         (WebCore::PlatformStrategies::PlatformStrategies):
2703
2704 2014-06-25  Zalan Bujtas  <zalan@apple.com>
2705
2706         Assertion failed: CGPathAddRoundedRect asserts on non-renderable rounded rectangle.
2707         https://bugs.webkit.org/show_bug.cgi?id=134288
2708
2709         Reviewed by Simon Fraser.
2710
2711         Speculative fix. This changeset attempts to address a possible mantissa overflow of radius
2712         when checking whether the rounded rectangle is renderable.
2713         We convert both the radius and the rectangle values to CGFloat(float/double) to perform
2714         this renderable check, instead of always using float.
2715
2716         * platform/graphics/FloatRoundedRect.cpp:
2717         (WebCore::FloatRoundedRect::Radii::scale): Move scale(float, float) from RoundedRect to FloatRoundedRect.
2718         (WebCore::FloatRoundedRect::isRenderable): Add check if radius is >= 0.
2719         * platform/graphics/FloatRoundedRect.h:
2720         * platform/graphics/RoundedRect.cpp:
2721         (WebCore::RoundedRect::Radii::scale):
2722         (WebCore::RoundedRect::pixelSnappedRoundedRectForPainting): use FloatRoundeRect::Radii.
2723         * platform/graphics/RoundedRect.h:
2724         * platform/graphics/cg/PathCG.cpp:
2725         (WebCore::Path::platformAddPathForRoundedRect): use epsilon() to ensure width/height is always >= even with mantissa overflow. 
2726
2727 2014-06-25  Jer Noble  <jer.noble@apple.com>
2728
2729         [MSE] removeCodedFrames() can remove more than it should
2730         https://bugs.webkit.org/show_bug.cgi?id=134320
2731
2732         Reviewed by Geoff Garen.
2733
2734         removeCodedFrames() can remove more samples than it should because it compares an iterator
2735         in presentation timespace to one in decode timespace. Clean up this code by removing frames
2736         in decode order. Rename variables and add comments to make explicit which timespace defines
2737         the iterators being used.
2738
2739         * Modules/mediasource/SourceBuffer.cpp:
2740         (WebCore::SourceBuffer::removeCodedFrames):
2741
2742 2014-06-25  Beth Dakin  <bdakin@apple.com>
2743
2744         Crash in ScrollingTree::isRubberBandInProgress()
2745         https://bugs.webkit.org/show_bug.cgi?id=134316
2746         -and corresponding-
2747         <rdar://problem/16247911>
2748
2749         Reviewed by Geoffrey Garen.
2750
2751         This crash appears to have been caused by http://trac.webkit.org/changeset/161276 
2752         which moved the ScrollingNode creation code from ScrollingTree over to 
2753         ScrollingCoordinator. This creates a thread safety issue. In the crashing case, we 
2754         believe that the ScrollingCoordinator's ScrollingTree pointer had been null-ed out
2755         even though the ScrollingTree was kept alive by the bind call to propagate 
2756         commitNewTreeState() over to the scrolling thread. The fix is to move node 
2757         creation back to the ScrollingTree and to use the this pointer to create new
2758         nodes rather than the ScrollingCoordinator's ScrollingTree pointer.
2759
2760         Don't allow ScrollingCoordinator to handle ScrollingTreeNode creation.
2761         * page/scrolling/AsyncScrollingCoordinator.h:
2762
2763         Re-name createNode to createScrollingTreeNode(). 
2764         * page/scrolling/ScrollingTree.cpp:
2765         (WebCore::ScrollingTree::updateTreeFromStateNode):
2766         * page/scrolling/ScrollingTree.h:
2767
2768         Remove this implementation of createNode that called into the 
2769         ScrollingCoordinator.
2770         * page/scrolling/ThreadedScrollingTree.cpp:
2771         (WebCore::ThreadedScrollingTree::createNode): Deleted.
2772         * page/scrolling/ThreadedScrollingTree.h:
2773
2774         Don't allow ScrollingCoordinator to handle ScrollingTreeNode creation.
2775         * page/scrolling/ios/ScrollingCoordinatorIOS.h:
2776         * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
2777         (WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode): Deleted.
2778
2779         Re-name createNode to createScrollingTreeNode, and actually create the nodes here.
2780         * page/scrolling/ios/ScrollingTreeIOS.cpp:
2781         (WebCore::ScrollingTreeIOS::createScrollingTreeNode):
2782         (WebCore::ScrollingTreeIOS::createNode): Deleted.
2783         * page/scrolling/ios/ScrollingTreeIOS.h:
2784
2785         Don't allow ScrollingCoordinator to handle ScrollingTreeNode creation.
2786         * page/scrolling/mac/ScrollingCoordinatorMac.h:
2787         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2788         (WebCore::ScrollingCoordinatorMac::createScrollingTreeNode): Deleted.
2789
2790         Add the implementation of createScrollingTreeNode() for the Mac to 
2791         ScrollingTreeMac since it can create Mac-specific nodes.
2792         * page/scrolling/mac/ScrollingTreeMac.cpp:
2793         (ScrollingTreeMac::createScrollingTreeNode):
2794         * page/scrolling/mac/ScrollingTreeMac.h:
2795
2796 2014-06-25  Enrica Casucci  <enrica@apple.com>
2797
2798         iOS build fix after http://trac.webkit.org/changeset/170447.
2799         Unreviewed.
2800
2801         * editing/mac/TextUndoInsertionMarkup.h:
2802
2803 2014-06-25  Chris Fleizach  <cfleizach@apple.com>
2804
2805         Add an undo group for each dictated utterance in WebKit
2806         https://bugs.webkit.org/show_bug.cgi?id=134086
2807
2808         Reviewed by Enrica Casucci.
2809
2810         Provide a mechanism for ending the current undo group on a text insertion.
2811         This allows a stream of text, that is normally part of one undo group, to be
2812         broken up so that subsequent undo commands will only undo portions of the text stream.
2813
2814         * WebCore.exp.in:
2815         * WebCore.xcodeproj/project.pbxproj:
2816         * editing/mac/TextUndoInsertionMarkup.h: Added.
2817         * editing/mac/TextUndoInsertionMarkup.mm: Added.
2818         (WebCore::shouldRegisterInsertionUndoGroup):
2819         (WebCore::registerInsertionUndoGrouping):
2820
2821 2014-06-25  Joseph Pecoraro  <pecoraro@apple.com>
2822
2823         [iOS]: WK2 Inspector Node Search
2824         https://bugs.webkit.org/show_bug.cgi?id=134279
2825
2826         Reviewed by Benjamin Poulain.
2827
2828         * WebCore.exp.in:
2829         Export Node::inspect for WebKit2.
2830
2831 2014-06-25  Dana Burkart  <dburkart@apple.com>
2832
2833         Add support for 5-tuple versioning.
2834
2835         Reviewed by David Farler.
2836
2837         * Configurations/Version.xcconfig:
2838
2839 2014-06-25  Jer Noble  <jer.noble@apple.com>
2840
2841         [MSE][Mac] REGRESSION(r170336) - zero tolerance seeks are ignored.
2842         https://bugs.webkit.org/show_bug.cgi?id=134310
2843
2844         Reviewed by Brent Fulgham.
2845
2846         Tests for zero tolerance seeks were inadvertantly reversed in r170336.
2847
2848         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2849         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
2850
2851 2014-06-25  Jer Noble  <jer.noble@apple.com>
2852
2853         [MSE][Mac] Pause playback when readyState drops below HAVE_FUTURE_DATA, and do not complete seek until it rises above HAVE_METADATA.
2854         https://bugs.webkit.org/show_bug.cgi?id=134306
2855
2856         Reviewed by Eric Carlson.
2857
2858         Pause the synchronizer before seeking, and do not resume the synchronizer until it both reports that the seek completed,
2859         and that the readyState rises above HAVE_METADATA. In every other location where we change the rate of the synchronizer,
2860         gate that rate change on the above.
2861
2862         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2863         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2864         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): Check shouldBePlaying().
2865         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): Ditto.
2866         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance): Unset m_seekCompleted.
2867         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): Pause the synchronizer.
2868         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble): Check shouldBePlaying().
2869         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::shouldBePlaying): Test m_seeking, !m_seekCompleted, and the readyState.
2870         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState): Set m_seekCompleted; check shouldBePlaying() and play if appropriate.
2871
2872 2014-06-25  Jer Noble  <jer.noble@apple.com>
2873
2874         [MSE] Update monitorSourceBuffers to match recent spec changes
2875         https://bugs.webkit.org/show_bug.cgi?id=134305
2876
2877         Reviewed by Eric Carlson.
2878
2879         In W3C bug #24347, the text for the third clause of Source Buffer Monitoring was updated. Update our
2880         implementation to match the new text.
2881
2882         * Modules/mediasource/MediaSource.cpp:
2883         (WebCore::MediaSource::monitorSourceBuffers):
2884
2885 2014-06-25  Alex Christensen  <achristensen@webkit.org>
2886             And peavo@outlook.com  <peavo@outlook.com>
2887
2888         Use references instead of pointers in RenderTheme.
2889         https://bugs.webkit.org/show_bug.cgi?id=134261
2890
2891         Reviewed by Zalan Bujtas.
2892
2893         * css/StyleResolver.cpp:
2894         (WebCore::StyleResolver::adjustRenderStyle):
2895         * html/TextFieldInputType.cpp:
2896         (WebCore::TextFieldInputType::shouldHaveSpinButton):
2897         * html/shadow/SliderThumbElement.cpp:
2898         (WebCore::RenderSliderThumb::updateAppearance):
2899         * platform/efl/RenderThemeEfl.cpp:
2900         (WebCore::RenderThemeEfl::adjustSizeConstraints):
2901         (WebCore::RenderThemeEfl::applyEdjeRTLState):
2902         (WebCore::RenderThemeEfl::isControlStyled):
2903         (WebCore::RenderThemeEfl::paintThemePart):
2904         (WebCore::RenderThemeEfl::supportsFocusRing):
2905         (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
2906         (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
2907         (WebCore::RenderThemeEfl::adjustSliderThumbSize):
2908         (WebCore::RenderThemeEfl::adjustCheckboxStyle):
2909         (WebCore::RenderThemeEfl::adjustRadioStyle):
2910         (WebCore::RenderThemeEfl::adjustButtonStyle):
2911         (WebCore::RenderThemeEfl::adjustMenuListStyle):
2912         (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
2913         (WebCore::RenderThemeEfl::adjustTextFieldStyle):
2914         (WebCore::RenderThemeEfl::adjustTextAreaStyle):
2915         (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
2916         (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationPartStyle):
2917         (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
2918         (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
2919         (WebCore::RenderThemeEfl::adjustInnerSpinButtonStyle):
2920         (WebCore::RenderThemeEfl::adjustProgressBarStyle):
2921         (WebCore::RenderThemeEfl::animationRepeatIntervalForProgressBar):
2922         (WebCore::RenderThemeEfl::animationDurationForProgressBar):
2923         * platform/efl/RenderThemeEfl.h:
2924         * platform/gtk/RenderThemeGtk.cpp:
2925         (WebCore::RenderThemeGtk::supportsFocusRing):
2926         (WebCore::RenderThemeGtk::adjustButtonStyle):
2927         (WebCore::RenderThemeGtk::adjustMenuListStyle):
2928         (WebCore::RenderThemeGtk::adjustMenuListButtonStyle):
2929         (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
2930         (WebCore::adjustSearchFieldIconStyle):
2931         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationPartStyle):
2932         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
2933         (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
2934         (WebCore::RenderThemeGtk::adjustSliderTrackStyle):
2935         (WebCore::RenderThemeGtk::adjustSliderThumbStyle):
2936         (WebCore::borderRadiiFromStyle):
2937         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
2938         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
2939         (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
2940         (WebCore::RenderThemeGtk::adjustProgressBarStyle):
2941         (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
2942         (WebCore::RenderThemeGtk::animationDurationForProgressBar):
2943         (WebCore::RenderThemeGtk::calculateProgressRect):
2944         * platform/gtk/RenderThemeGtk.h:
2945         * platform/gtk/RenderThemeGtk2.cpp:
2946         (WebCore::setToggleSize):
2947         (WebCore::RenderThemeGtk::setCheckboxSize):
2948         (WebCore::RenderThemeGtk::setRadioSize):
2949         (WebCore::RenderThemeGtk::comboBoxArrowSize):
2950         (WebCore::RenderThemeGtk::getComboBoxPadding):
2951         (WebCore::RenderThemeGtk::popupInternalPaddingLeft):
2952         (WebCore::RenderThemeGtk::popupInternalPaddingRight):
2953         (WebCore::RenderThemeGtk::popupInternalPaddingTop):
2954         (WebCore::RenderThemeGtk::popupInternalPaddingBottom):
2955         (WebCore::RenderThemeGtk::paintMenuList):
2956         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
2957         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
2958         * platform/gtk/RenderThemeGtk3.cpp:
2959         (WebCore::setToggleSize):
2960         (WebCore::RenderThemeGtk::setCheckboxSize):
2961         (WebCore::RenderThemeGtk::setRadioSize):
2962         (WebCore::getComboBoxMetrics):
2963         (WebCore::RenderThemeGtk::popupInternalPaddingLeft):
2964         (WebCore::RenderThemeGtk::popupInternalPaddingRight):
2965         (WebCore::RenderThemeGtk::popupInternalPaddingTop):
2966         (WebCore::RenderThemeGtk::popupInternalPaddingBottom):
2967         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
2968         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
2969         * rendering/RenderButton.cpp:
2970         (WebCore::RenderButton::layout):
2971         * rendering/RenderInline.cpp:
2972         (WebCore::RenderInline::paintOutline):
2973         * rendering/RenderMediaControls.cpp:
2974         (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
2975         * rendering/RenderMediaControls.h:
2976         * rendering/RenderMenuList.cpp:
2977         (WebCore::RenderMenuList::adjustInnerStyle):
2978         (RenderMenuList::computeIntrinsicLogicalWidths):
2979         (RenderMenuList::menuStyle):
2980         * rendering/RenderMeter.cpp:
2981         (WebCore::RenderMeter::updateLogicalWidth):
2982         (WebCore::RenderMeter::computeLogicalHeight):
2983         * rendering/RenderObject.cpp:
2984         (WebCore::RenderObject::paintOutline):
2985         * rendering/RenderProgress.cpp:
2986         (WebCore::RenderProgress::updateAnimationState):
2987         * rendering/RenderTextControlSingleLine.cpp:
2988         (WebCore::RenderTextControlSingleLine::layout):
2989         * rendering/RenderTheme.cpp:
2990         (WebCore::RenderTheme::adjustStyle):
2991         (WebCore::RenderTheme::isControlStyled):
2992         (WebCore::RenderTheme::supportsFocusRing):
2993         (WebCore::RenderTheme::stateChanged):
2994         (WebCore::RenderTheme::adjustCheckboxStyle):
2995         (WebCore::RenderTheme::adjustRadioStyle):
2996         (WebCore::RenderTheme::adjustButtonStyle):
2997         (WebCore::RenderTheme::adjustInnerSpinButtonStyle):
2998         (WebCore::RenderTheme::adjustTextFieldStyle):
2999         (WebCore::RenderTheme::adjustTextAreaStyle):
3000         (WebCore::RenderTheme::adjustMenuListStyle):
3001         (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
3002         (WebCore::RenderTheme::adjustMeterStyle):
3003         (WebCore::RenderTheme::meterSizeForBounds):
3004         (WebCore::RenderTheme::animationRepeatIntervalForProgressBar):
3005         (WebCore::RenderTheme::animationDurationForProgressBar):
3006         (WebCore::RenderTheme::adjustProgressBarStyle):
3007         (WebCore::RenderTheme::shouldHaveSpinButton):
3008         (WebCore::RenderTheme::adjustMediaControlStyle):
3009         (WebCore::RenderTheme::adjustSliderTrackStyle):
3010         (WebCore::RenderTheme::adjustSliderThumbStyle):
3011         (WebCore::RenderTheme::adjustSliderThumbSize):
3012         (WebCore::RenderTheme::adjustSearchFieldStyle):
3013         (WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle):
3014         (WebCore::RenderTheme::adjustSearchFieldDecorationPartStyle):
3015         (WebCore::RenderTheme::adjustSearchFieldResultsDecorationPartStyle):
3016         (WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle):
3017         * rendering/RenderTheme.h:
3018         (WebCore::RenderTheme::supportsHover):
3019         (WebCore::RenderTheme::minimumMenuListSize):
3020         (WebCore::RenderTheme::popupInternalPaddingLeft):
3021         (WebCore::RenderTheme::popupInternalPaddingRight):
3022         (WebCore::RenderTheme::popupInternalPaddingTop):
3023         (WebCore::RenderTheme::popupInternalPaddingBottom):
3024         (WebCore::RenderTheme::popupMenuSize):
3025         (WebCore::RenderTheme::setCheckboxSize):
3026         (WebCore::RenderTheme::setRadioSize):
3027         (WebCore::RenderTheme::setButtonSize):
3028         * rendering/RenderThemeIOS.h:
3029         * rendering/RenderThemeIOS.mm:
3030         (WebCore::RenderThemeIOS::adjustCheckboxStyle):
3031         (WebCore::RenderThemeIOS::isControlStyled):
3032         (WebCore::RenderThemeIOS::adjustRadioStyle):
3033         (WebCore::RenderThemeIOS::popupInternalPaddingRight):
3034         (WebCore::RenderThemeIOS::adjustRoundBorderRadius):
3035         (WebCore::RenderThemeIOS::adjustMenuListButtonStyle):
3036         (WebCore::RenderThemeIOS::adjustSliderTrackStyle):
3037         (WebCore::RenderThemeIOS::adjustSliderThumbSize):
3038         (WebCore::RenderThemeIOS::animationRepeatIntervalForProgressBar):
3039         (WebCore::RenderThemeIOS::animationDurationForProgressBar):
3040         (WebCore::RenderThemeIOS::adjustSearchFieldStyle):
3041         (WebCore::RenderThemeIOS::adjustButtonStyle):
3042         (WebCore::RenderThemeIOS::setButtonSize):
3043         (WebCore::RenderThemeIOS::shouldHaveSpinButton):
3044         * rendering/RenderThemeMac.h:
3045         * rendering/RenderThemeMac.mm:
3046         (WebCore::RenderThemeMac::isControlStyled):
3047         (WebCore::RenderThemeMac::controlSizeForFont):
3048         (WebCore::RenderThemeMac::sizeForFont):
3049         (WebCore::RenderThemeMac::sizeForSystemFont):
3050         (WebCore::RenderThemeMac::setSizeFromFont):
3051         (WebCore::RenderThemeMac::setFontFromControlSize):
3052         (WebCore::RenderThemeMac::controlSizeForSystemFont):
3053         (WebCore::RenderThemeMac::adjustTextFieldStyle):
3054         (WebCore::RenderThemeMac::adjustTextAreaStyle):
3055         (WebCore::RenderThemeMac::paintMenuList):
3056         (WebCore::RenderThemeMac::meterSizeForBounds):
3057         (WebCore::RenderThemeMac::paintMeter):
3058         (WebCore::RenderThemeMac::levelIndicatorFor):
3059         (WebCore::RenderThemeMac::progressBarRectForBounds):
3060         (WebCore::RenderThemeMac::minimumProgressBarHeight):
3061         (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
3062         (WebCore::RenderThemeMac::animationDurationForProgressBar):
3063         (WebCore::RenderThemeMac::adjustProgressBarStyle):
3064         (WebCore::RenderThemeMac::paintProgressBar):
3065         (WebCore::RenderThemeMac::adjustMenuListStyle):
3066         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
3067         (WebCore::RenderThemeMac::popupInternalPaddingRight):
3068         (WebCore::RenderThemeMac::popupInternalPaddingTop):
3069         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
3070         (WebCore::RenderThemeMac::popupMenuSize):
3071         (WebCore::RenderThemeMac::minimumMenuListSize):
3072         (WebCore::RenderThemeMac::adjustSliderTrackStyle):
3073         (WebCore::RenderThemeMac::adjustSliderThumbStyle):
3074         (WebCore::RenderThemeMac::setSearchCellState):
3075         (WebCore::RenderThemeMac::setSearchFieldSize):
3076         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
3077         (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
3078         (WebCore::RenderThemeMac::adjustSearchFieldDecorationPartStyle):
3079         (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationPartStyle):
3080         (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
3081         (WebCore::RenderThemeMac::adjustSliderThumbSize):
3082         * rendering/RenderThemeSafari.cpp:
3083         (WebCore::RenderThemeSafari::isControlStyled):
3084         (WebCore::RenderThemeSafari::adjustRepaintRect):
3085         (WebCore::RenderThemeSafari::baselinePosition):
3086         (WebCore::RenderThemeSafari::controlSizeForFont):
3087         (WebCore::RenderThemeSafari::sizeForFont):
3088         (WebCore::RenderThemeSafari::sizeForSystemFont):
3089         (WebCore::RenderThemeSafari::setSizeFromFont):
3090         (WebCore::RenderThemeSafari::setFontFromControlSize):
3091         (WebCore::RenderThemeSafari::controlSizeForSystemFont):
3092         (WebCore::RenderThemeSafari::paintCheckbox):
3093         (WebCore::RenderThemeSafari::setCheckboxSize):
3094         (WebCore::RenderThemeSafari::paintRadio):
3095         (WebCore::RenderThemeSafari::setRadioSize):
3096         (WebCore::RenderThemeSafari::setButtonPaddingFromControlSize):
3097         (WebCore::RenderThemeSafari::adjustButtonStyle):
3098         (WebCore::RenderThemeSafari::setButtonSize):
3099         (WebCore::RenderThemeSafari::adjustTextFieldStyle):
3100         (WebCore::RenderThemeSafari::adjustTextAreaStyle):
3101         (WebCore::RenderThemeSafari::paintMenuList):
3102         (WebCore::RenderThemeSafari::adjustMenuListStyle):
3103         (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
3104         (WebCore::RenderThemeSafari::popupInternalPaddingRight):
3105         (WebCore::RenderThemeSafari::popupInternalPaddingTop):
3106         (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
3107         (WebCore::RenderThemeSafari::adjustMenuListButtonStyle):
3108         (WebCore::RenderThemeSafari::minimumMenuListSize):
3109         (WebCore::RenderThemeSafari::adjustSliderThumbStyle):
3110         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
3111         (WebCore::RenderThemeSafari::setSearchFieldSize):
3112         (WebCore::RenderThemeSafari::adjustSearchFieldStyle):
3113         (WebCore::RenderThemeSafari::adjustSearchFieldCancelButtonStyle):
3114         (WebCore::RenderThemeSafari::adjustSearchFieldDecorationPartStyle):
3115         (WebCore::RenderThemeSafari::adjustSearchFieldResultsDecorationPartStyle):
3116         (WebCore::RenderThemeSafari::adjustSearchFieldResultsButtonStyle):
3117         (WebCore::RenderThemeSafari::adjustMeterStyle):
3118         (WebCore::RenderThemeSafari::meterSizeForBounds):
3119         (WebCore::RenderThemeSafari::paintMeter):
3120         * rendering/RenderThemeSafari.h:
3121         * rendering/RenderThemeWin.cpp:
3122         (WebCore::RenderThemeWin::supportsHover):
3123         (WebCore::RenderThemeWin::supportsFocusRing):
3124         (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
3125         (WebCore::RenderThemeWin::setCheckboxSize):
3126         (WebCore::RenderThemeWin::paintTextField):
3127         (WebCore::RenderThemeWin::paintMenuList):
3128         (WebCore::RenderThemeWin::adjustMenuListStyle):
3129         (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
3130         (WebCore::RenderThemeWin::adjustSliderThumbSize):
3131         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
3132         (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
3133         (WebCore::RenderThemeWin::adjustSearchFieldDecorationPartStyle):
3134         (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationPartStyle):
3135         (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
3136         (WebCore::RenderThemeWin::adjustMeterStyle):
3137         (WebCore::RenderThemeWin::meterSizeForBounds):
3138         (WebCore::RenderThemeWin::paintMeter):
3139         * rendering/RenderThemeWin.h:
3140         (WebCore::RenderThemeWin::paintCheckbox):
3141         (WebCore::RenderThemeWin::paintRadio):
3142         (WebCore::RenderThemeWin::setRadioSize):
3143         (WebCore::RenderThemeWin::paintTextArea):
3144         (WebCore::RenderThemeWin::popupOptionSupportsTextIndent):
3145         (WebCore::RenderThemeWin::paintSearchFieldDecorationPart):
3146         (WebCore::RenderThemeWin::adjustButtonStyle):
3147         (WebCore::RenderThemeWin::adjustTextFieldStyle):
3148         (WebCore::RenderThemeWin::adjustTextAreaStyle):
3149         (WebCore::RenderThemeWin::shouldShowPlaceholderWhenFocused):
3150
3151 2014-06-25  Benjamin Poulain  <benjamin@webkit.org>
3152
3153         [Mac] Update the time base of event's timestamp when the system time changes
3154         https://bugs.webkit.org/show_bug.cgi?id=134293
3155
3156         Reviewed by Anders Carlsson.
3157
3158         * platform/mac/PlatformEventFactoryMac.mm:
3159         (WebCore::cachedStartupTimeIntervalSince1970): Since events timestamps are absolute time, they also
3160         need to be updated if the system clock changes.
3161
3162 2014-06-25  Dirk Schulze  <krit@webkit.org>
3163
3164         Add all blend modes to feBlend
3165
3166         feBlend should support all blend modes from CSS and Canvas
3167         https://bugs.webkit.org/show_bug.cgi?id=134296
3168
3169         Reviewed by Dean Jackson.
3170
3171         Add all blend modes to <feBlend> (the SVG filter primitive) that are also
3172         supported by HTML Canvas and CSS.
3173
3174         In addition, add "normal" blend mode to HTML Canvas as requested by the
3175         CSS Compositing and Blending specification. (Referenced from HTML Canvas.)
3176         With this change, SVG, CSS and Canvas truly share the same blend modes and
3177         even the same keywords. This is much easier to for web authors.
3178
3179         http://www.w3.org/TR/2014/CR-compositing-1-20140220/#ltblendmodegt
3180
3181         Test: svg/filters/feBlend-all-blendmodes.svg
3182
3183         * platform/graphics/GraphicsTypes.cpp: Reorder blend mode text streams to match
3184             enumeration order. Add a new function to parse blend modes independent of
3185             compositing modes. Add a string "normal" that is supported by CSS, feBlend and
3186             HTML Canvas now.
3187         (WebCore::parseBlendMode):
3188         (WebCore::parseCompositeAndBlendOperator):
3189         * platform/graphics/GraphicsTypes.h: Reorder BlendMode enumeration values to match
3190          the SVG JS enumeration for blend modes.
3191         * platform/graphics/cpu/arm/filters/FEBlendNEON.h: Move all software code that is no
3192             longer required by the software path but still used by NEON here.
3193         (WebCore::FEBlend::platformApplySoftware):
3194         (WebCore::FEBlend::platformApplyNEON):
3195         * platform/graphics/filters/FEBlend.cpp:
3196             Use drawImageBuffer() to blend the results of previous filter primitives. This
3197             allows removing more than 60% of the code.
3198         (WebCore::FEBlend::FEBlend):
3199         (WebCore::FEBlend::create):
3200         (WebCore::FEBlend::blendMode):
3201         (WebCore::FEBlend::setBlendMode):
3202         (WebCore::FEBlend::platformApplySoftware):
3203         (WebCore::FEBlend::dump):
3204         (WebCore::FEBlend::externalRepresentation):
3205         (WebCore::feBlendNormal): Deleted.
3206         (WebCore::feBlendMultiply): Deleted.
3207         (WebCore::feBlendScreen): Deleted.
3208         (WebCore::feBlendDarken): Deleted.
3209         (WebCore::feBlendLighten): Deleted.
3210         (WebCore::feBlendUnknown): Deleted.
3211         (WebCore::platformApply): Deleted.
3212         (WebCore::FEBlend::platformApplyGeneric): Deleted.
3213         (WebCore::operator<<): Deleted.
3214         * platform/graphics/filters/FEBlend.h:
3215         * svg/SVGAnimatedEnumeration.cpp: Use the global BlendMode enumeration.
3216         (WebCore::enumerationValueForTargetAttribute):
3217         * svg/SVGFEBlendElement.cpp:
3218         (WebCore::SVGFEBlendElement::SVGFEBlendElement): Use the global BlendMode enumeration.
3219             No new enumeration values added or exposed to SVG DOM as requested by SVG WG.
3220         (WebCore::SVGFEBlendElement::parseAttribute):
3221         * svg/SVGFEBlendElement.h: Replace BlendModeType with global BlendMode enumeration. Remove
3222             blend mode parsing code and use the code in GraphicsTypes instead.
3223         (WebCore::SVGPropertyTraits<BlendMode>::highestEnumValue):
3224         (WebCore::SVGPropertyTraits<BlendMode>::toString):
3225         (WebCore::SVGPropertyTraits<BlendModeType>::highestEnumValue): Deleted.
3226         (WebCore::SVGPropertyTraits<BlendModeType>::toString): Deleted.
3227         (WebCore::SVGPropertyTraits<BlendModeType>::fromString): Deleted.
3228
3229 2014-06-25  Zalan Bujtas  <zalan@apple.com>
3230
3231         Unreviewed iOS build fix after r170425.
3232
3233         * accessibility/AccessibilityProgressIndicator.cpp:
3234         * accessibility/AccessibilityProgressIndicator.h:
3235
3236 2014-06-25  Chris Fleizach  <cfleizach@apple.com>
3237
3238         AX: Crash at com.apple.WebCore: WebCore::AlternativeTextController::removeDictationAlternativesForMarker + 43
3239         https://bugs.webkit.org/show_bug.cgi?id=134226
3240
3241         Reviewed by Enrica Casucci.
3242
3243         Unchecked access of details pointer in the Document marker led to the crash.
3244         It seems erroneous to allow creation of a DocumentMarker without details when one is expected, because it
3245         carries the dictation context (not just the description).
3246         Also, add in ASSERTs to catch scenarios where a nullptr might be passed in.
3247
3248         Test: platform/mac/editing/input/crash-for-empty-text-alternative.html
3249
3250         * dom/DocumentMarker.cpp:
3251         (WebCore::DocumentMarker::DocumentMarker):
3252         * editing/AlternativeTextController.cpp:
3253         (WebCore::AlternativeTextController::removeDictationAlternativesForMarker):
3254
3255 2014-06-25  Laszlo Gombos  <l.gombos@samsung.com>
3256
3257         Remove build guard for progress element
3258         https://bugs.webkit.org/show_bug.cgi?id=134292
3259
3260         Reviewed by Benjamin Poulain.
3261
3262         The build flag is no longer needed as it is always on.
3263
3264         No new tests as there is no new behaviour.
3265
3266         * Configurations/FeatureDefines.xcconfig:
3267         * DerivedSources.make:
3268         * accessibility/AXObjectCache.cpp:
3269         (WebCore::createFromRenderer):
3270         * accessibility/AccessibilityProgressIndicator.cpp:
3271         (WebCore::AccessibilityProgressIndicator::create):
3272         (WebCore::AccessibilityProgressIndicator::valueForRange):
3273         (WebCore::AccessibilityProgressIndicator::maxValueForRange):
3274         (WebCore::AccessibilityProgressIndicator::minValueForRange):
3275         (WebCore::AccessibilityProgressIndicator::progressElement):
3276         * accessibility/AccessibilityProgressIndicator.h:
3277         * css/CSSPrimitiveValueMappings.h:
3278         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3279         * css/StyleResolver.cpp:
3280         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
3281         * css/html.css:
3282         (progress::-webkit-progress-value):
3283         * html/HTMLProgressElement.cpp:
3284         * html/HTMLProgressElement.h:
3285         * html/HTMLProgressElement.idl:
3286         * html/HTMLTagNames.in:
3287         * html/shadow/ProgressShadowElement.cpp:
3288         * html/shadow/ProgressShadowElement.h:
3289         * platform/efl/DefaultTheme/CMakeLists.txt:
3290         * platform/efl/DefaultTheme/default.edc:
3291         * platform/efl/RenderThemeEfl.cpp:
3292         (WebCore::toEdjeGroup):
3293         (WebCore::RenderThemeEfl::applyEdjeRTLState):
3294         (WebCore::RenderThemeEfl::paintProgressBar):
3295         * platform/efl/RenderThemeEfl.h:
3296         * platform/gtk/RenderThemeGtk.cpp:
3297         (WebCore::RenderThemeGtk::calculateProgressRect):
3298         * platform/gtk/RenderThemeGtk.h:
3299         * platform/gtk/RenderThemeGtk2.cpp:
3300         (WebCore::RenderThemeGtk::paintProgressBar):
3301         * platform/gtk/RenderThemeGtk3.cpp:
3302         (WebCore::RenderThemeGtk::paintProgressBar):
3303         * rendering/RenderObject.h:
3304         (WebCore::RenderObject::isSnapshottedPlugIn):
3305         (WebCore::RenderObject::isProgress):
3306         * rendering/RenderProgress.cpp:
3307         * rendering/RenderProgress.h:
3308         * rendering/RenderTheme.cpp:
3309         (WebCore::RenderTheme::adjustStyle):
3310         (WebCore::RenderTheme::paint):
3311         (WebCore::RenderTheme::paintBorderOnly):
3312         (WebCore::RenderTheme::paintDecorations):
3313         (WebCore::RenderTheme::progressBarRectForBounds):
3314         * rendering/RenderTheme.h:
3315         (WebCore::RenderTheme::paintProgressBar):
3316         * rendering/RenderThemeIOS.h:
3317         * rendering/RenderThemeIOS.mm:
3318         (WebCore::RenderThemeIOS::paintProgressBar):
3319         * rendering/RenderThemeMac.h:
3320         * rendering/RenderThemeMac.mm:
3321         (WebCore::RenderThemeMac::paintProgressBar):
3322
3323 2014-06-25  Carlos Garcia Campos  <cgarcia@igalia.com>
3324
3325         Unreviewed. Update GObject DOM bindings test results after r170422.
3326
3327         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
3328         (WebKit::wrapTestActiveDOMObject):
3329         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3330         (WebKit::wrapTestCallback):
3331         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
3332         (WebKit::wrapTestCustomNamedGetter):
3333         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
3334         (WebKit::wrapTestEventConstructor):
3335         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
3336         (WebKit::wrapTestEventTarget):
3337         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
3338         (WebKit::wrapTestException):
3339         * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.cpp:
3340         (WebKit::wrapTestGenerateIsReachable):
3341         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3342         (WebKit::wrapTestInterface):
3343         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
3344         (WebKit::wrapTestMediaQueryListListener):
3345         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
3346         (WebKit::wrapTestNamedConstructor):
3347         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
3348         (WebKit::wrapTestNode):
3349         * bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.cpp:
3350         (WebKit::wrapTestNondeterministic):
3351         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3352         (WebKit::wrapTestObj):
3353         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
3354         (WebKit::wrapTestOverloadedConstructors):
3355         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
3356         (WebKit::wrapTestSerializedScriptValueInterface):
3357         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
3358         (WebKit::wrapTestTypedefs):
3359         * bindings/scripts/test/GObject/WebKitDOMattribute.cpp:
3360         (WebKit::wrapattribute):
3361         * bindings/scripts/test/GObject/WebKitDOMreadonly.cpp:
3362         (WebKit::wrapreadonly):
3363
3364 2014-06-24  Tomas Popela  <tpopela@redhat.com>
3365
3366         [GTK] Some of DOM bindings macros are misnamed
3367         https://bugs.webkit.org/show_bug.cgi?id=121543
3368
3369         Reviewed by Carlos Garcia Campos.
3370
3371         As we are using WebKitDOM as a namespace we should unify all type macros
3372         to have WEBKIT_DOM_TYPE prefix instead of WEBKIT_TYPE_DOM. Also add
3373         more exceptions to decamelize function in GObject bindings generator
3374         to fix the names of bindings for BR, HR, UL, OL, DL and LI elements.
3375
3376         * bindings/gobject/GObjectEventListener.cpp:
3377         (WebCore::GObjectEventListener::handleEvent):
3378         * bindings/gobject/WebKitDOMEventTarget.h:
3379         * bindings/gobject/WebKitDOMNodeFilter.h:
3380         * bindings/gobject/WebKitDOMObject.h:
3381         * bindings/gobject/webkitdom.symbols:
3382         * bindings/scripts/CodeGeneratorGObject.pm:
3383         (decamelize):
3384         (GetParentGObjType):
3385         (GenerateProperty):
3386         (GenerateHeader):
3387         (GenerateCFile):
3388         (GenerateEventTargetIface):
3389         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
3390         (WebKit::wrapFloat64Array):
3391         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
3392         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
3393         (WebKit::wrapTestActiveDOMObject):
3394         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
3395         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3396         (WebKit::wrapTestCallback):
3397         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
3398         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
3399         (WebKit::wrapTestCustomNamedGetter):
3400         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
3401         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
3402         (WebKit::wrapTestEventConstructor):
3403         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
3404         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
3405         (WebKit::wrapTestEventTarget):
3406         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
3407         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
3408         (WebKit::wrapTestException):
3409         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
3410         * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.cpp:
3411         (WebKit::wrapTestGenerateIsReachable):
3412         * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.h:
3413         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3414         (WebKit::wrapTestInterface):
3415         (webkit_dom_test_interface_class_init):
3416         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
3417         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
3418         (WebKit::wrapTestMediaQueryListListener):
3419         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
3420         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
3421         (WebKit::wrapTestNamedConstructor):
3422         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
3423         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
3424         (WebKit::wrapTestNode):
3425         * bindings/scripts/test/GObject/WebKitDOMTestNode.h:
3426         * bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.cpp:
3427         (WebKit::wrapTestNondeterministic):
3428         * bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.h:
3429         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3430         (WebKit::wrapTestObj):
3431         (webkit_dom_test_obj_class_init):