05bae80215bcaef04c7412f7dd59ec237db23c28
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-03-20  Tim Horton  <timothy_horton@apple.com>
2
3         Add WebCore::IOSurface wrapper
4         https://bugs.webkit.org/show_bug.cgi?id=130529
5
6         Reviewed by Simon Fraser.
7
8         * WebCore.exp.in:
9         * WebCore.xcodeproj/project.pbxproj:
10         * platform/graphics/cg/ColorCG.cpp:
11         * platform/graphics/cg/GraphicsContextCG.h:
12         (WebCore::cachedCGColorSpace):
13         Move cachedCGColorSpace out so that other clients of GraphicsContextCG
14         can use its mapping from WebCore::ColorSpace -> CGColorSpaceRef.
15
16         * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
17         * platform/graphics/cg/ImageBufferCG.cpp:
18         Add FIXMEs for ImageBuffer to adopt WebCore::IOSurface.
19
20         * platform/graphics/cocoa/IOSurface.h: Added.
21         * platform/graphics/cocoa/IOSurface.mm: Added.
22         (IOSurface::create):
23         (IOSurface::createFromMachPort):
24         (IOSurface::createFromSurface):
25         (IOSurface::IOSurface):
26         (IOSurface::maximumSize):
27         (IOSurface::createMachPort):
28         (IOSurface::createImage):
29         (IOSurface::ensurePlatformContext):
30         (IOSurface::ensureGraphicsContext):
31         (IOSurface::state):
32         (IOSurface::isPurgeable):
33         (IOSurface::setIsPurgeable):
34         (IOSurface::inUse):
35         Add WebCore::IOSurface.
36
37 2014-03-20  Pratik Solanki  <psolanki@apple.com>
38
39         iOS build fix after r165992.
40
41         * generate-export-file:
42         (preprocessorMacros):
43
44 2014-03-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
45
46         [WebRTC] Moving RTCConfiguration and RTCIceServer to Modules/mediastream
47         https://bugs.webkit.org/show_bug.cgi?id=130434
48
49         Reviewed by Eric Carlson.
50
51         Those classes are defined in WebRTC spec, so they should not be in platform layer.
52         Adding a platform implementation to be passed to handler classes.
53
54         * Modules/mediastream/RTCConfiguration.h: Copied from Source/WebCore/platform/mediastream/RTCConfiguration.h.
55         * Modules/mediastream/RTCIceServer.h: Copied from Source/WebCore/platform/mediastream/RTCIceServer.h.
56         * Modules/mediastream/RTCPeerConnection.cpp:
57         (WebCore::RTCPeerConnection::RTCPeerConnection):
58         (WebCore::RTCPeerConnection::updateIce):
59         * WebCore.xcodeproj/project.pbxproj:
60         * platform/mediastream/RTCConfigurationPrivate.h: Added.
61         * platform/mediastream/RTCIceServerPrivate.h: Added.
62         * platform/mediastream/RTCPeerConnectionHandler.h:
63         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
64         (WebCore::RTCPeerConnectionHandlerMock::initialize):
65         (WebCore::RTCPeerConnectionHandlerMock::updateIce):
66         * platform/mock/RTCPeerConnectionHandlerMock.h:
67
68 2014-03-20  Alex Christensen  <achristensen@webkit.org>
69
70         [WinCairo] Unreviewed speculative build after my r165996.
71
72         * platform/network/soup/AuthenticationChallengeSoup.cpp:
73         * platform/network/soup/CertificateInfo.cpp:
74         * platform/network/soup/CookieJarSoup.cpp:
75         * platform/network/soup/ResourceRequestSoup.cpp:
76         * platform/network/soup/ResourceResponseSoup.cpp:
77         * platform/network/soup/SynchronousLoaderClientSoup.cpp:
78
79 2014-03-20  Brent Fulgham  <bfulgham@apple.com>
80
81         Add a flushing mechanism for the WebVTTParser
82         https://bugs.webkit.org/show_bug.cgi?id=130532
83
84         Reviewed by Eric Carlson.
85
86         Merged from Blink (patch by vcarbune@chromium.org):
87         https://chromium.googlesource.com/chromium/blink/+/1ac2b3081492ab8661429230004013a9a3623f0f
88         http://crbug.com/54203003
89         https://chromium.googlesource.com/chromium/blink/+/24343d32bc36d20d59ef3e10040faddde65929e6
90         http://crbug.com/59453002
91         https://chromium.googlesource.com/chromium/blink/+/ef2793f1d9d207389589ecf9a136ea5c7170b4af
92         http://crbug.com/75233002
93         https://chromium.googlesource.com/chromium/blink/+/a29f2f8324abcd4826b41e7dc34373dee2ec57a9
94         http://crbug.com/52713005
95         https://chromium.googlesource.com/chromium/blink/+/7ce003c8d47b39f116f1f2a592a5dfb4a9e77228
96         http://crbug.com/64303004
97         https://chromium.googlesource.com/chromium/blink/+/18f896b3498478311e880f782813d5dfc8c0c7d1
98         http://crbug.com/96933004
99         https://chromium.googlesource.com/chromium/blink/+/8670e8ecb13254a651f5493ec83f4484d18c154e
100         http://crbug.com/98783005
101         https://chromium.googlesource.com/chromium/blink/+/4ac55780a6af3d76e0159c1d145330964ad56647
102         http://crbug.com/104713002
103
104         Tests: http/tests/media/track/track-webvtt-slow-loading-2.html
105                http/tests/media/track/track-webvtt-slow-loading.html
106
107         * CMakeLists.txt:
108         * GNUmakefile.list.am:
109         * WebCore.vcxproj/WebCore.vcxproj:
110         * WebCore.vcxproj/WebCore.vcxproj.filters:
111         * WebCore.xcodeproj/project.pbxproj:
112         * html/track/BufferedLineReader.cpp: Added.
113         * html/track/BufferedLineReader.h: Added.
114         * html/track/TextTrackRegion.cpp:
115         * html/track/VTTCue.cpp:
116         * html/track/WebVTTParser.cpp:
117         * html/track/WebVTTParser.h:
118         * loader/TextTrackLoader.cpp:
119
120 2014-03-20  Alex Christensen  <achristensen@webkit.org>
121
122         Preparation for using Soup on Windows.
123         https://bugs.webkit.org/show_bug.cgi?id=130472
124
125         Reviewed by Brent Fulgham.
126
127         * WebCore.vcxproj/WebCore.vcxproj:
128         * WebCore.vcxproj/WebCore.vcxproj.filters:
129         Added Soup source to build on WinCairo.
130         * platform/network/curl/CookieJarCurl.cpp:
131         * platform/network/curl/CredentialStorageCurl.cpp:
132         * platform/network/curl/CurlCacheEntry.cpp:
133         * platform/network/curl/CurlCacheManager.cpp:
134         * platform/network/curl/CurlDownload.cpp:
135         * platform/network/curl/DNSCurl.cpp:
136         * platform/network/curl/FormDataStreamCurl.cpp:
137         * platform/network/curl/MultipartHandle.cpp:
138         * platform/network/curl/ProxyServerCurl.cpp:
139         * platform/network/curl/ResourceHandleCurl.cpp:
140         * platform/network/curl/ResourceHandleManager.cpp:
141         * platform/network/curl/SSLHandle.cpp:
142         * platform/network/curl/SocketStreamHandleCurl.cpp:
143         Protected with USE(CURL) to avoid duplicate symbols when linking.
144         * platform/network/soup/AuthenticationChallengeSoup.cpp:
145         * platform/network/soup/CertificateInfo.cpp:
146         * platform/network/soup/CookieJarSoup.cpp:
147         * platform/network/soup/CookieStorageSoup.cpp:
148         * platform/network/soup/CredentialStorageSoup.cpp:
149         * platform/network/soup/DNSSoup.cpp:
150         * platform/network/soup/NetworkStorageSessionSoup.cpp:
151         * platform/network/soup/ProxyResolverSoup.cpp:
152         * platform/network/soup/ProxyServerSoup.cpp:
153         * platform/network/soup/ResourceErrorSoup.cpp:
154         * platform/network/soup/ResourceHandleSoup.cpp:
155         * platform/network/soup/ResourceRequestSoup.cpp:
156         * platform/network/soup/ResourceResponseSoup.cpp:
157         * platform/network/soup/SocketStreamHandleSoup.cpp:
158         * platform/network/soup/SoupNetworkSession.cpp:
159         * platform/network/soup/SynchronousLoaderClientSoup.cpp:
160         Protected with USE(CURL) to avoid duplicate symbols when linking.
161
162 2014-03-20  Pratik Solanki  <psolanki@apple.com>
163
164         iOS build fix after r165979.
165
166         * generate-export-file:
167         (preprocessorMacros):
168
169 2014-03-20  David Hyatt  <hyatt@apple.com>
170
171         [New Multicolumn] getClientRects returns wrong rectangle
172         https://bugs.webkit.org/show_bug.cgi?id=128614
173
174         Reviewed by Sam Weinig.
175
176         Added fast/multicol/newmulticol/client-rects.html and beefed up existing
177         fast/multicol/client-rects.html to use more writing modes.
178
179         * rendering/LayoutState.h:
180         Removed unused function.
181
182         * rendering/RenderFlowThread.h:
183         Make mapFlowToRegion virtual so that RenderMultiColumnFlowThread can
184         override it.
185
186         * rendering/RenderMultiColumnFlowThread.cpp:
187         (WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
188         * rendering/RenderMultiColumnFlowThread.h:
189         Implement mapFlowToRegion to correctly translate a flow thread position
190         into a column offset within a region.
191
192         * rendering/RenderMultiColumnSet.cpp:
193         (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
194         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
195         * rendering/RenderMultiColumnSet.h:
196         Refactored some code to make a columnTranslationForOffset helper that
197         can be used by RenderMultiColumnFlowThread.
198
199 2014-03-20  Daniel Bates  <dabates@apple.com>
200
201         Preserve original document URL for XSSAuditor reports
202
203         Merged from Blink (patch by Tom Sepez):
204         https://src.chromium.org/viewvc/blink?view=rev&revision=158406
205
206         Test: http/tests/security/xssAuditor/report-script-tag-replace-state.html
207
208         * html/parser/XSSAuditor.cpp:
209         (WebCore::XSSAuditor::filterToken):
210         * html/parser/XSSAuditorDelegate.cpp:
211         (WebCore::buildConsoleError):
212         (WebCore::XSSAuditorDelegate::generateViolationReport):
213         (WebCore::XSSAuditorDelegate::didBlockScript):
214         * html/parser/XSSAuditorDelegate.h:
215         (WebCore::XSSInfo::XSSInfo):
216
217 2014-03-20  Daniel Bates  <dabates@apple.com>
218
219         XSSAuditor bypass with frameset tags
220
221         Merged from Blink (patch by Tom Sepez):
222         https://src.chromium.org/viewvc/blink?view=rev&revision=157794
223
224         Test: http/tests/security/xssAuditor/frameset-injection.html
225
226         * html/parser/XSSAuditor.cpp:
227         (WebCore::XSSAuditor::filterStartToken):
228         (WebCore::XSSAuditor::filterFrameToken):
229         * html/parser/XSSAuditor.h:
230
231 2014-03-20  Brian Burg  <bburg@apple.com>
232
233         Web Replay: fix some oversights in the replay backend
234         https://bugs.webkit.org/show_bug.cgi?id=130435
235
236         Reviewed by Andreas Kling.
237
238         This functionality will be covered by tests in https://webkit.org/b/130145.
239
240         * inspector/InspectorInstrumentation.cpp:
241         (WebCore::InspectorInstrumentation::playbackFinishedImpl):
242         * inspector/InspectorInstrumentation.h:
243         (WebCore::InspectorInstrumentation::playbackFinished):
244         * inspector/InspectorReplayAgent.cpp:
245         (WebCore::buildInspectorObjectForSegment):
246         (WebCore::InspectorReplayAgent::playbackFinished):
247         * inspector/InspectorReplayAgent.h: Add a playbackFinished event to Inspector
248         instrumentation. This is fired by ReplayController when playback is cancelled or 
249         playback of the final segment has completed.
250
251         * replay/EventLoopInputDispatcher.cpp:
252         (WebCore::EventLoopInputDispatcher::dispatchInputSoon): Fix wrong cast.
253         (WebCore::EventLoopInputDispatcher::dispatchInput): Ensure that m_dispatching is
254         false when m_running is false.
255         * replay/EventLoopInputDispatcher.h: Distinguish 'dispaching' and 'running' in comments.
256         (WebCore::EventLoopInputDispatcher::isRunning): Added.
257
258         * replay/FunctorInputCursor.h: Since the base class InputCursor is RefCounted, the
259         Functor subclass cannot be put into a unique_ptr. Add create() method instead.
260
261         * replay/ReplayController.cpp:
262         (WebCore::ReplayController::loadSegmentAtIndex): Renamed from loadSegment(). Callers
263         now pass in the desired segment index rather than the segment itself. The index is
264         necessary to properly reset m_position after the segment is loaded.
265
266         (WebCore::ReplayController::startPlayback): Set the dispatcher's speed before run().
267         (WebCore::ReplayController::pausePlayback): Only pause the dispatcher if it's running.
268         (WebCore::ReplayController::cancelPlayback): Add playbackFinished instrumentation.
269         (WebCore::ReplayController::replayToPosition):
270         (WebCore::ReplayController::didDispatchFinalInput): If there are no more segments to load,
271         manually adjust the final m_position and defer to cancelPlayback to unload the segment.
272         * replay/ReplayController.h:
273         * replay/ReplaySessionSegment.cpp:
274         (WebCore::ReplaySessionSegment::createFunctorCursor):
275         * replay/ReplaySessionSegment.h:
276
277 2014-03-20  Pratik Solanki  <psolanki@apple.com>
278
279         [iOS] Get code to compile on older iOS versions
280         https://bugs.webkit.org/show_bug.cgi?id=130142
281         <rdar://problem/16302908>
282
283         Reviewed by Darin Adler.
284
285         * WebCore.exp.in:
286         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
287         (-[WebVideoFullscreenController WebCore::]):
288         (-[WebVideoFullscreenController enterFullscreen:]):
289         (-[WebVideoFullscreenController exitFullscreen]):
290         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
291         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
292         * platform/mac/HTMLConverter.mm:
293         (_dateForString):
294         * platform/network/cf/CookieJarCFNet.cpp:
295         (WebCore::copyCookiesForURLWithFirstPartyURL):
296         * platform/text/ios/LocalizedDateCache.mm:
297         (WebCore::LocalizedDateCache::calculateMaximumWidth):
298         * platform/text/mac/LocaleMac.mm:
299         (WebCore::LocaleMac::LocaleMac):
300
301 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
302
303         Followup build fix: AnimationBase.h needs to be private because
304         it's included by AnimationController.h.
305
306         * WebCore.xcodeproj/project.pbxproj:
307
308 2014-03-20  Simon Fraser  <simon.fraser@apple.com>
309
310         A completed fill-forwards animation should not disable overlap testing
311         https://bugs.webkit.org/show_bug.cgi?id=130522
312         <rdar://problem/15862395>
313
314         Reviewed by Dean Jackson.
315         
316         Previously, if -webkit-transform was being keyframe-animated, and the
317         animation had fill-forwards, then we would continue to think that the
318         animation is running and turn off compositing overlap testing. This
319         caused some sites to keep too much backing store around.
320         
321         Fix by having isRunning{Accelerated}AnimationOnRenderer take some flags
322         so that more specific questions about the running state can be asked.
323         For layer creation, keep using the same criteria as before (for now)
324         which includes paused and fill-forwards animations. For overlap testing,
325         don't include the fill-forwards test.
326
327         Tests: compositing/animation/filling-animation-overlap-at-end.html
328                compositing/animation/filling-animation-overlap.html
329                compositing/animation/layer-for-filling-animation.html
330
331         * page/animation/AnimationBase.h:
332         (WebCore::AnimationBase::fillingForwards):
333         (WebCore::AnimationBase::inPausedState):
334         (WebCore::AnimationBase::isAnimatingProperty):
335         * page/animation/AnimationController.cpp:
336         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
337         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
338         (WebCore::AnimationController::isRunningAnimationOnRenderer):
339         (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
340         * page/animation/AnimationController.h:
341         * page/animation/AnimationControllerPrivate.h:
342         * page/animation/CompositeAnimation.cpp:
343         (WebCore::CompositeAnimation::isAnimatingProperty):
344         * page/animation/CompositeAnimation.h:
345         * rendering/RenderLayerBacking.cpp:
346         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
347         * rendering/RenderLayerCompositor.cpp:
348         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
349         (WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
350
351 2014-03-20  Dirk Schulze  <krit@webkit.org>
352
353         Canvas methods clip/fill/stroke should not except 0 argument
354         https://bugs.webkit.org/show_bug.cgi?id=130497
355
356         Reviewed by Dean Jackson.
357
358         Do not allow nullable argument for fill/stroke/clip.
359
360         No new tests. Updated existing tests.
361
362         * html/canvas/CanvasRenderingContext2D.idl:
363
364 2014-03-20  Eric Carlson  <eric.carlson@apple.com>
365
366         [iOS] Support MediaDocument when building with PLUGIN_PROXY_FOR_VIDEO
367         https://bugs.webkit.org/show_bug.cgi?id=130520
368
369         Reviewed by Jer Noble.
370
371         * dom/DOMImplementation.cpp:
372         (WebCore::DOMImplementation::createDocument): Check the isVideoPluginProxyEnabled setting 
373             when building with ENABLE_PLUGIN_PROXY_FOR_VIDEO.
374
375 2014-03-20  Mihai Tica  <mitica@adobe.com>
376
377         [CSS Blending] Blending operation is not isolated when setting z-index on parent from javascript
378         https://bugs.webkit.org/show_bug.cgi?id=129307
379
380         Reviewed by Dean Jackson.
381
382         Reimplement the logic behind isolating blend modes. The blending operation should be limited to the
383         contents of the parent stacking context. The proposed solution implies adding logic in updateDescendantDependentFlags,
384         to track child elements that have blending and create a transparency layer that triggers isolation.
385
386         Tests: css3/compositing/blend-mode-background.html
387                fast/repaint/blend-mode-isolate-stacking-context.html
388
389         * rendering/RenderLayer.cpp:
390         (WebCore::RenderLayer::RenderLayer): Remove old members, add new members to constructor.
391         (WebCore::RenderLayer::updateBlendMode): Update parent stacking context isolation on blend mode change.
392         (WebCore::RenderLayer::updateNonCompositedParentStackingContextHasBlendedChild):
393         - Set m_hasBlendedElementInChildStackingContext for the non composited parent stacking context.
394         (WebCore::RenderLayer::dirtyAncestorParentStackingContextHasBlendedElement):
395         - Set flag so isolation should be considered in updateDescendantDependentFlags.
396         (WebCore::RenderLayer::nonCompositedParentStackingContextHasBlendedChild):
397         - Return whether the non composited parent stacking context isolates blending.
398         (WebCore::RenderLayer::updateDescendantDependentFlags): Add logic for isolating blending.
399         (WebCore::RenderLayer::addChild): Call to updateNonCompositedParentStackingContextHasBlendedChild if needed.
400         (WebCore::RenderLayer::removeChild): Call to dirtyAncestorParentStackingContextHasBlendedElement if needed.
401         (WebCore::RenderLayer::updateStackingContextsAfterStyleChange): Update isolation when a stacking context was set or unset.
402         (WebCore::RenderLayer::styleChanged): Removed oldStyle parameter from updateBlendMode call.
403          Update parent stacking context isolation on blend mode change.
404         * rendering/RenderLayer.h:
405         - Add members, getters and setters for tracking whether the element has a blended child:
406             - m_hasBlendedElementInChildStackingContext
407             - m_hasBlendedElementInChildStackingContextStatusDirty
408         - Removed m_updateParentStackingContextShouldIsolateBlendingDirty (replaced with m_hasBlendedElementInChildStackingContextStatusDirty)
409         - Removed m_isolatesBlending (replaced with m_hasBlendedElementInChildStackingContext)
410         - Updated the isolatesBlending method to return true only when the element is a stacking context and has a blended child.
411         * rendering/RenderLayerCompositor.cpp:
412         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Removed layer.updateParentStackingContextShouldIsolateBlending call.
413
414 2014-03-20  Martin Robinson  <mrobinson@igalia.com>
415
416         [GTK] [CMake] Do not compile ProxyResolverSoup.cpp
417         https://bugs.webkit.org/show_bug.cgi?id=130516
418
419         Reviewed by Sergio Villar Senin.
420
421         * PlatformGTK.cmake: Remove the file from the source list.
422
423 2014-03-20  Commit Queue  <commit-queue@webkit.org>
424
425         Unreviewed, rolling out r165962.
426         https://bugs.webkit.org/show_bug.cgi?id=130512
427
428         It broke the build (Requested by Ossy on #webkit).
429
430         Reverted changeset:
431
432         "[EFL][GTK] Get CMake to find Freetype2 properly"
433         https://bugs.webkit.org/show_bug.cgi?id=130150
434         http://trac.webkit.org/changeset/165962
435
436 2014-03-20  Lorenzo Tilve  <ltilve@igalia.com>
437
438         "input" event is not fired when changing a select element's value
439         https://bugs.webkit.org/show_bug.cgi?id=117526
440
441         Reviewed by Antti Koivisto.
442
443         Add a call to dispatch input event when listbox or menulist
444         values are modified.
445
446         According to the spec: "When the user agent is to send select update
447         notifications, queue a task to first fire a simple even that bubbles
448         named input at the select element, and then fire a simple event that
449         bubbles named change at the select element, using the user interaction
450         task source as the task source."
451
452         Tests: fast/forms/select/listbox-oninput-fired.html
453                fast/forms/select/menulist-oninput-fired.html
454
455         * html/HTMLSelectElement.cpp:
456         (WebCore::HTMLSelectElement::listBoxOnChange):
457         (WebCore::HTMLSelectElement::dispatchChangeEventForMenuList):
458
459 2014-03-20  Radu Stavila  <stavila@adobe.com>
460
461         [CSS Regions] The height of a scrollable element flowed inside a scrollable region is not computed correctly
462         https://bugs.webkit.org/show_bug.cgi?id=129487
463
464         Reviewed by Andrei Bucur.
465
466         When propagating the layout overflow from the flowed element up to the flow thread itself,
467         the region's logical bottom padding and the element's logical bottom margin must be taken into consideration.
468         However, if the flowed element has overflow, the overflow will be painted over the region's padding
469         and the element's margin, in order to be compatible with the non-regions case.
470         More info can be found here: http://lists.w3.org/Archives/Public/www-style/2014Jan/0089.html
471
472         Tests: fast/regions/scrollable-region-content-size-horiz-bt.html
473                fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html
474                fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html
475                fast/regions/scrollable-region-content-size-no-overflow.html
476                fast/regions/scrollable-region-content-size-relative.html
477                fast/regions/scrollable-region-content-size-vert-rl.html
478                fast/regions/scrollable-region-content-size-vertical-lr.html
479                fast/regions/scrollable-region-content-size.html
480                fast/regions/scrollable-region-scrollable-content.html
481
482         * rendering/RenderFlowThread.cpp:
483         (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
484         * rendering/RenderRegion.cpp:
485         (WebCore::RenderRegion::rectFlowPortionForBox):
486
487 2014-03-20  Zalan Bujtas  <zalan@apple.com>
488
489         Subpixel rendering: Nested layers with subpixel accumulation paint to wrong position.
490         https://bugs.webkit.org/show_bug.cgi?id=130153
491
492         Reviewed by Simon Fraser.
493
494         Subpixels (fractional device pixels here) can accumulate through nested layers. Subpixels
495         need to be propagated through the layer tree so that painting coordinates match layout coordinates.
496
497         Subpixel accumulation through nesting (absolute positioning, 2x display):
498         non-compositing case:
499         (nested boxes)  (layout pos) (norm.paint pos) (translate accumulation, subpixel accumulation, final paint pos)
500         div -> top: 1.3px   1.3px     1.5px      1.5px 0.2px -> snapped 0.0px -> 1.5px
501          div -> top: 1.3px   2.6px     2.5px      3.0px 0.4px -> snapped 0.5px -> 2.5px
502           div -> top: 1.3px   3.9px     4.0px      4.5px 0.6px -> snapped 0.5px -> 4.0px
503            div -> top: 1.3px   5.2px     5.0px      6.0px 0.8px -> snapped 1.0px -> 5.0px
504
505         compositing case:
506         (nested boxes)  (layout pos) (norm.paint pos) (device pixel offset + fractional offset, final pos)
507         div -> top: 1.3px   1.3px      1.5px      1.0px + 0.3px -> snapped -> 1.5px
508          div -> top: 1.3px   2.6px      2.5px      2.5px + 0.1px -> snapped -> 2.5px
509           div -> top: 1.3px   3.9px      4.0px      3.5px + 0.4px -> snapped -> 4.0px
510            div -> top: 1.3px   5.2px      5.0px      5.0px + 0.2px -> snapped -> 5.0px
511
512         Tests: compositing/hidpi-nested-compositing-layers-with-subpixel-accumulation.html
513                fast/layers/hidpi-nested-layers-with-subpixel-accumulation.html
514
515         * rendering/RenderLayer.cpp:
516         (WebCore::RenderLayer::paintLayerByApplyingTransform):
517         * rendering/RenderLayerBacking.cpp:
518         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
519         * rendering/RenderLayerBacking.h:
520         (WebCore::RenderLayerBacking::devicePixelFractionFromRenderer):
521
522 2014-03-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
523
524         [EFL][GTK] Get CMake to find Freetype2 properly
525         https://bugs.webkit.org/show_bug.cgi?id=130150
526
527         Reviewed by Csaba Osztrogonác.
528
529         Newer versions of CMake are not able to find Freetype2 correctly.
530         FindFreetype2.cmake checks for the version number in freetype.h header, since it seems that bug exists in
531         freetype2 repo, because a completely different version number is found in freetype2.pc.
532
533         * PlatformEfl.cmake:
534         * PlatformGTK.cmake:
535
536 2014-03-20  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
537
538         Refactor checking log channel state in MediaPlayerPrivateGStreamerBase.
539         https://bugs.webkit.org/show_bug.cgi?id=130241
540
541         Reviewed by Philippe Normand.
542
543         The channel was passed around only to check its state. Cleaned this up
544         by adding a method to check whether a log channel is enabled.
545
546         * platform/Logging.cpp:
547         (WebCore::isLogChannelEnabled):
548         * platform/Logging.h:
549         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
550         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
551
552 2014-03-20  Lorenzo Tilve  <ltilve@igalia.com>
553
554         Dispatch input event for Range element keyboard event
555         https://bugs.webkit.org/show_bug.cgi?id=129929
556
557         Reviewed by Kent Tamura.
558
559         For any value update, dispatch both input and change event.
560         Also removes extra dispatch change event, as event is dispatched
561         from TextFieldInputType:setValue.
562
563         Merged from Blink (patch by Habib Virji):
564         https://src.chromium.org/viewvc/blink?revision=168558&view=revision
565
566         Test: fast/forms/range/range-keyboard-oninput-event.html
567
568         * html/RangeInputType.cpp:
569         (WebCore::RangeInputType::handleKeydownEvent):
570
571 2014-03-20  Jinwoo Song  <jinwoo7.song@samsung.com>
572
573         Refine BatteryStatus module
574         https://bugs.webkit.org/show_bug.cgi?id=130495
575
576         Reviewed by Andreas Kling.
577
578         Small refinements:
579          - Return PassRef instead of PassRefPtr in create method
580          - Switched to nullptr instead of 0 where appropriate.
581          - Removed unused function and header file.
582          - Removed unnecessary empty lines.
583
584         * Modules/battery/BatteryController.h:
585         * Modules/battery/BatteryManager.cpp:
586         (WebCore::BatteryManager::create): Make return passRef.
587         * Modules/battery/BatteryManager.h:
588         (WebCore::BatteryManager::batteryControllerDestroyed): Use nullptr.
589         * Modules/battery/BatteryStatus.cpp:
590         (WebCore::BatteryStatus::create): Make return passRef.
591         * Modules/battery/BatteryStatus.h:
592         * Modules/battery/NavigatorBattery.cpp:
593         (WebCore::NavigatorBattery::webkitBattery): Remove batteryManager().
594         * Modules/battery/NavigatorBattery.h:
595
596 2014-03-19  Pratik Solanki  <psolanki@apple.com>
597
598         [iOS] Get code to compile on older iOS versions
599         https://bugs.webkit.org/show_bug.cgi?id=130142
600         <rdar://problem/16302908>
601
602         Reviewed by Darin Adler.
603
604         * WebCore.exp.in:
605         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
606         (-[WebVideoFullscreenController WebCore::]):
607         (-[WebVideoFullscreenController enterFullscreen:]):
608         (-[WebVideoFullscreenController exitFullscreen]):
609         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
610         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
611         * platform/mac/HTMLConverter.mm:
612         (_dateForString):
613         * platform/network/cf/CookieJarCFNet.cpp:
614         (WebCore::copyCookiesForURLWithFirstPartyURL):
615         * platform/text/ios/LocalizedDateCache.mm:
616         (WebCore::LocalizedDateCache::calculateMaximumWidth):
617         * platform/text/mac/LocaleMac.mm:
618         (WebCore::LocaleMac::LocaleMac):
619
620 2014-03-19  Byungseon Shin  <sun.shin@lge.com>
621
622         Fix "WEBKIT_WEBGL_compressed_texture_pvrtc" extension support
623         https://bugs.webkit.org/show_bug.cgi?id=130292
624
625         Reviewed by Dean Jackson.
626
627         WebGLRenderingContext::getExtension was not returning WEBGL_compressed_texture_pvrtc extension.
628
629         * html/canvas/WebGLRenderingContext.cpp:
630         (WebCore::WebGLRenderingContext::getExtension):
631
632 2014-03-19  Brent Fulgham  <bfulgham@apple.com>
633
634         Merge Misc. WebVTT Updates from Blink.
635         https://bugs.webkit.org/show_bug.cgi?id=130491
636
637         Reviewed by Eric Carlson.
638
639         Test: media/track/track-webvtt-tc030-interspersed-non-cue.html
640
641         Merged from Blink (patch by vcarbune@chromium.org):
642         https://chromium.googlesource.com/chromium/blink/+/fb62b2b54944bd19026192c049a1db250756fc12
643         http://crbug.com/40323003
644         https://chromium.googlesource.com/chromium/blink/+/29176fb0b394a97e85f4dabc07e18329f3ceae41
645         http://crbug.com/54463002
646         https://chromium.googlesource.com/chromium/blink/+/29476f839a08cb17c5a3fc713f7e454e7cea9c60
647         http://crbug.com/55853002
648         https://chromium.googlesource.com/chromium/blink/+/ba2378ef873e786cf2937034e012669cdd37dfe8
649         http://crbug.com/65343003
650         https://chromium.googlesource.com/chromium/blink/+/1915b9aa1bba45aebf28531b40ae627ecf9a3d59
651         http://crbug.com/62833005
652         https://chromium.googlesource.com/chromium/blink/+/ea46dbd0f1f29779a1cd4f59b19361b803f09a9b
653         http://crbug.com/64273013
654         https://chromium.googlesource.com/chromium/blink/+/9eb4bb6b627357bb94d66386a4123ec004cccfc4
655         http://crbug.com/101513002
656         https://chromium.googlesource.com/chromium/blink/+/192a843b32eafb77bf92c50ec50d334ba935028a
657         http://crbug.com/102403002
658         https://chromium.googlesource.com/chromium/blink/+/15f9efcc952fcf73184e28fb9db79633c1fa6653
659         http://crbug.com/104443002
660         https://chromium.googlesource.com/chromium/blink/+/74fd66b451a464683f7cb748855b1740a54b2c16
661         http://crbug.com/75243004
662
663         * html/track/TextTrackRegion.cpp:
664         (WebCore::TextTrackRegion::parseSettingValue):
665         * html/track/VTTCue.cpp:
666         (WebCore::VTTCue::markFutureAndPastNodes):
667         (WebCore::VTTCue::setCueSettings):
668         * html/track/WebVTTParser.cpp:
669         (WebCore::scanDigits):
670         (WebCore::WebVTTParser::collectDigitsToInt):
671         (WebCore::WebVTTParser::parseFloatPercentageValue):
672         (WebCore::WebVTTParser::parseBytes):
673         (WebCore::WebVTTParser::collectMetadataHeader):
674         (WebCore::WebVTTParser::collectTimingsAndSettings):
675         (WebCore::WebVTTParser::createDocumentFragmentFromCueText):
676         (WebCore::WebVTTParser::createNewCue):
677         (WebCore::WebVTTParser::createNewRegion):
678         (WebCore::WebVTTParser::collectTimeStamp):
679         (WebCore::tokenToNodeType):
680         (WebCore::WebVTTParser::constructTreeFromToken):
681         * html/track/WebVTTParser.h:
682         * html/track/WebVTTToken.h:
683         (WebCore::WebVTTToken::name):
684         (WebCore::WebVTTToken::characters):
685         (WebCore::WebVTTToken::appendToCharacter):
686         (WebCore::WebVTTToken::addNewClass):
687         (WebCore::WebVTTToken::classes):
688         (WebCore::WebVTTToken::addNewAnnotation):
689         (WebCore::WebVTTToken::annotation):
690         * html/track/WebVTTTokenizer.cpp:
691         (WebCore::equalLiteral):
692         (WebCore::WebVTTTokenizer::WebVTTTokenizer):
693         (WebCore::WebVTTTokenizer::nextToken):
694         * html/track/WebVTTTokenizer.h:
695
696 2014-03-19  Mark Hahnenberg  <mhahnenberg@apple.com>
697
698         GC timer should intelligently choose between EdenCollections and FullCollections
699         https://bugs.webkit.org/show_bug.cgi?id=128261
700
701         Reviewed by Geoffrey Garen.
702
703         No new tests.
704
705         Updated WebSafeGCActivityCallbacks for both Eden and Full timers.
706
707         * bindings/js/JSDOMWindowBase.cpp:
708         (WebCore::JSDOMWindowBase::commonVM):
709         * platform/ios/WebSafeGCActivityCallbackIOS.h:
710
711 2014-03-19  Andy Estes  <aestes@apple.com>
712
713         Fix the iOS build after r165917.
714
715         * platform/ios/WebCoreSystemInterfaceIOS.mm:
716
717 2014-03-19  Commit Queue  <commit-queue@webkit.org>
718
719         Unreviewed, rolling out r165926.
720         https://bugs.webkit.org/show_bug.cgi?id=130488
721
722         broke the iOS build (Requested by estes on #webkit).
723
724         Reverted changeset:
725
726         "GC timer should intelligently choose between EdenCollections
727         and FullCollections"
728         https://bugs.webkit.org/show_bug.cgi?id=128261
729         http://trac.webkit.org/changeset/165926
730
731 2014-03-19  Commit Queue  <commit-queue@webkit.org>
732
733         Unreviewed, rolling out r165929.
734         https://bugs.webkit.org/show_bug.cgi?id=130487
735
736         in order to roll out r165926 (Requested by estes on #webkit).
737
738         Reverted changeset:
739
740         http://trac.webkit.org/changeset/165929
741
742 2014-03-19  Mark Hahnenberg  <mhahnenberg@apple.com>
743
744         Build fix for iOS after r165926
745
746         * bindings/js/JSDOMWindowBase.cpp:
747         (WebCore::JSDOMWindowBase::commonVM):
748         * platform/ios/WebSafeGCActivityCallbackIOS.h:
749
750 2014-03-19  Eric Carlson  <eric.carlson@apple.com>
751
752         Allow media engine to update HTMLMediaElement state when playing to external device
753         https://bugs.webkit.org/show_bug.cgi?id=130480
754
755         Reviewed by Jer Noble.
756
757         * html/HTMLMediaElement.h: Add mediaPlayerHandlePlaybackCommand.
758
759         * platform/graphics/MediaPlayer.cpp:
760         (WebCore::MediaPlayer::handlePlaybackCommand): New.
761         * platform/graphics/MediaPlayer.h:
762         (WebCore::MediaPlayerClient::mediaPlayerHandlePlaybackCommand):
763
764         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
765         (WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Send Play and Pause commands when
766             playing to an external device.
767
768 2014-03-19  Dirk Schulze  <krit@webkit.org>
769
770         Implement isPointInPath and isPointInStroke with Path2D argument
771         https://bugs.webkit.org/show_bug.cgi?id=130473
772
773         Reviewed by Dean Jackson.
774
775         Implement isPointInPath and isPointInStroke for 2D Canvas contxts
776         with Path2D argument.
777
778
779         Tests: fast/canvas/canvas-path-isPointInPath.html
780                fast/canvas/canvas-path-isPointInStroke.html
781
782         * html/canvas/CanvasRenderingContext2D.cpp:
783         (WebCore::CanvasRenderingContext2D::isPointInPath):
784         (WebCore::CanvasRenderingContext2D::isPointInStroke):
785         (WebCore::CanvasRenderingContext2D::isPointInPathInternal):
786         (WebCore::CanvasRenderingContext2D::isPointInStrokeInternal):
787         * html/canvas/CanvasRenderingContext2D.h:
788         * html/canvas/CanvasRenderingContext2D.idl:
789
790 2014-03-13  Mark Hahnenberg  <mhahnenberg@apple.com>
791
792         GC timer should intelligently choose between EdenCollections and FullCollections
793         https://bugs.webkit.org/show_bug.cgi?id=128261
794
795         Reviewed by Geoffrey Garen.
796
797         No new tests.
798
799         * platform/ios/WebSafeGCActivityCallbackIOS.h: Update WebSafeGCActivityCallback
800         appropriately for the introduction of another type of GCActivityCallback.
801
802 <<<<<<< .mine
803 2014-03-18  Mark Hahnenberg  <mhahnenberg@apple.com>
804
805         GC timer should intelligently choose between EdenCollections and FullCollections
806         https://bugs.webkit.org/show_bug.cgi?id=128261
807
808         Reviewed by Geoffrey Garen.
809
810         No new tests.
811
812         Updated WebSafeGCActivityCallbacks for both Eden and Full timers.
813
814         * platform/ios/WebSafeGCActivityCallbackIOS.h:
815
816 =======
817 2014-03-19  Antti Koivisto  <antti@apple.com>
818
819         Crash with long selector list
820         https://bugs.webkit.org/show_bug.cgi?id=123006
821
822         Reviewed by Andreas Kling.
823
824         Test: fast/css/long-selector-list-crash.html
825
826         * css/CSSSelectorList.cpp:
827         (WebCore::CSSSelectorList::CSSSelectorList):
828         (WebCore::CSSSelectorList::adoptSelectorVector):
829         (WebCore::CSSSelectorList::operator=):
830         * css/StyleRule.cpp:
831         (WebCore::StyleRule::create):
832
833             Add a bunch of asserts.
834
835         (WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
836         
837             This could produce a zero-length selector list.
838
839 2014-03-19  Andreas Kling  <akling@apple.com>
840
841         Rebaseline bindings tests.
842
843         * bindings/scripts/test/JS/*:
844
845 2014-03-04  Jer Noble  <jer.noble@apple.com>
846
847         [iOS][MediaControls] Reverse-pinching using the built-in controls should enter full screen
848         https://bugs.webkit.org/show_bug.cgi?id=129707
849
850         Reviewed by Eric Carlson.
851
852         The default controls on iOS should respond to a pinch gesture by entering fullscreen. Add a gesture
853         event listener, and enter full screen if the user does a quick (>2 velocity) reverse (>1.25 scale) pinch.
854
855         * Modules/mediacontrols/mediaControlsiOS.js:
856         (ControllerIOS.prototype.createBase):
857         (ControllerIOS.prototype.handlePlayButtonTouchEnd):
858         (ControllerIOS.prototype.handleBaseGestureStart):
859         (ControllerIOS.prototype.handleBaseGestureChange):
860         (ControllerIOS.prototype.handleBaseGestureEnd):
861
862 2014-03-19  Ryosuke Niwa  <rniwa@webkit.org>
863
864         REGRESSION(r156316): Scrollbar on a large document is broken
865         https://bugs.webkit.org/show_bug.cgi?id=130474
866         <rdar://problem/16371523>
867
868         Reviewed by Anders Carlsson.
869
870         The bug was caused by updateArrowPlacement() doing the work even though Scrollbar Overlay API is available.
871         Prior to r156316, this function exited early:
872         http://trac.webkit.org/browser/trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm?rev=156315#L147
873
874         Fixed the bug by deleting updateArrowPlacement() entirely.
875
876         * platform/mac/ScrollbarThemeMac.mm:
877         (WebCore::ScrollbarThemeMac::preferencesChanged):
878
879 2014-03-19  Jer Noble  <jer.noble@apple.com>
880
881         [Mac][EME] Query whether decoder support exists before creating a new MediaKeys object.
882         https://bugs.webkit.org/show_bug.cgi?id=130459
883
884         Reviewed by Eric Carlson.
885
886         * WebCore.exp.in: Export the new WCSI method.
887         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
888         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsKeySystem): Bail early if we have no decoder support.
889         * platform/mac/WebCoreSystemInterface.h: Provide a WCSI wrapper for WKSI.
890         * platform/mac/WebCoreSystemInterface.mm: Ditto.
891
892 2014-03-19  Eric Carlson  <eric.carlson@apple.com>
893
894         Make Remote Control commands testable
895         https://bugs.webkit.org/show_bug.cgi?id=130358
896
897         Reviewed by Jer Noble.
898
899         Test: media/video-remote-control-playpause.html
900
901         * html/HTMLMediaElement.cpp:
902         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Call session->clientWillPausePlayback.
903         (WebCore::HTMLMediaElement::didReceiveRemoteControlCommand): Log the command.
904
905         * platform/audio/MediaSession.cpp:
906         (WebCore::MediaSessionClient::mediaSessionTitle): Move from header file.
907         (WebCore::MediaSessionClient::mediaSessionDuration): Ditto.
908         (WebCore::MediaSessionClient::mediaSessionCurrentTime): Ditto.
909         * platform/audio/MediaSession.h:
910
911         * platform/audio/MediaSessionManager.cpp:
912         (WebCore::MediaSessionManager::MediaSessionManager): Get rid of m_activeSession.
913         (WebCore::MediaSessionManager::removeSession): No need to clear m_activeSession because 
914             we use the m_sessions vector.
915         (WebCore::MediaSessionManager::sessionWillBeginPlayback): setCurrentSession takes a 
916             MediaSession&.
917         (WebCore::MediaSessionManager::sessionWillEndPlayback): Keep m_sessions sorted so playing
918             sessions are before paused sessions.
919         (WebCore::MediaSessionManager::setCurrentSession): Move the session that is beginning to
920             play to the head of m_sessions.
921         (WebCore::MediaSessionManager::currentSession): Return m_sessions[0] or nullptr.
922         (WebCore::MediaSessionManager::didReceiveRemoteControlCommand):
923         * platform/audio/MediaSessionManager.h:
924
925         * platform/audio/ios/MediaSessionManagerIOS.mm: Include MediaPlayer.h.
926
927         * testing/Internals.cpp:
928         (WebCore::Internals::postRemoteControlCommand): New.
929         * testing/Internals.h:
930         * testing/Internals.idl:
931
932 2014-03-19  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
933
934         Improving webkitGetUserMedia error handling and error messages
935         https://bugs.webkit.org/show_bug.cgi?id=130452
936
937         Reviewed by Eric Carlson.
938
939         Checking if first argument of webkitGetUserMedia is a valid Dictionary. If not, throw an exception with a
940         clearer message of the error.
941
942         Test updated.
943
944         * Modules/mediastream/NavigatorMediaStream.idl:
945         * UseJSC.cmake:
946         * bindings/js/JSNavigatorCustom.cpp: Added.
947
948 2014-03-19  Andreas Kling  <akling@apple.com>
949
950         JSC bindings should use the passed-in global object for wrapper caching.
951         <https://webkit.org/b/130458>
952
953         Take a shorter path to the DOMWrapperWorld by using the passed-in
954         global object instead of getting the lexical global from ExecState.
955         Removed an old FIXME that no longer applies since JSObjects can
956         always find the right global object these days.
957
958         Reviewed by Geoff Garen.
959
960         * bindings/js/JSCSSRuleCustom.cpp:
961         (WebCore::toJS):
962         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
963         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
964         * bindings/js/JSCSSValueCustom.cpp:
965         (WebCore::toJS):
966         * bindings/js/JSDOMBinding.h:
967         (WebCore::createWrapper):
968         (WebCore::wrap):
969         (WebCore::getExistingWrapper):
970         (WebCore::createNewWrapper):
971         (WebCore::toJS):
972         * bindings/js/JSDOMWindowCustom.cpp:
973         (WebCore::JSDOMWindow::setTimeout):
974         (WebCore::JSDOMWindow::setInterval):
975         (WebCore::JSDOMWindow::addEventListener):
976         (WebCore::JSDOMWindow::removeEventListener):
977         * bindings/js/JSDocumentCustom.cpp:
978         (WebCore::JSDocument::location):
979         (WebCore::toJS):
980         * bindings/js/JSElementCustom.cpp:
981         (WebCore::toJSNewlyCreated):
982         * bindings/js/JSEventCustom.cpp:
983         (WebCore::toJS):
984         * bindings/js/JSHTMLCollectionCustom.cpp:
985         (WebCore::toJS):
986         * bindings/js/JSHTMLTemplateElementCustom.cpp:
987         (WebCore::JSHTMLTemplateElement::content):
988         * bindings/js/JSImageDataCustom.cpp:
989         (WebCore::toJS):
990         * bindings/js/JSNodeCustom.cpp:
991         (WebCore::createWrapperInline):
992         * bindings/js/JSNodeCustom.h:
993         (WebCore::toJS):
994         * bindings/js/JSSVGPathSegCustom.cpp:
995         (WebCore::toJS):
996         * bindings/js/JSStyleSheetCustom.cpp:
997         (WebCore::toJS):
998         * bindings/js/JSTextTrackCueCustom.cpp:
999         (WebCore::toJS):
1000         * bindings/js/JSTrackCustom.cpp:
1001         (WebCore::toJS):
1002         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
1003         (WebCore::JSWorkerGlobalScope::setTimeout):
1004         (WebCore::JSWorkerGlobalScope::setInterval):
1005         * bindings/scripts/CodeGeneratorJS.pm:
1006         (GenerateImplementation):
1007
1008 2014-03-19  Benjamin Poulain  <bpoulain@apple.com>
1009
1010         Page::setPageScaleFactor should not force the scroll view position when using delegatesScrolling()
1011         https://bugs.webkit.org/show_bug.cgi?id=130429
1012
1013         Reviewed by Simon Fraser.
1014
1015         When setting the same scale mutliple time (for example on load), Page was asking the top scrollview
1016         to scroll to the origin. This is bogus since the scroll view is driving Page::setDeviceScaleFactor,
1017         not the other way around.
1018
1019         Simon fixed the general case in http://trac.webkit.org/changeset/165652/trunk/Source/WebCore/page/Page.cpp
1020         but this branch was still scrolling content.
1021
1022         * page/Page.cpp:
1023         (WebCore::Page::setPageScaleFactor):
1024
1025 2014-03-19  Brady Eidson  <beidson@apple.com>
1026
1027         Filter out editable services from image menu for non-contenteditable images
1028         <rdar://problem/16319645> and https://bugs.webkit.org/show_bug.cgi?id=130437
1029
1030         Reviewed by Tim Horton.
1031
1032         * WebCore.exp.in:
1033
1034 2014-03-19  Dirk Schulze  <krit@webkit.org>
1035
1036         Implement method addPath for Path2D
1037         https://bugs.webkit.org/show_bug.cgi?id=130461
1038
1039         Reviewed by Dean Jackson.
1040
1041         Add support for the Path2D method addPath. The method allows
1042         to append and existing Path2D object to another one. It can be
1043         combined with a transformation matrix SVGMatrix.
1044
1045         Test: fast/canvas/canvas-path-addPath.html
1046
1047         * html/canvas/DOMPath.h: Add new method addPath().
1048         (WebCore::DOMPath::addPath):
1049         * html/canvas/DOMPath.idl:
1050         * platform/graphics/Path.h: Add support for appending paths.
1051         * platform/graphics/cairo/PathCairo.cpp:
1052         (WebCore::Path::addPath):
1053         * platform/graphics/cg/PathCG.cpp:
1054         (WebCore::Path::addPath):
1055         * platform/graphics/wince/PathWinCE.cpp:
1056         (WebCore::Path::addPath):
1057
1058 2014-03-19  Yongjun Zhang  <yongjun_zhang@apple.com>
1059
1060         [iOS] WebKit2 Quicklook.
1061         https://bugs.webkit.org/show_bug.cgi?id=130360
1062
1063         Reviewed by Tim Horton.
1064
1065         Since ResourceLoaders using WebKit2 network process don't have ResourceHandle any more, we
1066         need to make it possible to create QuickLookHandle from ResourceLoader.
1067
1068         * WebCore.exp.in: Make some QuickLookHandle methods visible from WebKit2.
1069         * loader/ResourceLoader.h: Add m_quickLookHandle data member to ResourceLoader.
1070         (WebCore::ResourceLoader::quickLookHandle):
1071         (WebCore::ResourceLoader::setQuickLookHandle):
1072         * platform/network/ios/QuickLook.h: Add a new method to create QuickLookHandle from ResourceLoader.
1073         * platform/network/ios/QuickLook.mm:
1074         (WebCore::QuickLookHandle::create):
1075
1076 2014-03-19  Brent Fulgham  <bfulgham@apple.com>
1077
1078         Fix cue rendering test and include support for left/right alignment
1079         https://bugs.webkit.org/show_bug.cgi?id=130406
1080
1081         Reviewed by Eric Carlson.
1082
1083         Merged from Blink (patch by vcarbune@chromium.org):
1084         https://chromium.googlesource.com/chromium/blink/+/e695703cb603421c741e59a557a7989113c13b94
1085         http://crbug.com/25155003
1086
1087         No new tests. Covered by media/track/track-cue-rendering-snap-to-lines-not-set.html.
1088
1089         * html/track/VTTCue.cpp:
1090         (WebCore::leftKeyword): Added.
1091         (WebCore::rightKeyword): Added.
1092         (WebCore::VTTCueBox::applyCSSProperties): Added.
1093         (WebCore::VTTCue::VTTCue):
1094         (WebCore::VTTCue::align): Handle left/right alignment.
1095         (WebCore::VTTCue::setAlign): Ditto.
1096         (WebCore::VTTCue::calculateDisplayParameters): Refactored and revised for left/right tokens.
1097         (WebCore::VTTCue::setCueSettings): Ditto.
1098         (WebCore::VTTCue::getCSSAlignment): Added.
1099         (WebCore::VTTCue::getCSSWritingMode): Added.
1100         * html/track/VTTCue.h:
1101
1102 2014-03-18  Anders Carlsson  <andersca@apple.com>
1103
1104         Add new functionality that will be required by the history item decoding
1105         https://bugs.webkit.org/show_bug.cgi?id=130433
1106
1107         Reviewed by Sam Weinig.
1108
1109         * platform/KeyedCoding.h:
1110         (WebCore::KeyedDecoder::decodeConditionalObject):
1111
1112 2014-03-19  Tim Horton  <timothy_horton@apple.com>
1113
1114         Fix the iOS build.
1115
1116         * html/BaseDateAndTimeInputType.cpp:
1117         (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
1118         Missing a StringView().
1119
1120 2014-03-19  Antti Koivisto  <antti@apple.com>
1121
1122         Tighten ElementRuleCollector::m_matchedRuleList typing
1123         https://bugs.webkit.org/show_bug.cgi?id=130446
1124
1125         Reviewed by Anders Carlsson.
1126
1127         StyleRuleBase -> StyleRule.
1128
1129         * css/ElementRuleCollector.cpp:
1130         (WebCore::ElementRuleCollector::matchedRuleList):
1131         * css/ElementRuleCollector.h:
1132         * css/StyleResolver.cpp:
1133         (WebCore::StyleResolver::styleRulesForElement):
1134         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1135         * css/StyleResolver.h:
1136         * editing/EditingStyle.cpp:
1137         (WebCore::styleFromMatchedRulesForElement):
1138         * inspector/InspectorCSSAgent.cpp:
1139         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
1140         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
1141         * inspector/InspectorCSSAgent.h:
1142         * page/DOMWindow.cpp:
1143         (WebCore::DOMWindow::getMatchedCSSRules):
1144
1145 2014-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
1146
1147         [CSSRegions] An unsplittable box is always displayed in a single region
1148         https://bugs.webkit.org/show_bug.cgi?id=130451
1149
1150         Reviewed by Andrei Bucur.
1151
1152         Add an ASSERT stating that an unsplittable box region range always contains 1 region.
1153         No new functionality, no new tests.
1154
1155         * rendering/RenderFlowThread.cpp:
1156         (WebCore::RenderFlowThread::getRegionRangeForBox):
1157
1158 2014-03-19  Zalan Bujtas  <zalan@apple.com>
1159
1160         Subpixel rendering: Transform origin is miscalculated when RenderLayer's
1161         offsetfromRenderer has device pixel fraction value.
1162         https://bugs.webkit.org/show_bug.cgi?id=129859
1163
1164         Reviewed by Simon Fraser.
1165
1166         We need to calculate the transformed origin using the painting coordinates to produce
1167         pixel precise result.
1168
1169         * rendering/RenderLayerBacking.cpp:
1170         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1171         (WebCore::RenderLayerBacking::computeTransformOriginForPainting):
1172         * rendering/RenderLayerBacking.h:
1173
1174 2014-03-19  Claudio Saavedra  <csaavedra@igalia.com>
1175
1176         [GStreamer] Clean timeout source ids
1177         https://bugs.webkit.org/show_bug.cgi?id=130450
1178
1179         Reviewed by Philippe Normand.
1180
1181         Sources IDs need to be cleaned up if the callback removes the
1182         source, otherwise we'll be attempting to remove an empty source at
1183         some point.
1184
1185         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
1186         (webKitMediaVideoSrcStart): Clean the source id.
1187         (webKitMediaAudioSrcStart): Ditto.
1188         (webKitMediaVideoSrcSeekMainCb): Ditto.
1189         (webKitMediaAudioSrcSeekMainCb): Ditto.
1190
1191 2014-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
1192
1193         [CSSRegions] Compute region ranges for children of inline blocks
1194         https://bugs.webkit.org/show_bug.cgi?id=130392
1195
1196         Reviewed by Andrei Bucur.
1197
1198         Extend the region ranges computation for children of inline blocks.
1199         When we cannot retrieve the region range for a box using cached information,
1200         either from region range map or from the region cached on the RootInlineBox,
1201         try to find the top most unsplittable box up to the flow thread boundary.
1202         If we find such unsplittable box and the box has a region range, then return
1203         this range.
1204
1205         Before this patch, method getRegionRangeForBox did not return true/false
1206         if it was able to retrieve the range and the caller checked the returned
1207         region values. I modified the method to return true if we were able to compute
1208         the range.
1209
1210         Tests: fast/regions/inline-block-inline-children-flowed-in-regions.html
1211                fast/regions/inline-blocks-dyn-enlarged-regions.html
1212                fast/regions/inline-blocks-dyn-shrunk-regions.html
1213                fast/regions/inline-blocks-in-two-regions.html
1214
1215         * inspector/InspectorOverlay.cpp:
1216         (WebCore::buildObjectForRendererFragments):
1217         * rendering/RenderBlock.cpp:
1218         (WebCore::RenderBlock::updateRegionRangeForBoxChild):
1219         * rendering/RenderBlockFlow.cpp:
1220         (WebCore::RenderBlockFlow::hasNextPage):
1221         * rendering/RenderBox.cpp:
1222         (WebCore::RenderBox::clampToStartAndEndRegions):
1223         (WebCore::RenderBox::borderBoxRectInRegion):
1224         (WebCore::RenderBox::computeRectForRepaint):
1225         (WebCore::RenderBox::layoutOverflowRectForPropagation):
1226         * rendering/RenderBoxModelObject.cpp:
1227         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
1228         * rendering/RenderFlowThread.cpp:
1229         (WebCore::RenderFlowThread::regionForCompositedLayer):
1230         (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
1231         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
1232         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
1233         (WebCore::RenderFlowThread::getRegionRangeForBoxFromCachedInfo):
1234         (WebCore::RenderFlowThread::getRegionRangeForBox):
1235         (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
1236         (WebCore::RenderFlowThread::objectInFlowRegion):
1237         (WebCore::RenderFlowThread::addRegionsVisualEffectOverflow):
1238         (WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
1239         (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
1240         (WebCore::RenderFlowThread::addRegionsLayoutOverflow):
1241         (WebCore::RenderFlowThread::addRegionsVisualOverflow):
1242         (WebCore::RenderFlowThread::clearRegionsOverflow):
1243         * rendering/RenderFlowThread.h:
1244         * rendering/RenderNamedFlowThread.cpp:
1245         (WebCore::RenderNamedFlowThread::fragmentFromAbsolutePointAndBox):
1246         * rendering/RenderObject.cpp:
1247         (WebCore::RenderObject::locateFlowThreadContainingBlock):
1248         Make sure we return the right render flow thread in the case of
1249         region-based multicolumn inside named flows.
1250         * rendering/RenderRegion.cpp:
1251         (WebCore::RenderRegion::rectFlowPortionForBox):
1252
1253 2014-03-19  Krzysztof Wolanski  <k.wolanski@samsung.com>
1254
1255         [EFL] vibration/cancelVibration-during-pattern-vibrating.html is failing after r165598
1256         https://bugs.webkit.org/show_bug.cgi?id=130333
1257
1258         Reviewed by Gyuyoung Kim.
1259
1260         Added setting m_state when calling Vibration::vibrate. It was missing after
1261         refactoring Vibration (r165598).
1262
1263         * Modules/vibration/Vibration.cpp:
1264         (WebCore::Vibration::vibrate):
1265
1266 2014-03-19  Sam Weinig  <sam@webkit.org>
1267
1268         Rewrite WebHTMLConverter::_colorForNode in C++
1269         https://bugs.webkit.org/show_bug.cgi?id=130443
1270
1271         Reviewed by Andreas Kling.
1272
1273         * platform/mac/HTMLConverter.mm:
1274         (_platformColor):
1275         Rename from _colorForRGBColor and simplify to just do the platform conversion.
1276
1277         (normalizedColor):
1278         Extract normalization out of _colorForRGBColor and remove cases that are impossible to hit
1279         due to us only ever using the device color space.
1280
1281         (HTMLConverterCaches::colorPropertyValueForNode):
1282         (-[WebHTMLConverter _colorForNode:property:]):
1283         Convert to C++.
1284
1285         (-[WebHTMLConverter dealloc]):
1286         (-[WebHTMLConverter init]):
1287         Remove caches, we already cache in ColorMac.
1288
1289 2014-03-18  Andrei Bucur  <abucur@adobe.com>
1290
1291         [CSS Regions] Strange layout for content with region breaks
1292         https://bugs.webkit.org/show_bug.cgi?id=121318
1293
1294         Reviewed by Mihnea Ovidenie.
1295
1296         When break-inside: avoid is used on an element, the implementation tries to
1297         force it inside a single fragmentation container even though the descendants
1298         of the element specify forced breaks. This leads to unexpected results and
1299         unstable layout.
1300
1301         The change extends the definition of unsplittable elements for flow threads
1302         using the same conditions found inside RenderBlockFlow::adjustForUnsplittableChild.
1303         This change forces elements that require break avoidance to have a single region
1304         in the region range. As a result, forced breaks have no effect inside them.
1305
1306         It should be noted this may not the behavior defined by the CSS3 Fragmentation spec.
1307         From my understanding of the text, forced breaks override any avoidance specified
1308         by ancestor elements. However, implementing this is a larger change that will require
1309         a fundamental new approach in handling break avoidance. This patch just brings
1310         consistency to the API.
1311
1312         Test: fast/regions/forced-break-inside-avoid-break.html
1313
1314         * rendering/RenderBlock.cpp:
1315         (WebCore::RenderBlock::childBoxIsUnsplittableForFragmentation):
1316         (WebCore::RenderBlock::computeRegionRangeForBoxChild):
1317         (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
1318         * rendering/RenderBlock.h:
1319         * rendering/RenderBlockFlow.cpp:
1320         (WebCore::RenderBlockFlow::adjustForUnsplittableChild): Move the avoidance conditions inside
1321         a helper method RenderBlock::childBoxIsUnsplittableForFragmentation.
1322
1323 2014-03-18  Samuel White  <samuel_white@apple.com>
1324
1325         AX: Not able to use arrow keys to read text with VoiceOver before selection is set someplace (anyplace).
1326         https://bugs.webkit.org/show_bug.cgi?id=130250
1327
1328         Reviewed by Chris Fleizach.
1329
1330         If initial selection isn't set when we handle selection movement for accessibility, we need to set it. If we don't, using arrow
1331         keys to read text with VoiceOver doesn't work as expected. Things will only start working after the user holds shift and arrows
1332         around to select any arbitrary thing to force selection to get set. This logic handles that special case more gracefully.
1333
1334         Test: platform/mac/accessibility/selection-initial.html
1335
1336         * page/EventHandler.cpp:
1337         (WebCore::handleKeyboardSelectionMovement):
1338         (WebCore::EventHandler::handleKeyboardSelectionMovementForAccessibility):
1339         * testing/Internals.cpp:
1340         (WebCore::Internals::resetToConsistentState):
1341
1342 2014-03-18  Brent Fulgham  <bfulgham@apple.com>
1343
1344         TextTrackRegion Not Implemented
1345         https://bugs.webkit.org/show_bug.cgi?id=116546
1346
1347         Reviewed by Eric Carlson.
1348
1349         Merged from Blink (patch by vcarbune@chromium.org):
1350         https://chromium.googlesource.com/chromium/blink/+/4940f89a087fea5b5ea628e98d0b355d398a9eea
1351         http://crbug.com/25798003
1352
1353         Tests: media/track/regions-webvtt/text-track-region-display.html
1354                media/track/regions-webvtt/text-track-region-dom-layout.html
1355
1356         * html/HTMLMediaElement.cpp:
1357         (WebCore::HTMLMediaElement::parseAttribute):
1358         * html/track/LoadableTextTrack.cpp:
1359         (WebCore::LoadableTextTrack::newRegionsAvailable):
1360         * html/track/TextTrack.cpp:
1361         * html/track/TextTrack.h:
1362         * html/track/TextTrackRegion.cpp:
1363         (WebCore::TextTrackRegion::TextTrackRegion):
1364         (WebCore::TextTrackRegion::appendTextTrackCueBox):
1365         * html/track/TextTrackRegion.h:
1366         * html/track/VTTCue.cpp:
1367         (WebCore::VTTCue::VTTCue):
1368         (WebCore::VTTCue::notifyRegionWhenRemovingDisplayTree):
1369         (WebCore::VTTCue::removeDisplayTree):
1370         * html/track/VTTCue.h:
1371         * html/track/WebVTTParser.cpp:
1372         (WebCore::WebVTTParser::parseBytes):
1373         (WebCore::WebVTTParser::collectMetadataHeader):
1374         * html/track/WebVTTParser.h:
1375
1376 2014-03-18  Andreas Kling  <akling@apple.com>
1377
1378         Share MemoryPressureHandler::releaseMemory() between platforms.
1379         <https://webkit.org/b/130416>
1380
1381         Move the code that scours WebKit for things we can free up right now
1382         to the common part of MemoryPressureHandler. This will enable other
1383         platforms to do the same thing under pressure.
1384
1385         There's now also a platformReleaseMemory() where platform-specific
1386         pressure relief stuff can go.
1387
1388         Reviewed by Antti Koivisto.
1389
1390         * platform/MemoryPressureHandler.cpp:
1391         (WebCore::MemoryPressureHandler::releaseMemory):
1392         (WebCore::MemoryPressureHandler::platformReleaseMemory):
1393         * platform/MemoryPressureHandler.h:
1394         * platform/mac/MemoryPressureHandlerMac.mm:
1395         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
1396         (WebCore::MemoryPressureHandler::platformReleaseMemory):
1397
1398 2014-03-18  Dean Jackson  <dino@apple.com>
1399
1400         [WebGL] Destroy EAGLContext's backing store
1401         https://bugs.webkit.org/show_bug.cgi?id=130439
1402         <rdar://problem/16295217>
1403
1404         Reviewed by Tim Horton.
1405
1406         When a GraphicsContext3D is being destroyed, we should
1407         also remove any EAGLContext backing store.
1408
1409         * platform/graphics/mac/GraphicsContext3DMac.mm:
1410         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1411
1412 2014-03-18  Tim Horton  <timothy_horton@apple.com>
1413
1414         [iOS][WebKit2] Mark layer contents as being opaque if they are
1415         https://bugs.webkit.org/show_bug.cgi?id=130427
1416         <rdar://problem/15540434>
1417
1418         Reviewed by Simon Fraser.
1419
1420         * platform/graphics/GraphicsLayerClient.h:
1421         (WebCore::GraphicsLayerClient::paintsOpaquelyAtNonIntegralScales):
1422         * platform/graphics/ca/GraphicsLayerCA.cpp:
1423         (WebCore::GraphicsLayerCA::updateContentsOpaque):
1424         * rendering/RenderLayerBacking.cpp:
1425         (WebCore::RenderLayerBacking::paintsOpaquelyAtNonIntegralScales):
1426         * rendering/RenderLayerBacking.h:
1427         r159463 stopped us from setting layers opaque if they were being painted
1428         at non-integral scale. This makes sense for compositing layers, which
1429         are painted by arbitrary elements, but the main frame's RenderView
1430         will always paint its entire contents. To restore the opaque contents
1431         optimization to the main frame's tiles, don't de-opaquify layers
1432         belonging to the main frame's RenderView.
1433
1434 2014-03-18  Jeffrey Pfau  <jpfau@apple.com>
1435
1436         Unify <media> element callback registration and unregistration
1437         https://bugs.webkit.org/show_bug.cgi?id=130417
1438
1439         Reviewed by Eric Carlson.
1440
1441         * html/HTMLMediaElement.cpp:
1442         (WebCore::HTMLMediaElement::HTMLMediaElement):
1443         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1444         (WebCore::HTMLMediaElement::registerWithDocument):
1445         (WebCore::HTMLMediaElement::unregisterWithDocument):
1446         (WebCore::HTMLMediaElement::didMoveToNewDocument):
1447         * html/HTMLMediaElement.h:
1448
1449 2014-03-18  Jer Noble  <jer.noble@apple.com>
1450
1451         MediaDocument should set a max-width on its <video> element.
1452         https://bugs.webkit.org/show_bug.cgi?id=114691
1453
1454         Reviewed by Eric Carlson.
1455
1456         Set a style attribute containing max-width:100% and max-height:100% so that large videos
1457         are entirely visible within the browser window bounds.
1458
1459         * html/MediaDocument.cpp:
1460         (WebCore::MediaDocumentParser::createDocumentStructure):
1461
1462 2014-03-18  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1463
1464         [WebRTC] Fix layering violation in RTCStatsRequest
1465         https://bugs.webkit.org/show_bug.cgi?id=130426
1466
1467         Reviewed by Eric Carlson.
1468
1469         RTCStatsRequest::track() should return a MediaStreamTrackPrivate*.
1470
1471         No new tests needed.
1472
1473         * Modules/mediastream/RTCPeerConnection.cpp:
1474         (WebCore::RTCPeerConnection::getStats):
1475         * Modules/mediastream/RTCStatsRequestImpl.cpp:
1476         (WebCore::RTCStatsRequestImpl::create):
1477         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
1478         (WebCore::RTCStatsRequestImpl::track):
1479         * Modules/mediastream/RTCStatsRequestImpl.h:
1480         * platform/mediastream/RTCStatsRequest.h:
1481
1482 2014-03-18  Anders Carlsson  <andersca@apple.com>
1483
1484         Fix a trivial FIXME
1485         https://bugs.webkit.org/show_bug.cgi?id=130432
1486
1487         Reviewed by Tim Horton.
1488
1489         * history/HistoryItem.cpp:
1490         (WebCore::HistoryItem::encodeBackForwardTreeNode):
1491
1492 2014-03-18  Anders Carlsson  <andersca@apple.com>
1493
1494         Begin cleaning up KeyedDecoder and KeyedEncoder
1495         https://bugs.webkit.org/show_bug.cgi?id=130431
1496
1497         Reviewed by Tim Horton.
1498
1499         Rename KeyedDecoder::decodeVerifiedEnum to decodeEnum to match the encode function,
1500         and sort the decode functions to be in the same logical order as the encode functions.
1501
1502         * Modules/indexeddb/IDBKeyData.cpp:
1503         (WebCore::IDBKeyData::decode):
1504         * Modules/indexeddb/IDBKeyPath.cpp:
1505         (WebCore::IDBKeyPath::decode):
1506         * platform/KeyedCoding.h:
1507         (WebCore::KeyedDecoder::decodeEnum):
1508
1509 2014-03-18  Darin Adler  <darin@apple.com>
1510
1511         Reduce use of deprecatedCharacters in WebCore
1512         https://bugs.webkit.org/show_bug.cgi?id=130318
1513
1514         Reviewed by Andreas Kling.
1515
1516         * Modules/indexeddb/IDBKeyPath.cpp:
1517         (WebCore::IDBKeyPathLexer::IDBKeyPathLexer): Use StringView for parsing.
1518         (WebCore::IDBKeyPathLexer::lex): Ditto.
1519         (WebCore::IDBKeyPathLexer::lexIdentifier): Ditto.
1520
1521         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
1522         (WebCore::IDBLevelDBCoding::encodeString): Index directly into string instead of
1523         using deprecatedCharacters.
1524
1525         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1526         (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol): Use
1527         StringView::getCharactersWithUpconvert.
1528         (WebCore::ThreadableWebSocketChannelClientWrapper::setExtensions): Ditto.
1529
1530         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1531         (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
1532         Use operator NSString * instead of explicitly creating an NSString.
1533
1534         * bindings/js/SerializedScriptValue.cpp:
1535         (WebCore::writeLittleEndianUInt16): Added.
1536         (WebCore::CloneSerializer::serialize): Added a separate code path for 8-bit strings.
1537         (WebCore::CloneSerializer::write): Ditto.
1538
1539         * bindings/objc/WebScriptObject.mm:
1540         (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
1541         Use operator NSString * instead of explicitly creating an NSString.
1542
1543         * dom/Document.cpp:
1544         (WebCore::Document::parseQualifiedName): Index directly into string instead of
1545         using deprecatedCharacters.
1546         * editing/CompositeEditCommand.cpp:
1547         (WebCore::containsOnlyWhitespace): Ditto.
1548         * editing/SmartReplace.cpp:
1549         (WebCore::addAllCodePoints): Ditto.
1550         (WebCore::getSmartSet): Use StringView::upconvertedCharacters.
1551
1552         * editing/TextIterator.cpp:
1553         (WebCore::foldQuoteMarksAndSoftHyphens): Changed to return a value so it can be
1554         used in initialization rather than assignment.
1555         (WebCore::SearchBuffer::SearchBuffer): Use StringView::upconvertedCharacters.
1556
1557         * editing/TypingCommand.cpp:
1558         (WebCore::TypingCommand::insertText): Index directly into string instead of using
1559         deprecatedCharacters.
1560         * editing/VisiblePosition.cpp:
1561         (WebCore::VisiblePosition::characterAfter): Ditto.
1562         * editing/VisibleUnits.cpp:
1563         (WebCore::startOfParagraph): Ditto.
1564         (WebCore::endOfParagraph): Ditto.
1565
1566         * fileapi/WebKitBlobBuilder.cpp:
1567         (WebCore::BlobBuilder::append): Pass a StringView to TextEncoding::encode.
1568
1569         * html/BaseDateAndTimeInputType.cpp:
1570         (WebCore::BaseDateAndTimeInputType::parseToDateComponents): Use
1571         StringView::upconvertedCharacters.
1572
1573         * html/FormDataList.cpp:
1574         (WebCore::FormDataList::appendString): Pass a StringView to TextEncoding::encode.
1575
1576         * html/canvas/CanvasRenderingContext2D.cpp:
1577         (WebCore::normalizeSpaces): Use StringView::getCharactersWithUpconvert.
1578
1579         * html/parser/HTMLParserIdioms.cpp:
1580         (WebCore::stripLeadingAndTrailingHTMLSpaces): Use characters16 for a code path
1581         that already handled 8-bit characters separately.
1582         (WebCore::parseHTMLNonNegativeInteger): Ditto.
1583         (WebCore::parseDescriptors): Added an 8-bit code path.
1584
1585         * inspector/InspectorStyleSheet.cpp:
1586         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Index directly into
1587         string instead of using deprecatedCharacters.
1588         * inspector/InspectorStyleTextEditor.cpp:
1589         (WebCore::InspectorStyleTextEditor::insertProperty): Ditto.
1590         (WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.
1591
1592         * page/ContentSecurityPolicy.cpp:
1593         (WebCore::isSourceListNone): Use StringView::upconvertedCharacters.
1594         (WebCore::CSPSourceList::parse): Ditto.
1595         (WebCore::NonceDirective::parse): Ditto.
1596         (WebCore::MediaListDirective::parse): Ditto.
1597         (WebCore::CSPDirectiveList::parse): Ditto.
1598         (WebCore::CSPDirectiveList::parseReportURI): Ditto.
1599         (WebCore::CSPDirectiveList::parseReflectedXSS): Ditto.
1600         (WebCore::ContentSecurityPolicy::didReceiveHeader): Ditto.
1601
1602         * page/PageSerializer.cpp:
1603         (WebCore::PageSerializer::serializeFrame): Pass a StringView into
1604         TextEncoding::encode.
1605         (WebCore::PageSerializer::serializeCSSStyleSheet): Ditto.
1606
1607         * platform/Length.cpp:
1608         (WebCore::countCharacter): Index directly into string instead of using
1609         deprecatedCharacters. Also changed to take a StringImpl&.
1610         (WebCore::newCoordsArray): Ditto. Call countCharacter the new way, and
1611         use StringView::upconvertedCharacters.
1612         (WebCore::newLengthArray): Ditto.
1613
1614         * platform/LinkHash.cpp:
1615         (WebCore::visitedLinkHash): Use characters16 for the 16-bit path.
1616         Also removed unused visitedURL function.
1617         * platform/LinkHash.h: Removed unused visitedURL function.
1618
1619         * platform/SharedBuffer.cpp:
1620         (WebCore::utf8Buffer): Added an 8-bit code path.
1621         * platform/URL.cpp:
1622         (WebCore::URL::port): Ditto.
1623         (WebCore::encodeRelativeString): Use StringView to call TextEncoding::encode.
1624
1625         * platform/graphics/Color.cpp:
1626         (WebCore::Color::parseHexColor): Use characters16 in the 16-bit path.
1627         (WebCore::Color::Color): Ditto.
1628
1629         * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
1630         (WebCore::harfBuzzGetGlyph): Use StringView to call TextEncoding::encode.
1631
1632         * platform/graphics/StringTruncator.cpp:
1633         (WebCore::centerTruncateToBuffer): Use StringView::getCharactersWithUpconvert.
1634         (WebCore::rightTruncateToBuffer): Ditto.
1635         (WebCore::rightClipToCharacterBuffer): Ditto.
1636         (WebCore::rightClipToWordBuffer): Ditto.
1637         (WebCore::leftTruncateToBuffer): Ditto.
1638         (WebCore::truncateString): Ditto.
1639
1640         * platform/graphics/TextRun.h:
1641         (WebCore::TextRun::TextRun): Use characters16 in the 16-bit code path.
1642
1643         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1644         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
1645         Use StringView::upconvertedCharacters.
1646
1647         * platform/network/DataURL.cpp:
1648         (WebCore::handleDataURL): Use StringView to call TextEncoding::encode.
1649         * platform/network/FormDataBuilder.cpp:
1650         (WebCore::FormDataBuilder::addFilenameToMultiPartHeader): Ditto.
1651
1652         * platform/sql/SQLiteStatement.cpp:
1653         (WebCore::SQLiteStatement::bindBlob): Use StringView::upconvertedCharacters.
1654         (WebCore::SQLiteStatement::bindText): Ditto.
1655
1656         * platform/text/DecodeEscapeSequences.h:
1657         (WebCore::Unicode16BitEscapeSequence::decodeRun): Changed to take a StringView.
1658         (WebCore::URLEscapeSequence::decodeRun): Ditto.
1659         (WebCore::decodeEscapeSequences): Pass StringView to decodeRun.
1660
1661         * platform/text/Hyphenation.cpp:
1662         (WebCore::lastHyphenLocation): Take a StringView.
1663         * platform/text/Hyphenation.h: Make lastHyphenLocation take a StringView.
1664
1665         * platform/text/TextBreakIterator.cpp:
1666         (WebCore::initializeIteratorWithRules): Use StringView::upconvertedCharacters.
1667
1668         * platform/text/TextEncoding.cpp:
1669         (WebCore::TextEncoding::encode): Use StringView::upconvertedCharacters.
1670         Change argument type to StringView.
1671         * platform/text/TextEncoding.h: Ditto.
1672
1673         * platform/text/TextEncodingRegistry.cpp:
1674         (WebCore::atomicCanonicalTextEncodingName): Use characters16 for the 16-bit path.
1675
1676         * platform/text/cf/HyphenationCF.cpp:
1677         (WebCore::lastHyphenLocation): Use StringView::text.createCFStringWithoutCopying.
1678         Change argument type to StringView.
1679
1680         * rendering/RenderBlock.cpp:
1681         (WebCore::RenderBlock::constructTextRun): Use characters16 for the 16-bit path.
1682
1683         * rendering/RenderCombineText.cpp:
1684         (WebCore::RenderCombineText::width): Removed check for null characters pointer,
1685         since the pointer will never be null, and even if it was there would be no need
1686         for an early exit.
1687
1688         * rendering/RenderText.cpp:
1689         (WebCore::maxWordFragmentWidth): Take a StringView.
1690         (WebCore::RenderText::computePreferredLogicalWidths): Pass in a StringView.
1691         * rendering/line/BreakingContextInlineHeaders.h:
1692         (WebCore::tryHyphenating): Ditto.
1693
1694         * rendering/svg/SVGTextLayoutEngine.cpp:
1695         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): Use
1696         StringView::upconvertedCharacters.
1697
1698         * rendering/svg/SVGTextMetrics.cpp:
1699         (WebCore::SVGTextMetrics::SVGTextMetrics): Use String::substring.
1700
1701         * svg/SVGAngle.cpp:
1702         (WebCore::SVGAngle::setValueAsString): Use StringView::upconvertedCharacters.
1703         * svg/SVGAnimateMotionElement.cpp:
1704         (WebCore::parsePoint): Ditto.
1705         * svg/SVGAnimationElement.cpp:
1706         (WebCore::parseKeySplines): Ditto.
1707         * svg/SVGFitToViewBox.cpp:
1708         (WebCore::SVGFitToViewBox::parseViewBox): Ditto.
1709
1710         * svg/SVGFontData.cpp:
1711         (WebCore::SVGFontData::applySVGGlyphSelection): Pass StringView to
1712         createStringWIthMirroredCharacters.
1713         (WebCore::createStringWithMirroredCharacters): Changed to use StringView and
1714         use indexing into that instead of a characters pointer.
1715
1716         * svg/SVGFontData.h: Removed createStringWithMirroredCharacters member function,
1717         since it has nothing to do with the SVGFontData object. Now it's just a private
1718         helper function in the SVGFontData.cpp source file.
1719
1720         * svg/SVGFontElement.cpp:
1721         (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Index into the string
1722         instead of using deprecatedCharacters.
1723
1724         * svg/SVGGlyphMap.h:
1725         (WebCore::SVGGlyphMap::addGlyph): Use StringView::upconvertedCharacters.
1726         (WebCore::SVGGlyphMap::collectGlyphsForString): Ditto.
1727         * svg/SVGGlyphRefElement.cpp:
1728         (WebCore::SVGGlyphRefElement::parseAttribute): Ditto.
1729         * svg/SVGLength.cpp:
1730         (WebCore::SVGLength::setValueAsString): Ditto.
1731         * svg/SVGLengthList.cpp:
1732         (WebCore::SVGLengthList::parse): Ditto.
1733         * svg/SVGNumberList.cpp:
1734         (WebCore::SVGNumberList::parse): Ditto.
1735         * svg/SVGParserUtilities.cpp:
1736         (WebCore::parseNumberFromString): Ditto.
1737         (WebCore::parseNumberOptionalNumber): Ditto.
1738         (WebCore::parseRect): Ditto.
1739         (WebCore::pointsListFromSVGData): Ditto.
1740         (WebCore::parseGlyphName): Ditto.
1741         (WebCore::parseKerningUnicodeString): Ditto.
1742         (WebCore::parseDelimitedString): Ditto.
1743         * svg/SVGPreserveAspectRatio.cpp:
1744         (WebCore::SVGPreserveAspectRatio::parse): Ditto.
1745         * svg/SVGStringList.cpp:
1746         (WebCore::SVGStringList::parse): Ditto.
1747         * svg/SVGTransformList.cpp:
1748         (WebCore::SVGTransformList::parse): Ditto.
1749         * svg/SVGTransformable.cpp:
1750         (WebCore::SVGTransformable::parseTransformType): Ditto.
1751         * svg/SVGViewSpec.cpp:
1752         (WebCore::SVGViewSpec::parseViewSpec): Ditto.
1753         * svg/SVGZoomAndPan.h:
1754         (WebCore::SVGZoomAndPan::parseAttribute): Ditto.
1755
1756         * xml/XMLHttpRequest.cpp:
1757         (WebCore::XMLHttpRequest::send): Pass a StringView to TextEncoding::encode.
1758
1759         * xml/XSLStyleSheetLibxslt.cpp:
1760         (WebCore::XSLStyleSheet::parseString): Use StringView::upconvertedCharacters.
1761
1762 2014-03-18  Bem Jones-Bey  <bjonesbe@adobe.com>
1763
1764         LayoutBox is a terrible name
1765         https://bugs.webkit.org/show_bug.cgi?id=130351
1766
1767         Reviewed by Simon Fraser.
1768
1769         Rename LayoutBox to CSSBoxType. Also rename the functions and methods
1770         that mention "LayoutBox" to something that makes sense for each
1771         specific situation.
1772
1773         No new tests, no behavior change.
1774
1775         * css/BasicShapeFunctions.cpp:
1776         (WebCore::valueForBasicShape):
1777         (WebCore::basicShapeForValue):
1778         * css/CSSBasicShapes.cpp:
1779         (WebCore::CSSBasicShapeCircle::cssText):
1780         (WebCore::CSSBasicShapeCircle::equals):
1781         (WebCore::CSSBasicShapeEllipse::cssText):
1782         (WebCore::CSSBasicShapeEllipse::equals):
1783         (WebCore::CSSBasicShapePolygon::cssText):
1784         (WebCore::CSSBasicShapePolygon::equals):
1785         (WebCore::CSSBasicShapeInset::cssText):
1786         * css/CSSBasicShapes.h:
1787         (WebCore::CSSBasicShape::referenceBox):
1788         (WebCore::CSSBasicShape::setReferenceBox):
1789         * css/CSSComputedStyleDeclaration.cpp:
1790         (WebCore::shapePropertyValue):
1791         * css/CSSPrimitiveValueMappings.h:
1792         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1793         (WebCore::CSSPrimitiveValue::operator CSSBoxType):
1794         * css/DeprecatedStyleBuilder.cpp:
1795         (WebCore::ApplyPropertyClipPath::applyValue):
1796         (WebCore::ApplyPropertyShape::applyValue):
1797         * page/animation/CSSPropertyAnimation.cpp:
1798         (WebCore::blendFunc):
1799         * rendering/ClipPathOperation.h:
1800         (WebCore::ShapeClipPathOperation::setReferenceBox):
1801         (WebCore::ShapeClipPathOperation::referenceBox):
1802         (WebCore::BoxClipPathOperation::create):
1803         (WebCore::BoxClipPathOperation::referenceBox):
1804         (WebCore::BoxClipPathOperation::BoxClipPathOperation):
1805         * rendering/shapes/Shape.cpp:
1806         (WebCore::Shape::createBoxShape):
1807         * rendering/shapes/Shape.h:
1808         * rendering/shapes/ShapeInfo.cpp:
1809         (WebCore::ShapeInfo<RenderType>::computedShape):
1810         * rendering/shapes/ShapeInfo.h:
1811         * rendering/shapes/ShapeInsideInfo.h:
1812         * rendering/shapes/ShapeOutsideInfo.h:
1813         * rendering/style/BasicShapes.cpp:
1814         (WebCore::BasicShape::canBlend):
1815         * rendering/style/BasicShapes.h:
1816         (WebCore::BasicShape::referenceBox):
1817         (WebCore::BasicShape::setReferenceBox):
1818         (WebCore::BasicShape::BasicShape):
1819         * rendering/style/RenderStyleConstants.h:
1820         * rendering/style/ShapeValue.h:
1821         (WebCore::ShapeValue::createShapeValue):
1822         (WebCore::ShapeValue::createBoxShapeValue):
1823         (WebCore::ShapeValue::cssBox):
1824         (WebCore::ShapeValue::ShapeValue):
1825
1826 2014-03-18  Daniel Bates  <dabates@apple.com>
1827
1828         REGRESSION (r162334): RenderTableCol::styleDidChange uses out-of-date table information
1829         https://bugs.webkit.org/show_bug.cgi?id=129561
1830
1831         Reviewed by Antti Koivisto.
1832
1833         Test: fast/table/update-col-width-and-remove-table-cell-crash.html
1834
1835         Fixes an issue where a table column or table column group may query an out-
1836         of-date model of its associated table as part of its process to propagate
1837         style changes to affected table cells.
1838
1839         * rendering/RenderTableCol.cpp:
1840         (WebCore::RenderTableCol::styleDidChange): Ensure that all sections in the table
1841         are up-to-date before querying for a table cell.
1842         * rendering/RenderTableSection.cpp:
1843         (WebCore::RenderTableSection::recalcCells): Update comment to read well. In
1844         particular, remove the reference to RenderTableSection::fillRowsWithDefaultStartingAtPosition()
1845         as this function was removed in <http://trac.webkit.org/changeset/99919>.
1846         (WebCore::RenderTableSection::setNeedsCellRecalc): Clear the grid preemptively to
1847         to ensure that accessors cannot access stale data. We'll build the grid again
1848         in RenderTableSection::recalcCells().
1849         (WebCore::RenderTableSection::numColumns): Add ASSERT(!m_needsCellRecalc) to assert
1850         that the grid cells are up-to-date. That is, we don't need to calculate them again.
1851         * rendering/RenderTableSection.h: Add ASSERT(!m_needsCellRecalc) or call recalcCellsIfNeeded()
1852         before accessing the grid to ensure that it's up-to-date.
1853
1854 2014-03-18  Daniel Bates  <dabates@apple.com>
1855
1856         REGRESSION (r163560): ASSERTION FAILED: childrenInline() in WebCore::RenderSVGText::layout
1857         https://bugs.webkit.org/show_bug.cgi?id=130346
1858
1859         Reviewed by Andreas Kling.
1860
1861         Following <http://trac.webkit.org/changeset/163560>, SVG inline elements may be treated as block-
1862         level elements depending on their CSS styles (e.g. display: block). But such elements should always
1863         be treated as inline-level elements.
1864
1865         Partially revert <http://trac.webkit.org/changeset/164368> as it addressed a similar issue for
1866         <tspan> and <tref>. Instead we should implement RenderSVGInline::updateFromStyle() to ensure that
1867         RenderSVGInline and any derived classes (e.g. RenderSVGTSpan) are always treated as inline elements
1868         regardless of their CSS style because the SVG text layout code depends on this assumption as part
1869         of a performance optimization. We may want to revaluate the benefits of this optimization with respect
1870         to code clarity and ensuring the code is less error prone.
1871
1872         Test: svg/text/a-display-block.html
1873               svg/text/tref-display-inherit.html
1874
1875         * css/StyleResolver.cpp:
1876         (WebCore::StyleResolver::adjustRenderStyle): Revert changes from <http://trac.webkit.org/changeset/164368>.
1877         * rendering/RenderInline.h:
1878         * rendering/svg/RenderSVGInline.cpp:
1879         (WebCore::RenderSVGInline::updateFromStyle): Added; ensure that RenderSVGInline and any derived
1880         classes are treated as inline elements because the SVG text layout code depends on this assumption.
1881         * rendering/svg/RenderSVGInline.h:
1882
1883 2014-03-18  Hans Muller  <hmuller@adobe.com>
1884
1885         [CSS Shapes] shape-outside: ellipse(50% 50% at) causes crash
1886         https://bugs.webkit.org/show_bug.cgi?id=130366
1887
1888         Reviewed by Andreas Kling.
1889
1890         The BasicShape ellipse and circle functions now report a syntax error
1891         if the "at" keyword is not followed by a position.
1892
1893         The existing parsing tests have been updated to include this case.
1894
1895         * css/CSSParser.cpp:
1896         (WebCore::CSSParser::parseBasicShapeCircle):
1897         (WebCore::CSSParser::parseBasicShapeEllipse):
1898
1899 2014-03-18  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1900
1901         Removing MediaStreamVector typedef
1902         https://bugs.webkit.org/show_bug.cgi?id=130402
1903
1904         Reviewed by Eric Carlson.
1905
1906         * Modules/mediastream/MediaStream.h:
1907         * Modules/mediastream/RTCPeerConnection.cpp:
1908         (WebCore::RTCPeerConnection::getLocalStreams):
1909         (WebCore::RTCPeerConnection::getRemoteStreams):
1910         (WebCore::RTCPeerConnection::getStreamById):
1911         (WebCore::RTCPeerConnection::hasLocalStreamWithTrackId):
1912         * Modules/mediastream/RTCPeerConnection.h:
1913
1914 >>>>>>> .r165925
1915 2014-03-18  Commit Queue  <commit-queue@webkit.org>
1916
1917         Unreviewed, rolling out r165815.
1918         https://bugs.webkit.org/show_bug.cgi?id=130410
1919
1920         Broke many VTT tests (Requested by bfulgham on #webkit).
1921
1922         Reverted changeset:
1923
1924         "TextTrackRegion Not Implemented"
1925         https://bugs.webkit.org/show_bug.cgi?id=116546
1926         http://trac.webkit.org/changeset/165815
1927
1928 2014-03-18  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>
1929
1930         Bad cast with toRenderBox in WebCore::RenderView::repaintViewRectangle
1931         https://bugs.webkit.org/show_bug.cgi?id=129104
1932
1933         Reviewed by Simon Fraser.
1934
1935         We should not cast the renderer of a RenderView's owner to RenderBox
1936         unless we are sure it is one.
1937
1938         Test: plugins/crash-invalid-data-reference.html
1939
1940         * rendering/RenderView.cpp:
1941         (WebCore::RenderView::repaintViewRectangle):
1942
1943 2014-03-18  Andreas Kling  <akling@apple.com>
1944
1945         Micro-optimize element descendant iterator.
1946         <https://webkit.org/b/130384>
1947
1948         Add a slightly more efficient ElementDescendantIterator that keeps a stack
1949         of relevant ancestor siblings instead of walking up the parent chain every
1950         time we run out of children.
1951
1952         Reviewed by Antti Koivisto.
1953
1954         * WebCore.xcodeproj/project.pbxproj:
1955         * dom/ElementDescendantIterator.h: Added.
1956         (WebCore::ElementDescendantIterator::ElementDescendantIterator):
1957         (WebCore::ElementDescendantIterator::operator++):
1958         (WebCore::ElementDescendantConstIterator::ElementDescendantConstIterator):
1959         (WebCore::ElementDescendantConstIterator::operator++):
1960         (WebCore::ElementDescendantIteratorAdapter::ElementDescendantIteratorAdapter):
1961         (WebCore::ElementDescendantIteratorAdapter::begin):
1962         (WebCore::ElementDescendantIteratorAdapter::end):
1963         (WebCore::ElementDescendantConstIteratorAdapter::ElementDescendantConstIteratorAdapter):
1964         (WebCore::ElementDescendantConstIteratorAdapter::begin):
1965         (WebCore::ElementDescendantConstIteratorAdapter::end):
1966         (WebCore::elementDescendants):
1967         * dom/ElementIterator.h:
1968         * dom/SelectorQuery.cpp:
1969         (WebCore::elementsForLocalName):
1970         (WebCore::anyElement):
1971         (WebCore::SelectorDataList::executeSingleTagNameSelectorData):
1972         (WebCore::SelectorDataList::executeSingleClassNameSelectorData):
1973         (WebCore::SelectorDataList::executeSingleSelectorData):
1974         (WebCore::SelectorDataList::executeSingleMultiSelectorData):
1975         (WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker):
1976
1977 2014-03-18  Antti Koivisto  <antti@apple.com>
1978
1979         Mutating rules returned by getMatchedCSSRules can result in crash
1980         https://bugs.webkit.org/show_bug.cgi?id=130209
1981
1982         Reviewed by Andreas Kling.
1983         
1984         The non-standard getMatchedCSSRules API returns CSSStyleRule objects that don't
1985         have parent stylesheet pointer (as we don't know which sheet the rule originated from).
1986         Mutating the rule via such wrapper can lead to crashes later as we fail to invalidate
1987         the underlying stylesheet.
1988         
1989         Fix by disallowing mutation of style rules that don't have parent sheet pointer. CSSStyleRule
1990         has two mutable properties selectorText and style. The latter gives back CSSStyleDeclaration.
1991         This patch disallows mutations in both cases for CSSStyleRules that don't have parent stylesheet
1992         pointer.
1993         
1994         While it is technically possible to have CSSRules that are legitimately disconnected
1995         from stylesheet (by removing rule from sheet while holding a reference to it) it never
1996         makes sense to mutate such rule as there is no way to do anything with it afterwards.
1997
1998         Tests: fast/css/getMatchedCSSProperties-rule-mutation.html
1999                fast/css/getMatchedCSSRules-crash.html
2000
2001         * css/CSSStyleRule.cpp:
2002         (WebCore::CSSStyleRule::setSelectorText):
2003
2004             Bail out if parent stylesheet is null.
2005
2006         * css/PropertySetCSSStyleDeclaration.cpp:
2007         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
2008         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
2009         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
2010         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
2011         
2012             Allow StyleRuleCSSStyleDeclaration subclass cancel the mutation via
2013             boolean return value from willMutate.
2014
2015         (WebCore::StyleRuleCSSStyleDeclaration::willMutate):
2016         
2017             Disallow mutation if the owning CSSStyleRule is null or has null stylesheet.
2018
2019         (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
2020         
2021             We never get here with null rule or stylesheet anymore.
2022
2023         * css/PropertySetCSSStyleDeclaration.h:
2024         (WebCore::PropertySetCSSStyleDeclaration::willMutate):
2025
2026 2014-03-17  Jeffrey Pfau  <jpfau@apple.com>
2027
2028         <media> elements are not properly moved to new documents' visibility callback lists
2029         https://bugs.webkit.org/show_bug.cgi?id=127711
2030
2031         Reviewed by David Kilzer.
2032
2033         * html/HTMLMediaElement.cpp:
2034         (WebCore::HTMLMediaElement::didMoveToNewDocument):
2035
2036 2014-03-18  Filip Pizlo  <fpizlo@apple.com>
2037
2038         More FTL enabling.
2039
2040         Rubber stamped by Dan Bernstein and Mark Hahnenberg.
2041
2042         No new tests.
2043
2044         * Configurations/FeatureDefines.xcconfig:
2045
2046 2014-03-18  Brent Fulgham  <bfulgham@apple.com>
2047
2048         TextTrackRegion Not Implemented
2049         https://bugs.webkit.org/show_bug.cgi?id=116546
2050
2051         Reviewed by Eric Carlson.
2052
2053         Merged from Blink (patch by vcarbune@chromium.org):
2054         https://chromium.googlesource.com/chromium/blink/+/4940f89a087fea5b5ea628e98d0b355d398a9eea
2055         http://crbug.com/25798003
2056
2057         Tests: media/track/regions-webvtt/text-track-region-display.html
2058                media/track/regions-webvtt/text-track-region-dom-layout.html
2059
2060         * html/HTMLMediaElement.cpp:
2061         (WebCore::HTMLMediaElement::parseAttribute):
2062         * html/track/LoadableTextTrack.cpp:
2063         (WebCore::LoadableTextTrack::newRegionsAvailable):
2064         * html/track/TextTrack.cpp:
2065         * html/track/TextTrack.h:
2066         * html/track/TextTrackRegion.cpp:
2067         (WebCore::TextTrackRegion::TextTrackRegion):
2068         (WebCore::TextTrackRegion::appendTextTrackCueBox):
2069         * html/track/TextTrackRegion.h:
2070         * html/track/VTTCue.cpp:
2071         (WebCore::VTTCue::VTTCue):
2072         (WebCore::VTTCue::notifyRegionWhenRemovingDisplayTree):
2073         (WebCore::VTTCue::removeDisplayTree):
2074         * html/track/VTTCue.h:
2075         * html/track/WebVTTParser.cpp:
2076         (WebCore::WebVTTParser::parseBytes):
2077         (WebCore::WebVTTParser::collectMetadataHeader):
2078         * html/track/WebVTTParser.h:
2079
2080 2014-03-18  Philippe Normand  <pnormand@igalia.com>
2081
2082         [GTK] ResourceLoaderSoup.cpp was added by mistake
2083         https://bugs.webkit.org/show_bug.cgi?id=130396
2084
2085         Reviewed by Carlos Garcia Campos.
2086
2087         This file was committed by mistake in r152778 and is not built by
2088         any port.
2089
2090         * loader/soup/ResourceLoaderSoup.cpp: Removed.
2091
2092 2014-03-18  Andreas Kling  <akling@apple.com>
2093
2094         Rename ElementDescendantIterator to TypedElementDescendantIterator.
2095         Romper-stubbed by Antti "Latte Lung" Koivisto.
2096
2097         * GNUmakefile.list.am:
2098         * WebCore.vcxproj/WebCore.vcxproj:
2099         * WebCore.vcxproj/WebCore.vcxproj.filters:
2100         * WebCore.xcodeproj/project.pbxproj:
2101         * dom/ElementDescendantIterator.h: Removed.
2102         * dom/ElementIterator.h:
2103         * dom/TypedElementDescendantIterator.h: Added.
2104         (WebCore::TypedElementDescendantIterator<ElementType>::TypedElementDescendantIterator):
2105         (WebCore::TypedElementDescendantIterator<ElementType>::operator):
2106         (WebCore::TypedElementDescendantConstIterator<ElementType>::TypedElementDescendantConstIterator):
2107         (WebCore::TypedElementDescendantConstIterator<ElementType>::operator):
2108         (WebCore::TypedElementDescendantIteratorAdapter<ElementType>::TypedElementDescendantIteratorAdapter):
2109         (WebCore::TypedElementDescendantIteratorAdapter<ElementType>::begin):
2110         (WebCore::TypedElementDescendantIteratorAdapter<ElementType>::end):
2111         (WebCore::TypedElementDescendantIteratorAdapter<ElementType>::beginAt):
2112         (WebCore::TypedElementDescendantIteratorAdapter<ElementType>::from):
2113         (WebCore::TypedElementDescendantIteratorAdapter<ElementType>::first):
2114         (WebCore::TypedElementDescendantIteratorAdapter<ElementType>::last):
2115         (WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::TypedElementDescendantConstIteratorAdapter):
2116         (WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::begin):
2117         (WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::end):
2118         (WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::beginAt):
2119         (WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::from):
2120         (WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::first):
2121         (WebCore::TypedElementDescendantConstIteratorAdapter<ElementType>::last):
2122         (WebCore::descendantsOfType):
2123
2124 2014-03-18  Ion Rosca  <rosca@adobe.com>
2125
2126         Add blend mode property to dumped information in GraphicsLayer.
2127         https://bugs.webkit.org/show_bug.cgi?id=130331
2128
2129         Reviewed by Simon Fraser.
2130
2131         Functionality is not changed, therefore no new tests added.
2132         I adjusted the affected test results generated with layerTreeAsText.
2133
2134         * platform/graphics/GraphicsLayer.cpp:
2135         (WebCore::GraphicsLayer::dumpProperties):
2136
2137 2014-03-17  Sergio Villar Senin  <svillar@igalia.com>
2138
2139         webdatabase: Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T>
2140         https://bugs.webkit.org/show_bug.cgi?id=130347
2141
2142         Reviewed by Darin Adler.
2143
2144         * Modules/webdatabase/DatabaseTracker.cpp:
2145         (WebCore::DatabaseTracker::openDatabaseMutex):
2146         (WebCore::notificationMutex):
2147         (WebCore::notificationQueue):
2148
2149 2014-03-17  Jer Noble  <jer.noble@apple.com>
2150
2151         Add RemoteCommandListener support to MediaSessionManager.
2152         https://bugs.webkit.org/show_bug.cgi?id=130354
2153
2154         Reviewed by Eric Carlson.
2155
2156         Listen for remote commands in MediaSessionManager.
2157
2158         * platform/audio/MediaSessionManager.cpp:
2159         (WebCore::MediaSessionManager::addSession):
2160         (WebCore::MediaSessionManager::removeSession):
2161         * platform/audio/MediaSessionManager.h:
2162
2163         Add RemoteCommandListener to the project files:
2164         * CMakeLists.txt:
2165         * GNUmakefile.list.am:
2166         * WebCore.vcxproj/WebCore.vcxproj:
2167         * WebCore.vcxproj/WebCore.vcxproj.filters:
2168
2169 2014-03-17  Ryosuke Niwa  <rniwa@webkit.org>
2170
2171         Rewrite WebHTMLConverter::_elementHasOwnBackgroundColor in C++
2172         https://bugs.webkit.org/show_bug.cgi?id=130291
2173
2174         Reviewed by Andreas Kling.
2175
2176         Extracted HTMLConverterCaches::elementHasOwnBackgroundColor.
2177
2178         * platform/mac/HTMLConverter.mm:
2179         (HTMLConverterCaches::elementHasOwnBackgroundColor):
2180         (-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
2181
2182 2014-03-17  Ryosuke Niwa  <rniwa@webkit.org>
2183
2184         Rewrite WebHTMLConverter::_elementIsBlockLevel in C++
2185         https://bugs.webkit.org/show_bug.cgi?id=130287
2186
2187         Reviewed by Andreas Kling.
2188
2189         Rewrote _elementIsBlockLevel as HTMLConverterCaches::isBlockElement. Also removed the code to update
2190         _elementIsBlockLevel in _traverseNode as computing the value of _elementIsBlockLevel is now fast.
2191
2192         * platform/mac/HTMLConverter.h:
2193         * platform/mac/HTMLConverter.mm:
2194         (HTMLConverterCaches::isBlockElement):
2195         (-[WebHTMLConverter _elementIsBlockLevel:]):
2196         (-[WebHTMLConverter _traverseNode:depth:embedded:]):
2197         (-[WebHTMLConverter dealloc]):
2198         (-[WebHTMLConverter init]):
2199
2200 2014-03-17  Ryosuke Niwa  <rniwa@webkit.org>
2201
2202         Rewrite WebHTMLConverter::_getComputedFloat in C++
2203         https://bugs.webkit.org/show_bug.cgi?id=130284
2204
2205         Reviewed by Andreas Kling.
2206
2207         Rewrote _getComputedFloat as HTMLConverterCaches::floatPropertyValueForNode.
2208
2209         * platform/mac/HTMLConverter.h:
2210         * platform/mac/HTMLConverter.mm:
2211         (HTMLConverterCaches::floatPropertyValueForNode):
2212         (-[WebHTMLConverter _getFloat:forNode:property:]): Now that computing the float value is fast, we don't need to
2213         store it in the cache.
2214         (-[WebHTMLConverter dealloc]):
2215         (-[WebHTMLConverter init]):
2216
2217 2014-03-16  Andreas Kling  <akling@apple.com>
2218
2219         HTMLInputElement::defaultEventHandler() shouldn't force style updates.
2220         <https://webkit.org/b/130303>
2221
2222         Move the updateStyleIfNeeded() call down to TextFieldInputType instead
2223         of doing it for every HTMLInputEvent.
2224
2225         There might be a better way to do this; we only want to know about this
2226         specific element's renderer, and don't need the rest of the tree.
2227         This is still an easy hack to avoid a lot of unnecessary work.
2228
2229         Reviewed by Anders Carlsson.
2230
2231         * html/HTMLInputElement.cpp:
2232         (WebCore::HTMLInputElement::defaultEventHandler):
2233         * html/TextFieldInputType.cpp:
2234         (WebCore::TextFieldInputType::forwardEvent):
2235
2236 2014-03-17  Brent Fulgham  <bfulgham@apple.com>
2237
2238         [WebVTT] Extending WebVTT Rendering with Regions
2239         https://bugs.webkit.org/show_bug.cgi?id=109822
2240
2241         Reviewed by Eric Carlson.
2242
2243         Merged from Blink (patch by Victor Carbune vcarbune@chromium.org):
2244         https://chromium.googlesource.com/chromium/blink/+/0cdebc1d76d41bfcb9c4b022e54a4fbff132225d
2245
2246         No new tests, as this feature is not active in default builds. New tests will be added
2247         in an upcoming bug.
2248
2249         * css/mediaControls.css:
2250         (video::-webkit-media-text-track-region):
2251         (video::-webkit-media-text-track-region-container):
2252         (video::-webkit-media-text-track-region-container.scrolling):
2253         (video::-webkit-media-text-track-display):
2254         * html/shadow/MediaControlElements.cpp:
2255         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
2256         * html/track/TextTrack.cpp:
2257         (WebCore::TextTrack::~TextTrack):
2258         * html/track/TextTrackCue.cpp:
2259         * html/track/TextTrackRegion.cpp:
2260         (WebCore::TextTrackRegion::TextTrackRegion):
2261         (WebCore::TextTrackRegion::textTrackCueContainerScrollingClass):
2262         (WebCore::TextTrackRegion::textTrackCueContainerShadowPseudoId):
2263         (WebCore::TextTrackRegion::textTrackRegionShadowPseudoId):
2264         (WebCore::TextTrackRegion::appendTextTrackCueBox):
2265         (WebCore::TextTrackRegion::displayLastTextTrackCueBox):
2266         (WebCore::TextTrackRegion::willRemoveTextTrackCueBox):
2267         (WebCore::TextTrackRegion::getDisplayTree):
2268         (WebCore::TextTrackRegion::prepareRegionDisplayTree):
2269         (WebCore::TextTrackRegion::startTimer):
2270         (WebCore::TextTrackRegion::stopTimer):
2271         (WebCore::TextTrackRegion::scrollTimerFired):
2272         * html/track/TextTrackRegion.h:
2273         (WebCore::TextTrackRegion::create):
2274         (WebCore::TextTrackRegion::isScrollingRegion):
2275         (WebCore::TextTrackRegion::ownerDocument):
2276         * html/track/TextTrackRegion.idl:
2277         * html/track/TextTrackRegionList.cpp:
2278         (WebCore::TextTrackRegionList::getRegionById):
2279         * html/track/VTTCue.cpp:
2280         (WebCore::VTTCueBox::applyCSSProperties):
2281         (WebCore::VTTCue::~VTTCue):
2282         (WebCore::VTTCue::setIsActive):
2283         (WebCore::VTTCue::removeDisplayTree):
2284         * html/track/WebVTTParser.cpp:
2285         (WebCore::WebVTTParser::createNewRegion):
2286         * rendering/RenderVTTCue.cpp:
2287         (WebCore::RenderVTTCue::layout):
2288
2289 2014-03-17  Brendan Long  <b.long@cablelabs.com>
2290
2291         [GStreamer] human readable language code for tracks
2292         https://bugs.webkit.org/show_bug.cgi?id=124514
2293
2294         Reviewed by Martin Robinson.
2295
2296         * PlatformEfl.cmake: Add GSTREAMER_TAG_INCLUDE_DIRS and GSTREAMER_TAG_LIBRARIES.
2297         * PlatformGTK.cmake: Same.
2298         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2299         (WebCore::TrackPrivateBaseGStreamer::getLanguageCode): Run language codes though gst_tag_get_language_code_iso_639_1() to make sure they're valid.
2300         (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Use getLanguageCode() for languages instead of just getTag().
2301
2302 2014-03-17  Ryosuke Niwa  <rniwa@webkit.org>
2303
2304         [Mac] Rewrite WebHTMLConverter::_computedStringForNode in C++
2305         https://bugs.webkit.org/show_bug.cgi?id=130274
2306
2307         Reviewed by Andreas Kling.
2308
2309         Rewrote WebHTMLConverter::_computedStringForNode as HTMLConverterCaches::propertyValueForNode.
2310
2311         * platform/mac/HTMLConverter.h: Removed unused caches.
2312         * platform/mac/HTMLConverter.mm:
2313         (HTMLConverterCaches::computedStylePropertyForElement): Added use const String& instead of String& on property name.
2314         (HTMLConverterCaches::inlineStylePropertyForElement): Ditto.
2315         (HTMLConverterCaches::propertyValueForNode): Renamed and rewritten from _computedStringForNode.
2316         (-[WebHTMLConverter _stringForNode:property:]): Simply return the computed value instead of storing it in the cache
2317         now that the computing the value is fast.
2318         (-[WebHTMLConverter dealloc]):
2319         (-[WebHTMLConverter init]):
2320
2321 2014-03-17  Andreas Kling  <akling@apple.com>
2322
2323         Remove unnecessary JSC::Handle null checks in bindings code.
2324         <https://webkit.org/b/130356>
2325
2326         Use Handle::slot() directly instead of going through Handle::get().
2327         This avoids null checking the HandleSlot, which isn't necessary here
2328         anyway, and the code already assumes it'll never be null.
2329
2330         Reviewed by Gavin Barraclough.
2331
2332         * bindings/js/JSCSSRuleListCustom.cpp:
2333         (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
2334         * bindings/js/JSCSSValueCustom.cpp:
2335         (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
2336         (WebCore::JSCSSValueOwner::finalize):
2337         * bindings/js/JSMutationObserverCustom.cpp:
2338         (WebCore::JSMutationObserverOwner::isReachableFromOpaqueRoots):
2339         * bindings/js/JSNodeCustom.cpp:
2340         (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
2341         * bindings/js/JSNodeListCustom.cpp:
2342         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
2343         * bindings/js/JSTextTrackCueCustom.cpp:
2344         (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
2345         * bindings/js/WebCoreTypedArrayController.cpp:
2346         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots):
2347         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize):
2348         * bindings/scripts/CodeGeneratorJS.pm:
2349         (GenerateImplementation):
2350         * bridge/runtime_root.cpp:
2351         (JSC::Bindings::RootObject::finalize):
2352
2353 2014-03-17  Krzysztof Czech  <k.czech@samsung.com>
2354
2355         AX: Reducing some code by using helper function ariaElementsFromAttribute
2356         https://bugs.webkit.org/show_bug.cgi?id=130344
2357
2358         Reviewed by Chris Fleizach.
2359
2360         Change visibility of ariaElementsFromAttribute function from private to protected
2361         so that other classes that derives from AccessibilityRenderObject can use it.
2362
2363         No new tests. No behaviour change.
2364
2365         * accessibility/AccessibilityRenderObject.h:
2366         * accessibility/AccessibilityTableCell.cpp:
2367         (WebCore::AccessibilityTableCell::columnHeaders):
2368
2369 2014-03-16  Brent Fulgham  <bfulgham@apple.com>
2370
2371         Provide preference to enable additional AVFoundation options
2372         https://bugs.webkit.org/show_bug.cgi?id=130275
2373
2374         Reviewed by Eric Carlson.
2375
2376         * html/HTMLMediaElement.cpp:
2377         (WebCore::HTMLMediaElement::doesHaveAttribute): Added.
2378         * html/HTMLMediaElement.h:
2379         * page/Settings.in: Add new attribute.
2380         * platform/graphics/MediaPlayer.cpp:
2381         (WebCore::MediaPlayer::doesHaveAttribute): Added stub to call private player object's
2382         implementation of doesHaveAttribute.
2383         * platform/graphics/MediaPlayer.h:
2384         (WebCore::MediaPlayerClient::doesHaveAttribute):
2385         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2386         (WebCore::MediaPlayerPrivateAVFoundationCF::AVFWrapper::createAssetForURL): Check the <media> object,
2387         and notify AVFoundationCF to use URI option if relevant.
2388         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2389         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Check the <media> object,
2390         and notify AVFoundation to use URI option if relevant.
2391
2392 2014-03-17  Jer Noble  <jer.noble@apple.com>
2393
2394         [EME] Add NULL protections in SourceBuffer and MediaSource.
2395         https://bugs.webkit.org/show_bug.cgi?id=130266
2396
2397         Reviewed by Eric Carlson.
2398
2399         Add NULL checks in places which may be called after a SourceBuffer has been removed:
2400
2401         * Modules/mediasource/MediaSource.cpp:
2402         (WebCore::MediaSource::monitorSourceBuffers): Protect against a SourceBuffer being removed
2403             (and thus activeSourceBuffers being empty) when monitoring source buffer state.
2404         * Modules/mediasource/SourceBuffer.cpp:
2405         (WebCore::SourceBuffer::appendBufferTimerFired): Protect against SourceBuffer being removed.
2406         (WebCore::SourceBuffer::videoTracks): Ditto.
2407         (WebCore::SourceBuffer::audioTracks): Ditto.
2408         (WebCore::SourceBuffer::textTracks): Ditto.
2409         (WebCore::SourceBuffer::setActive): Ditto.
2410         (WebCore::SourceBuffer::sourceBufferPrivateDidEndStream): Ditto.
2411         (WebCore::SourceBuffer::hasCurrentTime): Ditto.
2412         (WebCore::SourceBuffer::canPlayThrough): Ditto.
2413         (WebCore::SourceBuffer::hasFutureTime): Ditto, and check for an empty buffered ranges.
2414
2415 2014-03-17  Tim Horton  <timothy_horton@apple.com>
2416
2417         WKThumbnailView should support snapshots
2418         https://bugs.webkit.org/show_bug.cgi?id=130335
2419         <rdar://problem/16255139>
2420
2421         Reviewed by Simon Fraser.
2422
2423         * WebCore.exp.in:
2424
2425 2014-01-29  Sergio Villar Senin  <svillar@igalia.com>
2426
2427         [CSS Grid Layout] getComputedStyle() not using author's order when showing named grid lines
2428         https://bugs.webkit.org/show_bug.cgi?id=127837
2429
2430         Reviewed by David Hyatt.
2431
2432         Added a couple of new Vectors to store the names of the grid lines
2433         respecting their order. They will be used to get the right outcome
2434         for getComputedStyle().
2435
2436         * css/CSSComputedStyleDeclaration.cpp:
2437         (WebCore::addValuesForNamedGridLinesAtIndex):
2438         (WebCore::valueForGridTrackList):
2439         * css/StyleResolver.cpp:
2440         (WebCore::createGridTrackList):
2441         (WebCore::StyleResolver::applyProperty):
2442         * rendering/style/RenderStyle.h:
2443         * rendering/style/StyleGridData.cpp:
2444         (WebCore::StyleGridData::StyleGridData):
2445         * rendering/style/StyleGridData.h:
2446         (WebCore::StyleGridData::operator==):
2447
2448 2014-03-17  Zsolt Borbely  <borbezs@inf.u-szeged.hu>
2449
2450         Fix the !ENABLE(PROMISES) build
2451         https://bugs.webkit.org/show_bug.cgi?id=130328
2452
2453         Reviewed by Darin Adler.
2454
2455         Add missing ENABLE(PROMISES) guards.
2456
2457         * bindings/js/JSDOMPromise.cpp:
2458         * bindings/js/JSDOMPromise.h:
2459
2460 2014-03-17  Gurpreet Kaur  <k.gurpreet@samsung.com>
2461
2462         Safari should not render a cell if the <td> is empty
2463         https://bugs.webkit.org/show_bug.cgi?id=15273
2464
2465         Reviewed by Darin Adler.
2466
2467         When table cell has no children and the doctype is not present or not
2468         correct the border for that cell should not be drawn. Firefox also
2469         follows the same behaviour hence making the changes to make it similiar
2470         to Firefox behaviour.
2471
2472         Tests: fast/table/table-cell-border-doctype.html
2473                fast/table/table-cell-border-no-doctype.html
2474
2475         * rendering/RenderTableCell.cpp:
2476         (WebCore::RenderTableCell::paintBoxDecorations):
2477         Added condition for not drawing the border when table cell has no child
2478         and doctype.
2479
2480
2481 2014-03-17  Frédéric Wang  <fred.wang@free.fr>
2482
2483         Fix handling of <annotation> in MathMLTextElement.
2484         https://bugs.webkit.org/show_bug.cgi?id=124128.
2485
2486         Reviewed by Darin Adler.
2487
2488         No new tests.
2489
2490         * mathml/MathMLTextElement.cpp:
2491         (WebCore::MathMLTextElement::createElementRenderer): do not create the special RenderMathMLToken for the <annotation> tag.
2492         (WebCore::MathMLTextElement::childShouldCreateRenderer): only allow text inside <annotation>.
2493
2494 2014-03-17  Martin Robinson  <mrobinson@igalia.com>
2495
2496         [GTK][CMake] Credential storage is not enabled
2497         https://bugs.webkit.org/show_bug.cgi?id=130149
2498
2499         Reviewed by Philippe Normand.
2500
2501         * PlatformGTK.cmake: Add the libsecret include directories and link line to the build.
2502
2503 2014-03-17  Zan Dobersek  <zdobersek@igalia.com>
2504
2505         Unreviewed.
2506
2507         Addressing reviewing comments by Darin in bug #130310 that I forgot
2508         to address before landing the changes in r165732.
2509         https://bugs.webkit.org/show_bug.cgi?id=130310
2510
2511         * rendering/InlineTextBox.cpp:
2512         * rendering/RenderLayer.cpp:
2513         * rendering/RenderObject.cpp:
2514
2515 2014-03-17  Jessie Berlin  <jberlin@apple.com>
2516
2517         Speculative build fix for ENABLE(TELEPHONE_NUMBER_DETECTION) after r165724.
2518
2519         * html/parser/HTMLTreeBuilder.cpp:
2520         (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):
2521
2522 2014-03-17  Zan Dobersek  <zdobersek@igalia.com>
2523
2524         Only supplement Page with UserMediaController once
2525         https://bugs.webkit.org/show_bug.cgi?id=130311
2526
2527         Reviewed by Darin Adler.
2528
2529         Don't supplement the Page with an UserMediaController object if that Page was
2530         already supplemented with one. This avoids triggering an assertion in
2531         Supplementable::provideSupplement() that ensures no supplement with the same key
2532         exists yet. The cause of this is calling provideUserMediaTo() in the Internals
2533         constructor that's using the same Page for two subsequent tests.
2534
2535         * Modules/mediastream/UserMediaController.cpp:
2536         (WebCore::provideUserMediaTo):
2537
2538 2014-03-17  Zan Dobersek  <zdobersek@igalia.com>
2539
2540         Explicitly include cstdio header for debug builds in InlineTextBox, RenderLayer, RenderObject
2541         https://bugs.webkit.org/show_bug.cgi?id=130310
2542
2543         Reviewed by Darin Adler.
2544
2545         Building the GTK port with Clang through CMake falls into a configuration where
2546         the cstdio header is not indirectly included in InlineTextBox, RenderLayer and
2547         RenderObject source files. fprintf() is required for helper functions that print
2548         out helpful debugging information in debug builds, so the cstdio header should
2549         be included explicitly in that case.
2550
2551         * rendering/InlineTextBox.cpp:
2552         * rendering/RenderLayer.cpp:
2553         * rendering/RenderObject.cpp:
2554
2555 2014-03-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2556
2557         [GTK] Cleanup WebKitDOMObject
2558         https://bugs.webkit.org/show_bug.cgi?id=130246
2559
2560         Reviewed by Martin Robinson.
2561
2562         Remove unneeded getter and fix coding style.
2563
2564         * bindings/gobject/WebKitDOMObject.cpp:
2565         (webkitDOMObjectSetProperty):
2566         (webkit_dom_object_class_init):
2567
2568 2014-03-17  Darin Adler  <darin@apple.com>
2569
2570         Stop using deprecatedCharacters in HTMLTreeBuilder
2571         https://bugs.webkit.org/show_bug.cgi?id=130323
2572
2573         Reviewed by Andreas Kling.
2574
2575         Keeping this separate from other patches because of concern that this could affect
2576         page load performance.
2577
2578         * html/parser/HTMLTreeBuilder.cpp:
2579         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
2580         Use a StringView instead of a character pointer.
2581         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::isEmpty): Ditto.
2582         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipAtMostOneLeadingNewline):
2583         Ditto.
2584         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemaining): Ditto.
2585         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo): Ditto.
2586         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace): Ditto.
2587         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeading): Ditto.
2588         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeLeading): Ditto.
2589         (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers): Use StringView::upconvertedCharacters.
2590
2591 2014-03-17  Jinwoo Song  <jinwoo7.song@samsung.com>
2592
2593         Make some Module class constructors return PassRef.
2594         https://bugs.webkit.org/show_bug.cgi?id=130282
2595
2596         Reviewed by Andreas Kling.
2597
2598         Make the constructor helpers for the following classes return PassRef
2599         instead of PassRefPtr since they will never return null.
2600          - GamepadList
2601          - Geolocation
2602          - NavigatorContentUtils
2603          - NetworkInfoConnection
2604          - Notification
2605          - NotificationCenter
2606          - DeviceProximityEvent
2607
2608         * Modules/gamepad/GamepadList.h:
2609         (WebCore::GamepadList::create):
2610         * Modules/geolocation/Geolocation.cpp:
2611         (WebCore::Geolocation::create):
2612         * Modules/geolocation/Geolocation.h:
2613         (WebCore::Geolocation::GeoNotifier::create):
2614         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
2615         (WebCore::NavigatorContentUtils::create):
2616         * Modules/navigatorcontentutils/NavigatorContentUtils.h:
2617         * Modules/networkinfo/NetworkInfoConnection.cpp:
2618         (WebCore::NetworkInfoConnection::create):
2619         * Modules/networkinfo/NetworkInfoConnection.h:
2620         * Modules/notifications/Notification.cpp:
2621         (WebCore::Notification::create):
2622         * Modules/notifications/Notification.h:
2623         * Modules/notifications/NotificationCenter.cpp:
2624         (WebCore::NotificationCenter::create):
2625         * Modules/notifications/NotificationCenter.h:
2626         * Modules/proximity/DeviceProximityEvent.h:
2627         (WebCore::DeviceProximityEvent::create):
2628
2629 2014-03-16  Mihnea Ovidenie  <mihnea@adobe.com>
2630
2631         [CSSRegions]Do not compute region range for a box unless the parent has one
2632         https://bugs.webkit.org/show_bug.cgi?id=130249
2633
2634         Reviewed by Andrei Bucur.
2635
2636         If the containing block does not have a region range computed, do not attempt to compute
2637         a region range for a child. In such cases, the range computation for a child can lead to
2638         a result that is wrong, possibly leading to an incorrect clipping.
2639
2640         Test: fast/regions/inline-block-flowed-in-regions.html
2641
2642         * rendering/RenderBlock.cpp:
2643         (WebCore::canComputeRegionRangeForBox):
2644         (WebCore::RenderBlock::computeRegionRangeForBoxChild):
2645         (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
2646         (WebCore::RenderBlock::updateRegionRangeForBoxChild):
2647         * rendering/RenderFlowThread.h:
2648
2649 2014-03-16  Andreas Kling  <akling@apple.com>
2650
2651         CSSValueList should assert that no null values are added to it.
2652         <https://webkit.org/b/130315>
2653
2654         Add assertions in CSSValueList's append() and prepend() that we are
2655         not adding a null value. This caught a single place in CSSParser
2656         that was appending an alread-released RefPtr to a CSSValueList.
2657         That list was eventually discarded anyway (due to "foundClip" now
2658         being true), so the fix is simply to remove the adding.
2659
2660         Eventually we should use Ref and PassRef all over for CSSValueList,
2661         this is just a first step on the way.
2662
2663         Reviewed by Darin Adler.
2664
2665         * css/CSSParser.cpp:
2666         (WebCore::CSSParser::parseFillShorthand):
2667         * css/CSSValueList.h:
2668         (WebCore::CSSValueList::append):
2669         (WebCore::CSSValueList::prepend):
2670
2671 2014-03-16  Praveen R Jadhav  <praveen.j@samsung.com>
2672
2673         AudioBufferSourceNode stop attribute shouldn't throw exception in finished state.
2674         https://bugs.webkit.org/show_bug.cgi?id=130000.
2675
2676         Reviewed by Jer Noble.
2677
2678         AudioBufferSourceNode may go to FINISHED_STATE even before "stop" method is called 
2679         as silence rendered after audio data is played out when its not looping.
2680         A call to "stop" method after this shouldn't throw exception.
2681
2682         * Modules/webaudio/AudioScheduledSourceNode.cpp:
2683         (WebCore::AudioScheduledSourceNode::stop):
2684
2685 2014-03-16  Brian Burg  <bburg@apple.com>
2686
2687         Web Inspector: generated backend commands should reflect build system ENABLE settings
2688         https://bugs.webkit.org/show_bug.cgi?id=130111
2689
2690         Reviewed by Timothy Hatcher.
2691
2692         Add guards for conditional inspector domains.
2693
2694         For Makefile-based build systems, force regeneration of the
2695         combined file if the list of domains has changed.
2696
2697         Combine only the Inspector domains listed in INSPECTOR_DOMAINS,
2698         instead of globbing any .json file.
2699
2700         * CMakeLists.txt:
2701         * DerivedSources.make:
2702         * GNUmakefile.am:
2703
2704 2014-03-16  David Kilzer  <ddkilzer@apple.com>
2705
2706         Follow-up: Double values passed to fabsf() in maxScaleFromTransform()
2707         <http://webkit.org/b/130297>
2708
2709         Reviewed by Darin Adler.
2710
2711         * platform/graphics/ca/GraphicsLayerCA.cpp:
2712         (WebCore::maxScaleFromTransform): Use narrowPrecisionToFloat()
2713         instead of static_cast<float>().
2714
2715 2014-03-16  Andreas Kling  <akling@apple.com>
2716
2717         ScriptExecutionContext::vm() should return a reference.
2718         <https://webkit.org/b/129611>
2719
2720         Every ScriptExecutionContext has a VM, so this can never return null.
2721         Made WorkerScriptController::vm() return a reference as well, since
2722         that was needed for this change.
2723
2724         Reviewed by Geoffrey Garen.
2725
2726         * bindings/js/WorkerScriptController.h:
2727         (WebCore::WorkerScriptController::vm):
2728         * bindings/js/WorkerScriptDebugServer.cpp:
2729         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
2730         * css/ElementRuleCollector.cpp:
2731         (WebCore::ElementRuleCollector::ruleMatches):
2732         * dom/ScriptExecutionContext.cpp:
2733         (WebCore::ScriptExecutionContext::vm):
2734         * dom/ScriptExecutionContext.h:
2735         * dom/SelectorQuery.cpp:
2736         (WebCore::SelectorDataList::execute):
2737         * html/HTMLCanvasElement.cpp:
2738         (WebCore::HTMLCanvasElement::createImageBuffer):
2739         * xml/XMLHttpRequest.cpp:
2740         (WebCore::XMLHttpRequest::dropProtection):
2741         * testing/Internals.cpp:
2742         (WebCore::Internals::parserMetaData):
2743
2744 2014-03-16  Zan Dobersek  <zdobersek@igalia.com>
2745
2746         Remove OwnPtr.h, PassOwnPtr.h header inclusions in Source/WebCore/html/parser/ code
2747         https://bugs.webkit.org/show_bug.cgi?id=129667
2748
2749         Reviewed by Anders Carlsson.
2750
2751         Remove unnecessary inclusions of the OwnPtr.h and PassOwnPtr.h headers
2752         in the code under Source/WebCore/html/parser/.
2753
2754         * html/parser/HTMLParserScheduler.h:
2755         * html/parser/HTMLToken.h:
2756         * html/parser/HTMLTreeBuilder.h:
2757         * html/parser/XSSAuditor.h:
2758         * html/parser/XSSAuditorDelegate.h:
2759
2760 2014-03-16  Darin Adler  <darin@apple.com>
2761
2762         Remove uses of "cat" in DerivedSources.make outside platform-specific rules
2763         https://bugs.webkit.org/show_bug.cgi?id=130307
2764
2765         Reviewed by Anders Carlsson.
2766
2767         * DerivedSources.make: Use "perl -pe ''" instead of "cat".
2768
2769 2014-03-16  Brian Burg  <bburg@apple.com>
2770
2771         Web Inspector: vended backend commands file should be generated as part of the build
2772         https://bugs.webkit.org/show_bug.cgi?id=130110
2773
2774         Reviewed by Timothy Hatcher.
2775
2776         * WebCore.xcodeproj/project.pbxproj: Copy InspectorWebBackendCommands.js to the
2777         private headers directory.
2778
2779 2014-03-16  Frédéric Wang  <fred.wang@free.fr>
2780
2781         [regression] foreign content not displayed in MathML
2782         <https://webkit.org/b/124128>
2783
2784         Reviewed by Chris Fleizach.
2785
2786         This restores foreign content in <mtext>, <mn> and <mi> elements, but only when it is "phrasing content" as defined per the HTML5 specification. Other token elements are not handled here. This change makes mspace-units.html work again on Linux.
2787
2788         Tests: mathml/presentation/foreign-mi-dynamic.html
2789                mathml/presentation/foreign-mi.html
2790                mathml/presentation/foreign-mn.html
2791                mathml/presentation/foreign-mtext-rejected.html
2792                mathml/presentation/foreign-mtext.html
2793
2794         * mathml/MathMLTextElement.cpp:
2795         (WebCore::MathMLTextElement::createElementRenderer): create a RenderMathMLToken for mn, ms and mtext.
2796         (WebCore::isPhrasingContent): helper function to check phrasing content, as defined by the HTML spec.
2797         (WebCore::MathMLTextElement::childShouldCreateRenderer): <mi>, <mn>, <mtext> and, <ms> now accepts phrasing content.
2798         * rendering/mathml/RenderMathMLToken.cpp:
2799         (WebCore::RenderMathMLToken::RenderMathMLToken):
2800         (WebCore::RenderMathMLToken::updateTokenContent): initialize the m_containsElement boolean when updating the token content.
2801         (WebCore::RenderMathMLToken::updateStyle): move <mi> specific handling in its own section and only apply the single-char rule when it does not contain elements.
2802         * rendering/mathml/RenderMathMLToken.h: add an m_containsElement boolean to handle token element specifically.
2803
2804 2014-03-16  David Kilzer  <ddkilzer@apple.com>
2805
2806         PlatformTimeRanges::nearest() truncates closestDelta values from double to float
2807         <http://webkit.org/b/130298>
2808
2809         Reviewed by Darin Adler.
2810
2811         Fixes the following build failures using trunk clang:
2812
2813             WebCore/platform/graphics/PlatformTimeRanges.cpp:210:28: error: absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value [-Werror,-Wabsolute-value]
2814                         closestDelta = fabsf(startTime - time);
2815                                        ^
2816             WebCore/platform/graphics/PlatformTimeRanges.cpp:210:28: note: use function 'fabs' instead
2817                         closestDelta = fabsf(startTime - time);
2818                                        ^~~~~
2819                                        fabs
2820             WebCore/platform/graphics/PlatformTimeRanges.cpp:214:28: error: absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value [-Werror,-Wabsolute-value]
2821                         closestDelta = fabsf(endTime - time);
2822                                        ^
2823             WebCore/platform/graphics/PlatformTimeRanges.cpp:214:28: note: use function 'fabs' instead
2824                         closestDelta = fabsf(endTime - time);
2825                                        ^~~~~
2826                                        fabs
2827
2828         * platform/graphics/PlatformTimeRanges.cpp:
2829         (WebCore::PlatformTimeRanges::nearest): Extract start and end
2830         time deltas into local variables so they don't have to be
2831         computed twice, using fabs() instead of fabsf().
2832
2833 2014-03-16  Darin Adler  <darin@apple.com>
2834
2835         Optimize hasTagName when called on an HTMLElement
2836         https://bugs.webkit.org/show_bug.cgi?id=130090
2837
2838         Reviewed by Antti Koivisto.
2839
2840         Added new hasTagName functions that have the efficiency of hasLocalName.
2841         but are safe.
2842
2843         Now we can always use hasTagName, and we'll get a compile time error if
2844         we try to use an SVG tag name with an HTML element. All call sites that
2845         use the more specific tag name types are more efficient, and call sites
2846         that have a specific pointer type will get even more efficient checking
2847         that is exactly what we used to get by calling hasLocalName.
2848
2849         * accessibility/AccessibilityObject.cpp:
2850         (WebCore::AccessibilityObject::hasTagName): Cast explicitly to Element
2851         since Node::hasTagName no longer works on a general QualifiedName.
2852         * accessibility/AccessibilityRenderObject.cpp:
2853         (WebCore::AccessibilityRenderObject::isDescendantOfElementType): Use
2854         more specific type, RenderElement, so we can call hasTagName on Element
2855         instead of Node; eliminates an unnecessary branch.
2856
2857         * accessibility/AccessibilityTableColumn.cpp: Added now-needed include.
2858         * accessibility/atk/AccessibilityObjectAtk.cpp: Ditto.
2859
2860         * dom/DocumentStyleSheetCollection.cpp:
2861         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets): Use
2862         new for loop and full words for variable names. Also use nullptr instead
2863         of 0. Call toHTMLElement and toSVGElement in code that checks hasTagName
2864         since it's already checking isHTMLElement and isSVGElement.
2865
2866         * dom/Element.cpp:
2867         (WebCore::attrNodeListMap): Use NeverDestroyed and put the vectors into
2868         the map rather than putting pointers to a vector into the map.
2869         (WebCore::attrNodeListForElement): Take a reference rather than a pointer,
2870         and update for the change above.
2871         (WebCore::ensureAttrNodeListForElement): Ditto.
2872         (WebCore::removeAttrNodeListForElement): Ditto.
2873         (WebCore::findAttrNodeInList): Ditto.
2874         (WebCore::Element::isFocusable): Use lineageOfType<HTMLCanvasElement>
2875         to fine the canvas rather than a hand-written loop.
2876         (WebCore::Element::attrNodeList): Update for above changes.
2877         (WebCore::Element::setAttributeNode): Ditto.
2878         (WebCore::Element::attrIfExists): Ditto.
2879         (WebCore::Element::ensureAttr): Ditto.
2880         (WebCore::Element::detachAttrNodeFromElementWithValue): Ditto.
2881         (WebCore::Element::detachAllAttrNodesFromElement): Ditto.
2882
2883         * dom/Element.h: Removed the overload of hasLocalName that takes a
2884         QualifiedName and ignores the non-local-name parts of it. Callers should
2885         use hasTagName instead, now that it's optimized appropriately. Added
2886         overloads of hasTagName for all the specific qualified name types. It's
2887         more efficient to use the Node versions of these functions rather than
2888         using QualifiedName::matches to do the check. Removed the hasTagName and
2889         hasLocalName functions from the Node class; the only convenience functions
2890         needed in Node are the specific checks for tags from HTML, MathML, and SVG,
2891         not the general purpose ones.
2892
2893         * dom/Node.h: Removed hasLocalName and replaced the single hasTagName
2894         that takes a QualifiedName with three faster ones that take HTML, MathML,
2895         and SVG qualified names instead. Also updated to use nullptr instead of 0.
2896
2897         * dom/PositionIterator.cpp: Added now-needed include.
2898         * dom/Text.cpp: Ditto.
2899
2900         * dom/make_names.pl:
2901         (printHeaderHead): Renamed an argument for clarity and added a definitions
2902         argument, which is where we insert the classes derived from QualifiedName.
2903         (printCppHead): Renamed an argument for clarity.
2904         (printTypeHelpers): Use hasTagName rather than hasLocalName, since the
2905         former is now optimized to be the same as what the latter was.
2906         (printNamesHeaderFile): Define a class derived from QualifiedName that can
2907         be used at compile time to avoid having to check the namespace.
2908         (printNamesCppFile): Use the new more-specific type as needed.
2909
2910         * editing/ApplyStyleCommand.cpp:
2911         (WebCore::isLegacyAppleStyleSpan): Use hasTagName instead of hasLocalName,
2912         and references instead of pointers.
2913         (WebCore::ApplyStyleCommand::ApplyStyleCommand): Removed uneeded explicit
2914         construction of a smart pointer.
2915         (WebCore::ApplyStyleCommand::shouldApplyInlineStyleToRun): Updated to use
2916         the enclosingElementWithTag function by its new name.
2917
2918         * editing/Editor.cpp:
2919         (WebCore::Editor::selectionUnorderedListState): Updated to use the
2920         enclosingElementWithTag function by its new name.
2921         (WebCore::Editor::selectionOrderedListState): Ditto.
2922
2923         * editing/InsertListCommand.cpp:
2924         (WebCore::InsertListCommand::doApply): Use a more-specific type for the list tag.
2925         (WebCore::InsertListCommand::doApplyForSingleParagraph): Ditto.
2926         * editing/InsertListCommand.h: Ditto.
2927
2928         * editing/MarkupAccumulator.cpp:
2929         (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Added an explicit
2930         cast to Element in the loop that is already guarded by an isElementNode check.
2931         Also use a modern C++ for loop.
2932
2933         * editing/ReplaceSelectionCommand.cpp:
2934         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
2935         Updated to use the enclosingElementWithTag function by its new name.
2936         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): Ditto.
2937         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Ditto.
2938
2939         * editing/TypingCommand.cpp: Added now-needed includes.
2940         * editing/VisibleUnits.cpp: Ditto.
2941
2942         * editing/htmlediting.cpp:
2943         (WebCore::enclosingElementWithTag): Changed to return an Element instead of a Node,
2944         since nodes other than elements do not have tags.
2945         * editing/htmlediting.h: Ditto.
2946
2947         * editing/mac/EditorMac.mm:
2948         (WebCore::Editor::adjustedSelectionRange): Updated to use the enclosingElementWithTag
2949         function by its new name.
2950         * editing/markup.cpp:
2951         (WebCore::StyledMarkupAccumulator::appendText): Ditto.
2952         (WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): Ditto.
2953         (WebCore::highestAncestorToWrapMarkup): Ditto.
2954         (WebCore::createMarkupInternal): Ditto.
2955         (WebCore::createContextualFragment): Ditto. Use hasTagName instead of hasLocalName,
2956         since the former is now optimized to be the same as the latter was before.
2957
2958         * html/HTMLCollection.cpp:
2959         (WebCore::isMatchingElement): Use hasTagName instead of hasLocalName,
2960         since the former is now optimized to be the same as the latter was before.
2961         (WebCore::nameShouldBeVisibleInDocumentAll): Ditto.
2962         * html/HTMLElement.cpp:
2963         (WebCore::HTMLElement::ieForbidsInsertHTML): Ditto.
2964         (WebCore::unicodeBidiAttributeForDirAuto): Ditto.
2965         (WebCore::HTMLElement::parseBorderWidthAttribute): Ditto.
2966         (WebCore::HTMLElement::setInnerHTML): Ditto.
2967         (WebCore::shouldProhibitSetInnerOuterText): Ditto. Added this to share code between
2968         setInnerText and setOuterText.
2969         (WebCore::HTMLElement::setInnerText): Ditto.
2970         (WebCore::HTMLElement::setOuterText): Ditto.
2971         (WebCore::HTMLElement::rendererIsNeeded): Ditto.
2972         (WebCore::HTMLElement::createElementRenderer): Ditto.
2973
2974         * html/HTMLElement.h: Added hasTagName, which hides the one inherited from Element
2975         and takes the more-specific HTMLQualifiedName type. This means we don't need to check
2976         the namespace at runtime because it's known at compile time. Also put the
2977         implementation of Node::hasTagName for HTMLQualifiedName into this header.
2978
2979         * html/HTMLObjectElement.cpp:
2980         (WebCore::isRecognizedTagName): Updated for change in return type of
2981         HTMLNames::getHTMLTags.
2982
2983         * html/HTMLSelectElement.cpp:
2984         (WebCore::HTMLSelectElement::add): Use hasTagName inastead of hasLocalName.
2985         (WebCore::HTMLSelectElement::value): Use isHTMLOptionElement instead of hasTagName.
2986         Also use a new style for loop and emptyString() instead of "".
2987         (WebCore::HTMLSelectElement::setValue): Ditto.
2988         (WebCore::HTMLSelectElement::setLength): Ditto.
2989         (WebCore::HTMLSelectElement::searchOptionsForValue): Ditto.
2990         (WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
2991
2992         * html/HTMLTableColElement.cpp:
2993         (WebCore::HTMLTableColElement::additionalPresentationAttributeStyle): Use hasTagName
2994         instead of hasLocalName.
2995
2996         * html/HTMLTableRowsCollection.cpp:
2997         (WebCore::isInSection): Updated to use hasTagName and take a reference.
2998         (WebCore::HTMLTableRowsCollection::rowAfter): Pass a reference.
2999
3000         * html/parser/HTMLConstructionSite.cpp: Added now-needed include.
3001
3002         * html/parser/HTMLTreeBuilder.cpp:
3003         (WebCore::createCaseMap): Updated to return a map rather than filling one in, and to
3004         be flxible about the type of the table being used.
3005         (WebCore::adjustSVGTagNameCase): Updated to use NeverDestroyed.
3006         (WebCore::adjustAttributes): Added new helper so we can share more code. Updated
3007         template argument names for clarity.
3008         (WebCore::adjustSVGAttributes): Marked this inline, since it just turns around and
3009         calls a single non-inline function.
3010         (WebCore::adjustMathMLAttributes): Ditto.
3011         (WebCore::addNamesWithPrefix): Changed to take argument by reference instead of pointer.
3012         (WebCore::createForeignAttributesMap): Added. Factors out the map creation from the
3013         function below.
3014         (WebCore::adjustForeignAttributes): Updated for above changes.
3015         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Updated to pass reference.
3016         (WebCore::HTMLTreeBuilder::processTokenInForeignContent): Ditto.
3017
3018         * inspector/InspectorStyleSheet.cpp: Added now-needed include.
3019
3020         * mathml/MathMLElement.h: Added hasTagName, which hides the one inherited from Element
3021         and takes the more-specific MathMLQualifiedName type. This means we don't need to check
3022         the namespace at runtime because it's known at compile time. Also put the
3023         implementation of Node::hasTagName for MathMLQualifiedName into this header.
3024
3025         * mathml/MathMLInlineContainerElement.cpp:
3026         (WebCore::MathMLInlineContainerElement::createElementRenderer): Use hasTagName.
3027
3028         * mathml/MathMLSelectElement.cpp:
3029         (WebCore::MathMLSelectElement::attributeChanged): Use hasTagName.
3030         (WebCore::MathMLSelectElement::getSelectedActionChildAndIndex): Ditto.
3031         (WebCore::MathMLSelectElement::getSelectedActionChild): Ditto.
3032         (WebCore::MathMLSelectElement::getSelectedSemanticsChild): Ditto.
3033         (WebCore::MathMLSelectElement::updateSelectedChild): Ditto.
3034         * mathml/MathMLTextElement.cpp:
3035         (WebCore::MathMLTextElement::createElementRenderer): Ditto.
3036         (WebCore::MathMLTextElement::childShouldCreateRenderer): Ditto.
3037
3038         * platform/gtk/PasteboardGtk.cpp: Added now-needed include.
3039         * platform/mac/HTMLConverter.mm: Ditto.
3040         * rendering/RenderBlockFlow.cpp: Ditto.
3041
3042         * rendering/RenderBoxModelObject.cpp:
3043         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Use hasTagName.
3044         * rendering/RenderElement.cpp:
3045         (WebCore::RenderElement::rendererForRootBackground): Ditto.
3046         * rendering/RenderLayerBacking.cpp:
3047         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Ditto.
3048
3049         * rendering/RenderReplaced.cpp: Added now-needed include.
3050
3051         * rendering/mathml/RenderMathMLScripts.cpp:
3052         (WebCore::RenderMathMLScripts::RenderMathMLScripts): Use hasTagName.
3053         * rendering/mathml/RenderMathMLUnderOver.cpp:
3054         (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver): Ditto.
3055
3056         * svg/SVGElement.h: Added hasTagName, which hides the one inherited from Element
3057         and takes the more-specific SVGQualifiedName type. This means we don't need to check
3058         the namespace at runtime because it's known at compile time. Also put the
3059         implementation of Node::hasTagName for SVGQualifiedName into this header.
3060
3061         * svg/SVGFontFaceSrcElement.cpp:
3062         (WebCore::SVGFontFaceSrcElement::childrenChanged): Use isSVGFontFaceElement instead
3063         of calling hasTagName.
3064
3065         * svg/SVGUseElement.cpp:
3066         (WebCore::isDirectReference): Changed to take a reference and a more specific type.
3067         (WebCore::SVGUseElement::toClipPath): Added a type cast.
3068         (WebCore::SVGUseElement::rendererClipChild): Use more specific types so we don't
3069         need a type cast.
3070
3071         * xml/parser/XMLDocumentParser.cpp:
3072         (WebCore::XMLDocumentParser::parseDocumentFragment): Added explicit calls to this
3073         unusual call site that has a good reason to use hasLocalName instead of hasTagName.
3074
3075 2014-03-16  Andreas Kling  <akling@apple.com>
3076
3077         Stop pulling in JSDOMBinding.h via JSEventListener.h
3078         <https://webkit.org/b/130299>
3079
3080         Just chippin' away at the compile time monster.
3081
3082         Reviewed by Darin Adler.
3083
3084         * bindings/js/IDBBindingUtilities.cpp:
3085         * bindings/js/JSEventListener.h:
3086
3087 2014-03-16  David Kilzer  <ddkilzer@apple.com>
3088
3089         Double values passed to fabsf() in maxScaleFromTransform()
3090         <http://webkit.org/b/130297>
3091
3092         Reviewed by Darin Adler.
3093
3094         Fixes the following build failures using trunk clang:
3095
3096             WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:287:21: error: absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value [-Werror,-Wabsolute-value]
3097                 return std::max(fabsf(decomposeData.scaleX), fabsf(decomposeData.scaleY));
3098                                 ^
3099             WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:287:21: note: use function 'fabs' instead
3100                 return std::max(fabsf(decomposeData.scaleX), fabsf(decomposeData.scaleY));
3101                                 ^~~~~
3102                                 fabs
3103             WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:287:50: error: absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value [-Werror,-Wabsolute-value]
3104                 return std::max(fabsf(decomposeData.scaleX), fabsf(decomposeData.scaleY));
3105                                                              ^
3106             WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:287:50: note: use function 'fabs' instead
3107                 return std::max(fabsf(decomposeData.scaleX), fabsf(decomposeData.scaleY));
3108                                                              ^~~~~
3109                                                              fabs
3110
3111         * platform/graphics/ca/GraphicsLayerCA.cpp:
3112         (WebCore::maxScaleFromTransform): Use static_cast<float>() to
3113         convert float values to double values.
3114
3115 2014-03-15  Zalan Bujtas  <zalan@apple.com>
3116
3117         Move BorderEdge class to its own file.
3118         https://bugs.webkit.org/show_bug.cgi?id=130294
3119
3120         Reviewed by Sam Weinig.
3121
3122         This is in preparation to have better encapsulation for border box decoration painting.
3123
3124         No change in functionality.
3125
3126         * CMakeLists.txt:
3127         * GNUmakefile.list.am:
3128         * WebCore.vcxproj/WebCore.vcxproj:
3129         * WebCore.vcxproj/WebCore.vcxproj.filters:
3130         * WebCore.xcodeproj/project.pbxproj:
3131         * rendering/BorderEdge.cpp: Added.
3132         (WebCore::BorderEdge::BorderEdge):
3133         (WebCore::BorderEdge::getBorderEdgeInfo):
3134         (WebCore::BorderEdge::includesAdjacentEdges):
3135         (WebCore::BorderEdge::obscuresBackgroundEdge):
3136         (WebCore::BorderEdge::obscuresBackground):
3137         (WebCore::BorderEdge::getDoubleBorderStripeWidths):
3138         * rendering/BorderEdge.h: Added.
3139         (WebCore::BorderEdge::edgeFlagForSide):
3140         (WebCore::BorderEdge::includesEdge):
3141         (WebCore::BorderEdge::edgesShareColor):
3142         (WebCore::BorderEdge::hasVisibleColorAndStyle):
3143         (WebCore::BorderEdge::shouldRender):
3144         (WebCore::BorderEdge::presentButInvisible):
3145         (WebCore::BorderEdge::widthForPainting):
3146         (WebCore::BorderEdge::borderWidthInDevicePixel):
3147         * rendering/RenderBoxModelObject.cpp:
3148         (WebCore::borderStyleHasUnmatchedColorsAtCorner):
3149         (WebCore::colorsMatchAtCorner):
3150         (WebCore::colorNeedsAntiAliasAtCorner):
3151         (WebCore::willBeOverdrawn):
3152         (WebCore::joinRequiresMitre):
3153         (WebCore::RenderBoxModelObject::paintBorderSides):
3154         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
3155         (WebCore::RenderBoxModelObject::paintBorder):
3156         (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
3157         (WebCore::RenderBoxModelObject::borderObscuresBackground):
3158         * rendering/RenderBoxModelObject.h:
3159
3160 2014-03-15  Martin Robinson  <mrobinson@igalia.com>
3161
3162         Fix WebCore unused parameter warnings for WebKitGTK+ CMake build
3163         https://bugs.webkit.org/show_bug.cgi?id=130252
3164
3165         Reviewed by Carlos Garcia Campos.
3166
3167         * Modules/mediastream/HTMLMediaElementMediaStream.cpp: Fix unused parameters.
3168         * html/RangeInputType.cpp: Ditto.
3169         * page/gtk/EventHandlerGtk.cpp: Ditto.
3170         * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
3171         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp: Ditto.
3172         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Ditto.
3173         * platform/graphics/opengl/Extensions3DOpenGLES.cpp: Ditto.
3174         * platform/gtk/GamepadsGtk.cpp: Ditto.
3175         * platform/gtk/GtkClickCounter.cpp: Ditto.
3176         * platform/gtk/GtkPopupMenu.cpp: Ditto.
3177         * platform/gtk/GtkTouchContextHelper.cpp: Ditto.
3178         * platform/gtk/GtkVersioning.c: Ditto.
3179         * platform/gtk/MainFrameScrollbarGtk.cpp: Ditto.
3180         * platform/gtk/PasteboardGtk.cpp: Ditto.
3181         * platform/gtk/PasteboardHelper.cpp: Ditto.
3182         * platform/gtk/RedirectedXCompositeWindow.cpp: Ditto.
3183         * platform/gtk/RenderThemeGtk.cpp: Ditto.
3184         * platform/gtk/RenderThemeGtk.h: Ditto.
3185         * platform/gtk/RenderThemeGtk2.cpp: Ditto.
3186         * platform/gtk/ScrollbarThemeGtk.cpp: Ditto.
3187         * platform/gtk/ScrollbarThemeGtk2.cpp: Ditto.
3188         * platform/gtk/WidgetGtk.cpp: Ditto.
3189         * platform/network/gtk/CredentialBackingStore.cpp: Ditto.
3190         * platform/soup/SharedBufferSoup.cpp: Ditto.
3191         * plugins/gtk/PluginViewGtk.cpp: Ditto.
3192         * plugins/gtk/gtk2xtbin.c: Ditto.
3193         * rendering/InlineTextBox.cpp: Ditto.
3194
3195 2014-03-14  Myles C. Maxfield  <mmaxfield@apple.com>
3196
3197         RenderTextControl::hasValidAvgCharWidth doesn't detect System Font
3198         https://bugs.webkit.org/show_bug.cgi?id=130168
3199
3200         Reviewed by Dean Jackson.
3201
3202         No new tests.
3203
3204         * platform/graphics/Font.cpp: Moved functions from RenderTextControl
3205         (WebCore::Font::hasValidAverageCharWidth):
3206         (WebCore::Font::fastAverageCharWidthIfAvailable):
3207         * platform/graphics/Font.h:
3208         * rendering/RenderTextControl.cpp: Moved functions to Font.cpp
3209         (WebCore::RenderTextControl::getAverageCharWidth): Removed redundant function argument
3210         (WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
3211         * rendering/RenderTextControl.h:
3212         * rendering/RenderTextControlMultiLine.cpp:
3213         (WebCore::RenderTextControlMultiLine::getAverageCharWidth): Removed redundant function argument
3214         * rendering/RenderTextControlMultiLine.h:
3215         * rendering/RenderTextControlSingleLine.cpp:
3216         (WebCore::RenderTextControlSingleLine::getAverageCharWidth): Removed redundant function argument
3217         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
3218         * rendering/RenderTextControlSingleLine.h:
3219
3220 2014-03-15  David Kilzer  <ddkilzer@apple.com>
3221
3222         [iOS] Define SYSTEM_VERSION_PREFIX consistently
3223         <http://webkit.org/b/130293>
3224         <rdar://problem/15926359>
3225
3226         Reviewed by Dan Bernstein.
3227
3228         * Configurations/Version.xcconfig:
3229         (SYSTEM_VERSION_PREFIX_iphoneos): Sync with
3230         Source/WebKit/mac/Version.xcconfig.
3231
3232 2014-03-14  Mark Rowe  <mrowe@apple.com>
3233
3234         Fix the production build.
3235
3236         Don't rely on USE_INTERNAL_SDK being set for the Production configuration since UseInternalSDK.xcconfig won't
3237         be at the expected relative path when working from installed source.
3238
3239         * Configurations/Base.xcconfig:
3240
3241 2014-03-14  Maciej Stachowiak  <mjs@apple.com>
3242
3243         Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
3244         https://bugs.webkit.org/show_bug.cgi?id=130276
3245         <rdar://problem/16266927>
3246
3247         Reviewed by Simon Fraser.
3248
3249         No new tests because no behavior changes.
3250
3251         * DerivedSources.make:
3252         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp:
3253         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
3254         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl:
3255         * Modules/encryptedmedia/MediaKeyMessageEvent.cpp:
3256         * Modules/encryptedmedia/MediaKeyMessageEvent.h:
3257         * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
3258         * Modules/encryptedmedia/MediaKeyNeededEvent.cpp:
3259         * Modules/encryptedmedia/MediaKeyNeededEvent.h:
3260         * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
3261         * Modules/encryptedmedia/MediaKeySession.idl:
3262         * Modules/encryptedmedia/MediaKeys.idl:
3263         * Modules/geolocation/NavigatorGeolocation.cpp:
3264         * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
3265         * Modules/indexeddb/IDBCallbacks.h:
3266         * Modules/indexeddb/IDBDatabaseException.cpp:
3267         * Modules/indexeddb/IDBDatabaseMetadata.h:
3268         * Modules/indexeddb/IDBEventDispatcher.cpp:
3269         * Modules/indexeddb/IDBEventDispatcher.h:
3270         * Modules/indexeddb/IDBFactory.cpp:
3271         * Modules/indexeddb/IDBFactory.h:
3272         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
3273         * Modules/indexeddb/IDBFactoryBackendInterface.h:
3274         * Modules/indexeddb/IDBHistograms.h:
3275         * Modules/indexeddb/IDBIndexMetadata.h:
3276         * Modules/indexeddb/IDBObjectStoreMetadata.h:
3277         * Modules/indexeddb/IDBRecordIdentifier.h:
3278         * Modules/indexeddb/IDBRequest.cpp:
3279         * Modules/indexeddb/IDBRequest.h:
3280         * Modules/indexeddb/IDBRequest.idl:
3281         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
3282         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
3283         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl:
3284         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3285         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3286         * Modules/mediacontrols/MediaControlsHost.cpp:
3287         * Modules/mediacontrols/MediaControlsHost.h:
3288         * Modules/mediacontrols/MediaControlsHost.idl:
3289         * Modules/mediacontrols/mediaControlsApple.css:
3290         * Modules/mediacontrols/mediaControlsiOS.css:
3291         * Modules/mediasource/AudioTrackMediaSource.h:
3292         * Modules/mediasource/AudioTrackMediaSource.idl:
3293         * Modules/mediasource/TextTrackMediaSource.h:
3294         * Modules/mediasource/TextTrackMediaSource.idl:
3295         * Modules/mediasource/VideoTrackMediaSource.h:
3296         * Modules/mediasource/VideoTrackMediaSource.idl:
3297         * Modules/mediastream/AllAudioCapabilities.h:
3298         * Modules/mediastream/AllAudioCapabilities.idl:
3299         * Modules/mediastream/AllVideoCapabilities.h:
3300         * Modules/mediastream/AllVideoCapabilities.idl:
3301         * Modules/mediastream/AudioStreamTrack.cpp:
3302         * Modules/mediastream/AudioStreamTrack.h:
3303         * Modules/mediastream/AudioStreamTrack.idl:
3304         * Modules/mediastream/CapabilityRange.cpp:
3305         * Modules/mediastream/CapabilityRange.h:
3306         * Modules/mediastream/CapabilityRange.idl:
3307         * Modules/mediastream/MediaSourceStates.cpp:
3308         * Modules/mediastream/MediaSourceStates.h:
3309         * Modules/mediastream/MediaSourceStates.idl:
3310         * Modules/mediastream/MediaStreamCapabilities.cpp:
3311         * Modules/mediastream/MediaStreamCapabilities.h:
3312         * Modules/mediastream/MediaStreamCapabilities.idl:
3313         * Modules/mediastream/MediaTrackConstraint.cpp:
3314         * Modules/mediastream/MediaTrackConstraint.h:
3315         * Modules/mediastream/MediaTrackConstraint.idl:
3316         * Modules/mediastream/MediaTrackConstraintSet.cpp:
3317         * Modules/mediastream/MediaTrackConstraintSet.h:
3318         * Modules/mediastream/MediaTrackConstraints.cpp:
3319         * Modules/mediastream/MediaTrackConstraints.h:
3320         * Modules/mediastream/MediaTrackConstraints.idl:
3321         * Modules/mediastream/NavigatorMediaStream.cpp:
3322         * Modules/mediastream/NavigatorUserMediaError.cpp:
3323         * Modules/mediastream/RTCConfiguration.idl:
3324         * Modules/mediastream/RTCIceServer.idl:
3325         * Modules/mediastream/RTCOfferAnswerOptions.cpp:
3326         * Modules/mediastream/RTCOfferAnswerOptions.h:
3327         * Modules/mediastream/VideoStreamTrack.cpp:
3328         * Modules/mediastream/VideoStreamTrack.h:
3329         * Modules/mediastream/VideoStreamTrack.idl:
3330         * Modules/networkinfo/NetworkInfo.cpp:
3331         * Modules/networkinfo/NetworkInfo.h:
3332         * Modules/networkinfo/NetworkInfoConnection.cpp:
3333         * Modules/networkinfo/NetworkInfoConnection.h:
3334         * Modules/networkinfo/NetworkInfoController.cpp:
3335         * Modules/notifications/DOMWindowNotifications.cpp:
3336         * Modules/notifications/DOMWindowNotifications.h:
3337         * Modules/notifications/DOMWindowNotifications.idl:
3338         * Modules/notifications/NotificationController.cpp:
3339         * Modules/notifications/NotificationController.h:
3340         * Modules/notifications/NotificationPermissionCallback.h:
3341         * Modules/notifications/NotificationPermissionCallback.idl:
3342         * Modules/notifications/WorkerGlobalScopeNotifications.cpp:
3343         * Modules/notifications/WorkerGlobalScopeNotifications.h:
3344         * Modules/notifications/WorkerGlobalScopeNotifications.idl:
3345         * Modules/plugins/PluginReplacement.h:
3346         * Modules/plugins/QuickTimePluginReplacement.cpp:
3347         * Modules/plugins/QuickTimePluginReplacement.css:
3348         * Modules/plugins/QuickTimePluginReplacement.h:
3349         * Modules/plugins/QuickTimePluginReplacement.idl:
3350         * Modules/quota/DOMWindowQuota.idl:
3351         * Modules/speech/DOMWindowSpeechSynthesis.h:
3352         * Modules/speech/DOMWindowSpeechSynthesis.idl:
3353         * Modules/speech/SpeechSynthesis.cpp:
3354         * Modules/speech/SpeechSynthesis.h:
3355         * Modules/speech/SpeechSynthesis.idl:
3356         * Modules/speech/SpeechSynthesisEvent.cpp:
3357         * Modules/speech/SpeechSynthesisEvent.h:
3358         * Modules/speech/SpeechSynthesisEvent.idl:
3359         * Modules/speech/SpeechSynthesisUtterance.cpp:
3360         * Modules/speech/SpeechSynthesisUtterance.h:
3361         * Modules/speech/SpeechSynthesisUtterance.idl:
3362         * Modules/speech/SpeechSynthesisVoice.cpp:
3363         * Modules/speech/SpeechSynthesisVoice.h:
3364         * Modules/speech/SpeechSynthesisVoice.idl:
3365         * Modules/webaudio/AudioBuffer.cpp:
3366         * Modules/webaudio/AudioBuffer.h:
3367         * Modules/webaudio/AudioBuffer.idl:
3368         * Modules/webaudio/AudioListener.cpp:
3369         * Modules/webaudio/AudioListener.h:
3370         * Modules/webaudio/AudioListener.idl:
3371         * Modules/webaudio/AudioParam.h:
3372         * Modules/webaudio/AudioParam.idl:
3373         * Modules/webaudio/AudioParamTimeline.h:
3374         * Modules/webaudio/AudioScheduledSourceNode.h:
3375         * Modules/webaudio/ChannelMergerNode.cpp:
3376         * Modules/webaudio/ChannelMergerNode.h:
3377         * Modules/webaudio/ChannelMergerNode.idl:
3378         * Modules/webaudio/MediaStreamAudioSource.cpp:
3379         * Modules/webaudio/MediaStreamAudioSource.h:
3380         * Modules/webaudio/PeriodicWave.cpp:
3381         * Modules/webaudio/PeriodicWave.h:
3382         * Modules/webdatabase/ChangeVersionWrapper.cpp:
3383         * Modules/webdatabase/ChangeVersionWrapper.h:
3384         * Modules/webdatabase/DOMWindowWebDatabase.cpp:
3385         * Modules/webdatabase/DOMWindowWebDatabase.h:
3386         * Modules/webdatabase/DOMWindowWebDatabase.idl:
3387         * Modules/webdatabase/Database.cpp:
3388         * Modules/webdatabase/Database.h:
3389         * Modules/webdatabase/Database.idl:
3390         * Modules/webdatabase/DatabaseAuthorizer.cpp:
3391         * Modules/webdatabase/DatabaseAuthorizer.h:
3392         * Modules/webdatabase/DatabaseBackendBase.cpp:
3393         * Modules/webdatabase/DatabaseBackendBase.h:
3394         * Modules/webdatabase/DatabaseCallback.idl:
3395         * Modules/webdatabase/DatabaseContext.cpp:
3396         * Modules/webdatabase/DatabaseContext.h:
3397         * Modules/webdatabase/DatabaseDetails.h:
3398         * Modules/webdatabase/DatabaseTask.cpp:
3399         * Modules/webdatabase/DatabaseTask.h:
3400         * Modules/webdatabase/DatabaseThread.cpp:
3401         * Modules/webdatabase/DatabaseThread.h:
3402         * Modules/webdatabase/DatabaseTracker.cpp:
3403         * Modules/webdatabase/DatabaseTracker.h:
3404         * Modules/webdatabase/SQLCallbackWrapper.h:
3405         * Modules/webdatabase/SQLError.h:
3406         * Modules/webdatabase/SQLError.idl:
3407         * Modules/webdatabase/SQLException.cpp:
3408         * Modules/webdatabase/SQLResultSet.cpp:
3409         * Modules/webdatabase/SQLResultSet.h:
3410         * Modules/webdatabase/SQLResultSet.idl:
3411         * Modules/webdatabase/SQLResultSetRowList.cpp:
3412         * Modules/webdatabase/SQLResultSetRowList.h:
3413         * Modules/webdatabase/SQLResultSetRowList.idl:
3414         * Modules/webdatabase/SQLStatement.cpp:
3415         * Modules/webdatabase/SQLStatement.h:
3416         * Modules/webdatabase/SQLStatementBackend.cpp:
3417         * Modules/webdatabase/SQLStatementBackend.h:
3418         * Modules/webdatabase/SQLStatementCallback.h:
3419         * Modules/webdatabase/SQLStatementCallback.idl:
3420         * Modules/webdatabase/SQLStatementErrorCallback.h:
3421         * Modules/webdatabase/SQLStatementErrorCallback.idl:
3422         * Modules/webdatabase/SQLStatementSync.cpp:
3423         * Modules/webdatabase/SQLTransaction.cpp:
3424         * Modules/webdatabase/SQLTransaction.h:
3425         * Modules/webdatabase/SQLTransaction.idl:
3426         * Modules/webdatabase/SQLTransactionBackend.cpp:
3427         * Modules/webdatabase/SQLTransactionBackend.h:
3428         * Modules/webdatabase/SQLTransactionCallback.h:
3429         * Modules/webdatabase/SQLTransactionCallback.idl:
3430         * Modules/webdatabase/SQLTransactionErrorCallback.h:
3431         * Modules/webdatabase/SQLTransactionErrorCallback.idl:
3432         * Modules/webdatabase/WorkerGlobalScopeWebDatabase.cpp:
3433         * Modules/webdatabase/WorkerGlobalScopeWebDatabase.h:
3434         * Modules/webdatabase/WorkerGlobalScopeWebDatabase.idl:
3435         * Resources/deleteButton.tiff:
3436         * Resources/deleteButtonPressed.tiff:
3437         * WebCore.vcxproj/MigrateScripts:
3438         * WebCorePrefix.cpp:
3439         * accessibility/AXObjectCache.cpp:
3440         * accessibility/AXObjectCache.h:
3441         * accessibility/AccessibilityARIAGrid.cpp:
3442         * accessibility/AccessibilityARIAGrid.h:
3443         * accessibility/AccessibilityARIAGridCell.cpp:
3444         * accessibility/AccessibilityARIAGridCell.h:
3445         * accessibility/AccessibilityARIAGridRow.cpp:
3446         * accessibility/AccessibilityARIAGridRow.h:
3447         * accessibility/AccessibilityImageMapLink.cpp:
3448         * accessibility/AccessibilityImageMapLink.h:
3449         * accessibility/AccessibilityList.cpp:
3450         * accessibility/AccessibilityList.h:
3451         * accessibility/AccessibilityListBox.cpp:
3452         * accessibility/AccessibilityListBox.h:
3453         * accessibility/AccessibilityListBoxOption.cpp:
3454         * accessibility/AccessibilityListBoxOption.h:
3455         * accessibility/AccessibilityMediaControls.cpp:
3456         * accessibility/AccessibilityMediaControls.h:
3457         * accessibility/AccessibilityNodeObject.cpp:
3458         * accessibility/AccessibilityNodeObject.h:
3459         * accessibility/AccessibilityObject.cpp:
3460         * accessibility/AccessibilityObject.h:
3461         * accessibility/AccessibilityRenderObject.cpp:
3462         * accessibility/AccessibilityRenderObject.h:
3463         * accessibility/AccessibilitySVGRoot.cpp:
3464         * accessibility/AccessibilitySVGRoot.h:
3465         * accessibility/AccessibilityScrollbar.cpp:
3466         * accessibility/AccessibilityScrollbar.h:
3467         * accessibility/AccessibilitySlider.cpp:
3468         * accessibility/AccessibilitySlider.h:
3469         * accessibility/AccessibilityTable.cpp:
3470         * accessibility/AccessibilityTable.h:
3471         * accessibility/AccessibilityTableCell.cpp:
3472         * accessibility/AccessibilityTableCell.h:
3473         * accessibility/AccessibilityTableColumn.cpp:
3474         * accessibility/AccessibilityTableColumn.h:
3475         * accessibility/AccessibilityTableHeaderContainer.cpp:
3476         * accessibility/AccessibilityTableHeaderContainer.h:
3477         * accessibility/AccessibilityTableRow.cpp:
3478         * accessibility/AccessibilityTableRow.h:
3479         * accessibility/ios/AXObjectCacheIOS.mm:
3480         * accessibility/ios/AccessibilityObjectIOS.mm:
3481         * accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
3482         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3483         * accessibility/mac/AXObjectCacheMac.mm:
3484         * accessibility/mac/AccessibilityObjectMac.mm:
3485         * accessibility/mac/WebAccessibilityObjectWrapperBase.h:
3486         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
3487         * accessibility/mac/WebAccessibilityObjectWrapperMac.h:
3488         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3489         * bindings/gobject/WebKitDOMEventTarget.cpp:
3490         * bindings/gobject/WebKitDOMHTMLPrivate.cpp:
3491         * bindings/gobject/WebKitDOMHTMLPrivate.h:
3492         * bindings/js/Dictionary.cpp:
3493         * bindings/js/GCController.cpp:
3494         * bindings/js/GCController.h:
3495         * bindings/js/JSAttrCustom.cpp:
3496         * bindings/js/JSAudioTrackCustom.cpp:
3497         * bindings/js/JSAudioTrackListCustom.cpp:
3498         * bindings/js/JSCSSRuleCustom.cpp:
3499         * bindings/js/JSCSSRuleCustom.h:
3500         * bindings/js/JSCSSRuleListCustom.cpp:
3501         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3502         * bindings/js/JSCSSValueCustom.cpp:
3503         * bindings/js/JSCallbackData.cpp:
3504         * bindings/js/JSCallbackData.h:
3505         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3506         * bindings/js/JSClipboardCustom.cpp:
3507         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3508         * bindings/js/JSCustomXPathNSResolver.cpp:
3509         * bindings/js/JSCustomXPathNSResolver.h:
3510         * bindings/js/JSDOMGlobalObject.cpp:
3511         * bindings/js/JSDOMGlobalObject.h:
3512         * bindings/js/JSDOMWindowShell.cpp:
3513         * bindings/js/JSDOMWindowShell.h:
3514         * bindings/js/JSElementCustom.cpp:
3515         * bindings/js/JSEventCustom.cpp:
3516         * bindings/js/JSHTMLAppletElementCustom.cpp:
3517         * bindings/js/JSHTMLCanvasElementCustom.cpp:
3518         * bindings/js/JSHTMLDocumentCustom.cpp:
3519         * bindings/js/JSHTMLElementCustom.cpp:
3520         * bindings/js/JSHTMLEmbedElementCustom.cpp:
3521         * bindings/js/JSHTMLFormElementCustom.cpp:
3522         * bindings/js/JSHTMLFrameElementCustom.cpp:
3523         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
3524         * bindings/js/JSHTMLObjectElementCustom.cpp:
3525         * bindings/js/JSHTMLSelectElementCustom.h:
3526         * bindings/js/JSHistoryCustom.cpp:
3527         * bindings/js/JSMediaListCustom.h:
3528         * bindings/js/JSMediaSourceStatesCustom.cpp:
3529         * bindings/js/JSMediaStreamCapabilitiesCustom.cpp:
3530         * bindings/js/JSNamedNodeMapCustom.cpp:
3531         * bindings/js/JSNodeCustom.cpp:
3532         * bindings/js/JSNodeCustom.h:
3533         * bindings/js/JSNodeFilterCustom.cpp:
3534         * bindings/js/JSNodeListCustom.cpp:
3535         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3536         * bindings/js/JSSQLTransactionCustom.cpp:
3537         * bindings/js/JSSQLTransactionSyncCustom.cpp:
3538         * bindings/js/JSSVGElementInstanceCustom.cpp:
3539         * bindings/js/JSStyleSheetCustom.cpp:
3540         * bindings/js/JSStyleSheetCustom.h:
3541         * bindings/js/JSStyleSheetListCustom.cpp:
3542         * bindings/js/JSTextTrackCueCustom.cpp:
3543         * bindings/js/JSTextTrackCustom.cpp:
3544         * bindings/js/JSTextTrackListCustom.cpp:
3545         * bindings/js/JSTouchCustom.cpp:
3546         * bindings/js/JSTouchListCustom.cpp:
3547         * bindings/js/JSTrackCustom.cpp:
3548         * bindings/js/JSTrackCustom.h:
3549         * bindings/js/JSTrackEventCustom.cpp:
3550         * bindings/js/JSVideoTrackCustom.cpp:
3551         * bindings/js/JSVideoTrackListCustom.cpp:
3552         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3553         * bindings/js/JSWebKitPointCustom.cpp:
3554         * bindings/js/JSWorkerGlobalScopeBase.cpp:
3555         * bindings/js/JSWorkerGlobalScopeBase.h:
3556         * bindings/js/JSXMLHttpRequestCustom.cpp:
3557         * bindings/js/JSXSLTProcessorCustom.cpp:
3558         * bindings/js/ScriptControllerMac.mm:
3559         * bindings/js/ScriptProfile.cpp:
3560         * bindings/js/ScriptProfile.h:
3561         * bindings/js/ScriptProfileNode.h:
3562         * bindings/js/ScriptProfiler.cpp:
3563         * bindings/js/ScriptProfiler.h:
3564         * bindings/js/SerializedScriptValue.cpp:
3565         * bindings/js/SerializedScriptValue.h:
3566         * bindings/js/WorkerScriptController.cpp:
3567         * bindings/js/WorkerScriptController.h:
3568         * bindings/objc/DOM.h:
3569         * bindings/objc/DOM.mm:
3570         * bindings/objc/DOMAbstractView.mm:
3571         * bindings/objc/DOMAbstractViewFrame.h:
3572         * bindings/objc/DOMCSS.h:
3573         * bindings/objc/DOMCSS.mm:
3574         * bindings/objc/DOMCore.h:
3575         * bindings/objc/DOMCustomXPathNSResolver.h:
3576         * bindings/objc/DOMCustomXPathNSResolver.mm:
3577         * bindings/objc/DOMEventException.h:
3578         * bindings/objc/DOMEvents.h:
3579         * bindings/objc/DOMEvents.mm:
3580         * bindings/objc/DOMException.h:
3581         * bindings/objc/DOMExtensions.h:
3582         * bindings/objc/DOMHTML.h:
3583         * bindings/objc/DOMHTML.mm:
3584         * bindings/objc/DOMInternal.h:
3585         * bindings/objc/DOMInternal.mm:
3586         * bindings/objc/DOMObject.h:
3587         * bindings/objc/DOMObject.mm:
3588         * bindings/objc/DOMPrivate.h:
3589         * bindings/objc/DOMRangeException.h:
3590         * bindings/objc/DOMRanges.h:
3591         * bindings/objc/DOMStylesheets.h:
3592         * bindings/objc/DOMTraversal.h:
3593         * bindings/objc/DOMUIKitExtensions.h:
3594         * bindings/objc/DOMUIKitExtensions.mm:
3595         * bindings/objc/DOMUtility.mm:
3596         * bindings/objc/DOMViews.h:
3597         * bindings/objc/DOMXPath.h:
3598         * bindings/objc/DOMXPath.mm:
3599         * bindings/objc/DOMXPathException.h:
3600         * bindings/objc/ExceptionHandlers.h:
3601         * bindings/objc/ExceptionHandlers.mm:
3602         * bindings/objc/ObjCEventListener.h:
3603         * bindings/objc/ObjCEventListener.mm:
3604         * bindings/objc/ObjCNodeFilterCondition.h:
3605         * bindings/objc/ObjCNodeFilterCondition.mm:
3606         * bindings/objc/PublicDOMInterfaces.h:
3607         * bindings/objc/WebScriptObject.mm:
3608         * bindings/scripts/CodeGeneratorObjC.pm:
3609         * bindings/scripts/InFilesCompiler.pm:
3610         (license):
3611         * bindings/scripts/InFilesParser.pm:
3612         * bindings/scripts/generate-bindings.pl:
3613         * bindings/scripts/test/ObjC/DOMFloat64Array.h:
3614         * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
3615         * bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h:
3616         * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
3617         * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm:
3618         * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
3619         * bindings/scripts/test/ObjC/DOMTestCallback.h:
3620         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
3621         * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
3622         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
3623         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm:
3624         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
3625         * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
3626         * bindings/scripts/test/ObjC/DOMTestEventConstructor.mm:
3627         * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
3628         * bindings/scripts/test/ObjC/DOMTestEventTarget.h:
3629         * bindings/scripts/test/ObjC/DOMTestEventTarget.mm:
3630         * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
3631         * bindings/scripts/test/ObjC/DOMTestException.h:
3632         * bindings/scripts/test/ObjC/DOMTestException.mm:
3633         * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
3634         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
3635         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm:
3636         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h:
3637         * bindings/scripts/test/ObjC/DOMTestInterface.h:
3638         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
3639         * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
3640         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
3641         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm:
3642         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
3643         * bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
3644         * bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm:
3645         * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
3646         * bindings/scripts/test/ObjC/DOMTestNode.h:
3647         * bindings/scripts/test/ObjC/DOMTestNode.mm:
3648         * bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
3649         * bindings/scripts/test/ObjC/DOMTestObj.h:
3650         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3651         * bindings/scripts/test/ObjC/DOMTestObjInternal.h:
3652         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
3653         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm:
3654         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
3655         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
3656         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
3657         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
3658         * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
3659         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
3660         * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
3661         * bindings/scripts/test/ObjC/DOMattribute.h:
3662         * bindings/scripts/test/ObjC/DOMattribute.mm:
3663         * bindings/scripts/test/ObjC/DOMattributeInternal.h:
3664         * bindings/scripts/test/ObjC/DOMreadonly.h:
3665         * bindings/scripts/test/ObjC/DOMreadonly.mm:
3666         * bindings/scripts/test/ObjC/DOMreadonlyInternal.h:
3667         * bindings/scripts/test/TestCallback.idl:
3668         * bindings/scripts/test/TestCustomNamedGetter.idl:
3669         * bindings/scripts/test/TestDomainSecurity.idl:
3670         * bindings/scripts/test/TestEventConstructor.idl:
3671         * bindings/scripts/test/TestEventTarget.idl:
3672         * bindings/scripts/test/TestException.idl:
3673         * bindings/scripts/test/TestImplements.idl:
3674         * bindings/scripts/test/TestInterface.idl:
3675         * bindings/scripts/test/TestMediaQueryListListener.idl:
3676         * bindings/scripts/test/TestNamedConstructor.idl:
3677         * bindings/scripts/test/TestObj.idl:
3678         * bindings/scripts/test/TestOverloadedConstructors.idl:
3679         * bindings/scripts/test/TestSupplemental.idl:
3680         * bridge/Bridge.h:
3681         * bridge/IdentifierRep.cpp:
3682         * bridge/IdentifierRep.h:
3683         * bridge/NP_jsobject.cpp:
3684         * bridge/NP_jsobject.h:
3685         * bridge/c/CRuntimeObject.cpp:
3686         * bridge/c/CRuntimeObject.h:
3687         * bridge/c/c_class.cpp:
3688         * bridge/c/c_class.h:
3689         * bridge/c/c_instance.cpp:
3690         * bridge/c/c_instance.h:
3691         * bridge/c/c_runtime.cpp:
3692         * bridge/c/c_runtime.h:
3693         * bridge/c/c_utility.cpp:
3694         * bridge/c/c_utility.h:
3695         * bridge/jsc/BridgeJSC.cpp:
3696         * bridge/jsc/BridgeJSC.h:
3697         * bridge/npruntime.cpp:
3698         * bridge/npruntime_impl.h:
3699         * bridge/npruntime_priv.h:
3700         * bridge/objc/ObjCRuntimeObject.h:
3701         * bridge/objc/ObjCRuntimeObject.mm:
3702         * bridge/objc/WebScriptObject.h:
3703         * bridge/objc/objc_class.h:
3704         * bridge/objc/objc_class.mm:
3705         * bridge/objc/objc_header.h:
3706         * bridge/objc/objc_instance.h:
3707         * bridge/objc/objc_instance.mm:
3708         * bridge/objc/objc_runtime.h:
3709         * bridge/objc/objc_runtime.mm:
3710         * bridge/objc/objc_utility.h:
3711         * bridge/objc/objc_utility.mm:
3712         * bridge/runtime_array.cpp:
3713         * bridge/runtime_array.h:
3714         * bridge/runtime_method.cpp:
3715         * bridge/runtime_method.h:
3716         * bridge/runtime_object.cpp:
3717         * bridge/runtime_object.h:
3718         * bridge/runtime_root.cpp:
3719         * bridge/runtime_root.h:
3720         * bridge/testbindings.mm:
3721         * css/CSSAllInOne.cpp:
3722         * css/CSSAspectRatioValue.cpp:
3723         * css/CSSAspectRatioValue.h:
3724         * css/CSSBorderImageSliceValue.cpp:
3725         * css/CSSBorderImageSliceValue.h:
3726         * css/CSSCanvasValue.cpp:
3727         * css/CSSCanvasValue.h:
3728         * css/CSSCrossfadeValue.cpp:
3729         * css/CSSCrossfadeValue.h:
3730         * css/CSSFontFace.cpp:
3731         * css/CSSFontFace.h:
3732         * css/CSSFontFaceSource.cpp:
3733         * css/CSSFontFaceSource.h:
3734         * css/CSSFontFaceSrcValue.cpp:
3735         * css/CSSFontFaceSrcValue.h:
3736         * css/CSSFontFeatureValue.cpp:
3737         * css/CSSFontFeatureValue.h:
3738         * css/CSSFontSelector.cpp:
3739         * css/CSSFontSelector.h:
3740         * css/CSSFontValue.cpp:
3741         * css/CSSGradientValue.cpp:
3742         * css/CSSGradientValue.h:
3743         * css/CSSImageGeneratorValue.cpp:
3744         * css/CSSImageGeneratorValue.h:
3745         * css/CSSMediaRule.cpp:
3746         * css/CSSProperty.cpp:
3747         * css/CSSProperty.h:
3748         * css/CSSReflectValue.cpp:
3749         * css/CSSReflectValue.h:
3750         * css/CSSReflectionDirection.h:
3751         * css/CSSRuleList.cpp:
3752         * css/CSSRuleList.h:
3753         * css/CSSRuleList.idl:
3754         * css/CSSSegmentedFontFace.cpp:
3755         * css/CSSSegmentedFontFace.h:
3756         * css/CSSShadowValue.cpp:
3757         * css/CSSTimingFunctionValue.cpp:
3758         * css/CSSTimingFunctionValue.h:
3759         * css/CSSUnicodeRangeValue.cpp:
3760         * css/CSSUnicodeRangeValue.h:
3761         * css/CSSUnknownRule.idl:
3762         * css/CSSValue.cpp:
3763         * css/CSSValueList.idl:
3764         * css/MediaAllInOne.cpp:
3765         * css/MediaFeatureNames.cpp:
3766         * css/MediaList.idl:
3767         * css/MediaQuery.cpp:
3768         * css/MediaQuery.h:
3769         * css/MediaQueryEvaluator.cpp:
3770         * css/MediaQueryEvaluator.h:
3771         * css/MediaQueryExp.cpp:
3772         * css/MediaQueryExp.h:
3773         * css/Pair.h:
3774         * css/PropertySetCSSStyleDeclaration.h:
3775         * css/RGBColor.cpp:
3776         * css/RGBColor.h:
3777         * css/SVGCSSParser.cpp:
3778         * css/SVGCSSStyleSelector.cpp:
3779         * css/StyleInvalidationAnalysis.cpp:
3780         * css/StyleInvalidationAnalysis.h:
3781         * css/StyleMedia.cpp:
3782         * css/StyleMedia.h:
3783         * css/StyleMedia.idl:
3784         * css/StyleSheet.cpp:
3785         * css/WebKitCSSFilterValue.cpp:
3786         * css/WebKitCSSFilterValue.h:
3787         * css/WebKitCSSFilterValue.idl:
3788         * css/WebKitCSSKeyframeRule.cpp:
3789         * css/WebKitCSSKeyframeRule.h:
3790         * css/WebKitCSSKeyframeRule.idl:
3791         * css/WebKitCSSKeyframesRule.cpp:
3792         * css/WebKitCSSKeyframesRule.h:
3793         * css/WebKitCSSKeyframesRule.idl:
3794         * css/WebKitCSSTransformValue.cpp:
3795         * css/WebKitCSSTransformValue.h:
3796         * css/WebKitCSSTransformValue.idl:
3797         * css/make-css-file-arrays.pl:
3798         * css/mediaControls.css:
3799         * css/mediaControlsEfl.css:
3800         * css/mediaControlsEflFullscreen.css:
3801         * css/mediaControlsGtk.css:
3802         * css/mediaControlsiOS.css:
3803         * css/svg.css:
3804         * dom/ActiveDOMObject.cpp:
3805         * dom/ActiveDOMObject.h:
3806         * dom/BeforeLoadEvent.h:
3807         * dom/BeforeLoadEvent.idl:
3808         * dom/BeforeTextInsertedEvent.cpp:
3809         * dom/BeforeTextInsertedEvent.h:
3810         * dom/BeforeUnloadEvent.cpp:
3811         * dom/BeforeUnloadEvent.h:
3812         * dom/BeforeUnloadEvent.idl:
3813         * dom/ClassNodeList.cpp:
3814         * dom/ClassNodeList.h:
3815         * dom/ClientRect.cpp:
3816         * dom/ClientRect.h:
3817         * dom/ClientRect.idl:
3818         * dom/ClientRectList.cpp:
3819         * dom/ClientRectList.h:
3820         * dom/ClientRectList.idl:
3821         * dom/Clipboard.cpp:
3822         * dom/Clipboard.idl:
3823         * dom/ClipboardAccessPolicy.h:
3824         * dom/ClipboardMac.mm:
3825         * dom/CompositionEvent.cpp:
3826         * dom/CompositionEvent.h:
3827         * dom/CompositionEvent.idl:
3828         * dom/ContextDestructionObserver.cpp:
3829         * dom/ContextDestructionObserver.h:
3830         * dom/CurrentScriptIncrementer.h:
3831         * dom/CustomEvent.cpp:
3832         * dom/CustomEvent.h:
3833         * dom/CustomEvent.idl:
3834         * dom/DOMCoreException.cpp:
3835         * dom/DOMCoreException.h:
3836         * dom/DOMCoreException.idl:
3837         * dom/DOMError.idl:
3838         * dom/DeviceMotionEvent.cpp:
3839         * dom/DeviceMotionEvent.h:
3840         * dom/DeviceMotionEvent.idl:
3841         * dom/DocumentEventQueue.cpp:
3842         * dom/DocumentEventQueue.h:
3843         * dom/DocumentMarker.h:
3844         * dom/DocumentParser.h:
3845         * dom/DocumentSharedObjectPool.cpp:
3846         * dom/DocumentSharedObjectPool.h:
3847         * dom/Entity.idl:
3848         * dom/EventContext.cpp:
3849         * dom/EventContext.h:
3850         * dom/EventException.cpp:
3851         * dom/EventException.h:
3852         * dom/EventException.idl:
3853         * dom/EventListener.idl:
3854         * dom/EventListenerMap.cpp:
3855         * dom/EventListenerMap.h:
3856         * dom/EventNames.cpp:
3857         * dom/EventQueue.h:
3858         * dom/EventTarget.cpp:
3859         * dom/EventTarget.h:
3860         * dom/ExceptionBase.cpp:
3861         * dom/ExceptionBase.h:
3862         * dom/GenericEventQueue.cpp:
3863         * dom/GenericEventQueue.h:
3864         * dom/KeyboardEvent.idl:
3865         * dom/MessageChannel.cpp:
3866         * dom/MessageChannel.h:
3867         * dom/MessageChannel.idl:
3868         * dom/MessageEvent.cpp:
3869         * dom/MessageEvent.h:
3870         * dom/MessageEvent.idl:
3871         * dom/MessagePort.cpp:
3872         * dom/MessagePort.h:
3873         * dom/MessagePort.idl:
3874         * dom/MouseRelatedEvent.h:
3875         * dom/MutationEvent.idl:
3876         * dom/Notation.idl:
3877         * dom/OverflowEvent.cpp:
3878         * dom/OverflowEvent.h:
3879         * dom/OverflowEvent.idl:
3880         * dom/PopStateEvent.cpp:
3881         * dom/PopStateEvent.h:
3882         * dom/PopStateEvent.idl:
3883         * dom/Position.cpp:
3884         * dom/Position.h:
3885         * dom/ProcessingInstruction.idl:
3886         * dom/ProgressEvent.cpp:
3887         * dom/ProgressEvent.h:
3888         * dom/ProgressEvent.idl:
3889         * dom/Range.idl:
3890         * dom/RangeException.cpp:
3891         * dom/RangeException.h:
3892         * dom/ScriptExecutionContext.cpp:
3893         * dom/ScriptExecutionContext.h:
3894         * dom/SecurityContext.cpp:
3895         * dom/SecurityContext.h:
3896         * dom/StaticNodeList.cpp:
3897         * dom/StaticNodeList.h:
3898         * dom/Text.idl:
3899         * dom/TextEvent.cpp:
3900         * dom/TextEvent.h:
3901         * dom/TextEvent.idl:
3902         * dom/Touch.cpp:
3903         * dom/Touch.h:
3904         * dom/Touch.idl:
3905         * dom/TouchEvent.cpp:
3906         * dom/TouchEvent.h:
3907         * dom/TouchEvent.idl:
3908         * dom/TouchList.cpp:
3909         * dom/TouchList.h:
3910         * dom/TouchList.idl:
3911         * dom/TransitionEvent.cpp:
3912         * dom/TransitionEvent.h:
3913         * dom/TransitionEvent.idl:
3914         * dom/TreeWalker.idl:
3915         * dom/UIEvent.idl:
3916         * dom/UIEventWithKeyState.cpp:
3917         * dom/WebKitAnimationEvent.cpp:
3918         * dom/WebKitAnimationEvent.h:
3919         * dom/WebKitAnimationEvent.idl:
3920         * dom/WebKitTransitionEvent.cpp:
3921         * dom/WebKitTransitionEvent.h:
3922         * dom/WebKitTransitionEvent.idl:
3923         * dom/make_dom_exceptions.pl:
3924         * dom/make_event_factory.pl:
3925         * dom/make_names.pl:
3926         (printLicenseHeader):
3927         * editing/AlternativeTextController.cpp:
3928         * editing/AlternativeTextController.h:
3929         * editing/AppendNodeCommand.cpp:
3930         * editing/AppendNodeCommand.h:
3931         * editing/ApplyStyleCommand.cpp:
3932         * editing/ApplyStyleCommand.h:
3933         * editing/BreakBlockquoteCommand.cpp:
3934         * editing/BreakBlockquoteCommand.h:
3935         * editing/CompositeEditCommand.cpp:
3936         * editing/CompositeEditCommand.h:
3937         * editing/CreateLinkCommand.cpp:
3938         * editing/CreateLinkCommand.h:
3939         * editing/DeleteButton.cpp:
3940         * editing/DeleteButton.h:
3941         * editing/DeleteButtonController.cpp:
3942         * editing/DeleteButtonController.h:
3943         * editing/DeleteFromTextNodeCommand.cpp:
3944         * editing/DeleteFromTextNodeCommand.h:
3945         * editing/DeleteSelectionCommand.cpp:
3946         * editing/DeleteSelectionCommand.h:
3947         * editing/EditAction.h:
3948         * editing/EditCommand.cpp:
3949         * editing/EditCommand.h:
3950         * editing/EditingBoundary.h:
3951         * editing/EditingStyle.cpp:
3952         * editing/Editor.cpp:
3953         * editing/Editor.h:
3954         * editing/EditorCommand.cpp:
3955         * editing/EditorDeleteAction.h:
3956         * editing/EditorInsertAction.h:
3957         * editing/FormatBlockCommand.cpp:
3958         * editing/FormatBlockCommand.h:
3959         * editing/FrameSelection.cpp:
3960         * editing/FrameSelection.h:
3961         * editing/HTMLInterchange.cpp:
3962         * editing/HTMLInterchange.h:
3963         * editing/IndentOutdentCommand.cpp:
3964         * editing/IndentOutdentCommand.h:
3965         * editing/InsertIntoTextNodeCommand.cpp:
3966         * editing/InsertIntoTextNodeCommand.h:
3967         * editing/InsertLineBreakCommand.cpp:
3968         * editing/InsertLineBreakCommand.h:
3969         * editing/InsertListCommand.cpp:
3970         * editing/InsertListCommand.h:
3971         * editing/InsertNodeBeforeCommand.cpp:
3972         * editing/InsertNodeBeforeCommand.h:
3973         * editing/InsertParagraphSeparatorCommand.cpp:
3974         * editing/InsertParagraphSeparatorCommand.h:
3975         * editing/InsertTextCommand.cpp:
3976         * editing/InsertTextCommand.h:
3977         * editing/MarkupAccumulator.h:
3978         * editing/MergeIdenticalElementsCommand.cpp:
3979         * editing/MergeIdenticalElementsCommand.h:
3980         * editing/ModifySelectionListLevel.cpp:
3981         * editing/ModifySelectionListLevel.h:
3982         * editing/MoveSelectionCommand.cpp:
3983         * editing/MoveSelectionCommand.h:
3984         * editing/RemoveCSSPropertyCommand.cpp:
3985         * editing/RemoveCSSPropertyCommand.h:
3986         * editing/RemoveFormatCommand.cpp:
3987         * editing/RemoveFormatCommand.h:
3988         * editing/RemoveNodeCommand.cpp:
3989         * editing/RemoveNodeCommand.h:
3990         * editing/RemoveNodePreservingChildrenCommand.cpp:
3991         * editing/RemoveNodePreservingChildrenCommand.h:
3992         * editing/ReplaceSelectionCommand.cpp:
3993         * editing/ReplaceSelectionCommand.h:
3994         * editing/SetNodeAttributeCommand.cpp:
3995         * editing/SetNodeAttributeCommand.h:
3996         * editing/SetSelectionCommand.cpp:
3997         * editing/SetSelectionCommand.h:
3998         * editing/SimplifyMarkupCommand.cpp:
3999         * editing/SimplifyMarkupCommand.h:
4000         * editing/SmartReplace.cpp:
4001         * editing/SmartReplace.h:
4002         * editing/SmartReplaceCF.cpp:
4003         * editing/SpellChecker.cpp:
4004         * editing/SpellChecker.h:
4005         * editing/SpellingCorrectionCommand.cpp:
4006         * editing/SpellingCorrectionCommand.h:
4007         * editing/SplitElementCommand.cpp:
4008         * editing/SplitElementCommand.h:
4009         * editing/SplitTextNodeCommand.cpp:
4010         * editing/SplitTextNodeCommand.h:
4011         * editing/SplitTextNodeContainingElementCommand.cpp:
4012         * editing/SplitTextNodeContainingElementCommand.h:
4013         * editing/TextAffinity.h:
4014         * editing/TextCheckingHelper.cpp:
4015         * editing/TextGranularity.h:
4016         * editing/TextIterator.cpp:
4017         * editing/TextIterator.h:
4018         * editing/TextIteratorBehavior.h:
4019         * editing/TypingCommand.cpp:
4020         * editing/TypingCommand.h:
4021         * editing/UnlinkCommand.cpp:
4022         * editing/UnlinkCommand.h:
4023         * editing/VisiblePosition.cpp:
4024         * editing/VisiblePosition.h:
4025         * editing/VisibleSelection.cpp:
4026         * editing/VisibleSelection.h:
4027         * editing/VisibleUnits.cpp:
4028         * editing/VisibleUnits.h:
4029         * editing/WrapContentsInDummySpanCommand.cpp:
4030         * editing/WrapContentsInDummySpanCommand.h:
4031         * editing/WritingDirection.h:
4032         * editing/efl/EditorEfl.cpp:
4033         * editing/htmlediting.cpp:
4034         * editing/htmlediting.h:
4035         * editing/mac/EditorMac.mm:
4036         * editing/mac/FrameSelectionMac.mm:
4037         * editing/markup.cpp:
4038         * editing/markup.h:
4039         * extract-localizable-strings.pl:
4040         * fileapi/FileException.cpp:
4041         * history/BackF