Subpixel rendering[iOS]: <select> decoration is misaligned when the renderer is on...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-05-11  Zalan Bujtas  <zalan@apple.com>
2
3         Subpixel rendering[iOS]: <select> decoration is misaligned when the renderer is on subpixel position.
4         https://bugs.webkit.org/show_bug.cgi?id=132779
5         <rdar://problem/16631071>
6
7         Reviewed by Simon Fraser.
8
9         Push <select> theme decoration's rect to device pixel position to ensure
10         that the theme bounds are aligned with the renderer's bounds. (in painting terms)
11         However, as the decoration code paints multiple items, they all need to use snapped 
12         final coordinates for painting : tracked here https://bugs.webkit.org/show_bug.cgi?id=132780
13         This patch also changes the padding values for <select> [iOS] to compensate for the integer
14         truncation that happened before subpixel. 
15
16         Not testable.
17
18         * css/html.css:
19         (select):
20         * platform/efl/RenderThemeEfl.cpp:
21         (WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
22         * platform/efl/RenderThemeEfl.h:
23         * platform/gtk/RenderThemeGtk.cpp:
24         (WebCore::RenderThemeGtk::paintMenuListButtonDecorations):
25         * platform/gtk/RenderThemeGtk.h:
26         * rendering/RenderTheme.cpp:
27         (WebCore::RenderTheme::paintDecorations):
28         * rendering/RenderTheme.h:
29         (WebCore::RenderTheme::paintMenuListButtonDecorations):
30         * rendering/RenderThemeIOS.h:
31         * rendering/RenderThemeIOS.mm:
32         (WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
33         * rendering/RenderThemeMac.h:
34         * rendering/RenderThemeMac.mm:
35         (WebCore::RenderThemeMac::paintMenuListButtonDecorations):
36         * rendering/RenderThemeSafari.cpp:
37         (WebCore::RenderThemeSafari::paintMenuListButtonDecorations):
38         * rendering/RenderThemeSafari.h:
39         * rendering/RenderThemeWin.cpp:
40         (WebCore::RenderThemeWin::paintMenuList):
41         (WebCore::RenderThemeWin::paintMenuListButtonDecorations):
42         * rendering/RenderThemeWin.h:
43
44 2014-05-11  Zan Dobersek  <zdobersek@igalia.com>
45
46         Move Source/WebCore/workers/ code to std::unique_ptr
47         https://bugs.webkit.org/show_bug.cgi?id=132401
48
49         Reviewed by Darin Adler.
50
51         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/workers (and related places)
52         with std::unique_ptr.
53
54         * bindings/js/JSDOMWindowCustom.cpp:
55         (WebCore::JSDOMWindow::setTimeout):
56         (WebCore::JSDOMWindow::setInterval):
57         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
58         (WebCore::JSWorkerGlobalScope::setTimeout):
59         (WebCore::JSWorkerGlobalScope::setInterval):
60         * bindings/js/ScheduledAction.cpp:
61         (WebCore::ScheduledAction::create):
62         * bindings/js/ScheduledAction.h:
63         * page/DOMTimer.cpp:
64         (WebCore::DOMTimer::DOMTimer):
65         (WebCore::DOMTimer::install):
66         (WebCore::DOMTimer::fired):
67         (WebCore::DOMTimer::didStop):
68         * page/DOMTimer.h:
69         * page/DOMWindow.cpp:
70         (WebCore::DOMWindow::setTimeout):
71         (WebCore::DOMWindow::setInterval):
72         * page/DOMWindow.h:
73         * workers/WorkerEventQueue.h:
74         * workers/WorkerGlobalScope.cpp:
75         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
76         (WebCore::WorkerGlobalScope::setTimeout):
77         (WebCore::WorkerGlobalScope::setInterval):
78         * workers/WorkerGlobalScope.h:
79         (WebCore::WorkerGlobalScope::clearScript):
80         * workers/WorkerLoaderProxy.h:
81         * workers/WorkerMessagingProxy.h:
82         * workers/WorkerRunLoop.cpp:
83         (WebCore::WorkerRunLoop::WorkerRunLoop):
84         * workers/WorkerRunLoop.h:
85         * workers/WorkerScriptLoader.cpp:
86         (WebCore::WorkerScriptLoader::loadSynchronously):
87         (WebCore::WorkerScriptLoader::loadAsynchronously):
88         (WebCore::WorkerScriptLoader::createResourceRequest):
89         * workers/WorkerScriptLoader.h:
90         * workers/WorkerThread.cpp:
91         (WebCore::WorkerThread::WorkerThread):
92         (WebCore::WorkerThread::workerThread):
93         (WebCore::WorkerThreadStartupData::create): Deleted.
94         * workers/WorkerThread.h:
95
96 2014-05-09  Myles C. Maxfield  <litherum@gmail.com>
97
98         [Mac] [iOS] Underlines are too low
99         https://bugs.webkit.org/show_bug.cgi?id=132770
100
101         Reviewed by Darin Adler.
102
103         computeUnderlineOffset() inside InlineTextBox.cpp lowers underlines from text
104         baseline by a value that is proportional to the font size. However, this
105         lowering was done a second time in
106         GraphicsContext::computeLineBoundsAndAntialiasingModeForText(). This patch
107         removes this second, platform-dependent lowering.
108
109         This duplication was caused by merging iOS into open source, where iOS used
110         the GraphicsContext approach and open source used the InlineTextBox approach.
111
112         Covered by fast/css3-text/css3-text-decoration/text-decoration-thickness.html.
113
114         * platform/graphics/GraphicsContext.cpp:
115         (WebCore::GraphicsContext::computeLineBoundsAndAntialiasingModeForText): Remove
116         redundant lowering code
117         * rendering/InlineTextBox.cpp:
118         (WebCore::InlineTextBox::paintDecoration): Clean up textDecorationThickness
119         variable
120
121 2014-05-11  Antti Koivisto  <antti@apple.com>
122
123         Text with simple line layout not getting pushed below float when there is not enough space for it
124         https://bugs.webkit.org/show_bug.cgi?id=126991
125
126         Reviewed by Andreas Kling.
127
128         Tests: fast/text/simple-lines-intruding-wide-float-dynamic.html
129                fast/text/simple-lines-intruding-wide-float.html
130
131         * rendering/RenderBlockFlow.cpp:
132         (WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
133         
134             Invalidate the line layout path when floats change. We need to check SimpleLineLayout::canUseFor again as
135             intruding floats may make this flow ineligible to use the path.
136
137         * rendering/RenderBlockFlow.h:
138         (WebCore::RenderBlockFlow::floatingObjectSet):
139         * rendering/SimpleLineLayout.cpp:
140         (WebCore::SimpleLineLayout::canUseFor):
141         
142             Test the top positions of all floats for case that would push text below the float instead of just testing 
143             the first line. We may have floats in the middle of the paragraph too.
144
145 2014-05-11  peavo@outlook.com  <peavo@outlook.com>
146
147         WinCairo crashes on acid3 test
148         https://bugs.webkit.org/show_bug.cgi?id=131364
149
150         Reviewed by Brent Fulgham.
151
152         When the 304 (Not-modified) response is received, the Curl backend should look up the cached response,
153         and call the client method didReceiveResponse with the cached response, instead of the 304 response.
154         Otherwise the response will contain an empty MIME type, which causes the request to be cancelled, and the client deleted.
155         When the Curl cache manager then accesses the client afterwards, it is deleted, and we crash.
156
157         * platform/network/curl/CurlCacheManager.cpp:
158         (WebCore::CurlCacheManager::didReceiveResponse): Return early if request is cancelled.
159         (WebCore::CurlCacheManager::getCachedResponse): Added method to get cached response.
160         * platform/network/curl/CurlCacheManager.h: Ditto.
161         * platform/network/curl/ResourceHandleManager.cpp:
162         (WebCore::headerCallback): When 304 response is received, look up cached response, and use it.
163
164 2014-05-10  Tim Horton  <timothy_horton@apple.com>
165
166         [WKWebView _updateScrollViewBackground] churns UI-and-CGColors while repainting
167         https://bugs.webkit.org/show_bug.cgi?id=132793
168         <rdar://problem/16877870>
169
170         Reviewed by Dan Bernstein.
171
172         * WebCore.exp.in:
173         Export a Color convenience function.
174
175 2014-05-10  Commit Queue  <commit-queue@webkit.org>
176
177         Unreviewed, rolling out r168578.
178         https://bugs.webkit.org/show_bug.cgi?id=132789
179
180         Speculative rollout since this appears to break PLT3.
181         (Requested by kling on #webkit).
182
183         Reverted changeset:
184
185         "Move Source/WebCore/workers/ code to std::unique_ptr"
186         https://bugs.webkit.org/show_bug.cgi?id=132401
187         http://trac.webkit.org/changeset/168578
188
189 2014-05-10  Darin Adler  <darin@apple.com>
190
191         REGRESSION (r166853): fast/preloader/document-write.html is very flaky
192         https://bugs.webkit.org/show_bug.cgi?id=130942
193
194         Reviewed by Anders Carlsson.
195
196         * style/StyleResolveTree.cpp:
197         (WebCore::Style::suspendMemoryCacheClientCalls): Use a RefPtr to the main
198         frame as a weak pointer to a Page that will work unless the page is destroyed.
199         The old code tried to do it with a RefPtr to a document, but as the FIXME
200         points out, that won't work if the document is disassociated with its frame.
201
202 2014-05-10  Anders Carlsson  <andersca@apple.com>
203
204         Block exceptions when trying to convert attributed strings to RTF and RTFD
205         https://bugs.webkit.org/show_bug.cgi?id=132778
206         <rdar://problem/16675805>
207
208         Reviewed by Darin Adler.
209
210         When the iOS WebHTMLConverter was upstreamed, converting some attributed strings to RTF and RTFD
211         started throwing Objective-C exceptions (see <rdar://problem/16876920>).
212         
213         In WebKit2, we now crash on unhandled exceptions so work around that crash by adding exception blocking macros.
214
215         * editing/ios/EditorIOS.mm:
216         (WebCore::dataInRTFDFormat):
217         (WebCore::dataInRTFFormat):
218         * editing/mac/EditorMac.mm:
219         (WebCore::dataInRTFDFormat):
220         (WebCore::dataInRTFFormat):
221
222 2014-05-10  Zan Dobersek  <zdobersek@igalia.com>
223
224         Move Source/WebCore/workers/ code to std::unique_ptr
225         https://bugs.webkit.org/show_bug.cgi?id=132401
226
227         Reviewed by Andreas Kling.
228
229         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/workers (and related places)
230         with std::unique_ptr.
231
232         * bindings/js/JSDOMWindowCustom.cpp:
233         (WebCore::JSDOMWindow::setTimeout):
234         (WebCore::JSDOMWindow::setInterval):
235         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
236         (WebCore::JSWorkerGlobalScope::setTimeout):
237         (WebCore::JSWorkerGlobalScope::setInterval):
238         * bindings/js/ScheduledAction.cpp:
239         (WebCore::ScheduledAction::create):
240         * bindings/js/ScheduledAction.h:
241         * page/DOMTimer.cpp:
242         (WebCore::DOMTimer::DOMTimer):
243         (WebCore::DOMTimer::install):
244         (WebCore::DOMTimer::fired):
245         (WebCore::DOMTimer::didStop):
246         * page/DOMTimer.h:
247         * page/DOMWindow.cpp:
248         (WebCore::DOMWindow::setTimeout):
249         (WebCore::DOMWindow::setInterval):
250         * page/DOMWindow.h:
251         * workers/WorkerEventQueue.h:
252         * workers/WorkerGlobalScope.cpp:
253         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
254         (WebCore::WorkerGlobalScope::setTimeout):
255         (WebCore::WorkerGlobalScope::setInterval):
256         * workers/WorkerGlobalScope.h:
257         (WebCore::WorkerGlobalScope::clearScript):
258         * workers/WorkerLoaderProxy.h:
259         * workers/WorkerMessagingProxy.h:
260         * workers/WorkerRunLoop.cpp:
261         (WebCore::WorkerRunLoop::WorkerRunLoop):
262         * workers/WorkerRunLoop.h:
263         * workers/WorkerScriptLoader.cpp:
264         (WebCore::WorkerScriptLoader::loadSynchronously):
265         (WebCore::WorkerScriptLoader::loadAsynchronously):
266         (WebCore::WorkerScriptLoader::createResourceRequest):
267         * workers/WorkerScriptLoader.h:
268         * workers/WorkerThread.cpp:
269         (WebCore::WorkerThread::WorkerThread):
270         (WebCore::WorkerThread::workerThread):
271         (WebCore::WorkerThreadStartupData::create): Deleted.
272         * workers/WorkerThread.h:
273
274 2014-05-09  Dean Jackson  <dino@apple.com>
275
276         -webkit-filter prevents rendering at retina scale
277         https://bugs.webkit.org/show_bug.cgi?id=93471
278
279         Reviewed by Dirk Schulze.
280
281         Implement 2x support for filters that go through
282         the -webkit-filter property. This includes all
283         shorthand filters, and any referenced SVG-style filters
284         (as long as they use only the supported subset of
285         operations - basically the same as is exposed for
286         the shorthands).
287
288         Tests: fast/hidpi/filters-blur.html
289                fast/hidpi/filters-hue-rotate.html
290                fast/hidpi/filters-invert.html
291                fast/hidpi/filters-multiple.html
292                fast/hidpi/filters-reference.html
293                fast/hidpi/filters-shadow.html
294
295         * platform/graphics/cg/ImageBufferCG.cpp:
296         (WebCore::ImageBuffer::getUnmultipliedImageData): Scale the source rectangle if the method was
297         called using LogicalCoordinates.
298         (WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
299         (WebCore::ImageBuffer::putByteArray): Ditto.
300
301         * platform/graphics/filters/FEDropShadow.cpp:
302         (WebCore::FEDropShadow::platformApplySoftware): Make sure to scale the blur radius by the filter
303         resolution, and call the byte-array methods with the native coordinate system.
304         * platform/graphics/filters/FEGaussianBlur.cpp:
305         (WebCore::FEGaussianBlur::calculateUnscaledKernelSize): Fix typo.
306         (WebCore::FEGaussianBlur::platformApplySoftware): Scale the kernel and paint rectangles
307         by the filter scale.
308
309         * platform/graphics/filters/Filter.h:
310         (WebCore::Filter::Filter): Initialise the filter scale.
311         (WebCore::Filter::filterScale): New property which reflects the mapping between logical pixels
312         and device pixels.
313         (WebCore::Filter::setFilterScale):
314
315         * platform/graphics/filters/FilterEffect.cpp:
316         (WebCore::FilterEffect::asImageBuffer): Make sure buffer creation takes scale into account.
317         (WebCore::FilterEffect::asUnmultipliedImage): Ditto.
318         (WebCore::FilterEffect::asPremultipliedImage): Ditto.
319         (WebCore::FilterEffect::copyImageBytes): Scale any incoming regions if they are talking about
320         device pixels rather than logical pixels.
321         (WebCore::FilterEffect::copyUnmultipliedImage): Ditto.
322         (WebCore::FilterEffect::copyPremultipliedImage): Ditto.
323         (WebCore::FilterEffect::createImageBufferResult): Take scale into account when creating byte array.
324         (WebCore::FilterEffect::createUnmultipliedImageResult): Ditto.
325         (WebCore::FilterEffect::createPremultipliedImageResult): Ditto.
326
327         * rendering/FilterEffectRenderer.cpp:
328         (WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): Pass filter scale into buffer creation.
329
330         * rendering/RenderLayer.cpp:
331         (WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer): Make sure to set the filter scale to
332         the device scale factor, and notice if we ever change scales.
333
334 2014-05-10  Praveen R Jadhav  <praveen.j@samsung.com>
335
336         [MediaStream] Rename NavigatorMediaStream as NavigatorUserMedia.
337         https://bugs.webkit.org/show_bug.cgi?id=132734
338
339         Reviewed by Eric Carlson.
340
341         Spec: http://www.w3.org/TR/mediacapture-streams/#navigatorusermedia
342
343         This patch replaces 'NavigatorMediaStream' with 'NavigatorUserMedia'
344         throughout the code to be consistent with W3C specifications.
345         Test cases remain the same as 'Navigator' implies 'NavigatorUserMedia'.
346
347         * CMakeLists.txt: Compiles NavigatorUserMedia.cpp
348         * DerivedSources.make: Compiles NavigatorUserMedia.idl
349         * Modules/mediastream/NavigatorMediaStream.cpp: Removed.
350         * Modules/mediastream/NavigatorMediaStream.h: Removed.
351         * Modules/mediastream/NavigatorMediaStream.idl: Removed.
352         * Modules/mediastream/NavigatorUserMedia.cpp: Added.
353         (WebCore::NavigatorUserMedia::NavigatorUserMedia):
354         (WebCore::NavigatorUserMedia::~NavigatorUserMedia):
355         (WebCore::NavigatorUserMedia::webkitGetUserMedia):
356         * Modules/mediastream/NavigatorUserMedia.h: Added.
357         * Modules/mediastream/NavigatorUserMedia.idl: Added.
358         * WebCore.xcodeproj/project.pbxproj:
359         * bindings/js/JSNavigatorCustom.cpp:
360         (WebCore::JSNavigator::webkitGetUserMedia): NavigatorUserMedia
361         class is used instead of NavigatorMediaStream.
362
363 2014-05-10  Zalan Bujtas  <zalan@apple.com>
364
365         Subpixel rendering: Empty rects should remain empty after integrally enclosing them.
366         https://bugs.webkit.org/show_bug.cgi?id=132753
367         <rdar://problem/16846801>
368
369         Reviewed by Simon Fraser.
370
371         This patch ensures that empty LayoutRects remain empty after converting to integral enclosing rect.
372         LayoutRects with fractional position get expanded even if they are empty. This makes rectangle
373         operations unreliable and can result in undesired side effects.
374
375         No testable/covered by existing tests.
376
377         * platform/graphics/LayoutRect.cpp:
378         (WebCore::enclosingIntRect):
379         * rendering/InlineTextBox.cpp:
380         (WebCore::InlineTextBox::localSelectionRect):
381         (WebCore::InlineTextBox::paintDocumentMarker):
382         (WebCore::InlineTextBox::paintTextMatchMarker):
383         (WebCore::InlineTextBox::computeRectForReplacementMarker):
384         (WebCore::integralEnclosingRectForSelection): Deleted.
385
386 2014-05-09  Joseph Pecoraro  <pecoraro@apple.com>
387
388         Web Inspector: Allow Remote Inspector to entitlement check UIProcess through WebProcess
389         https://bugs.webkit.org/show_bug.cgi?id=132409
390
391         Reviewed by Timothy Hatcher.
392
393         * inspector/InspectorClient.h:
394         (WebCore::InspectorClient::parentProcessIdentifier): Deleted.
395         * page/PageDebuggable.cpp:
396         (WebCore::PageDebuggable::parentProcessIdentifier): Deleted.
397         * page/PageDebuggable.h:
398         pid per debuggable is no longer needed.
399
400 2014-05-09  Dean Jackson  <dino@apple.com>
401
402         [fullscreen] cursor should auto-hide when over video
403         https://bugs.webkit.org/show_bug.cgi?id=132758
404
405         Unreviewed followup based on test failure.
406
407         * css/fullscreen.css: Append the previous rule - video children of fullscreen elements.
408
409 2014-05-09  Dean Jackson  <dino@apple.com>
410
411         [fullscreen] cursor should auto-hide when over video
412         https://bugs.webkit.org/show_bug.cgi?id=132758
413
414         Reviewed by Brent Fulgham.
415
416         Cursors were not auto-hiding over fullscreen video. There was
417         a small error in the CSS we load for fullscreen content.
418
419         * css/fullscreen.css: Don't hide when video is a child of the fullscreen element - hide when it *is* the fullscreen element.
420         (video:-webkit-full-screen):
421         (:-webkit-full-screen video:hover): Deleted.
422
423 2014-05-09  Zalan Bujtas  <zalan@apple.com>
424
425         Subpixel rendering[iOS]: Top bar on apple.com/support jiggles when the swoosh animates.
426         https://bugs.webkit.org/show_bug.cgi?id=132750
427         <rdar://problem/16803281>
428
429         Reviewed by Simon Fraser.
430
431         This patch ensures that GraphicsLayer and RemoteLayerBackingStore have the same dimensions.
432         
433         Remove integral enclosing when we set the size on RemoteLayerBackingStore. It makes the layer's size
434         different from the backingstore when the passed value is fractional.
435         We scale and integral round this value to size the shareable bitmap later. Rounding ensures that
436         the final size value matches what we calculated at GraphicsLayerCA::updateGeometry()
437
438         Currently not testable.
439
440         * platform/graphics/ca/GraphicsLayerCA.cpp:
441         (WebCore::GraphicsLayerCA::updateGeometry):
442         (WebCore::GraphicsLayerCA::computePixelAlignment): include device scale factor to be able calculate the final content scale.
443         * platform/graphics/ca/GraphicsLayerCA.h:
444
445 2014-05-09  Mark Hahnenberg  <mhahnenberg@apple.com>
446
447         JSDOMWindow should disable property caching after a certain point
448         https://bugs.webkit.org/show_bug.cgi?id=132751
449
450         Reviewed by Filip Pizlo.
451
452         No new tests.
453
454         This is part of removing HasImpureGetOwnPropertySlot from JSDOMWindow. After the lookup in the static 
455         hash table for JSDOMWindow fails we want to disable property caching even if the code that follows thinks 
456         that it has provided a cacheable value.
457
458         * bindings/js/JSDOMWindowCustom.cpp:
459         (WebCore::JSDOMWindow::getOwnPropertySlot):
460
461 2014-05-09  Benjamin Poulain  <bpoulain@apple.com>
462
463         Fix the export file after r168556
464
465         * WebCore.exp.in: I forgot to fix the export file before landing.
466
467 2014-05-09  Benjamin Poulain  <bpoulain@apple.com>
468
469         [iOS][WK2] Set up the resize events
470         https://bugs.webkit.org/show_bug.cgi?id=132726
471
472         Reviewed by Darin Adler and Simon Fraser.
473
474         Let the WebKit2 layer override the size used for resize events.
475
476         * WebCore.exp.in:
477         * page/FrameView.cpp:
478         (WebCore::FrameView::layout):
479         (WebCore::FrameView::sizeForResizeEvent):
480         (WebCore::FrameView::sendResizeEventIfNeeded):
481         (WebCore::FrameView::setCustomSizeForResizeEvent):
482         * page/FrameView.h:
483
484 2014-05-09  Alexey Proskuryakov  <ap@apple.com>
485
486         REGRESSION (r168518): Multiple tests for workers in blobs assert
487         https://bugs.webkit.org/show_bug.cgi?id=132728
488
489         Reviewed by Geoffrey Garen.
490
491         Change File serialization to include name, so that we don't have to regenerate anything
492         on a secondary thread after deserialization.
493
494         Files and Blobs can't be stored persistently, because URLs are transient (IndexedDB
495         has an explicit check, and fails if there were any blob URLs). API doesn't have the
496         check, but given that anyone who tried to use these to serialize a File would fail,
497         it seems OK to change the format.
498
499         * bindings/js/SerializedScriptValue.cpp:
500         (WebCore::CloneSerializer::write):
501         (WebCore::CloneDeserializer::readFile):
502         * fileapi/File.cpp:
503         (WebCore::File::File):
504         * fileapi/File.h:
505
506 2014-05-08  Mark Hahnenberg  <mhahnenberg@apple.com>
507
508         JSDOMWindow should have a WatchpointSet to fire on window close
509         https://bugs.webkit.org/show_bug.cgi?id=132721
510
511         Reviewed by Filip Pizlo.
512
513         No new tests.
514
515         This patch allows us to reset the inline caches that assumed they could skip 
516         the first part of JSDOMWindow::getOwnPropertySlot that checks if the window has 
517         been closed. This is part of getting rid of HasImpureGetOwnPropertySlot on JSDOMWindow.
518
519         JSDOMWindowBase now has a WatchpointSet that the underlying DOMWindow fires when its
520         frame is cleared. In getOwnPropertySlot, we now pass this WatchpointSet to PropertySlot
521         which will shepherd it back up to the code that generates the inline cache (and the 
522         Watchpoint for clearing it).
523
524         * bindings/js/JSDOMWindowBase.cpp:
525         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
526         (WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
527         * bindings/js/JSDOMWindowBase.h:
528         * bindings/js/JSDOMWindowCustom.cpp:
529         (WebCore::JSDOMWindow::getOwnPropertySlot):
530         * page/DOMWindow.cpp:
531         (WebCore::DOMWindow::frameDestroyed):
532
533 2014-05-09  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
534
535         ASSERTION FAILED: object->style()->overflowX() == object->style()->overflowY()
536         https://bugs.webkit.org/show_bug.cgi?id=121682
537
538         Reviewed by Dirk Schulze.
539
540         Add more overflow freedom to the SVG element:
541         -overflow-x and overflow-y for controlling each scrollbar independently is now supported
542         -overflow:scroll will display scrollbars regardless of the svg overflowing or not (as required by CSS)
543         -overflow:hidden will cause overflow to be clipped away and scrollbars to be hidden
544
545         Merged from Blink r172126 by <ed@opera.com>
546
547         Tests: svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg
548                svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg
549                svg/animations/animate-viewport-overflow-2.html
550                svg/animations/animate-viewport-overflow.html
551                svg/in-html/overflow-repaint.html
552                svg/in-html/overflow-svg-root-attr.html
553                svg/in-html/overflow-svg-root-style.html
554                svg/in-html/overflow-svg-root.html
555                svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg
556                svg/overflow/overflow-on-outermost-svg-element-vertical-auto.svg
557                svg/overflow/overflow-scroll-on-outermost-svg-element.svg
558                svg/overflow/overflow-x-hidden-on-outermost-svg-element-expected.svg
559                svg/overflow/overflow-x-hidden-on-outermost-svg-element.svg
560                svg/overflow/overflow-y-hidden-on-outermost-svg-element-expected.svg
561                svg/overflow/overflow-y-hidden-on-outermost-svg-element.svg
562
563         * css/StyleResolver.cpp:
564         (WebCore::StyleResolver::adjustRenderStyle):
565         * page/FrameView.cpp:
566         (WebCore::FrameView::applyOverflowToViewport):
567         * rendering/svg/RenderSVGRoot.cpp:
568         (WebCore::RenderSVGRoot::layout):
569         (WebCore::RenderSVGRoot::shouldApplyViewportClip):
570         (WebCore::RenderSVGRoot::paintReplaced):
571         (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
572         * rendering/svg/RenderSVGRoot.h:
573         * rendering/svg/SVGRenderSupport.cpp:
574         (WebCore::SVGRenderSupport::isOverflowHidden):
575
576 2014-05-09  Jer Noble  <jer.noble@apple.com>
577
578         [MSE][Mac] Destroy the AVStreamDataParser when the SourceBuffer is removed from its MediaSource.
579         https://bugs.webkit.org/show_bug.cgi?id=132710
580
581         Reviewed by Eric Carlson.
582
583         The AVStreamDataParser should be destroyed when the SourceBuffer is removed, so that subsequent
584         SourceBuffers can utilize resources released by the parser on destruction.
585
586         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
587         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
588         (-[WebAVStreamDataParserListener invalidate]):
589         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]):  Protect against _parent being invalidated.
590         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto.
591         (-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto.
592         (-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto.
593         (WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC): Call destroyParser();.
594         (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Ditto.
595         (WebCore::SourceBufferPrivateAVFObjC::destroyParser): Call -[WebAVStreamDataParserListener invalidate].
596
597 2014-05-09  Andrei Bucur  <abucur@adobe.com>
598
599         [CSS Regions] 1-2% performance regression in html5-full-render after r168286
600         https://bugs.webkit.org/show_bug.cgi?id=132672
601
602         Reviewed by Mihnea Ovidenie.
603
604         The patch optimizes the search of regions when there's a single region in the chain.
605         There's no need to execute advanced search logic, we can directly return that region.
606
607         Tests: No function change, no tests.
608
609         * rendering/RenderBlock.cpp:
610         (WebCore::canComputeRegionRangeForBox):
611         * rendering/RenderFlowThread.cpp:
612         (WebCore::RenderFlowThread::regionAtBlockOffset):
613         (WebCore::RenderFlowThread::hasCachedRegionRangeForBox): Renamed from hasRegionRangeForBox to
614         better suggest what the function does.
615         (WebCore::RenderFlowThread::getRegionRangeForBox):
616         (WebCore::RenderFlowThread::hasRegionRangeForBox): Deleted.
617         * rendering/RenderFlowThread.h:
618
619 2014-05-09  Jer Noble  <jer.noble@apple.com>
620
621         [EME] Call suspendIfNeeded() in the MediaKeySession create() method to avoid an ASSERT.
622         https://bugs.webkit.org/show_bug.cgi?id=132712
623
624         Reviewed by Eric Carlson.
625
626         All ActiveDOMObject subclasses must call suspendIfNeeded() immediately after creation.
627
628         * Modules/encryptedmedia/MediaKeySession.cpp:
629         (WebCore::MediaKeySession::MediaKeySession):
630
631 2014-05-09  Zalan Bujtas  <zalan@apple.com>
632
633         Unreviewed. Another attempt to fix Windows build after r168528.
634
635         * platform/graphics/win/FontWin.cpp:
636         (WebCore::Font::adjustSelectionRectForComplexText):
637
638 2014-05-09  Zalan Bujtas  <zalan@apple.com>
639
640         Unreviewed build fix for Win after r168528.
641
642         * platform/graphics/win/FontWin.cpp:
643         (WebCore::Font::adjustSelectionRectForComplexText):
644
645 2014-05-09  Zalan Bujtas  <zalan@apple.com>
646
647         REGRESSION (r168095): 1-pixel gap between adjacent selection inlines
648         https://bugs.webkit.org/show_bug.cgi?id=132474
649         <rdar://problem/16797394>
650
651         Reviewed by David Hyatt.
652
653         This patch changes text selection rectangle calculation from integral to device
654         pixel snapping. It ensures that selection rect painting matches box boundaries for inline elements.
655         Directional rounding (horizontal only atm) is moved out from Font class and now accessible
656         to all the painting code. RTL snapping strategy is changed from floor to round to match ltr behavior.
657         However this patch does not address all the integral snapping across inline elements. There are
658         a few places where we still calculate enclosing rects where snapping is sufficient.
659
660         Test: fast/inline/hidpi-pixel-gap-between-adjacent-selection-inlines.html
661
662         * platform/LayoutUnit.h:
663         (WebCore::roundToDevicePixel): added fudge factor to change rounding direction as directed.
664         * platform/graphics/Font.cpp:
665         (WebCore::Font::adjustSelectionRectForText):
666         (WebCore::Font::selectionRectForText): Deleted.
667         * platform/graphics/Font.h:
668         * platform/graphics/FontFastPath.cpp:
669         (WebCore::Font::adjustSelectionRectForSimpleText): removed directional rounding.
670         (WebCore::Font::selectionRectForSimpleText): Deleted.
671         * platform/graphics/GraphicsContext.cpp:
672         (WebCore::GraphicsContext::drawHighlightForText): Deleted.
673         * platform/graphics/GraphicsContext.h:
674         * platform/graphics/LayoutPoint.h:
675         (WebCore::roundedForPainting):
676         * platform/graphics/LayoutRect.h:
677         (WebCore::directionalPixelSnappedForPainting): Snap top right corner for rtl direction.
678         * platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
679         (WebCore::Font::adjustSelectionRectForComplexText):
680         (WebCore::Font::selectionRectForComplexText): Deleted.
681         * platform/graphics/mac/FontComplexTextMac.cpp:
682         (WebCore::Font::adjustSelectionRectForComplexText): removed directional rounding.
683         (WebCore::Font::selectionRectForComplexText): Deleted.
684         * platform/graphics/win/FontWin.cpp:
685         (WebCore::Font::adjustSelectionRectForComplexText):
686         (WebCore::Font::selectionRectForComplexText): Deleted.
687         * rendering/EllipsisBox.cpp:
688         (WebCore::EllipsisBox::selectionRect):
689         (WebCore::EllipsisBox::paintSelection):
690         * rendering/InlineTextBox.cpp:
691         (WebCore::integralEnclosingRectForSelection): helper to address enclosing empty rect problem.
692         (WebCore::InlineTextBox::localSelectionRect):
693         (WebCore::InlineTextBox::paintSelection):
694         (WebCore::InlineTextBox::paintCompositionBackground):
695         (WebCore::InlineTextBox::paintDocumentMarker):
696         (WebCore::InlineTextBox::paintTextMatchMarker):
697         (WebCore::InlineTextBox::computeRectForReplacementMarker):
698         (WebCore::InlineTextBox::positionForOffset):
699         * rendering/svg/SVGInlineTextBox.cpp:
700         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
701
702 2014-05-09  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
703
704         ASSERTION FAILED: !m_code || m_code == defaultExceptionCode
705         in WebCore::constructQualifiedName
706         https://bugs.webkit.org/show_bug.cgi?id=132343
707
708         'Remove bad assertion in SVGSMILElement's constructQualifiedName() by passing
709         IGNORE_EXCEPTION instead ASSERT_NO_EXCEPTION to Document::parseQualifiedName().
710         The constructQualifiedName() function handles parseQualifiedName() failures
711         propertly by returning early so there is no reason to assert on parsing
712         failures.'
713
714         Blink merge: http://src.chromium.org/viewvc/blink?view=revision&revision=173564
715         Based on the patch made by Christophe Dumez <ch.dumez@samsung.com>.
716
717         Reviewed by Dirk Schulze.
718
719         Test: svg/custom/bad-attributeName-crash.html
720
721         * svg/animation/SVGSMILElement.cpp:
722         (WebCore::constructQualifiedName):
723
724 2014-05-08  Brent Fulgham  <bfulgham@apple.com>
725
726         Multiple (stacked) cues when shuttling through video while playing closed captions
727         https://bugs.webkit.org/show_bug.cgi?id=132715
728         <rdar://problem/16795782>
729
730         Reviewed by Eric Carlson.
731
732         Tests: media/track/track-in-band-cues-added-once.html
733
734         * html/track/TextTrack.cpp:
735         (WebCore::TextTrack::hasCue): Revise to use a relaxed time equality.
736         * html/track/TextTrackCue.cpp:
737         (WebCore::TextTrackCue::isEqual): Ditto.
738         (WebCore::TextTrackCue::hasEquivalentStartTime): Added.
739         * html/track/TextTrackCue.h:
740         (WebCore::TextTrackCue::startTimeVariance): Added.
741         * html/track/TextTrackCueGeneric.h:
742         * html/track/TextTrackCueGeneric.cpp:
743         (WebCore::TextTrackCueGeneric::isEqual): Do not call the VTTCue::isEqual method from
744         this class, since cueType() will not equal VTTCue, and the equality will fail.
745
746 2014-05-08  Alexey Proskuryakov  <ap@apple.com>
747
748         Automatically zip document bundles used via File API
749         https://bugs.webkit.org/show_bug.cgi?id=132713
750         <rdar://problem/13397892>
751
752         Reviewed by Anders Carlsson.
753
754         Tests: fast/files/filereader-zip-bundle.html
755                http/tests/local/fileapi/upload-zip-bundle-as-blob.html
756
757         * FileMac.mm: Added.
758         (WebCore::File::shouldReplaceFile):
759         (WebCore::File::computeNameAndContentTypeForReplacedFile):
760         Added code that decides what to do with a bundle. We need this to happen in
761         WebProcess, because HTML5 dropzone depends on this, it needs to know file type
762         even before a File object can be created.
763
764         * WebCore.exp.in: Export new functions.
765
766         * WebCore.xcodeproj/project.pbxproj: Added new files.
767
768         * dom/DataTransfer.cpp: (WebCore::DataTransfer::hasFileOfType): Updated for File
769         interface change.
770
771         * fileapi/File.h:
772         * fileapi/File.cpp:
773         (WebCore::File::File):
774         (WebCore::File::computeNameAndContentType):
775         (WebCore::File::contentTypeForFile):
776         (WebCore::File::contentTypeFromFilePathOrName): Deleted.
777         Make it possible for a subclass to affect file name and content type calculation.
778
779         * platform/network/BlobDataFileReference.cpp:
780         (WebCore::BlobDataFileReference::BlobDataFileReference):
781         (WebCore::BlobDataFileReference::~BlobDataFileReference):
782         (WebCore::BlobDataFileReference::path):
783         (WebCore::BlobDataFileReference::size):
784         (WebCore::BlobDataFileReference::expectedModificationTime):
785         (WebCore::BlobDataFileReference::startTrackingModifications):
786         * platform/network/BlobDataFileReference.h:
787         (WebCore::BlobDataFileReference::path): Deleted.
788         (WebCore::BlobDataFileReference::BlobDataFileReference): Deleted.
789         Use original or replaced file, as appropriate. 
790
791         * platform/network/mac/BlobDataFileReferenceMac.mm: Added.
792         (WebCore::BlobDataFileReference::generateReplacementFile): Implements generateReplacementFile().
793
794         * platform/network/FormData.h: Added a FIXME.
795
796         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Always use Blob code path
797         for blobs, don't unwrap them into a file path.
798
799 2014-05-08  Simon Fraser  <simon.fraser@apple.com>
800
801         Occasional crash under AsyncScrollingCoordinator::frameViewRootLayerDidChange() on history navigation
802         https://bugs.webkit.org/show_bug.cgi?id=132723
803
804         Reviewed by Sam Weinig.
805         
806         Crash reports suggest that when we call AsyncScrollingCoordinator::frameViewRootLayerDidChange()
807         from HistoryController::restoreScrollPositionAndViewState(), the FrameView may not have a 
808         scrolling node ID, which suggests that either the FrameView doesn't have a RenderView,
809         or compositing hasn't happened yet.
810         
811         So if we enter AsyncScrollingCoordinator::frameViewRootLayerDidChange()
812         and the FrameView has no scrollLayerID, just return. We'll fix things up
813         when compositing kicks in later.
814
815         * page/scrolling/AsyncScrollingCoordinator.cpp:
816         (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
817
818 2014-05-08  Simon Fraser  <simon.fraser@apple.com>
819
820         [iOS WK2] Bottom-relative position:fixed elements are misplaced on page load
821         https://bugs.webkit.org/show_bug.cgi?id=132719
822         <rdar://problem/16860837>
823
824         Reviewed by Benjamin Poulain.
825
826         Add a couple of functions, and sort.
827
828         * WebCore.exp.in:
829
830 2014-05-08  Jer Noble  <jer.noble@apple.com>
831
832         [Mac, iOS] Add source application accounting to AVURLAsset.
833         https://bugs.webkit.org/show_bug.cgi?id=132637
834
835         Reviewed by Eric Carlson.
836
837         Properly account for the application responisble for data loading by passing the source
838         application identifier through to AVFoundation through AVURLAsset options.
839
840         * html/HTMLMediaElement.cpp:
841         (WebCore::HTMLMediaElement::parseAttribute):
842         * html/HTMLMediaElement.h:
843         * platform/graphics/MediaPlayer.cpp:
844         (WebCore::MediaPlayer::sourceApplicationIdentifier):
845         * platform/graphics/MediaPlayer.h:
846         (WebCore::MediaPlayerClient::mediaPlayerSourceApplicationIdentifier):
847         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
848         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
849         * platform/network/NetworkingContext.h:
850
851 2014-05-08  Jer Noble  <jer.noble@apple.com>
852
853         [MSE][Mac] Move AVStreamDataParser off-main-thread.
854         https://bugs.webkit.org/show_bug.cgi?id=132698
855
856         Reviewed by Eric Carlson.
857
858         -[AVStreamDataParser appendStreamData:] can casue the main thread to hang when a
859         large amount of media data is appended at once. Move the actual parsing of data
860         to a background (synchronous) dispatch queue, and split SourceBuffer::appendBufferTimerFired
861         into two functions, the latter of which will be called after the background queue
862         completes.
863
864         * Modules/mediasource/SourceBuffer.cpp:
865         (WebCore::SourceBuffer::appendBufferTimerFired): Split into sourceBufferPrivateAppendComplete.
866         (WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Split from appendBufferTimerFired.
867         * Modules/mediasource/SourceBuffer.h:
868         * platform/graphics/SourceBufferPrivate.h:
869         * platform/graphics/SourceBufferPrivateClient.h:
870         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
871         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
872         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]): Re-dispatch to the
873                 web thread.
874         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto.
875         (-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto.
876         (-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto.
877         (-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]): Ditto.
878         (-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]): Ditto.
879         (WebCore::globalDataParserQueue): Added.
880         (WebCore::SourceBufferPrivateAVFObjC::append): Dispatch to the globalDataParserQueue.
881         (WebCore::SourceBufferPrivateAVFObjC::appendCompleted): Added.
882         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
883         (WebCore::MockSourceBufferPrivate::append): Adopt sourceBufferPrivateAppendComplete.
884         * platform/mock/mediasource/MockSourceBufferPrivate.h:
885
886         Update SourceBufferPrivateGStreamer to match the new append return value:
887         * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp:
888         (WebCore::SourceBufferPrivateGStreamer::append):
889         * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h:
890
891 2014-05-08  Commit Queue  <commit-queue@webkit.org>
892
893         Unreviewed, rolling out r168498.
894         https://bugs.webkit.org/show_bug.cgi?id=132714
895
896         broke Mavericks WK2 (Requested by litherum on #webkit).
897
898         Reverted changeset:
899
900         "http/tests/security/xss-DENIED-xsl-document-redirect.xml
901         fails with NetworkProcess"
902         https://bugs.webkit.org/show_bug.cgi?id=132523
903         http://trac.webkit.org/changeset/168498
904
905 2014-05-08  Myles C. Maxfield  <mmaxfield@apple.com>
906
907         http/tests/security/xss-DENIED-xsl-document-redirect.xml fails with NetworkProcess
908         https://bugs.webkit.org/show_bug.cgi?id=132523
909
910         Reviewed by Alexey Proskuryakov.
911
912         We should not manufacture a response in the event of an error during a
913         synchronous XHR. In addition, this test removes one place that is
914         sensitive to such a manufactured response.
915
916         Updates test expectations.
917
918         * platform/network/cf/ResourceHandleCFNet.cpp:
919         (WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not
920         manufacture a response
921         * platform/network/mac/ResourceHandleMac.mm:
922         (WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not
923         manufacture a response
924         * xml/XSLTProcessorLibxslt.cpp:
925         (WebCore::docLoaderFunc): Only use the response's URL if no error
926         occurred.
927
928 2014-05-08  Andreas Kling  <akling@apple.com>
929
930         [iOS] WebKit should listen to critical memory warnings.
931         <https://webkit.org/b/132704>
932         <rdar://problem/16857112>
933
934         Listen for DISPATCH_MEMORYSTATUS_PRESSURE_CRITICAL in addition to
935         DISPATCH_MEMORYSTATUS_PRESSURE_WARN, since we may only get the critical
936         notification on some systems.
937
938         Reviewed by Gavin Barraclough.
939
940         * platform/cocoa/MemoryPressureHandlerCocoa.mm:
941         (WebCore::MemoryPressureHandler::install):
942
943 2014-05-08  Joseph Pecoraro  <pecoraro@apple.com>
944
945         Web Inspector: InspectorDOMAgent::getAccessibilityPropertiesForNode should gracefully handle bad node
946         https://bugs.webkit.org/show_bug.cgi?id=132697
947
948         Reviewed by Timothy Hatcher.
949
950         * inspector/InspectorDOMAgent.cpp:
951         (WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
952         Gracefully handle no node.
953
954 2014-05-08  Tim Horton  <timothy_horton@apple.com>
955
956         Fix the iOS build after r168476.
957
958         * platform/graphics/mac/GraphicsContextMac.mm:
959         (WebCore::GraphicsContext::drawFocusRing):
960
961 2014-05-08  Bem Jones-Bey  <bjonesbe@adobe.com>
962
963         [CSS Shapes] Shapes do not resolve dimensions specified in viewport units
964         https://bugs.webkit.org/show_bug.cgi?id=124052
965
966         Reviewed by Dirk Schulze.
967
968         Viewport unit resolution doesn't work unless the RenderView is passed
969         down into the floatValueForLength methods. All this does is plumb down
970         a RenderView in all of these cases.
971
972         Tests: css3/masking/clip-path-polygon-viewport-units.html
973                fast/shapes/shape-outside-floats/shape-outside-floats-viewport-units.html
974
975         * css/BasicShapeFunctions.cpp:
976         (WebCore::floatValueForCenterCoordinate):
977         * css/BasicShapeFunctions.h:
978         * css/LengthFunctions.cpp:
979         (WebCore::floatSizeForLengthSize):
980         * css/LengthFunctions.h:
981         * rendering/ClipPathOperation.h:
982         (WebCore::ShapeClipPathOperation::pathForReferenceRect):
983         (WebCore::BoxClipPathOperation::pathForReferenceRect):
984         * rendering/RenderLayer.cpp:
985         (WebCore::RenderLayer::setupClipPath):
986         * rendering/shapes/Shape.cpp:
987         (WebCore::Shape::createShape):
988         * rendering/shapes/Shape.h:
989         * rendering/shapes/ShapeOutsideInfo.cpp:
990         (WebCore::ShapeOutsideInfo::computedShape):
991         * rendering/style/BasicShapes.cpp:
992         (WebCore::BasicShapeCircle::floatValueForRadiusInBox):
993         (WebCore::BasicShapeCircle::path):
994         (WebCore::BasicShapeEllipse::floatValueForRadiusInBox):
995         (WebCore::BasicShapeEllipse::path):
996         (WebCore::BasicShapePolygon::path):
997         (WebCore::floatSizeForLengthSize):
998         (WebCore::BasicShapeInset::path):
999         * rendering/style/BasicShapes.h:
1000         * rendering/svg/SVGRenderingContext.cpp:
1001         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
1002
1003 2014-05-08  Brent Fulgham  <bfulgham@apple.com>
1004
1005         Cue display events may not be registered during page load.
1006         https://bugs.webkit.org/show_bug.cgi?id=132696
1007         <rdar://problem/16652874>
1008
1009         Reviewed by Eric Carlson.
1010
1011         * Modules/mediacontrols/mediaControlsApple.js:
1012         (Controller.prototype.handleTextTrackAdd): Don't register
1013         for 'cuechange' events anymore.
1014         (Controller.prototype.handleTextTrackRemove): Ditto.
1015         (Controller.prototype.updateCaptionContainer): Reduce CSS
1016         churn by not adding/removing 'Hidden' class every time a
1017         new cue is processed. Only do this when transitioning
1018         track display state.
1019         (Controller.prototype.handleTextTrackCueChange): Deleted.
1020         * html/HTMLMediaElement.cpp:
1021         (WebCore::HTMLMediaElement::updateTextTrackDisplay): Call
1022         'updateTextTrackContainer' directory when processing cues,
1023         rather than trampolining through the JS layer.
1024
1025 2014-05-08  Alexey Proskuryakov  <ap@apple.com>
1026
1027         Make BlobDataFileReference manage its sandbox extension
1028         https://bugs.webkit.org/show_bug.cgi?id=132689
1029
1030         Reviewed by Anders Carlsson.
1031
1032         * WebCore.exp.in: Export symbols that are now needed in WebKit2 to subclass BlobDataFileReference.
1033
1034         * fileapi/ThreadableBlobRegistry.cpp: (WebCore::ThreadableBlobRegistry::registerFileBlobURL):
1035         * platform/network/BlobData.cpp: (WebCore::BlobData::appendFile):
1036         * platform/network/BlobData.h: (WebCore::BlobDataItem::BlobDataItem):
1037         * platform/network/BlobRegistry.h:
1038         * platform/network/BlobRegistryImpl.cpp: (WebCore::BlobRegistryImpl::registerFileBlobURL):
1039         * platform/network/BlobRegistryImpl.h:
1040         BlobRegistry now takes a BlobDataFileReference and not a path, so that WebKit2
1041         could pass objects that include sandbox extensions.
1042
1043         * platform/network/BlobDataFileReference.h:
1044         * platform/network/BlobDataFileReference.cpp:
1045         (WebCore::BlobDataFileReference::~BlobDataFileReference): Added a virtual destructor.
1046         (WebCore::BlobDataFileReference::size): We now record the size and modification time right away, no need to lazily calculate them.
1047         (WebCore::BlobDataFileReference::expectedModificationTime): Ditto.
1048         (WebCore::BlobDataFileReference::startTrackingModifications): Record time and size
1049         (since it's a single call). However, size calculation will become complicated again soon.
1050         (WebCore::BlobDataFileReference::prepareForFileAccess): A hook for subclasses.
1051         (WebCore::BlobDataFileReference::revokeFileAccess): Ditto.
1052         (WebCore::BlobDataFileReference::computeFileSystemData): Deleted.
1053
1054 2014-05-08  Rik Cabanier  <cabanier@adobe.com>
1055
1056         Add support for drawFocusIfNeeded
1057         https://bugs.webkit.org/show_bug.cgi?id=132584
1058
1059         Reviewed by Dirk Schulze.
1060
1061         The drawFocusIfNeeded API will draw a focus ring if the element that is passed
1062         in is focused and a child element of the canvas.
1063
1064         Test: fast/canvas/draw-focus-if-needed.html
1065
1066         * html/canvas/CanvasRenderingContext2D.cpp:
1067         (WebCore::CanvasRenderingContext2D::drawFocusIfNeeded):
1068         * html/canvas/CanvasRenderingContext2D.h:
1069         * html/canvas/CanvasRenderingContext2D.idl:
1070
1071 2014-05-08  Antti Koivisto  <antti@apple.com>
1072
1073         [iOS WebKit2] Can't activate text fields on Facebook
1074         https://bugs.webkit.org/show_bug.cgi?id=132682
1075
1076         Reviewed by Enrica Casucci.
1077
1078         * page/DOMTimer.cpp:
1079         (WebCore::DOMTimer::fired):
1080         
1081             The isDocument() test here had reversed in the merge breaking content change observer callback.
1082
1083 2014-05-07  Sergio Villar Senin  <svillar@igalia.com>
1084
1085         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in svg/
1086         https://bugs.webkit.org/show_bug.cgi?id=132647
1087
1088         Reviewed by Darin Adler.
1089
1090         * svg/SVGAElement.cpp:
1091         (WebCore::SVGAElement::isSupportedAttribute):
1092         * svg/SVGAnimateMotionElement.cpp:
1093         (WebCore::SVGAnimateMotionElement::isSupportedAttribute):
1094         * svg/SVGAnimateTransformElement.cpp:
1095         (WebCore::SVGAnimateTransformElement::isSupportedAttribute):
1096         * svg/SVGAnimatedLength.cpp:
1097         (WebCore::sharedSVGLength):
1098         * svg/SVGAnimationElement.cpp:
1099         (WebCore::SVGAnimationElement::isSupportedAttribute):
1100         * svg/SVGCircleElement.cpp:
1101         (WebCore::SVGCircleElement::isSupportedAttribute):
1102         * svg/SVGClipPathElement.cpp:
1103         (WebCore::SVGClipPathElement::isSupportedAttribute):
1104         * svg/SVGComponentTransferFunctionElement.cpp:
1105         (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
1106         * svg/SVGCursorElement.cpp:
1107         (WebCore::SVGCursorElement::isSupportedAttribute):
1108         * svg/SVGElement.cpp:
1109         (WebCore::SVGElement::instancesForElement):
1110         (WebCore::SVGElement::childShouldCreateRenderer):
1111         * svg/SVGEllipseElement.cpp:
1112         (WebCore::SVGEllipseElement::isSupportedAttribute):
1113         * svg/SVGFEBlendElement.cpp:
1114         (WebCore::SVGFEBlendElement::isSupportedAttribute):
1115         * svg/SVGFEColorMatrixElement.cpp:
1116         (WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
1117         * svg/SVGFEComponentTransferElement.cpp:
1118         (WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
1119         * svg/SVGFECompositeElement.cpp:
1120         (WebCore::SVGFECompositeElement::isSupportedAttribute):
1121         * svg/SVGFEConvolveMatrixElement.cpp:
1122         (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
1123         * svg/SVGFEDiffuseLightingElement.cpp:
1124         (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
1125         * svg/SVGFEDisplacementMapElement.cpp:
1126         (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
1127         * svg/SVGFEDropShadowElement.cpp:
1128         (WebCore::SVGFEDropShadowElement::isSupportedAttribute):
1129         * svg/SVGFEGaussianBlurElement.cpp:
1130         (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
1131         * svg/SVGFEImageElement.cpp:
1132         (WebCore::SVGFEImageElement::isSupportedAttribute):
1133         * svg/SVGFELightElement.cpp:
1134         (WebCore::SVGFELightElement::isSupportedAttribute):
1135         * svg/SVGFEMergeNodeElement.cpp:
1136         (WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
1137         * svg/SVGFEMorphologyElement.cpp:
1138         (WebCore::SVGFEMorphologyElement::isSupportedAttribute):
1139         * svg/SVGFEOffsetElement.cpp:
1140         (WebCore::SVGFEOffsetElement::isSupportedAttribute):
1141         * svg/SVGFESpecularLightingElement.cpp:
1142         (WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
1143         * svg/SVGFETileElement.cpp:
1144         (WebCore::SVGFETileElement::isSupportedAttribute):
1145         * svg/SVGFETurbulenceElement.cpp:
1146         (WebCore::SVGFETurbulenceElement::isSupportedAttribute):
1147         * svg/SVGFilterElement.cpp:
1148         (WebCore::SVGFilterElement::isSupportedAttribute):
1149         (WebCore::SVGFilterElement::childShouldCreateRenderer):
1150         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1151         (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
1152         * svg/SVGForeignObjectElement.cpp:
1153         (WebCore::SVGForeignObjectElement::isSupportedAttribute):
1154         * svg/SVGGElement.cpp:
1155         (WebCore::SVGGElement::isSupportedAttribute):
1156         * svg/SVGGradientElement.cpp:
1157         (WebCore::SVGGradientElement::isSupportedAttribute):
1158         * svg/SVGGraphicsElement.cpp:
1159         (WebCore::SVGGraphicsElement::isSupportedAttribute):
1160         * svg/SVGImageElement.cpp:
1161         (WebCore::SVGImageElement::isSupportedAttribute):
1162         * svg/SVGLength.cpp:
1163         (WebCore::SVGLength::lengthModeForAnimatedLengthAttribute):
1164         * svg/SVGLineElement.cpp:
1165         (WebCore::SVGLineElement::isSupportedAttribute):
1166         * svg/SVGLinearGradientElement.cpp:
1167         (WebCore::SVGLinearGradientElement::isSupportedAttribute):
1168         * svg/SVGMPathElement.cpp:
1169         (WebCore::SVGMPathElement::isSupportedAttribute):
1170         * svg/SVGMarkerElement.cpp:
1171         (WebCore::SVGMarkerElement::isSupportedAttribute):
1172         * svg/SVGMaskElement.cpp:
1173         (WebCore::SVGMaskElement::isSupportedAttribute):
1174         * svg/SVGPathElement.cpp:
1175         (WebCore::SVGPathElement::isSupportedAttribute):
1176         * svg/SVGPatternElement.cpp:
1177         (WebCore::SVGPatternElement::isSupportedAttribute):
1178         * svg/SVGPolyElement.cpp:
1179         (WebCore::SVGPolyElement::isSupportedAttribute):
1180         * svg/SVGRadialGradientElement.cpp:
1181         (WebCore::SVGRadialGradientElement::isSupportedAttribute):
1182         * svg/SVGRectElement.cpp:
1183         (WebCore::SVGRectElement::isSupportedAttribute):
1184         * svg/SVGScriptElement.cpp:
1185         (WebCore::SVGScriptElement::isSupportedAttribute):
1186         * svg/SVGStopElement.cpp:
1187         (WebCore::SVGStopElement::isSupportedAttribute):
1188         * svg/SVGStyleElement.cpp:
1189         (WebCore::SVGStyleElement::isSupportedAttribute):
1190         * svg/SVGSymbolElement.cpp:
1191         (WebCore::SVGSymbolElement::isSupportedAttribute):
1192         * svg/SVGTRefElement.cpp:
1193         (WebCore::SVGTRefElement::isSupportedAttribute):
1194         * svg/SVGTests.cpp:
1195         (WebCore::SVGTests::attributeToPropertyMap):
1196         * svg/SVGTextContentElement.cpp:
1197         (WebCore::SVGTextContentElement::textLengthAnimated):
1198         (WebCore::SVGTextContentElement::isSupportedAttribute):
1199         * svg/SVGTextPathElement.cpp:
1200         (WebCore::SVGTextPathElement::isSupportedAttribute):
1201         * svg/SVGTextPositioningElement.cpp:
1202         (WebCore::SVGTextPositioningElement::isSupportedAttribute):
1203         * svg/SVGUseElement.cpp:
1204         (WebCore::SVGUseElement::isSupportedAttribute):
1205         (WebCore::isDisallowedElement):
1206         * svg/SVGViewElement.cpp:
1207         (WebCore::SVGViewElement::isSupportedAttribute):
1208
1209 2014-05-08  Ion Rosca  <rosca@adobe.com>
1210
1211         [CSS Blending] Replacing Unisolated with NotIsolated in variables and methods names
1212         https://bugs.webkit.org/show_bug.cgi?id=132677
1213
1214         Reviewed by Dirk Schulze.
1215
1216         No new tests required.
1217
1218         * rendering/RenderLayer.cpp:
1219         (WebCore::RenderLayer::RenderLayer):
1220         (WebCore::RenderLayer::updateAncestorChainHasBlendingDescendants):
1221         (WebCore::RenderLayer::dirtyAncestorChainHasBlendingDescendants):
1222         (WebCore::RenderLayer::updateDescendantDependentFlags):
1223         hasUnisolatedBlendingDescendants -> hasNotIsolatedBlendingDescendants
1224         (WebCore::RenderLayer::addChild):
1225         (WebCore::RenderLayer::removeChild):
1226         (WebCore::RenderLayer::updateStackingContextsAfterStyleChange):
1227         * rendering/RenderLayer.h:
1228         m_hasUnisolatedBlendingDescendants -> m_hasNotIsolatedBlendingDescendants
1229         m_hasUnisolatedBlendingDescendantsStatusDirty -> m_hasNotIsolatedBlendingDescendantsStatusDirty
1230         hasUnisolatedBlendingDescendants() -> hasNotIsolatedBlendingDescendants()
1231         hasUnisolatedBlendingDescendantsStatusDirty() -> hasNotIsolatedBlendingDescendantsStatusDirty()
1232         m_hasUnisolatedCompositedBlendingDescendants -> m_hasNotIsolatedCompositedBlendingDescendants
1233         hasUnisolatedCompositedBlendingDescendants() -> hasNotIsolatedCompositedBlendingDescendants()
1234         setHasUnisolatedCompositedBlendingDescendants() -> setHasNotIsolatedCompositedBlendingDescendants
1235         * rendering/RenderLayerCompositor.cpp:
1236         (WebCore::CompositingState::CompositingState):
1237         m_hasUnisolatedCompositedBlendingDescendants -> m_hasNotIsolatedCompositedBlendingDescendants
1238         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1239
1240 2014-05-08  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1241
1242         [GTK] Enable skipped http/tests/media/hls/video-controls-live-stream.html
1243         https://bugs.webkit.org/show_bug.cgi?id=132329
1244
1245         Reviewed by Eric Carlson.
1246
1247         GTK port needed to define what happened with live stream media
1248         controls. Now we disable and dim the timeline and tweak the
1249         timers.
1250
1251         Test: http/tests/media/hls/video-controls-live-stream.html.
1252
1253         * Modules/mediacontrols/mediaControlsGtk.js:
1254         (ControllerGtk.prototype.configureControls): Moved logic from
1255         setControlsType and changed to use an early return.
1256         (ControllerGtk.prototype.reconnectControls): Redefined to just
1257         configure the controls.
1258         (ControllerGtk.prototype.handlePlay): If stream is live we don't
1259         activate the current time just in case.
1260         (ControllerGtk.prototype.updateDuration): Calls the superclass and
1261         sets timeline.max to 0.
1262         (ControllerGtk.prototype.setControlsType): Deleted.
1263         (ControllerGtk.prototype.setIsLive): Configures controls and
1264         disables the timeline if stream is live.
1265         * css/mediaControlsGtk.css:
1266         (audio::-webkit-media-controls-timeline[disabled])
1267         (video::-webkit-media-controls-timeline[disabled]): Dimmed the
1268         timeline by setting opacity to 0.3.
1269
1270 2014-05-08  Ion Rosca  <rosca@adobe.com>
1271
1272         [CSS Blending] Changing isolation CSS property should not trigger repaint in RenderStyle::changeRequiresLayerRepaint
1273         https://bugs.webkit.org/show_bug.cgi?id=131436
1274
1275         Reviewed by Dirk Schulze.
1276
1277         The isolation:isolate property will create a stacking context. This is done in
1278         StyleResolver::adjustRenderStyle where z-index is forced to 0.
1279         If the element is already a stacking context for any other reason,
1280         changing the isolation flag should not have any effect.
1281
1282         Tests: css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html
1283                css3/blending/repaint/blend-mode-turn-off-isolation.html
1284
1285         * rendering/style/RenderStyle.cpp:
1286         (WebCore::RenderStyle::changeRequiresLayerRepaint):
1287         do not request repaint if isolation has changed.
1288
1289 2014-05-08  Manuel Rego Casasnovas  <rego@igalia.com>
1290
1291         REGRESSION (r167652): SelectionState is not set properly for non leaf objects in pages with regions
1292         https://bugs.webkit.org/show_bug.cgi?id=132493
1293
1294         Reviewed by David Hyatt.
1295
1296         Non selection leaf elements were not included in the selection ranges,
1297         that was causing that their selection state was not set properly and
1298         when one of the element was removed as it was marked as SelectionNone
1299         current selection was not removed.
1300
1301         Due to this fix, the regression detected in bug #131982 arose again.
1302         Reverted changes from r167675 and reopened bug as previous fix was not
1303         right. Updated TestExpectations accordingly.
1304
1305         Test: fast/regions/selection/crash-select-all.html
1306
1307         * rendering/RenderView.cpp:
1308         (WebCore::RenderView::splitSelectionBetweenSubtrees): We need to include
1309         non selection leafs in the range, otherwise we won't be marking
1310         selection state of some elements properly.
1311
1312 2014-05-08  Zoltan Horvath  <zoltan@webkit.org>
1313
1314         [CSS Shapes] Can't select content within the area of the floating box when clip-path is applied
1315         https://bugs.webkit.org/show_bug.cgi?id=131375
1316
1317         Reviewed by Dirk Schulze.
1318
1319         According to http://www.w3.org/TR/css-masking-1/, the clipped part of the element should
1320         not have pointer event dispatching. So add this logic to RenderBlock::nodeAtPoint. This
1321         fixes the bug as it disallows selection on any clipped parts.
1322
1323         I implemented the proper selection for the various CSS box types and added testing
1324         for them. Also, I made and run performance tests for exposing mouse events over the
1325         clipped/non-clipped area, which results can be seen in bugzilla.
1326
1327         Based on the patch made by Rob Buis <rob.buis@samsung.com>
1328         Blink revision: http://src.chromium.org/viewvc/blink?view=revision&revision=172619
1329
1330         Tests: fast/masking/clip-path-selection.html
1331                fast/shapes/shape-outside-floats/shape-outside-clip-path-selection.html
1332
1333         * rendering/RenderBlock.cpp:
1334         (WebCore::RenderBlock::nodeAtPoint):
1335
1336 2014-05-07  Ion Rosca  <rosca@adobe.com>
1337
1338         [CSS Blending] Blending doesn't work if the parent stacking context is not a self painting layer
1339         https://bugs.webkit.org/show_bug.cgi?id=130891
1340
1341         Reviewed by Dean Jackson.
1342
1343         The stacking context layers having unisolated blending descendants should be able
1344         to create transparency layers or to become composited in order to restrict blending 
1345         content to accessing the information outside the current stacking context.
1346         Some layers are not self painting layers and these layers cannot crate transparency
1347         layers and cannot be composited, thus they are not able to isolate blending descendants
1348         when it's required.
1349         
1350         The solution in this patch is to make a layer isSelfPaintingLayer when
1351         it needs to isolate blending descendants (hasUnisolatedBlendingDescendants).
1352
1353         Tests: css3/blending/blend-mode-isolation-accelerated-overflow-hidden.html
1354                css3/blending/blend-mode-isolation-overflow-hidden.html
1355                css3/blending/blend-mode-isolation-turn-off-self-painting-layer.html
1356                css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html
1357                css3/blending/blend-mode-isolation-turn-off-self-painting-layer2.html
1358                css3/blending/blend-mode-isolation-turn-on-self-painting-layer.html
1359
1360         * rendering/RenderLayer.cpp:
1361         (WebCore::RenderLayer::updateAncestorChainHasBlendingDescendants):
1362         When hasUnisolatedBlendingDescendants is set we make sure that isSelfPaintingLayer flag is set too.
1363         (WebCore::RenderLayer::updateDescendantDependentFlags):
1364         The flags might be read or changed while walking the descendants, so we don't want to reset
1365         them before traversing the tree.
1366         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
1367         Adding isolatesBlending() condition for a layer to be self painting.
1368         * rendering/RenderLayer.h:
1369         Removing ASSERT from hasUnisolatedBlendingDescendants(). It crashes in minibrowser
1370         and in layout tests when painting contents. Similar bugs on other flags: #71044, #71277.
1371         * rendering/RenderLayerModelObject.cpp:
1372         (WebCore::RenderLayerModelObject::styleDidChange):
1373         Telling ancestors that blend mode property has been removed from CSS when the layer for
1374         this element is going to be removed; styleChanged will not be called anymore.
1375
1376 2014-05-06  Myles C. Maxfield  <mmaxfield@apple.com>
1377
1378         Dragging text from one paragraph to another does not render as expected
1379         https://bugs.webkit.org/show_bug.cgi?id=132633
1380
1381         Reviewed by Darin Adler and Ryosuke Niwa.
1382
1383         When we are dragging and dropping into a content editable field, we detect
1384         if we are trying to put a <p> into an existing <p>, and if so, split the
1385         outer <p> and insert the new <p> as its sibling. However, the outer <p>
1386         might not be editable, so we don't want to do any splitting and inserting
1387         at that location.
1388
1389         Test: editing/pasteboard/drag-drop-paragraph-crasher.html
1390
1391         * editing/ReplaceSelectionCommand.cpp:
1392         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
1393
1394 2014-05-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1395
1396         [CoordinatedGraphics][WK2] Scale factor and scroll position is not being restored properly in a back/forward load
1397         https://bugs.webkit.org/show_bug.cgi?id=126022
1398
1399         Reviewed by Benjamin Poulain.
1400
1401         Original author : Thiago de Barros Lacerda, and finished by Gyuyoung Kim.
1402
1403         When user is navigating back/forward to a page that has been scrolled and/or scaled, that page must be shown
1404         with its last scroll position and scale factor. However, when fixed layout was enabled with CoordinatedGraphics
1405         and TILED_BACKING_STORE, Page::setPageScaleFactor() doesn't send previous scroll position since r165652 and r165913.
1406
1407         This patch allows the Page::setPageScaleFactor() send stored position to WK2 implementation by calling delegatedScrollRequested()
1408         directly when delegatesScrolling() is on.
1409
1410         * page/Page.cpp:
1411         (WebCore::Page::setPageScaleFactor): TILED_BACKING_STORE and delegateScrolling are enabled, we pass new scroll position to WK2 though
1412         delegateScrolling is disabled.
1413         * platform/ScrollView.cpp: delegatedScrollRequested() call is moved from ScrollView::setScrollPosition() to Page::setPageScaleFactor().
1414         (WebCore::ScrollView::setScrollPosition): 
1415
1416 2014-05-07  Dean Jackson  <dino@apple.com>
1417
1418         Using a fill pattern much larger than actual canvas reliably segfaults browser
1419         https://bugs.webkit.org/show_bug.cgi?id=132635
1420
1421         Reviewed by Simon Fraser.
1422
1423         Make sure that createPattern checks that the canvas it is about to use
1424         as a source is valid.
1425
1426         Test: fast/canvas/pattern-too-large-to-create.html
1427
1428         * html/canvas/CanvasRenderingContext2D.cpp:
1429         (WebCore::CanvasRenderingContext2D::createPattern): Check that the source canvas has
1430         an ok ImageBuffer.
1431
1432 2014-05-07  Pratik Solanki  <psolanki@apple.com>
1433
1434         Use system defaults for hardware jpeg decoding
1435         https://bugs.webkit.org/show_bug.cgi?id=132661
1436         <rdar://problem/11348201>
1437
1438         Reviewed by Tim Horton.
1439
1440         Remove code that explicitly disabled hardware image decoding. Let the system decide what to do.
1441
1442         * WebCore.exp.in:
1443         * platform/graphics/ImageSource.h:
1444         (WebCore::ImageSource::acceleratedImageDecodingEnabled): Deleted.
1445         (WebCore::ImageSource::setAcceleratedImageDecodingEnabled): Deleted.
1446         * platform/graphics/cg/ImageSourceCG.cpp:
1447         (WebCore::ImageSource::imageSourceOptions):
1448
1449 2014-05-07  Radu Stavila  <stavila@adobe.com>
1450
1451         Use after free in WebCore::RenderObject::nextSibling / WebCore::RenderBoxModelObject::moveChildrenTo
1452         https://bugs.webkit.org/show_bug.cgi?id=132625
1453
1454         Reviewed by David Hyatt.
1455
1456         Fixed problem with dynamically inserting first letter elements.
1457
1458         Test: fast/multicol/newmulticol/first-letter-create.html
1459
1460         * rendering/RenderBlock.cpp:
1461         (WebCore::RenderBlock::getFirstLetter):
1462         (WebCore::RenderBlock::updateFirstLetter):
1463         * rendering/RenderBlock.h:
1464         * rendering/RenderBoxModelObject.cpp:
1465         (WebCore::RenderBoxModelObject::moveChildrenTo):
1466
1467 2014-05-07  Enrica Casucci  <enrica@apple.com>
1468
1469         WK2: Programatic scroll requests during scroll or zoom animation to reveal focused element are ignored.
1470         https://bugs.webkit.org/show_bug.cgi?id=132657
1471         <rdar://problem/16468462>
1472
1473         Reviewed by Benjamin Poulain.
1474
1475         With the scrolling model we use on iOS, a programatic scroll
1476         request can be received while we are still animating to reveal
1477         the focused input element. The WebProcess is unaware that the
1478         scroll position is being changed in the UIProcess, and does not
1479         honor the scroll request from JavaScript.
1480         This is patch changes the behavior for clients using scroll delegates
1481         to always send the scroll request to the UIProcess without checking
1482         the current scroll position.
1483
1484         * page/FrameView.h:
1485         * platform/ScrollView.cpp:
1486         (WebCore::ScrollView::setScrollPosition):
1487         * platform/ScrollView.h:
1488         (WebCore::ScrollView::inProgrammaticScroll):
1489
1490 2014-05-07  Brent Fulgham  <bfulgham@apple.com>
1491
1492         [Mac, iOS] REGRESSION: WK2 YouTube support
1493         https://bugs.webkit.org/show_bug.cgi?id=132568
1494         <rdar://problem/11464344>
1495
1496         Reviewed by Darin Adler.
1497
1498         Move the custom YouTube loader code out of the WebFrameLoaderClient into a
1499         PluginReplacement-based class.
1500
1501         * Modules/plugins/PluginReplacement.h:
1502         (WebCore::PluginReplacement::supportsURL): New predicate so we can restrict
1503         use of a plugin to a particular category of URLs.
1504         * Modules/plugins/QuickTimePluginReplacement.mm:
1505         (WebCore::QuickTimePluginReplacement): Updated for new registrar signature.
1506         * Modules/plugins/YouTubePluginReplacement.h: Added.
1507         (WebCore::YouTubePluginReplacement::parentElement):
1508         * Modules/plugins/YouTubePluginReplacement.cpp: Added.
1509         (WebCore::YouTubePluginReplacement::registerPluginReplacement):
1510         (WebCore::YouTubePluginReplacement::create):
1511         (WebCore::YouTubePluginReplacement::supportsMimeType):
1512         (WebCore::YouTubePluginReplacement::supportsFileExtension):
1513         (WebCore::kit):
1514         (WebCore::YouTubePluginReplacement::YouTubePluginReplacement):
1515         (WebCore::YouTubePluginReplacement::createElementRenderer):
1516         (WebCore::objectForKey):
1517         (WebCore::YouTubePluginReplacement::installReplacement):
1518         (WebCore::createYouTubeURL):
1519         (WebCore::processAndCreateYouTubeURL):
1520         (WebCore::YouTubePluginReplacement::youTubeURL):
1521         * WebCore.exp.in: Add new export from WebCore.
1522         * WebCore.xcodeproj/project.pbxproj:
1523         * html/HTMLPlugInElement.cpp:
1524         (WebCore::pluginReplacementForType): Update to also check that the URL is supported
1525         by the plugin.
1526         (WebCore::registeredPluginReplacements): Add new YouTubePluginReplacement to registry.
1527         * html/HTMLPlugInImageElement.cpp:
1528         (WebCore::HTMLPlugInImageElement::createElementRenderer): Remove custom YouTube code
1529         now that this logic is handled in the plugin replacement class.
1530         (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree): Deleted.
1531         * html/HTMLPlugInImageElement.h:
1532         * html/shadow/YouTubeEmbedShadowElement.cpp:
1533         (WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement):
1534         (WebCore::YouTubeEmbedShadowElement::shadowPseudoId): Use correct pseudoID for the
1535         plugin replacement architecture.
1536         * html/shadow/YouTubeEmbedShadowElement.h:
1537         * platform/mac/WebCoreNSURLExtras.h:
1538         * platform/mac/WebCoreNSURLExtras.mm:
1539         (WebCore::unescapedQueryValue): Moved from WebKit/Misc/WebNSURLExtras.
1540         (WebCore::queryKeysAndValues): Ditto.
1541
1542 2014-05-07  Simon Fraser  <simon.fraser@apple.com>
1543
1544         [iOS] Acclerated overflow-scrolling broken in WK1
1545         https://bugs.webkit.org/show_bug.cgi?id=132665
1546         <rdar://problem/16842909>
1547
1548         Reviewed by Tim Horton.
1549
1550         r168301 added a CALayer delegate to disable implicit animations,
1551         but for some layers we wrap them in UIViews (which are themselves
1552         layer delegates), so bad things happened.
1553         
1554         Fix by falling back to setting the null actions dictionary for
1555         layers with custom scrolling behavior.
1556
1557         * platform/graphics/GraphicsLayer.h:
1558         * platform/graphics/ca/mac/PlatformCALayerMac.h:
1559         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1560         (PlatformCALayerMac::updateCustomBehavior):
1561         * rendering/RenderLayerBacking.cpp:
1562         (WebCore::RenderLayerBacking::updateScrollingLayers):
1563
1564 2014-05-07  Jeremy Jones  <jeremyj@apple.com>
1565
1566         HTMLMediaElement should exitFullscreen when view is removed from the window.
1567         https://bugs.webkit.org/show_bug.cgi?id=132506
1568
1569         Reviewed by Tim Horton.
1570
1571         * platform/ios/WebVideoFullscreenControllerAVKit.h:
1572         Add -requestExitFullscreen.
1573
1574         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1575         (-[WebVideoFullscreenController requestExitFullscreen]):
1576         Forward request onto WebVideoFullscreenModelMediaElement.
1577
1578         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
1579         (WebVideoFullscreenModelMediaElement::requestExitFullscreen):
1580         Add some protection here since this may be called when not in fullscreen.
1581
1582 2014-05-07  Dean Jackson  <dino@apple.com>
1583
1584         Clean up the difference between painting focus rings and adding PDF annotations
1585         https://bugs.webkit.org/show_bug.cgi?id=132638
1586
1587         Follow-up comments from Darin Adler.
1588
1589         * rendering/RenderInline.cpp:
1590         (WebCore::RenderInline::paintOutline): Move "else if" to a separate "if" for clarity.
1591         * rendering/RenderObject.cpp:
1592         (WebCore::RenderObject::paintFocusRing): Don't guard against outlineIsAuto(). ASSERT instead.
1593         (WebCore::RenderObject::addPDFURLRect): Give "rect" variable a better name.
1594         (WebCore::RenderObject::paintOutline): Move "else if" to a separate "if" for clarity.
1595
1596 2014-05-07  Alexey Proskuryakov  <ap@apple.com>
1597
1598         Make blob size computation lazy
1599         https://bugs.webkit.org/show_bug.cgi?id=132653
1600
1601         Reviewed by Anders Carlsson.
1602
1603         * fileapi/Blob.cpp:
1604         (WebCore::Blob::Blob):
1605         (WebCore::Blob::size):
1606         * fileapi/Blob.h:
1607         (WebCore::Blob::size): Deleted.
1608         * fileapi/File.cpp:
1609         (WebCore::File::size): Deleted.
1610         * fileapi/File.h:
1611         * fileapi/ThreadableBlobRegistry.cpp:
1612         (WebCore::ThreadableBlobRegistry::registerFileBlobURL):
1613         (WebCore::ThreadableBlobRegistry::registerBlobURL):
1614         (WebCore::ThreadableBlobRegistry::registerBlobURLForSlice):
1615         (WebCore::ThreadableBlobRegistry::blobSize):
1616         (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
1617         (WebCore::unregisterBlobURLTask): Deleted.
1618         * fileapi/ThreadableBlobRegistry.h:
1619         * platform/network/BlobData.cpp:
1620         (WebCore::BlobData::appendData):
1621         * platform/network/BlobRegistry.h:
1622         * platform/network/BlobRegistryImpl.cpp:
1623         (WebCore::BlobRegistryImpl::registerBlobURL):
1624         (WebCore::BlobRegistryImpl::registerBlobURLForSlice):
1625         * platform/network/BlobRegistryImpl.h:
1626
1627 2014-05-06  Simon Fraser  <simon.fraser@apple.com>
1628
1629         Add scrolling tree logging to RemoteLayerTree output
1630         https://bugs.webkit.org/show_bug.cgi?id=132640
1631
1632         Reviewed by Beth Dakin.
1633
1634         Support scrolling tree logging in the RemoteLayerTree log channel
1635         output.
1636         
1637         ScrollingStateTree::commit() unconditionally set treeStateClone->m_hasChangedProperties
1638         to true, but we should set it based on original scrolling state tree's 
1639         m_hasChangedProperties.
1640         
1641         We have to encode all of the scrolling state nodes anyway (they only encode
1642         changed properties), but we can use this for future optimizations, and to
1643         avoid spurious logging.
1644         
1645         * WebCore.exp.in: Export a couple of things we need.
1646         * page/scrolling/ScrollingStateTree.cpp:
1647         (WebCore::ScrollingStateTree::commit):
1648
1649 2014-05-07  Chris Fleizach  <cfleizach@apple.com>
1650
1651         AX: aria-expanded changes are not communicated to clients
1652         https://bugs.webkit.org/show_bug.cgi?id=132642
1653
1654         Reviewed by Mario Sanchez Prada.
1655
1656         When aria-expanded changes on non list/tree items, send out a generic
1657         AXExpandedChange notification.
1658
1659         Test: platform/mac/accessibility/expanded-notification.html
1660
1661         * accessibility/AXObjectCache.h:
1662         * accessibility/AccessibilityRenderObject.cpp:
1663         (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
1664         * accessibility/mac/AXObjectCacheMac.mm:
1665         (WebCore::AXObjectCache::postPlatformNotification):
1666
1667 2014-05-07  Alexey Proskuryakov  <ap@apple.com>
1668
1669         Release build fix.
1670
1671         * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes):
1672         Removed unused globals.
1673
1674 2014-05-07  Alexey Proskuryakov  <ap@apple.com>
1675
1676         Eliminate "well known MIME type" support
1677         https://bugs.webkit.org/show_bug.cgi?id=132654
1678
1679         Reviewed by Anders Carlsson.
1680
1681         Vestiges of FileSystem API.
1682
1683         * dom/DataTransfer.cpp:
1684         (WebCore::DataTransfer::files):
1685         (WebCore::DataTransfer::hasFileOfType):
1686         * fileapi/File.cpp:
1687         (WebCore::File::File):
1688         (WebCore::File::contentTypeFromFilePathOrName):
1689         * fileapi/File.h:
1690         * html/FileInputType.cpp:
1691         (WebCore::FileInputType::createFileList):
1692         * platform/MIMETypeRegistry.cpp:
1693         (WebCore::initializeSupportedImageMIMETypes):
1694         (WebCore::findMimeType): Deleted.
1695         (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension): Deleted.
1696         * platform/MIMETypeRegistry.h:
1697
1698 2014-05-07  Christophe Dumez  <ch.dumez@samsung.com>
1699
1700         [HTML] Default argument to HTMLTableElement.insertRow() should be -1
1701         https://bugs.webkit.org/show_bug.cgi?id=132651
1702
1703         Reviewed by Alexey Proskuryakov.
1704
1705         HTMLTableElement.insertRow()'s argument default value should be -1, not 0,
1706         as per the specification:
1707         http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#htmltableelement
1708
1709         The new behavior matches the one of Firefox 29 and IE11, and soon Blink:
1710         https://codereview.chromium.org/270213007/
1711
1712         Test: fast/dom/HTMLTableElement/insertRow-default-argument.html
1713
1714         * html/HTMLTableElement.h:
1715         * html/HTMLTableElement.idl:
1716
1717 2014-05-07  Chris Fleizach  <cfleizach@apple.com>
1718
1719         AX: AXSelectTextWithCriteria should support capitalize/lowercase/uppercase
1720         https://bugs.webkit.org/show_bug.cgi?id=132622
1721
1722         Reviewed by Mario Sanchez Prada.
1723
1724         The select text with criteria mechanism used through accessibility needs to support
1725         a few more parameters to be complete (including capitalize, lowercase and uppercase).
1726
1727         Updated: accessibility/select-text.html
1728
1729         * accessibility/AccessibilityObject.cpp:
1730         (WebCore::AccessibilityObject::selectText):
1731         * accessibility/AccessibilityObject.h:
1732         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1733         (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):
1734         * rendering/RenderText.cpp:
1735         (WebCore::makeCapitalized):
1736         * rendering/RenderText.h:
1737
1738 2014-05-07  peavo@outlook.com  <peavo@outlook.com>
1739
1740         DocumentLoader::dataReceived assertion failed
1741         https://bugs.webkit.org/show_bug.cgi?id=132017
1742
1743         Reviewed by Brent Fulgham.
1744
1745         We need to call didReceiveResponse client method before the didReceiveData client method, otherwise we get a lot of asserts.
1746         This patch also fixes frequent crashes in downloadTimerCallback method on page loading.
1747
1748         * platform/network/curl/ResourceHandleManager.cpp:
1749         (WebCore::calculateWebTimingInformations): Initialize local variables.
1750         (WebCore::headerCallback): Call didReceiveResponse client method here instead of in downloadTimerCallback.
1751         (WebCore::ResourceHandleManager::downloadTimerCallback): Remove call to didReceiveResponse method.
1752         (WebCore::ResourceHandleManager::dispatchSynchronousJob): Removed empty line.
1753
1754 2014-05-06  Antti Koivisto  <antti@apple.com>
1755
1756         REGRESSION: Animated GIF inside compositing layer never resumes animation when scrolled back into view
1757         https://bugs.webkit.org/show_bug.cgi?id=132608
1758
1759         Reviewed by Simon Fraser.
1760
1761         Test: fast/repaint/animation-after-layer-scroll.html
1762
1763         * rendering/RenderLayer.cpp:
1764         (WebCore::RenderLayer::scrollTo):
1765         
1766             Check if any animations need to be restarted after layer scroll.
1767
1768 2014-05-07  Hyowon Kim  <hw1008.kim@samsung.com>
1769
1770         GraphicsLayer::client() should return a reference.
1771         https://bugs.webkit.org/show_bug.cgi?id=126372
1772
1773         Reviewed by Simon Fraser.
1774
1775         GraphicsLayers always have a GraphicsLayerClient attached,
1776         so make client() a reference and remove some unnecessary branches.
1777         The author of the changes in the mac port is Andreas Kling <akling@apple.com>.
1778
1779         * WebCore.exp.in:
1780         * platform/graphics/GraphicsLayer.cpp:
1781         (WebCore::GraphicsLayer::GraphicsLayer):
1782         (WebCore::GraphicsLayer::willBeDestroyed):
1783         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
1784         (WebCore::GraphicsLayer::addRepaintRect):
1785         (WebCore::dumpChildren):
1786         (WebCore::GraphicsLayer::dumpProperties):
1787         * platform/graphics/GraphicsLayer.h:
1788         (WebCore::GraphicsLayer::client):
1789         (WebCore::GraphicsLayer::pageScaleFactor):
1790         (WebCore::GraphicsLayer::deviceScaleFactor):
1791         * platform/graphics/GraphicsLayerFactory.h:
1792         * platform/graphics/ca/GraphicsLayerCA.cpp:
1793         (WebCore::GraphicsLayer::create):
1794         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
1795         (WebCore::GraphicsLayerCA::initialize):
1796         (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
1797         (WebCore::GraphicsLayerCA::computePositionRelativeToBase):
1798         (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly):
1799         (WebCore::GraphicsLayerCA::computeVisibleRect):
1800         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
1801         (WebCore::GraphicsLayerCA::platformCALayerContentsScaleMultiplierForNewTiles):
1802         (WebCore::GraphicsLayerCA::platformCALayerShouldAggressivelyRetainTiles):
1803         (WebCore::GraphicsLayerCA::platformCALayerShouldTemporarilyRetainTileCohorts):
1804         (WebCore::GraphicsLayerCA::updateContentsOpaque):
1805         (WebCore::GraphicsLayerCA::updateContentsScale):
1806         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
1807         (WebCore::GraphicsLayerCA::noteLayerPropertyChanged):
1808         * platform/graphics/ca/GraphicsLayerCA.h:
1809         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1810         (WebCore::GraphicsLayer::create):
1811         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
1812         (WebCore::GraphicsLayerTextureMapper::notifyChange):
1813         (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
1814         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1815         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
1816         (WebCore::CompositingCoordinator::createRootLayer):
1817         (WebCore::CompositingCoordinator::createGraphicsLayer):
1818         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
1819         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1820         (WebCore::CoordinatedGraphicsLayer::notifyFlushRequired):
1821         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
1822         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
1823         (WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
1824         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1825         * rendering/RenderLayerBacking.cpp:
1826         (WebCore::RenderLayerBacking::createGraphicsLayer):
1827         * rendering/RenderLayerCompositor.cpp:
1828         (WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
1829         (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
1830         (WebCore::RenderLayerCompositor::updateLayerForHeader):
1831         (WebCore::RenderLayerCompositor::updateLayerForFooter):
1832         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1833         (WebCore::RenderLayerCompositor::ensureRootLayer):
1834
1835 2014-05-07  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1836
1837         [GStreamer] Corrected typo
1838         https://bugs.webkit.org/show_bug.cgi?id=132609
1839
1840         Reviewed by Martin Robinson.
1841
1842         Corrected m_canFallBackToLastFinishedSeekPositon typo and
1843         initialized in the constructor to prevent problems in the future.
1844
1845         No test needed.
1846
1847         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1848         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1849         Initialized m_canFallBackToLastFinishedSeekPosition as false.
1850         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
1851         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
1852         (WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
1853         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1854         m_canFallBackToLastFinishedSeekPositon ->
1855         m_canFallBackToLastFinishedSeekPosition
1856
1857 2014-05-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1858
1859         Convert PassOwnPtr to unique_ptr in CrossThreadTask.h
1860         https://bugs.webkit.org/show_bug.cgi?id=132605
1861
1862         Reviewed by Dirk Schulze.
1863
1864         * dom/CrossThreadTask.h: Converted.
1865
1866 2014-05-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1867
1868         [SOUP] TLSErrors do not cause page load to fail when not ignored
1869         https://bugs.webkit.org/show_bug.cgi?id=121548
1870
1871         Reviewed by Sergio Villar Senin.
1872
1873         This only happens in case of redirection, when the initial URL is
1874         an HTTPS site with an invalid certificate, that redirects to
1875         another location. We are starting the redirection without checking
1876         the TLS errors.
1877
1878         * platform/network/soup/ResourceHandleSoup.cpp:
1879         (WebCore::sendRequestCallback): Check TLS errors before starting a
1880         possible redirection.
1881
1882 2014-05-07  Manuel Rego Casasnovas  <rego@igalia.com>
1883
1884         [CSS Grid Layout] Remove runtime feature
1885         https://bugs.webkit.org/show_bug.cgi?id=132382
1886
1887         Reviewed by Benjamin Poulain.
1888
1889         Remove cssGridLayoutEnabled setting. Update methods using it accordingly.
1890
1891         * WebCore.order:
1892         * css/CSSParser.cpp:
1893         (WebCore::CSSParserContext::CSSParserContext):
1894         (WebCore::operator==):
1895         (WebCore::isValidKeywordPropertyAndValue):
1896         (WebCore::CSSParser::parseValue):
1897         (WebCore::CSSParser::parseGridTemplateShorthand):
1898         (WebCore::CSSParser::parseGridAreaShorthand):
1899         (WebCore::CSSParser::cssGridLayoutEnabled): Deleted.
1900         * css/CSSParser.h:
1901         * css/CSSParserMode.h:
1902         * dom/Document.cpp:
1903         (WebCore::Document::cssGridLayoutEnabled): Deleted.
1904         * dom/Document.h:
1905         * page/Settings.in:
1906
1907 2014-05-07  Praveen R Jadhav  <praveen.j@samsung.com>
1908
1909         Fix build errors for BlobDataItem after r168391.
1910         https://bugs.webkit.org/show_bug.cgi?id=132643
1911
1912         Reviewed by Carlos Garcia Campos.
1913
1914         Patch updates BlobDataItem params usage in ResourceHandleSoup.cpp
1915         to be inline with r168391.
1916
1917         * platform/network/soup/ResourceHandleSoup.cpp:
1918         (WebCore::blobIsOutOfDate): BlobDataItem class is updated in r168391.
1919         Corresponding parameter changes are done to resolve build error.
1920         (WebCore::addEncodedBlobItemToSoupMessageBody): BlobDataItem class is updated
1921         in r168391. Corresponding parameter changes are done to resolve build error.
1922
1923 2014-05-06  Dean Jackson  <dino@apple.com>
1924
1925         Clean up the difference between painting focus rings and adding PDF annotations
1926         https://bugs.webkit.org/show_bug.cgi?id=132638
1927
1928         Reviewed by Simon Fraser.
1929
1930         The code to add a PDF annotation when printing was called from
1931         drawFocusRing, which is quite confusing. With just little movement
1932         of code, we can detect an annotation and call addPDFURLRect in the
1933         paint phase, and drawFocusRing becomes something that only
1934         draws focus rings.
1935
1936         * rendering/RenderInline.cpp:
1937         (WebCore::RenderInline::paintOutline): Split calls to drawFocusRing
1938         and addPDFURLRect.
1939         * rendering/RenderObject.cpp:
1940         (WebCore::RenderObject::paintFocusRing): Get rid of call to PDF.
1941         (WebCore::RenderObject::addPDFURLRect): Change the signature so it
1942         can be called externally, and calculates the rectangle itself.
1943         (WebCore::RenderObject::paintOutline): Split the calls.
1944         * rendering/RenderObject.h:
1945
1946 2014-05-06  Rik Cabanier  <cabanier@adobe.com>
1947
1948         Calling createPattern with a broken image must throw an invalidstate error
1949         https://bugs.webkit.org/show_bug.cgi?id=132407
1950
1951         Reviewed by Darin Adler.
1952
1953         Updated createPattern so it throws an invalidState exception
1954         if you pass it an image that is in the broken state.
1955
1956         Tests:
1957         * canvas/philip/tests/2d.pattern.image.broken.html:
1958         * canvas/philip/tests/2d.pattern.image.incomplete.empty.html:
1959         * fast/canvas/canvas-empty-image-pattern.html:
1960
1961         * html/canvas/CanvasRenderingContext2D.cpp:
1962         (WebCore::CanvasRenderingContext2D::createPattern):
1963
1964 2014-05-06  Jer Noble  <jer.noble@apple.com>
1965
1966         [iOS][Mac] Display sleeps while playing <video> content.
1967         https://bugs.webkit.org/show_bug.cgi?id=132624
1968
1969         Reviewed by Darin Adler.
1970
1971         On iOS and Mac, create a DisplaySleepDisablerCocoa rather than an (no-op) DisplaySleepDisabler.
1972
1973         * platform/cocoa/DisplaySleepDisablerCocoa.cpp:
1974         (WebCore::DisplaySleepDisabler::create):
1975         * platform/cocoa/DisplaySleepDisablerCocoa.h:
1976
1977 2014-05-06  Dean Jackson  <dino@apple.com>
1978
1979         [Mac] Allow focus rings to redraw themselves if necessary
1980         https://bugs.webkit.org/show_bug.cgi?id=132593
1981
1982         Fix iOS build.
1983
1984         * platform/graphics/mac/GraphicsContextMac.mm:
1985         (WebCore::GraphicsContext::drawFocusRing): We no longer use the color parameter.
1986
1987 2014-05-06  Dean Jackson  <dino@apple.com>
1988
1989         [Mac] Allow focus rings to redraw themselves if necessary
1990         https://bugs.webkit.org/show_bug.cgi?id=132593
1991
1992         Reviewed by Simon Fraser.
1993
1994         Mac allows focus rings to change rendering over time. Expose this
1995         functionality to WebKit by having the rendering code detect that
1996         a focused element has asked to repaint itself, and also have
1997         the FocusController object remember how long it has been since
1998         an element was focused.
1999
2000         This patch removes WebCoreNSCellExtras, since a better version is
2001         available in WebKitSystemInterface, and it was going to be cumbersome
2002         to port the code from there into WebKit.
2003
2004         * WebCore.exp.in: Export _wkDrawFocusRingAtTime and _wkDrawCellFocusRingWithFrameAtTime.
2005         * WebCore.xcodeproj/project.pbxproj: Remove WebCoreNSCellExtras.
2006         * page/FocusController.cpp:
2007         (WebCore::FocusController::FocusController): Initialize the repaint timer.
2008         (WebCore::FocusController::~FocusController): Stop the repaint timer on deletion.
2009         (WebCore::FocusController::setFocusedElement): Keep track of the current time when focused.
2010         (WebCore::FocusController::focusedElementNeedsRepaint): Start the repaint timer.
2011         (WebCore::FocusController::focusRepaintTimerFired): Ask the focused element to repaint itself.
2012         (WebCore::FocusController::timeSinceFocusWasSet):
2013         * page/FocusController.h: Expose timeSinceFocusWasSet() and focusedElementNeedsRepaint(), as
2014         well as add the timer for repainting.
2015
2016         * platform/ControlStates.h: Add timeSinceControlWasFocused member variable, allowing the platform
2017         code such as Theme to obtain the value from FocusController.
2018         (WebCore::ControlStates::ControlStates):
2019         (WebCore::ControlStates::timeSinceControlWasFocused):
2020         (WebCore::ControlStates::setTimeSinceControlWasFocused):
2021
2022         * platform/graphics/GraphicsContext.h:
2023         (WebCore::GraphicsContext::drawFocusRing): New Mac-only method that uses timeOffset.
2024
2025         * platform/graphics/mac/GraphicsContextMac.mm:
2026         (WebCore::drawFocusRingToContext): No need to pass in color and radius - these are now
2027         ignored in WKDrawFocusRing. However, I didn't want to change the signature of the
2028         WKSI function.
2029         (WebCore::drawFocusRingToContextAtTime): Call into the new method WKDrawFocusRingAtTime.
2030         (WebCore::GraphicsContext::drawFocusRing): Color and radius no longer used.
2031
2032         * platform/mac/ThemeMac.mm:
2033         (WebCore::checkboxMargins): Update the margins since our focus ring can be a lot bigger.
2034         (WebCore::radioMargins): Ditto.
2035         (WebCore::paintToggleButton): Drawing a focus ring might trigger a repaint too.
2036         (WebCore::buttonMargins): Increase the margins.
2037         (WebCore::paintButton): If our focus ring wants to be drawn again, set the ControlStates flag.
2038
2039         * platform/mac/WebCoreNSCellExtras.h: Removed.
2040         * platform/mac/WebCoreNSCellExtras.m: Removed.
2041
2042         * platform/mac/WebCoreSystemInterface.h: Declare the new methods.
2043         * platform/mac/WebCoreSystemInterface.mm:
2044
2045         * rendering/RenderElement.cpp:
2046         (WebCore::RenderElement::initializeStyle): Expand the overflow rects by the maximum
2047         focus ring width. This might be different from the current outline size.
2048         (WebCore::RenderElement::setStyle): Ditto.
2049
2050         * rendering/RenderObject.cpp:
2051         (WebCore::RenderObject::paintFocusRing): If we're on Mac, use the new drawFocusRing method,
2052         which sets a parameter to true if the focused element needs a repaint.
2053
2054         * rendering/RenderTheme.cpp:
2055         (WebCore::RenderTheme::updateControlStatesForRenderer): Copy the value from FocusController
2056         so that the platform Theme code can use it.
2057
2058         * rendering/RenderTheme.h:
2059         (WebCore::RenderTheme::platformFocusRingMaxWidth): Add a way to get the maximum width
2060         of a focus ring for the platform. This is used to extend the overflow rects.
2061         * rendering/RenderThemeMac.h: Override the focus ring width.
2062         * rendering/RenderThemeMac.mm: On newer versions of OS X, we have a larger focus ring.
2063         (WebCore::RenderThemeMac::platformFocusRingMaxWidth):
2064         (WebCore::RenderThemeMac::paintMenuList): If a menu is focused, and needs a repaint, mark
2065         it as such.
2066
2067 2014-05-06  Jer Noble  <jer.noble@apple.com>
2068
2069         [iOS] Animate AVPlayerLayer into and out of full screen
2070         https://bugs.webkit.org/show_bug.cgi?id=132603
2071
2072         Reviewed by Simon Fraser.
2073
2074         Rather than synchronize animations across the WebProcess / UIProcess boundary, animate
2075         the AVPlayerLayer into place by first resizing the full screen layer to occupy the
2076         entire screen in the WebProcess, and use a sublayerTransform animation in the UIProcess
2077         to scale the AVPlayer from its initial screen location, as well as back to its final screen
2078         location.
2079
2080         * platform/graphics/GeometryUtilities.cpp:
2081         (WebCore::largestRectWithAspectRatioInsideRect): Added utility method.
2082         * platform/graphics/GeometryUtilities.h:
2083         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2084         (-[WebAVVideoLayer init]): Added, initialize video gravity and enable child layer masking.
2085         (-[WebAVVideoLayer setBounds:]): Create a transform to scale the video area.
2086         (WebVideoFullscreenInterfaceAVKit::enterFullscreen): Block implicit animations during setup.
2087         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): Reset the gravity to ResizeAspect
2088             if necessary.
2089
2090 2014-05-06  Alexey Proskuryakov  <ap@apple.com>
2091
2092         Make BlobDataItem use a refcounted object for files
2093         https://bugs.webkit.org/show_bug.cgi?id=132628
2094
2095         Reviewed by Anders Carlsson.
2096
2097         * CMakeLists.txt:
2098         * WebCore.vcxproj/WebCore.vcxproj:
2099         * WebCore.vcxproj/WebCore.vcxproj.filters:
2100         * WebCore.xcodeproj/project.pbxproj:
2101         Added BlobDataFileReference.{h|cpp}
2102
2103         * WebCore.exp.in: Removed unused exports.
2104
2105         * platform/network/BlobData.h:
2106         (WebCore::BlobDataItem::offset):
2107         (WebCore::BlobDataItem::BlobDataItem):
2108         Use a wrapper class for files, not a path. Changed to be more class-like accordingly.
2109
2110         * platform/network/BlobData.cpp:
2111         (WebCore::BlobData::appendData):
2112         (WebCore::BlobData::appendFile):
2113         (WebCore::BlobData::appendBlob): Deleted.
2114         (WebCore::BlobData::BlobData): Deleted.
2115         We never add blobs to BlobData, they are always resolved to data of file references.
2116         Lots of very confusing code to delete.
2117
2118         * platform/network/BlobDataFileReference.h: Added.
2119         * platform/network/BlobDataFileReference.cpp: Added.
2120         (WebCore::BlobDataFileReference::size):
2121         (WebCore::BlobDataFileReference::expectedModificationTime):
2122         (WebCore::BlobDataFileReference::computeFileSystemData):
2123         A unique reference to a file referenced by blob, to be preserved when you slice
2124         or combine blobs.
2125
2126         * platform/network/BlobRegistryImpl.cpp:
2127         (WebCore::BlobRegistryImpl::appendStorageItems):
2128         (WebCore::BlobRegistryImpl::registerFileBlobURL):
2129         (WebCore::BlobRegistryImpl::registerBlobURL):
2130         (WebCore::BlobRegistryImpl::blobSize):
2131         * platform/network/BlobResourceHandle.cpp:
2132         (WebCore::BlobResourceHandle::getSizeForNext):
2133         (WebCore::BlobResourceHandle::didGetSize):
2134         (WebCore::BlobResourceHandle::readDataSync):
2135         (WebCore::BlobResourceHandle::readFileSync):
2136         (WebCore::BlobResourceHandle::readDataAsync):
2137         (WebCore::BlobResourceHandle::readFileAsync):
2138         * platform/network/BlobResourceHandle.h:
2139         * platform/network/FormData.cpp:
2140         (WebCore::appendBlobResolved):
2141         Updated for BlobDataItem interface changes.
2142
2143 2014-05-06  Christophe Dumez  <ch.dumez@samsung.com>
2144
2145         [HTML] Default argument to HTMLTableRowElement.insertCell() should be -1
2146         https://bugs.webkit.org/show_bug.cgi?id=132615
2147
2148         Reviewed by Darin Adler.
2149
2150         HTMLTableRowElement.insertCell()'s argument default value should be -1, not
2151         0, as per the specification:
2152         http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#the-tr-element
2153
2154         The new behavior matches the one of Firefox 29 and IE11, and soon Blink:
2155         https://codereview.chromium.org/263323004/
2156
2157         Test: fast/dom/HTMLTableRowElement/insertCell-default-argument.html
2158
2159         * html/HTMLTableRowElement.h:
2160         * html/HTMLTableRowElement.idl:
2161
2162 2014-05-06  Oliver Hunt  <oliver@apple.com>
2163
2164         Fix build.
2165
2166         * WebCore.exp.in:
2167
2168 2014-05-06  Andreas Kling  <akling@apple.com>
2169
2170         Add missing line from r168384.
2171
2172         * dom/ContainerNode.h:
2173         (WebCore::ChildNodesLazySnapshot::~ChildNodesLazySnapshot):
2174
2175 2014-05-06  Oliver Hunt  <oliver@apple.com>
2176
2177         Can't make a booking at virginamerica.com
2178         https://bugs.webkit.org/show_bug.cgi?id=132626
2179
2180         Reviewed by Geoffrey Garen.
2181
2182         Test: fast/dom/assign-to-prototype-accessor-on-prototype-should-be-silent.html
2183
2184         We can't throw an exception when a site incorrectly attempts
2185         to use a dom property setter directly on the prototype as
2186         there are sites that do this as compatibility workarounds
2187         for old browsers. Instead we treat use of the setter on
2188         the prototype object in the same way we do getters, and just
2189         log a warning to the console.
2190
2191         * bindings/js/JSDOMBinding.cpp:
2192         (WebCore::reportDeprecatedSetterError):
2193         * bindings/js/JSDOMBinding.h:
2194         * bindings/scripts/CodeGeneratorJS.pm:
2195         (GenerateImplementation):
2196         * bindings/scripts/test/JS/JSTestInterface.cpp:
2197         (WebCore::setJSTestInterfaceImplementsStr2):
2198         (WebCore::setJSTestInterfaceImplementsStr3):
2199         (WebCore::setJSTestInterfaceImplementsNode):
2200         (WebCore::setJSTestInterfaceSupplementalStr2):
2201         (WebCore::setJSTestInterfaceSupplementalStr3):
2202         (WebCore::setJSTestInterfaceSupplementalNode):
2203         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
2204         (WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
2205         (WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
2206         (WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
2207         (WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
2208         * bindings/scripts/test/JS/JSTestObj.cpp:
2209         (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
2210         (WebCore::setJSTestObjEnumAttr):
2211         (WebCore::setJSTestObjByteAttr):
2212         (WebCore::setJSTestObjOctetAttr):
2213         (WebCore::setJSTestObjShortAttr):
2214         (WebCore::setJSTestObjUnsignedShortAttr):
2215         (WebCore::setJSTestObjLongAttr):
2216         (WebCore::setJSTestObjLongLongAttr):
2217         (WebCore::setJSTestObjUnsignedLongLongAttr):
2218         (WebCore::setJSTestObjStringAttr):
2219         (WebCore::setJSTestObjTestObjAttr):
2220         (WebCore::setJSTestObjXMLObjAttr):
2221         (WebCore::setJSTestObjCreate):
2222         (WebCore::setJSTestObjReflectedStringAttr):
2223         (WebCore::setJSTestObjReflectedIntegralAttr):
2224         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
2225         (WebCore::setJSTestObjReflectedBooleanAttr):
2226         (WebCore::setJSTestObjReflectedURLAttr):
2227         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
2228         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
2229         (WebCore::setJSTestObjReflectedCustomURLAttr):
2230         (WebCore::setJSTestObjTypedArrayAttr):
2231         (WebCore::setJSTestObjAttrWithGetterException):
2232         (WebCore::setJSTestObjAttrWithSetterException):
2233         (WebCore::setJSTestObjStringAttrWithGetterException):
2234         (WebCore::setJSTestObjStringAttrWithSetterException):
2235         (WebCore::setJSTestObjCustomAttr):
2236         (WebCore::setJSTestObjWithScriptStateAttribute):
2237         (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
2238         (WebCore::setJSTestObjWithScriptStateAttributeRaises):
2239         (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
2240         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
2241         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2242         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2243         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
2244         (WebCore::setJSTestObjConditionalAttr1):
2245         (WebCore::setJSTestObjConditionalAttr2):
2246         (WebCore::setJSTestObjConditionalAttr3):
2247         (WebCore::setJSTestObjConditionalAttr4Constructor):
2248         (WebCore::setJSTestObjConditionalAttr5Constructor):
2249         (WebCore::setJSTestObjConditionalAttr6Constructor):
2250         (WebCore::setJSTestObjAnyAttribute):
2251         (WebCore::setJSTestObjMutablePoint):
2252         (WebCore::setJSTestObjImmutablePoint):
2253         (WebCore::setJSTestObjStrawberry):
2254         (WebCore::setJSTestObjStrictFloat):
2255         (WebCore::setJSTestObjId):
2256         (WebCore::setJSTestObjReplaceableAttribute):
2257         (WebCore::setJSTestObjNullableLongSettableAttribute):
2258         (WebCore::setJSTestObjNullableStringValue):
2259         (WebCore::setJSTestObjAttributeWithReservedEnumType):
2260         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2261         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
2262         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
2263         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2264         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
2265         (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
2266         (WebCore::setJSTestTypedefsAttrWithGetterException):
2267         (WebCore::setJSTestTypedefsAttrWithSetterException):
2268         (WebCore::setJSTestTypedefsStringAttrWithGetterException):
2269         (WebCore::setJSTestTypedefsStringAttrWithSetterException):
2270
2271 2014-05-06  Andreas Kling  <akling@apple.com>
2272
2273         ChildNodesLazySnapshot::m_childNodes needs two heap allocations.
2274         <https://webkit.org/b/132616>
2275
2276         This seems a bit silly, since ChildNodesLazySnapshot is always
2277         allocated on the stack.
2278
2279         Change it to be a bool + a Vector instead of using the nullity
2280         as a presence indicator. This way we also don't end up with an
2281         out-of-line ~OwnPtr for the Vector.
2282
2283         Reviewed by Geoff Garen.
2284
2285         * dom/ContainerNode.h:
2286         (WebCore::ChildNodesLazySnapshot::ChildNodesLazySnapshot):
2287         (WebCore::ChildNodesLazySnapshot::nextNode):
2288         (WebCore::ChildNodesLazySnapshot::takeSnapshot):
2289         (WebCore::ChildNodesLazySnapshot::hasSnapshot):
2290
2291 2014-05-06  Alexey Proskuryakov  <ap@apple.com>
2292
2293         Eliminate BlobStorageData
2294         https://bugs.webkit.org/show_bug.cgi?id=132617
2295
2296         Reviewed by Anders Carlsson.
2297
2298         * WebCore.vcxproj/WebCore.vcxproj:
2299         * WebCore.vcxproj/WebCore.vcxproj.filters:
2300         * WebCore.xcodeproj/project.pbxproj:
2301         * platform/network/BlobData.h:
2302         (WebCore::BlobData::create):
2303         (WebCore::BlobData::BlobData):
2304         * platform/network/BlobRegistryImpl.cpp:
2305         (WebCore::loadResourceSynchronously):
2306         (WebCore::BlobRegistryImpl::appendStorageItems):
2307         (WebCore::BlobRegistryImpl::registerFileBlobURL):
2308         (WebCore::BlobRegistryImpl::registerBlobURL):
2309         (WebCore::BlobRegistryImpl::registerBlobURLForSlice):
2310         (WebCore::BlobRegistryImpl::getBlobDataFromURL):
2311         (WebCore::BlobRegistryImpl::blobSize):
2312         * platform/network/BlobRegistryImpl.h:
2313         * platform/network/BlobResourceHandle.cpp:
2314         (WebCore::BlobResourceHandle::createAsync):
2315         (WebCore::BlobResourceHandle::loadResourceSynchronously):
2316         (WebCore::BlobResourceHandle::BlobResourceHandle):
2317         (WebCore::BlobResourceHandle::doStart):
2318         (WebCore::BlobResourceHandle::getSizeForNext):
2319         (WebCore::BlobResourceHandle::didGetSize):
2320         (WebCore::BlobResourceHandle::seek):
2321         (WebCore::BlobResourceHandle::readSync):
2322         (WebCore::BlobResourceHandle::readDataSync):
2323         (WebCore::BlobResourceHandle::readFileSync):
2324         (WebCore::BlobResourceHandle::readAsync):
2325         (WebCore::BlobResourceHandle::readDataAsync):
2326         (WebCore::BlobResourceHandle::readFileAsync):
2327         (WebCore::BlobResourceHandle::notifyResponseOnSuccess):
2328         * platform/network/BlobResourceHandle.h:
2329         * platform/network/BlobStorageData.h: Removed.
2330         * platform/network/FormData.cpp:
2331         (WebCore::appendBlobResolved):
2332         * platform/network/soup/ResourceHandleSoup.cpp:
2333         (WebCore::addEncodedBlobToSoupMessageBody):
2334
2335 2014-05-06  Simon Fraser  <simon.fraser@apple.com>
2336
2337         Fix the iOS build.
2338
2339         WebCore::Editor::replaceNodeFromPasteboard(WebCore::Node*, WTF::String const&) is Mac-only.
2340         Also sort the export file.
2341
2342         * WebCore.exp.in:
2343
2344 2014-05-06  David Hyatt  <hyatt@apple.com>
2345
2346         Begin Removal of Old Multi-Column Code.
2347         https://bugs.webkit.org/show_bug.cgi?id=132480
2348
2349         Reviewed by Andreas Kling.
2350
2351         * dom/Document.cpp:
2352         (WebCore::Document::regionBasedColumnsEnabled): Deleted.
2353         * dom/Document.h:
2354         * page/FrameView.cpp:
2355         (WebCore::updateLayerPositionFlags):
2356         * page/Settings.in:
2357         * rendering/LayoutState.cpp:
2358         (WebCore::LayoutState::LayoutState):
2359         (WebCore::LayoutState::clearPaginationInformation):
2360         (WebCore::LayoutState::addForcedColumnBreak): Deleted.
2361         * rendering/LayoutState.h:
2362         (WebCore::LayoutState::LayoutState):
2363         (WebCore::LayoutState::isPaginatingColumns): Deleted.
2364         * rendering/RenderBlock.cpp:
2365         (WebCore::RenderBlock::~RenderBlock):
2366         (WebCore::RenderBlock::addChildToContinuation):
2367         (WebCore::RenderBlock::addChild):
2368         (WebCore::RenderBlock::addChildIgnoringContinuation):
2369         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
2370         (WebCore::canMergeContiguousAnonymousBlocks):
2371         (WebCore::RenderBlock::removeChild):
2372         (WebCore::RenderBlock::recomputeLogicalWidth):
2373         (WebCore::RenderBlock::addOverflowFromChildren):
2374         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
2375         (WebCore::RenderBlock::simplifiedLayout):
2376         (WebCore::RenderBlock::layoutPositionedObjects):
2377         (WebCore::RenderBlock::paintObject):
2378         (WebCore::RenderBlock::selectionGaps):
2379         (WebCore::RenderBlock::nodeAtPoint):
2380         (WebCore::RenderBlock::offsetForContents):
2381         (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
2382         (WebCore::RenderBlock::createAnonymousBoxWithSameTypeAs):
2383         (WebCore::RenderBlock::childBoxIsUnsplittableForFragmentation):
2384         (WebCore::RenderBlock::renderName):
2385         (WebCore::RenderBlock::addChildToAnonymousColumnBlocks): Deleted.
2386         (WebCore::RenderBlock::containingColumnsBlock): Deleted.
2387         (WebCore::RenderBlock::splitFlow): Deleted.
2388         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks): Deleted.
2389         (WebCore::RenderBlock::columnsBlockForSpanningElement): Deleted.
2390         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Deleted.
2391         (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth): Deleted.
2392         (WebCore::RenderBlock::isTopLayoutOverflowAllowed): Deleted.
2393         (WebCore::RenderBlock::isLeftLayoutOverflowAllowed): Deleted.
2394         (WebCore::RenderBlock::paintColumnRules): Deleted.
2395         (WebCore::RenderBlock::initialBlockOffsetForPainting): Deleted.
2396         (WebCore::RenderBlock::blockDeltaForPaintingNextColumn): Deleted.
2397         (WebCore::RenderBlock::paintColumnContents): Deleted.
2398         (WebCore::ColumnRectIterator::ColumnRectIterator): Deleted.
2399         (WebCore::ColumnRectIterator::advance): Deleted.
2400         (WebCore::ColumnRectIterator::columnRect): Deleted.
2401         (WebCore::ColumnRectIterator::hasMore): Deleted.
2402         (WebCore::ColumnRectIterator::adjust): Deleted.
2403         (WebCore::ColumnRectIterator::update): Deleted.
2404         (WebCore::RenderBlock::hitTestColumns): Deleted.
2405         (WebCore::RenderBlock::adjustForColumnRect): Deleted.
2406         (WebCore::RenderBlock::availableLogicalWidth): Deleted.
2407         (WebCore::RenderBlock::columnGap): Deleted.
2408         (WebCore::RenderBlock::computeColumnCountAndWidth): Deleted.
2409         (WebCore::RenderBlock::requiresColumns): Deleted.
2410         (WebCore::RenderBlock::setComputedColumnCountAndWidth): Deleted.
2411         (WebCore::RenderBlock::updateColumnProgressionFromStyle): Deleted.
2412         (WebCore::RenderBlock::computedColumnWidth): Deleted.
2413         (WebCore::RenderBlock::computedColumnCount): Deleted.
2414         (WebCore::RenderBlock::columnInfo): Deleted.
2415         (WebCore::RenderBlock::columnCount): Deleted.
2416         (WebCore::RenderBlock::columnRectAt): Deleted.
2417         (WebCore::RenderBlock::adjustPointToColumnContents): Deleted.
2418         (WebCore::RenderBlock::adjustRectForColumns): Deleted.
2419         (WebCore::RenderBlock::flipForWritingModeIncludingColumns): Deleted.
2420         (WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns): Deleted.
2421         (WebCore::RenderBlock::adjustForColumns): Deleted.
2422         (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns): Deleted.
2423         (WebCore::RenderBlock::paginationUnit): Deleted.
2424         (WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer): Deleted.
2425         (WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer): Deleted.
2426         (WebCore::RenderBlock::computeLineGridPaginationOrigin): Deleted.
2427         * rendering/RenderBlock.h:
2428         (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
2429         (WebCore::RenderBlock::createAnonymousBlock):
2430         (WebCore::RenderBlock::paintColumnRules):
2431         (WebCore::RenderBlock::createAnonymousColumnsBlock): Deleted.
2432         (WebCore::RenderBlock::createAnonymousColumnSpanBlock): Deleted.
2433         * rendering/RenderBlockFlow.cpp:
2434         (WebCore::RenderBlockFlow::adjustIntrinsicLogicalWidthsForColumns):
2435         (WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):
2436         (WebCore::RenderBlockFlow::recomputeLogicalWidthAndColumnWidth):
2437         (WebCore::RenderBlockFlow::columnGap):
2438         (WebCore::RenderBlockFlow::computeColumnCountAndWidth):
2439         (WebCore::RenderBlockFlow::layoutBlock):
2440         (WebCore::inNormalFlow):
2441         (WebCore::RenderBlockFlow::applyBeforeBreak):
2442         (WebCore::RenderBlockFlow::applyAfterBreak):
2443         (WebCore::RenderBlockFlow::updateMinimumPageHeight):
2444         (WebCore::RenderBlockFlow::computeOverflow):
2445         (WebCore::RenderBlockFlow::addOverhangingFloats):
2446         (WebCore::RenderBlockFlow::hasOverhangingFloat):
2447         (WebCore::RenderBlockFlow::relayoutForPagination):
2448         (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
2449         (WebCore::RenderBlockFlow::requiresColumns):
2450         (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
2451         (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
2452         (WebCore::RenderBlockFlow::computedColumnWidth):
2453         (WebCore::RenderBlockFlow::computedColumnCount):
2454         * rendering/RenderBlockFlow.h:
2455         (WebCore::RenderBlockFlow::hasOverhangingFloats):
2456         * rendering/RenderBox.cpp:
2457         (WebCore::RenderBox::styleDidChange):
2458         (WebCore::RenderBox::offsetFromContainer):
2459         (WebCore::RenderBox::computeRectForRepaint):
2460         (WebCore::RenderBox::layoutOverflowRectForPropagation):
2461         * rendering/RenderBox.h:
2462         * rendering/RenderBoxModelObject.cpp:
2463         (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
2464         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
2465         * rendering/RenderBoxModelObject.h:
2466         (WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion):
2467         * rendering/RenderFlexibleBox.cpp:
2468         (WebCore::RenderFlexibleBox::layoutBlock):
2469         * rendering/RenderFlowThread.h:
2470         * rendering/RenderGeometryMap.cpp:
2471         (WebCore::canMapBetweenRenderers):
2472         * rendering/RenderInline.cpp:
2473         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2474         (WebCore::RenderInline::computeRectForRepaint):
2475         (WebCore::RenderInline::offsetFromContainer):
2476         (WebCore::RenderInline::mapLocalToContainer):
2477         * rendering/RenderLayer.cpp:
2478         (WebCore::RenderLayer::RenderLayer):
2479         (WebCore::RenderLayer::updateLayerPositions):
2480         (WebCore::RenderLayer::updatePagination):
2481         (WebCore::accumulateOffsetTowardsAncestor):
2482         (WebCore::RenderLayer::paintList):
2483         (WebCore::RenderLayer::hitTestList):
2484         (WebCore::checkContainingBlockChainForPagination): Deleted.
2485         (WebCore::RenderLayer::useRegionBasedColumns): Deleted.
2486         (WebCore::RenderLayer::paintPaginatedChildLayer): Deleted.
2487         (WebCore::RenderLayer::paintChildLayerIntoColumns): Deleted.
2488         (WebCore::RenderLayer::hitTestPaginatedChildLayer): Deleted.
2489         (WebCore::RenderLayer::hitTestChildLayerColumns): Deleted.
2490         * rendering/RenderLayer.h:
2491         * rendering/RenderMultiColumnFlowThread.cpp:
2492         (WebCore::RenderMultiColumnFlowThread::shouldCheckColumnBreaks):
2493         * rendering/RenderMultiColumnFlowThread.h:
2494         * rendering/RenderObject.cpp:
2495         (WebCore::RenderObject::computeRectForRepaint):
2496         (WebCore::RenderObject::mapLocalToContainer):
2497         (WebCore::RenderObject::pushMappingToContainer):
2498         (WebCore::RenderObject::offsetFromContainer):
2499         * rendering/RenderObject.h:
2500         (WebCore::RenderObject::isAnonymousBlock):
2501         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
2502         (WebCore::RenderObject::hasColumns): Deleted.
2503         (WebCore::RenderObject::setHasColumns): Deleted.
2504         (WebCore::RenderObject::isAnonymousColumnsBlock): Deleted.
2505         (WebCore::RenderObject::isAnonymousColumnSpanBlock): Deleted.
2506         (WebCore::RenderObject::adjustForColumns): Deleted.
2507         (WebCore::RenderObject::offsetForColumns): Deleted.
2508         * rendering/RenderText.cpp:
2509         (WebCore::RenderText::selectionRectForRepaint):
2510         * rendering/RenderView.cpp:
2511         (WebCore::RenderView::availableLogicalHeight):
2512         (WebCore::RenderView::pageOrViewLogicalHeight):
2513         (WebCore::RenderView::unextendedBackgroundRect):
2514         (WebCore::RenderView::backgroundRect):
2515         (WebCore::RenderView::shouldDisableLayoutStateForSubtree):
2516         (WebCore::RenderView::pageNumberForBlockProgressionOffset):
2517         (WebCore::RenderView::pageCount):
2518         (WebCore::RenderView::paginationUnit): Deleted.
2519         * rendering/RenderView.h:
2520         (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
2521         (WebCore::LayoutStateMaintainer::push):
2522         * rendering/SimpleLineLayout.cpp:
2523         (WebCore::SimpleLineLayout::canUseFor):
2524         * rendering/svg/RenderSVGText.cpp:
2525         (WebCore::RenderSVGText::layout):
2526         * style/StyleResolveForDocument.cpp:
2527         (WebCore::Style::resolveForDocument):
2528
2529 2014-05-06  Brady Eidson  <beidson@apple.com>
2530
2531         Don't select an image that is about to have its menu shown.
2532         <rdar://problem/16807845> and https://bugs.webkit.org/show_bug.cgi?id=132579
2533
2534         Reviewed by Tim Horton.
2535
2536         * WebCore.exp.in:
2537
2538         * editing/Editor.h:
2539         * editing/mac/EditorMac.mm:
2540         (WebCore::Editor::replaceNodeFromPasteboard): New method that first selects
2541           the Node and then immediately pastes over it. Since it’s synchronous the 
2542           selection never has a chance to paint.
2543
2544         * html/shadow/mac/ImageControlsButtonElementMac.cpp:
2545         (WebCore::ImageControlsButtonElementMac::defaultEventHandler): Don’t select the image.
2546
2547 2014-05-06  Eric Carlson  <eric.carlson@apple.com>
2548
2549         [Mac] make metadata cue attributes consistent
2550         https://bugs.webkit.org/show_bug.cgi?id=132610
2551
2552         Reviewed by Jer Noble.
2553
2554         No new tests, updated http/tests/media/track-in-band-hls-metadata.html.
2555
2556         * platform/mac/SerializedPlatformRepresentationMac.mm:
2557         (WebCore::jsValueWithAVMetadataItemInContext): Don't include keys @dataTypeNamespace
2558             or @pictureType, @dataType -> @type.
2559
2560 2014-05-06  Brady Eidson  <beidson@apple.com>
2561
2562         "Flash of content without image" when pasting a raw image from the pasteboard
2563         <rdar://problem/16826199> and https://bugs.webkit.org/show_bug.cgi?id=132612
2564
2565         Reviewed by Tim Horton.
2566
2567         Let an ArchiveResource be flagged as "should load immediately":
2568         * loader/archive/ArchiveResource.cpp:
2569         (WebCore::ArchiveResource::ArchiveResource):
2570         * loader/archive/ArchiveResource.h:
2571         (WebCore::ArchiveResource::setShouldLoadImmediately):
2572         (WebCore::ArchiveResource::shouldLoadImmediately):
2573
2574         Set that flag on the ArchiveResource for the image.
2575         Note we quite explicitly do this only in the "read a single image" from the pasteboard
2576         case, because we don't want to do this synchronous step for multiple images at once
2577         such as when pasting a WebArchive:
2578         * editing/mac/EditorMac.mm:
2579         (WebCore::Editor::WebContentReader::readImage):
2580
2581         When creating a new CachedResource, if there is an ArchiveResource that is set to
2582         load immediately, populate the CachedResource immediately instead of scheduling a load:
2583         * loader/cache/CachedResourceLoader.cpp:
2584         (WebCore::CachedResourceLoader::requestResource):
2585
2586 2014-05-06  Alex Christensen  <achristensen@webkit.org>
2587
2588         Unreviewed build fix for debug after r168367.
2589
2590         * platform/NotImplemented.cpp:
2591         Added include NotImplemented.h.
2592
2593 2014-05-06  Alex Christensen  <achristensen@webkit.org>
2594
2595         Removed unnecessary notImplemented.h includes.
2596         https://bugs.webkit.org/show_bug.cgi?id=132587
2597
2598         Reviewed by Anders Carlsson.
2599
2600         * Modules/webdatabase/Database.cpp:
2601         * accessibility/AccessibilityObject.cpp:
2602         * bindings/js/Dictionary.h:
2603         * bindings/js/SerializedScriptValue.cpp:
2604         * html/HTMLMediaSession.cpp:
2605         * html/ImageDocument.cpp:
2606         * html/parser/HTMLFormattingElementList.cpp:
2607         * loader/appcache/ApplicationCacheStorage.cpp:
2608         * page/mac/EventHandlerMac.mm:
2609         * platform/NotImplemented.cpp:
2610         * platform/audio/ios/MediaSessionManagerIOS.mm:
2611         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
2612         * platform/graphics/mac/GraphicsContext3DMac.mm:
2613         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2614         * platform/ios/PlatformScreenIOS.mm:
2615         * platform/mac/PlatformScreenMac.mm:
2616         * platform/mac/WidgetMac.mm:
2617         * platform/mediastream/MediaStreamTrackPrivate.cpp:
2618         * platform/mediastream/mac/AVCaptureDeviceManager.mm:
2619         * platform/mediastream/mac/AVMediaCaptureSource.mm:
2620         * rendering/RenderGrid.cpp:
2621         * workers/SharedWorkerGlobalScope.cpp:
2622         * workers/WorkerGlobalScope.cpp:
2623         * workers/WorkerMessagingProxy.cpp:
2624         Removed notImplemented from list of includes.
2625
2626 2014-05-06  Enrica Casucci  <enrica@apple.com>
2627
2628         Unreviewed build fix after http://trac.webkit.org/changeset/168364
2629
2630         * rendering/RenderLineBreak.cpp:
2631
2632 2014-05-06  Christophe Dumez  <ch.dumez@samsung.com>
2633
2634         [HTML] Default argument to HTMLTableSectionElement.insertRow() should be -1
2635         https://bugs.webkit.org/show_bug.cgi?id=132570
2636
2637         Reviewed by Darin Adler.
2638
2639         HTMLTableSectionElement.insertRow()'s argument default value should be -1, not
2640         0, as per the specification:
2641         http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#the-tbody-element
2642
2643         The new behavior matches the one of Firefox 29 and IE11, and soon Blink:
2644         https://code.google.com/p/chromium/issues/detail?id=369803
2645
2646         Test: fast/dom/HTMLTableSectionElement/insertRow-default-argument.html
2647
2648         * html/HTMLTableSectionElement.h:
2649         * html/HTMLTableSectionElement.idl:
2650
2651 2014-05-05  Enrica Casucci  <enrica@apple.com>
2652
2653         REGRESSION(r155957): Selection rects are incorrect when the selection contains BR elements.
2654         https://bugs.webkit.org/show_bug.cgi?id=132596
2655         <rdar://problem/16692206>
2656
2657         Reviewed by Antti Koivisto.
2658
2659         This patch adds an implementation of collectSelectionRects to RenderLineBreak.
2660         It uses the same logic used by RenderText to compute and annotate the returned rect
2661         which is computed, like the caret rect, using information from the rootline box.
2662
2663         * rendering/RenderLineBreak.cpp:
2664         (WebCore::RenderLineBreak::collectSelectionRects):
2665         * rendering/RenderLineBreak.h:
2666
2667 2014-05-06  Andrei Bucur  <abucur@adobe.com>
2668
2669         [CSS Regions] Optimize the number of regions invalidations
2670         https://bugs.webkit.org/show_bug.cgi?id=132611
2671
2672         Reviewed by David Hyatt.
2673
2674         It is possible to invalidate the region chain of a flow thread
2675         during the layout of the region when its height is not final.
2676
2677         This patch places the check after the height of the region
2678         is determined, reducing the number of invalidations.
2679
2680         Tests: Less invalidations and repaints in the repaint tests for
2681         the flow threads.
2682
2683         * rendering/RenderBlockFlow.cpp:
2684         (WebCore::RenderBlockFlow::updateLogicalHeight):
2685         * rendering/RenderNamedFlowFragment.cpp:
2686         (WebCore::RenderNamedFlowFragment::layoutBlock):
2687         (WebCore::RenderNamedFlowFragment::invalidateRegionIfNeeded):
2688         * rendering/RenderNamedFlowFragment.h:
2689
2690 2014-05-03  Sam Weinig  <sam@webkit.org>
2691
2692         [Extended Background] Respect repeat-x/repeat-y when creating margin tiles
2693         https://bugs.webkit.org/show_bug.cgi?id=132534
2694
2695         Reviewed by Beth Dakin.
2696
2697         If the background image that is causing margin tiles only repeats in dimension only create
2698         the tiles in that dimension.
2699
2700         * page/FrameView.cpp:
2701         (WebCore::FrameView::updateExtendBackgroundIfNecessary):
2702         (WebCore::FrameView::calculateExtendedBackgroundMode):
2703         (WebCore::FrameView::updateTilesForExtendedBackgroundMode):
2704         (WebCore::FrameView::setBackgroundExtendsBeyondPage): Deleted.
2705         (WebCore::FrameView::needsExtendedBackgroundRectForPainting): Deleted.
2706         (WebCore::FrameView::setHasExtendedBackgroundRectForPainting): Deleted.
2707         * page/FrameView.h:
2708         * page/Settings.cpp:
2709         (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
2710         * platform/graphics/TiledBacking.h:
2711         * platform/graphics/ca/mac/TileController.h:
2712         * platform/graphics/ca/mac/TileController.mm:
2713         (WebCore::TileController::hasHorizontalMargins):
2714         (WebCore::TileController::hasVerticalMargins):
2715         * rendering/RenderElement.cpp:
2716         (WebCore::RenderElement::styleWillChange):
2717         * rendering/RenderLayerBacking.cpp:
2718         (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
2719         * rendering/RenderLayerBacking.h:
2720
2721 2014-05-06  Chris Fleizach  <cfleizach@apple.com>
2722
2723         AX: VoiceOver does not announce text changes for content editable regions in Safari
2724         https://bugs.webkit.org/show_bug.cgi?id=132577
2725
2726         Reviewed by Mario Sanchez Prada.
2727
2728         When text or children are changed inside of a contenteditable region, we need to 
2729         convert those actions into AXValueChange notifications.
2730
2731         Test: accessibility/content-editable-set-inner-text-generates-axvalue-notification.html
2732
2733         * accessibility/AccessibilityNodeObject.cpp:
2734         (WebCore::AccessibilityNodeObject::childrenChanged):
2735         (WebCore::AccessibilityNodeObject::hasContentEditableAttributeSet): Deleted.
2736         * accessibility/AccessibilityNodeObject.h:
2737         * accessibility/AccessibilityObject.cpp:
2738         (WebCore::AccessibilityObject::hasContentEditableAttributeSet):
2739         * accessibility/AccessibilityObject.h:
2740         * accessibility/AccessibilityRenderObject.cpp:
2741         (WebCore::AccessibilityRenderObject::textChanged):
2742
2743 2014-05-06  Dirk Schulze  <krit@webkit.org>
2744
2745         [SVG2] Share "on"- event attributes with HTMLElement
2746         https://bugs.webkit.org/show_bug.cgi?id=132604
2747
2748         Reviewed by Mihnea Ovidenie.
2749
2750         Share "on" event attribute parsing between SVGElement and HTMLElement.
2751
2752         Tests: fast/dom/script-tests/event-attribute-availability.js:
2753
2754         * html/HTMLElement.cpp:
2755         (WebCore::HTMLElement::populateEventNameForAttributeLocalNameMap):
2756         (WebCore::populateEventNameForAttributeLocalNameMap): Deleted.
2757         * html/HTMLElement.h: Make populateEventNameForAttributeLocalNameMap
2758             public for use in SVGElement.
2759         * svg/SVGElement.cpp: Use HTMLElement code to parse "on" event
2760             attributes.
2761         (WebCore::SVGElement::parseAttribute):
2762
2763 2014-05-05  Zan Dobersek  <zdobersek@igalia.com>
2764
2765         [Soup] Use std::unique_ptr<char[]> for the read buffer in SocketStreamHandle
2766         https://bugs.webkit.org/show_bug.cgi?id=132559
2767
2768         Reviewed by Carlos Garcia Campos.
2769
2770         Manage the read buffer array through a std::unique_ptr<char[]> object.
2771         This avoids handling with the raw pointer and also ensures that the memory
2772         allocated with the new[] operator is deleted with the delete[] operator,
2773         a problem exposed by the AddressSanitizer in WebSocket tests.
2774
2775         * platform/network/soup/SocketStreamHandle.h:
2776         * platform/network/soup/SocketStreamHandleSoup.cpp:
2777         (WebCore::SocketStreamHandle::SocketStreamHandle):
2778         (WebCore::SocketStreamHandle::connected):
2779         (WebCore::SocketStreamHandle::readBytes):
2780         (WebCore::SocketStreamHandle::platformClose):
2781
2782 2014-05-05  Dirk Schulze  <krit@webkit.org>
2783
2784         Adapt inline SVG sizing behavior to Firefox and Blink
2785         https://bugs.webkit.org/show_bug.cgi?id=132569
2786
2787         Reviewed by Dean Jackson.
2788
2789         This patch is ported from Blink CR 308992. Thanks to David Vest for helping
2790         with back porting his Blink patch. From the commit message:
2791
2792         "The basis of this change is to map explicit width and height
2793         attributes to CSS properties, essentially promoting them to
2794         presentation attributes. Note that implicit "100%" width and height
2795         are not mapped.
2796         
2797         This enables us to remove the concept of "percentage intrinsic size"
2798         and rely on normal CSS rules to resolve percentage values.
2799         
2800         The change has been approved by the SVG WG and the spec is being
2801         updated. Minutes here:
2802         
2803         http://www.w3.org/2014/04/07-svg-minutes.html#item03"
2804
2805         The new model was indeed approved by the SVG WG and is basically following
2806         the CSS 2.1 model for replaced elements.
2807
2808         With this patch WebKit, Firefox and Blink have the same behavior for inline SVG.
2809         This is the first successful approach to unify the sizing behavior of SVG
2810         across UAs.
2811
2812         Tests: svg/as-object/sizing/svg-in-object-placeholder-height-auto.html
2813                svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html
2814                svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html
2815                svg/in-html/sizing/svg-inline.html
2816
2817         * css/svg.css: Root SVG elements still need to be sized with height: 100% and
2818             width: 100%. This is necessary since width and height are presentation
2819             attributes now.
2820         (svg:root):
2821         * rendering/RenderBox.h:
2822         (WebCore::RenderBox::computeIntrinsicRatioInformation): Remove all special
2823             behavior for intrinsic and percentage based sizes in SVG. This simplifies and
2824             unifies the code a lot. Most of the logic that is used is in RenderBox and
2825             RenderReplaced now. RenderSVGRoot was cleaned up a lot and is much lighter. 
2826             And so it SVGSVGElement.
2827         * rendering/RenderBoxModelObject.cpp:
2828         (WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
2829         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
2830         * rendering/RenderImage.cpp:
2831         (WebCore::RenderImage::computeIntrinsicRatioInformation):
2832         * rendering/RenderImage.h:
2833         * rendering/RenderReplaced.cpp:
2834         (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
2835         (WebCore::RenderReplaced::computeIntrinsicRatioInformation):
2836         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2837         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2838         (WebCore::RenderReplaced::computePreferredLogicalWidths):
2839         * rendering/RenderReplaced.h:
2840         * rendering/svg/RenderSVGRoot.cpp:
2841         (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
2842         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
2843         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2844         (WebCore::RenderSVGRoot::hasRelativeDimensions):
2845         (WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth): Deleted.
2846         (WebCore::RenderSVGRoot::hasRelativeLogicalHeight): Deleted.
2847         * rendering/svg/RenderSVGRoot.h:
2848         * svg/SVGElement.h:
2849         (WebCore::SVGElement::invalidateSVGPresentationAttributeStyle):
2850         * svg/SVGSVGElement.cpp:
2851         (WebCore::SVGSVGElement::isPresentationAttribute):
2852         (WebCore::SVGSVGElement::collectStyleForPresentationAttribute):
2853         (WebCore::SVGSVGElement::svgAttributeChanged):
2854         (WebCore::SVGSVGElement::currentViewportSize):
2855         (WebCore::SVGSVGElement::hasIntrinsicWidth):
2856         (WebCore::SVGSVGElement::hasIntrinsicHeight):
2857         (WebCore::SVGSVGElement::intrinsicWidth):
2858         (WebCore::SVGSVGElement::intrinsicHeight):
2859         (WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Deleted.
2860         (WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Deleted.
2861         * svg/SVGSVGElement.h:
2862         * svg/graphics/SVGImage.cpp:
2863         (WebCore::SVGImage::containerSize):
2864         * xml/XMLErrors.cpp: If an error occurs in a stand alone SVG file, we create
2865             an XHTML document with the error message and append the SVG file.
2866             This SVG file now follows the CSS sizing behavior as inline SVG.
2867             Therefore, we need to set width and height to 100% explicitly.
2868         (WebCore::XMLErrors::insertErrorMessageBlock):
2869
2870 2014-05-05  Ryuan Choi  <ryuan.choi@samsung.com>
2871
2872         [EFL] REGRESSION(167145): JavaScript media controls are broken
2873         https://bugs.webkit.org/show_bug.cgi?id=131573
2874
2875         Reviewed by Brent Fulgham.
2876
2877         * PlatformEfl.cmake: Add the localized strings file to the list of user agent scripts.
2878         * platform/efl/RenderThemeEfl.cpp:
2879         (WebCore::RenderThemeEfl::mediaControlsScript): Include the localized strings file in the script body.
2880
2881 2014-05-05  Jeremy Jones  <jeremyj@apple.com>
2882
2883         Implement scan backward and forward in video fullscreen.
2884         https://bugs.webkit.org/show_bug.cgi?id=132517
2885
2886         Reviewed by Simon Fraser.
2887
2888         Implement scanning forward and backward. This implements methods in 
2889         WebAVPlayerController and forwards them through WebVideoFullscreenModelMediaElement
2890         and on to HTMLMediaElement.
2891
2892         * WebCore.exp.in: necessary exports.
2893         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2894         (-[WebAVPlayerController seekToTime:]):
2895         Use fastSeek in this case.
2896         (-[WebAVPlayerController canScanForward]): If you can play, you can scan.
2897         (+[WebAVPlayerController keyPathsForValuesAffectingCanScanForward]): ditto
2898         (-[WebAVPlayerController beginScanningForward:]): ditto
2899         (-[WebAVPlayerController endScanningForward:]): ditto
2900         (-[WebAVPlayerController canScanBackward]): If you can play, you can scan.
2901         (+[WebAVPlayerController keyPathsForValuesAffectingCanScanBackward]): ditto
2902         (-[WebAVPlayerController beginScanningBackward:]): ditto
2903         (-[WebAVPlayerController endScanningBackward:]): ditto
2904         (-[WebAVPlayerController canSeekToBeginning]):
2905         This looks at seekableRanges to determine if any seeking is possible.
2906         (+[WebAVPlayerController keyPathsForValuesAffectingCanSeekToBeginning]):
2907         depends on seekableRanges.
2908         (-[WebAVPlayerController seekToBeginning:]): seek to -ininity
2909         (-[WebAVPlayerController canSeekToEnd]):
2910         This looks at seekableRanges to determine if any seeking is possible.
2911         (+[WebAVPlayerController keyPathsForValuesAffectingCanSeekToEnd]):
2912         depends on seekableRanges.
2913         (-[WebAVPlayerController seekToEnd:]): seek to INFINITY.
2914         * platform/ios/WebVideoFullscreenModel.h:
2915         Add 4 new functions.
2916         * platform/ios/WebVideoFullscreenModelMediaElement.h:
2917         ditto
2918         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
2919         (WebVideoFullscreenModelMediaElement::fastSeek): forwards to HTMLMediaEelement
2920         (WebVideoFullscreenModelMediaElement::beginScanningForward): forwards to HTMLMediaEelement
2921         (WebVideoFullscreenModelMediaElement::beginScanningBackward): forwards to HTMLMediaEelement
2922         (WebVideoFullscreenModelMediaElement::endScanning): forwards to HTMLMediaEelement
2923
2924 2014-05-05  Benjamin Poulain  <bpoulain@apple.com>
2925
2926         [iOS][WK2] Prefetch DNS hostnames on tap highlight
2927         https://bugs.webkit.org/show_bug.cgi?id=132509
2928
2929         Reviewed by Alexey Proskuryakov.
2930
2931         * WebCore.exp.in:
2932         * dom/Element.cpp:
2933         * dom/Element.h:
2934         (WebCore::Element::absoluteLinkURL()):
2935
2936 2014-05-05  Simon Fraser  <simon.fraser@apple.com>
2937
2938         [iOS WK2] Flickery scrolling inside overflow-scrolling: touch
2939         https://bugs.webkit.org/show_bug.cgi?id=132591
2940         <rdar://problem/16760466>
2941
2942         Reviewed by Tim Horton.
2943
2944         Avoid triggering layer tree commits that touch the layer's boundsOrigin
2945         while the user is scrolling in the UI process.
2946         
2947         Fix the WKOverflowScrollViewDelegate to pass along an "inUserInteration"
2948         flag to the ScrollingTree to say that we're in the middle of a user interaction
2949         (and also to send a final non-interactive update). That gets passed along
2950         to the web process, and turned into "SyncScrollingLayerPosition" update.
2951         AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll() consults
2952         this, and uses it to set a flag on the ScrollableArea to say that the scroll
2953         is a user scroll.
2954         
2955         RenderLayerBacking then makes use of this (in existing code, shared with WK1)
2956         to avoid triggering layer bounds setting. Instead, it now just calls syncBoundsOrigin(),
2957         which updates the GraphicsLayer without touching platform layers. This is necessary
2958         so that GraphicsLayer geometry is up-to-date (used for tiled layer visibility
2959         computations).
2960         
2961         Finally, a hack in GraphicsLayerCA::computeVisibleRect() is conditionalized
2962         for WebKit1 by checking the type of platform layer.
2963
2964         * WebCore.exp.in:
2965         * page/scrolling/AsyncScrollingCoordinator.cpp:
2966         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
2967         * page/scrolling/ScrollingTree.cpp:
2968         (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
2969         * page/scrolling/ScrollingTree.h:
2970         * platform/graphics/GraphicsLayer.h:
2971         (WebCore::GraphicsLayer::syncBoundsOrigin):
2972         * platform/graphics/ca/GraphicsLayerCA.cpp:
2973         (WebCore::GraphicsLayerCA::computeVisibleRect):
2974         * rendering/RenderLayerBacking.cpp:
2975         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2976
2977 2014-05-05  Alexey Proskuryakov  <ap@apple.com>
2978
2979         Stop using BlobData on client side
2980         https://bugs.webkit.org/show_bug.cgi?id=132582
2981
2982         Reviewed by Sam Weinig.
2983
2984         Blob registration now uses either a single file path, or a vector of much simpler
2985         BlobPart objects, not an array with arbitrarily sliced blobs or files, which can't happen.
2986
2987         * Modules/websockets/WebSocket.cpp:(WebCore::WebSocket::didReceiveBinaryData):
2988         Use a new simpler Blob constructor.
2989
2990         * WebCore.xcodeproj/project.pbxproj: Added BlobPart, removed BlobRegistrationData.
2991
2992         * bindings/js/JSBlobCustom.cpp: (WebCore::JSBlobConstructor::constructJSBlob):
2993         Use Vector<BlobPart> instead of BlobData (1 line of code instead of 5).
2994
2995         * dom/DataTransfer.cpp: (WebCore::DataTransfer::hasFileOfType): Updated for
2996         File::contentTypeFromFilePathOrName rename.
2997
2998         * fileapi/Blob.cpp: (WebCore::Blob::Blob):
2999         * fileapi/Blob.h:
3000         (WebCore::Blob::create):
3001         (WebCore::Blob::deserialize):
3002         * fileapi/File.cpp:
3003         (WebCore::File::File):
3004         (WebCore::File::contentTypeFromFilePathOrName):
3005         (WebCore::createBlobDataForFileWithType): Deleted.
3006         (WebCore::createBlobDataForFile): Deleted.
3007         (WebCore::createBlobDataForFileWithName): Deleted.
3008         (WebCore::File::contentTypeFromFilePath): Deleted.
3009         * fileapi/File.h: (WebCore::File::deserialize): Deleted.
3010         Added and updated constructors to not use BlobData. Changed special case constructors
3011         to use name tags instead of non-enforced comments.
3012
3013         * fileapi/ThreadableBlobRegistry.h:
3014         * fileapi/ThreadableBlobRegistry.cpp:
3015         (WebCore::BlobRegistryContext::BlobRegistryContext): Updated with new data members
3016         that were split out of BlobData.
3017         (WebCore::ThreadableBlobRegistry::registerFileBlobURL): Added.
3018         (WebCore::ThreadableBlobRegistry::registerBlobURL): Updated to pass Content-Type
3019         explicitly, as it's no longer hidden in BlobData.
3020
3021         * fileapi/WebKitBlobBuilder.h:
3022         * fileapi/WebKitBlobBuilder.cpp:
3023         (WebCore::BlobBuilder::append):
3024         (WebCore::BlobBuilder::finalize):
3025         (WebCore::BlobBuilder::appendBytesData): Deleted.
3026         Updated to use BlobPart. There is no longer any need to special case Files,
3027         the registry takes care of that.
3028
3029         * platform/network/BlobData.h:
3030         * platform/network/BlobData.cpp:
3031         (WebCore::BlobDataItem::detachFromCurrentThread): Deleted.
3032         (WebCore::BlobData::detachFromCurrentThread): Deleted.
3033         BlobData will only be used on main thread by the registry.
3034
3035         * platform/network/BlobPart.h: Added. A new class to encapsulate a list of blobs
3036         that are combined into a new blob, as exposed to JS via Blob constructor.
3037
3038         * platform/network/BlobRegistry.h:
3039         * platform/network/BlobRegistryImpl.cpp:
3040         (WebCore::BlobRegistryImpl::registerFileBlobURL):
3041         (WebCore::BlobRegistryImpl::registerBlobURL):
3042         * platform/network/BlobRegistryImpl.h:
3043         Updated for the new registration methods. We no longer have arbitrary BlobDatas
3044         coming in.
3045
3046         * platform/network/FormData.cpp: Don't include BlobData for now (but really,
3047         BlobStorageData is the same thing, and they will be merged soon).
3048         Unfortunately, FormData is used by both client and registry side, and there is
3049         no clear delimitation at the time.
3050  
3051         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseBlob): Use the new simpler
3052         way to create a Blob.
3053
3054 2014-05-05  Benjamin Poulain  <benjamin@webkit.org>
3055
3056         Clean up Image Document and tweak the layout and viewport
3057         https://bugs.webkit.org/show_bug.cgi?id=132552
3058
3059         Reviewed by Sam Weinig.
3060
3061         The #ifdef in every function was making quite a mess. A lot of that code does
3062         not make sense on iOS.
3063
3064         This patch make a clean split between mouse related stuff and iOS.
3065
3066         Also:
3067         -Change the viewport to be only width based, and avoid scaling in portrait.
3068         -Center the image horizontally in the view.
3069
3070         * html/ImageDocument.cpp:
3071         (WebCore::ImageDocument::ImageDocument):
3072         (WebCore::ImageDocument::createDocumentStructure):
3073         (WebCore::ImageDocument::imageUpdated):
3074         (WebCore::ImageDocument::scale):
3075         (WebCore::ImageDocument::resizeImageToFit):
3076         (WebCore::ImageDocument::imageFitsInWindow):
3077         (WebCore::ImageDocument::windowSizeChanged):
3078         (WebCore::ImageDocument::imageClicked):
3079         * html/ImageDocument.h:
3080
3081 2014-05-05  Beth Dakin  <bdakin@apple.com>
3082
3083         Need a delegate that informs the UI process when the page's pin state changes
3084         https://bugs.webkit.org/show_bug.cgi?id=132583
3085         -and corresponding-
3086         <rdar://problem/16806231>
3087
3088         Reviewed by Anders Carlsson.
3089
3090         We should default all of these pin-state value to true.
3091         * page/scrolling/ScrollingTree.cpp:
3092         (WebCore::ScrollingTree::ScrollingTree):
3093
3094 2014-05-05  Christophe Dumez  <ch.dumez@samsung.com>
3095
3096         Named element cache can become invalid during HTMLCollection::updateNamedElementCache()
3097         https://bugs.webkit.org/show_bug.cgi?id=132575
3098
3099         Reviewed by Ryosuke Niwa.
3100
3101         Make sure the named element cache object stays valid in
3102         HTMLCollection::updateNamedElementCache() while it is populating it.
3103
3104         The method was previously creating and setting the cache first, and then start
3105         traversing the DOM tree to populate it. As a consequence, hasNamedElementCache()
3106         would start returning true before the cache is actually populated.
3107         The issue is that finding matches in the DOM tree can cause
3108         HTMLCollection::invalidateCache() to be called under certain circumstances and
3109         thus the named element cache object can become invalid while
3110         updateNamedElementCache() is populating it.
3111
3112         To avoid the issue, this patch updates updateNamedElementCache() so that the
3113         named element cache map is set *after* traversing the DOM tree. This way,
3114         hasNamedElementCache() returns false while the cache is being populated and
3115         there is no chance of it being invalidated too early.
3116
3117         Test: fast/dom/htmlcollection-selectedOptions-namedItem-crash.html
3118
3119         * html/HTMLCollection.cpp:
3120         (WebCore::HTMLCollection::updateNamedElementCache):
3121         * html/HTMLCollection.h:
3122         (WebCore::HTMLCollection::setNameItemCache):
3123         (WebCore::HTMLCollection::createNameItemCache): Deleted.
3124         * html/HTMLFormControlsCollection.cpp:
3125         (WebCore::HTMLFormControlsCollection::updateNamedElementCache):
3126
3127 2014-05-05  Benjamin Poulain  <benjamin@webkit.org>
3128
3129         [iOS][WK2] Special case ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture() for image documents
3130         https://bugs.webkit.org/show_bug.cgi?id=132553
3131
3132         Reviewed by Tim Horton.
3133
3134         * WebCore.exp.in:
3135         * WebCore.xcodeproj/project.pbxproj:
3136         * html/ImageDocument.cpp:
3137         (WebCore::ImageDocument::imageElement):
3138         * html/ImageDocument.h:
3139
3140 2014-05-05  Ion Rosca  <rosca@adobe.com>
3141
3142         [CSS Blending] Webkit-blend-mode fails for accelerated parent with overflow:hidden
3143         https://bugs.webkit.org/show_bug.cgi?id=126160
3144
3145         When the isolating layer has overflow:hidden, it will create a descendant clipping layer
3146         (m_childContainmentLayer), which will restrict the bleding layer to reading the backdrop
3147         from the isolating layer.
3148         The solution in this patch is to forbid the isolating layer to create a descendant clipping
3149         layer and make all the children to get their own ancestor clipping layers instead.
3150
3151         Reviewed by Dean Jackson.
3152
3153         Tests: css3/compositing/blend-mode-accelerated-parent-overflow-hidden.html
3154                css3/compositing/blend-mode-clip-accelerated-blending-canvas.html
3155                css3/compositing/blend-mode-clip-accelerated-blending-child.html
3156                css3/compositing/blend-mode-clip-accelerated-blending-double.html
3157                css3/compositing/blend-mode-clip-accelerated-blending-with-siblings.html
3158                css3/compositing/blend-mode-clip-accelerated-transformed-blending.html
3159                css3/compositing/blend-mode-clip-rect-accelerated-blending.html
3160
3161         * rendering/RenderLayerBacking.cpp:
3162         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3163         when the compositing ancestor isolates blending we take it into account for computing
3164         the clipping rect for this layer, because it was not allowed to create the descendant
3165         clipping layer. 
3166         * rendering/RenderLayerCompositor.cpp:
3167         (WebCore::RenderLayerCompositor::clippedByAncestor):
3168         when the compositing ancestor isolates blending we decide if a layer is clipped by ancestor
3169         by computing the clipping rect taking into account all the ancestors up to and including
3170         the compositing ancestor.
3171         (WebCore::RenderLayerCompositor::clipsCompositingDescendants):
3172         if a layer isolates blending, it is not allowed to create a descendant clipping layer.
3173
3174 2014-05-05  Dirk Schulze  <krit@webkit.org>
3175
3176         AX: tabindex support in SVG2
3177         https://bugs.webkit.org/show_bug.cgi?id=130212
3178
3179         Reviewed by Chris Fleizach.
3180
3181         The patch is mainly based on a patch for Blink by Erik Dahlström.
3182         https://src.chromium.org/viewvc/blink?revision=172964&view=revision
3183
3184         It adds support for tabindex to SVG by reusing the HTML code.
3185
3186         Spec: https://svgwg.org/svg2-draft/interact.html#sequential-focus-navigation-and-the-tabindex-attribute
3187         IDL attribute: https://svgwg.org/svg2-draft/types.html#__svg__SVGElement__tabIndex
3188
3189         Test: svg/custom/tabindex-order.html
3190
3191         * dom/Element.cpp:
3192         (WebCore::Element::setTabIndex): Moved from HTMLElement and shared with all elements.
3193         * dom/Element.h:
3194         * html/HTMLAnchorElement.cpp: Remove outdated comment.
3195         (WebCore::HTMLAnchorElement::canStartSelection):
3196         * html/HTMLElement.cpp:
3197         (WebCore::HTMLElement::setTabIndex): Deleted.
3198         * html/HTMLElement.h:
3199         * svg/SVGAElement.cpp: Uses the same logic as HTMLAnchorElement now.
3200         (WebCore::SVGAElement::tabIndex):
3201         (WebCore::SVGAElement::supportsFocus):
3202         (WebCore::SVGAElement::isMouseFocusable):
3203         (WebCore::SVGAElement::isKeyboardFocusable):
3204         (WebCore::SVGAElement::canStartSelection):
3205         * svg/SVGAElement.h:
3206         * svg/SVGCircleElement.h:
3207         * svg/SVGClipPathElement.h:
3208         * svg/SVGDefsElement.h:
3209         * svg/SVGElement.cpp:
3210         (WebCore::SVGElement::tabIndex): Return -1 if element can not be focused.
3211         (WebCore::SVGElement::parseAttribute):
3212         (WebCore::SVGElement::isMouseFocusable):
3213         (WebCore::SVGElement::isKeyboardFocusable): Deleted. Use function on Element.
3214         * svg/SVGElement.h:
3215         * svg/SVGElement.idl:
3216         * svg/SVGEllipseElement.h:
3217         * svg/SVGGElement.h:
3218         * svg/SVGGraphicsElement.h: Remove supportsFocus() from inheriting functions.
3219             Don't just return true. SVG elements should not be focusable by default.
3220             Instead check if tabindex was set explicitly.
3221         * svg/SVGImageElement.h:
3222         * svg/SVGLineElement.h:
3223         * svg/SVGPathElement.h:
3224         * svg/SVGPolyElement.h:
3225         * svg/SVGRectElement.h:
3226         * svg/SVGSVGElement.h:
3227         * svg/SVGSwitchElement.h:
3228         * svg/SVGSymbolElement.h:
3229         * svg/SVGTextElement.h:
3230
3231 2014-05-05  Jeremy Jones  <jeremyj@apple.com>
3232
3233         Implement beginScrubbing and endScrubbing for video fullscreen.
3234         https://bugs.webkit.org/show_bug.cgi?id=132520
3235
3236         Reviewed by Eric Carlson.
3237
3238         Plumb through beginScrubbing and endScrubbing from AVKit down to HTMLMediaElement.
3239         This keeps the playback state consistent while scrubbing and allows playback state
3240         to return to the original state when scrubbing is complete.
3241
3242         * WebCore.exp.in:
3243         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3244         (-[WebAVPlayerController beginScrubbing:]):
3245         (-[WebAVPlayerController endScrubbing:]):
3246         * platform/ios/WebVideoFullscreenModel.h:
3247         * platform/ios/WebVideoFullscreenModelMediaElement.h:
3248         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
3249         (WebVideoFullscreenModelMediaElement::beginScrubbing):
3250         (WebVideoFullscreenModelMediaElement::endScrubbing):
3251
3252 2014-05-05  Tim Horton  <timothy_horton@apple.com>
3253
3254         More long hangs under IOSurfacePool::evict
3255         https://bugs.webkit.org/show_bug.cgi?id=132576
3256         <rdar://problem/16769469>
3257
3258         Reviewed by Simon Fraser.
3259
3260         * platform/graphics/cg/IOSurfacePool.cpp:
3261         (WebCore::IOSurfacePool::evict):
3262         If the pool is too full, we should be evicting in-use surfaces
3263         even if the size of the in-use surfaces has dropped below maximumInUseBytes,
3264         otherwise we can get stuck in an infinite loop with 0 cached surfaces
3265         and 1+ in-use surfaces.
3266
3267 2014-05-05  Radu Stavila  <stavila@adobe.com>
3268
3269         [CSS Regions] Remove regionLayoutUpdate event
3270         https://bugs.webkit.org/show_bug.cgi?id=132564
3271
3272         Reviewed by Simon Fraser.
3273
3274         The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events: 
3275         regionOversetChange and regionFragmentChange.
3276
3277         No new tests needed, this patch removes a feature.
3278
3279         * dom/EventNames.h:
3280         * dom/WebKitNamedFlow.cpp:
3281         (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent): Deleted.
3282         * dom/WebKitNamedFlow.h:
3283         * inspector/InspectorCSSAgent.cpp:
3284         (WebCore::InspectorCSSAgent::resetNonPersistentData):
3285         (WebCore::InspectorCSSAgent::willRemoveNamedFlow):
3286         (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask): Deleted.
3287         (WebCore::UpdateRegionLayoutTask::scheduleFor): Deleted.
3288         (WebCore::UpdateRegionLayoutTask::unschedule): Deleted.
3289         (WebCore::UpdateRegionLayoutTask::reset): Deleted.
3290         (WebCore::UpdateRegionLayoutTask::timerFired): Deleted.
3291         (WebCore::InspectorCSSAgent::didUpdateRegionLayout): Deleted.
3292         (WebCore::InspectorCSSAgent::regionLayoutUpdated): Deleted.
3293         * inspector/InspectorCSSAgent.h:
3294         * inspector/InspectorInstrumentation.cpp:
3295         (WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl): Deleted.
3296         * inspector/InspectorInstrumentation.h:
3297         (WebCore::InspectorInstrumentation::didUpdateRegionLayout): Deleted.
3298         * inspector/protocol/CSS.json:
3299         * rendering/RenderNamedFlowFragment.cpp:
3300         (WebCore::RenderNamedFlowFragment::updateOversetState):
3301         * rendering/RenderNamedFlowThread.cpp:
3302         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
3303         (WebCore::RenderNamedFlowThread::removeRegionFromThread):
3304         (WebCore::RenderNamedFlowThread::layout):
3305         (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEventIfNeeded): Deleted.
3306         (WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired): Deleted.
3307         * rendering/RenderNamedFlowThread.h:
3308
3309 2014-05-05  Rik Cabanier  <cabanier@adobe.com>
3310
3311         Enhance IDL compiler so it supports unrestricted float and double
3312         https://bugs.webkit.org/show_bug.cgi?id=132460
3313
3314         Reviewed by Dirk Schulze.
3315
3316         Updated IDL compiler so it supports unrestricted types.
3317         Also updated the IDL files so they use unrestricted float and
3318         double.
3319
3320         Tests:
3321         * canvas/philip/tests/2d.gradient.linear.nonfinite.html:
3322         * canvas/philip/tests/2d.gradient.object.invalidoffset.html:
3323         * canvas/philip/tests/2d.gradient.radial.nonfinite.html:
3324         * canvas/philip/tests/2d.imageData.get.nonfinite.html:
3325         * canvas/philip/tests/2d.imageData.put.nonfinite.html:
3326         * canvas/philip/tests/2d.missingargs.html:
3327         * fast/canvas/canvas-getImageData-invalid-expected.txt:
3328         * fast/canvas/canvas-putImageData-expected.txt:
3329         * fast/canvas/canvas-putImageData.js:
3330
3331         * Modules/battery/BatteryManager.idl:
3332         * Modules/gamepad/Gamepad.idl:
3333         * Modules/geolocation/Coordinates.idl:
3334         * Modules/mediasource/MediaSource.idl:
3335         * Modules/mediasource/SourceBuffer.idl:
3336         * Modules/mediasource/VideoPlaybackQuality.idl:
3337         * Modules/mediastream/MediaSourceStates.idl:
3338         * Modules/proximity/DeviceProximityEvent.idl:
3339         * Modules/speech/SpeechGrammar.idl:
3340         * Modules/speech/SpeechGrammarList.idl:
3341         * Modules/speech/SpeechRecognitionAlternative.idl:
3342         * Modules/speech/SpeechSynthesisEvent.idl:
3343         * Modules/speech/SpeechSynthesisUtterance.idl:
3344         * Modules/webaudio/AnalyserNode.idl:
3345         * Modules/webaudio/AudioBuffer.idl:
3346         * Modules/webaudio/AudioBufferSourceNode.idl:
3347         * Modules/webaudio/AudioContext.idl:
3348         * Modules/webaudio/AudioListener.idl:
3349         * Modules/webaudio/AudioParam.idl:
3350         * Modules/webaudio/AudioProcessingEvent.idl:
3351         * Modules/webaudio/OfflineAudioContext.idl:
3352         * Modules/webaudio/OscillatorNode.idl:
3353         * Modules/webaudio/PannerNode.idl:
3354         * bindings/scripts/CodeGenerator.pm:
3355         * bindings/scripts/CodeGeneratorGObject.pm:
3356         (GetGValueTypeName):
3357         (GetGlibTypeName):
3358         * bindings/scripts/CodeGeneratorJS.pm:
3359         (GenerateImplementation):
3360         (GenerateParametersCheck):
3361         (JSValueToNative):
3362         * bindings/scripts/CodeGeneratorObjC.pm:
3363         (GetObjCType):
3364         (GenerateHeader):
3365         * bindings/scripts/test/TestObj.idl:
3366         * bindings/scripts/test/TestTypedefs.idl:
3367         * css/CSSPrimitiveValue.idl:
3368         * css/WebKitCSSMatrix.idl:
3369         * dom/ClientRect.idl:
3370         * dom/DeviceMotionEvent.idl:
3371         * dom/DeviceOrientationEvent.idl:
3372         * dom/Document.idl:
3373         * dom/RequestAnimationFrameCallback.idl:
3374         * dom/Touch.idl:
3375         * dom/TransitionEvent.idl:
3376         * dom/WebKitAnimationEvent.idl:
3377         * dom/WebKitTransitionEvent.idl:
3378         * dom/WheelEvent.idl:
3379         * html/HTMLInputElement.idl:
3380         * html/HTMLMediaElement.idl:
3381         * html/HTMLMeterElement.idl:
3382         * html/HTMLProgressElement.idl:
3383         * html/MediaController.idl:
3384         * html/TextMetrics.idl:
3385         * html/TimeRanges.idl:
3386         * html/canvas/CanvasRenderingContext2D.idl:
3387         * html/canvas/WebGLRenderingContext.idl:
3388         * html/track/DataCue.idl:
3389         * html/track/TextTrackCue.idl:
3390         * html/track/VTTCue.idl:
3391         * html/track/VTTRegion.idl:
3392         * inspector/InspectorFrontendHost.idl:
3393         * inspector/ScriptProfile.idl:
3394         * inspector/ScriptProfileNode.idl:
3395         * page/DOMWindow.idl:
3396         * page/Performance.idl:
3397         * page/PerformanceEntry.idl:
3398         * page/PerformanceResourceTiming.idl:
3399         * page/SpeechInputResult.idl:
3400         * page/WebKitPoint.idl:
3401         * svg/SVGAngle.idl:
3402         * svg/SVGAnimatedNumber.idl:
3403         * svg/SVGAnimationElement.idl:
3404         * svg/SVGFEDropShadowElement.idl:
3405         * svg/SVGFEGaussianBlurElement.idl:
3406         * svg/SVGFEMorphologyElement.idl:
3407         * svg/SVGGlyphRefElement.idl:
3408         * svg/SVGLength.idl:
3409         * svg/SVGMatrix.idl:
3410         * svg/SVGNumber.idl:
3411         * svg/SVGPathElement.idl:
3412         * svg/SVGPathSegArcAbs.idl:
3413         * svg/SVGPathSegArcRel.idl:
3414         * svg/SVGPathSegCurvetoCubicAbs.idl:
3415         * svg/SVGPathSegCurvetoCubicRel.idl:
3416         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
3417         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
3418         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
3419         * svg/SVGPathSegCurvetoQuadraticRel.idl:
3420         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
3421         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
3422         * svg/SVGPathSegLinetoAbs.idl:
3423         * svg/SVGPathSegLinetoHorizontalAbs.idl:
3424         * svg/SVGPathSegLinetoHorizontalRel.idl:
3425         * svg/SVGPathSegLinetoRel.idl:
3426         * svg/SVGPathSegLinetoVerticalAbs.idl:
3427         * svg/SVGPathSegLinetoVerticalRel.idl:
3428         * svg/SVGPathSegMovetoAbs.idl: