Only define MAX_GRID_TRACK_REPETITIONS if CSS_GRID_LAYOUT is enabled.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-05-14  Matthew Hanson  <matthew_hanson@apple.com>
2
3         Only define MAX_GRID_TRACK_REPETITIONS if CSS_GRID_LAYOUT is enabled.
4
5         Reviewed by Dean Jackson.
6
7         This was causing -Wunused-const-variable errors.
8
9         * css/CSSParser.cpp: Add include guard.
10
11 2014-05-14  Beth Dakin  <bdakin@apple.com>
12
13         Tile cache has way too many tiles when pinch-zoomed in
14         https://bugs.webkit.org/show_bug.cgi?id=132929
15         -and corresponding-
16         <rdar://problem/16527172>
17
18         Reviewed by Benjamin Poulain.
19
20         This patch makes the margin sizing functions return the set margin size scaled by 
21         the TileGrid's scale. We also need to get rid of the old notion we used to have
22         that margin tiles might be allowed to have a different size than the other tiles. 
23         We don't want that. They should have the normal margin size, but they should
24         affect the overall coverage area.
25
26         Scale by the TileGrid's scale.
27         * platform/graphics/ca/mac/TileController.mm:
28         (WebCore::TileController::topMarginHeight):
29         (WebCore::TileController::bottomMarginHeight):
30         (WebCore::TileController::leftMarginWidth):
31         (WebCore::TileController::rightMarginWidth):
32
33         Get rid of adjustRectAtTileIndexForMargin() since we do not want to ever do this 
34         adjustment. Use tileSize instead of margin size for all sizing computations.
35         * platform/graphics/ca/mac/TileGrid.h:
36         * platform/graphics/ca/mac/TileGrid.mm:
37         (WebCore::TileGrid::rectForTileIndex):
38         (WebCore::TileGrid::getTileIndexRangeForRect):
39         (WebCore::TileGrid::adjustRectAtTileIndexForMargin): Deleted.
40
41 2014-05-14  Dean Jackson  <dino@apple.com>
42
43         [Mac] Search fields should not use centered look
44         https://bugs.webkit.org/show_bug.cgi?id=132930
45         <rdar://problem/16825842>
46
47         Reviewed by Beth Dakin.
48
49         We need to explicitly set the centeredLook property
50         to NO on modern releases of Mac.
51
52         * rendering/RenderThemeMac.mm: Declare a new private property and set it to NO.
53         (WebCore::RenderThemeMac::search):
54
55 2014-05-14  Zalan Bujtas  <zalan@apple.com>
56
57         Subpixel layout: Change Element.offset* client* scroll* return type to double.
58         https://bugs.webkit.org/show_bug.cgi?id=132895
59
60         Reviewed by Simon Fraser.
61
62         This patch changes Element.offset*, Element.client* and Element.scroll* APIs return
63         type from long to double to match the latest CSSOM View Module spec[1].
64         Element.offset* and Element.client* do return subpixel values from now on.
65         Element.scroll* still return integral values as the scrolling code hasn't adopted to subpixel rendering yet.
66
67         subpixelCSSOMElementMetricsEnabled setting is added to be able to turn this feature on/off
68         from WK2 preferences. It toggles the return value from subpixel to floored integral.
69         It does not change layout/rendering behavior.
70
71         Reference list of what other browsers do:
72         IE: http://blogs.msdn.com/b/ie/archive/2012/02/17/sub-pixel-rendering-and-the-css-object-model.aspx
73         Blink: http://www.chromestatus.com/features/5497402177880064
74         Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=825607
75
76         [1] http://www.w3.org/TR/2013/WD-cssom-view-20131217/
77
78         Test: cssom/subpixel-offsetleft-top-width-height-values.html
79
80         * dom/Element.cpp:
81         (WebCore::localZoomForRenderer):
82         (WebCore::adjustForLocalZoom):
83         (WebCore::convertToNonSubpixelValueIfNeeded):
84         (WebCore::Element::offsetLeft):
85         (WebCore::Element::offsetTop):
86         (WebCore::Element::offsetWidth):
87         (WebCore::Element::offsetHeight):
88         (WebCore::Element::clientLeft):
89         (WebCore::Element::clientTop):
90         (WebCore::Element::clientWidth):
91         (WebCore::Element::clientHeight):
92         (WebCore::Element::scrollLeft):
93         (WebCore::Element::scrollTop):
94         (WebCore::Element::setScrollLeft):
95         (WebCore::Element::setScrollTop):
96         (WebCore::Element::scrollWidth):
97         (WebCore::Element::scrollHeight):
98         * dom/Element.h:
99         * dom/Element.idl:
100         * html/HTMLBodyElement.cpp:
101         (WebCore::adjustForZoom):
102         (WebCore::HTMLBodyElement::scrollLeft):
103         (WebCore::HTMLBodyElement::setScrollLeft):
104         (WebCore::HTMLBodyElement::scrollTop):
105         (WebCore::HTMLBodyElement::setScrollTop):
106         (WebCore::HTMLBodyElement::scrollHeight):
107         (WebCore::HTMLBodyElement::scrollWidth):
108         * html/HTMLBodyElement.h:
109         * page/Settings.in:
110
111 2014-05-14  Brady Eidson  <beidson@apple.com>
112
113         Implement NSSharingServiceDelegate method "transitionImageForShareItem"
114         <rdar://problem/16878020> and https://bugs.webkit.org/show_bug.cgi?id=132911
115
116         Reviewed by Tim Horton.
117
118         * WebCore.exp.in:
119         * WebCore.xcodeproj/project.pbxproj:
120
121 2014-05-14  Alex Christensen  <achristensen@webkit.org>
122
123         Another unreviewed build fix.
124
125         * platform/network/mac/ResourceHandleMac.mm:
126         (WebCore::ResourceHandle::getTimingData):
127         Added necessary UNUSED_PARAMs.
128
129 2014-05-14  Alex Christensen  <achristensen@webkit.org>
130
131         Unreviewed build fix after r168849.
132
133         * platform/network/mac/ResourceHandleMac.mm:
134         (WebCore::ResourceHandle::getTimingData):
135         Protect use of timing data with ENABLE(WEB_TIMING).
136
137 2014-05-14  Alex Christensen  <achristensen@webkit.org>
138
139         Refactor duplicate code in web timing.
140         https://bugs.webkit.org/show_bug.cgi?id=132917
141
142         Reviewed by Alexey Proskuryakov.
143
144         * platform/network/ResourceHandle.h:
145         Added getTimingData declaration.
146         * platform/network/mac/ResourceHandleMac.mm:
147         (WebCore::ResourceHandle::getTimingData):
148         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
149         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
150         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
151         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
152         Moved duplicate code to ResourceHandle.
153
154 2014-05-14  Alex Christensen  <achristensen@webkit.org>
155
156         Use references instead of pointers with ResourceLoadTiming.
157         https://bugs.webkit.org/show_bug.cgi?id=132846
158
159         Reviewed by Alexey Proskuryakov.
160
161         * WebCore.exp.in:
162         Removed ResourceResponseBase::setResourceLoadTiming linker symbol.
163         * inspector/InspectorResourceAgent.cpp:
164         (WebCore::buildObjectForResourceResponse):
165         * page/PerformanceResourceTiming.cpp:
166         (WebCore::PerformanceResourceTiming::domainLookupStart):
167         (WebCore::PerformanceResourceTiming::domainLookupEnd):
168         (WebCore::PerformanceResourceTiming::connectStart):
169         (WebCore::PerformanceResourceTiming::connectEnd):
170         (WebCore::PerformanceResourceTiming::secureConnectionStart):
171         (WebCore::PerformanceResourceTiming::requestStart):
172         Use references instead of pointers.
173         * page/PerformanceResourceTiming.h:
174         Make an instance instead of a RefPtr.
175         * page/PerformanceTiming.cpp:
176         (WebCore::PerformanceTiming::domainLookupStart):
177         (WebCore::PerformanceTiming::domainLookupEnd):
178         (WebCore::PerformanceTiming::connectStart):
179         (WebCore::PerformanceTiming::connectEnd):
180         (WebCore::PerformanceTiming::secureConnectionStart):
181         (WebCore::PerformanceTiming::requestStart):
182         (WebCore::PerformanceTiming::responseStart):
183         Check to see if the loader exists, then use ResourceLoadTiming reference.
184         (WebCore::PerformanceTiming::resourceLoadTiming): Deleted.
185         * page/PerformanceTiming.h:
186         Removed resourceLoadTiming declaration.
187         * platform/network/ResourceLoadTiming.h:
188         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
189         (WebCore::ResourceLoadTiming::operator=):
190         Replaced reference counting with copy constructors.
191         (WebCore::ResourceLoadTiming::create): Deleted.
192         (WebCore::ResourceLoadTiming::deepCopy): Deleted.
193         * platform/network/ResourceResponseBase.cpp:
194         (WebCore::ResourceResponseBase::adopt):
195         (WebCore::ResourceResponseBase::copyData):
196         (WebCore::ResourceResponseBase::resourceLoadTiming):
197         (WebCore::ResourceResponseBase::setResourceLoadTiming):
198         (WebCore::ResourceResponseBase::compare):
199         * platform/network/ResourceResponseBase.h:
200         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
201         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
202         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
203         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
204         * platform/network/soup/ResourceHandleSoup.cpp:
205         (WebCore::ResourceHandle::didStartRequest):
206         (WebCore::networkEventCallback):
207         Use references instead of pointers.
208
209 2014-05-14  Commit Queue  <commit-queue@webkit.org>
210
211         Unreviewed, rolling out r168837.
212         https://bugs.webkit.org/show_bug.cgi?id=132913
213
214         The patch added an assertion which fires on 6 tests (Requested
215         by ap on #webkit).
216
217         Reverted changeset:
218
219         "[CSS Regions] Add ASSERT to make sure using the flowThread
220         cache does not return incorrect results"
221         https://bugs.webkit.org/show_bug.cgi?id=132906
222         http://trac.webkit.org/changeset/168837
223
224 2014-05-13  Jon Honeycutt  <jhoneycutt@apple.com>
225
226         Revert "Don't dispatch 'beforeload' event inside FrameView::layout()",
227         commit 84fe8cf6fbe8b5de9a06300ca3ef6d0ffc96948c, and associated
228         follow-up fixes:
229
230             "platform/mac/plugins/testplugin-onnew-onpaint.html failing after
231                 r168668", commit c17be3bf5127baf94310af4b4b9bf5a57d29aaf4
232             "[Win] Unreviewed build fix after r168668.", commit
233                 4fa470ad12c38ee7d4c114541b6dd321181a8bc9
234
235         The original merged patch appears to have caused a regression in
236         fast/dom/HTMLObjectElement/object-as-frame.html.
237
238         <https://bugs.webkit.org/show_bug.cgi?id=132886>
239
240         Reviewed by Alexey Proskuryakov.
241
242         * WebCore.exp.in:
243         * dom/Document.cpp:
244         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
245         * dom/Document.h:
246         * html/HTMLAppletElement.cpp:
247         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
248         * html/HTMLEmbedElement.cpp:
249         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
250         * html/HTMLObjectElement.cpp:
251         (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
252         * page/FrameView.cpp:
253         (WebCore::FrameView::FrameView):
254         (WebCore::FrameView::reset):
255         (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
256         (WebCore::FrameView::performPostLayoutTasks):
257         (WebCore::FrameView::updateEmbeddedObjectsTimerFired): Deleted.
258         * page/FrameView.h:
259         * testing/Internals.cpp:
260         (WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks): Deleted.
261         * testing/Internals.h:
262         * testing/Internals.idl:
263
264 2014-05-14  Kiran  <kiran.guduru@samsung.com>
265
266         alidation for getUserMedia() errorCallback is missing.
267         https://bugs.webkit.org/show_bug.cgi?id=132901
268
269         Reviewed by Darin Adler.
270
271         The patch adds the validation for getUserMedia errorCallBack
272         and throws TypeMismatchError.
273
274         Test: fast/mediastream/getusermedia.html 
275
276         * Modules/mediastream/NavigatorUserMedia.cpp:
277         (WebCore::NavigatorUserMedia::webkitGetUserMedia):
278
279 2014-05-14  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
280
281         Remove CSS_STICKY_POSITION guards
282         https://bugs.webkit.org/show_bug.cgi?id=132676
283
284         Reviewed by Simon Fraser.
285
286         * Configurations/FeatureDefines.xcconfig:
287         * css/CSSParser.cpp:
288         (WebCore::isValidKeywordPropertyAndValue):
289         * css/CSSPrimitiveValueMappings.h:
290         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
291         (WebCore::CSSPrimitiveValue::operator EPosition):
292         * css/CSSValueKeywords.in:
293         * editing/EditingStyle.cpp:
294         (WebCore::EditingStyle::convertPositionStyle):
295
296 2014-05-14  Radu Stavila  <stavila@adobe.com>
297
298         [CSS Regions] Add ASSERT to make sure using the flowThread cache does not return incorrect results
299         https://bugs.webkit.org/show_bug.cgi?id=132906
300
301         Reviewed by Andrei Bucur.
302
303         If flowThreadContainingBlock() is called on an object which is in a different
304         flow thread than the one currently being laid out, this method will return an incorrect
305         result. I added an assertion for that to make sure we catch and treat any such scenarios.
306
307         No new tests required.
308
309         * rendering/RenderObject.cpp:
310         (WebCore::RenderObject::locateFlowThreadContainingBlockNoCache):
311         (WebCore::RenderObject::locateFlowThreadContainingBlock):
312         * rendering/RenderObject.h:
313
314 2014-05-14  Andrei Bucur  <abucur@adobe.com>
315
316         [CSS Regions] Don't relayout when updating the region range unless necessary
317         https://bugs.webkit.org/show_bug.cgi?id=132120
318
319         Reviewed by Antti Koivisto.
320
321         The patch reduces the cases when a relayout is made for boxes that change the region range.
322         This lowers the amount of nested layouts in most cases and produces big layout speedups for trees
323         without overhanging floats.
324
325         Tests: Major performance improvement with speedups of 50-60% on:
326         Layout/RegionsAuto.html, Layout/RegionsAutoMaxHeight.html and Layout/RegionsFixed.html
327
328         * rendering/RenderBlock.cpp:
329         (WebCore::RenderBlock::updateRegionRangeForBoxChild): Ask the child box if it needs a relayout
330         in case its region range changes.
331         * rendering/RenderBlockFlow.cpp:
332         (WebCore::RenderBlockFlow::layoutBlockChild): It's not necessary to do two layouts here because
333         there's no block direction position change between them for the child.
334         (WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange): If the block doesn't have floats
335         or if it expands to enclose the floats it doesn't need to relayout after a region range chage.
336         It's not possible for it to have a float inside overflow that must be repositioned using the new
337         range.
338         * rendering/RenderBlockFlow.h:
339         * rendering/RenderBox.h:
340         (WebCore::RenderBox::needsLayoutAfterRegionRangeChange): By default don't relayout after a region
341         range change.
342
343 2014-05-14  Antti Koivisto  <antti@apple.com>
344
345         RuleData should ref the StyleRule
346         https://bugs.webkit.org/show_bug.cgi?id=132865
347
348         Reviewed by Andreas Kling.
349
350         As a defensive move make RuleData ref the StyleRule. 
351         This adds some ref churn but the overall performance impact should be minimal.
352
353         * css/RuleSet.h:
354         (WebCore::RuleData::rule):
355
356 2014-05-14  Antti Koivisto  <antti@apple.com>
357
358         GIF animations don't restart after scrolling on iOS WebKit1
359         https://bugs.webkit.org/show_bug.cgi?id=132900
360
361         Reviewed by Andreas Kling.
362
363         * WebCore.exp.in:
364
365 2014-05-13  Andrei Bucur  <abucur@adobe.com>
366
367         [CSS Regions] Assertion failure in some cases with inline blocks
368         https://bugs.webkit.org/show_bug.cgi?id=132859
369
370         Reviewed by Mihnea Ovidenie.
371
372         The patch hardens the conditions when the region range caches are
373         populated to avoid desynchronizations when objects move during layout.
374         This is true especially in the case of the boxes found inside
375         inline blocks, that get their range from the containing line.
376
377         There is a new function |computedRegionRangeForBox| that will always
378         return a region range for a box using a best effort algorithm. This should
379         be used only when there's no need to cache region information.
380
381         This change also allows better control over the lifecycle of the
382         |RenderBoxRegionInfo| objects stored on the regions. We can now iterate
383         over the full range of the box when cleaning up the region box info. The
384         same applies for the width change detection function.
385
386         Test: fast/regions/inline-block-shifted-region.html
387
388         * rendering/RenderBlockLineLayout.cpp:
389         (WebCore::RenderBlockFlow::updateRegionForLine): Don't set the containing
390         region if the block doesn't have a range. The returned value would not
391         be correctly clamped.
392         * rendering/RenderBox.cpp:
393         (WebCore::RenderBlock::hasRegionRangeInFlowThread):
394         * rendering/RenderBox.h:
395         * rendering/RenderFlowThread.cpp:
396         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo): Iterate only over
397         the range of the box, not from the start of the region chain.
398         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock): Same as
399         above.
400         (WebCore::RenderFlowThread::hasCachedRegionRangeForBox):
401         (WebCore::RenderFlowThread::getRegionRangeForBoxFromCachedInfo):
402         (WebCore::RenderFlowThread::getRegionRangeForBox):
403         (WebCore::RenderFlowThread::computedRegionRangeForBox): Best effort function
404         to determine the range of a box. It will always return something as long
405         as the flow thread has regions.
406         (WebCore::RenderFlowThread::objectShouldFragmentInFlowRegion): Use the new function
407         to determine the range.
408         * rendering/RenderFlowThread.h:
409         * rendering/RenderNamedFlowThread.cpp:
410         (WebCore::RenderNamedFlowThread::absoluteQuadsForBox): Use the new function to determine
411         the range.
412
413 2014-05-13  Simon Fraser  <simon.fraser@apple.com>
414
415         Fix "ASSERTION FAILED: m_representation == PlatformLayerRepresentation" with UI-side compositing
416         https://bugs.webkit.org/show_bug.cgi?id=132899
417
418         Reviewed by Beth Dakin.
419
420         Export some things
421
422         * WebCore.exp.in:
423
424 2014-05-13  Hans Muller  <hmuller@adobe.com>
425
426         [CSS Shapes] line height grows around polygon and incorrectly causes text to wrap to next line
427         https://bugs.webkit.org/show_bug.cgi?id=131622
428
429         Reviewed by Bem Jones-Bey.
430
431         Corrected an earlier PolygonShape fix https://bugs.webkit.org/show_bug.cgi?id=132132
432         When the top or bottom of a layout line is coincident with a polygon edge vertex, we
433         only consider it an intersection if the edge extends into the line.
434
435         Test: fast/shapes/shape-outside-floats/shape-outside-edge-case.html
436
437         * rendering/shapes/PolygonShape.cpp:
438         (WebCore::OffsetPolygonEdge::clippedEdgeXRange):
439
440 2014-05-13  Beth Dakin  <bdakin@apple.com>
441
442         m_layerForOverhangAreas is sometimes not positioned correctly when topContentInset 
443         has changed
444         https://bugs.webkit.org/show_bug.cgi?id=132898
445         -and corresponding-
446         <rdar://problem/16644710>
447
448         Reviewed by Anders Carlsson.
449
450         This function is called whenever the topContentInset changes, so use it as an 
451         opportunity to ensure that m_layerForOverhangAreas has been positioned correctly.
452         * rendering/RenderLayerCompositor.cpp:
453         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
454
455         Everyone gets an anchor point!
456         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
457
458 2014-05-13  Dean Jackson  <dino@apple.com>
459
460         Attempted build fix after https://bugs.webkit.org/show_bug.cgi?id=132891
461
462         * page/PageDebuggable.cpp:
463
464 2014-05-13  Timothy Hatcher  <timothy@apple.com>
465
466         Force developerExtrasEnabled when a remote Inspector client connects.
467
468         https://bugs.webkit.org/show_bug.cgi?id=132891
469
470         Reviewed by Joseph Pecoraro.
471
472         * page/PageDebuggable.cpp:
473         (WebCore::PageDebuggable::PageDebuggable): Initialize m_forcedDeveloperExtrasEnabled to false.
474         (WebCore::PageDebuggable::connect): Set m_forcedDeveloperExtrasEnabled if the setting is changed.
475         (WebCore::PageDebuggable::disconnect): Switch developerExtrasEnabled back to false
476         if m_forcedDeveloperExtrasEnabled is true.
477         * page/PageDebuggable.h: Added m_forcedDeveloperExtrasEnabled.
478
479 2014-05-13  Beth Dakin  <bdakin@apple.com>
480
481         REGRESSION (topContentInset): Searching through Facebook Messenger's chat causes 
482         scrolling in News Feed
483         https://bugs.webkit.org/show_bug.cgi?id=132889
484         -and corresponding-
485         <rdar://problem/16715716>
486
487         Reviewed by Simon Fraser.
488
489         First of all, scrollOffsetRelativeToDocument() was very poorly named. This patch 
490         re-names it to the much more accurate documentScrollOffsetRelativeToViewOrigin(). 
491         Re-naming it makes it clear that ONE call site was not getting the right offset. 
492         That call site does not want to know the document’s position relative to the view 
493         origin, but rather it wants to know the Document’s position relative to the 
494         scrolling origin.
495
496         Export new name.
497         * WebCore.exp.in:
498
499         Use newly re-named documentScrollPositionRelativeToViewOrigin().
500         * page/FrameView.cpp:
501         (WebCore::FrameView::convertToRenderer):
502         * platform/ScrollView.cpp:
503         (WebCore::ScrollView::documentScrollOffsetRelativeToViewOrigin):
504         (WebCore::ScrollView::documentScrollPositionRelativeToViewOrigin):
505         (WebCore::ScrollView::documentScrollOffsetRelativeToScrollableAreaOrigin):
506         (WebCore::ScrollView::rootViewToContents):
507         (WebCore::ScrollView::windowToContents):
508         (WebCore::ScrollView::scrollOffsetRelativeToDocument): Deleted.
509         (WebCore::ScrollView::scrollPositionRelativeToDocument): Deleted.
510         * platform/ScrollView.h:
511
512         THIS is the spot that needs the new function, 
513         documentScrollOffsetRelativeToScrollableAreaOrigin()()
514         * rendering/RenderLayer.cpp:
515         (WebCore::RenderLayer::scrollRectToVisible):
516
517 2014-05-13  Dean Jackson  <dino@apple.com>
518
519         [iOS] Page scale update messages for media controls should only fire at the end of zooming
520         https://bugs.webkit.org/show_bug.cgi?id=132857
521         <rdar://problem/16631009>
522
523         Reviewed by Simon Fraser.
524
525         As the user was zooming, the media controls that responded
526         to the page scale (and resized themselves) would do so
527         slightly out of sync with the screen refreshes, and it looked
528         terrible. They really only need to get told at the end
529         of the zoom that they need to relayout.
530
531         Allow setPageScaleFactor to accept another parameter
532         that indicates if the change is stable. That way, changes
533         during a user triggers zoom gesture can be ignored for
534         media controls.
535
536         * WebCore.exp.in: Page::setPageScaleFactor takes a new parameter.
537         * dom/Document.cpp:
538         (WebCore::Document::pageScaleFactorChangedAndStable): Renamed from pageScaleFactorChanged.
539         (WebCore::Document::pageScaleFactorChanged): Deleted.
540         * dom/Document.h:
541         * page/Page.cpp:
542         (WebCore::Page::setPageScaleFactor): Accepts a new inStableState parameter,
543         and tells the main frame that the scale factor has changed if it's stable.
544         * page/Page.h:
545
546 2014-05-13  Eric Carlson  <eric.carlson@apple.com>
547
548         Unreviewed build fix after r168755.
549
550         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
551         (WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
552
553 2014-05-13  Eric Carlson  <eric.carlson@apple.com>
554
555         [Mac] hasVideo should return true when video is ready to display
556         https://bugs.webkit.org/show_bug.cgi?id=132885
557
558         Reviewed by Jer Noble.
559
560         * html/HTMLMediaElement.cpp:
561         (WebCore::HTMLMediaElement::parseAttribute):
562
563         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
564         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack): Don't change the
565             enabled state of the AVPlayerItemTrack during setup.
566
567         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
568         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
569         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
570             m_cachedIsReadyForDisplay.
571         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Remove "enabled" KVO observers.
572         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Observe "readyForDisplay"
573             change notifications.
574         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoLayer): Remove for "readyForDisplay"
575             observer.
576         (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): Return cached readyForDisplay
577             state instead of polling every time.
578         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Call setHasVideo(true) if the
579             player layer is ready for display.
580         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks): Update logging.
581         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): Ditto.
582         (WebCore::MediaPlayerPrivateAVFoundationObjC::firstFrameAvailableDidChange): Cache readyForDisplay
583             state, call tracksChanged() if we haven't seen a video track yet.
584         (WebCore::MediaPlayerPrivateAVFoundationObjC::trackEnabledDidChange): New.
585         (WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive): Correct logging.
586         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Remove old "enabled" listeners
587             before release tracks, add new ones to new tracks.
588         (WebCore::assetTrackMetadataKeyNames): Add "enabled" to the list of properties we require to 
589             be loaded before announcing that metadata has loaded.
590         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Observe 
591             "readyForDisplay" and "enabled".
592
593         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:
594         (WebCore::VideoTrackPrivateAVFObjC::resetPropertiesFromTrack): Don't change the
595             enabled state of the AVPlayerItemTrack during setup.
596
597 2014-05-13  Myles C. Maxfield  <litherum@gmail.com>
598
599         Text decorations do not contribute to visual overflow
600         https://bugs.webkit.org/show_bug.cgi?id=132773
601
602         Reviewed by Darin Adler.
603
604         Tests: fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect.html
605
606         * rendering/InlineTextBox.cpp:
607         (WebCore::textDecorationStrokeThickness): Refactor into a common function
608         (WebCore::wavyOffsetFromDecoration): Ditto
609         (WebCore::InlineTextBox::extendVerticalVisualOverflowForDecorations): Given
610         vertical overflow bounds, possibly extend those to include location of
611         decorations.
612         (WebCore::InlineTextBox::paintDecoration): Use refactored functions.
613         * rendering/InlineTextBox.h: Function signature
614         * rendering/RenderBlockLineLayout.cpp:
615         (WebCore::setLogicalWidthForTextRun): Call extendVerticalVisualOverflowForDecorations()
616         * rendering/style/RenderStyle.cpp:
617         (WebCore::RenderStyle::changeAffectsVisualOverflow): Inspects shadows and text decorations
618         (WebCore::RenderStyle::changeRequiresLayout): Calls changeAffectsVisualOverflow()
619         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline): Moved code from here
620         to changeAffectsVisualOverflow().
621         * rendering/style/RenderStyle.h: Function signature
622
623 2014-05-13  Enrica Casucci  <enrica@apple.com>
624
625         REGRESSION (WebKit2): Zooming to text field leaves it partially hidden by the form assistant.
626         https://bugs.webkit.org/show_bug.cgi?id=132879
627         <rdar://problem/16318049>
628
629         Reviewed by Benjamin Poulain.
630
631         Adding some exports. The fix to setScrollPosition is to avoid clamping the scroll
632         position when using delegate scrolling.
633
634         * WebCore.exp.in:
635         * platform/ScrollView.cpp:
636         (WebCore::ScrollView::setScrollPosition):
637
638 2014-05-13  Brady Eidson  <beidson@apple.com>
639
640         Followup to: Update positioning/drawing of the image controls button.
641         <rdar://problem/16885077> and https://bugs.webkit.org/show_bug.cgi?id=132883
642
643         Reviewed by Tim Horton.
644
645         Cleared up the actual intent behind review feedback on the original patch.
646
647         * html/shadow/mac/ImageControlsButtonElementMac.cpp:
648         (WebCore::ImageControlsButtonElementMac::maybeCreate):
649
650 2014-05-13  Brady Eidson  <beidson@apple.com>
651
652         Update positioning/drawing of the image controls button.
653         <rdar://problem/16885077> and https://bugs.webkit.org/show_bug.cgi?id=132883
654
655         Reviewed by Tim Horton.
656
657         * html/shadow/mac/ImageControlsButtonElementMac.cpp:
658         (WebCore::ImageControlsButtonElementMac::maybeCreate): Add inline style for top/right
659           positioning based on the metrics from the render theme.
660
661         * html/shadow/mac/imageControlsMac.css:
662         (.x-webkit-image-controls-button): Can’t hard code any positioning.
663
664         * rendering/RenderTheme.h:
665         (WebCore::RenderTheme::imageControlsButtonPositionOffset):
666         * rendering/RenderThemeMac.h:
667         * rendering/RenderThemeMac.mm:
668         (WebCore::RenderThemeMac::servicesRolloverButtonCell):
669         (WebCore::RenderThemeMac::imageControlsButtonPositionOffset):
670
671 2014-05-13  Simon Fraser  <simon.fraser@apple.com>
672
673         [iOS WK2] background-attachment:fixed behaves very poorly
674         https://bugs.webkit.org/show_bug.cgi?id=132881
675         <rdar://problem/16789526>
676
677         Reviewed by Beth Dakin.
678
679         Remove the old ENABLE_FAST_MOBILE_SCROLLING code, and add a setting that
680         controls whether fixed backgrounds paint relative to the document, which
681         is enabled for iOS (WK1 and WK2). This setting is consulted when we repaint
682         fixed backgrounds on scrolling, when we paint them, and when we decide to make
683         a layer for fixed backgrounds.
684         
685         * page/Settings.cpp:
686         * page/Settings.in:
687         * rendering/RenderBoxModelObject.cpp:
688         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
689         * rendering/RenderElement.cpp:
690         (WebCore::RenderElement::styleWillChange):
691         (WebCore::RenderElement::willBeRemovedFromTree):
692         (WebCore::shouldRepaintFixedBackgroundsOnScroll): Deleted.
693         * rendering/RenderLayerCompositor.cpp:
694         (WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer):
695
696 2014-05-13  Zalan Bujtas  <zalan@apple.com>
697
698         REGRESSSION(r168528) Subpixel rendering: Selection rect is not positioned properly when SVG text is selected.
699         https://bugs.webkit.org/show_bug.cgi?id=132868
700
701         Reviewed by Dirk Schulze.
702
703         Scale the selection rect. r168528 missed applying this final transform on the selection/painting rect.
704
705         Test: svg/text/hidpi-text-selection-rect-position.html
706
707         * rendering/svg/SVGInlineTextBox.cpp:
708         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
709
710 2014-05-13  Martin Hodovan  <mhodovan.u-szeged@partner.samsung.com>
711
712         ASSERTION FAILED: leftCategory != CalcOther && rightCategory != CalcOther
713         in WebCore::CSSCalcBinaryOperation::createSimplified
714         https://bugs.webkit.org/show_bug.cgi?id=132870
715
716         According to the standard, calc() should be able to handle angle, time
717         and frequency values as well: http://www.w3.org/TR/css3-values/#calc
718
719         Reviewed by Darin Adler.
720
721         Test: fast/css/calc-with-angle-time-frequency.html
722
723         * css/CSSCalculationValue.cpp:
724         (WebCore::unitCategory):
725         (WebCore::CSSCalcPrimitiveValue::createCalcExpression):
726         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
727         (WebCore::CSSCalcPrimitiveValue::addSubtractResult):
728         (WebCore::CSSCalcPrimitiveValue::determineCategory):
729         (WebCore::CSSCalcBinaryOperation::primitiveType)
730         * css/CSSCalculationValue.h: extending CalculationCategory
731         * css/CSSParser.cpp:
732         (WebCore::CSSParser::validCalculationUnit):
733         * css/CSSPrimitiveValue.cpp:
734         (WebCore::CSSPrimitiveValue::primitiveType):
735
736 2014-05-13  Darin Adler  <darin@apple.com>
737
738         Try to fix the !ENABLE(ICONDATABASE) build
739
740         * loader/icon/IconDatabase.h: Include WTFString.h.
741
742 2014-05-13  Carlos Garcia Campos  <cgarcia@igalia.com>
743
744         REGRESSION(r167771): [GTK] Text fields and areas are rendered unthemed
745         https://bugs.webkit.org/show_bug.cgi?id=132864
746
747         Reviewed by Philippe Normand.
748
749         This is because the virtual methods changed the API in the parent,
750         and since we don't have the methods marked as override we didn't
751         noticed it. After using override keyword for all virtual methods
752         in the derived class another problem showed up, the ActiveListBox
753         selection methods were incorrectly named.
754
755         * platform/gtk/RenderThemeGtk.cpp:
756         (WebCore::RenderThemeGtk::paintTextArea): Update to API changes in the
757         parent class.
758         * platform/gtk/RenderThemeGtk.h: Mark all virtual methods as
759         override and the class as final.
760         * platform/gtk/RenderThemeGtk2.cpp:
761         (WebCore::RenderThemeGtk::paintTextField): Update to API changes
762         in the parent class.
763         (WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor):
764         (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor):
765         (WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor):
766         (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor):
767         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): Deleted.
768         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): Deleted.
769         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): Deleted.
770         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): Deleted.
771         * platform/gtk/RenderThemeGtk3.cpp:
772         (WebCore::RenderThemeGtk::paintTextField): Update to API changes
773         in the parent class.
774         (WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor):
775         (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor):
776         (WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor):
777         (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor):
778         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): Deleted.
779         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): Deleted.
780         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): Deleted.
781         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): Deleted.
782
783 2014-05-13  Xabier Rodriguez Calvar  <calvaris@igalia.com>
784
785         [GStreamer] Move toGstClockTime to utilities
786         https://bugs.webkit.org/show_bug.cgi?id=132702
787
788         Reviewed by Philippe Normand.
789
790         toGstClockTime should be in GStreamerUtilities and corrected typo
791         in getGstPlayFlag.
792
793         No new tests needed.
794
795         * platform/graphics/gstreamer/GStreamerUtilities.cpp:
796         (WebCore::getGstPlayFlag): Renamed from getGstPlaysFlag.
797         (WebCore::toGstClockTime): Moved from MediaPlayerPrivateGStreamer.
798         (WebCore::getGstPlaysFlag): Deleted.
799         * platform/graphics/gstreamer/GStreamerUtilities.h:
800         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
801         (WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering):
802         Corrected getGstPlayFlag typo.
803         (WebCore::toGstClockTime): Deleted.
804
805 2014-05-12  Darin Adler  <darin@apple.com>
806
807         Make a few icon database improvements
808         https://bugs.webkit.org/show_bug.cgi?id=132812
809
810         Reviewed by Brady Eidson.
811
812         * WebCore.exp.in: Export more IconDatabase functions, since they are now called
813         by WebKit2 through pointers to a class marked final.
814
815         * loader/icon/IconDatabase.cpp: Removed unneeded includes. Use override for
816         virtual functions.
817
818         * loader/icon/IconDatabase.h: Removed unneeded includes. Marked the class final.
819         Use override for virtual functions. Use a public constructor instead of a create
820         function.
821
822         * loader/icon/IconDatabaseBase.h: Removed unneeded includes.
823
824 2014-05-13  Kiran  <kiran.guduru@samsung.com>
825
826         [MediaStream] MediaStream.addTrack Should not check for active state.
827         https://bugs.webkit.org/show_bug.cgi?id=132558
828
829         Reviewed by Eric Carlson.
830
831         MediaStream.addTrack method is checking for active state of a
832         MediaStream, but it should not check for active state while adding a Track.
833
834         Test: fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html
835
836         * Modules/mediastream/MediaStream.cpp:
837         (WebCore::MediaStream::addTrack):
838
839 2014-05-12  Mark Lam  <mark.lam@apple.com>
840
841         WebKit2 on iOS needs to capture the main thread's floating point environment.
842         <https://webkit.org/b/132755>
843
844         Reviewed by Geoffrey Garen.
845
846         For iOS, WorkerThread::workerThread() expects to be able to initialize the
847         worker thread's floating point environment to be the same as the one in the
848         main thread.  The FP env of the main thread is expected to have been captured
849         in the mainThreadFEnv global.  On WebKit2 for iOS, we neglected to initialize
850         mainThreadFEnv.
851
852         We now introduce a FloatingPointEnvironment class that will encapsulate the main
853         thread (aka "UIThread") fenv, and we'll call FloatingPointEnv::saveMainThreadEnvironment()
854         from ChildProcess::platformInitialize() to ensure that the FloatingPointEnvironment
855         singleton instance is initialized properly for WebKit2.
856
857         In the ChildProcess::platformInitialize(), we also need to initialize the ARMv7
858         FP env to support denormalized numbers.  We'll do this before calling
859         saveMainThreadEnvironment().
860
861         Tests: fast/workers/worker-floating-point.html
862                js/floating-point-denormalized.html
863
864         * WebCore.exp.in:
865         * WebCore.xcodeproj/project.pbxproj:
866         * platform/ios/wak/FloatingPointEnvironment.cpp: Added.
867         (WebCore::FloatingPointEnvironment::env):
868         (WebCore::FloatingPointEnvironment::FloatingPointEnvironment):
869         (WebCore::FloatingPointEnvironment::enableDenormalSupport):
870         (WebCore::FloatingPointEnvironment::saveMainThreadEnvironment):
871         (WebCore::FloatingPointEnvironment::propagateMainThreadEnvironment):
872         * platform/ios/wak/FloatingPointEnvironment.h: Added.
873         * platform/ios/wak/WebCoreThread.h:
874         * platform/ios/wak/WebCoreThread.mm:
875         (RunWebThread):
876         (StartWebThread):
877         * workers/WorkerThread.cpp:
878         (WebCore::WorkerThread::workerThread):
879
880 2014-05-12  Dirk Schulze  <krit@webkit.org>
881
882         SVG root element accepts background color but fails to repaint it
883         https://bugs.webkit.org/show_bug.cgi?id=63153
884
885         Reviewed by Dean Jackson.
886
887         This is back ported from Blink. Don't know the exact commit though.
888         The patch checks if the SVGSVGElement is an outermost root element.
889         If it is, mark the whole element for repaint.
890
891         Test: svg/custom/svg-root-background.html
892
893         * rendering/RenderBoxModelObject.cpp:
894         (WebCore::RenderBoxModelObject::calculateHasBoxDecorations):
895         (WebCore::RenderBoxModelObject::updateFromStyle):
896         * rendering/RenderBoxModelObject.h:
897         * rendering/svg/RenderSVGRoot.cpp:
898         (WebCore::RenderSVGRoot::RenderSVGRoot):
899         (WebCore::RenderSVGRoot::layout):
900         (WebCore::RenderSVGRoot::paintReplaced):
901         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
902             This is a simple optimization by taking the necessary parts
903             from RenderReplaced and SVGRenderSupport.
904         * rendering/svg/RenderSVGRoot.h:
905
906 2014-05-12  Simon Fraser  <simon.fraser@apple.com>
907
908         [iOS] Fixed items are sometimes clipped after rubber-banding
909         https://bugs.webkit.org/show_bug.cgi?id=132851
910         <rdar://problem/16870790>
911
912         Reviewed by Benjamin Poulain.
913
914         On iOS fixed-position layers would get clipped to the document rect,
915         but with rubber-banding, we can now have a custom fixed postion rect
916         that extends outside the document rect.
917         
918         Another issue was that we would un-composite fixed elements sometimes
919         when scrolling fast, again because they could fall outside of the document rect.
920         
921         A final issue was that pinching could reveal parts of fixed elements that should
922         lie outside the viewport, rather than clipping the layers.
923         
924         Fix by converting both call points to use viewportConstrainedVisibleContentRect()
925         rather than viewportConstrainedExtentRect(). On non-iOS platforms these are
926         the same, but on iOS viewportConstrainedVisibleContentRect() uses the
927         custom fixed position rect, which is the correct rect to intersect with.
928
929         * rendering/RenderLayerBacking.cpp:
930         (WebCore::RenderLayerBacking::updateCompositedBounds):
931         * rendering/RenderLayerCompositor.cpp:
932         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
933
934 2014-05-06  Jon Honeycutt  <jhoneycutt@apple.com>
935
936         Don't dispatch 'beforeload' event inside FrameView::layout()
937
938         https://bugs.webkit.org/show_bug.cgi?id=132621
939         <rdar://problem/15661470>
940
941         This merges Blink revision 162073 with minor renaming and style
942         changes. From that commit:
943
944         Executing JavaScript code inside FrameView::layout() is problematic.
945         e.g. an assertion failure tested in fast/events/beforeload-assertion.html.
946         We should avoid it.
947
948         This CL makes 'beforeload' event dispatching for plugins and iframes asynchronous,
949         except plugin access from JavaScript code (HTMLPlugInElement::
950         renderWidgetForJSBindings).
951
952         Reviewed by Brent Fulgham.
953
954         Tests: fast/events/beforeload-assertion.html
955                fast/events/beforeload-iframe-crash.html
956                fast/events/beforeload-input-time-crash.html
957
958         * WebCore.exp.in:
959         * dom/Document.cpp:
960         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
961         * dom/Document.h:
962         * html/HTMLAppletElement.cpp:
963         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
964         * html/HTMLEmbedElement.cpp:
965         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
966         * html/HTMLObjectElement.cpp:
967         (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
968         * page/FrameView.cpp:
969         (WebCore::FrameView::FrameView):
970         (WebCore::FrameView::reset):
971         (WebCore::FrameView::updateEmbeddedObjectsTimerFired):
972         (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
973         (WebCore::FrameView::performPostLayoutTasks):
974         * page/FrameView.h:
975         * testing/Internals.cpp:
976         (WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
977         * testing/Internals.h:
978         * testing/Internals.idl:
979
980 2014-05-12  Roger Fong  <roger_fong@apple.com>
981
982         Limit number of active graphics contexts per web process.
983         https://bugs.webkit.org/show_bug.cgi?id=132833.
984         <rdar://problem/16888459>
985
986         Reviewed by Dean Jackson.
987
988         Test: webgl/many-contexts.html
989
990         * platform/graphics/GraphicsContext3D.h:
991         * platform/graphics/mac/GraphicsContext3DMac.mm: Limit number of active contexts to 16.
992         (WebCore::GraphicsContext3D::create):
993         (WebCore::GraphicsContext3D::~GraphicsContext3D):
994
995 2014-05-12  Simon Fraser  <simon.fraser@apple.com>
996
997         Build fix fix.
998
999         * page/scrolling/ScrollingCoordinator.cpp:
1000         (WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):
1001
1002 2014-05-12  Brent Fulgham  <bfulgham@apple.com>
1003
1004         DataDetectorUI doesn't update with resize
1005         https://bugs.webkit.org/show_bug.cgi?id=132830
1006         <rdar://problem/16871179>
1007
1008         Reviewed by Simon Fraser.
1009
1010         * editing/Editor.cpp:
1011         (WebCore::Editor::scanSelectionForTelephoneNumbers): Add public, no-argument
1012         version that can be called after layout changes.
1013         (WebCore::Editor::didLayout): Reprocess telephone number data
1014         since Ranges will have changed.
1015         * editing/Editor.h:
1016         * editing/FrameSelection.cpp:
1017         (WebCore::FrameSelection::updateDataDetectorsForSelection): Added.
1018         * editing/FrameSelection.h:
1019         * page/FrameView.cpp:
1020         (WebCore::FrameView::performPostLayoutTasks): Ask the FrameSelection to update the
1021         Range information for selected phone numbers.
1022
1023 2014-05-12  Simon Fraser  <simon.fraser@apple.com>
1024
1025         Fix the iOS build.
1026
1027         * page/scrolling/ScrollingCoordinator.cpp:
1028         (WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):
1029
1030 2014-05-12  Simon Fraser  <simon.fraser@apple.com>
1031
1032         [iOS WK2] Fuzzy tiles on some sites on loading
1033         https://bugs.webkit.org/show_bug.cgi?id=132847
1034         <rdar://problem/16816178>
1035
1036         Reviewed by Benjamin Poulain.
1037
1038         Export WebCore::TileController::contentsScale() const
1039
1040         * WebCore.exp.in:
1041
1042 2014-05-12  Simon Fraser  <simon.fraser@apple.com>
1043
1044         Add debug dumping for ViewportConfiguration
1045         https://bugs.webkit.org/show_bug.cgi?id=132843
1046
1047         Reviewed by Benjamin Poulain.
1048
1049         Add some TextStream-based dumping for ViewportConfiguration.
1050
1051         * page/ViewportConfiguration.cpp:
1052         (WebCore::ViewportConfiguration::updateConfiguration):
1053         (WebCore::ViewportConfigurationTextStream::ViewportConfigurationTextStream):
1054         (WebCore::ViewportConfigurationTextStream::increaseIndent):
1055         (WebCore::ViewportConfigurationTextStream::decreaseIndent):
1056         (WebCore::dumpProperty):
1057         (WebCore::ViewportConfigurationTextStream::writeIndent):
1058         (WebCore::ViewportConfigurationTextStream::operator<<):
1059         (WebCore::ViewportConfiguration::description):
1060         (WebCore::ViewportConfiguration::dump):
1061         * page/ViewportConfiguration.h:
1062
1063 2014-05-12  Brady Eidson  <beidson@apple.com>
1064
1065         Followup to "Teach Editor to support more direct replacement of a Node"
1066         <rdar://problem/16817952> and https://bugs.webkit.org/show_bug.cgi?id=132834
1067
1068         Pair programmed and pair reviewed by Brady Eidson and Darin Adler.
1069
1070         * editing/mac/EditorMac.mm:
1071         (WebCore::maybeCopyNodeAttributesToFragment):
1072         (WebCore::Editor::replaceNodeFromPasteboard):
1073
1074 2014-05-12  Beth Dakin  <bdakin@apple.com>
1075
1076         Content shadow layer needs to move in sync with the content layer
1077         https://bugs.webkit.org/show_bug.cgi?id=132841
1078         -and corresponding-
1079         <rdar://problem/16641115>
1080
1081         Reviewed by Simon Fraser.
1082
1083         Now that the root content layer moves a little bit (for y scroll positions between 
1084         0 and topContentInset), the shadow layer needs to move along with it since the 
1085         shadow layer should always have the same position as the root content layer.
1086
1087         Set the root state node’s shadow layer, and update the position whenever the root 
1088         content layer’s position is updated.
1089         * page/scrolling/AsyncScrollingCoordinator.cpp:
1090         (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
1091         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
1092
1093         Fetch the compositor’s layerForContentShadow().
1094         * page/scrolling/ScrollingCoordinator.cpp:
1095         (WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):
1096         * page/scrolling/ScrollingCoordinator.h:
1097
1098         Hook up the contentShadowLayer in the state node.
1099         * page/scrolling/ScrollingStateScrollingNode.cpp:
1100         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
1101         (WebCore::ScrollingStateScrollingNode::setContentShadowLayer):
1102
1103         Hook it up in the ScrollingTreeNode as well. Move the layer whenever the m
1104         _scrolledContentsLayer is moved.
1105         * page/scrolling/ScrollingStateScrollingNode.h:
1106         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
1107         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1108         (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
1109         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
1110
1111         The shadow layer needs an anchor point now that we are moving it around.
1112         * rendering/RenderLayerCompositor.cpp:
1113         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1114
1115 2014-05-12  Dirk Schulze  <krit@webkit.org>
1116
1117         <svg> with opacity and compositing double-applies its opacity
1118         https://bugs.webkit.org/show_bug.cgi?id=116856
1119
1120         Reviewed by Simon Fraser.
1121
1122         The opacity is applied by the compositor. However, all SVG elements
1123         create transparency layers on their own to apply opacity. So did
1124         SVGSVGElement.
1125
1126         Added a check if the current element has a compositing layer and skip
1127         creating transparency layer if it has.
1128
1129         Test: svg/custom/composited-svg-with-opacity.html
1130
1131         * rendering/svg/SVGRenderingContext.cpp:
1132         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
1133
1134 2014-05-12  Brady Eidson  <beidson@apple.com>
1135
1136         Teach Editor to support more direct replacement of a Node
1137         <rdar://problem/16817952> and https://bugs.webkit.org/show_bug.cgi?id=132834
1138
1139         Reviewed by Enrica Casucci.
1140
1141         The new method "Editor::replaceNodeFromPasteboard" has the intent that the new DocumentFragment
1142         from the pasteboard is as similar to the old Node as possible.
1143
1144         In practice, the new DocumentFragment:
1145         1 - Can represent a single node that's missing various attributes the original Node had.
1146         2 - Can be an unwanted fragment of arbitrary depth when the replacement happens inside Mail.app
1147
1148         This fixes both of these issues.
1149
1150         Add a MailBlockquoteHandling enum class for various Editor operations to pass through to the
1151         ReplaceSelectionCommand:
1152         * editing/Editor.cpp:
1153         (WebCore::Editor::handleTextEvent):
1154         (WebCore::Editor::pasteAsFragment):
1155         (WebCore::Editor::pasteWithPasteboard):
1156         (WebCore::Editor::replaceSelectionWithFragment):
1157         * editing/Editor.h:
1158
1159         * dom/TextEvent.cpp:
1160         (WebCore::TextEvent::createForPlainTextPaste):
1161         (WebCore::TextEvent::createForFragmentPaste):
1162         (WebCore::TextEvent::TextEvent):
1163         * dom/TextEvent.h:
1164         (WebCore::TextEvent::mailBlockquoteHandling):
1165
1166         * editing/ReplaceSelectionCommand.cpp:
1167         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
1168         (WebCore::ReplaceSelectionCommand::doApply): Consider whether or not this particular Editor
1169           operation was meant to give special consideration to Mail's Blockquotes.
1170         * editing/ReplaceSelectionCommand.h:
1171
1172         * editing/efl/EditorEfl.cpp:
1173         (WebCore::Editor::pasteWithPasteboard):
1174         * editing/ios/EditorIOS.mm:
1175         (WebCore::Editor::pasteWithPasteboard):
1176
1177         * editing/mac/EditorMac.mm:
1178         (WebCore::Editor::pasteWithPasteboard):
1179         (WebCore::Editor::readSelectionFromPasteboard):
1180         (WebCore::maybeCopyNodeAttributesToFragment): If the new DocumentFragment represents a single HTML node
1181           with the same tag name is the original HTML node, copy over most attributes from the original node.
1182         (WebCore::Editor::replaceNodeFromPasteboard): Create the fragment, run it through maybeCopyNodeAttributesToFragment.
1183
1184         * WebCore.exp.in:
1185
1186 2014-05-12  Alex Christensen  <achristensen@webkit.org>
1187
1188         Progress on web timing.
1189         https://bugs.webkit.org/show_bug.cgi?id=132574
1190
1191         Reviewed by Alexey Proskuryakov.
1192
1193         * CMakeLists.txt:
1194         Removed ResourceLoadTiming.cpp.
1195         * WebCore.exp.in:
1196         Added linker symbols for ResourceLoadTiming.
1197         * WebCore.xcodeproj/project.pbxproj:
1198         * WebCore.vcxproj/WebCore.vcxproj:
1199         * WebCore.vcxproj/WebCore.vcxproj.filters:
1200         Removed ResourceLoadTiming.cpp.
1201         * inspector/InspectorResourceAgent.cpp:
1202         (WebCore::buildObjectForTiming):
1203         * inspector/protocol/Network.json:
1204         Updated ResourceTiming structure.
1205         * loader/DocumentLoadTiming.cpp:
1206         (WebCore::DocumentLoadTiming::setNavigationStart):
1207         * loader/DocumentLoadTiming.h:
1208          Deleted unused setNavigationStart function.
1209         * page/Performance.idl:
1210         Updated spec URL.
1211         * page/PerformanceResourceTiming.cpp:
1212         (WebCore::PerformanceResourceTiming::domainLookupStart):
1213         (WebCore::PerformanceResourceTiming::domainLookupEnd):
1214         (WebCore::PerformanceResourceTiming::connectStart):
1215         (WebCore::PerformanceResourceTiming::secureConnectionStart):
1216         (WebCore::PerformanceResourceTiming::responseEnd):
1217         Updated ResourceLoadTiming member variable names.
1218         (WebCore::PerformanceResourceTiming::responseStart):
1219         * page/PerformanceResourceTiming.h:
1220         * page/PerformanceResourceTiming.idl:
1221         Deleted responseStart because it is not in the spec.
1222         * page/PerformanceTiming.cpp:
1223         (WebCore::PerformanceTiming::domainLookupStart):
1224         (WebCore::PerformanceTiming::domainLookupEnd):
1225         (WebCore::PerformanceTiming::connectStart):
1226         (WebCore::PerformanceTiming::secureConnectionStart):
1227         (WebCore::PerformanceTiming::requestStart):
1228         (WebCore::PerformanceTiming::responseStart):
1229         Updated ResourceLoadTiming member variable names.
1230         (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
1231         Use navigationStart as base for resource load times.
1232         * page/PerformanceTiming.idl:
1233         Updated spec URL.
1234         * platform/network/HTTPParsers.h:
1235         Removed unused class declarations.
1236         * platform/network/ResourceHandle.h:
1237         Moved soup request time from ResourceLoadTiming to ResourceHandle.
1238         * platform/network/ResourceLoadTiming.cpp: Removed.
1239         * platform/network/ResourceLoadTiming.h:
1240         (WebCore::ResourceLoadTiming::deepCopy):
1241         (WebCore::ResourceLoadTiming::operator==):
1242         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
1243         Updated ResourceLoadTiming member variable names.
1244         * platform/network/mac/ResourceHandleMac.mm:
1245         (WebCore::ResourceHandle::createNSURLConnection):
1246         Collect timing data.
1247         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
1248         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
1249         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
1250         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
1251         Save timing data to a ResourceLoadTiming on the ResourceResponse.
1252         * platform/network/soup/ResourceHandleSoup.cpp:
1253         (WebCore::gotHeadersCallback):
1254         (WebCore::restartedCallback):
1255         (WebCore::milisecondsSinceRequest):
1256         (WebCore::ResourceHandle::didStartRequest):
1257         (WebCore::networkEventCallback):
1258         (WebCore::createSoupMessageForHandleAndRequest):
1259         (WebCore::ResourceHandle::sendPendingRequest):
1260         Updated ResourceLoadTiming member variable names.
1261         (WebCore::wroteBodyCallback): Deleted.
1262
1263 2014-05-12  Dirk Schulze  <krit@webkit.org>
1264
1265         SVG outline property is broken and inefficient
1266         https://bugs.webkit.org/show_bug.cgi?id=113666
1267
1268         Reviewed by Dean Jackson.
1269
1270         Patch by Erik Dahlström backported from Blink.
1271
1272         "[SVG2] css 'outline' property should apply to svg elements 
1273
1274         The 'outline' property was only partially working in SVG before
1275         this patch, this makes it work on text and text content child
1276         elements too. 
1277
1278         This makes SVG render the outlines as part of the foreground paint
1279         phase. 
1280
1281         Partly based on Florin Malita's webkit patch https://bugs.webkit.org/show_bug.cgi?id=113666#c12."
1282
1283         Tests: svg/custom/outline-stacking-expected.svg
1284                svg/custom/outline-stacking.svg
1285                svg/custom/rgba-color-outline.svg
1286                svg/text/text-outline-expected.svg
1287                svg/text/text-outline-rgba.html
1288                svg/text/text-outline.html
1289                svg/text/textpath-outline-expected.svg
1290                svg/text/textpath-outline.svg
1291                svg/text/tspan-multiple-outline.svg
1292                svg/text/tspan-outline-2-expected.svg
1293                svg/text/tspan-outline-2.svg
1294                svg/text/tspan-outline-expected.svg
1295                svg/text/tspan-outline.html
1296
1297         * rendering/svg/RenderSVGContainer.cpp:
1298         (WebCore::RenderSVGContainer::paint): Draw outline in forground
1299             paint phase.
1300         * rendering/svg/RenderSVGImage.cpp:
1301         (WebCore::RenderSVGImage::paint): Draw outline in forground
1302             paint phase.
1303         * rendering/svg/RenderSVGRoot.cpp:
1304         (WebCore::RenderSVGRoot::paintReplaced): Pass paint offset.
1305         * rendering/svg/RenderSVGShape.cpp:
1306         (WebCore::RenderSVGShape::paint): Draw outline in forground
1307             paint phase.
1308         * rendering/svg/RenderSVGText.cpp:
1309         (WebCore::RenderSVGText::paint): Draw outline in forground
1310             paint phase.
1311         * rendering/svg/SVGInlineFlowBox.cpp:
1312         (WebCore::SVGInlineFlowBox::paint): Pass paint offset.
1313         * rendering/svg/SVGInlineTextBox.cpp:
1314         (WebCore::SVGInlineTextBox::paint): Draw outline in forground
1315             paint phase.
1316         * rendering/svg/SVGRootInlineBox.cpp:
1317         (WebCore::SVGRootInlineBox::paint): Pass paint offset.
1318
1319 2014-05-12  Beth Dakin  <bdakin@apple.com>
1320
1321         Layer for bottom overhang area needs to be offset by the topContentInset
1322         https://bugs.webkit.org/show_bug.cgi?id=132835
1323         -and corresponding-
1324         <rdar://problem/16641115>
1325
1326         Reviewed by Simon Fraser.
1327
1328         Push this layer down by the topContentInset in addition to the root layer height, 
1329         footer height, and header height.
1330         * rendering/RenderLayerCompositor.cpp:
1331         (WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
1332
1333 2014-05-09  Jon Honeycutt  <jhoneycutt@apple.com>
1334
1335         REGRESSION (r167818): editing/inserting/typing-space-to-trigger-smart-link.html fails on WebKit1 bots
1336
1337         <https://bugs.webkit.org/show_bug.cgi?id=132207>
1338         <rdar://problem/16730393>
1339
1340         Reverts the previous workaround in favor of a more specific fix for the
1341         null dereference.
1342
1343         Reviewed by Darin Adler.
1344
1345         * editing/ApplyStyleCommand.cpp:
1346         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1347         Check whether the run's start and end are still in the document, as
1348         removeConflictingInlineStyleFromRun() may have removed them.
1349
1350         * editing/CompositeEditCommand.cpp:
1351         (WebCore::CompositeEditCommand::apply):
1352         Reverted previous workaround.
1353         (WebCore::ApplyEditCommand::ReentrancyGuard::isRecursiveCall): Deleted.
1354         (WebCore::ApplyEditCommand::ReentrancyGuard::Scope::Scope): Deleted.
1355         (WebCore::ApplyEditCommand::ReentrancyGuard::Scope::~Scope): Deleted.
1356
1357 2014-05-12  Zan Dobersek  <zdobersek@igalia.com>
1358
1359         Clean up CrossThreadTask
1360         https://bugs.webkit.org/show_bug.cgi?id=132800
1361
1362         Reviewed by Darin Adler.
1363
1364         Remove the createCallbackTask overloads and the related CrossThreadTask helper classes.
1365
1366         Instead, have one simple CrossThreadTask class that derives from ScriptExecutionContext::Task.
1367         Its templated constructor takes in the method and the variadic pack of parameters. The cross-thread
1368         copies of the parameters are then bound to that method and the resulting bind expression is used to
1369         initialize the base class. The bind expression is constructed with a placeholder for the
1370         ScriptExecutionContext* parameter that's provided through ScriptExecutionContext::Task::performTask().
1371
1372         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1373         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
1374         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
1375         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
1376         (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
1377         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
1378         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
1379         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
1380         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
1381         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
1382         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
1383         (WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
1384         (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
1385         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
1386         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
1387         (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
1388         (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
1389         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
1390         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
1391         (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
1392         (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
1393         (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
1394         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
1395         (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
1396         (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
1397         (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
1398         (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
1399         (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
1400         (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
1401         * dom/CrossThreadTask.h:
1402         (WebCore::CrossThreadTask::CrossThreadTask):
1403         (WebCore::CrossThreadTask1::CrossThreadTask1): Deleted.
1404         (WebCore::CrossThreadTask1::performTask): Deleted.
1405         (WebCore::CrossThreadTask2::CrossThreadTask2): Deleted.
1406         (WebCore::CrossThreadTask2::performTask): Deleted.
1407         (WebCore::CrossThreadTask3::CrossThreadTask3): Deleted.
1408         (WebCore::CrossThreadTask3::performTask): Deleted.
1409         (WebCore::CrossThreadTask4::CrossThreadTask4): Deleted.
1410         (WebCore::CrossThreadTask4::performTask): Deleted.
1411         (WebCore::CrossThreadTask5::CrossThreadTask5): Deleted.
1412         (WebCore::CrossThreadTask5::performTask): Deleted.
1413         (WebCore::CrossThreadTask6::CrossThreadTask6): Deleted.
1414         (WebCore::CrossThreadTask6::performTask): Deleted.
1415         (WebCore::CrossThreadTask7::CrossThreadTask7): Deleted.
1416         (WebCore::CrossThreadTask7::performTask): Deleted.
1417         (WebCore::CrossThreadTask8::CrossThreadTask8): Deleted.
1418         (WebCore::CrossThreadTask8::performTask): Deleted.
1419         (WebCore::createCallbackTask): Deleted.
1420         * fileapi/FileReader.cpp:
1421         (WebCore::FileReader::abort):
1422         * loader/WorkerThreadableLoader.cpp:
1423         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1424         (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
1425         (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
1426         (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
1427         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
1428         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
1429         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
1430         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
1431         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck):
1432         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
1433         * loader/WorkerThreadableLoader.h:
1434         * loader/cache/MemoryCache.cpp:
1435         (WebCore::MemoryCache::removeRequestFromCache):
1436         (WebCore::MemoryCache::removeRequestFromSessionCaches):
1437         * workers/DefaultSharedWorkerRepository.cpp:
1438         (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
1439         (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
1440         * workers/WorkerMessagingProxy.cpp:
1441         (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
1442         (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
1443         (WebCore::WorkerMessagingProxy::connectToInspector):
1444         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
1445         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
1446
1447 2014-05-12  Alex Christensen  <achristensen@webkit.org>
1448
1449         Implement EXT_shader_texture_lod in WebGL.
1450         https://bugs.webkit.org/show_bug.cgi?id=128985
1451         <rdar://problem/16111396>
1452
1453         Based on Chromium patch by bajones@chromium.org.
1454         https://src.chromium.org/viewvc/blink?revision=171465&view=revision
1455
1456         Reviewed by Dean Jackson.
1457
1458         Test: webgl/conformance/extensions/ext-shader-texture-lod.html
1459         
1460         * CMakeLists.txt:
1461         * DerivedSources.cpp:
1462         * DerivedSources.make:
1463         * WebCore.vcxproj/WebCore.vcxproj:
1464         * WebCore.vcxproj/WebCore.vcxproj.filters:
1465         * WebCore.xcodeproj/project.pbxproj:
1466         Added new EXTShaderTextureLOD files.
1467         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1468         (WebCore::toJS):
1469         Added EXTShaderTextureLOD.
1470         * html/canvas/EXTShaderTextureLOD.cpp: Added.
1471         (WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
1472         (WebCore::EXTShaderTextureLOD::~EXTShaderTextureLOD):
1473         (WebCore::EXTShaderTextureLOD::getName):
1474         * html/canvas/EXTShaderTextureLOD.h: Added.
1475         * html/canvas/EXTShaderTextureLOD.idl: Added.
1476         * html/canvas/WebGLExtension.h:
1477         Added EXTShaderTextureLODName.
1478         * html/canvas/WebGLObject.cpp:
1479         Removed unused inclusion of EXTTextureFilterAnisotropic.h.
1480         * html/canvas/WebGLRenderingContext.cpp:
1481         (WebCore::WebGLRenderingContext::getExtension):
1482         Added EXT_shader_texture_lod.
1483         * html/canvas/WebGLRenderingContext.h:
1484         Added a EXTShaderTextureLOD member variable.
1485
1486 2014-05-12  Martin Hock  <mhock@apple.com>
1487
1488         Disallow drag and drop of non-displayable resources.
1489         https://bugs.webkit.org/show_bug.cgi?id=132745
1490         <rdar://problem/10562662>
1491
1492         Reviewed by Alexey Proskuryakov.
1493
1494         Test: http/tests/security/drag-drop-local-file.html
1495
1496         * page/DragController.cpp:
1497         (WebCore::DragController::startDrag):
1498
1499 2014-05-12  Jozsef Berta  <jberta.u-szeged@partner.samsung.com>
1500
1501         WinCairo buildfix after r168611
1502         https://bugs.webkit.org/show_bug.cgi?id=132825
1503
1504         Reviewed by Darin Adler.
1505
1506         * platform/network/curl/CurlDownload.cpp:
1507         (WebCore::CurlDownloadManager::downloadThread):
1508         (WebCore::CurlDownload::didReceiveHeader):
1509         (WebCore::CurlDownload::didReceiveData):
1510
1511 2014-05-12  Antti Koivisto  <antti@apple.com>
1512
1513         REGRESSION (r159560): Text clips on tile border if line-height < font-size
1514         https://bugs.webkit.org/show_bug.cgi?id=132822
1515
1516         Reviewed by Andreas Kling.
1517         
1518         The first line of simple line layout run range was miscomputed.
1519
1520         Test: fast/text/simple-lines-range-low-line-height.html
1521
1522         * rendering/SimpleLineLayoutResolver.h:
1523         (WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
1524         
1525             Lines may overlap if line-height < font-size. Apply different adjustment when searching for range begin
1526             so that overflowing earlier lines are taken into account.
1527
1528         (WebCore::SimpleLineLayout::RunResolver::rangeForRect):
1529
1530 2014-05-12  Radu Stavila  <stavila@adobe.com>
1531
1532         Invalid information remaining in lineToRegion map of RenderFlowThread.
1533         https://bugs.webkit.org/show_bug.cgi?id=132690
1534
1535         Reviewed by Antti Koivisto.
1536
1537         Test: fast/multicol/newmulticol/lines-region-map-crash.html
1538
1539         * rendering/RenderFlowThread.cpp:
1540         (WebCore::RenderFlowThread::deleteLines):
1541         * rendering/RenderFlowThread.h:
1542
1543 2014-05-12  Zan Dobersek  <zdobersek@igalia.com>
1544
1545         Clean up MainThreadTask
1546         https://bugs.webkit.org/show_bug.cgi?id=132799
1547
1548         Reviewed by Darin Adler.
1549
1550         Only have one simple MainThreadTask class that derives from std::function<void ()>.
1551         Its templated constructor takes in the method and a variadic pack of parameters.
1552         The cross-thread copies of the parameter are then bound to the given method through
1553         std::bind(), with the resulting bind expression used to initialize the base
1554         std::function<void ()> class.
1555
1556         The WebCore::callOnMainThread() functions and the helper classes are removed in favor
1557         of passing MainThreadTask rvalues directly to WTF::callOnMainThread().
1558
1559         * fileapi/AsyncFileStream.cpp:
1560         (WebCore::AsyncFileStream::startOnFileThread):
1561         (WebCore::AsyncFileStream::stopOnFileThread):
1562         (WebCore::AsyncFileStream::getSizeOnFileThread):
1563         (WebCore::AsyncFileStream::openForReadOnFileThread):
1564         (WebCore::AsyncFileStream::openForWriteOnFileThread):
1565         (WebCore::AsyncFileStream::readOnFileThread):
1566         (WebCore::AsyncFileStream::writeOnFileThread):
1567         (WebCore::AsyncFileStream::truncateOnFileThread):
1568         * platform/MainThreadTask.h:
1569         (WebCore::MainThreadTask::MainThreadTask):
1570         (WebCore::MainThreadTaskBase::MainThreadTaskBase): Deleted.
1571         (WebCore::MainThreadTaskBase::~MainThreadTaskBase): Deleted.
1572         (WebCore::MainThreadTask1::create): Deleted.
1573         (WebCore::MainThreadTask1::MainThreadTask1): Deleted.
1574         (WebCore::MainThreadTask2::create): Deleted.
1575         (WebCore::MainThreadTask2::MainThreadTask2): Deleted.
1576         (WebCore::MainThreadTask3::create): Deleted.
1577         (WebCore::MainThreadTask3::MainThreadTask3): Deleted.
1578         (WebCore::MainThreadTask4::create): Deleted.
1579         (WebCore::MainThreadTask4::MainThreadTask4): Deleted.
1580         (WebCore::MainThreadTask5::create): Deleted.
1581         (WebCore::MainThreadTask5::MainThreadTask5): Deleted.
1582         (WebCore::MainThreadTask6::create): Deleted.
1583         (WebCore::MainThreadTask6::MainThreadTask6): Deleted.
1584         (WebCore::MainThreadTask7::create): Deleted.
1585         (WebCore::MainThreadTask7::MainThreadTask7): Deleted.
1586         (WebCore::MainThreadTask8::create): Deleted.
1587         (WebCore::MainThreadTask8::MainThreadTask8): Deleted.
1588         (WebCore::executeMainThreadTask): Deleted.
1589         (WebCore::callOnMainThread): Deleted.
1590
1591 2014-05-11  Zan Dobersek  <zdobersek@igalia.com>
1592
1593         Simplify FileThread::Task usage
1594         https://bugs.webkit.org/show_bug.cgi?id=132798
1595
1596         Reviewed by Darin Adler.
1597
1598         Remove the createFileThreadTask functions and the related FileThreadTask helper classes.
1599
1600         Instead, the FileThread::Task class now has a templated constructor that takes in a pointer
1601         to the object instance, a method, and a variadic pack of parameters. The pointer and the
1602         cross-thread copies of all the parameters are then bound to the given method through std::bind().
1603
1604         Instead of createFileThreadTask, std::make_unique<>() should be used to construct unique pointers
1605         that wrap FileThread::Task objects.
1606
1607         * WebCore.vcxproj/WebCore.vcxproj:
1608         * WebCore.vcxproj/WebCore.vcxproj.filters:
1609         * WebCore.xcodeproj/project.pbxproj:
1610         * fileapi/AsyncFileStream.cpp:
1611         (WebCore::AsyncFileStream::create):
1612         (WebCore::AsyncFileStream::stop):
1613         (WebCore::AsyncFileStream::getSize):
1614         (WebCore::AsyncFileStream::openForRead):
1615         (WebCore::AsyncFileStream::openForWrite):
1616         (WebCore::AsyncFileStream::close):
1617         (WebCore::AsyncFileStream::read):
1618         (WebCore::AsyncFileStream::write):
1619         (WebCore::AsyncFileStream::truncate):
1620         * fileapi/FileThread.h:
1621         (WebCore::FileThread::Task::Task):
1622         (WebCore::FileThread::Task::performTask):
1623         (WebCore::FileThread::Task::~Task): Deleted.
1624         * fileapi/FileThreadTask.h: Removed.
1625
1626 2014-05-11  Benjamin Poulain  <benjamin@webkit.org>
1627
1628         Do not create a temporary string to append the SVGLength's unit
1629         https://bugs.webkit.org/show_bug.cgi?id=132807
1630
1631         Reviewed by Geoffrey Garen.
1632
1633         * svg/SVGLength.cpp:
1634         (WebCore::lengthTypeToString):
1635         The caller just append the string to a number string. The function
1636         lengthTypeToString() was creating a new WTF::String from scratch,
1637         copied the characters to make a new string, and destroyed the WTF::String.
1638
1639         Instead, just append the string literal.
1640
1641 2014-05-11  Yusuke Suzuki  <utatane.tea@gmail.com>
1642
1643         CSS JIT: reduce cost of computing backtracking height
1644         https://bugs.webkit.org/show_bug.cgi?id=132546
1645
1646         Reviewed by Benjamin Poulain.
1647
1648         Because compiler previously compute backtracking height for
1649         previous child fragment, by leveraging this, we can limit the
1650         `maxPrefixSize` for `computeBacktrackingHeightFromDescendant`.
1651
1652         For example, consider selector "c>a>b>d>a>b e"'s descendant chain,
1653         "c>a>b>d>a>b".
1654
1655         At the <a> position, we have matching pattern [b, a, d, b, a] and
1656         calculate the backtracking height by following method.
1657
1658         pattern:    [b, a, d, b, a]
1659         candidate0:    [b, a, d, b]  => Not matched.
1660         candidate1:       [b, a, d]  => Not matched.
1661         candidate2:          [b, a]  => Matched against the pattern.
1662
1663         At this time, first candidate0's pattern size is `pattern.size() - 1`.
1664         And get backtracking height from descendant 3, that is
1665         `pattern.size() - candidate.size()`, `5 - 2`.
1666
1667         And next, at the <c> position, we calcucate the backtracking height
1668         for this pattern.
1669
1670         pattern:    [b, a, d, b, a, c]
1671         candidate0:    [b, a, d, b, a]  => Not matched.
1672         candidate1:       [b, a, d, b]  => Not matched.
1673         candidate2:          [b, a, d]  => Not matched.
1674         candidate3:             [b, a]  => Not matched.
1675         candidate4:                [b]  => Not matched.
1676         candidate5:                 []  => Matched against the pattern.
1677
1678         Then, we get the backtracking height, which is 6 (6 - 0).
1679         However, in the above case, we already know that attempts from candidate0
1680         to candidate1 always fail, since parts of these are already tested at
1681         the <b> position trial and we know they don't match.
1682
1683         So in this case, we should start this computation from candidate2,
1684         such as,
1685
1686         pattern:    [b, a, d, b, a, c]
1687         candidate2:          [b, a, d]  => Not matched.
1688         candidate3:             [b, a]  => Not matched.
1689         candidate4:                [b]  => Not matched.
1690         candidate5:                 []  => Matched against the pattern.
1691
1692         We can start computation with candidate size
1693         `pattern.size() - previousChildFragmentBacktrackingHeight`.
1694         In this example, `pattern.size()` is 6 and
1695         `previousChildFragmentBacktrackingHeight` is 3, so candidate size is
1696         3, that is candidate2.
1697
1698         * cssjit/SelectorCompiler.cpp:
1699         (WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant):
1700         (WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):
1701
1702 2014-05-11  Beth Dakin  <bdakin@apple.com>
1703
1704         Headers and footers are not positioned correctly with topContentInset
1705         https://bugs.webkit.org/show_bug.cgi?id=132787
1706         -and corresponding-
1707         <rdar://problem/16641115>
1708
1709         Reviewed by Tim Horton.
1710
1711         Headers and footers need to take the inset into account, and they also need to 
1712         factor in the fact that the root layer moves around now too.
1713
1714         The existing yPositionForRootContentLayer() is actually the right calculation for 
1715         the header layer. The root content layer wants that value, but pushed down by the 
1716         header height. Now there are static functions for both of them and the footer to 
1717         avoid duplicated code in the three spots where we need this information.
1718         * page/FrameView.cpp:
1719         (WebCore::FrameView::yPositionForHeaderLayer):
1720         (WebCore::FrameView::yPositionForRootContentLayer):
1721         (WebCore::FrameView::yPositionForFooterLayer):
1722         * page/FrameView.h:
1723
1724         Use the static functions to compute the layer positions.
1725         * page/scrolling/AsyncScrollingCoordinator.cpp:
1726         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
1727
1728         How did headers ever work with this bug?? I don’t know. We need to return that 
1729         layer.
1730         * page/scrolling/ScrollingCoordinator.cpp:
1731         (WebCore::ScrollingCoordinator::headerLayerForFrameView):
1732
1733         Use the static functions to compute the layer positions.
1734         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1735         (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
1736         * rendering/RenderLayerCompositor.cpp:
1737         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1738         (WebCore::RenderLayerCompositor::updateLayerForHeader):
1739         (WebCore::RenderLayerCompositor::updateLayerForFooter):
1740
1741 2014-05-11  Zalan Bujtas  <zalan@apple.com>
1742
1743         Subpixel rendering[iOS]: <select> decoration is misaligned when the renderer is on subpixel position.
1744         https://bugs.webkit.org/show_bug.cgi?id=132779
1745         <rdar://problem/16631071>
1746
1747         Reviewed by Simon Fraser.
1748
1749         Push <select> theme decoration's rect to device pixel position to ensure
1750         that the theme bounds are aligned with the renderer's bounds. (in painting terms)
1751         However, as the decoration code paints multiple items, they all need to use snapped 
1752         final coordinates for painting : tracked here https://bugs.webkit.org/show_bug.cgi?id=132780
1753         This patch also changes the padding values for <select> [iOS] to compensate for the integer
1754         truncation that happened before subpixel. 
1755
1756         Not testable.
1757
1758         * css/html.css:
1759         (select):
1760         * platform/efl/RenderThemeEfl.cpp:
1761         (WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
1762         * platform/efl/RenderThemeEfl.h:
1763         * platform/gtk/RenderThemeGtk.cpp:
1764         (WebCore::RenderThemeGtk::paintMenuListButtonDecorations):
1765         * platform/gtk/RenderThemeGtk.h:
1766         * rendering/RenderTheme.cpp:
1767         (WebCore::RenderTheme::paintDecorations):
1768         * rendering/RenderTheme.h:
1769         (WebCore::RenderTheme::paintMenuListButtonDecorations):
1770         * rendering/RenderThemeIOS.h:
1771         * rendering/RenderThemeIOS.mm:
1772         (WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
1773         * rendering/RenderThemeMac.h:
1774         * rendering/RenderThemeMac.mm:
1775         (WebCore::RenderThemeMac::paintMenuListButtonDecorations):
1776         * rendering/RenderThemeSafari.cpp:
1777         (WebCore::RenderThemeSafari::paintMenuListButtonDecorations):
1778         * rendering/RenderThemeSafari.h:
1779         * rendering/RenderThemeWin.cpp:
1780         (WebCore::RenderThemeWin::paintMenuList):
1781         (WebCore::RenderThemeWin::paintMenuListButtonDecorations):
1782         * rendering/RenderThemeWin.h:
1783
1784 2014-05-11  Zan Dobersek  <zdobersek@igalia.com>
1785
1786         Move Source/WebCore/workers/ code to std::unique_ptr
1787         https://bugs.webkit.org/show_bug.cgi?id=132401
1788
1789         Reviewed by Darin Adler.
1790
1791         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/workers (and related places)
1792         with std::unique_ptr.
1793
1794         * bindings/js/JSDOMWindowCustom.cpp:
1795         (WebCore::JSDOMWindow::setTimeout):
1796         (WebCore::JSDOMWindow::setInterval):
1797         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
1798         (WebCore::JSWorkerGlobalScope::setTimeout):
1799         (WebCore::JSWorkerGlobalScope::setInterval):
1800         * bindings/js/ScheduledAction.cpp:
1801         (WebCore::ScheduledAction::create):
1802         * bindings/js/ScheduledAction.h:
1803         * page/DOMTimer.cpp:
1804         (WebCore::DOMTimer::DOMTimer):
1805         (WebCore::DOMTimer::install):
1806         (WebCore::DOMTimer::fired):
1807         (WebCore::DOMTimer::didStop):
1808         * page/DOMTimer.h:
1809         * page/DOMWindow.cpp:
1810         (WebCore::DOMWindow::setTimeout):
1811         (WebCore::DOMWindow::setInterval):
1812         * page/DOMWindow.h:
1813         * workers/WorkerEventQueue.h:
1814         * workers/WorkerGlobalScope.cpp:
1815         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
1816         (WebCore::WorkerGlobalScope::setTimeout):
1817         (WebCore::WorkerGlobalScope::setInterval):
1818         * workers/WorkerGlobalScope.h:
1819         (WebCore::WorkerGlobalScope::clearScript):
1820         * workers/WorkerLoaderProxy.h:
1821         * workers/WorkerMessagingProxy.h:
1822         * workers/WorkerRunLoop.cpp:
1823         (WebCore::WorkerRunLoop::WorkerRunLoop):
1824         * workers/WorkerRunLoop.h:
1825         * workers/WorkerScriptLoader.cpp:
1826         (WebCore::WorkerScriptLoader::loadSynchronously):
1827         (WebCore::WorkerScriptLoader::loadAsynchronously):
1828         (WebCore::WorkerScriptLoader::createResourceRequest):
1829         * workers/WorkerScriptLoader.h:
1830         * workers/WorkerThread.cpp:
1831         (WebCore::WorkerThread::WorkerThread):
1832         (WebCore::WorkerThread::workerThread):
1833         (WebCore::WorkerThreadStartupData::create): Deleted.
1834         * workers/WorkerThread.h:
1835
1836 2014-05-09  Myles C. Maxfield  <litherum@gmail.com>
1837
1838         [Mac] [iOS] Underlines are too low
1839         https://bugs.webkit.org/show_bug.cgi?id=132770
1840
1841         Reviewed by Darin Adler.
1842
1843         computeUnderlineOffset() inside InlineTextBox.cpp lowers underlines from text
1844         baseline by a value that is proportional to the font size. However, this
1845         lowering was done a second time in
1846         GraphicsContext::computeLineBoundsAndAntialiasingModeForText(). This patch
1847         removes this second, platform-dependent lowering.
1848
1849         This duplication was caused by merging iOS into open source, where iOS used
1850         the GraphicsContext approach and open source used the InlineTextBox approach.
1851
1852         Covered by fast/css3-text/css3-text-decoration/text-decoration-thickness.html.
1853
1854         * platform/graphics/GraphicsContext.cpp:
1855         (WebCore::GraphicsContext::computeLineBoundsAndAntialiasingModeForText): Remove
1856         redundant lowering code
1857         * rendering/InlineTextBox.cpp:
1858         (WebCore::InlineTextBox::paintDecoration): Clean up textDecorationThickness
1859         variable
1860
1861 2014-05-11  Antti Koivisto  <antti@apple.com>
1862
1863         Text with simple line layout not getting pushed below float when there is not enough space for it
1864         https://bugs.webkit.org/show_bug.cgi?id=126991
1865
1866         Reviewed by Andreas Kling.
1867
1868         Tests: fast/text/simple-lines-intruding-wide-float-dynamic.html
1869                fast/text/simple-lines-intruding-wide-float.html
1870
1871         * rendering/RenderBlockFlow.cpp:
1872         (WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
1873         
1874             Invalidate the line layout path when floats change. We need to check SimpleLineLayout::canUseFor again as
1875             intruding floats may make this flow ineligible to use the path.
1876
1877         * rendering/RenderBlockFlow.h:
1878         (WebCore::RenderBlockFlow::floatingObjectSet):
1879         * rendering/SimpleLineLayout.cpp:
1880         (WebCore::SimpleLineLayout::canUseFor):
1881         
1882             Test the top positions of all floats for case that would push text below the float instead of just testing 
1883             the first line. We may have floats in the middle of the paragraph too.
1884
1885 2014-05-11  peavo@outlook.com  <peavo@outlook.com>
1886
1887         WinCairo crashes on acid3 test
1888         https://bugs.webkit.org/show_bug.cgi?id=131364
1889
1890         Reviewed by Brent Fulgham.
1891
1892         When the 304 (Not-modified) response is received, the Curl backend should look up the cached response,
1893         and call the client method didReceiveResponse with the cached response, instead of the 304 response.
1894         Otherwise the response will contain an empty MIME type, which causes the request to be cancelled, and the client deleted.
1895         When the Curl cache manager then accesses the client afterwards, it is deleted, and we crash.
1896
1897         * platform/network/curl/CurlCacheManager.cpp:
1898         (WebCore::CurlCacheManager::didReceiveResponse): Return early if request is cancelled.
1899         (WebCore::CurlCacheManager::getCachedResponse): Added method to get cached response.
1900         * platform/network/curl/CurlCacheManager.h: Ditto.
1901         * platform/network/curl/ResourceHandleManager.cpp:
1902         (WebCore::headerCallback): When 304 response is received, look up cached response, and use it.
1903
1904 2014-05-10  Tim Horton  <timothy_horton@apple.com>
1905
1906         [WKWebView _updateScrollViewBackground] churns UI-and-CGColors while repainting
1907         https://bugs.webkit.org/show_bug.cgi?id=132793
1908         <rdar://problem/16877870>
1909
1910         Reviewed by Dan Bernstein.
1911
1912         * WebCore.exp.in:
1913         Export a Color convenience function.
1914
1915 2014-05-10  Commit Queue  <commit-queue@webkit.org>
1916
1917         Unreviewed, rolling out r168578.
1918         https://bugs.webkit.org/show_bug.cgi?id=132789
1919
1920         Speculative rollout since this appears to break PLT3.
1921         (Requested by kling on #webkit).
1922
1923         Reverted changeset:
1924
1925         "Move Source/WebCore/workers/ code to std::unique_ptr"
1926         https://bugs.webkit.org/show_bug.cgi?id=132401
1927         http://trac.webkit.org/changeset/168578
1928
1929 2014-05-10  Darin Adler  <darin@apple.com>
1930
1931         REGRESSION (r166853): fast/preloader/document-write.html is very flaky
1932         https://bugs.webkit.org/show_bug.cgi?id=130942
1933
1934         Reviewed by Anders Carlsson.
1935
1936         * style/StyleResolveTree.cpp:
1937         (WebCore::Style::suspendMemoryCacheClientCalls): Use a RefPtr to the main
1938         frame as a weak pointer to a Page that will work unless the page is destroyed.
1939         The old code tried to do it with a RefPtr to a document, but as the FIXME
1940         points out, that won't work if the document is disassociated with its frame.
1941
1942 2014-05-10  Anders Carlsson  <andersca@apple.com>
1943
1944         Block exceptions when trying to convert attributed strings to RTF and RTFD
1945         https://bugs.webkit.org/show_bug.cgi?id=132778
1946         <rdar://problem/16675805>
1947
1948         Reviewed by Darin Adler.
1949
1950         When the iOS WebHTMLConverter was upstreamed, converting some attributed strings to RTF and RTFD
1951         started throwing Objective-C exceptions (see <rdar://problem/16876920>).
1952         
1953         In WebKit2, we now crash on unhandled exceptions so work around that crash by adding exception blocking macros.
1954
1955         * editing/ios/EditorIOS.mm:
1956         (WebCore::dataInRTFDFormat):
1957         (WebCore::dataInRTFFormat):
1958         * editing/mac/EditorMac.mm:
1959         (WebCore::dataInRTFDFormat):
1960         (WebCore::dataInRTFFormat):
1961
1962 2014-05-10  Zan Dobersek  <zdobersek@igalia.com>
1963
1964         Move Source/WebCore/workers/ code to std::unique_ptr
1965         https://bugs.webkit.org/show_bug.cgi?id=132401
1966
1967         Reviewed by Andreas Kling.
1968
1969         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/workers (and related places)
1970         with std::unique_ptr.
1971
1972         * bindings/js/JSDOMWindowCustom.cpp:
1973         (WebCore::JSDOMWindow::setTimeout):
1974         (WebCore::JSDOMWindow::setInterval):
1975         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
1976         (WebCore::JSWorkerGlobalScope::setTimeout):
1977         (WebCore::JSWorkerGlobalScope::setInterval):
1978         * bindings/js/ScheduledAction.cpp:
1979         (WebCore::ScheduledAction::create):
1980         * bindings/js/ScheduledAction.h:
1981         * page/DOMTimer.cpp:
1982         (WebCore::DOMTimer::DOMTimer):
1983         (WebCore::DOMTimer::install):
1984         (WebCore::DOMTimer::fired):
1985         (WebCore::DOMTimer::didStop):
1986         * page/DOMTimer.h:
1987         * page/DOMWindow.cpp:
1988         (WebCore::DOMWindow::setTimeout):
1989         (WebCore::DOMWindow::setInterval):
1990         * page/DOMWindow.h:
1991         * workers/WorkerEventQueue.h:
1992         * workers/WorkerGlobalScope.cpp:
1993         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
1994         (WebCore::WorkerGlobalScope::setTimeout):
1995         (WebCore::WorkerGlobalScope::setInterval):
1996         * workers/WorkerGlobalScope.h:
1997         (WebCore::WorkerGlobalScope::clearScript):
1998         * workers/WorkerLoaderProxy.h:
1999         * workers/WorkerMessagingProxy.h:
2000         * workers/WorkerRunLoop.cpp:
2001         (WebCore::WorkerRunLoop::WorkerRunLoop):
2002         * workers/WorkerRunLoop.h:
2003         * workers/WorkerScriptLoader.cpp:
2004         (WebCore::WorkerScriptLoader::loadSynchronously):
2005         (WebCore::WorkerScriptLoader::loadAsynchronously):
2006         (WebCore::WorkerScriptLoader::createResourceRequest):
2007         * workers/WorkerScriptLoader.h:
2008         * workers/WorkerThread.cpp:
2009         (WebCore::WorkerThread::WorkerThread):
2010         (WebCore::WorkerThread::workerThread):
2011         (WebCore::WorkerThreadStartupData::create): Deleted.
2012         * workers/WorkerThread.h:
2013
2014 2014-05-09  Dean Jackson  <dino@apple.com>
2015
2016         -webkit-filter prevents rendering at retina scale
2017         https://bugs.webkit.org/show_bug.cgi?id=93471
2018
2019         Reviewed by Dirk Schulze.
2020
2021         Implement 2x support for filters that go through
2022         the -webkit-filter property. This includes all
2023         shorthand filters, and any referenced SVG-style filters
2024         (as long as they use only the supported subset of
2025         operations - basically the same as is exposed for
2026         the shorthands).
2027
2028         Tests: fast/hidpi/filters-blur.html
2029                fast/hidpi/filters-hue-rotate.html
2030                fast/hidpi/filters-invert.html
2031                fast/hidpi/filters-multiple.html
2032                fast/hidpi/filters-reference.html
2033                fast/hidpi/filters-shadow.html
2034
2035         * platform/graphics/cg/ImageBufferCG.cpp:
2036         (WebCore::ImageBuffer::getUnmultipliedImageData): Scale the source rectangle if the method was
2037         called using LogicalCoordinates.
2038         (WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
2039         (WebCore::ImageBuffer::putByteArray): Ditto.
2040
2041         * platform/graphics/filters/FEDropShadow.cpp:
2042         (WebCore::FEDropShadow::platformApplySoftware): Make sure to scale the blur radius by the filter
2043         resolution, and call the byte-array methods with the native coordinate system.
2044         * platform/graphics/filters/FEGaussianBlur.cpp:
2045         (WebCore::FEGaussianBlur::calculateUnscaledKernelSize): Fix typo.
2046         (WebCore::FEGaussianBlur::platformApplySoftware): Scale the kernel and paint rectangles
2047         by the filter scale.
2048
2049         * platform/graphics/filters/Filter.h:
2050         (WebCore::Filter::Filter): Initialise the filter scale.
2051         (WebCore::Filter::filterScale): New property which reflects the mapping between logical pixels
2052         and device pixels.
2053         (WebCore::Filter::setFilterScale):
2054
2055         * platform/graphics/filters/FilterEffect.cpp:
2056         (WebCore::FilterEffect::asImageBuffer): Make sure buffer creation takes scale into account.
2057         (WebCore::FilterEffect::asUnmultipliedImage): Ditto.
2058         (WebCore::FilterEffect::asPremultipliedImage): Ditto.
2059         (WebCore::FilterEffect::copyImageBytes): Scale any incoming regions if they are talking about
2060         device pixels rather than logical pixels.
2061         (WebCore::FilterEffect::copyUnmultipliedImage): Ditto.
2062         (WebCore::FilterEffect::copyPremultipliedImage): Ditto.
2063         (WebCore::FilterEffect::createImageBufferResult): Take scale into account when creating byte array.
2064         (WebCore::FilterEffect::createUnmultipliedImageResult): Ditto.
2065         (WebCore::FilterEffect::createPremultipliedImageResult): Ditto.
2066
2067         * rendering/FilterEffectRenderer.cpp:
2068         (WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): Pass filter scale into buffer creation.
2069
2070         * rendering/RenderLayer.cpp:
2071         (WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer): Make sure to set the filter scale to
2072         the device scale factor, and notice if we ever change scales.
2073
2074 2014-05-10  Praveen R Jadhav  <praveen.j@samsung.com>
2075
2076         [MediaStream] Rename NavigatorMediaStream as NavigatorUserMedia.
2077         https://bugs.webkit.org/show_bug.cgi?id=132734
2078
2079         Reviewed by Eric Carlson.
2080
2081         Spec: http://www.w3.org/TR/mediacapture-streams/#navigatorusermedia
2082
2083         This patch replaces 'NavigatorMediaStream' with 'NavigatorUserMedia'
2084         throughout the code to be consistent with W3C specifications.
2085         Test cases remain the same as 'Navigator' implies 'NavigatorUserMedia'.
2086
2087         * CMakeLists.txt: Compiles NavigatorUserMedia.cpp
2088         * DerivedSources.make: Compiles NavigatorUserMedia.idl
2089         * Modules/mediastream/NavigatorMediaStream.cpp: Removed.
2090         * Modules/mediastream/NavigatorMediaStream.h: Removed.
2091         * Modules/mediastream/NavigatorMediaStream.idl: Removed.
2092         * Modules/mediastream/NavigatorUserMedia.cpp: Added.
2093         (WebCore::NavigatorUserMedia::NavigatorUserMedia):
2094         (WebCore::NavigatorUserMedia::~NavigatorUserMedia):
2095         (WebCore::NavigatorUserMedia::webkitGetUserMedia):
2096         * Modules/mediastream/NavigatorUserMedia.h: Added.
2097         * Modules/mediastream/NavigatorUserMedia.idl: Added.
2098         * WebCore.xcodeproj/project.pbxproj:
2099         * bindings/js/JSNavigatorCustom.cpp:
2100         (WebCore::JSNavigator::webkitGetUserMedia): NavigatorUserMedia
2101         class is used instead of NavigatorMediaStream.
2102
2103 2014-05-10  Zalan Bujtas  <zalan@apple.com>
2104
2105         Subpixel rendering: Empty rects should remain empty after integrally enclosing them.
2106         https://bugs.webkit.org/show_bug.cgi?id=132753
2107         <rdar://problem/16846801>
2108
2109         Reviewed by Simon Fraser.
2110
2111         This patch ensures that empty LayoutRects remain empty after converting to integral enclosing rect.
2112         LayoutRects with fractional position get expanded even if they are empty. This makes rectangle
2113         operations unreliable and can result in undesired side effects.
2114
2115         No testable/covered by existing tests.
2116
2117         * platform/graphics/LayoutRect.cpp:
2118         (WebCore::enclosingIntRect):
2119         * rendering/InlineTextBox.cpp:
2120         (WebCore::InlineTextBox::localSelectionRect):
2121         (WebCore::InlineTextBox::paintDocumentMarker):
2122         (WebCore::InlineTextBox::paintTextMatchMarker):
2123         (WebCore::InlineTextBox::computeRectForReplacementMarker):
2124         (WebCore::integralEnclosingRectForSelection): Deleted.
2125
2126 2014-05-09  Joseph Pecoraro  <pecoraro@apple.com>
2127
2128         Web Inspector: Allow Remote Inspector to entitlement check UIProcess through WebProcess
2129         https://bugs.webkit.org/show_bug.cgi?id=132409
2130
2131         Reviewed by Timothy Hatcher.
2132
2133         * inspector/InspectorClient.h:
2134         (WebCore::InspectorClient::parentProcessIdentifier): Deleted.
2135         * page/PageDebuggable.cpp:
2136         (WebCore::PageDebuggable::parentProcessIdentifier): Deleted.
2137         * page/PageDebuggable.h:
2138         pid per debuggable is no longer needed.
2139
2140 2014-05-09  Dean Jackson  <dino@apple.com>
2141
2142         [fullscreen] cursor should auto-hide when over video
2143         https://bugs.webkit.org/show_bug.cgi?id=132758
2144
2145         Unreviewed followup based on test failure.
2146
2147         * css/fullscreen.css: Append the previous rule - video children of fullscreen elements.
2148
2149 2014-05-09  Dean Jackson  <dino@apple.com>
2150
2151         [fullscreen] cursor should auto-hide when over video
2152         https://bugs.webkit.org/show_bug.cgi?id=132758
2153
2154         Reviewed by Brent Fulgham.
2155
2156         Cursors were not auto-hiding over fullscreen video. There was
2157         a small error in the CSS we load for fullscreen content.
2158
2159         * css/fullscreen.css: Don't hide when video is a child of the fullscreen element - hide when it *is* the fullscreen element.
2160         (video:-webkit-full-screen):
2161         (:-webkit-full-screen video:hover): Deleted.
2162
2163 2014-05-09  Zalan Bujtas  <zalan@apple.com>
2164
2165         Subpixel rendering[iOS]: Top bar on apple.com/support jiggles when the swoosh animates.
2166         https://bugs.webkit.org/show_bug.cgi?id=132750
2167         <rdar://problem/16803281>
2168
2169         Reviewed by Simon Fraser.
2170
2171         This patch ensures that GraphicsLayer and RemoteLayerBackingStore have the same dimensions.
2172         
2173         Remove integral enclosing when we set the size on RemoteLayerBackingStore. It makes the layer's size
2174         different from the backingstore when the passed value is fractional.
2175         We scale and integral round this value to size the shareable bitmap later. Rounding ensures that
2176         the final size value matches what we calculated at GraphicsLayerCA::updateGeometry()
2177
2178         Currently not testable.
2179
2180         * platform/graphics/ca/GraphicsLayerCA.cpp:
2181         (WebCore::GraphicsLayerCA::updateGeometry):
2182         (WebCore::GraphicsLayerCA::computePixelAlignment): include device scale factor to be able calculate the final content scale.
2183         * platform/graphics/ca/GraphicsLayerCA.h:
2184
2185 2014-05-09  Mark Hahnenberg  <mhahnenberg@apple.com>
2186
2187         JSDOMWindow should disable property caching after a certain point
2188         https://bugs.webkit.org/show_bug.cgi?id=132751
2189
2190         Reviewed by Filip Pizlo.
2191
2192         No new tests.
2193
2194         This is part of removing HasImpureGetOwnPropertySlot from JSDOMWindow. After the lookup in the static 
2195         hash table for JSDOMWindow fails we want to disable property caching even if the code that follows thinks 
2196         that it has provided a cacheable value.
2197
2198         * bindings/js/JSDOMWindowCustom.cpp:
2199         (WebCore::JSDOMWindow::getOwnPropertySlot):
2200
2201 2014-05-09  Benjamin Poulain  <bpoulain@apple.com>
2202
2203         Fix the export file after r168556
2204
2205         * WebCore.exp.in: I forgot to fix the export file before landing.
2206
2207 2014-05-09  Benjamin Poulain  <bpoulain@apple.com>
2208
2209         [iOS][WK2] Set up the resize events
2210         https://bugs.webkit.org/show_bug.cgi?id=132726
2211
2212         Reviewed by Darin Adler and Simon Fraser.
2213
2214         Let the WebKit2 layer override the size used for resize events.
2215
2216         * WebCore.exp.in:
2217         * page/FrameView.cpp:
2218         (WebCore::FrameView::layout):
2219         (WebCore::FrameView::sizeForResizeEvent):
2220         (WebCore::FrameView::sendResizeEventIfNeeded):
2221         (WebCore::FrameView::setCustomSizeForResizeEvent):
2222         * page/FrameView.h:
2223
2224 2014-05-09  Alexey Proskuryakov  <ap@apple.com>
2225
2226         REGRESSION (r168518): Multiple tests for workers in blobs assert
2227         https://bugs.webkit.org/show_bug.cgi?id=132728
2228
2229         Reviewed by Geoffrey Garen.
2230
2231         Change File serialization to include name, so that we don't have to regenerate anything
2232         on a secondary thread after deserialization.
2233
2234         Files and Blobs can't be stored persistently, because URLs are transient (IndexedDB
2235         has an explicit check, and fails if there were any blob URLs). API doesn't have the
2236         check, but given that anyone who tried to use these to serialize a File would fail,
2237         it seems OK to change the format.
2238
2239         * bindings/js/SerializedScriptValue.cpp:
2240         (WebCore::CloneSerializer::write):
2241         (WebCore::CloneDeserializer::readFile):
2242         * fileapi/File.cpp:
2243         (WebCore::File::File):
2244         * fileapi/File.h:
2245
2246 2014-05-08  Mark Hahnenberg  <mhahnenberg@apple.com>
2247
2248         JSDOMWindow should have a WatchpointSet to fire on window close
2249         https://bugs.webkit.org/show_bug.cgi?id=132721
2250
2251         Reviewed by Filip Pizlo.
2252
2253         No new tests.
2254
2255         This patch allows us to reset the inline caches that assumed they could skip 
2256         the first part of JSDOMWindow::getOwnPropertySlot that checks if the window has 
2257         been closed. This is part of getting rid of HasImpureGetOwnPropertySlot on JSDOMWindow.
2258
2259         JSDOMWindowBase now has a WatchpointSet that the underlying DOMWindow fires when its
2260         frame is cleared. In getOwnPropertySlot, we now pass this WatchpointSet to PropertySlot
2261         which will shepherd it back up to the code that generates the inline cache (and the 
2262         Watchpoint for clearing it).
2263
2264         * bindings/js/JSDOMWindowBase.cpp:
2265         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2266         (WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):
2267         * bindings/js/JSDOMWindowBase.h:
2268         * bindings/js/JSDOMWindowCustom.cpp:
2269         (WebCore::JSDOMWindow::getOwnPropertySlot):
2270         * page/DOMWindow.cpp:
2271         (WebCore::DOMWindow::frameDestroyed):
2272
2273 2014-05-09  Zsolt Borbely  <zsborbely.u-szeged@partner.samsung.com>
2274
2275         ASSERTION FAILED: object->style()->overflowX() == object->style()->overflowY()
2276         https://bugs.webkit.org/show_bug.cgi?id=121682
2277
2278         Reviewed by Dirk Schulze.
2279
2280         Add more overflow freedom to the SVG element:
2281         -overflow-x and overflow-y for controlling each scrollbar independently is now supported
2282         -overflow:scroll will display scrollbars regardless of the svg overflowing or not (as required by CSS)
2283         -overflow:hidden will cause overflow to be clipped away and scrollbars to be hidden
2284
2285         Merged from Blink r172126 by <ed@opera.com>
2286
2287         Tests: svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg
2288                svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg
2289                svg/animations/animate-viewport-overflow-2.html
2290                svg/animations/animate-viewport-overflow.html
2291                svg/in-html/overflow-repaint.html
2292                svg/in-html/overflow-svg-root-attr.html
2293                svg/in-html/overflow-svg-root-style.html
2294                svg/in-html/overflow-svg-root.html
2295                svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg
2296                svg/overflow/overflow-on-outermost-svg-element-vertical-auto.svg
2297                svg/overflow/overflow-scroll-on-outermost-svg-element.svg
2298                svg/overflow/overflow-x-hidden-on-outermost-svg-element-expected.svg
2299                svg/overflow/overflow-x-hidden-on-outermost-svg-element.svg
2300                svg/overflow/overflow-y-hidden-on-outermost-svg-element-expected.svg
2301                svg/overflow/overflow-y-hidden-on-outermost-svg-element.svg
2302
2303         * css/StyleResolver.cpp:
2304         (WebCore::StyleResolver::adjustRenderStyle):
2305         * page/FrameView.cpp:
2306         (WebCore::FrameView::applyOverflowToViewport):
2307         * rendering/svg/RenderSVGRoot.cpp:
2308         (WebCore::RenderSVGRoot::layout):
2309         (WebCore::RenderSVGRoot::shouldApplyViewportClip):
2310         (WebCore::RenderSVGRoot::paintReplaced):
2311         (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
2312         * rendering/svg/RenderSVGRoot.h:
2313         * rendering/svg/SVGRenderSupport.cpp:
2314         (WebCore::SVGRenderSupport::isOverflowHidden):
2315
2316 2014-05-09  Jer Noble  <jer.noble@apple.com>
2317
2318         [MSE][Mac] Destroy the AVStreamDataParser when the SourceBuffer is removed from its MediaSource.
2319         https://bugs.webkit.org/show_bug.cgi?id=132710
2320
2321         Reviewed by Eric Carlson.
2322
2323         The AVStreamDataParser should be destroyed when the SourceBuffer is removed, so that subsequent
2324         SourceBuffers can utilize resources released by the parser on destruction.
2325
2326         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
2327         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2328         (-[WebAVStreamDataParserListener invalidate]):
2329         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]):  Protect against _parent being invalidated.
2330         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto.
2331         (-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto.
2332         (-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto.
2333         (WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC): Call destroyParser();.
2334         (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Ditto.
2335         (WebCore::SourceBufferPrivateAVFObjC::destroyParser): Call -[WebAVStreamDataParserListener invalidate].
2336
2337 2014-05-09  Andrei Bucur  <abucur@adobe.com>
2338
2339         [CSS Regions] 1-2% performance regression in html5-full-render after r168286
2340         https://bugs.webkit.org/show_bug.cgi?id=132672
2341
2342         Reviewed by Mihnea Ovidenie.
2343
2344         The patch optimizes the search of regions when there's a single region in the chain.
2345         There's no need to execute advanced search logic, we can directly return that region.
2346
2347         Tests: No function change, no tests.
2348
2349         * rendering/RenderBlock.cpp:
2350         (WebCore::canComputeRegionRangeForBox):
2351         * rendering/RenderFlowThread.cpp:
2352         (WebCore::RenderFlowThread::regionAtBlockOffset):
2353         (WebCore::RenderFlowThread::hasCachedRegionRangeForBox): Renamed from hasRegionRangeForBox to
2354         better suggest what the function does.
2355         (WebCore::RenderFlowThread::getRegionRangeForBox):
2356         (WebCore::RenderFlowThread::hasRegionRangeForBox): Deleted.
2357         * rendering/RenderFlowThread.h:
2358
2359 2014-05-09  Jer Noble  <jer.noble@apple.com>
2360
2361         [EME] Call suspendIfNeeded() in the MediaKeySession create() method to avoid an ASSERT.
2362         https://bugs.webkit.org/show_bug.cgi?id=132712
2363
2364         Reviewed by Eric Carlson.
2365
2366         All ActiveDOMObject subclasses must call suspendIfNeeded() immediately after creation.
2367
2368         * Modules/encryptedmedia/MediaKeySession.cpp:
2369         (WebCore::MediaKeySession::MediaKeySession):
2370
2371 2014-05-09  Zalan Bujtas  <zalan@apple.com>
2372
2373         Unreviewed. Another attempt to fix Windows build after r168528.
2374
2375         * platform/graphics/win/FontWin.cpp:
2376         (WebCore::Font::adjustSelectionRectForComplexText):
2377
2378 2014-05-09  Zalan Bujtas  <zalan@apple.com>
2379
2380         Unreviewed build fix for Win after r168528.
2381
2382         * platform/graphics/win/FontWin.cpp:
2383         (WebCore::Font::adjustSelectionRectForComplexText):
2384
2385 2014-05-09  Zalan Bujtas  <zalan@apple.com>
2386
2387         REGRESSION (r168095): 1-pixel gap between adjacent selection inlines
2388         https://bugs.webkit.org/show_bug.cgi?id=132474
2389         <rdar://problem/16797394>
2390
2391         Reviewed by David Hyatt.
2392
2393         This patch changes text selection rectangle calculation from integral to device
2394         pixel snapping. It ensures that selection rect painting matches box boundaries for inline elements.
2395         Directional rounding (horizontal only atm) is moved out from Font class and now accessible
2396         to all the painting code. RTL snapping strategy is changed from floor to round to match ltr behavior.
2397         However this patch does not address all the integral snapping across inline elements. There are
2398         a few places where we still calculate enclosing rects where snapping is sufficient.
2399
2400         Test: fast/inline/hidpi-pixel-gap-between-adjacent-selection-inlines.html
2401
2402         * platform/LayoutUnit.h:
2403         (WebCore::roundToDevicePixel): added fudge factor to change rounding direction as directed.
2404         * platform/graphics/Font.cpp:
2405         (WebCore::Font::adjustSelectionRectForText):
2406         (WebCore::Font::selectionRectForText): Deleted.
2407         * platform/graphics/Font.h:
2408         * platform/graphics/FontFastPath.cpp:
2409         (WebCore::Font::adjustSelectionRectForSimpleText): removed directional rounding.
2410         (WebCore::Font::selectionRectForSimpleText): Deleted.
2411         * platform/graphics/GraphicsContext.cpp:
2412         (WebCore::GraphicsContext::drawHighlightForText): Deleted.
2413         * platform/graphics/GraphicsContext.h:
2414         * platform/graphics/LayoutPoint.h:
2415         (WebCore::roundedForPainting):
2416         * platform/graphics/LayoutRect.h:
2417         (WebCore::directionalPixelSnappedForPainting): Snap top right corner for rtl direction.
2418         * platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
2419         (WebCore::Font::adjustSelectionRectForComplexText):
2420         (WebCore::Font::selectionRectForComplexText): Deleted.
2421         * platform/graphics/mac/FontComplexTextMac.cpp:
2422         (WebCore::Font::adjustSelectionRectForComplexText): removed directional rounding.
2423         (WebCore::Font::selectionRectForComplexText): Deleted.
2424         * platform/graphics/win/FontWin.cpp:
2425         (WebCore::Font::adjustSelectionRectForComplexText):
2426         (WebCore::Font::selectionRectForComplexText): Deleted.
2427         * rendering/EllipsisBox.cpp:
2428         (WebCore::EllipsisBox::selectionRect):
2429         (WebCore::EllipsisBox::paintSelection):
2430         * rendering/InlineTextBox.cpp:
2431         (WebCore::integralEnclosingRectForSelection): helper to address enclosing empty rect problem.
2432         (WebCore::InlineTextBox::localSelectionRect):
2433         (WebCore::InlineTextBox::paintSelection):
2434         (WebCore::InlineTextBox::paintCompositionBackground):
2435         (WebCore::InlineTextBox::paintDocumentMarker):
2436         (WebCore::InlineTextBox::paintTextMatchMarker):
2437         (WebCore::InlineTextBox::computeRectForReplacementMarker):
2438         (WebCore::InlineTextBox::positionForOffset):
2439         * rendering/svg/SVGInlineTextBox.cpp:
2440         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
2441
2442 2014-05-09  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
2443
2444         ASSERTION FAILED: !m_code || m_code == defaultExceptionCode
2445         in WebCore::constructQualifiedName
2446         https://bugs.webkit.org/show_bug.cgi?id=132343
2447
2448         'Remove bad assertion in SVGSMILElement's constructQualifiedName() by passing
2449         IGNORE_EXCEPTION instead ASSERT_NO_EXCEPTION to Document::parseQualifiedName().
2450         The constructQualifiedName() function handles parseQualifiedName() failures
2451         propertly by returning early so there is no reason to assert on parsing
2452         failures.'
2453
2454         Blink merge: http://src.chromium.org/viewvc/blink?view=revision&revision=173564
2455         Based on the patch made by Christophe Dumez <ch.dumez@samsung.com>.
2456
2457         Reviewed by Dirk Schulze.
2458
2459         Test: svg/custom/bad-attributeName-crash.html
2460
2461         * svg/animation/SVGSMILElement.cpp:
2462         (WebCore::constructQualifiedName):
2463
2464 2014-05-08  Brent Fulgham  <bfulgham@apple.com>
2465
2466         Multiple (stacked) cues when shuttling through video while playing closed captions
2467         https://bugs.webkit.org/show_bug.cgi?id=132715
2468         <rdar://problem/16795782>
2469
2470         Reviewed by Eric Carlson.
2471
2472         Tests: media/track/track-in-band-cues-added-once.html
2473
2474         * html/track/TextTrack.cpp:
2475         (WebCore::TextTrack::hasCue): Revise to use a relaxed time equality.
2476         * html/track/TextTrackCue.cpp:
2477         (WebCore::TextTrackCue::isEqual): Ditto.
2478         (WebCore::TextTrackCue::hasEquivalentStartTime): Added.
2479         * html/track/TextTrackCue.h:
2480         (WebCore::TextTrackCue::startTimeVariance): Added.
2481         * html/track/TextTrackCueGeneric.h:
2482         * html/track/TextTrackCueGeneric.cpp:
2483         (WebCore::TextTrackCueGeneric::isEqual): Do not call the VTTCue::isEqual method from
2484         this class, since cueType() will not equal VTTCue, and the equality will fail.
2485
2486 2014-05-08  Alexey Proskuryakov  <ap@apple.com>
2487
2488         Automatically zip document bundles used via File API
2489         https://bugs.webkit.org/show_bug.cgi?id=132713
2490         <rdar://problem/13397892>
2491
2492         Reviewed by Anders Carlsson.
2493
2494         Tests: fast/files/filereader-zip-bundle.html
2495                http/tests/local/fileapi/upload-zip-bundle-as-blob.html
2496
2497         * FileMac.mm: Added.
2498         (WebCore::File::shouldReplaceFile):
2499         (WebCore::File::computeNameAndContentTypeForReplacedFile):
2500         Added code that decides what to do with a bundle. We need this to happen in
2501         WebProcess, because HTML5 dropzone depends on this, it needs to know file type
2502         even before a File object can be created.
2503
2504         * WebCore.exp.in: Export new functions.
2505
2506         * WebCore.xcodeproj/project.pbxproj: Added new files.
2507
2508         * dom/DataTransfer.cpp: (WebCore::DataTransfer::hasFileOfType): Updated for File
2509         interface change.
2510
2511         * fileapi/File.h:
2512         * fileapi/File.cpp:
2513         (WebCore::File::File):
2514         (WebCore::File::computeNameAndContentType):
2515         (WebCore::File::contentTypeForFile):
2516         (WebCore::File::contentTypeFromFilePathOrName): Deleted.
2517         Make it possible for a subclass to affect file name and content type calculation.
2518
2519         * platform/network/BlobDataFileReference.cpp:
2520         (WebCore::BlobDataFileReference::BlobDataFileReference):
2521         (WebCore::BlobDataFileReference::~BlobDataFileReference):
2522         (WebCore::BlobDataFileReference::path):
2523         (WebCore::BlobDataFileReference::size):
2524         (WebCore::BlobDataFileReference::expectedModificationTime):
2525         (WebCore::BlobDataFileReference::startTrackingModifications):
2526         * platform/network/BlobDataFileReference.h:
2527         (WebCore::BlobDataFileReference::path): Deleted.
2528         (WebCore::BlobDataFileReference::BlobDataFileReference): Deleted.
2529         Use original or replaced file, as appropriate. 
2530
2531         * platform/network/mac/BlobDataFileReferenceMac.mm: Added.
2532         (WebCore::BlobDataFileReference::generateReplacementFile): Implements generateReplacementFile().
2533
2534         * platform/network/FormData.h: Added a FIXME.
2535
2536         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Always use Blob code path
2537         for blobs, don't unwrap them into a file path.
2538
2539 2014-05-08  Simon Fraser  <simon.fraser@apple.com>
2540
2541         Occasional crash under AsyncScrollingCoordinator::frameViewRootLayerDidChange() on history navigation
2542         https://bugs.webkit.org/show_bug.cgi?id=132723
2543
2544         Reviewed by Sam Weinig.
2545         
2546         Crash reports suggest that when we call AsyncScrollingCoordinator::frameViewRootLayerDidChange()
2547         from HistoryController::restoreScrollPositionAndViewState(), the FrameView may not have a 
2548         scrolling node ID, which suggests that either the FrameView doesn't have a RenderView,
2549         or compositing hasn't happened yet.
2550         
2551         So if we enter AsyncScrollingCoordinator::frameViewRootLayerDidChange()
2552         and the FrameView has no scrollLayerID, just return. We'll fix things up
2553         when compositing kicks in later.
2554
2555         * page/scrolling/AsyncScrollingCoordinator.cpp:
2556         (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
2557
2558 2014-05-08  Simon Fraser  <simon.fraser@apple.com>
2559
2560         [iOS WK2] Bottom-relative position:fixed elements are misplaced on page load
2561         https://bugs.webkit.org/show_bug.cgi?id=132719
2562         <rdar://problem/16860837>
2563
2564         Reviewed by Benjamin Poulain.
2565
2566         Add a couple of functions, and sort.
2567
2568         * WebCore.exp.in:
2569
2570 2014-05-08  Jer Noble  <jer.noble@apple.com>
2571
2572         [Mac, iOS] Add source application accounting to AVURLAsset.
2573         https://bugs.webkit.org/show_bug.cgi?id=132637
2574
2575         Reviewed by Eric Carlson.
2576
2577         Properly account for the application responisble for data loading by passing the source
2578         application identifier through to AVFoundation through AVURLAsset options.
2579
2580         * html/HTMLMediaElement.cpp:
2581         (WebCore::HTMLMediaElement::parseAttribute):
2582         * html/HTMLMediaElement.h:
2583         * platform/graphics/MediaPlayer.cpp:
2584         (WebCore::MediaPlayer::sourceApplicationIdentifier):
2585         * platform/graphics/MediaPlayer.h:
2586         (WebCore::MediaPlayerClient::mediaPlayerSourceApplicationIdentifier):
2587         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2588         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
2589         * platform/network/NetworkingContext.h:
2590
2591 2014-05-08  Jer Noble  <jer.noble@apple.com>
2592
2593         [MSE][Mac] Move AVStreamDataParser off-main-thread.
2594         https://bugs.webkit.org/show_bug.cgi?id=132698
2595
2596         Reviewed by Eric Carlson.
2597
2598         -[AVStreamDataParser appendStreamData:] can casue the main thread to hang when a
2599         large amount of media data is appended at once. Move the actual parsing of data
2600         to a background (synchronous) dispatch queue, and split SourceBuffer::appendBufferTimerFired
2601         into two functions, the latter of which will be called after the background queue
2602         completes.
2603
2604         * Modules/mediasource/SourceBuffer.cpp:
2605         (WebCore::SourceBuffer::appendBufferTimerFired): Split into sourceBufferPrivateAppendComplete.
2606         (WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Split from appendBufferTimerFired.
2607         * Modules/mediasource/SourceBuffer.h:
2608         * platform/graphics/SourceBufferPrivate.h:
2609         * platform/graphics/SourceBufferPrivateClient.h:
2610         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
2611         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2612         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]): Re-dispatch to the
2613                 web thread.
2614         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto.
2615         (-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto.
2616         (-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto.
2617         (-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]): Ditto.
2618         (-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]): Ditto.
2619         (WebCore::globalDataParserQueue): Added.
2620         (WebCore::SourceBufferPrivateAVFObjC::append): Dispatch to the globalDataParserQueue.
2621         (WebCore::SourceBufferPrivateAVFObjC::appendCompleted): Added.
2622         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
2623         (WebCore::MockSourceBufferPrivate::append): Adopt sourceBufferPrivateAppendComplete.
2624         * platform/mock/mediasource/MockSourceBufferPrivate.h:
2625
2626         Update SourceBufferPrivateGStreamer to match the new append return value:
2627         * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp:
2628         (WebCore::SourceBufferPrivateGStreamer::append):
2629         * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h:
2630
2631 2014-05-08  Commit Queue  <commit-queue@webkit.org>
2632
2633         Unreviewed, rolling out r168498.
2634         https://bugs.webkit.org/show_bug.cgi?id=132714
2635
2636         broke Mavericks WK2 (Requested by litherum on #webkit).
2637
2638         Reverted changeset:
2639
2640         "http/tests/security/xss-DENIED-xsl-document-redirect.xml
2641         fails with NetworkProcess"
2642         https://bugs.webkit.org/show_bug.cgi?id=132523
2643         http://trac.webkit.org/changeset/168498
2644
2645 2014-05-08  Myles C. Maxfield  <mmaxfield@apple.com>
2646
2647         http/tests/security/xss-DENIED-xsl-document-redirect.xml fails with NetworkProcess
2648         https://bugs.webkit.org/show_bug.cgi?id=132523
2649
2650         Reviewed by Alexey Proskuryakov.
2651
2652         We should not manufacture a response in the event of an error during a
2653         synchronous XHR. In addition, this test removes one place that is
2654         sensitive to such a manufactured response.
2655
2656         Updates test expectations.
2657
2658         * platform/network/cf/ResourceHandleCFNet.cpp:
2659         (WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not
2660         manufacture a response
2661         * platform/network/mac/ResourceHandleMac.mm:
2662         (WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not
2663         manufacture a response
2664         * xml/XSLTProcessorLibxslt.cpp:
2665         (WebCore::docLoaderFunc): Only use the response's URL if no error
2666         occurred.
2667
2668 2014-05-08  Andreas Kling  <akling@apple.com>
2669
2670         [iOS] WebKit should listen to critical memory warnings.
2671         <https://webkit.org/b/132704>
2672         <rdar://problem/16857112>
2673
2674         Listen for DISPATCH_MEMORYSTATUS_PRESSURE_CRITICAL in addition to
2675         DISPATCH_MEMORYSTATUS_PRESSURE_WARN, since we may only get the critical
2676         notification on some systems.
2677
2678         Reviewed by Gavin Barraclough.
2679
2680         * platform/cocoa/MemoryPressureHandlerCocoa.mm:
2681         (WebCore::MemoryPressureHandler::install):
2682
2683 2014-05-08  Joseph Pecoraro  <pecoraro@apple.com>
2684
2685         Web Inspector: InspectorDOMAgent::getAccessibilityPropertiesForNode should gracefully handle bad node
2686         https://bugs.webkit.org/show_bug.cgi?id=132697
2687
2688         Reviewed by Timothy Hatcher.
2689
2690         * inspector/InspectorDOMAgent.cpp:
2691         (WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
2692         Gracefully handle no node.
2693
2694 2014-05-08  Tim Horton  <timothy_horton@apple.com>
2695
2696         Fix the iOS build after r168476.
2697
2698         * platform/graphics/mac/GraphicsContextMac.mm:
2699         (WebCore::GraphicsContext::drawFocusRing):
2700
2701 2014-05-08  Bem Jones-Bey  <bjonesbe@adobe.com>
2702
2703         [CSS Shapes] Shapes do not resolve dimensions specified in viewport units
2704         https://bugs.webkit.org/show_bug.cgi?id=124052
2705
2706         Reviewed by Dirk Schulze.
2707
2708         Viewport unit resolution doesn't work unless the RenderView is passed
2709         down into the floatValueForLength methods. All this does is plumb down
2710         a RenderView in all of these cases.
2711
2712         Tests: css3/masking/clip-path-polygon-viewport-units.html
2713                fast/shapes/shape-outside-floats/shape-outside-floats-viewport-units.html
2714
2715         * css/BasicShapeFunctions.cpp:
2716         (WebCore::floatValueForCenterCoordinate):
2717         * css/BasicShapeFunctions.h:
2718         * css/LengthFunctions.cpp:
2719         (WebCore::floatSizeForLengthSize):
2720         * css/LengthFunctions.h:
2721         * rendering/ClipPathOperation.h:
2722         (WebCore::ShapeClipPathOperation::pathForReferenceRect):
2723         (WebCore::BoxClipPathOperation::pathForReferenceRect):
2724         * rendering/RenderLayer.cpp:
2725         (WebCore::RenderLayer::setupClipPath):
2726         * rendering/shapes/Shape.cpp:
2727         (WebCore::Shape::createShape):
2728         * rendering/shapes/Shape.h:
2729         * rendering/shapes/ShapeOutsideInfo.cpp:
2730         (WebCore::ShapeOutsideInfo::computedShape):
2731         * rendering/style/BasicShapes.cpp:
2732         (WebCore::BasicShapeCircle::floatValueForRadiusInBox):
2733         (WebCore::BasicShapeCircle::path):
2734         (WebCore::BasicShapeEllipse::floatValueForRadiusInBox):
2735         (WebCore::BasicShapeEllipse::path):
2736         (WebCore::BasicShapePolygon::path):
2737         (WebCore::floatSizeForLengthSize):
2738         (WebCore::BasicShapeInset::path):
2739         * rendering/style/BasicShapes.h:
2740         * rendering/svg/SVGRenderingContext.cpp:
2741         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
2742
2743 2014-05-08  Brent Fulgham  <bfulgham@apple.com>
2744
2745         Cue display events may not be registered during page load.
2746         https://bugs.webkit.org/show_bug.cgi?id=132696
2747         <rdar://problem/16652874>
2748
2749         Reviewed by Eric Carlson.
2750
2751         * Modules/mediacontrols/mediaControlsApple.js:
2752         (Controller.prototype.handleTextTrackAdd): Don't register
2753         for 'cuechange' events anymore.
2754         (Controller.prototype.handleTextTrackRemove): Ditto.
2755         (Controller.prototype.updateCaptionContainer): Reduce CSS
2756         churn by not adding/removing 'Hidden' class every time a
2757         new cue is processed. Only do this when transitioning
2758         track display state.
2759         (Controller.prototype.handleTextTrackCueChange): Deleted.
2760         * html/HTMLMediaElement.cpp:
2761         (WebCore::HTMLMediaElement::updateTextTrackDisplay): Call
2762         'updateTextTrackContainer' directory when processing cues,
2763         rather than trampolining through the JS layer.
2764
2765 2014-05-08  Alexey Proskuryakov  <ap@apple.com>
2766
2767         Make BlobDataFileReference manage its sandbox extension
2768         https://bugs.webkit.org/show_bug.cgi?id=132689
2769
2770         Reviewed by Anders Carlsson.
2771
2772         * WebCore.exp.in: Export symbols that are now needed in WebKit2 to subclass BlobDataFileReference.
2773
2774         * fileapi/ThreadableBlobRegistry.cpp: (WebCore::ThreadableBlobRegistry::registerFileBlobURL):
2775         * platform/network/BlobData.cpp: (WebCore::BlobData::appendFile):
2776         * platform/network/BlobData.h: (WebCore::BlobDataItem::BlobDataItem):
2777         * platform/network/BlobRegistry.h:
2778         * platform/network/BlobRegistryImpl.cpp: (WebCore::BlobRegistryImpl::registerFileBlobURL):
2779         * platform/network/BlobRegistryImpl.h:
2780         BlobRegistry now takes a BlobDataFileReference and not a path, so that WebKit2
2781         could pass objects that include sandbox extensions.
2782
2783         * platform/network/BlobDataFileReference.h:
2784         * platform/network/BlobDataFileReference.cpp:
2785         (WebCore::BlobDataFileReference::~BlobDataFileReference): Added a virtual destructor.
2786         (WebCore::BlobDataFileReference::size): We now record the size and modification time right away, no need to lazily calculate them.
2787         (WebCore::BlobDataFileReference::expectedModificationTime): Ditto.
2788         (WebCore::BlobDataFileReference::startTrackingModifications): Record time and size
2789         (since it's a single call). However, size calculation will become complicated again soon.
2790         (WebCore::BlobDataFileReference::prepareForFileAccess): A hook for subclasses.
2791         (WebCore::BlobDataFileReference::revokeFileAccess): Ditto.
2792         (WebCore::BlobDataFileReference::computeFileSystemData): Deleted.
2793
2794 2014-05-08  Rik Cabanier  <cabanier@adobe.com>
2795
2796         Add support for drawFocusIfNeeded
2797         https://bugs.webkit.org/show_bug.cgi?id=132584
2798
2799         Reviewed by Dirk Schulze.
2800
2801         The drawFocusIfNeeded API will draw a focus ring if the element that is passed
2802         in is focused and a child element of the canvas.
2803
2804         Test: fast/canvas/draw-focus-if-needed.html
2805
2806         * html/canvas/CanvasRenderingContext2D.cpp:
2807         (WebCore::CanvasRenderingContext2D::drawFocusIfNeeded):
2808         * html/canvas/CanvasRenderingContext2D.h:
2809         * html/canvas/CanvasRenderingContext2D.idl:
2810
2811 2014-05-08  Antti Koivisto  <antti@apple.com>
2812
2813         [iOS WebKit2] Can't activate text fields on Facebook
2814         https://bugs.webkit.org/show_bug.cgi?id=132682
2815
2816         Reviewed by Enrica Casucci.
2817
2818         * page/DOMTimer.cpp:
2819         (WebCore::DOMTimer::fired):
2820         
2821             The isDocument() test here had reversed in the merge breaking content change observer callback.
2822
2823 2014-05-07  Sergio Villar Senin  <svillar@igalia.com>
2824
2825         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in svg/
2826         https://bugs.webkit.org/show_bug.cgi?id=132647
2827
2828         Reviewed by Darin Adler.
2829
2830         * svg/SVGAElement.cpp:
2831         (WebCore::SVGAElement::isSupportedAttribute):
2832         * svg/SVGAnimateMotionElement.cpp:
2833         (WebCore::SVGAnimateMotionElement::isSupportedAttribute):
2834         * svg/SVGAnimateTransformElement.cpp:
2835         (WebCore::SVGAnimateTransformElement::isSupportedAttribute):
2836         * svg/SVGAnimatedLength.cpp:
2837         (WebCore::sharedSVGLength):
2838         * svg/SVGAnimationElement.cpp:
2839         (WebCore::SVGAnimationElement::isSupportedAttribute):
2840         * svg/SVGCircleElement.cpp:
2841         (WebCore::SVGCircleElement::isSupportedAttribute):
2842         * svg/SVGClipPathElement.cpp:
2843         (WebCore::SVGClipPathElement::isSupportedAttribute):
2844         * svg/SVGComponentTransferFunctionElement.cpp:
2845         (WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
2846         * svg/SVGCursorElement.cpp:
2847         (WebCore::SVGCursorElement::isSupportedAttribute):
2848         * svg/SVGElement.cpp:
2849         (WebCore::SVGElement::instancesForElement):
2850         (WebCore::SVGElement::childShouldCreateRenderer):
2851         * svg/SVGEllipseElement.cpp:
2852         (WebCore::SVGEllipseElement::isSupportedAttribute):
2853         * svg/SVGFEBlendElement.cpp:
2854         (WebCore::SVGFEBlendElement::isSupportedAttribute):
2855         * svg/SVGFEColorMatrixElement.cpp:
2856         (WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
2857         * svg/SVGFEComponentTransferElement.cpp:
2858         (WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
2859         * svg/SVGFECompositeElement.cpp:
2860         (WebCore::SVGFECompositeElement::isSupportedAttribute):
2861         * svg/SVGFEConvolveMatrixElement.cpp:
2862         (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
2863         * svg/SVGFEDiffuseLightingElement.cpp:
2864         (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
2865         * svg/SVGFEDisplacementMapElement.cpp:
2866         (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
2867         * svg/SVGFEDropShadowElement.cpp:
2868         (WebCore::SVGFEDropShadowElement::isSupportedAttribute):
2869         * svg/SVGFEGaussianBlurElement.cpp:
2870         (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
2871         * svg/SVGFEImageElement.cpp:
2872         (WebCore::SVGFEImageElement::isSupportedAttribute):
2873         * svg/SVGFELightElement.cpp:
2874         (WebCore::SVGFELightElement::isSupportedAttribute):
2875         * svg/SVGFEMergeNodeElement.cpp:
2876         (WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
2877         * svg/SVGFEMorphologyElement.cpp:
2878         (WebCore::SVGFEMorphologyElement::isSupportedAttribute):
2879         * svg/SVGFEOffsetElement.cpp:
2880         (WebCore::SVGFEOffsetElement::isSupportedAttribute):
2881         * svg/SVGFESpecularLightingElement.cpp:
2882         (WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
2883         * svg/SVGFETileElement.cpp:
2884         (WebCore::SVGFETileElement::isSupportedAttribute):
2885         * svg/SVGFETurbulenceElement.cpp:
2886         (WebCore::SVGFETurbulenceElement::isSupportedAttribute):
2887         * svg/SVGFilterElement.cpp:
2888         (WebCore::SVGFilterElement::isSupportedAttribute):
2889         (WebCore::SVGFilterElement::childShouldCreateRenderer):
2890         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2891         (WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
2892         * svg/SVGForeignObjectElement.cpp:
2893         (WebCore::SVGForeignObjectElement::isSupportedAttribute):
2894         * svg/SVGGElement.cpp:
2895         (WebCore::SVGGElement::isSupportedAttribute):
2896         * svg/SVGGradientElement.cpp:
2897         (WebCore::SVGGradientElement::isSupportedAttribute):
2898         * svg/SVGGraphicsElement.cpp:
2899         (WebCore::SVGGraphicsElement::isSupportedAttribute):
2900         * svg/SVGImageElement.cpp:
2901         (WebCore::SVGImageElement::isSupportedAttribute):
2902         * svg/SVGLength.cpp:
2903         (WebCore::SVGLength::lengthModeForAnimatedLengthAttribute):
2904         * svg/SVGLineElement.cpp:
2905         (WebCore::SVGLineElement::isSupportedAttribute):
2906         * svg/SVGLinearGradientElement.cpp:
2907         (WebCore::SVGLinearGradientElement::isSupportedAttribute):
2908         * svg/SVGMPathElement.cpp:
2909         (WebCore::SVGMPathElement::isSupportedAttribute):
2910         * svg/SVGMarkerElement.cpp:
2911         (WebCore::SVGMarkerElement::isSupportedAttribute):
2912         * svg/SVGMaskElement.cpp:
2913         (WebCore::SVGMaskElement::isSupportedAttribute):
2914         * svg/SVGPathElement.cpp:
2915         (WebCore::SVGPathElement::isSupportedAttribute):
2916         * svg/SVGPatternElement.cpp:
2917         (WebCore::SVGPatternElement::isSupportedAttribute):
2918         * svg/SVGPolyElement.cpp:
2919         (WebCore::SVGPolyElement::isSupportedAttribute):
2920         * svg/SVGRadialGradientElement.cpp:
2921         (WebCore::SVGRadialGradientElement::isSupportedAttribute):
2922         * svg/SVGRectElement.cpp:
2923         (WebCore::SVGRectElement::isSupportedAttribute):
2924         * svg/SVGScriptElement.cpp:
2925         (WebCore::SVGScriptElement::isSupportedAttribute):
2926         * svg/SVGStopElement.cpp:
2927         (WebCore::SVGStopElement::isSupportedAttribute):
2928         * svg/SVGStyleElement.cpp:
2929         (WebCore::SVGStyleElement::isSupportedAttribute):
2930         * svg/SVGSymbolElement.cpp:
2931         (WebCore::SVGSymbolElement::isSupportedAttribute):
2932         * svg/SVGTRefElement.cpp:
2933         (WebCore::SVGTRefElement::isSupportedAttribute):
2934         * svg/SVGTests.cpp:
2935         (WebCore::SVGTests::attributeToPropertyMap):
2936         * svg/SVGTextContentElement.cpp:
2937         (WebCore::SVGTextContentElement::textLengthAnimated):
2938         (WebCore::SVGTextContentElement::isSupportedAttribute):
2939         * svg/SVGTextPathElement.cpp:
2940         (WebCore::SVGTextPathElement::isSupportedAttribute):
2941         * svg/SVGTextPositioningElement.cpp:
2942         (WebCore::SVGTextPositioningElement::isSupportedAttribute):
2943         * svg/SVGUseElement.cpp:
2944         (WebCore::SVGUseElement::isSupportedAttribute):
2945         (WebCore::isDisallowedElement):
2946         * svg/SVGViewElement.cpp:
2947         (WebCore::SVGViewElement::isSupportedAttribute):
2948
2949 2014-05-08  Ion Rosca  <rosca@adobe.com>
2950
2951         [CSS Blending] Replacing Unisolated with NotIsolated in variables and methods names
2952         https://bugs.webkit.org/show_bug.cgi?id=132677
2953
2954         Reviewed by Dirk Schulze.
2955
2956         No new tests required.
2957
2958         * rendering/RenderLayer.cpp:
2959         (WebCore::RenderLayer::RenderLayer):
2960         (WebCore::RenderLayer::updateAncestorChainHasBlendingDescendants):
2961         (WebCore::RenderLayer::dirtyAncestorChainHasBlendingDescendants):
2962         (WebCore::RenderLayer::updateDescendantDependentFlags):
2963         hasUnisolatedBlendingDescendants -> hasNotIsolatedBlendingDescendants
2964         (WebCore::RenderLayer::addChild):
2965         (WebCore::RenderLayer::removeChild):
2966         (WebCore::RenderLayer::updateStackingContextsAfterStyleChange):
2967         * rendering/RenderLayer.h:
2968         m_hasUnisolatedBlendingDescendants -> m_hasNotIsolatedBlendingDescendants
2969         m_hasUnisolatedBlendingDescendantsStatusDirty -> m_hasNotIsolatedBlendingDescendantsStatusDirty
2970         hasUnisolatedBlendingDescendants() -> hasNotIsolatedBlendingDescendants()
2971         hasUnisolatedBlendingDescendantsStatusDirty() -> hasNotIsolatedBlendingDescendantsStatusDirty()
2972         m_hasUnisolatedCompositedBlendingDescendants -> m_hasNotIsolatedCompositedBlendingDescendants
2973         hasUnisolatedCompositedBlendingDescendants() -> hasNotIsolatedCompositedBlendingDescendants()
2974         setHasUnisolatedCompositedBlendingDescendants() -> setHasNotIsolatedCompositedBlendingDescendants
2975         * rendering/RenderLayerCompositor.cpp:
2976         (WebCore::CompositingState::CompositingState):
2977         m_hasUnisolatedCompositedBlendingDescendants -> m_hasNotIsolatedCompositedBlendingDescendants
2978         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2979
2980 2014-05-08  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2981
2982         [GTK] Enable skipped http/tests/media/hls/video-controls-live-stream.html
2983         https://bugs.webkit.org/show_bug.cgi?id=132329
2984
2985         Reviewed by Eric Carlson.
2986
2987         GTK port needed to define what happened with live stream media
2988         controls. Now we disable and dim the timeline and tweak the
2989         timers.
2990
2991         Test: http/tests/media/hls/video-controls-live-stream.html.
2992
2993         * Modules/mediacontrols/mediaControlsGtk.js:
2994         (ControllerGtk.prototype.configureControls): Moved logic from
2995         setControlsType and changed to use an early return.
2996         (ControllerGtk.prototype.reconnectControls): Redefined to just
2997         configure the controls.
2998         (ControllerGtk.prototype.handlePlay): If stream is live we don't
2999         activate the current time just in case.
3000         (ControllerGtk.prototype.updateDuration): Calls the superclass and
3001         sets timeline.max to 0.
3002         (ControllerGtk.prototype.setControlsType): Deleted.
3003         (ControllerGtk.prototype.setIsLive): Configures controls and
3004         disables the timeline if stream is live.
3005         * css/mediaControlsGtk.css:
3006         (audio::-webkit-media-controls-timeline[disabled])
3007         (video::-webkit-media-controls-timeline[disabled]): Dimmed the
3008         timeline by setting opacity to 0.3.
3009
3010 2014-05-08  Ion Rosca  <rosca@adobe.com>
3011
3012         [CSS Blending] Changing isolation CSS property should not trigger repaint in RenderStyle::changeRequiresLayerRepaint
3013         https://bugs.webkit.org/show_bug.cgi?id=131436
3014
3015         Reviewed by Dirk Schulze.
3016
3017         The isolation:isolate property will create a stacking context. This is done in
3018         StyleResolver::adjustRenderStyle where z-index is forced to 0.
3019         If the element is already a stacking context for any other reason,
3020         changing the isolation flag should not have any effect.
3021
3022         Tests: css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html
3023                css3/blending/repaint/blend-mode-turn-off-isolation.html
3024
3025         * rendering/style/RenderStyle.cpp:
3026         (WebCore::RenderStyle::changeRequiresLayerRepaint):
3027         do not request repaint if isolation has changed.
3028
3029 2014-05-08  Manuel Rego Casasnovas  <rego@igalia.com>
3030
3031         REGRESSION (r167652): SelectionState is not set properly for non leaf objects in pages with regions
3032         https://bugs.webkit.org/show_bug.cgi?id=132493
3033
3034         Reviewed by David Hyatt.
3035
3036         Non selection leaf elements were not included in the selection ranges,
3037         that was causing that their selection state was not set properly and
3038         when one of the element was removed as it was marked as SelectionNone
3039         current selection was not removed.
3040
3041         Due to this fix, the regression detected in bug #131982 arose again.
3042         Reverted changes from r167675 and reopened bug as previous fix was not
3043         right. Updated TestExpectations accordingly.
3044
3045         Test: fast/regions/selection/crash-select-all.html
3046
3047         * rendering/RenderView.cpp:
3048         (WebCore::RenderView::splitSelectionBetweenSubtrees): We need to include
3049         non selection leafs in the range, otherwise we won't be marking
3050         selection state of some elements properly.
3051
3052 2014-05-08  Zoltan Horvath  <zoltan@webkit.org>
3053
3054         [CSS Shapes] Can't select content within the area of the floating box when clip-path is applied
3055         https://bugs.webkit.org/show_bug.cgi?id=131375
3056
3057         Reviewed by Dirk Schulze.
3058
3059         According to http://www.w3.org/TR/css-masking-1/, the clipped part of the element should
3060         not have pointer event dispatching. So add this logic to RenderBlock::nodeAtPoint. This
3061         fixes the bug as it disallows selection on any clipped parts.
3062
3063         I implemented the proper selection for the various CSS box types and added testing
3064         for them. Also, I made and run performance tests for exposing mouse events over the
3065         clipped/non-clipped area, which results can be seen in bugzilla.
3066
3067         Based on the patch made by Rob Buis <rob.buis@samsung.com>
3068         Blink revision: http://src.chromium.org/viewvc/blink?view=revision&revision=172619
3069
3070         Tests: fast/masking/clip-path-selection.html
3071                fast/shapes/shape-outside-floats/shape-outside-clip-path-selection.html
3072
3073         * rendering/RenderBlock.cpp:
3074         (WebCore::RenderBlock::nodeAtPoint):
3075
3076 2014-05-07  Ion Rosca  <rosca@adobe.com>
3077
3078         [CSS Blending] Blending doesn't work if the parent stacking context is not a self painting layer
3079         https://bugs.webkit.org/show_bug.cgi?id=130891
3080
3081         Reviewed by Dean Jackson.
3082
3083         The stacking context layers having unisolated blending descendants should be able
3084         to create transparency layers or to become composited in order to restrict blending 
3085         content to accessing the information outside the current stacking context.
3086         Some layers are not self painting layers and these layers cannot crate transparency
3087         layers and cannot be composited, thus they are not able to isolate blending descendants
3088         when it's required.
3089         
3090         The solution in this patch is to make a layer isSelfPaintingLayer when
3091         it needs to isolate blending descendants (hasUnisolatedBlendingDescendants).
3092
3093         Tests: css3/blending/blend-mode-isolation-accelerated-overflow-hidden.html
3094                css3/blending/blend-mode-isolation-overflow-hidden.html
3095                css3/blending/blend-mode-isolation-turn-off-self-painting-layer.html
3096                css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html
3097                css3/blending/blend-mode-isolation-turn-off-self-painting-layer2.html
3098                css3/blending/blend-mode-isolation-turn-on-self-painting-layer.html
3099
3100         * rendering/RenderLayer.cpp:
3101         (WebCore::RenderLayer::updateAncestorChainHasBlendingDescendants):
3102         When hasUnisolatedBlendingDescendants is set we make sure that isSelfPaintingLayer flag is set too.
3103         (WebCore::RenderLayer::updateDescendantDependentFlags):
3104         The flags might be read or changed while walking the descendants, so we don't want to reset
3105         them before traversing the tree.
3106         (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
3107         Adding isolatesBlending() condition for a layer to be self painting.
3108         * rendering/RenderLayer.h:
3109         Removing ASSERT from hasUnisolatedBlendingDescendants(). It crashes in minibrowser
3110         and in layout tests when painting contents. Similar bugs on other flags: #71044, #71277.
3111         * rendering/RenderLayerModelObject.cpp:
3112         (WebCore::RenderLayerModelObject::styleDidChange):
3113         Telling ancestors that blend mode property has been removed from CSS when the layer for
3114         this element is going to be removed; styleChanged will not be called anymore.
3115
3116 2014-05-06  Myles C. Maxfield  <mmaxfield@apple.com>
3117
3118         Dragging text from one paragraph to another does not render as expected
3119         https://bugs.webkit.org/show_bug.cgi?id=132633
3120
3121         Reviewed by Darin Adler and Ryosuke Niwa.
3122
3123         When we are dragging and dropping into a content editable field, we detect
3124         if we are trying to put a <p> into an existing <p>, and if so, split the
3125         outer <p> and insert the new <p> as its sibling. However, the outer <p>
3126         might not be editable, so we don't want to do any splitting and inserting
3127         at that location.
3128
3129         Test: editing/pasteboard/drag-drop-paragraph-crasher.html
3130
3131         * editing/ReplaceSelectionCommand.cpp:
3132         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
3133
3134 2014-05-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3135
3136         [CoordinatedGraphics][WK2] Scale factor and scroll position is not being restored properly in a back/forward load
3137         https://bugs.webkit.org/show_bug.cgi?id=126022
3138
3139         Reviewed by Benjamin Poulain.
3140
3141         Original author : Thiago de Barros Lacerda, and finished by Gyuyoung Kim.
3142
3143         When user is navigating back/forward to a page that has been scrolled and/or scaled, that page must be shown
3144         with its last scroll position and scale factor. However, when fixed layout was enabled with CoordinatedGraphics
3145         and TILED_BACKING_STORE, Page::setPageScaleFactor() doesn't send previous scroll position since r165652 and r165913.
3146
3147         This patch allows the Page::setPageScaleFactor() send stored position to WK2 implementation by calling delegatedScrollRequested()
3148         directly when delegatesScrolling() is on.
3149
3150         * page/Page.cpp:
3151         (WebCore::Page::setPageScaleFactor): TILED_BACKING_STORE and delegateScrolling are enabled, we pass new scroll position to WK2 though
3152         delegateScrolling is disabled.
3153         * platform/ScrollView.cpp: delegatedScrollRequested() call is moved from ScrollView::setScrollPosition() to Page::setPageScaleFactor().
3154         (WebCore::ScrollView::setScrollPosition): 
3155
3156 2014-05-07  Dean Jackson  <dino@apple.com>
3157
3158         Using a fill pattern much larger than actual canvas reliably segfaults browser
3159         https://bugs.webkit.org/show_bug.cgi?id=132635
3160
3161         Reviewed by Simon Fraser.
3162
3163         Make sure that createPattern checks that the canvas it is about to use
3164         as a source is valid.
3165
3166         Test: fast/canvas/pattern-too-large-to-create.html
3167
3168         * html/canvas/CanvasRenderingContext2D.cpp:
3169         (WebCore::CanvasRenderingContext2D::createPattern): Check that the source canvas has
3170         an ok ImageBuffer.
3171
3172 2014-05-07  Pratik Solanki  <psolanki@apple.com>
3173
3174         Use system defaults for hardware jpeg decoding
3175         https://bugs.webkit.org/show_bug.cgi?id=132661
3176         <rdar://problem/11348201>
3177
3178         Reviewed by Tim Horton.
3179
3180         Remove code that explicitly disabled hardware image decoding. Let the system decide what to do.
3181
3182         * WebCore.exp.in:
3183         * platform/graphics/ImageSource.h:
3184         (WebCore::ImageSource::acceleratedImageDecodingEnabled): Deleted.
3185         (WebCore::ImageSource::setAcceleratedImageDecodingEnabled): Deleted.
3186         * platform/graphics/cg/ImageSourceCG.cpp:
3187         (WebCore::ImageSource::imageSourceOptions):
3188
3189 2014-05-07  Radu Stavila  <stavila@adobe.com>
3190
3191         Use after free in WebCore::RenderObject::nextSibling / WebCore::RenderBoxModelObject::moveChildrenTo
3192         https://bugs.webkit.org/show_bug.cgi?id=132625
3193
3194         Reviewed by David Hyatt.
3195
3196         Fixed problem with dynamically inserting first letter elements.
3197
3198         Test: fast/multicol/newmulticol/first-letter-create.html
3199
3200         * rendering/RenderBlock.cpp:
3201         (WebCore::RenderBlock::getFirstLetter):
3202         (WebCore::RenderBlock::updateFirstLetter):
3203         * rendering/RenderBlock.h:
3204         * rendering/RenderBoxModelObject.cpp:
3205         (WebCore::RenderBoxModelObject::moveChildrenTo):
3206
3207 2014-05-07  Enrica Casucci  <enrica@apple.com>
3208
3209         WK2: Programatic scroll requests during scroll or zoom animation to reveal focused element are ignored.
3210         https://bugs.webkit.org/show_bug.cgi?id=132657
3211         <rdar://problem/16468462>
3212
3213         Reviewed by Benjamin Poulain.
3214
3215         With the scrolling model we use on iOS, a programatic scroll
3216         request can be received while we are still animating to reveal
3217         the focused input element. The WebProcess is unaware that the
3218         scroll position is being changed in the UIProcess, and does not
3219         honor the scroll request from JavaScript.
3220         This is patch changes the behavior for clients using scroll delegates
3221         to always send the scroll request to the UIProcess without checking
3222         the current scroll position.
3223
3224         * page/FrameView.h:
3225         * platform/ScrollView.cpp:
3226         (WebCore::ScrollView::setScrollPosition):
3227         * platform/ScrollView.h:
3228         (WebCore::ScrollView::inProgrammaticScroll):
3229
3230 2014-05-07  Brent Fulgham  <bfulgham@apple.com>
3231
3232         [Mac, iOS] REGRESSION: WK2 YouTube support
3233         https://bugs.webkit.org/show_bug.cgi?id=132568
3234         <rdar://problem/11464344>
3235
3236         Reviewed by Darin Adler.
3237
3238         Move the custom YouTube loader code out of the WebFrameLoaderClient into a
3239         PluginReplacement-based class.
3240
3241         * Modules/plugins/PluginReplacement.h:
3242         (WebCore::PluginReplacement::supportsURL): New predicate so we can restrict
3243         use of a plugin to a particular category of URLs.
3244         * Modules/plugins/QuickTimePluginReplacement.mm:
3245         (WebCore::QuickTimePluginReplacement): Updated for new registrar signature.
3246         * Modules/plugins/YouTubePluginReplacement.h: Added.
3247         (WebCore::YouTubePluginReplacement::parentElement):
3248         * Modules/plugins/YouTubePluginReplacement.cpp: Added.
3249         (WebCore::YouTubePluginReplacement::registerPluginReplacement):
3250         (WebCore::YouTubePluginReplacement::create):
3251         (WebCore::YouTubePluginReplacement::supportsMimeType):
3252         (WebCore::YouTubePluginReplacement::supportsFileExtension):
3253         (WebCore::kit):
3254         (WebCore::YouTubePluginReplacement::YouTubePluginReplacement):
3255         (WebCore::YouTubePluginReplacement::createElementRenderer):
3256         (WebCore::objectForKey):
3257         (WebCore::YouTubePluginReplacement::installReplacement):
3258         (WebCore::createYouTubeURL):
3259         (WebCore::processAndCreateYouTubeURL):
3260         (WebCore::YouTubePluginReplacement::youTubeURL):
3261         * WebCore.exp.in: Add new export from WebCore.
3262         * WebCore.xcodeproj/project.pbxproj:
3263         * html/HTMLPlugInElement.cpp:
3264         (WebCore::pluginReplacementForType): Update to also check that the URL is supported
3265         by the plugin.
3266         (WebCore::registeredPluginReplacements): Add new YouTubePluginReplacement to registry.
3267         * html/HTMLPlugInImageElement.cpp:
3268         (WebCore::HTMLPlugInImageElement::createElementRenderer): Remove custom YouTube code
3269         now that this logic is handled in the plugin replacement class.
3270         (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree): Deleted.
3271         * html/HTMLPlugInImageElement.h:
3272         * html/shadow/YouTubeEmbedShadowElement.cpp:
3273         (WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement):
3274         (WebCore::YouTubeEmbedShadowElement::shadowPseudoId): Use correct pseudoID for the
3275         plugin replacement architecture.
3276         * html/shadow/YouTubeEmbedShadowElement.h:
3277         * platform/mac/WebCoreNSURLExtras.h:
3278         * platform/mac/WebCoreNSURLExtras.mm:
3279         (WebCore::unescapedQueryValue): Moved from WebKit/Misc/WebNSURLExtras.
3280         (WebCore::queryKeysAndValues): Ditto.
3281
3282 2014-05-07  Simon Fraser  <simon.fraser@apple.com>
3283
3284         [iOS] Acclerated overflow-scrolling broken in WK1
3285         https://bugs.webkit.org/show_bug.cgi?id=132665
3286         <rdar://problem/16842909>
3287
3288         Reviewed by Tim Horton.
3289
3290         r168301 added a CALayer delegate to disable implicit animations,
3291         but for some layers we wrap them in UIViews (which are themselves
3292         layer delegates), so bad things happened.
3293         
3294         Fix by falling back to setting the null actions dictionary for
3295         layers with custom scrolling behavior.
3296
3297         * platform/graphics/GraphicsLayer.h:
3298         * platform/graphics/ca/mac/PlatformCALayerMac.h:
3299         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3300         (PlatformCALayerMac::updateCustomBehavior):
3301         * rendering/RenderLayerBacking.cpp:
3302         (WebCore::RenderLayerBacking::updateScrollingLayers):
3303
3304 2014-05-07  Jeremy Jones  <jeremyj@apple.com>
3305
3306         HTMLMediaElement should exitFullscreen when view is removed from the window.
3307         https://bugs.webkit.org/show_bug.cgi?id=132506
3308
3309         Reviewed by Tim Horton.
3310
3311         * platform/ios/WebVideoFullscreenControllerAVKit.h:
3312         Add -requestExitFullscreen.
3313
3314         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
3315         (-[WebVideoFullscreenController requestExitFullscreen]):
3316         Forward request onto WebVideoFullscreenModelMediaElement.
3317
3318         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
3319         (WebVideoFullscreenModelMediaElement::requestExitFullscreen):
3320         Add some protection here since this may be called when not in fullscreen.
3321
3322 2014-05-07  Dean Jackson  <dino@apple.com>
3323
3324         Clean up the difference between painting focus rings and adding PDF annotations
3325         https://bugs.webkit.org/show_bug.cgi?id=132638
3326
3327         Follow-up comments from Darin Adler.
3328
3329         * rendering/RenderInline.cpp:
3330         (WebCore::RenderInline::paintOutline): Move "else if" to a separate "if" for clarity.
3331         * rendering/RenderObject.cpp:
3332         (WebCore::RenderObject::paintFocusRing): Don't guard against outlineIsAuto(). ASSERT instead.
3333         (WebCore::RenderObject::addPDFURLRect): Give "rect" variable a better name.
3334         (WebCore::RenderObject::paintOutline): Move "else if" to a separate "if" for clarity.
3335
3336 2014-05-07  Alexey Proskuryakov  <ap@apple.com>
3337
3338         Make blob size computation lazy
3339         https://bugs.webkit.org/show_bug.cgi?id=132653
3340
3341         Reviewed by Anders Carlsson.
3342
3343         * fileapi/Blob.cpp:
3344         (WebCore::Blob::Blob):
3345         (WebCore::Blob::size):
3346         * fileapi/Blob.h:
3347         (WebCore::Blob::size): Deleted.
3348         * fileapi/File.cpp:
3349         (WebCore::File::size): Deleted.
3350         * fileapi/File.h:
3351         * fileapi/ThreadableBlobRegistry.cpp:
3352         (WebCore::ThreadableBlobRegistry::registerFileBlobURL):
3353         (WebCore::ThreadableBlobRegistry::registerBlobURL):
3354         (WebCore::ThreadableBlobRegistry::registerBlobURLForSlice):
3355         (WebCore::ThreadableBlobRegistry::blobSize):
3356         (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
3357         (WebCore::unregisterBlobURLTask): Deleted.
3358         * fileapi/ThreadableBlobRegistry.h:
3359         * platform/network/BlobData.cpp:
3360         (WebCore::BlobData::appendData):
3361         * platform/network/BlobRegistry.h:
3362         * platform/network/BlobRegistryImpl.cpp:
3363         (WebCore::BlobRegistryImpl::registerBlobURL):
3364         (WebCore::BlobRegistryImpl::registerBlobURLForSlice):
3365         * platform/network/BlobRegistryImpl.h:
3366
3367 2014-05-06  Simon Fraser  <simon.fraser@apple.com>
3368
3369         Add scrolling tree logging to RemoteLayerTree output
3370         https://bugs.webkit.org/show_bug.cgi?id=132640
3371
3372         Reviewed by Beth Dakin.
3373
3374         Support scrolling tree logging in the RemoteLayerTree log channel
3375         output.
3376         
3377         ScrollingStateTree::commit() unconditionally set treeStateClone->m_hasChangedProperties
3378         to true, but we should set it based on original scrolling state tree's 
3379         m_hasChangedProperties.
3380         
3381         We have to encode all of the scrolling state nodes anyway (they only encode
3382         changed properties), but we can use this for future optimizations, and to
3383         avoid spurious logging.
3384         
3385         * WebCore.exp.in: Export a couple of things we need.
3386         * page/scrolling/ScrollingStateTree.cpp:
3387         (WebCore::ScrollingStateTree::commit):
3388
3389 2014-05-07  Chris Fleizach  <cfleizach@apple.com>
3390
3391         AX: aria-expanded changes are not communicated to clients
3392         https://bugs.webkit.org/show_bug.cgi?id=132642
3393
3394         Reviewed by Mario Sanchez Prada.
3395
3396         When aria-expanded changes on non list/tree items, send out a generic
3397         AXExpandedChange notification.
3398
3399         Test: platform/mac/accessibility/expanded-notification.html
3400
3401         * accessibility/AXObjectCache.h:
3402         * accessibility/AccessibilityRenderObject.cpp:
3403         (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
3404         * accessibility/mac/AXObjectCacheMac.mm:
3405         (WebCore::AXObjectCache::postPlatformNotification):
3406
3407 2014-05-07  Alexey Proskuryakov  <ap@apple.com>
3408
3409         Release build fix.
3410
3411         * platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes):
3412         Removed unused globals.
3413
3414 2014-05-07  Alexey Proskuryakov  <ap@apple.com>
3415
3416         Eliminate "well known MIME type" support
3417         https://bugs.webkit.org/show_bug.cgi?id=132654
3418
3419         Reviewed by Anders Carlsson.
3420
3421         Vestiges of FileSystem API.
3422
3423         * dom/DataTransfer.cpp:
3424         (WebCore::DataTransfer::files):
3425         (WebCore::DataTransfer::hasFileOfType):
3426         * fileapi/File.cpp:
3427         (WebCore::File::File):
3428         (WebCore::File::contentTypeFromFilePathOrName):
3429         * fileapi/File.h:
3430         * html/FileInputType.cpp:
3431         (WebCore::FileInputType::createFileList):
3432         * platform/MIMETypeRegistry.cpp:
3433         (WebCore::initializeSupportedImageMIMETypes):
3434         (WebCore::findMimeType): Deleted.
3435         (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension): Deleted.
3436         * platform/MIMETypeRegistry.h:
3437
3438 2014-05-07  Christophe Dumez  <ch.dumez@samsung.com>
3439