Build fix for iOS
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-08-01  Tim Horton  <timothy_horton@apple.com>
2
3         Build fix for iOS
4
5         * bindings/objc/DOM.mm:
6         (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
7         We use CGImageRef instead of NSImage here on iOS.
8
9 2014-08-01  Renato Nagy  <nagy.renato@stud.u-szeged.hu>
10
11         ASSERTION FAILED: listNode in WebCore::RenderListItem::updateListMarkerNumbers
12         https://bugs.webkit.org/show_bug.cgi?id=134970
13
14         Reviewed by Zalan Bujtas.
15
16         Removed an unnecessary assert, because the null return value of enclosingList() is
17         handled properly after this assert.
18
19         * rendering/RenderListItem.cpp:
20         (WebCore::RenderListItem::updateListMarkerNumbers):
21
22 2014-08-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
23
24         Replace DEPRECATED_DEFINE_STATIC_LOCAL with NeverDestroyed<T> in NavigatorContentUtils
25         https://bugs.webkit.org/show_bug.cgi?id=135494
26
27         Reviewed by Andrei Bucur.
28
29         Use static NeverDestroyed<T> variables instead of the DEPRECATED_DEFINE_STATIC_LOCAL macro.
30
31         No new tests, no behavior changes.
32
33         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
34         (WebCore::customHandlersStateString):
35         (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered):
36
37 2014-07-31  Benjamin Poulain  <bpoulain@apple.com>
38
39         Remove shadowPseudoId() override from the shadow media controls
40         https://bugs.webkit.org/show_bug.cgi?id=135474
41
42         Reviewed by Eric Carlson.
43
44         Small cleanup.
45
46         * html/shadow/MediaControlElementTypes.h:
47         * html/shadow/MediaControlElements.cpp:
48         (WebCore::MediaControlPanelElement::MediaControlPanelElement):
49         (WebCore::MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement):
50         (WebCore::MediaControlOverlayEnclosureElement::MediaControlOverlayEnclosureElement):
51         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
52         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
53         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
54         (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
55         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement):
56         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
57         (WebCore::MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement):
58         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement):
59         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement):
60         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
61         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
62         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
63         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement):
64         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement):
65         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
66         (WebCore::MediaControlPanelVolumeSliderElement::MediaControlPanelVolumeSliderElement):
67         (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement):
68         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
69         (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement):
70         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement):
71         (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement):
72         (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement):
73         (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement):
74         (WebCore::MediaControlPanelElement::shadowPseudoId): Deleted.
75         (WebCore::MediaControlPanelEnclosureElement::shadowPseudoId): Deleted.
76         (WebCore::MediaControlOverlayEnclosureElement::shadowPseudoId): Deleted.
77         (WebCore::MediaControlTimelineContainerElement::shadowPseudoId): Deleted.
78         (WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId): Deleted.
79         (WebCore::MediaControlStatusDisplayElement::shadowPseudoId): Deleted.
80         (WebCore::MediaControlPanelMuteButtonElement::shadowPseudoId): Deleted.
81         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Deleted.
82         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Deleted.
83         (WebCore::MediaControlOverlayPlayButtonElement::shadowPseudoId): Deleted.
84         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Deleted.
85         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Deleted.
86         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Deleted.
87         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Deleted.
88         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Deleted.
89         (WebCore::MediaControlClosedCaptionsContainerElement::shadowPseudoId): Deleted.
90         (WebCore::MediaControlClosedCaptionsTrackListElement::shadowPseudoId): Deleted.
91         (WebCore::MediaControlTimelineElement::shadowPseudoId): Deleted.
92         (WebCore::MediaControlPanelVolumeSliderElement::shadowPseudoId): Deleted.
93         (WebCore::MediaControlFullscreenVolumeSliderElement::shadowPseudoId): Deleted.
94         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Deleted.
95         (WebCore::MediaControlFullscreenVolumeMinButtonElement::shadowPseudoId): Deleted.
96         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::shadowPseudoId): Deleted.
97         (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Deleted.
98         (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Deleted.
99         (WebCore::MediaControlTextTrackContainerElement::textTrackContainerElementShadowPseudoId): Deleted.
100         (WebCore::MediaControlTextTrackContainerElement::shadowPseudoId): Deleted.
101         * html/shadow/MediaControlElements.h:
102         * html/shadow/MediaControls.cpp:
103         (WebCore::MediaControls::MediaControls):
104         (WebCore::MediaControls::shadowPseudoId): Deleted.
105         * html/shadow/MediaControls.h:
106
107 2014-07-31  Timothy Horton  <timothy_horton@apple.com>
108
109         Build fix for platforms where we should have automaticallyAdjustsContentInsets but it isn't public yet
110
111         * platform/mac/ScrollViewMac.mm:
112
113 2014-07-31  Carlos Alberto Lopez Perez  <clopez@igalia.com>
114
115         [EFL] Add support for building with Geoclue2.
116         https://bugs.webkit.org/show_bug.cgi?id=135455
117
118         Reviewed by Gyuyoung Kim.
119
120         No new tests required, no new functionality.
121
122         * PlatformEfl.cmake: Generate derived sources for Geoclue2Interface
123         and include gio-unix path.
124
125 2014-07-31  Zalan Bujtas  <zalan@apple.com>
126
127         Subpixel rendering: Region painting needs to take subpixel accumulation into account.
128         https://bugs.webkit.org/show_bug.cgi?id=135469
129
130         Similar to non-region painting, when the context is translated, we need to propagate
131         the subpixel difference so that renderers get snapped to the same position as if they
132         were not part of a region.
133
134         Reviewed by Simon Fraser.
135
136         Covered by existing tests/not testable (webkit.org/b/135470)
137
138         * html/shadow/MediaControlElements.cpp:
139         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
140         * page/FrameView.cpp:
141         (WebCore::FrameView::paintContents):
142         * rendering/RenderLayer.cpp:
143         (WebCore::RenderLayer::paint):
144         (WebCore::RenderLayer::calculateClipRects):
145         * rendering/RenderLayer.h:
146
147 2014-07-31  Jer Noble  <jer.noble@apple.com>
148
149         [iOS] Video in an <embed> has a bad aspect ratio when in fullscreen mode.
150         https://bugs.webkit.org/show_bug.cgi?id=135481
151
152         Reviewed by Simon Fraser.
153
154         Do not change the gravity of our AVPlayerLayer when in full screen mode; its gravity
155         is controlled by setVideoFullscreenGravity(), and should not be affected by style changes.
156
157         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
158         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoLayerGravity):
159
160 2014-07-31  Beth Dakin  <bdakin@apple.com>
161
162         Hit-testing broken in WebKit 1 views with AppKit's contentInsets
163         https://bugs.webkit.org/show_bug.cgi?id=135434
164         -and corresponding-
165         <rdar://problem/17850323>
166
167         Reviewed by Benjamin Poulain.
168
169         AppKit's contentInsets are factored into scroll positions and mouse positions, but
170         in WebCore, we generally want all of those things to be factored out so that, for
171         example, the scroll position of a document pinned to the top is the same whether
172         or not there is a contentInset. So to fix hit-testing in WebKit 1 views with
173         contentInsets, this patch factors the inset out or into of all coordinate
174         conversion methods just like we do for the WebKit2 contentInset.
175         
176         This patch also adds the ability to test WK1 platformContentInsets with
177         window.internals, and it re-names convertFromRenderer to 
178         convertFromRendererToContainingView and also re-names convertToRenderer to
179         convertFromContainingViewToRenderer.
180
181         ScrollView::topContentInset() takes an optional parameter indicating whether the
182         caller wants the WebCore::Page contentInset or the platform content inset. It’s
183         necessary to distinguish between these cases because there is a lot of code that
184         only wants the WebCore::Page contentInset since that feature is actually
185         implemented in WebCore as opposed to being implemented at the platform level.
186         * WebCore.exp.in:
187         * page/FrameView.cpp:
188         (WebCore::FrameView::topContentInset):
189
190         For layout test purposes, set the platforTopContentInset here if there is a 
191         platformWidget().
192         (WebCore::FrameView::topContentInsetDidChange):
193
194         Re-named functions, also all coordinate conversion functions call 
195         topContentInset(ManualOrPlatformContentInset)
196         (WebCore::FrameView::convertFromContainingViewToRenderer):
197         (WebCore::FrameView::convertToContainingView):
198         (WebCore::FrameView::convertFromContainingView):
199         (WebCore::FrameView::convertFromRenderer): Deleted.
200         (WebCore::FrameView::convertToRenderer): Deleted.
201         * page/FrameView.h:
202         * page/Page.cpp:
203         (WebCore::Page::setTopContentInset):
204         * platform/ScrollView.cpp:
205         (WebCore::ScrollView::documentScrollOffsetRelativeToViewOrigin):
206         (WebCore::ScrollView::documentScrollPositionRelativeToViewOrigin):
207         (WebCore::ScrollView::contentsToRootView):
208         (WebCore::ScrollView::rootViewToTotalContents):
209         (WebCore::ScrollView::contentsToWindow):
210         (WebCore::ScrollView::platformTopContentInset):
211         (WebCore::ScrollView::platformSetTopContentInset):
212         * platform/ScrollView.h:
213         (WebCore::ScrollView::topContentInset):
214         * platform/ios/ScrollViewIOS.mm:
215         (WebCore::ScrollView::platformTopContentInset):
216         (WebCore::ScrollView::platformSetTopContentInset):
217
218         Implement new platform inset-related functions using AppKit's implementation.
219         * platform/mac/ScrollViewMac.mm:
220         (WebCore::ScrollView::platformTopContentInset):
221         (WebCore::ScrollView::platformSetTopContentInset):
222         
223         When we set the scroll position for the documentView, we have to factor the inset
224         back into the WebCore scroll position.
225         (WebCore::ScrollView::platformSetScrollPosition):
226         
227         Re-named functions.
228         * rendering/RenderLayer.cpp:
229         (WebCore::RenderLayer::convertFromScrollbarToContainingView):
230         (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
231         * rendering/RenderListBox.cpp:
232         (WebCore::RenderListBox::convertFromScrollbarToContainingView):
233         (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
234
235 2014-07-31  Dean Jackson  <dino@apple.com>
236
237         Default buttons do not pulse in OS X 10.10
238         https://bugs.webkit.org/show_bug.cgi?id=135447
239         <rdar://problem/17875896>
240
241         Reviewed by Dan Bernstein.
242
243         OS X Yosemite does not have the animated pulsing default
244         buttons seen in previous releases. We don't need to have
245         a timer in RenderButton constantly triggering repaints.
246
247         * platform/mac/ThemeMac.mm:
248         (WebCore::paintButton): No need to advance the animation.
249         * rendering/RenderButton.cpp:
250         (WebCore::RenderButton::styleDidChange): Ask the theme if it
251         should advance the animation.
252         * rendering/RenderTheme.h:
253         (WebCore::RenderTheme::defaultButtonHasAnimation): Virtual function
254         indicating if the button needs to repaint.
255         * rendering/RenderThemeMac.h:
256         * rendering/RenderThemeMac.mm:
257         (WebCore::RenderThemeMac::defaultButtonHasAnimation): Provide platform
258         specific result on Yosemite and above.
259
260 2014-07-31  Tim Horton  <timothy_horton@apple.com>
261
262         DOM::renderedImageForcingBlackText returns an image with the wrong logical size on 2x displays
263         https://bugs.webkit.org/show_bug.cgi?id=135442
264         <rdar://problem/17614632>
265
266         Reviewed by Simon Fraser.
267
268         * bindings/objc/DOM.mm:
269         (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
270         Scale the NSImage size by the device scale factor,
271         similar to what we did for drag images in r167403.
272         Ideally this scaling would happen in the code that
273         generates the images, but this is a much larger change
274         with much more regression potential.
275
276 2014-07-31  Bear Travis  <betravis@adobe.com>
277
278         [CSS Font Loading] Rename document.fontloader to document.fonts
279         https://bugs.webkit.org/show_bug.cgi?id=135393
280
281         Reviewed by Bem Jones-Bey.
282
283         The most recent version of the specification has renamed
284         document.fontloader to document.fonts. This change updates the
285         names in WebCore and LayoutTests.
286
287         Fixed up existing tests under LayoutTests/fast/css/fontloader-*
288         and LayoutTests/http/webfont/fontloader-*
289
290         * css/CSSFontFace.cpp:
291         (WebCore::CSSFontFace::notifyFontLoader):
292         (WebCore::CSSFontFace::notifyLoadingDone):
293         * dom/Document.cpp:
294         (WebCore::Document::fonts):
295         (WebCore::Document::fontloader): Deleted.
296         * dom/Document.h:
297         * dom/Document.idl:
298         * page/FrameView.cpp:
299         (WebCore::FrameView::performPostLayoutTasks):
300
301 2014-07-31  Andrei Bucur  <abucur@adobe.com>
302
303         REGRESSION: Search highlight is broken in RTL multicolumn content
304         https://bugs.webkit.org/show_bug.cgi?id=135452
305
306         Reviewed by Simon Fraser.
307
308         The offsets for elements inside RTL multi-column elements are incorrectly computed because
309         the columns don't calculate their left position according to the writing direction.
310
311         The patch extracts the column position computation in two helper functions (for top and left)
312         so they can be used when needed in different parts of the code. In our case, the |columnLogicalLeft|
313         function should be used inside |columnTranslationForOffset|.
314
315         Test: fast/multicol/content-bounding-box-rtl.html
316
317         * rendering/RenderMultiColumnSet.cpp:
318         (WebCore::RenderMultiColumnSet::columnLogicalLeft): Return the logical left of a column relative to the set.
319         (WebCore::RenderMultiColumnSet::columnLogicalTop): Return the logical top of a column relative to the set.
320         (WebCore::RenderMultiColumnSet::columnRectAt): Split the code between columnLogicalLeft and columnLogicalTop.
321         (WebCore::RenderMultiColumnSet::collectLayerFragments): Make code clearer by adding a new line.
322         (WebCore::RenderMultiColumnSet::columnTranslationForOffset): Use columnLogicalLeft instead of duplicating logic.
323         * rendering/RenderMultiColumnSet.h:
324
325 2014-07-31  Martin Hodovan  <mhodovan.u-szeged@partner.samsung.com>
326
327         Eliminate "FractionConversion" from CSSPrimitiveValue::convertToLength
328         https://bugs.webkit.org/show_bug.cgi?id=135377
329
330         Reviewed by Darin Adler.
331
332         The FractionConversion argument in CSSPrimitiveValue::convertToLength
333         doesn't seem to actually have a purpose. It is for converting numbers
334         into Length(x * 100, Percent), but this case shouldn't be reachable.
335         The original patch introducing it doesn't shed any light either:
336         [https://bugs.webkit.org/show_bug.cgi?id=74913
337
338         This patch removes the now unused FractionConversion argument. Note
339         that we can probably also merge the two Fixed conversions, as the
340         two only differ in clamping large numbers (probably unintended).
341
342         Patch by Timothy Loh, backported from Blink: https://codereview.chromium.org/71253002
343
344         No new tests.
345
346         * css/CSSCalculationValue.cpp:
347         (WebCore::determineCategory):
348         * css/CSSParser.cpp:
349         (WebCore::parseTransformTranslateArguments):
350         (WebCore::parseTranslateTransformValue):
351         (WebCore::parseTransformArguments): Deleted.
352         * css/CSSPrimitiveValueMappings.h:
353         (WebCore::CSSPrimitiveValue::convertToLength):
354         * css/DeprecatedStyleBuilder.cpp:
355         (WebCore::ApplyPropertyClip::convertToLength):
356         * css/StyleResolver.cpp:
357         (WebCore::StyleResolver::convertToIntLength):
358         (WebCore::StyleResolver::convertToFloatLength):
359         * css/TransformFunctions.cpp:
360         (WebCore::convertToFloatLength):
361
362 2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>
363
364         Web Inspector: console.profile missing profile information
365         https://bugs.webkit.org/show_bug.cgi?id=135432
366
367         Reviewed by Timothy Hatcher.
368
369         By switching console.profile to start/stop the timeline we would
370         not have a chance to recompile JS functions with profiling information.
371         This used to work because whenever the inspector was open we would
372         have profiling information enabled. Go back to that behavior.
373
374         * inspector/InspectorController.cpp:
375         (WebCore::InspectorController::profilerEnabled):
376         Instead of checking if the timeline agent has started, check if the
377         timeline agent has been created. Going back to the normal behavior
378         of always having profiling information when the inspector is open.
379
380         * inspector/InspectorTimelineAgent.h:
381         * inspector/InspectorTimelineAgent.cpp:
382         (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
383         Recompile initializing the timeline agent to include profiling information.
384
385         (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
386         Recompile destrying the timeline agent, only if needed.
387
388         (WebCore::InspectorTimelineAgent::willCallFunction):
389         (WebCore::InspectorTimelineAgent::didCallFunction):
390         (WebCore::InspectorTimelineAgent::willEvaluateScript):
391         (WebCore::InspectorTimelineAgent::didEvaluateScript):
392         Using a boolean to track nested calls would not give expected
393         behavior when un-nesting. Switch to a counter to ensure that
394         as we start profiling in the outermost level we then stop
395         profiling at that same level and not inside an inner nesting.
396
397 2014-07-31  Wenson Hsieh  <wenson_hsieh@apple.com>
398
399         Refactor EventHandler to call ScrollAnimator::handleWheelEvent for overflow scrolling
400         https://bugs.webkit.org/show_bug.cgi?id=135195
401
402         Reviewed by Beth Dakin.
403
404         ScrollableArea::handleWheelEvent is not currently being used to handle wheel events for overflow scrolling; it instead directly invokes ScrollableArea::scroll.
405         In order to expose wheel phases on Mac, the PlatformWheelEvent itself should propagate down to ScrollableArea, not just the scroll granularity, direction and
406         multiplier required by ScrollableArea::scroll. With this patch, PlatformWheelEvent will be "shipped" along with the WheelEvent.
407
408         No new tests, since behavior should not have changed.
409
410         * page/EventHandler.cpp:
411         (WebCore::didScrollInScrollableAreaForSingleAxis): Calls ScrollableArea::scroll directly using WheelEvent's data. Used to handle programmatic WheelEvents, e.g. from JavaScript.
412         (WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis): Finds the correct ScrollableArea and attempts to scroll it using the information contained in the WheelEvent via ScrollableArea::handleWheelEvent
413         (WebCore::EventHandler::defaultWheelEventHandler): Updated to use handleWheelEventInAppropriateEnclosingBoxForSingleAxis instead of scrollNode.
414         (WebCore::scrollNode): Deleted.
415         * rendering/RenderListBox.h: Made RenderListBox::scroll public so it can be invoked from EventHandler::handleWheelEventInAppropriateEnclosingBoxForSingleAxis.
416         * rendering/RenderNamedFlowThread.cpp: Refactored to let EventHandler update nextScrollBlock in the case of isRenderNamedFlowThread().
417         (WebCore::RenderNamedFlowThread::fragmentFromRenderBoxAsRenderBlock): 
418         * rendering/RenderNamedFlowThread.h:
419
420 2014-07-31  Dan Bernstein  <mitz@apple.com>
421
422         WebCore part of: Server trust authentication challenges aren’t sent to the navigation delegate
423         https://bugs.webkit.org/show_bug.cgi?id=135327
424
425         Reviewed by Alexey Proskuryakov.
426
427         * platform/network/cf/ResourceHandleCFNet.cpp:
428         (WebCore::ResourceHandle::receivedCredential): Don’t try to change the persistence of
429         credentials used for server trust, because the platform doesn’t support persistence values
430         other than Session for server trust.
431         * platform/network/mac/ResourceHandleMac.mm:
432         (WebCore::ResourceHandle::receivedCredential): Ditto.
433
434 2014-07-31  Dan Bernstein  <mitz@apple.com>
435
436         Tried to fix building with the OS X 10.9 SDK while targeting OS X 10.8.
437
438         * platform/network/cocoa/CredentialCocoa.mm:
439         (WebCore::toCredentialPersistence):
440
441 2014-07-31  Dan Bernstein  <mitz@apple.com>
442
443         Reverted r171854, because it broke building with the OS X 10.8 SDK.
444
445         * platform/network/cocoa/CredentialCocoa.mm:
446         (WebCore::toCredentialPersistence):
447
448 2014-07-31  Dan Bernstein  <mitz@apple.com>
449
450         Tried to fix building with the OS X 10.9 SDK while targeting OS X 10.8.
451
452         * platform/network/cocoa/CredentialCocoa.mm:
453         (WebCore::toCredentialPersistence):
454
455 2014-07-31  Jer Noble  <jer.noble@apple.com>
456
457         REGRESSION(??): [iOS] Disabling MediaPlaybackRequiresUserGesture does not remove user gesture requirement for entering full screen.
458         https://bugs.webkit.org/show_bug.cgi?id=135443
459
460         Reviewed by Dean Jackson.
461
462         Allow full screen mode to be entered without a user gesture if the gesture requirement for media playback
463         has been unset.
464
465         * html/HTMLMediaElement.cpp:
466         (WebCore::HTMLMediaElement::HTMLMediaElement):
467
468 2014-07-31  Andrei Bucur  <abucur@adobe.com>
469
470         [CSS Multicolumn] Clear the lines when switching to multi-column layout
471         https://bugs.webkit.org/show_bug.cgi?id=135127
472
473         Reviewed by Alexandru Chiculita.
474
475         When switching an element to multi-column layout it becomes a container of block
476         children. When this happens the existing line boxes must be deleted in addition
477         to clearing the hasInlineChildren flag.
478
479         Tests: fast/multicol/inline-container-to-multicol.html
480                fast/multicol/inline-container-to-multicol-float.html
481                fast/multicol/inline-container-to-multicol-positioned.html
482
483         * rendering/RenderBlockFlow.cpp:
484         (WebCore::RenderBlockFlow::createMultiColumnFlowThread):
485
486 2014-07-30  Andreas Kling  <akling@apple.com>
487
488         PropertyName's internal string is always atomic.
489         <https://webkit.org/b/135451>
490
491         Use PropertyName::publicName() directly instead of taking the slow route
492         through AtomicString::findStringWithHash().
493
494         These strings are always atomic, and findStringWithHash() would trudge
495         through a full hash lookup just to discover that indeed, they are!
496
497         Reviewed by Benjamin Poulain.
498
499         * bindings/js/JSDOMBinding.cpp:
500         (WebCore::findAtomicString): Deleted.
501         * bindings/js/JSDOMBinding.h:
502         * bindings/js/JSDOMWindowCustom.cpp:
503         (WebCore::namedItemGetter):
504         (WebCore::JSDOMWindow::getOwnPropertySlot):
505         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
506         * bindings/js/JSHTMLDocumentCustom.cpp:
507         (WebCore::JSHTMLDocument::canGetItemsForName):
508         (WebCore::JSHTMLDocument::nameGetter):
509
510 2014-07-30  Benjamin Poulain  <benjamin@webkit.org>
511
512         ElementRuleCollector: group the shadow tree code
513         https://bugs.webkit.org/show_bug.cgi?id=135410
514
515         Reviewed by Andreas Kling.
516
517         * css/ElementRuleCollector.cpp:
518         (WebCore::ElementRuleCollector::collectMatchingRules):
519         Little cleanup: group the shadow tree rule collection in the same block.
520
521 2014-07-30  Benjamin Poulain  <benjamin@webkit.org>
522
523         Cleanup DetailsMarkerControl
524         https://bugs.webkit.org/show_bug.cgi?id=135429
525
526         Reviewed by Andreas Kling.
527
528         Remove the override of shadowPseudoId(). This is a simple type of shadowId,
529         it should use the generic pseudo() path.
530
531         Move DetailsMarkerControl::create() out-of-line. One could justify inlining the constructor,
532         inlining the ::create() function has little value.
533
534         * html/shadow/DetailsMarkerControl.cpp:
535         (WebCore::DetailsMarkerControl::create):
536         (WebCore::DetailsMarkerControl::DetailsMarkerControl):
537         (WebCore::DetailsMarkerControl::rendererIsNeeded):
538         (WebCore::DetailsMarkerControl::shadowPseudoId): Deleted.
539         (WebCore::DetailsMarkerControl::summaryElement): Deleted.
540         * html/shadow/DetailsMarkerControl.h:
541         (WebCore::DetailsMarkerControl::create): Deleted.
542
543 2014-07-30  Benjamin Poulain  <bpoulain@apple.com>
544
545         Remove UploadButtonElement::shadowPseudoId()
546         https://bugs.webkit.org/show_bug.cgi?id=135435
547
548         Reviewed by Andreas Kling.
549
550         Use the generic pseudo() path instead of a custom shadowPseudoId().
551
552         * html/FileInputType.cpp:
553         (WebCore::UploadButtonElement::create):
554         (WebCore::UploadButtonElement::createForMultiple):
555         (WebCore::UploadButtonElement::UploadButtonElement):
556         Set the type in the common constructor instead of the call sites.
557         (WebCore::UploadButtonElement::shadowPseudoId): Deleted.
558         * html/FileInputType.h:
559
560 2014-07-30  Benjamin Poulain  <bpoulain@apple.com>
561
562         Remove SpinButtonElement::shadowPseudoId
563         https://bugs.webkit.org/show_bug.cgi?id=135436
564
565         Reviewed by Andreas Kling.
566
567         Use the generic pseudo.
568
569         * html/shadow/SpinButtonElement.cpp:
570         (WebCore::SpinButtonElement::SpinButtonElement):
571         (WebCore::SpinButtonElement::shadowPseudoId): Deleted.
572         * html/shadow/SpinButtonElement.h:
573
574 2014-07-30  Benjamin Poulain  <bpoulain@apple.com>
575
576         Clean up YouTubeEmbedShadowElement
577         https://bugs.webkit.org/show_bug.cgi?id=135437
578
579         Reviewed by Andreas Kling.
580
581         * html/shadow/YouTubeEmbedShadowElement.cpp:
582         (WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement):
583         (WebCore::YouTubeEmbedShadowElement::pluginElement): Deleted.
584         This is unused in WebCore.
585
586         (WebCore::YouTubeEmbedShadowElement::shadowPseudoId): Deleted.
587         Use the generic pseudo path instead of a custom shadowPseudoId.
588         * html/shadow/YouTubeEmbedShadowElement.h:
589
590 2014-07-30  Benjamin Poulain  <bpoulain@apple.com>
591
592         Remove shadowPseudoId() from InputFieldSpeechButtonElement and SearchFieldCancelButtonElement
593         https://bugs.webkit.org/show_bug.cgi?id=135438
594
595         Reviewed by Andreas Kling.
596
597         Use the generic path.
598
599         * html/shadow/TextControlInnerElements.cpp:
600         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
601         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
602         (WebCore::SearchFieldCancelButtonElement::shadowPseudoId): Deleted.
603         (WebCore::InputFieldSpeechButtonElement::shadowPseudoId): Deleted.
604         * html/shadow/TextControlInnerElements.h:
605
606 2014-07-30  Andy Estes  <aestes@apple.com>
607
608         USE(CONTENT_FILTERING) should be ENABLE(CONTENT_FILTERING)
609         https://bugs.webkit.org/show_bug.cgi?id=135439
610
611         Reviewed by Tim Horton.
612
613         We now support two different platform content filters, and will soon support a mock content filter (as part of
614         webkit.org/b/128858). This makes content filtering a feature of WebKit, not just an adoption of a third-party
615         library. ENABLE() is the correct macro to use for such a feature.
616
617         * Configurations/FeatureDefines.xcconfig:
618         * WebCore.exp.in:
619         * loader/DocumentLoader.cpp:
620         (WebCore::DocumentLoader::finishedLoading):
621         (WebCore::DocumentLoader::responseReceived):
622         (WebCore::DocumentLoader::commitData):
623         (WebCore::DocumentLoader::dataReceived):
624         * loader/DocumentLoader.h:
625         * loader/FrameLoaderClient.h:
626         * platform/ContentFilter.h:
627         * platform/ios/ContentFilterIOS.mm:
628         * platform/mac/ContentFilterMac.mm:
629
630 2014-07-30  Andreas Kling  <akling@apple.com>
631
632         Static hash tables no longer need to be coupled with a VM.
633         <https://webkit.org/b/135421>
634
635         Update for JSC::ClassInfo changes.
636         
637         Remove the JSNoStaticTables mode for IDL code generation, which was used to
638         ensure that each VM had its own unique copy of certain static tables.
639         This was used for interfaces that could be used in workers, and now there's
640         no need to manually annotate these things anymore.
641
642         Also remove the DOMObjectHashTableMap class that was only used for this.
643
644         Reviewed by Geoffrey Garen.
645
646         * Modules/indexeddb/IDBAny.idl:
647         * Modules/indexeddb/IDBCursor.idl:
648         * Modules/indexeddb/IDBCursorWithValue.idl:
649         * Modules/indexeddb/IDBDatabase.idl:
650         * Modules/indexeddb/IDBFactory.idl:
651         * Modules/indexeddb/IDBIndex.idl:
652         * Modules/indexeddb/IDBKeyRange.idl:
653         * Modules/indexeddb/IDBObjectStore.idl:
654         * Modules/indexeddb/IDBOpenDBRequest.idl:
655         * Modules/indexeddb/IDBRequest.idl:
656         * Modules/indexeddb/IDBTransaction.idl:
657         * Modules/indexeddb/IDBVersionChangeEvent.idl:
658         * Modules/webdatabase/Database.idl:
659         * Modules/webdatabase/DatabaseSync.idl:
660         * Modules/webdatabase/SQLError.idl:
661         * Modules/webdatabase/SQLException.idl:
662         * Modules/webdatabase/SQLResultSet.idl:
663         * Modules/webdatabase/SQLResultSetRowList.idl:
664         * Modules/webdatabase/SQLTransaction.idl:
665         * Modules/webdatabase/SQLTransactionSync.idl:
666         * Modules/websockets/CloseEvent.idl:
667         * Modules/websockets/WebSocket.idl:
668         * WebCore.xcodeproj/project.pbxproj:
669         * bindings/js/DOMObjectHashTableMap.cpp: Removed.
670         * bindings/js/DOMObjectHashTableMap.h: Removed.
671         * bindings/js/JSDOMBinding.cpp:
672         (WebCore::getHashTableForGlobalData): Deleted.
673         * bindings/js/JSDOMBinding.h:
674         (WebCore::getStaticValueSlotEntryWithoutCaching):
675         * bindings/js/JSDOMGlobalObject.cpp:
676         * bindings/js/JSDOMWindowBase.cpp:
677         * bindings/js/JSDOMWindowCustom.cpp:
678         (WebCore::JSDOMWindow::getOwnPropertySlot):
679         (WebCore::JSDOMWindow::put):
680         * bindings/js/JSDOMWindowShell.cpp:
681         * bindings/js/JSImageConstructor.cpp:
682         * bindings/js/JSLocationCustom.cpp:
683         (WebCore::JSLocation::putDelegate):
684         * bindings/js/JSStorageCustom.cpp:
685         (WebCore::JSStorage::deleteProperty):
686         (WebCore::JSStorage::putDelegate):
687         * bindings/js/JSWorkerGlobalScopeBase.cpp:
688         * bindings/js/WebCoreJSClientData.h:
689         * bindings/scripts/CodeGeneratorJS.pm:
690         (GenerateGetOwnPropertySlotBody):
691         (GenerateImplementation):
692         (GenerateConstructorHelperMethods):
693         (hashTableAccessor): Deleted.
694         (prototypeHashTableAccessor): Deleted.
695         (constructorHashTableAccessor): Deleted.
696         * bindings/scripts/IDLAttributes.txt:
697         * bridge/c/CRuntimeObject.cpp:
698         * bridge/c/c_instance.cpp:
699         * bridge/objc/ObjCRuntimeObject.mm:
700         * bridge/objc/objc_instance.mm:
701         * bridge/objc/objc_runtime.mm:
702         * bridge/runtime_array.cpp:
703         * bridge/runtime_method.cpp:
704         * bridge/runtime_object.cpp:
705         * crypto/CryptoKey.idl:
706         * css/CSSFontFaceLoadEvent.idl:
707         * dom/DOMCoreException.idl:
708         * dom/DOMStringList.idl:
709         * dom/ErrorEvent.idl:
710         * dom/Event.idl:
711         * dom/EventException.idl:
712         * dom/EventListener.idl:
713         * dom/MessageChannel.idl:
714         * dom/MessageEvent.idl:
715         * dom/MessagePort.idl:
716         * dom/ProgressEvent.idl:
717         * fileapi/Blob.idl:
718         * fileapi/File.idl:
719         * fileapi/FileError.idl:
720         * fileapi/FileException.idl:
721         * fileapi/FileList.idl:
722         * fileapi/FileReader.idl:
723         * fileapi/FileReaderSync.idl:
724         * html/DOMURL.idl:
725         * page/EventSource.idl:
726         * page/WorkerNavigator.idl:
727         * workers/DedicatedWorkerGlobalScope.idl:
728         * workers/SharedWorkerGlobalScope.idl:
729         * workers/WorkerGlobalScope.idl:
730         * workers/WorkerLocation.idl:
731         * xml/XMLHttpRequest.idl:
732         * xml/XMLHttpRequestException.idl:
733         * xml/XMLHttpRequestProgressEvent.idl:
734         * xml/XMLHttpRequestUpload.idl:
735
736 2014-07-30  Dan Bernstein  <mitz@apple.com>
737
738         <rdar://problem/17199364> [Mac] Popup button arrows appear on the left, underlapping text, when the UI layout direction is right-to-left
739         https://bugs.webkit.org/show_bug.cgi?id=135426
740
741         Reviewed by Dean Jackson.
742
743         No test, because the UI layout direction in the test harness is always left-to-right.
744
745         * rendering/RenderThemeMac.mm:
746         (WebCore::RenderThemeMac::popupButton): Forced the user interface layout direction of the
747         NSPopUpButtonCell to left-to-right. Added a FIXME about how we could make this vary based on
748         the direction of the <select>, though that would require additional changes elsewhere.
749
750 2014-07-30  Dan Bernstein  <mitz@apple.com>
751
752         Made Credential hold onto an NSURLCredential when needed.
753         Work towards fixing https://bugs.webkit.org/show_bug.cgi?id=135327
754
755         Reviewed by Alexey Proskuryakov.
756
757         No change in functionality.
758
759         * WebCore.exp.in: Updated.
760
761         * platform/network/Credential.h: Removed definition of CERTIFICATE_CREDENTIALS_SUPPORTED,
762         which is not used anymore.
763
764         * platform/network/CredentialBase.h:
765         (WebCore::CredentialBase::encodingRequiresPlatformData): Added a base implementation that
766         returns false.
767
768         * platform/network/cf/AuthenticationCF.cpp:
769         Changed to use the Credential constructor that takes an CFURLCredential, and the new
770         cfCredential member function. Made the createCF and core functions Windows-only and
771         therefore removed the CERTIFICATE_CREDENTIALS_SUPPORTED code from them.
772         * platform/network/cf/AuthenticationCF.h:
773
774         * platform/network/cf/CredentialStorageCFNet.cpp:
775         (WebCore::CredentialStorage::getFromPersistentStorage): Changed to construct a Credential
776         from a CFURLCredential.
777         (WebCore::CredentialStorage::saveToPersistentStorage): Changed to use the new cfCredential
778         member function.
779
780         * platform/network/cf/ResourceHandleCFNet.cpp:
781         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto to both.
782         (WebCore::ResourceHandle::receivedCredential): Ditto.
783
784         * platform/network/cocoa/CredentialCocoa.h:
785         Replaced the m_identity, m_certificates and m_type member variables with an m_nsCredential
786         one holding onto an NSURLCredential. Declared constructors from and getters for
787         NSURLCredential and CFURLCredentialRef.
788         (WebCore::Credential::encodingRequiresPlatformData): Override that checks the
789         NSURLCredential if necessary.
790
791         * platform/network/cocoa/CredentialCocoa.mm:
792         (WebCore::toNSURLCredentialPersistence): New helper function.
793         (WebCore::toCredentialPersistence): Ditto.
794         (WebCore::Credential::Credential): Defined constructors to create or take an
795         NSURLCredential.
796         (WebCore::Credential::cfCredential): Added.
797         (WebCore::Credential::nsCredential): Added. Returns nil for the empty credential.
798         (WebCore::Credential::isEmpty): Changed to check m_nsCredential.
799         (WebCore::Credential::platformCompare): Changed to compare m_nsCredential if needed.
800         (WebCore::Credential::encodingRequiresPlatformData): Returns true if the credential is not
801         a user and a password.
802
803         * platform/network/mac/AuthenticationMac.h: Removed mac and core functions for Credential.
804         * platform/network/mac/AuthenticationMac.mm:
805         (-[WebCoreAuthenticationClientAsChallengeSender useCredential:forAuthenticationChallenge:]):
806         Changed to use Credential constructor that takes an NSURLCredential.
807         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Ditto. Also use the
808         nsCredential getter.
809
810         * platform/network/mac/CredentialStorageMac.mm:
811         (WebCore::CredentialStorage::getFromPersistentStorage): Use new Credential constructor.
812
813         * platform/network/mac/ResourceHandleMac.mm:
814         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto. Also use the
815         nsCredential getter.
816         (WebCore::ResourceHandle::receivedCredential): Ditto.
817
818 2014-07-30  Sergio Villar Senin  <svillar@igalia.com>
819
820         [GTK] Build depends on OpenGL ES
821         https://bugs.webkit.org/show_bug.cgi?id=135289
822
823         Reviewed by Martin Robinson.
824
825         Guard the OpenGL ES code with USE(OPENGL_ES_2).
826
827         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
828         * platform/graphics/opengl/Extensions3DOpenGLES.h:
829
830 2014-07-30  Radu Stavila  <stavila@adobe.com>
831
832         Member name collision in RenderView and SelectionSubtreeRoot
833         https://bugs.webkit.org/show_bug.cgi?id=135233
834
835         Reviewed by Mihnea Ovidenie.
836
837         The selectionStart/End members in RenderView have been renamed to fix confusion caused by the fact that
838         RenderView inherits SelectionSubtreeRoot, which also has the same selectionStart/End members.
839
840         No new tests required, no new functionality.
841
842         * rendering/RenderBlock.cpp:
843         (WebCore::RenderBlock::isSelectionRoot):
844         * rendering/RenderView.cpp:
845         (WebCore::RenderView::RenderView):
846         (WebCore::RenderView::setSelection):
847         (WebCore::RenderView::getSelection):
848         * rendering/RenderView.h:
849
850 2014-07-30  Zan Dobersek  <zdobersek@igalia.com>
851
852         [TexMap] Move TextureMapperLayer::textureMapper() definition into the header
853         https://bugs.webkit.org/show_bug.cgi?id=135384
854
855         Reviewed by Martin Robinson.
856
857         Move the definitions of TextureMapperLayer::textureMapper() and TextureMapperLayer::rootLayer()
858         into the TextureMapperLayer header. This makes both functions inline-able, removing unnecessary
859         calling overhead in GraphicsLayerTextureMapper::flushCompositingState() and
860         GraphicsLayerTextureMapper::updateBackingStoreIfNeeded().
861
862         TextureMapperLayer::rootLayer() now also returns a reference.
863
864         * platform/graphics/texmap/TextureMapperLayer.cpp:
865         (WebCore::TextureMapperLayer::~TextureMapperLayer):
866         (WebCore::TextureMapperLayer::rootLayer): Deleted.
867         (WebCore::TextureMapperLayer::textureMapper): Deleted.
868         * platform/graphics/texmap/TextureMapperLayer.h:
869         (WebCore::TextureMapperLayer::textureMapper):
870         (WebCore::TextureMapperLayer::rootLayer):
871
872 2014-07-29  Andreas Kling  <akling@apple.com>
873
874         Crash when using 'em' units to specify font-size inside animation keyframe.
875         <https://webkit.org/b/135395>
876         <rdar://problem/17851910>
877
878         We'd forgotten to initialize the "parent style" when resolving keyframe
879         styles, and this led to a crash in length conversion where the code
880         assumes a parent style will be present.
881
882         To keep this fix minimal, simply make the "parent style" a clone of the
883         base element style.
884
885         Reviewed by Simon Fraser.
886
887         Test: fast/animation/keyframe-with-font-size-in-em-units.html
888
889         * css/StyleResolver.cpp:
890         (WebCore::StyleResolver::styleForKeyframe):
891
892 2014-07-29  Pratik Solanki  <psolanki@apple.com>
893
894         [iOS] REGRESSION(r171526): PDF documents fail to load in WebKit1 with disk image caching enabled
895         https://bugs.webkit.org/show_bug.cgi?id=135359
896         <rdar://problem/17824645>
897
898         Reviewed by Darin Adler.
899
900         r171526 broke the case where we have a memory mapped file from the DiskImageCache in the
901         SharedBuffer. In such a case, m_buffer is empty and createCFData() returned an
902         WebCoreSharedBufferData with an empty buffer.
903
904         Fix this by taking the easy route of bringing back the old code for the disk image cache
905         file backed case. In the long run we probably want to remove the iOS specific disk image
906         cache anyway.
907
908         Review also uncovered another bug in r171526 where we were balancing an Objective-C alloc
909         with a CFRelease which is incorrect when running under GC. Fix that by using adoptNS along
910         with adoptCF which is what the code did before.
911
912         No new tests because the bug only occurs on device and we can't run tests on device yet.
913
914         * platform/mac/SharedBufferMac.mm:
915         (-[WebCoreSharedBufferData initWithDiskImageSharedBuffer:]):
916         (-[WebCoreSharedBufferData length]):
917         (-[WebCoreSharedBufferData bytes]):
918         (WebCore::SharedBuffer::createCFData):
919
920 2014-07-29  Benjamin Poulain  <bpoulain@apple.com>
921
922         VisitedLinkState::determineLinkState should take a reference
923         https://bugs.webkit.org/show_bug.cgi?id=135375
924
925         Reviewed by Sam Weinig.
926
927         * css/StyleResolver.cpp:
928         (WebCore::StyleResolver::State::initElement):
929         * dom/VisitedLinkState.h:
930         (WebCore::VisitedLinkState::determineLinkState):
931
932 2014-07-29  Brady Eidson  <beidson@apple.com>
933
934         Make WKOriginDataManager actually operate on IndexedDatabases.
935         https://bugs.webkit.org/show_bug.cgi?id=135346
936
937         Reviewed by Sam Weinig (and David Kilzer and Alex Christensen)
938
939         * WebCore.exp.in:
940
941 2014-07-29  Dan Bernstein  <mitz@apple.com>
942
943         Moved the Cocoa-specific parts of CredentialBase into a Cocoa-specific Credential class.
944         Work towards fixing https://bugs.webkit.org/show_bug.cgi?id=135327
945
946         Reviewed by Alexey Proskuryakov.
947
948         No change in functionality.
949
950         * WebCore.exp.in: Updated for functions moved in the class hierarchy.
951
952         * WebCore.xcodeproj/project.pbxproj: Added CredentialCocoa.{h,mm}.
953
954         * platform/network/Credential.h: For Cocoa, include CredentialCocoa.h instead of the generic
955         class.
956         (WebCore::Credential::Credential): Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED code.
957
958         * platform/network/CredentialBase.cpp:
959         (WebCore::CredentialBase::CredentialBase): Changed to use emptyString instead of "", removed
960         #if CERTIFICATE_CREDENTIALS_SUPPORTED code.
961         (WebCore::CredentialBase::isEmpty): Ditto.
962         (WebCore::CredentialBase::compare): Renamed operator== to this, removed
963         #if CERTIFICATE_CREDENTIALS_SUPPORTED code, but changed the end to call platformCompare.
964         (WebCore::CredentialBase::identity): Deleted.
965         (WebCore::CredentialBase::certificates): Deleted.
966         (WebCore::CredentialBase::type): Deleted.
967         * platform/network/CredentialBase.h: Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED members.
968         (WebCore::CredentialBase::platformCompare): Added a base implementation that returns true.
969         (WebCore::operator==): Changed to use CredentialBase::compare.
970
971         * platform/network/cocoa/CredentialCocoa.h: Added.
972         (WebCore::Credential::Credential):
973         * platform/network/cocoa/CredentialCocoa.mm: Added.
974         (WebCore::Credential::Credential): Moved the constructor that takes an identity and
975         certificates here.
976         (WebCore::Credential::isEmpty): Moved here.
977         (WebCore::Credential::identity): Ditto.
978         (WebCore::Credential::certificates): Ditto.
979         (WebCore::Credential::type): Ditto.
980         (WebCore::Credential::platformCompare): Moved the code that compares client-certificate
981         credentials here.
982
983         * platform/network/mac/AuthenticationMac.mm:
984         (WebCore::mac): Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED guards in this Cocoa-only
985         file.
986         (WebCore::core): Ditto.
987
988 2014-07-29  Daniel Bates  <dabates@apple.com>
989
990         Use WTF::move() instead of std::move() to help ensure move semantics
991         https://bugs.webkit.org/show_bug.cgi?id=135351
992
993         Reviewed by Alexey Proskuryakov.
994
995         * page/CaptionUserPreferences.cpp:
996         (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
997
998 2014-07-29  Mihnea Ovidenie  <mihnea@adobe.com>
999
1000         [CSSRegions] Assertion failure hit testing a region-based multicolumn in a region
1001         https://bugs.webkit.org/show_bug.cgi?id=135385
1002
1003         Reviewed by Andrei Bucur.
1004
1005         When a region-based multicolumn element is displayed and hit tested in a region,
1006         we have to disable the named flow region information not only for painting,
1007         but also for hit-testing. This is a follow-up for https://bugs.webkit.org/show_bug.cgi?id=132121,
1008         which provided the fix for painting.
1009
1010         Test: fast/regions/assert-hit-test-multicol-in-region.html
1011
1012         * rendering/RenderLayer.cpp:
1013         (WebCore::RenderLayer::hitTestLayer):
1014
1015 2014-07-29  Zalan Bujtas  <zalan@apple.com>
1016
1017         Cleanup RenderSelectionInfoBase/RenderSelectionInfo/RenderBlockSelectionInfo.
1018         https://bugs.webkit.org/show_bug.cgi?id=135326
1019
1020         Reviewed by Darin Adler.
1021
1022         1. Move implementation to RenderSelectInfo.cpp
1023         2. RenderSelectionInfoBase/RenderSelectionInfo/RenderBlockSelectionInfo take Render* reference.
1024         3. Remove unused functions.
1025         4. Add RenderSelectionInfoBase::repaintRectangle()
1026
1027         No change in behavior.
1028
1029         * WebCore.xcodeproj/project.pbxproj:
1030         * rendering/RenderSelectionInfo.cpp: Added.
1031         (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
1032         (WebCore::RenderSelectionInfoBase::repaintRectangle):
1033         (WebCore::RenderSelectionInfo::RenderSelectionInfo):
1034         (WebCore::RenderSelectionInfo::repaint):
1035         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
1036         (WebCore::RenderBlockSelectionInfo::repaint):
1037         * rendering/RenderSelectionInfo.h:
1038         (WebCore::RenderSelectionInfo::collectedSelectionRects):
1039         (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase): Deleted.
1040         (WebCore::RenderSelectionInfoBase::object): Deleted.
1041         (WebCore::RenderSelectionInfo::RenderSelectionInfo): Deleted.
1042         (WebCore::RenderSelectionInfo::repaint): Deleted.
1043         (WebCore::RenderSelectionInfo::rects): Deleted.
1044         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo): Deleted.
1045         (WebCore::RenderBlockSelectionInfo::repaint): Deleted.
1046         (WebCore::RenderBlockSelectionInfo::block): Deleted.
1047         * rendering/RenderView.cpp:
1048         (WebCore::RenderView::subtreeSelectionBounds):
1049         (WebCore::RenderView::repaintSubtreeSelection):
1050         (WebCore::RenderView::clearSubtreeSelection):
1051         (WebCore::RenderView::applySubtreeSelection):
1052
1053 2014-07-28  Pratik Solanki  <psolanki@apple.com>
1054
1055         Get SharedBuffer.h out of ResourceBuffer.h (and a few other places)
1056         https://bugs.webkit.org/show_bug.cgi?id=131782
1057
1058         Original patch by Tim Horton.
1059         Reviewed by Darin Adler.
1060
1061         No new tests because no functional changes.
1062
1063         * Modules/indexeddb/IDBCallbacks.h:
1064         * Modules/indexeddb/IDBCursorBackend.h:
1065         * loader/ios/DiskImageCacheIOS.h:
1066         Forward declare SharedBuffer in headers.
1067
1068         * Modules/indexeddb/IDBRequest.cpp:
1069         * loader/cache/CachedImage.cpp:
1070         * loader/icon/IconLoader.cpp:
1071         * loader/ios/DiskImageCacheIOS.mm:
1072         * loader/cache/MemoryCache.cpp:
1073         * loader/mac/ResourceBuffer.mm:
1074         Include SharedBuffer.h in implementation files.
1075
1076         * Modules/notifications/Notification.h:
1077         * loader/appcache/ApplicationCacheGroup.h:
1078         Remove unnecessary includes.
1079
1080         * loader/ResourceBuffer.cpp:
1081         (WebCore::ResourceBuffer::adoptSharedBuffer):
1082         * loader/ResourceBuffer.h:
1083         Out-of-line adoptSharedBuffer so that the PassRefPtr doesn't require including SharedBuffer.h.
1084
1085         * platform/graphics/opentype/OpenTypeMathData.cpp:
1086         * platform/graphics/opentype/OpenTypeMathData.h:
1087         Out-of-line destructor to avoid requiring SharedBuffer.h for the RefPtr.
1088         Forward-declare SharedBuffer in the header, include in implementation.
1089
1090 2014-07-29  Zan Dobersek  <zdobersek@igalia.com>
1091
1092         [TexMap] GraphicsLayerTextureMapper::addAnimation() box size parameter should be FloatSize
1093         https://bugs.webkit.org/show_bug.cgi?id=135237
1094
1095         Reviewed by Martin Robinson.
1096
1097         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1098         (WebCore::GraphicsLayerTextureMapper::addAnimation):
1099         * platform/graphics/texmap/GraphicsLayerTextureMapper.h: The boxSize parameter of the
1100         addAnimation() method must be of the same type as the parameter in the base class
1101         declaration -- a const FloatSize reference. Only then is the base virtual method
1102         actually overriden.
1103
1104 2014-07-28  Dan Bernstein  <mitz@apple.com>
1105
1106         iOS build fix.
1107
1108         * WebCore.exp.in:
1109
1110 2014-07-28  Dan Bernstein  <mitz@apple.com>
1111
1112         Introduced CredentialBase and made Credential derive from it
1113         Work towards fixing https://bugs.webkit.org/show_bug.cgi?id=135327
1114
1115         Reviewed by Darin Adler.
1116
1117         No change in functionality.
1118
1119         * CMakeLists.txt: Updated for source file rename.
1120
1121         * WebCore.exp.in: Changed to export CredentialBase symbols.
1122
1123         * WebCore.vcxproj/WebCore.vcxproj: Updated for source file rename and new header.
1124         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1125
1126         * WebCore.xcodeproj/project.pbxproj: Ditto.
1127
1128         * platform/network/Credential.cpp: Renamed to CredentialBase.cpp.
1129
1130         * platform/network/Credential.h: Defined Credential to derive from CredentialBase.
1131
1132         * platform/network/CredentialBase.cpp: Renamed Credential.cpp to this. Updated for the new
1133         name.
1134
1135         * platform/network/CredentialBase.h: Copied from Credential.h, renamed the class to
1136         CredentialBase, and made the constructors protected.
1137
1138 2014-07-28  Zalan Bujtas  <zalan@apple.com>
1139
1140         REGRESSION(r164133): Selection disappears after scrolling on nytimes.com
1141         https://bugs.webkit.org/show_bug.cgi?id=135361
1142
1143         Reviewed by Ryosuke Niwa.
1144
1145         Ensure that when a RenderElement, part of the current selection is removed,
1146         we recalculate and update the selection soon after layout.
1147
1148         Test: fast/dynamic/selection-gets-cleared-when-part-of-it-gets-removed.html
1149
1150         * editing/FrameSelection.cpp:
1151         (WebCore::FrameSelection::setNeedsSelectionUpdate):
1152         (WebCore::FrameSelection::didLayout): didLayout name reflects its functionality better.
1153         (WebCore::FrameSelection::layoutDidChange): Deleted.
1154         * editing/FrameSelection.h: : move some functions to private.
1155         * page/FrameView.cpp:
1156         (WebCore::FrameView::performPostLayoutTasks):
1157         * rendering/RenderBlockFlow.cpp:
1158         (WebCore::RenderBlockFlow::willBeDestroyed):
1159         * rendering/RenderElement.cpp:
1160         (WebCore::RenderElement::removeChildInternal):
1161         * rendering/RenderInline.cpp:
1162         (WebCore::RenderInline::willBeDestroyed):
1163
1164 2014-07-28  Dean Jackson  <dino@apple.com>
1165
1166         [Media iOS] Touching play button feels unresponsive
1167         https://bugs.webkit.org/show_bug.cgi?id=135370
1168         <rdar://problem/17756281>
1169
1170         Reviewed by Simon Fraser.
1171
1172         Add an :active rule that shows a slightly darker button when touched.
1173
1174         * Modules/mediacontrols/mediaControlsiOS.css:
1175         (audio::-webkit-media-controls-start-playback-button:active):
1176
1177 2014-07-28  Brady Eidson  <beidson@apple.com>
1178
1179         REGRESSION(168376): Standalone images pasted to Outlook 2011 don't display
1180         <rdar://problem/17768371> and https://bugs.webkit.org/show_bug.cgi?id=135363
1181
1182         Reviewed by Tim Horton.
1183
1184         Outlook isn’t prepared to handle the resource load callbacks when sent synchronously.
1185
1186         r168376 was an optimization that we no longer need, so the simplest fix is to roll it out.
1187
1188         * editing/mac/EditorMac.mm:
1189         (WebCore::Editor::WebContentReader::readImage):
1190
1191         * loader/archive/ArchiveResource.cpp:
1192         (WebCore::ArchiveResource::ArchiveResource):
1193         * loader/archive/ArchiveResource.h:
1194         (WebCore::ArchiveResource::setShouldLoadImmediately): Deleted.
1195         (WebCore::ArchiveResource::shouldLoadImmediately): Deleted.
1196
1197         * loader/cache/CachedResourceLoader.cpp:
1198         (WebCore::CachedResourceLoader::requestResource):
1199
1200 2014-07-28  Mark Hahnenberg  <mhahnenberg@apple.com>
1201
1202         ASSERTION FAILED: m_heap->vm()->currentThreadIsHoldingAPILock()
1203         https://bugs.webkit.org/show_bug.cgi?id=135352
1204
1205         Reviewed by Oliver Hunt.
1206
1207         * Modules/plugins/QuickTimePluginReplacement.mm:
1208         (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): This should be taking a 
1209         JSLock like its sibling methods do (e.g. installReplacement).
1210
1211 2014-07-28  Antti Koivisto  <antti@apple.com>
1212
1213         <embed> videos flashes constantly while playing inline on iPad, making it unwatchable
1214         https://bugs.webkit.org/show_bug.cgi?id=135356
1215         <rdar://problem/16828238>
1216
1217         Reviewed by Simon Fraser.
1218         
1219         The shadow tree for media controls is scheduling style recalc. The general silliness of
1220         HTMLPlugInImageElement::willRecalcStyle/willDetachRenderers is turning those into render
1221         tree reconstructions causing flicker.
1222
1223         * html/HTMLPlugInImageElement.cpp:
1224         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
1225         
1226             Don't do the forced renderer reconstruction if there is no style change for the element
1227             or its ancestors. This way recalcs scheduled by the shadow tree don't trigger the widget
1228             update code path.
1229
1230 2014-07-27  Brent Fulgham  <bfulgham@apple.com>
1231
1232         [Mac, iOS] Paint-on closed captions get out-of-order in Safari
1233         https://bugs.webkit.org/show_bug.cgi?id=135332
1234         <rdar://problem/15317278>
1235
1236         Reviewed by Jer Noble.
1237
1238         * html/shadow/MediaControlElements.cpp:
1239         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): If the
1240         number of active cues is greater than the current set of CSS boxes representing
1241         the cues, throw away the CSS boxes and re-layout all the cues.
1242         * html/track/InbandGenericTextTrack.cpp:
1243         (WebCore::InbandGenericTextTrack::addGenericCue): Add some logging.
1244         (WebCore::InbandGenericTextTrack::removeGenericCue): Ditto.
1245         * html/track/TextTrackCueGeneric.cpp:
1246         (WebCore::TextTrackCueGeneric::isOrderedBefore): Revise ordering rules so that we put
1247         newer cues earlier in the layout order so they are drawn towards the bottom
1248         of the screen. Only do this for Generic captions.
1249         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1250         (WebCore::InbandTextTrackPrivateAVF::processAttributedStrings): Adjust logging
1251         messages.
1252         (WebCore::InbandTextTrackPrivateAVF::removeCompletedCues): Add logging.
1253
1254 2014-07-28  Andreas Kling  <akling@apple.com>
1255
1256         REGRESSION (r160806): CSS zoom property doesn't work on anything inside anchors.
1257         <https://webkit.org/b/135344>
1258         <rdar://problem/17759577>
1259
1260         When DeprecatedStyleBuilder applies the CSS zoom property (ApplyPropertyZoom)
1261         it first resets the "effective zoom" by calling RenderStyle::setEffectiveZoom().
1262
1263         This mechanism was not resistent to being called multiple times, due to the
1264         optimization in RenderStyle::setZoom() to avoid copy-on-writing the shared data
1265         when setting some property to the already-set value.
1266
1267         The bug would happen in this sequence:
1268
1269         ApplyPropertyZoom:
1270             - setEffectiveZoom(1);
1271             - setZoom(2); // this updates the effective zoom
1272         ApplyPropertyZoom:
1273             - setEffectiveZoom(1);
1274             - setZoom(2); // this doesn't update the effective zoom
1275
1276         When we run the second setZoom(2); call, the RenderStyle's zoom value is 2
1277         already and we'll early return without updating the effective zoom.
1278
1279         This change moves the updating of the effective zoom in setZoom() to take place
1280         before the early return due to overwriting with the same value.
1281
1282         Note: the fact that we're apply the zoom property twice is an inefficiency that
1283         we should figure out a way to avoid in the future.
1284
1285         Reviewed by Simon Fraser.
1286
1287         Test: fast/css/zoom-inside-link.html
1288
1289         * rendering/style/RenderStyle.h:
1290         (WebCore::RenderStyle::setZoom):
1291
1292 2014-07-28  Bear Travis  <betravis@adobe.com>
1293
1294         [CSS Font Loading] Update Font Loading Code
1295         https://bugs.webkit.org/show_bug.cgi?id=135340
1296
1297         Reviewed by Antti Koivisto.
1298
1299         Update the Font Loading code to build again, as trunk has evolved
1300         since the feature was originally written. Mostly, this requires
1301         updating the code to work with the new Font representation.
1302
1303         The original tests were enabled only for the Chromium port.
1304         They will need to be updated when the feature is enabled by default.
1305
1306         * WebCore.xcodeproj/project.pbxproj: Add missing files.
1307         * css/FontLoader.cpp: Update to new Font representation.
1308         (WebCore::LoadFontCallback::createFromParams):
1309         (WebCore::LoadFontCallback::~LoadFontCallback):
1310         (WebCore::FontLoader::loadFont):
1311         (WebCore::FontLoader::checkFont):
1312         (WebCore::applyPropertyToCurrentStyle):
1313         (WebCore::FontLoader::resolveFontStyle):
1314
1315 2014-07-28  Wenson Hsieh  <wenson_hsieh@apple.com>
1316
1317         Let WheelEvent wrap a PlatformWheelEvent
1318         https://bugs.webkit.org/show_bug.cgi?id=135244
1319
1320         WheelEvent now wraps a PlatformWheelEvent. m_directionInvertedFromDevice, as well as m_phase and m_momentumPhase
1321         have been removed, since the information is redundant in PlatformWheelEvent. Note that deltaX and deltaY have
1322         NOT been replaced, since we need double precision instead of float precision.
1323
1324         Reviewed by Beth Dakin.
1325
1326         No new tests, since behavior should not have changed.
1327
1328         * dom/WheelEvent.cpp:
1329         (WebCore::WheelEvent::WheelEvent):
1330         (WebCore::WheelEvent::initWheelEvent):
1331         * dom/WheelEvent.h:
1332         (WebCore::WheelEvent::wheelEvent): Returns a non-null pointer to the PlatformWheelEvent iff WheelEvent was initialized by PlatformWheelEvent.
1333         (WebCore::WheelEvent::webkitDirectionInvertedFromDevice): Updated to use PlatformWheelEvent.
1334         (WebCore::WheelEvent::phase): Updated to use PlatformWheelEvent.
1335         (WebCore::WheelEvent::momentumPhase): Updated to use PlatformWheelEvent.
1336
1337 2014-07-28  Brent Fulgham  <bfulgham@apple.com>
1338
1339         Unreviewed 'merge' fix.
1340
1341         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1342         Correct line endings to allow EWS merges again.
1343
1344 2014-07-28  Zoltan Horvath  <zoltan@webkit.org>
1345
1346         [CSS3-Text] Adjust text-justify implementation to the latest spec
1347         https://bugs.webkit.org/show_bug.cgi?id=135317
1348
1349         Reviewed by Darin Adler.
1350
1351         Text-justify no longer accepts the following values: Inter-ideograph, inter-
1352         cluster, and kashida. This patch removes them and updates the tests as well.
1353
1354         [1] http://dev.w3.org/csswg/css-text-3/#propdef-text-justify
1355
1356         Updated existing tests.
1357
1358         * css/CSSParser.cpp:
1359         (WebCore::isValidKeywordPropertyAndValue):
1360         * css/CSSPrimitiveValueMappings.h:
1361         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1362         (WebCore::CSSPrimitiveValue::operator TextJustify):
1363         * css/CSSValueKeywords.in:
1364         * rendering/style/RenderStyle.cpp:
1365         (WebCore::RenderStyle::changeRequiresLayout):
1366         * rendering/style/RenderStyleConstants.h:
1367         * rendering/style/StyleRareInheritedData.h:
1368
1369 2014-07-28  Radu Stavila  <stavila@adobe.com>
1370
1371         REGRESSION (r169105): Crash in selection
1372         https://bugs.webkit.org/show_bug.cgi?id=134303
1373
1374         Reviewed by Mihnea Ovidenie.
1375
1376         When splitting the selection between different subtrees, all subtrees must have their selection cleared before
1377         starting to apply the new selection. Otherwise, when selecting objects in a named flow thread and going up
1378         its containing block chain, we can end up in the view's selection root, which has not yet been updated and so
1379         we get inconsistent data.
1380
1381         To achieve this goal, the selection update was split into a "clear" and an "apply" method. The updateSelectionForSubtrees
1382         method first iterates through all subtrees and performs the "clear" method and then starts all over again
1383         and performs the "apply" method.
1384
1385         Test: fast/regions/selection/crash-deselect.html
1386
1387         * WebCore.xcodeproj/project.pbxproj:
1388         * rendering/RenderSelectionInfo.h:
1389         * rendering/RenderView.cpp:
1390         (WebCore::RenderView::setSelection):
1391         (WebCore::RenderView::splitSelectionBetweenSubtrees):
1392         (WebCore::RenderView::updateSelectionForSubtrees): Added, clears and re-applies selection for all selection subtrees.
1393         (WebCore::RenderView::clearSubtreeSelection): Added, clears selection and returns previously selected information.
1394         (WebCore::RenderView::applySubtreeSelection): Added, updates the selection status of all objects inside the selection tree, compares old and new data and repaints accordingly.
1395         (WebCore::RenderView::setSubtreeSelection): Deleted.
1396         * rendering/RenderView.h:
1397         * rendering/SelectionSubtreeRoot.cpp:
1398         (WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot):
1399         * rendering/SelectionSubtreeRoot.h:
1400         (WebCore::SelectionSubtreeRoot::OldSelectionData::OldSelectionData):
1401
1402 2014-07-28  Yusuke Suzuki  <utatane.tea@gmail.com>
1403
1404         CSS: Fix :visited behavior for SubSelectors
1405         https://bugs.webkit.org/show_bug.cgi?id=135324
1406
1407         Reviewed by Benjamin Poulain.
1408
1409         Disable :visited match for the selectors that has SubSelectors.
1410
1411         Tests: fast/history/nested-visited-test-complex.html
1412                fast/history/sibling-visited-test-complex.html
1413
1414         * css/SelectorChecker.cpp:
1415         (WebCore::SelectorChecker::matchRecursively):
1416
1417 2014-07-27  Ryuan Choi  <ryuan.choi@samsung.com>
1418
1419         Remove GraphicsSurfaceGLX.cpp
1420         https://bugs.webkit.org/show_bug.cgi?id=135279
1421
1422         Reviewed by Darin Adler.
1423
1424         GraphicsSurfaceGLX.cpp is not used since Qt dropped and Efl port changed at r146458
1425
1426         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp: Removed.
1427
1428 2014-07-27  Bruno de Oliveira Abinader  <bruno.d@partner.samsung.com>
1429
1430         Support for :enabled selector on Anchor & Area elements
1431         https://bugs.webkit.org/show_bug.cgi?id=134826
1432
1433         Reviewed by Darin Adler.
1434
1435         Updates the PseudoClassEnabled selector checker to check for Anchor & Area
1436         elements with a 'href' attribute.
1437
1438         Spec: http://html.spec.whatwg.org/#selector-enabled
1439
1440         Test: fast/css/css-selector-enabled-links.html
1441
1442         * css/SelectorCheckerTestFunctions.h:
1443         (WebCore::isEnabled): Added check for anchor & area elements.
1444
1445 2014-07-27  Daniel Bates  <dabates@apple.com>
1446
1447         [WK2] Crash when accessing window.localStorage after calling window.close()
1448         https://bugs.webkit.org/show_bug.cgi?id=135328
1449         <rdar://problem/17315237>
1450
1451         Reviewed by Sam Weinig.
1452
1453         Fixes an issue where accessing local storage for the first time after calling window.close()
1454         causes a crash.
1455
1456         For now, we should disallow accessing local storage after calling window.close() regardless of
1457         whether it's the first access to local storage as this seems like a bad idiom to support. Note,
1458         this represents a change in behavior from WebKit1. If such usage of window.localStorage turns
1459         out to be reasonable then we can visit this decision again in <https://bugs.webkit.org/show_bug.cgi?id=135330>.
1460
1461         Tests: storage/domstorage/localstorage/access-storage-after-window-close.html
1462                storage/domstorage/localstorage/access-storage-then-set-value-in-storage-after-window-close.html
1463                storage/domstorage/localstorage/set-value-in-storage-after-window-close.html
1464
1465         * page/DOMWindow.cpp:
1466         (WebCore::DOMWindow::localStorage): Modified to only return the cached local storage or
1467         create a new local storage so long as the page isn't being closed. Also, substitute nullptr
1468         for 0.
1469         (WebCore::DOMWindow::close): Call Page::setIsClosing() to mark that the page is closing.
1470         * page/Page.cpp:
1471         (WebCore::Page::Page): Initialize m_isClosing to false.
1472         * page/Page.h:
1473         (WebCore::Page::setIsClosing): Added.
1474         (WebCore::Page::isClosing): Added.
1475
1476 2014-07-27  Filip Pizlo  <fpizlo@apple.com>
1477
1478         Merge r170090, r170092, r170129, r170141, r170161, r170215, r170275, r170375, r170376, r170382, r170383, r170399, r170436, r170489, r170490, r170556 from ftlopt.
1479         
1480         This fixes the previous mismerge and adds test coverage for the thing that went wrong.
1481         Also, this adds some helpers for making it easier to inspect JavaScript values.
1482
1483         * testing/Internals.cpp:
1484         (WebCore::Internals::description):
1485         * testing/Internals.h:
1486         * testing/Internals.idl:
1487
1488     2014-07-25  Mark Lam  <mark.lam@apple.com>
1489     
1490             [ftlopt] Renamed DebuggerActivation to DebuggerScope.
1491             <https://webkit.org/b/134273>
1492     
1493             Reviewed by Michael Saboff.
1494     
1495             No new tests.
1496     
1497             * ForwardingHeaders/debugger/DebuggerActivation.h: Removed.
1498             - Removed because this is not used.
1499     
1500 2014-07-26  Brian J. Burg  <burg@cs.washington.edu>
1501
1502         Web Replay: log and enforce session/segment state machine transitions
1503         https://bugs.webkit.org/show_bug.cgi?id=135224
1504
1505         Reviewed by Timothy Hatcher.
1506
1507         For debugging purposes, log session and segment state transitions.
1508         Assert that segment state transitions are valid.
1509
1510         No new tests. No behavior was changed.
1511
1512         * replay/ReplayController.cpp:
1513         (WebCore::logDispatchedDOMEvent):
1514         (WebCore::sessionStateToString):
1515         (WebCore::segmentStateToString):
1516         (WebCore::ReplayController::setSessionState):
1517         (WebCore::ReplayController::setSegmentState):
1518         (WebCore::ReplayController::createSegment):
1519         (WebCore::ReplayController::completeSegment): Remove a wrong state transition.
1520         (WebCore::ReplayController::loadSegmentAtIndex):
1521         (WebCore::ReplayController::unloadSegment): Fix a now-erroneous assertion.
1522         (WebCore::ReplayController::startPlayback):
1523         (WebCore::ReplayController::pausePlayback):
1524         (WebCore::ReplayController::willDispatchEvent):
1525         (WebCore::ReplayController::cancelPlayback):
1526         * replay/ReplayController.h:
1527
1528 2014-07-26  Filip Pizlo  <fpizlo@apple.com>
1529
1530         Unreviewed, roll out r171641-r171644. It broke some tests; will investigate and
1531         reland later.
1532
1533         * ForwardingHeaders/debugger/DebuggerActivation.h: Added.
1534
1535 2014-07-26  Timothy Horton  <timothy_horton@apple.com>
1536
1537         Crash in Web Content Process under ~PDFDocument under clearTouchEventListeners at topDocument()
1538         https://bugs.webkit.org/show_bug.cgi?id=135319
1539         <rdar://problem/17315168>
1540
1541         Reviewed by Darin Adler and Antti Koivisto.
1542
1543         * dom/Document.h:
1544         * dom/Document.cpp:
1545         (WebCore::Document::Document):
1546         (WebCore::Document::prepareForDestruction):
1547         Add a flag on Document, m_hasPreparedForDestruction, which ensures
1548         that each Document only goes through prepareForDestruction() once.
1549         prepareForDestruction() can be called a number of times during teardown,
1550         but it's only necessary to actually execute it once.
1551         
1552         This was previously achieved by virtue of all callers of prepareForDestruction()
1553         first checking hasLivingRenderTree, and prepareForDestruction() tearing down
1554         the render tree, but that meant that prepareForDestruction() was not called
1555         for Documents who never had a render tree in the first place.
1556
1557         The only part of prepareForDestruction() that is now predicated on hasLivingRenderTree()
1558         is the call to destroyRenderTree(); the rest of the function has the potential to be relevant
1559         for non-rendered placeholder documents and can safely deal with them in other ways.
1560
1561         It is important to call prepareForDestruction() on non-rendered placeholder documents
1562         because some of the cleanup (like disconnectFromFrame()) is critical to safe destruction.
1563
1564         * loader/FrameLoader.cpp:
1565         (WebCore::FrameLoader::clear):
1566         Call prepareForDestruction() even if we don't have a living render tree.
1567         For the sake of minimizing change, removeFocusedNodeOfSubtree still
1568         depends on having a living render tree before calling prepareForDestruction().
1569
1570         * page/Frame.cpp:
1571         (WebCore::Frame::setView):
1572         (WebCore::Frame::setDocument):
1573         Call prepareForDestruction() even if we don't have a living render tree.
1574
1575 2014-07-25  Filip Pizlo  <fpizlo@apple.com>
1576
1577         Merge r170090, r170092, r170129, r170141, r170161, r170215, r170275, r170375, r170376, r170382, r170383, r170399, r170436, r170489, r170490, r170556 from ftlopt.
1578
1579     2014-07-25  Mark Lam  <mark.lam@apple.com>
1580     
1581             [ftlopt] Renamed DebuggerActivation to DebuggerScope.
1582             <https://webkit.org/b/134273>
1583     
1584             Reviewed by Michael Saboff.
1585     
1586             No new tests.
1587     
1588             * ForwardingHeaders/debugger/DebuggerActivation.h: Removed.
1589             - Removed because this is not used.
1590     
1591 2014-07-25  Zalan Bujtas  <zalan@apple.com>
1592
1593         Subpixel rendering: Rounded rect gets non-renderable at certain subpixel size.
1594         https://bugs.webkit.org/show_bug.cgi?id=135314
1595         <rdar://problem/17812921>
1596
1597         Reviewed by Tim Horton.
1598
1599         While calculating the rounded rect for painting, the radius is adjusted to compensate
1600         for the pixel snapped size. However while scaling the radius, certain values overflow
1601         (float) mantissa and it produces a non-renderable rounded rect where the radius becomes bigger
1602         than the rectangle dimensions. In such cases, we need to shrink the radius to make it
1603         renderable again.
1604
1605         Test: transitions/rounded-rect-becomes-non-renderable-while-transitioning.html
1606
1607         * platform/graphics/RoundedRect.cpp:
1608         (WebCore::RoundedRect::pixelSnappedRoundedRectForPainting): shrink the radius by
1609         one device pixel. It is as good as any other small value.
1610
1611 2014-07-25  Jer Noble  <jer.noble@apple.com>
1612
1613         [EME][Mac] CDM error messages not piped through to MediaKeySession correctly; clients don't receive error events
1614         https://bugs.webkit.org/show_bug.cgi?id=135312
1615         <rdar://problem/17817223>
1616
1617         Reviewed by Brent Fulgham.
1618
1619         Set (and clear) the client interface so that errors can be piped from the CDMSession up to the MediaKeySession.
1620
1621         * Modules/encryptedmedia/MediaKeySession.cpp:
1622         (WebCore::MediaKeySession::MediaKeySession):
1623         (WebCore::MediaKeySession::close):
1624
1625 2014-07-25  Jer Noble  <jer.noble@apple.com>
1626
1627         [MSE] Playback stalls & readyState drops to HAVE_CURRENT_DATA at end of stream with unbalanced buffered SourceBuffers
1628         https://bugs.webkit.org/show_bug.cgi?id=135291
1629         <rdar://problem/17715503>
1630
1631         Reviewed by Sam Weinig.
1632
1633         Test: media/media-source/media-source-end-of-stream-buffered.html
1634
1635         When determining the correct ReadyState for the MediaSource in monitorSourceBuffers(), use the same
1636         definition of "buffered" as is used in the calculation of HTMLMediaElement.buffered and in the
1637         Stream Ended algorithm. Namely, when the stream has ended, treat each SourceBuffer as if its last
1638         buffered range extends to the duration of the stream. This allows playback to continue through to
1639         the duration without stalling due to monitorSourceBuffers().
1640
1641         * Modules/mediasource/SourceBuffer.cpp:
1642         (WebCore::SourceBuffer::bufferedAccountingForEndOfStream): Added; extends the last range in buffered
1643             to MediaSource::duration() if the MediaSource is ended.
1644         (WebCore::SourceBuffer::hasCurrentTime): Uses bufferedAccountingForEndOfStream().
1645         (WebCore::SourceBuffer::hasFutureTime): Ditto.
1646         (WebCore::SourceBuffer::canPlayThrough): Ditto.
1647         * Modules/mediasource/SourceBuffer.h:
1648
1649         Add a convenience method for determining whether the MediaSource has ended:
1650         * Modules/mediasource/MediaSource.cpp:
1651         (WebCore::MediaSource::isEnded):
1652         * Modules/mediasource/MediaSource.h:
1653
1654         Add start() and end() methods that don't take a (usually ignored) isValid inout parameter. Add duration()
1655         and maximumBufferedTime() convenience methods:
1656         * platform/graphics/PlatformTimeRanges.cpp:
1657         (WebCore::PlatformTimeRanges::start):
1658         (WebCore::PlatformTimeRanges::end):
1659         (WebCore::PlatformTimeRanges::duration):
1660         (WebCore::PlatformTimeRanges::maximumBufferedTime):
1661         * platform/graphics/PlatformTimeRanges.h:
1662
1663 2014-07-25  Pratik Solanki  <psolanki@apple.com>
1664
1665         [iOS] REGRESSION(r171526): Images fail to load sometimes
1666         https://bugs.webkit.org/show_bug.cgi?id=135304
1667         <rdar://problem/17811922>
1668
1669         Reviewed by Alexey Proskuryakov.
1670
1671         SharedBuffer::createCFData() calls data() as a way to coalesce the data array elements and
1672         segments into m_buffer. However, data() has an optimization where if we had a single element
1673         in the data array, it would just return that and not do coalescing. So when we passed
1674         m_buffer to WebCoreSharedData, we passed a buffer with no data in it.
1675
1676         Fix this by bringing the optimization to createCFData() and return the CFDataRef from the
1677         data array if we just have a single element.
1678
1679         No new tests. Should be covered by existing tests.
1680
1681         * platform/mac/SharedBufferMac.mm:
1682         (WebCore::SharedBuffer::createCFData):
1683
1684 2014-07-25  Jer Noble  <jer.noble@apple.com>
1685
1686         [MSE] High CPU usage in SampleMap::findSamplesWithinPresentationRange() with a large number of buffered samples.
1687         https://bugs.webkit.org/show_bug.cgi?id=135247
1688
1689         Reviewed by Geoffrey Garen.
1690
1691         Anchor our search for overlapping frames to the end of the search range when the overlap range is sufficiently
1692         close to the end of the search range. The common case for this search is when a sample is about to be appended
1693         to the end of the sample queue, so this should turn most searches into no-ops.
1694
1695         * Modules/mediasource/SampleMap.cpp:
1696         (WebCore::PresentationOrderSampleMap::findSamplesWithinPresentationRangeFromEnd):
1697         * Modules/mediasource/SampleMap.h:
1698         * Modules/mediasource/SourceBuffer.cpp:
1699         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
1700
1701 2014-07-25  Gavin Barraclough  <baraclough@apple.com>
1702
1703         Yosemite version number is 101000
1704         https://bugs.webkit.org/show_bug.cgi?id=135301
1705
1706         Reviewed by Sam Weinig.
1707
1708         * WebCore.exp.in:
1709         * platform/ContentFilter.h:
1710         * platform/mac/ScrollViewMac.mm:
1711         (WebCore::ScrollView::platformVisibleContentRect):
1712         * platform/mac/ThemeMac.mm:
1713         (WebCore::updateStates):
1714         (WebCore::paintToggleButton):
1715         * platform/network/cf/CookieJarCFNet.cpp:
1716         (WebCore::copyCookiesForURLWithFirstPartyURL):
1717         * platform/network/cf/ResourceRequest.h:
1718         (WebCore::ResourceRequest::resourcePrioritiesEnabled):
1719         * rendering/RenderThemeMac.mm:
1720         (WebCore::RenderThemeMac::search):
1721
1722 2014-07-25  David Hyatt  <hyatt@apple.com>
1723
1724         [New Multicolumn] RenderViews paginated as RL or LR don't handle percentage widths correctly.
1725         REGRESSION: Images don’t scale to fit in page in vertical text books
1726
1727         https://bugs.webkit.org/show_bug.cgi?id=135204
1728         <rdar://problem/17043792>
1729         
1730         Reviewed by Simon Fraser.
1731
1732         Added fast/multicol/pagination/RightToLeft-max-width.html
1733
1734         * rendering/RenderView.cpp:
1735         (WebCore::RenderView::availableLogicalHeight):
1736         Put back in the same code that used to exist for the old columns (but ported to the new
1737         columns).
1738     
1739 2014-07-25  Dan Bernstein  <mitz@apple.com>
1740
1741         [Mac] Unneeded MobileMe workaround in ResourceHandle::receivedCredential
1742         https://bugs.webkit.org/show_bug.cgi?id=135297
1743
1744         Reviewed by Alexey Proskuryakov.
1745
1746         * platform/network/mac/ResourceHandleMac.mm:
1747         (WebCore::ResourceHandle::receivedCredential): Removed the site-specific behavior for
1748         gallery.me.com.
1749
1750 2014-07-25  Commit Queue  <commit-queue@webkit.org>
1751
1752         Unreviewed, rolling out r171480.
1753         https://bugs.webkit.org/show_bug.cgi?id=135300
1754
1755         it broke replaced elements in pagination (Requested by dhyatt_
1756         on #webkit).
1757
1758         Reverted changeset:
1759
1760         "Ensure we compute the min and max height of replaced elements
1761         to 'none' or 0 when appropriate."
1762         https://bugs.webkit.org/show_bug.cgi?id=135181
1763         http://trac.webkit.org/changeset/171480
1764
1765 2014-07-25  Commit Queue  <commit-queue@webkit.org>
1766
1767         Unreviewed, rolling out r171587.
1768         https://bugs.webkit.org/show_bug.cgi?id=135294
1769
1770         Made fast/dom/HTMLObjectElement/beforeload-set-text-
1771         crash.xhtml crash again (Requested by ap on #webkit).
1772
1773         Reverted changeset:
1774
1775         "REGRESSION (r169105): Crash in selection"
1776         https://bugs.webkit.org/show_bug.cgi?id=134303
1777         http://trac.webkit.org/changeset/171587
1778
1779 2014-07-25  Dan Bernstein  <mitz@apple.com>
1780
1781         ResourceErrorBase::compare doesn’t call the right platformCompare override
1782         https://bugs.webkit.org/show_bug.cgi?id=135240
1783
1784         Reviewed by Alexey Proskuryakov.
1785
1786         * platform/network/ResourceErrorBase.cpp:
1787         (WebCore::ResourceErrorBase::compare): Changed to call ResourceError::platformCompare.
1788         * platform/network/cf/ResourceError.h: Made platformCompare public.
1789         * platform/network/soup/ResourceError.h: Ditto.
1790
1791 2014-07-25  Dan Bernstein  <mitz@apple.com>
1792
1793         [Cocoa] WebProtectionSpace::receivesCredentialSecurely incorrectly returns false in some cases
1794         https://bugs.webkit.org/show_bug.cgi?id=135241
1795
1796         Reviewed by Alexey Proskuryakov.
1797
1798         * WebCore.exp.in: Export ProtectionSpace::receivesCredentialSecurely.
1799
1800         * platform/network/cocoa/ProtectionSpaceCocoa.h: Declare override of receivesCredentialSecurely.
1801         * platform/network/cocoa/ProtectionSpaceCocoa.mm:
1802         (WebCore::ProtectionSpace::receivesCredentialSecurely): Use -[NSURLProtectionSpace receivesCredentialSecurely].
1803
1804 2014-07-25  Zalan Bujtas  <zalan@apple.com>
1805
1806         Subpixel rendering: iOS video playback controls look blurry.
1807         https://bugs.webkit.org/show_bug.cgi?id=135245
1808         <rdar://problem/16878037>
1809
1810         Reviewed by Simon Fraser.
1811
1812         This patch introduces a compositing parent of the overlay control panel so that
1813         the transformed overlay panel becomes sharp. This is a workaround for webkit.org/b/135246.
1814
1815         Can't find a way to test it yet.
1816
1817         * Modules/mediacontrols/mediaControlsApple.css:
1818         (video::-webkit-media-controls-panel-composited-parent):
1819         * Modules/mediacontrols/mediaControlsApple.js:
1820         (Controller.prototype.createControls):
1821         (Controller.prototype.addControls):
1822         * Modules/mediacontrols/mediaControlsiOS.css:
1823         (video::-webkit-media-controls-panel-composited-parent):
1824         * Modules/mediacontrols/mediaControlsiOS.js: This is a workaround for webkit.org/b/135248
1825         It pushes the overlay panel down to close the gap with the video element. Since the
1826         panel's size in css pixels is scale dependent, the gap needs to be scale dependent too.
1827         (ControllerIOS.prototype.set pageScaleFactor):
1828
1829 2014-07-24  Dirk Schulze  <krit@webkit.org>
1830
1831         Turn x/y to presentation attributes
1832         https://bugs.webkit.org/show_bug.cgi?id=135215
1833
1834         Reviewed by Dean Jackson.
1835
1836         This follows the patch for width and height presentation attributes and
1837         turns x and y to presentation attributes as well:
1838
1839         http://trac.webkit.org/changeset/171341
1840
1841         Tests: svg/css/parse-length.html
1842                transitions/svg-layout-transition.html
1843
1844         Added copyright where I forgot it in previous patch.
1845
1846         * css/CSSComputedStyleDeclaration.cpp: Computed style of x and y.
1847         (WebCore::ComputedStyleExtractor::propertyValue):
1848         * css/CSSParser.cpp:
1849         (WebCore::isSimpleLengthPropertyID): Add x and y to list.
1850         * css/DeprecatedStyleBuilder.cpp:
1851         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Resolve x and y.
1852         * css/SVGCSSParser.cpp:
1853         (WebCore::CSSParser::parseSVGValue): Parse x and y property.
1854         * css/SVGCSSPropertyNames.in: Add x and y to list of names.
1855         * css/StyleResolver.h:
1856         * page/animation/CSSPropertyAnimation.cpp: Animate x and y as Length.
1857         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1858         * rendering/style/RenderStyle.h: Add x and y setters and getters.
1859         * rendering/style/SVGRenderStyle.cpp: Add x and y setters for StyleLayoutData.
1860         (WebCore::SVGRenderStyle::SVGRenderStyle):
1861         (WebCore::SVGRenderStyle::operator==):
1862         (WebCore::SVGRenderStyle::copyNonInheritedFrom):
1863         (WebCore::SVGRenderStyle::diff):
1864         * rendering/style/SVGRenderStyle.h:
1865         (WebCore::SVGRenderStyle::setX):
1866         (WebCore::SVGRenderStyle::setY):
1867         (WebCore::SVGRenderStyle::x):
1868         (WebCore::SVGRenderStyle::y):
1869         * rendering/style/SVGRenderStyleDefs.cpp: Add StyleLayoutData for style storing.
1870         (WebCore::StyleLayoutData::StyleLayoutData):
1871         (WebCore::StyleLayoutData::copy):
1872         (WebCore::StyleLayoutData::operator==):
1873         * rendering/style/SVGRenderStyleDefs.h:
1874         (WebCore::StyleLayoutData::create):
1875         (WebCore::StyleLayoutData::operator!=):
1876         * rendering/svg/RenderSVGRect.cpp:
1877         (WebCore::RenderSVGRect::updateShapeFromElement):
1878         * rendering/svg/SVGPathData.cpp: Use RenderStyle values rather than attribute values.
1879         (WebCore::updatePathFromRectElement):
1880         * svg/SVGAnimationElement.cpp:
1881         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty): Fix text detection.
1882         * svg/SVGElement.cpp: Add x and y to the relevant property lists.
1883         (WebCore::populateAttributeNameToCSSPropertyIDMap):
1884         (WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
1885         * svg/SVGFilterElement.cpp: Style update on change of x and y.
1886         (WebCore::SVGFilterElement::svgAttributeChanged):
1887         * svg/SVGMaskElement.cpp: Ditto.
1888         (WebCore::SVGMaskElement::svgAttributeChanged):
1889         * svg/SVGPatternElement.cpp: Ditto.
1890         (WebCore::SVGPatternElement::svgAttributeChanged):
1891         * svg/SVGRectElement.cpp: Ditto.
1892         (WebCore::SVGRectElement::svgAttributeChanged):
1893         * svg/SVGTextPositioningElement.cpp: Exclude x and y of text elements since they
1894             are lists instead of individual values. Solution about to be discussed
1895             in the WG. Keep current behavior for now.
1896         (WebCore::SVGTextPositioningElement::collectStyleForPresentationAttribute):
1897         (WebCore::SVGTextPositioningElement::isPresentationAttribute):
1898         * svg/SVGTextPositioningElement.h:
1899
1900 2014-07-24  Yusuke Suzuki  <utatane.tea@gmail.com>
1901
1902         CSS JIT: Implement Pseudo Element
1903         https://bugs.webkit.org/show_bug.cgi?id=134835
1904
1905         Reviewed by Benjamin Poulain.
1906
1907         Implement Pseudo Element handling for CSS JIT SelectorCompiler.
1908         At first, we start with the simple implementation. We handle limited number of pseudo element,
1909         before, after, first-line, first-letter.
1910
1911         Tests: fast/selectors/pseudo-element-inside-any.html
1912                fast/selectors/querySelector-pseudo-element-inside-functional-pseudo-class-any.html
1913                fast/selectors/querySelector-pseudo-element-inside-functional-pseudo-class-not.html
1914                fast/selectors/querySelector-pseudo-element.html
1915
1916         * css/ElementRuleCollector.cpp:
1917         (WebCore::ElementRuleCollector::ruleMatches):
1918         * css/SelectorChecker.cpp:
1919         (WebCore::SelectorChecker::matchRecursively):
1920         * cssjit/SelectorCompiler.cpp:
1921         (WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
1922         (WebCore::SelectorCompiler::constructFragments):
1923         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
1924         (WebCore::SelectorCompiler::SelectorCodeGenerator::loadCheckingContext):
1925         (WebCore::SelectorCompiler::SelectorCodeGenerator::branchOnResolvingModeWithCheckingContext):
1926         (WebCore::SelectorCompiler::SelectorCodeGenerator::branchOnResolvingMode):
1927         (WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNotResolvingStyle):
1928         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
1929         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
1930         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
1931         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPseudoElement):
1932         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateRequestedPseudoElementEqualsToSelectorPseudoElement):
1933         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateMarkPseudoStyleForPseudoElement):
1934         * cssjit/SelectorCompiler.h:
1935         * rendering/style/RenderStyle.h:
1936         * rendering/style/RenderStyleConstants.h:
1937
1938 2014-07-24  Radu Stavila  <stavila@adobe.com>
1939
1940         REGRESSION (r169105): Crash in selection
1941         https://bugs.webkit.org/show_bug.cgi?id=134303
1942
1943         Patch by Radu Stavila <stavila@adobe.com> on 2014-07-24
1944         Reviewed by David Hyatt.
1945
1946         When splitting the selection between different subtrees, all subtrees must have their selection cleared before
1947         starting to apply the new selection. Otherwise, when selecting objects in a named flow thread and going up
1948         its containing block chain, we can end up in the view's selection root, which has not yet been updated and so
1949         we get inconsistent data.
1950
1951         To achieve this goal, the selection update was split into a "clear" and an "apply" method. The updateSelectionForSubtrees
1952         method first iterates through all subtrees and performs the "clear" method and then starts all over again
1953         and performs the "apply" method.
1954
1955         Test: fast/regions/selection/crash-deselect.html
1956
1957         * WebCore.xcodeproj/project.pbxproj:
1958         * rendering/RenderSelectionInfo.h:
1959         * rendering/RenderView.cpp:
1960         (WebCore::RenderView::setSelection):
1961         (WebCore::RenderView::splitSelectionBetweenSubtrees):
1962         (WebCore::RenderView::updateSelectionForSubtrees): Added, clears and re-applies selection for all selection subtrees.
1963         (WebCore::RenderView::clearSubtreeSelection): Added, clears selection and returns previously selected information.
1964         (WebCore::RenderView::applySubtreeSelection): Added, updates the selection status of all objects inside the selection tree, compares old and new data and repaints accordingly.
1965         (WebCore::RenderView::setSubtreeSelection): Deleted.
1966         * rendering/RenderView.h:
1967         * rendering/SelectionSubtreeRoot.cpp:
1968         (WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot):
1969         * rendering/SelectionSubtreeRoot.h:
1970         (WebCore::SelectionSubtreeRoot::OldSelectionData::OldSelectionData):
1971
1972 2014-07-24  Ryosuke Niwa  <rniwa@webkit.org>
1973
1974         REGRESSION(r164401): Placing a caret doesn't bring up autocorrection panel
1975         https://bugs.webkit.org/show_bug.cgi?id=135278
1976
1977         Reviewed by Tim Horton.
1978
1979         The bug was caused by editorUIUpdateTimerFired calling respondToChangedSelection only if the selection was
1980         triggered by dictation instead of only if it was NOT triggered by dictation.
1981
1982         Prior to r164401, AlternativeTextController::respondToMarkerAtEndOfWord exited early when SetSelectionOptions
1983         had DictationTriggered set. r164401 intended to move this check to editorUIUpdateTimerFired to avoid passing
1984         options around but the boolean condition was erroneously flipped.
1985
1986         Fixed the bug by negating the condition in editorUIUpdateTimerFired.
1987
1988         No new tests for now since autocorrection panel cannot be tested automatically. (We should really automate this!)
1989
1990         * editing/Editor.cpp:
1991         (WebCore::Editor::editorUIUpdateTimerFired):
1992
1993 2014-07-24  Pratik Solanki  <psolanki@apple.com>
1994
1995         REGRESSION(r171526): [GTK] Massive crashes.
1996         https://bugs.webkit.org/show_bug.cgi?id=135283
1997
1998         Unreviewed. GTK build fix after r171526. Initialize m_buffer in SharedBuffer constructor.
1999
2000         * platform/soup/SharedBufferSoup.cpp:
2001         (WebCore::SharedBuffer::SharedBuffer):
2002
2003 2014-07-24  Tim Horton  <timothy_horton@apple.com>
2004
2005         Crashes under scanSelectionForTelephoneNumbers in Range::text() on some sites
2006         https://bugs.webkit.org/show_bug.cgi?id=135281
2007         <rdar://problem/17803347>
2008
2009         Reviewed by Ryosuke Niwa.
2010
2011         * editing/Editor.cpp:
2012         (WebCore::Editor::scanSelectionForTelephoneNumbers):
2013         toNormalizedRange is not guaranteed to return a non-null range.
2014         If it returns null, pass the empty markedRanges down to the client as our new set.
2015
2016 2014-07-24  Dan Bernstein  <mitz@apple.com>
2017
2018         WebCore part of <rdar://problem/17593701> Assertion failure in WebPage::reload (!m_pendingNavigationID) when reloading after a same-document back navigation
2019         https://bugs.webkit.org/show_bug.cgi?id=135129
2020
2021         Reviewed by Darin Adler.
2022
2023         * WebCore.exp.in: Exported equalIgnoringFragmentIdentifier(const URL&, const URL&).
2024
2025 2014-07-24  Simon Fraser  <simon.fraser@apple.com>
2026
2027         [iOS WK1] CSS viewport units use the wrong viewport size in WebKit1
2028         https://bugs.webkit.org/show_bug.cgi?id=135254
2029         <rdar://problem/17781423>
2030
2031         Reviewed by Tim Horton.
2032
2033         Test: fast/css/viewport-units-dynamic.html
2034         
2035         In WebKit1 on iOS, we want to resolve viewport units against the visible
2036         viewport, not the legacy WK1 notion of the "viewport" which is the entire document.
2037         
2038         Fixes rendering of medium.com articles in WK1 views on iPad.
2039
2040         * page/FrameView.cpp:
2041         (WebCore::FrameView::viewportSizeForCSSViewportUnits):
2042
2043 2014-07-24  Myles C. Maxfield  <mmaxfield@apple.com>
2044
2045         Crash when measuring a glyphs from a fallback SVG font
2046         https://bugs.webkit.org/show_bug.cgi?id=135264
2047
2048         Reviewed by Simon Fraser.
2049
2050         We can't realize font data for all fallback fonts ahead
2051         of time, but we don't have all the necessary context to
2052         realize SVG fallback data when it's needed. For now, we
2053         can just bail; however, a larger, more invasive fix is
2054         in order.
2055
2056         Test: svg/text/svg-fallback-font-crash.html
2057
2058         * platform/graphics/WidthIterator.cpp:
2059         (WebCore::applyFontTransforms):
2060
2061 2014-07-24  Daniel Bates  <dabates@apple.com>
2062             And Alexey Proskuryakov  <ap@apple.com>
2063
2064         [iOS] REGRESSION (WebKit2): Can't login to Wordpress.com, facebook.com when always allowing cookies
2065         https://bugs.webkit.org/show_bug.cgi?id=135273
2066         <rdar://problem/17598815>
2067
2068         Reviewed by Alexey Proskuryakov.
2069
2070         Fixes an issue where cookies may be created in the wrong cookie store.
2071
2072         Currently, when we update the CFURLRequest object associated with a ResourceRequest object
2073         we explicitly set a cookie storage, cookie accept policy, and SSL properties based on the
2074         corresponding values in the old CFURLRequest object (if we have one). This ultimately leads
2075         to CFNetwork associating the cookies for the request with a different cookie store when we
2076         handle the request in the NetworkProcess. Instead, we shouldn't set these properties
2077         explicitly as we already copy them implicitly earlier (via CFURLRequestCreateMutableCopy()).
2078
2079         * platform/network/cf/ResourceRequestCFNet.cpp:
2080         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2081
2082 2014-07-24  Peyton Randolph  <prandolph@apple.com>
2083
2084         Rename feature flag for long-press gesture on Mac.                                                                   
2085         https://bugs.webkit.org/show_bug.cgi?id=135259                                                                  
2086
2087         Reviewed by Beth Dakin.
2088
2089         * Configurations/FeatureDefines.xcconfig:
2090         Rename LINK_LONG_PRESS to MAC_LONG_PRESS.
2091
2092 2014-07-24  Dan Bernstein  <mitz@apple.com>
2093
2094         Fixed Windows build fix.
2095
2096         * platform/network/cf/AuthenticationCF.cpp:
2097
2098 2014-07-24  Dan Bernstein  <mitz@apple.com>
2099
2100         Attempted Windows build fix.
2101
2102         * platform/network/cf/AuthenticationCF.cpp:
2103         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2104         * platform/network/cf/CredentialStorageCFNet.cpp:
2105         (WebCore::CredentialStorage::getFromPersistentStorage):
2106         * platform/network/cf/ProtectionSpaceCFNet.cpp:
2107         (WebCore::ProtectionSpace::receivesCredentialSecurely):
2108         (WebCore::ProtectionSpaceBase::receivesCredentialSecurely): Deleted.
2109
2110 2014-07-24  Dan Bernstein  <mitz@apple.com>
2111
2112         <rdar://problem/17766348> [Cocoa] WebCore::ProtectionSpace doesn’t preserve all NSURLProtectionSpace properties, such as the distinguishedNames array
2113         https://bugs.webkit.org/show_bug.cgi?id=135229
2114
2115         Reviewed by Alexey Proskuryakov.
2116
2117         * CMakeLists.txt: Updated for rename of a source file.
2118
2119         * WebCore.exp.in: Updated.
2120
2121         * WebCore.vcxproj/WebCore.vcxproj: Updated for rename of source files, added
2122         ProtectionSpaceCFNet.{cpp,h}.
2123         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2124
2125         * WebCore.xcodeproj/project.pbxproj: Updated for rename of source files, added
2126         ProtectionSpaceCococa.{h.mm}.
2127
2128         * platform/network/ProtectionSpace.cpp: Renamed to ProtectionSpaceBase.cpp.
2129         * platform/network/ProtectionSpace.h: This file was renamed to ProtectionSpaceBase.h, and
2130         in its place added a generic ProtectionSpace class that just derives from
2131         ProtectionSpaceBase. For Cocoa and CFNetwork, ProtectionSpace{Cocoa,CFNet}.h is included
2132         instead of the generic class.
2133
2134         * platform/network/ProtectionSpaceBase.cpp: Renamed ProtectionSpace.cpp to this.
2135         (WebCore::ProtectionSpaceBase::ProtectionSpaceBase): Updated for rename.
2136         (WebCore::ProtectionSpaceBase::host): Ditto.
2137         (WebCore::ProtectionSpaceBase::port): Ditto.
2138         (WebCore::ProtectionSpaceBase::serverType): Ditto.
2139         (WebCore::ProtectionSpaceBase::isProxy): Ditto.
2140         (WebCore::ProtectionSpaceBase::realm): Ditto.
2141         (WebCore::ProtectionSpaceBase::authenticationScheme): Ditto.
2142         (WebCore::ProtectionSpaceBase::receivesCredentialSecurely): Removed CFNetwork-specific part,
2143         which is now implemented in ProtectionSpaceCFNet.cpp.
2144         (WebCore::ProtectionSpaceBase::compare): Replaced operator== with this, and made it call
2145         ProtectionSpace::platformCompare at the end if needed.
2146
2147         * platform/network/ProtectionSpaceBase.h: Renamed ProtectionSpace.h to this.
2148         (WebCore::ProtectionSpaceBase::encodingRequiresPlatformData): Added with a default
2149         implementation that returns false, for ProtectionSpace implementations to override.
2150         (WebCore::ProtectionSpaceBase::platformCompare): Added with a default implementation that
2151         returns true, for ProtectionSpace implementations to override.
2152         (WebCore::operator==): Changed to call compare.
2153
2154         * platform/network/cf/AuthenticationCF.cpp:
2155         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Changed to use the
2156         ProtectionSpace constructor that takes a CFURLProtectionSpaceRef.
2157         (WebCore::createCF): Changed to use ProtectionSpace::cfSpace.
2158
2159         * platform/network/cf/AuthenticationCF.h: Guarded a couple of functiosn that aren’t used in
2160         Cocoa with #if PLATFORM(WIN).
2161
2162         * platform/network/cf/CredentialStorageCFNet.cpp:
2163         (WebCore::CredentialStorage::getFromPersistentStorage): Changed to use
2164         ProtectionSpace::cfSpace.
2165         (WebCore::CredentialStorage::saveToPersistentStorage): Ditto.
2166
2167         * platform/network/cf/ProtectionSpaceCFNet.cpp: Added.
2168         (WebCore::ProtectionSpaceBase::receivesCredentialSecurely): Override with the
2169         CFNetwork-specific test that was previously in ProtectionSpace.cpp.
2170
2171         * platform/network/cf/ProtectionSpaceCFNet.h: Copied from Source/WebCore/platform/network/ProtectionSpace.h.
2172         Declare ProtectionSpace and override receivesCredentialSecurely.
2173
2174         * platform/network/mac/AuthenticationMac.h: Deleted the ProtectionSpace core() and mac().
2175         * platform/network/mac/AuthenticationMac.mm:
2176         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Changed to use the
2177         ProtectionSpace constructor that takes an NSURLProtectionSpace.
2178         (WebCore::mac): Changed to use ProtectionSpace::nsSpace.
2179
2180         * platform/network/mac/CredentialStorageMac.mm:
2181         (WebCore::CredentialStorage::getFromPersistentStorage): Ditto.
2182
2183         * platform/network/mac/ResourceHandleMac.mm:
2184         (WebCore::ResourceHandle::receivedCredential): Changed to use the ProtectionSpace
2185         constructor that takes an NSURLProtectionSpace.
2186
2187         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
2188         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):
2189         Ditto.
2190
2191         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
2192         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):
2193         Ditto.
2194
2195 2014-07-24  Benjamin Poulain  <benjamin@webkit.org>
2196
2197         [WK2] Fixed/Sticky layers can get mispositioned when the layer tree commit change their position or size
2198         https://bugs.webkit.org/show_bug.cgi?id=135227
2199         <rdar://problem/17279500>
2200
2201         Reviewed by Simon Fraser.
2202
2203         Keep track of the creation/destruction of Fixed and Sticky nodes in the ScrollingTree.
2204
2205         * page/scrolling/ScrollingTree.cpp:
2206         (WebCore::ScrollingTree::ScrollingTree):
2207         * page/scrolling/ScrollingTree.h:
2208         (WebCore::ScrollingTree::hasFixedOrSticky):
2209         (WebCore::ScrollingTree::fixedOrStickyNodeAdded):
2210         (WebCore::ScrollingTree::fixedOrStickyNodeRemoved):
2211         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
2212         (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
2213         (WebCore::ScrollingTreeFixedNode::~ScrollingTreeFixedNode):
2214         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
2215         (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
2216         (WebCore::ScrollingTreeStickyNode::~ScrollingTreeStickyNode):
2217
2218 2014-07-24  Wenson Hsieh  <wenson_hsieh@apple.com>
2219
2220         Let WheelEvent wrap a PlatformWheelEvent
2221         https://bugs.webkit.org/show_bug.cgi?id=135244
2222
2223         When WheelEvent is initialized with a PlatformWheelEvent, store that PlatformWheelEvent for future use.
2224
2225         Reviewed by Beth Dakin.
2226
2227         No new tests because behavior should not have changed.
2228
2229         * dom/WheelEvent.cpp: Added method to access the PlatformWheelEvent.
2230         (WebCore::WheelEvent::WheelEvent):
2231         * dom/WheelEvent.h: Added field to store PlatformWheelEvent, if initialized via PlatformWheelEvent.
2232         (WebCore::WheelEvent::wheelEvent):
2233
2234 2014-07-24  Brian J. Burg  <burg@cs.washington.edu>
2235
2236         Web Replay: don't encode/decode primitive types that lack explicit sizes
2237         https://bugs.webkit.org/show_bug.cgi?id=133430
2238
2239         Reviewed by Anders Carlsson.
2240
2241         Remove uses of unsigned long in encode/decode methods because the type lacks an
2242         explicit size. Move frame index serialization away from using unsigned long.
2243
2244         * replay/ReplayController.cpp:
2245         (WebCore::logDispatchedDOMEvent): Fix the format string.
2246         * replay/SerializationMethods.cpp:
2247         (WebCore::frameIndexFromDocument):
2248         (WebCore::frameIndexFromFrame):
2249         (WebCore::documentFromFrameIndex):
2250         (WebCore::frameFromFrameIndex):
2251         (JSC::EncodingTraits<PluginData>::encodeValue):
2252         (JSC::EncodingTraits<PluginData>::decodeValue):
2253         * replay/SerializationMethods.h:
2254         * replay/WebInputs.json: Remove primitive types without explicit sizes.
2255
2256 2014-07-24  Pratik Solanki  <psolanki@apple.com>
2257
2258         Sharing SharedBuffer between WebCore and ImageIO is racy and crash prone
2259         https://bugs.webkit.org/show_bug.cgi?id=135069
2260         <rdar://problem/17470655>
2261
2262         Reviewed by Simon Fraser.
2263
2264         When passing image data to ImageIO for decoding, we pass an NSData subclass that is a wraper
2265         around SharedBuffer. This can be a problem when ImageIO tries to access the data on the CA
2266         thread. End result is data corruption on large image loads and potential crashes. The fix is
2267         to have SharedBuffer create a copy of its data if the data has been passed to ImageIO and
2268         might be accessed concurrently.
2269
2270         Since Vector is not refcounted, we do this by having a new refcounted object in SharedBuffer
2271         that contains the buffer and we pass that in our NSData subclass WebCoreSharedBufferData.
2272         Code that would result in the Vector memory moving e.g. append(), resize(), now checks to
2273         see if the buffer was shared and if so, will create a new copy of the vector. This ensures
2274         that the main thread does not end up invalidating the vector memory that we have passed it
2275         to ImageIO.
2276
2277         No new tests because no functional changes.
2278
2279         * loader/cache/CachedResource.cpp:
2280         (WebCore::CachedResource::makePurgeable):
2281             Remove early return - createPurgeableMemory() has the correct check now.
2282         * platform/SharedBuffer.cpp:
2283         (WebCore::SharedBuffer::SharedBuffer):
2284         (WebCore::SharedBuffer::adoptVector):
2285         (WebCore::SharedBuffer::createPurgeableBuffer):
2286             Don't create purgeable buffer if we are sharing the buffer.
2287         (WebCore::SharedBuffer::append):
2288         (WebCore::SharedBuffer::clear):
2289         (WebCore::SharedBuffer::copy):
2290         (WebCore::SharedBuffer::duplicateDataBufferIfNecessary): Added.
2291             Create a new copy of the data if we have shared the buffer and if appending to it would
2292             exceed the capacity of the vector resulting in memmove.
2293         (WebCore::SharedBuffer::appendToInternalBuffer): Added.
2294         (WebCore::SharedBuffer::clearInternalBuffer): Added.
2295         (WebCore::SharedBuffer::buffer):
2296             Create a new copy of the buffer if we have shared it.
2297         (WebCore::SharedBuffer::getSomeData):
2298         * platform/SharedBuffer.h:
2299         * platform/cf/SharedBufferCF.cpp:
2300         (WebCore::SharedBuffer::SharedBuffer):
2301         (WebCore::SharedBuffer::singleDataArrayBuffer):
2302         (WebCore::SharedBuffer::maybeAppendDataArray):
2303         * platform/mac/SharedBufferMac.mm:
2304             Pass the InternalBuffer object to WebCoreSharedBufferData
2305         (-[WebCoreSharedBufferData dealloc]):
2306         (-[WebCoreSharedBufferData initWithSharedBufferInternalBuffer:]):
2307         (-[WebCoreSharedBufferData length]):
2308         (-[WebCoreSharedBufferData bytes]):
2309         (WebCore::SharedBuffer::createNSData):
2310             Call createCFData() instead of duplicating code.
2311         (WebCore::SharedBuffer::createCFData):
2312             If the data is in purgeable memory, make a copy of it since m_buffer was cleared when
2313             creating the purgeable buffer.
2314         (-[WebCoreSharedBufferData initWithSharedBuffer:]): Deleted.
2315
2316 2014-07-24  peavo@outlook.com  <peavo@outlook.com>
2317
2318         [Curl] Enable file logging.
2319         https://bugs.webkit.org/show_bug.cgi?id=135202
2320
2321         Reviewed by Alex Christensen.
2322
2323         The Curl api offers the possibility to write log messages to file. Enable this for debugging purposes.
2324
2325         * platform/network/curl/ResourceHandleManager.cpp:
2326         (WebCore::ResourceHandleManager::ResourceHandleManager):
2327         (WebCore::ResourceHandleManager::~ResourceHandleManager):
2328         (WebCore::ResourceHandleManager::initializeHandle):
2329         * platform/network/curl/ResourceHandleManager.h:
2330
2331 2014-07-24  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
2332
2333         Sort WebCore.exp.in after r171252
2334         https://bugs.webkit.org/show_bug.cgi?id=135239
2335
2336         Reviewed by Csaba Osztrogonác.
2337
2338         * WebCore.exp.in:
2339
2340 2014-07-24  Mihnea Ovidenie  <mihnea@adobe.com>
2341
2342         [New Multicolumn] Assertion failure when an input element has multicolumn style
2343         https://bugs.webkit.org/show_bug.cgi?id=135234
2344
2345         Reviewed by Andrei Bucur.
2346
2347         Restrict the assertion in RenderBlock::canComputeRegionRangeForBox
2348         only to RenderNamedFlowThread objects since for RenderMultiColumnFlowThread
2349         objects we can compute a range of regions during their parent block layout.   
2350
2351         Test: fast/multicol/newmulticol/input-as-multicol.html
2352
2353         * rendering/RenderBlock.cpp:
2354         (WebCore::canComputeRegionRangeForBox):
2355
2356 2014-07-23  Jeremy Jones  <jeremyj@apple.com>
2357
2358         Transparent fullscreen background when video is not present.
2359         https://bugs.webkit.org/show_bug.cgi?id=135226
2360
2361         Reviewed by Simon Fraser.
2362
2363         Set background to black just before beginning the animation to fullscreen.
2364
2365         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2366         (WebVideoFullscreenInterfaceAVKit::enterFullscreen): set background color black.
2367
2368 2014-07-23  Joseph Pecoraro  <pecoraro@apple.com>
2369
2370         ScriptController::updateDocument ASSERT mutating map while iterating map
2371         https://bugs.webkit.org/show_bug.cgi?id=135211
2372
2373         Reviewed by Oliver Hunt.
2374
2375         Avoid iterating over m_windowShells in more places. This prevents
2376         the possibility of a collection during JSC allocation which might
2377         cause a mutation to m_windowShells (HTMLMediaElement destruction).
2378
2379         Have ScriptController defriend ScriptCachedFrameData by providing
2380         a getter for the list of window shells.
2381
2382         * bindings/js/ScriptCachedFrameData.cpp:
2383         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
2384         (WebCore::ScriptCachedFrameData::restore):
2385         * bindings/js/ScriptController.cpp:
2386         (WebCore::ScriptController::windowShells):
2387         (WebCore::ScriptController::clearWindowShell):
2388         (WebCore::ScriptController::attachDebugger):
2389         (WebCore::ScriptController::updateDocument):
2390         * bindings/js/ScriptController.h:
2391
2392 2014-07-23  Commit Queue  <commit-queue@webkit.org>
2393
2394         Unreviewed, rolling out r171498.
2395         https://bugs.webkit.org/show_bug.cgi?id=135223
2396
2397         It will regress some scroll position restoration on navigation
2398         (r167916). (Requested by smfr on #webkit).
2399
2400         Reverted changeset:
2401
2402         "[iOS WK2] Header bar on nytimes articles lands in the wrong
2403         place after rubberbanding"
2404         https://bugs.webkit.org/show_bug.cgi?id=135221
2405         http://trac.webkit.org/changeset/171498
2406
2407 2014-07-23  Tim Horton  <timothy_horton@apple.com>
2408
2409         REGRESSION (r171376): Sometimes we detect less than the whole phone number
2410         https://bugs.webkit.org/show_bug.cgi?id=135220
2411         <rdar://problem/17783423>
2412
2413         Reviewed by Brady Eidson.
2414
2415         * editing/Editor.cpp:
2416         (WebCore::Editor::scanSelectionForTelephoneNumbers):
2417         Use the visible selection's start and end instead of base and extent, because they'll
2418         always be in the right order in the case of a directional selection (base can be *after* extent
2419         if you select from right to left). This fixes the code that expands the selection.
2420
2421         Pass the *entire* expanded selection to DataDetectors, instead of using TextIterator.
2422         This way, we will find each number only once, and will never get part of a phone number once
2423         and then the whole phone number later.
2424
2425 2014-07-23  Simon Fraser  <simon.fraser@apple.com>
2426
2427         [iOS WK2] Header bar on nytimes articles lands in the wrong place after rubberbanding
2428         https://bugs.webkit.org/show_bug.cgi?id=135221
2429
2430         Reviewed by Tim Horton.
2431
2432         Add a function on GraphicsLayer to force a flush of the layer position
2433         to the underlying graphics system, so that when layers cease being
2434         scroll-coordinated, we can ensure that their layers are repositioned
2435         in the correct location.
2436
2437         * WebCore.exp.in:
2438         * platform/graphics/GraphicsLayer.h:
2439         (WebCore::GraphicsLayer::forcePositionUpdate):
2440         * platform/graphics/ca/GraphicsLayerCA.cpp:
2441         (WebCore::GraphicsLayerCA::forcePositionUpdate):
2442         * platform/graphics/ca/GraphicsLayerCA.h:
2443         * rendering/RenderLayerCompositor.cpp:
2444         (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer):
2445
2446 2014-07-23  Pratik Solanki  <psolanki@apple.com>
2447
2448         Get rid of SharedBuffer::NSDataRetainPtrWithoutImplicitConversionOperator
2449         https://bugs.webkit.org/show_bug.cgi?id=135219
2450
2451         Reviewed by Anders Carlsson.
2452
2453         No new tests because no functional changes.
2454
2455         * loader/ResourceBuffer.h:
2456         * loader/mac/ResourceBuffer.mm:
2457         (WebCore::ResourceBuffer::createNSData):
2458         * platform/SharedBuffer.h:
2459         (WebCore::SharedBuffer::NSDataRetainPtrWithoutImplicitConversionOperator::NSDataRetainPtrWithoutImplicitConversionOperator): Deleted.
2460         * platform/mac/SharedBufferMac.mm:
2461         (WebCore::SharedBuffer::createNSData):
2462
2463 2014-07-23  Zalan Bujtas  <zalan@apple.com>
2464
2465         Subpixel rendering: Cleanup RenderLayerCompositor::deviceScaleFactor()
2466         https://bugs.webkit.org/show_bug.cgi?id=135208
2467
2468         Reviewed by Simon Fraser.
2469
2470         Use m_renderView.document() to retrieve device scale factor value. m_renderView.document()
2471         is always available while this->page() is not.
2472
2473         No change in behavior.
2474
2475         * rendering/RenderLayerBacking.cpp:
2476         (WebCore::RenderLayerBacking::updateTransform):
2477         (WebCore::RenderLayerBacking::computeTransformOriginForPainting):
2478         * rendering/RenderLayerCompositor.cpp:
2479         (WebCore::RenderLayerCompositor::deviceScaleFactor):
2480
2481 2014-07-23  peavo@outlook.com  <peavo@outlook.com>
2482
2483         [WinCairo] Gstreamer rendering is not working.
2484         https://bugs.webkit.org/show_bug.cgi?id=135201
2485
2486         Reviewed by Alex Christensen.
2487
2488         WinCairo does not support accelerated rendering yet.
2489
2490         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2491         (WebCore::MediaPlayerPrivateGStreamerBase::supportsAcceleratedRendering):
2492
2493 2014-07-23  Commit Queue  <commit-queue@webkit.org>
2494
2495         Unreviewed, rolling out r171455.
2496         https://bugs.webkit.org/show_bug.cgi?id=135209
2497
2498         completely broke selection highlight invalidation (Requested
2499         by thorton on #webkit).
2500
2501         Reverted changeset:
2502
2503         "REGRESSION (r169105): Crash in selection"
2504         https://bugs.webkit.org/show_bug.cgi?id=134303
2505         http://trac.webkit.org/changeset/171455
2506
2507 2014-07-23  Alex Christensen  <achristensen@webkit.org>
2508
2509         Compile window-inactive and fullscreen pseudoclasses in css selectors.
2510         https://bugs.webkit.org/show_bug.cgi?id=135200
2511
2512         Reviewed by Benjamin Poulain.
2513
2514         * css/SelectorChecker.cpp:
2515         (WebCore::SelectorChecker::checkOne):
2516         Removed the check of context.hasSelectionPseudo for a window-inactive pseudoclass.
2517         Moved logic to SelectorCheckerTestFunctions.h to share with the selector compiler.
2518         * css/SelectorCheckerTestFunctions.h:
2519         (WebCore::isWindowInactive):
2520         (WebCore::matchesFullScreenAnimatingFullScreenTransitionPseudoClass):
2521         (WebCore::matchesFullScreenAncestorPseudoClass):
2522         (WebCore::matchesFullScreenDocumentPseudoClass):
2523         Added from SelectorChecker.cpp.
2524         * cssjit/SelectorCompiler.cpp:
2525         (WebCore::SelectorCompiler::addPseudoClassType):
2526         Added unoptimized pseudoclass cases for window-inactive and fullscreen pseudoclasses.
2527         Explicitly listed uncompiled pseudoclasses for future work instead of using a default.
2528
2529 2014-07-23  Brent Fulgham  <bfulgham@apple.com>
2530
2531         [Win] Use NO_RETURN_DUE_TO_CRASH on Windows.
2532         https://bugs.webkit.org/show_bug.cgi?id=13519
2533
2534         Reviewed by Mark Lam.
2535
2536         * svg/SVGZoomAndPan.h: Add NO_RETURN_DUE_TO_CRASH to
2537         header so function declarations match implementation.
2538
2539 2014-07-23  Joseph Pecoraro  <pecoraro@apple.com>
2540
2541         JSDOMWindowShell leaks on pages with media elements
2542         https://bugs.webkit.org/show_bug.cgi?id=135178
2543
2544         Reviewed by Oliver Hunt.
2545
2546         The DOMWindowWorld for HTMLMediaElements with MEDIA_CONTROLS_SCRIPT
2547         was not getting cleared and removed.
2548
2549         * bindings/js/ScriptController.cpp:
2550         (WebCore::ScriptController::clearWindowShell):
2551         Iterate over a copy of the values. A sweep / garbage collection caused by
2552         any JSC allocation during iteration could trigger a mutation of the m_windowShells
2553         table that was being iterating. So instead iterate a list that won't mutate.
2554
2555         * html/HTMLMediaElement.cpp:
2556         (WebCore::HTMLMediaElement::~HTMLMediaElement):
2557         If we had an isolated world, release as much memory as possible.
2558
2559 2014-07-23  Bem Jones-Bey  <bjonesbe@adobe.com>
2560
2561         Ensure we compute the min and max height of replaced elements to 'none' or 0 when appropriate.
2562         https://bugs.webkit.org/show_bug.cgi?id=135181
2563
2564         Reviewed by David Hyatt.
2565
2566         If a replaced element has a percentage min or max height specified then that height value should
2567         compute to 'none' for max-height and 0 for min-height when its containing block
2568         does not have a height 'specified explicitly'.
2569
2570         This is based on a Blink patch by Robert Hogan.
2571
2572         Tests: css2.1/20110323/max-height-percentage-003.html
2573                fast/replaced/max-height-percentage-quirks.html
2574                fast/replaced/min-height-percentage-quirks.html
2575                fast/replaced/min-height-percentage.html
2576
2577         * rendering/RenderBox.cpp:
2578         (WebCore::RenderBox::logicalHeightComputesAsNone):
2579         (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
2580         * rendering/RenderBox.h:
2581
2582 2014-07-23  Bem Jones-Bey  <bjonesbe@adobe.com>
2583
2584         Remove CSS_EXCLUSIONS compile flag and leftover code
2585         https://bugs.webkit.org/show_bug.cgi?id=135175
2586
2587         Reviewed by Zoltan Horvath.
2588
2589         At this point, the CSS_EXCLUSIONS flag guards nothing but some useless
2590         stubs. This removes the flag and the useless code.
2591
2592         No new tests, just removing code.
2593
2594         * Configurations/FeatureDefines.xcconfig:
2595         * bindings/generic/RuntimeEnabledFeatures.cpp:
2596         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
2597         * bindings/generic/RuntimeEnabledFeatures.h:
2598         (WebCore::RuntimeEnabledFeatures::setCSSExclusionsEnabled): Deleted.
2599         (WebCore::RuntimeEnabledFeatures::cssExclusionsEnabled): Deleted.
2600         * testing/InternalSettings.cpp:
2601         (WebCore::InternalSettings::Backup::Backup):
2602         (WebCore::InternalSettings::Backup::restoreTo):
2603         (WebCore::InternalSettings::setCSSExclusionsEnabled): Deleted.
2604         * testing/InternalSettings.h:
2605         * testing/InternalSettings.idl:
2606
2607 2014-07-23  Jer Noble  <jer.noble@apple.com>
2608
2609         [MSE][Mac] Support abort() in SourceBufferPrivateAVFObjC.
2610         https://bugs.webkit.org/show_bug.cgi?id=135163
2611
2612         Reviewed by Brent Fulgham.
2613
2614         Recreate the parser when asked to abort().
2615
2616         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2617         (WebCore::SourceBufferPrivateAVFObjC::abort):
2618
2619 2014-07-23  Myles C. Maxfield  <mmaxfield@apple.com>
2620
2621         Migrate accessibility/ to using nullptr instead of 0
2622         https://bugs.webkit.org/show_bug.cgi?id=135185
2623
2624         Reviewed by Simon Fraser.
2625
2626         No new tests because there is no behavior change.
2627
2628         * accessibility/AXObjectCache.cpp:
2629         (WebCore::AXObjectCache::focusedImageMapUIElement):
2630         (WebCore::AXObjectCache::focusedUIElementForPage):
2631         (WebCore::AXObjectCache::get):
2632         (WebCore::AXObjectCache::getOrCreate):
2633         (WebCore::AXObjectCache::rootObject):
2634         (WebCore::AXObjectCache::rootObjectForFrame):
2635         * accessibility/AXObjectCache.h:
2636         (WebCore::AXObjectCache::focusedUIElementForPage):
2637         (WebCore::AXObjectCache::get):
2638         (WebCore::AXObjectCache::getOrCreate):
2639         (WebCore::AXObjectCache::rootObject):
2640         (WebCore::AXObjectCache::rootObjectForFrame):
2641         (WebCore::AXObjectCache::rootAXEditableElement):
2642         * accessibility/AccessibilityARIAGridRow.cpp:
2643         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
2644         * accessibility/AccessibilityImageMapLink.cpp:
2645         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
2646         (WebCore::AccessibilityImageMapLink::parentObject):
2647         * accessibility/AccessibilityListBox.cpp:
2648         (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
2649         (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
2650         * accessibility/AccessibilityListBoxOption.cpp:
2651         (WebCore::AccessibilityListBoxOption::AccessibilityListBoxOption):
2652         (WebCore::AccessibilityListBoxOption::parentObject):
2653         (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
2654         * accessibility/AccessibilityMenuListPopup.cpp:
2655         (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
2656         * accessibility/AccessibilityMockObject.cpp:
2657         (WebCore::AccessibilityMockObject::AccessibilityMockObject):
2658         * accessibility/AccessibilityMockObject.h:
2659         * accessibility/AccessibilityNodeObject.cpp:
2660         (WebCore::AccessibilityNodeObject::detach):
2661         (WebCore::AccessibilityNodeObject::firstChild):
2662         (WebCore::AccessibilityNodeObject::lastChild):
2663         (WebCore::AccessibilityNodeObject::previousSibling):
2664         (WebCore::AccessibilityNodeObject::nextSibling):
2665         (WebCore::AccessibilityNodeObject::parentObject):
2666         (WebCore::AccessibilityNodeObject::document):
2667         (WebCore::AccessibilityNodeObject::anchorElement):
2668         (WebCore::nativeActionElement):
2669         (WebCore::AccessibilityNodeObject::actionElement):
2670         (WebCore::AccessibilityNodeObject::mouseButtonListener):
2671         (WebCore::AccessibilityNodeObject::labelForElement):
2672         (WebCore::AccessibilityNodeObject::menuItemElementForMenu):
2673         (WebCore::AccessibilityNodeObject::menuButtonForMenu):
2674         * accessibility/AccessibilityObject.cpp:
2675         (WebCore::AccessibilityObject::AccessibilityObject):
2676         (WebCore::AccessibilityObject::detach):
2677         (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
2678         (WebCore::AccessibilityObject::findMatchingObjects):
2679         (WebCore::renderListItemContainerForNode):
2680         (WebCore::AccessibilityObject::accessibilityObjectForPosition):
2681         (WebCore::AccessibilityObject::document):
2682         (WebCore::AccessibilityObject::page):
2683         (WebCore::AccessibilityObject::documentFrameView):
2684         (WebCore::AccessibilityObject::anchorElementForNode):
2685         (WebCore::AccessibilityObject::headingElementForNode):
2686         (WebCore::AccessibilityObject::firstAnonymousBlockChild):
2687         (WebCore::AccessibilityObject::element):
2688         (WebCore::AccessibilityObject::focusedUIElement):
2689         (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
2690         * accessibility/AccessibilityObject.h:
2691         (WebCore::AccessibilityObject::node):
2692         (WebCore::AccessibilityObject::renderer):
2693         (WebCore::AccessibilityObject::selectedRadioButton):
2694         (WebCore::AccessibilityObject::selectedTabItem):
2695         (WebCore::AccessibilityObject::accessibilityHitTest):
2696         (WebCore::AccessibilityObject::firstChild):
2697         (WebCore::AccessibilityObject::lastChild):
2698         (WebCore::AccessibilityObject::previousSibling):
2699         (WebCore::AccessibilityObject::nextSibling):
2700         (WebCore::AccessibilityObject::parentObjectIfExists):
2701         (WebCore::AccessibilityObject::observableObject):
2702         (WebCore::AccessibilityObject::titleUIElement):
2703         (WebCore::AccessibilityObject::correspondingLabelForControlElement):
2704         (WebCore::AccessibilityObject::correspondingControlForLabelElement):
2705         (WebCore::AccessibilityObject::scrollBar):
2706         (WebCore::AccessibilityObject::anchorElement):
2707         (WebCore::AccessibilityObject::actionElement):
2708         (WebCore::AccessibilityObject::widget):
2709         (WebCore::AccessibilityObject::widgetForAttachmentView):
2710         (WebCore::AccessibilityObject::activeDescendant):
2711         (WebCore::AccessibilityObject::mathRadicandObject):
2712         (WebCore::AccessibilityObject::mathRootIndexObject):
2713         (WebCore::AccessibilityObject::mathUnderObject):
2714         (WebCore::AccessibilityObject::mathOverObject):
2715         (WebCore::AccessibilityObject::mathNumeratorObject):
2716         (WebCore::AccessibilityObject::mathDenominatorObject):
2717         (WebCore::AccessibilityObject::mathBaseObject):
2718         (WebCore::AccessibilityObject::mathSubscriptObject):
2719         (WebCore::AccessibilityObject::mathSuperscriptObject):
2720         (WebCore::AccessibilityObject::getScrollableAreaIfScrollable):
2721         * accessibility/AccessibilityProgressIndicator.cpp:
2722         (WebCore::AccessibilityProgressIndicator::progressElement):
2723         (WebCore::AccessibilityProgressIndicator::meterElement):
2724         * accessibility/AccessibilityRenderObject.cpp:
2725         (WebCore::AccessibilityRenderObject::detach):
2726         (WebCore::AccessibilityRenderObject::renderBoxModelObject):
2727         (WebCore::AccessibilityRenderObject::firstChild):
2728         (WebCore::AccessibilityRenderObject::lastChild):
2729         (WebCore::startOfContinuations):
2730         (WebCore::childBeforeConsideringContinuations):
2731         (WebCore::AccessibilityRenderObject::previousSibling):
2732         (WebCore::AccessibilityRenderObject::nextSibling):
2733         (WebCore::nextContinuation):
2734         (WebCore::AccessibilityRenderObject::renderParentObject):
2735         (WebCore::AccessibilityRenderObject::parentObject):
2736         (WebCore::AccessibilityRenderObject::anchorElement):
2737         (WebCore::AccessibilityRenderObject::textUnderElement):
2738         (WebCore::AccessibilityRenderObject::node):
2739         (WebCore::AccessibilityRenderObject::labelElementContainer):
2740         (WebCore::AccessibilityRenderObject::internalLinkElement):
2741         (WebCore::AccessibilityRenderObject::titleUIElement):
2742         (WebCore::AccessibilityRenderObject::setFocused):
2743         (WebCore::AccessibilityRenderObject::topRenderer):
2744         (WebCore::AccessibilityRenderObject::document):
2745         (WebCore::AccessibilityRenderObject::widget):
2746         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
2747         (WebCore::AccessibilityRenderObject::documentFrameView):
2748         (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
2749         (WebCore::AccessibilityRenderObject::rootEditableElementForPosition):
2750         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
2751         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
2752         (WebCore::AccessibilityRenderObject::remoteSVGElementHitTest):
2753         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
2754         (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
2755         (WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
2756         (WebCore::AccessibilityRenderObject::observableObject):
2757         (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
2758         (WebCore::AccessibilityRenderObject::detachRemoteSVGRoot):
2759         (WebCore::AccessibilityRenderObject::addHiddenChildren):
2760         (WebCore::AccessibilityRenderObject::setAccessibleName):
2761         (WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable):
2762         (WebCore::AccessibilityRenderObject::mathRadicandObject):
2763         (WebCore::AccessibilityRenderObject::mathRootIndexObject):
2764         (WebCore::AccessibilityRenderObject::mathNumeratorObject):
2765         (WebCore::AccessibilityRenderObject::mathDenominatorObject):
2766         (WebCore::AccessibilityRenderObject::mathUnderObject):
2767         (WebCore::AccessibilityRenderObject::mathOverObject):
2768         (WebCore::AccessibilityRenderObject::mathBaseObject):
2769         (WebCore::AccessibilityRenderObject::mathSubscriptObject):
2770         (WebCore::AccessibilityRenderObject::mathSuperscriptObject):
2771         * accessibility/AccessibilitySVGRoot.cpp:
2772         (WebCore::AccessibilitySVGRoot::AccessibilitySVGRoot):
2773         * accessibility/AccessibilityScrollView.cpp:
2774         (WebCore::AccessibilityScrollView::detach):
2775         (WebCore::AccessibilityScrollView::scrollBar):
2776         (WebCore::AccessibilityScrollView::updateScrollbars):
2777         (WebCore::AccessibilityScrollView::addChildScrollbar):
2778         (WebCore::AccessibilityScrollView::clearChildren):
2779         (WebCore::AccessibilityScrollView::webAreaObject):
2780         (WebCore::AccessibilityScrollView::accessibilityHitTest):
2781         (WebCore::AccessibilityScrollView::documentFrameView):
2782         (WebCore::AccessibilityScrollView::parentObject):
2783         (WebCore::AccessibilityScrollView::parentObjectIfExists):
2784         * accessibility/AccessibilityScrollbar.cpp:
2785         (WebCore::AccessibilityScrollbar::document):
2786         * accessibility/AccessibilitySpinButton.cpp:
2787         (WebCore::AccessibilitySpinButton::AccessibilitySpinButton):
2788         * accessibility/AccessibilityTable.cpp:
2789         (WebCore::AccessibilityTable::AccessibilityTable):
2790         (WebCore::AccessibilityTable::clearChildren):
2791         (WebCore::AccessibilityTable::cellForColumnAndRow):
2792         * accessibility/AccessibilityTableCell.cpp:
2793         (WebCore::AccessibilityTableCell::parentTable):
2794         (WebCore::AccessibilityTableCell::titleUIElement):
2795         * accessibility/AccessibilityTableColumn.cpp:
2796         (WebCore::AccessibilityTableColumn::headerObject):
2797         (WebCore::AccessibilityTableColumn::headerObjectForSection):
2798         * accessibility/AccessibilityTableRow.cpp:
2799         (WebCore::AccessibilityTableRow::parentTable):
2800         (WebCore::AccessibilityTableRow::headerObject):
2801         * accessibility/ios/AXObjectCacheIOS.mm:
2802         (WebCore::AXObjectCache::detachWrapper):
2803         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2804         (-[WebAccessibilityObjectWrapper detach]):
2805         (-[WebAccessibilityObjectWrapper tableCellParent]):
2806         (-[WebAccessibilityObjectWrapper tableParent]):
2807         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
2808         (-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):
2809         (rendererForView):
2810         (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
2811         * accessibility/mac/AXObjectCacheMac.mm:
2812         (WebCore::AXObjectCache::detachWrapper):
2813         * accessibility/mac/AccessibilityObjectMac.mm:
2814         (WebCore::AccessibilityObject::detachFromParent):
2815         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2816         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
2817         (-[WebAccessibilityObjectWrapperBase detach]):
2818         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2819         (CreateCGColorIfDifferent):
2820         (-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
2821         (rendererForView):
2822         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2823         * accessibility/win/AccessibilityObjectWrapperWin.h:
2824         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
2825
2826 2014-07-23  Mihnea Ovidenie  <mihnea@adobe.com>
2827
2828         ASSERTION FAILED: generatingElement() in WebCore::RenderNamedFlowFragment::regionOversetState
2829         https://bugs.webkit.org/show_bug.cgi?id=135153
2830
2831         Reviewed by David Hyatt.
2832
2833         Even though the CSSRegions spec defines the behaviour of a multicolumn region,
2834         we currently do not support this functionality. This patch ensures that a multicolumn
2835         element does not become a region. In the future, when we will implement the multicolumn
2836         as region functionality, http://dev.w3.org/csswg/css-regions/#multi-column-regions, we
2837         will remove this restriction.
2838
2839         Test: fast/regions/multicol-as-region-prevented.html
2840
2841         * rendering/RenderBlockFlow.cpp:
2842         (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
2843
2844 2014-07-23  Zan Dobersek  <zdobersek@igalia.com>
2845
2846         [CMake] Avoid building WebCore with ANGLE's OpenGL/EGL headers
2847         https://bugs.webkit.org/show_bug.cgi?id=135167
2848
2849         Reviewed by Martin Robinson.
2850
2851         * CMakeLists.txt: Don't add ANGLE/include to the WebCore_INCLUDE_DIRECTORIES list
2852         as this results in ANGLE's OpenGL and EGL headers being included, instead of the
2853         headers that are provided by the system. Only the ANGLESupport library should be built
2854         with that specific header inclusion path.
2855
2856 2014-07-10  Radu Stavila  <stavila@adobe.com>
2857
2858         REGRESSION (r169105): Crash in selection
2859         https://bugs.webkit.org/show_bug.cgi?id=134303
2860
2861         Reviewed by David Hyatt.
2862
2863         When splitting the selection between different subtrees, all subtrees must have their selection cleared before
2864         starting to apply the new selection. Otherwise, when selecting objects in a named flow thread and going up
2865         its containing block chain, we can end up in the view's selection root, which has not yet been updated and so
2866         we get inconsistent data.
2867
2868         To achieve this goal, the selection update was split into a "clear" and an "apply" method. The updateSelectionForSubtrees
2869         method first iterates through all subtrees and performs the "clear" method and then starts all over again
2870         and performs the "apply" method.
2871
2872         Also, the selectionStart/End members in RenderView have been renamed to fix problems caused by the fact that
2873         RenderView inherits SelectionSubtreeRoot, which also has the same selectionStart/End members.
2874
2875         Test: fast/regions/selection/crash-deselect.html
2876
2877         * WebCore.xcodeproj/project.pbxproj:
2878         * rendering/RenderBlock.cpp:
2879         (WebCore::RenderBlock::isSelectionRoot):
2880         * rendering/RenderSelectionInfo.h:
2881         * rendering/RenderView.cpp:
2882         (WebCore::RenderView::RenderView):
2883         (WebCore::RenderView::setSelection): Renamed m_selectionStart/End to m_unsplitSelectionStart/End
2884         (WebCore::RenderView::splitSelectionBetweenSubtrees):
2885         (WebCore::RenderView::updateSelectionForSubtrees): Added, clears and re-applies selection for all selection subtrees.
2886         (WebCore::RenderView::clearSubtreeSelection): Added, clears selection and returns previously selected information.
2887         (WebCore::RenderView::applySubtreeSelection): Added, updates the selection status of all objects inside the selection tree, compares old and new data and repaints accordingly.
2888         (WebCore::RenderView::getSelection): Renamed m_selectionStart/End to m_unsplitSelectionStart/End
2889         (WebCore::RenderView::setSubtreeSelection): Deleted.
2890         * rendering/RenderView.h:
2891         * rendering/SelectionSubtreeRoot.cpp:
2892         (WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot):
2893         * rendering/SelectionSubtreeRoot.h:
2894         (WebCore::SelectionSubtreeRoot::OldSelectionData::OldSelectionData):
2895
2896 2014-07-22  Brent Fulgham  <bfulgham@apple.com>
2897
2898         [Win] Build fix for bot.
2899
2900         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2901         (WebCore::createLegibleOutputSubtypes): Declare 'wvtt' locally, rather
2902         than relying on potentially unavailable declaration.
2903
2904 2014-07-22  Brent Fulgham  <bfulgham@apple.com>
2905
2906         [Win] Build fix for Windows bots
2907
2908         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Provide missing
2909         structure definition when needed by bot.
2910
2911 2014-07-22  Brent Fulgham  <bfulgham@apple.com>
2912
2913         [Win] Build fix for EWS bots.
2914
2915         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: Forward declare
2916         structure definition.
2917
2918 2014-07-22  Brent Fulgham  <bfulgham@apple.com>
2919
2920         [Win] Fix Crash when handling Legible Output callbacks
2921         https://bugs.webkit.org/show_bug.cgi?id=134946
2922
2923         Reviewed by Dean Jackson.
2924
2925         Relanding after adding fixes to support build bots.
2926
2927         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2928         (WebCore::InbandTextTrackPrivateAVF::processNativeSamples): Remove
2929         Windows-specific 'ASSERT_NOT_REACHED' code path.
2930         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2931         (WebCore::createLegibleOutputSubtypes): Added.
2932         (WebCore::AVFWrapper::createPlayerItem): Updated to request native
2933         samples from AVFoundationCF.
2934
2935 2014-07-16  Myles C. Maxfield  <mmaxfield@apple.com>
2936
2937         Copying and pasting trivial H2 content causes a crash in firstPositionInNode
2938         https://bugs.webkit.org/show_bug.cgi?id=134897
2939
2940         Reviewed by Ryosuke Niwa.
2941
2942         ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder() attempts
2943         to move pasted headings out of existed headings, with out regard to if the existing
2944         heading is the contenteditable root.
2945
2946         Test: editing/pasteboard/heading-crash.html
2947
2948         * editing/ReplaceSelectionCommand.cpp:
2949         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
2950
2951 2014-07-22  Ryuan Choi  <ryuan.choi@samsung.com>
2952
2953         Remove dead APIs from TiledBackingStore
2954         https://bugs.webkit.org/show_bug.cgi?id=135158
2955
2956         Reviewed by Gyuyoung Kim.
2957
2958         setContentsFrozen and related code of TiledBackingStore are not used since Qt port is removed.
2959
2960         * platform/graphics/TiledBackingStore.cpp:
2961         (WebCore::TiledBackingStore::TiledBackingStore):
2962         (WebCore::TiledBackingStore::updateTileBuffers):
2963         (WebCore::TiledBackingStore::setContentsScale):
2964         (WebCore::TiledBackingStore::createTiles):
2965         (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
2966         (WebCore::TiledBackingStore::startBackingStoreUpdateTimer):
2967         (WebCore::TiledBackingStore::commitScaleChange): Deleted.
2968         (WebCore::TiledBackingStore::isBackingStoreUpdatesSuspended): Deleted.
2969         (WebCore::TiledBackingStore::isTileBufferUpdatesSuspended): Deleted.
2970         (WebCore::TiledBackingStore::setContentsFrozen): Deleted.
2971         * platform/graphics/TiledBackingStore.h:
2972         (WebCore::TiledBackingStore::contentsFrozen): Deleted.
2973
2974 2014-07-22  Alex Christensen  <achristensen@webkit.org>
2975
2976         Fix window-inactive css selectors when using querySelector.
2977         https://bugs.webkit.org/show_bug.cgi?id=135149
2978
2979         Reviewed by Tim Horton.
2980
2981         Test: fast/selectors/querySelector-window-inactive.html
2982
2983         * css/SelectorChecker.cpp:
2984         (WebCore::SelectorChecker::checkOne):
2985         Removed default and implemented case PseudoClassWindowInactive.
2986
2987 2014-07-22  Tim Horton  <timothy_horton@apple.com>
2988
2989         REGRESSION (r171016): Reproducible infinite spin selecting phone number
2990         https://bugs.webkit.org/show_bug.cgi?id=135183
2991         <rdar://problem/17727342>
2992
2993         Reviewed by Ryosuke Niwa.
2994
2995         * editing/Editor.cpp:
2996         (WebCore::Editor::scanRangeForTelephoneNumbers):
2997         Make use of TextIterator::subrange, which knows how to make a subrange from character positions,
2998         instead of assuming that our character positions translate directly to positions in the incoming range.
2999         Make use of DocumentMarkerController::addMarker, which takes a range and applies the marker to
3000         all text nodes inside the range as appropriate.
3001         Fix naming of the shadowed 'length' local.
3002         Fix a typo in the comment.
3003
3004 2014-07-22  Myles C. Maxfield  <mmaxfield@apple.com>
3005
3006         [iOS] [OSX] Don't transcode WOFF on platforms that support it natively
3007         https://bugs.webkit.org/show_bug.cgi?id=134904
3008
3009         Reviewed by Andreas Kling.
3010
3011         No new tests because there is no behavior change.
3012
3013         * loader/cache/CachedFont.cpp:
3014         (WebCore::CachedFont::ensureCustomFontData):
3015
3016 2014-07-22  peavo@outlook.com  <peavo@outlook.com>
3017
3018         [Win] Crash after plugin is unloaded.
3019         https://bugs.webkit.org/show_bug.cgi?id=119044
3020
3021         Reviewed by Darin Adler.
3022
3023         We need to invalidate all runtime objects when a plugin view is destroyed, in case the plugin is unloaded,
3024         and one of these runtime objects accesses the plugin function table upon destruction afterwards, which will cause a crash.
3025         If we use the weak pointer to the runtime object when invalidating, it will be null if it's in the WeakImpl::Dead state.
3026         This means the runtime object will not be invalidated, possibly causing a crash if the plugin is unloaded.
3027         It should be safe to use the raw pointer to the runtime object when invalidating, since finalized runtime objects
3028         will be removed from the set of runtime objects in the method RootObject::finalize().
3029
3030         * bridge/runtime_root.cpp:
3031         (JSC::Bindings::RootObject::invalidate): Make sure all runtime objects are invalidated by getting the raw runtime object pointer from the hash key.
3032
3033 2014-07-22  Enrica Casucci  <enrica@apple.com>
3034
3035         REGRESSION (WebKit2): Selection inside accelerated overflow:scroll doesn't track scrolling.
3036         https://bugs.webkit.org/show_bug.cgi?id=135180
3037         <rdar://problem/16721055>
3038
3039         Reviewed by Simon Fraser.
3040
3041         AsyncScrollingCoordinator will force a selection update on iOS
3042         when scrolling terminates in an overflow scroll.
3043
3044         * loader/EmptyClients.h:
3045         * page/EditorClient.h:
3046         * page/scrolling/AsyncScrollingCoordinator.cpp:
3047         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
3048         * page/scrolling/ScrollingTree.h:
3049         (WebCore::ScrollingTree::scrollingTreeNodeWillStartScroll):
3050         (WebCore::ScrollingTree::scrollingTreeNodeDidEndScroll):
3051
3052 2014-07-22  Myles C. Maxfield  <mmaxfield@apple.com>
3053
3054         [Mac] Cocoa throws exception when the return type of NSAccessibilityLinkedUIElementsAttribute is not an array
3055         https://bugs.webkit.org/show_bug.cgi?id=135165
3056
3057         Reviewed by Simon Fraser.
3058
3059         Return an empty array instead of nil.
3060
3061         Updated tests.
3062
3063         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3064         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3065
3066 2014-07-22  Commit Queue  <commit-queue@webkit.org>
3067
3068         Unreviewed, rolling out r171357.
3069         https://bugs.webkit.org/show_bug.cgi?id=135173
3070
3071         broke Windows build. (Requested by bfulgham on #webkit).
3072
3073         Reverted changeset:
3074
3075         "[Win] Fix Crash when handling Legible Output callbacks"
3076         https://bugs.webkit.org/show_bug.cgi?id=134946
3077         http://trac.webkit.org/changeset/171357
3078
3079 2014-07-22  Brent Fulgham  <bfulgham@apple.com>
3080
3081         [Win] Fix Crash when handling Legible Output callbacks
3082         https://bugs.webkit.org/show_bug.cgi?id=134946
3083
3084         Reviewed by Dean Jackson.
3085
3086         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3087         (WebCore::InbandTextTrackPrivateAVF::processNativeSamples): Remove
3088         Windows-specific 'ASSERT_NOT_REACHED' code path.
3089         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3090         (WebCore::createLegibleOutputSubtypes): Added.
3091         (WebCore::AVFWrapper::createPlayerItem): Updated to request native
3092         samples from AVFoundationCF.
3093
3094 2014-07-21  Sam Weinig  <sam@webkit.org>
3095
3096         [Cocoa] WKScriptMessageHandlers don't seem to function properly after navigating
3097         https://bugs.webkit.org/show_bug.cgi?id=135148
3098
3099         Reviewed by Geoffrey Garen.
3100
3101         The "webkit" property on the window was not getting installed for subsequent
3102         loads due to intricate dance playing setting the JSDOMWindow where the DOMWindow
3103         object is not yet in a Frame when the JSDOMWindow is created. Since we were
3104         adding the "webkit" property on construction, the property was returning null
3105         thinking it had no Frame and was in a bad state. We can fix this by making the
3106         "webkit" property behave like all the other window properties moving its getting
3107         to JSDOMWindow::getOwnPropertySlot.
3108
3109         Added API test (WebKit2Cocoa/UserContentController).
3110
3111         * bindings/js/JSDOMWindowBase.cpp:
3112         (WebCore::JSDOMWindowBase::finishCreation):
3113         * bindings/js/JSDOMWindowCustom.cpp:
3114         (WebCore::jsDOMWindowWebKit):
3115         (WebCore::JSDOMWindow::getOwnPropertySlot):
3116
3117 2014-07-22  Brent Fulgham  <bfulgham@apple.com>
3118
3119         [Win] Fix Leak in WebCore::createGlobalImageFileDescriptor 
3120         https://bugs.webkit.org/show_bug.cgi?id=134423
3121         <rdar://problem/17492758>
3122
3123         Reviewed by Geoffrey Garen.
3124
3125         * platform/win/PasteboardWin.cpp:
3126         (WebCore::createGlobalImageFileDescriptor): Unlock and release the
3127         HGLOBAL when exiting early.
3128
3129 2014-07-21  Myles C. Maxfield  <mmaxfield@apple.com>
3130
3131         Clicking on links while accessibility is enabled sometimes crashes
3132         https://bugs.webkit.org/show_bug.cgi?id=135074
3133
3134         Reviewed by Chris Fleizach.
3135
3136         When an accessibility request comes in from the system, we call updateBackingStore() on the
3137         relevant AccessibilityObject, which triggers a relayout of the entire document. This relayout
3138         might delete that accessibility node and its parent, which would cause the node to be deleted.
3139         After the stack unwinds, we then call a member function on the node without checking for this
3140         condition.
3141
3142         Test: accessibility/parent-delete.html
3143
3144         * accessibility/AccessibilityObject.cpp:
3145         (WebCore::AccessibilityObject::updateBackingStore): Retain the node for the duration of the
3146         function.
3147
3148 2014-07-22  Jeremy Jones  <jeremyj@apple.com>
3149
3150         Don't create new UIWindow for video fullscreen.
3151         https://bugs.webkit.org/show_bug.cgi?id=135038
3152
3153         Reviewed by Darin Adler.
3154
3155         * WebCore.exp.in:
3156         * platform/ios/WebVideoFullscreenControllerAVKit.h: use UIView instead of UIScreen.
3157         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
3158         (-[WebVideoFullscreenController enterFullscreen:]): provide parent UIView.
3159         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: remove UIWindow.
3160         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: 
3161         (WebVideoFullscreenInterfaceAVKit::setupFullscreen): ditto 
3162         (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): ditto
3163         (WebVideoFullscreenInterfaceAVKit::invalidate): ditto
3164         (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto
3165
3166 2014-07-22  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3167
3168         [GTK] Rollout r170529 due to ~10% performance regression on the
3169         perf test Animation/balls.
3170         https://bugs.webkit.org/show_bug.cgi?id=134972
3171
3172         Reviewed by Martin Robinson.
3173
3174         Reverted changeset:
3175         "Increase priority on SharedTimer source."
3176         https://trac.webkit.org/r170529
3177
3178 2014-07-18  Dirk Schulze  <krit@webkit.org>
3179
3180         Turn width/height to presentation attributes
3181         https://bugs.webkit.org/show_bug.cgi?id=135046
3182
3183         Reviewed by Dean Jackson.
3184
3185         The elements <svg>, <image>, <pattern>, <mask> and <foreignObject> have the
3186         'width' and 'height' attributes. So far they can just be set by SVG DOM or
3187         setAttribute. Furthermore, animations just work with SVG Animation - No support
3188         for CSS Animations and CSS Transitions. We started to turn the width and height
3189         attributes on SVG roots to presentation attributes already. A presentation
3190         attribute is a CSS property that can also be set by DOM (or now by SVG DOM).
3191
3192         This patch turns all width and height attributes to presentation attributes. It
3193         basically allows authors to style width and height with CSS as well. Width and
3194         height can now be set with CSS style sheets and can be animated with CSS.
3195
3196         To some degree it made it possible to remove code duplication. However, since
3197         SVG DOM requires us to use SVGLength types and since we did not turn all
3198         SVG attributes to the CSS length values (and our internal Length struct) yet,
3199         we still need a hybrid - a bridge between SVGLength (for SVG DOM) and Length (for
3200         RenderStyle). Once we move all attributes to use the Length struct, we can make SVGLength
3201         a wrapper for Length and can move more code to the render tree.
3202
3203         The current challenge is to synchronize SVG DOM, normal DOM and RenderStyle.
3204         With this patch we handle most part in RenderStyle. SVG DOM changes are
3205         synchronized to DOM and RenderStyle will call needsStyleRecalc. Furthermore,
3206         SVG Animations will continue to animate the SVG DOM (and synchronize the changes
3207         back to RenderStyle) if the element has a JS property for the currently animated
3208         attribute.
3209
3210         Short example:
3211
3212             <rect>
3213                 <animate attributeName="width">
3214             </rect>
3215
3216         The <rect> element has the SVG DOM property 'width'. Therefore, we animate the SVG DOM
3217         property and synchronize RenderStyle.
3218
3219             <ellipse>
3220                 <animate attributeName="width">
3221             </ellipse>
3222
3223         The <ellipse> element does NOT have the SVG DOM property 'width'. Therefore, we
3224         animate the CSS property directly. With synchronizing RenderStyle in all cases, we
3225         make sure that the CSS cascade works even on animating on multiple SVG hierarchy
3226         levels (animation of 'width' on <g> and inheriting the property value on a child
3227         <rect>).
3228
3229         With using presentation attributes, we also inherit the CSS property parsing for
3230         SVG attributes. <rect width="  100px  "> is possible now. (Note the trailing whitespaces.)
3231         This follows a recent resolution of the SVG WG.
3232
3233         Since we turned width and height to presentation attributes, the layout optimization
3234         selfHasRelativeLengths() in the DOM can't be used anymore. selfHasRelativeLengths() was
3235         intended to solve a problem where we did not layout relatively position/sized elements
3236         when the parent changes its size. However, as a side effect it did not call layout
3237         for absolutely positioned/sized elements since the layout does not change. I run
3238         all performance tests that we have and even wrote a test with hundreds of elements
3239         that would be affected by this optimization. The differences were inside the sigma
3240         of a normal test run. (Means I couldn't measure a performance difference.)
3241         Therefore, it is not worth it to keep the "optimization" around and I will probably
3242         remove it entirely for all basic shapes but <path> and <polygon> in future patches.
3243
3244         Tests: svg/css/parse-height.html
3245                svg/css/parse-width.html
3246                svg/css/width-height-presentation-attribute-expected.svg
3247                svg/css/width-height-presentation-attribute.svg
3248
3249         * css/CSSComputedStyleDeclaration.cpp:
3250         (WebCore::ComputedStyleExtractor::propertyValue): We never calculated the computed
3251             value of width/height for SVG elements and returned auto instead. This is based
3252             on a rule of CSS 2 and needs to be fixed in CSS3.
3253         * css/DeprecatedStyleBuilder.cpp:
3254         (WebCore::ApplyPropertyLength::applyValue): Length always incorporates the zoom level.
3255             In SVG we still apply the zoom after all operations by scaling the context. We need
3256             to take this in account for Length and don't apply zoom on SVG inline elements.
3257         * css/StyleResolver.cpp:
3258         (WebCore::StyleResolver::useSVGZoomRulesForLength):
3259             See above.
3260         * css/StyleResolver.h:
3261         * rendering/svg/RenderSVGRect.cpp:
3262         (WebCore::RenderSVGRect::updateShapeFromElement): Do not call width() and height() on
3263             SVG DOM but use the values of RenderStyle instead.
3264         * rendering/svg/SVGPathData.cpp:
3265         (WebCore::updatePathFromRectElement): Ditto.
3266         * svg/SVGAnimateElement.cpp:
3267         (WebCore::SVGAnimateElement::resetAnimatedType): We need to differ between CSS properties
3268             with and without SVG DOM on the current element. In the later case we animate the 
3269             SVG DOM and need to synch RenderStyle.
3270         (WebCore::SVGAnimateElement::clearAnimatedType): Ditto.
3271         (WebCore::SVGAnimateElement::applyResultsToTarget): Ditto.
3272         * svg/SVGAnimationElement.cpp:
3273         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty): This checks if the CSS property
3274             has to be synched with SVG DOM.
3275         (WebCore::SVGAnimationElement::shouldApplyAnimation): Ditto.
3276         * svg/SVGAnimationElement.h:
3277         * svg/SVGElement.cpp:
3278         (WebCore::populateAttributeNameToCSSPropertyIDMap): Add width and heigth to the CSS property
3279             list for presentation attributes.
3280         (WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap): CSS properties with
3281             SVG DOM synchronization need to be treated differently. Collect them in a separate map.
3282         (WebCore::cssPropertyWithSVGDOMNameToAnimatedPropertyTypeMap): Caller for the map.
3283         (WebCore::SVGElement::animatedPropertyTypeForAttribute): We need to check both maps here:
3284             CSS properties and CSS properties with SVG DOM synch.
3285         (WebCore::SVGElement::isAnimatableCSSProperty): Ditto.
3286         (WebCore::SVGElement::isPresentationAttributeWithSVGDOM): Just return true if the property name
3287             is in the map of properties with SVG DOM for the current element.
3288         * svg/SVGElement.h:
3289         (WebCore::SVGElement::invalidateSVGPresentationAttributeStyle): Call needsStyleRecalc.
3290         * svg/SVGFilterElement.cpp: Make width/height presentation attribute.
3291         (WebCore::SVGFilterElement::svgAttributeChanged):
3292         (WebCore::SVGFilterElement::selfHasRelativeLengths): Deleted.
3293         * svg/SVGFilterElement.h: Ditto.
3294         * svg/SVGForeignObjectElement.cpp:
3295         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
3296         (WebCore::SVGForeignObjectElement::selfHasRelativeLengths): Deleted.
3297         * svg/SVGForeignObjectElement.h:
3298         * svg/SVGImageElement.cpp: Ditto.
3299         (WebCore::SVGImageElement::svgAttributeChanged):
3300         (WebCore::SVGImageElement::isPresentationAttribute): Deleted.
3301         (WebCore::SVGImageElement::collectStyleForPresentationAttribute): Deleted.
3302         (WebCore::SVGImageElement::selfHasRelativeLengths): Deleted.
3303         * svg/SVGImageElement.h:
3304         * svg/SVGLength.h: Transform an Length value to an absolute value by taking the SVG viewport
3305             into account. (An SVG viewport is not the same as the CSS viewport.)
3306         * svg/SVGLengthContext.cpp: Ditto.
3307         (WebCore::SVGLengthContext::valueForLength):
3308         * svg/SVGLengthContext.h:
3309         * svg/SVGMaskElement.cpp: Make width/height presentation attribute.
3310         (WebCore::SVGMaskElement::svgAttributeChanged):
3311         (WebCore::SVGMaskElement::selfHasRelativeLengths): Deleted.
3312         * svg/SVGMaskElement.h:
3313         * svg/SVGPatternElement.cpp: Ditto.
3314         (WebCore::SVGPatternElement::svgAttributeChanged):
3315         (WebCore::SVGPatternElement::selfHasRelativeLengths): Deleted.
3316         * svg/SVGPatternElement.h:
3317         * svg/SVGRectElement.cpp: Ditto.
3318         (WebCore::SVGRectElement::svgAttributeChanged):
3319         (WebCore::SVGRectElement::selfHasRelativeLengths): Deleted.
3320         * svg/SVGRectElement.h:
3321         * svg/SVGSVGElement.cpp: Ditto.
3322         (WebCore::SVGSVGElement::svgAttributeChanged): Clean up redundant layout calls.
3323         (WebCore::SVGSVGElement::isPresentationAttribute): Deleted.
3324         (WebCore::SVGSVGElement::collectStyleForPresentationAttribute): Deleted.
3325         * svg/SVGSVGElement.h:
3326         * svg/properties/SVGAnimatedProperty.cpp: Synchronize SVG DOM with DOM.
3327         (WebCore::SVGAnimatedProperty::commitChange):
3328
3329 2014-07-22  Adrian Perez de Castro  <aperez@igalia.com>
3330
3331         [GStreamer] [GTK] WebKit does not build with GStreamer 1.4
3332         https://bugs.webkit.org/show_bug.cgi?id=135114
3333
3334         Reviewed by Philippe Normand.
3335
3336         Fix build with GStreamer 1.4
3337
3338         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3339         Change GstMpegTs-prefixed types to use the GstMpegts prefix.
3340         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
3341         (WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
3342         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3343         Ditto.
3344
3345 2014-07-21  Benjamin Poulain  <bpoulain@apple.com>
3346
3347         [iOS][WK2] Improve event throttling for Scroll Events
3348         https://bugs.webkit.org/show_bug.cgi?id=135082
3349         <rdar://problem/17445266>
3350
3351         Reviewed by Simon Fraser.
3352
3353         This patch is composed of two parts. The first part in the WebKit layer
3354         track an approximate measurement of the main thread responsiveness.
3355         The second part in WebCore use that information to avoid sending events
3356         if a page is unresponsive.
3357
3358         In WebCore, this patch only consider scroll events so far. Hopefully the concept
3359         should be easy to generalize.
3360
3361         * loader/EmptyClients.h:
3362         * page/ChromeClient.h:
3363         Chrome client provides us with one information: how long an incoming event should be delayed.
3364         Every port is free to implement whatever logic is suitable for them.
3365
3366         * page/FrameView.cpp:
3367         (WebCore::FrameView::FrameView):
3368         (WebCore::FrameView::reset):
3369         (WebCore::FrameView::delayedScrollEventTimerFired):
3370         (WebCore::FrameView::scrollPositionChanged):
3371         (WebCore::FrameView::sendScrollEvent):
3372         * page/FrameView.h:
3373         Scroll events do not have any associated information so they can be coalesced by just skipping
3374         all input hapenning during the throttling delay.
3375
3376         The implementation is done by using a timer to delay the events.
3377
3378 2014-07-21  Tim Horton  <timothy_horton@apple.com>
3379
3380         Avoid putting empty-sized surfaces into IOSurfacePool
3381         https://bugs.webkit.org/show_bug.cgi?id=135136
3382
3383         Reviewed by Simon Fraser.
3384
3385         * platform/graphics/cg/IOSurfacePool.cpp:
3386         (WebCore::IOSurfacePool::addSurface):
3387         Avoid adding 0x0 surfaces to the pool, because they will wreak havoc
3388         when their size is used as the key in the CachedSurfaceMap.
3389         Additionally, avoid any empty sizes, because they're just pointless.
3390
3391 2014-07-21  Beth Dakin  <bdakin@apple.com>
3392
3393         WK1 should always setAcceleratedCompositingForFixedPositionEnabled(true) on 
3394         Yosemite
3395         https://bugs.webkit.org/show_bug.cgi?id=135135
3396
3397         Reviewed by Darin Adler.
3398
3399         This patch gets rid of the ChromeClient function that was introduced with 
3400         http://trac.webkit.org/changeset/171308 We’ll just enable the Setting instead.
3401         * css/StyleResolver.cpp:
3402         (WebCore::StyleResolver::adjustRenderStyle):
3403         (WebCore::fixedPositionCreatesStackingContext): Deleted.
3404         * page/ChromeClient.h:
3405         (WebCore::ChromeClient::requiresAcceleratedCompositingForViewportConstrainedPosition): Deleted.
3406         * rendering/RenderLayerCompositor.cpp:
3407         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
3408
3409 2014-07-21  Simon Fraser  <simon.fraser@apple.com>
3410
3411         [iOS WK2] Turn off position:fixed behavior when the keyboard is up
3412         https://bugs.webkit.org/show_bug.cgi?id=132537
3413
3414         Reviewed by Benjamin Poulain.
3415
3416         Export RenderObject::localToContainerPoint().
3417
3418         * WebCore.exp.in:
3419
3420 2014-07-21  Jer Noble  <jer.noble@apple.com>
3421
3422         [MSE] YouTube video decode error when variant-sw