27b6de554e2c52fba9d48fad5bfad78470754b11
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-08-06  Jeremy Jones  <jeremyj@apple.com>
2
3         Disable implicit animations on video layer.
4         https://bugs.webkit.org/show_bug.cgi?id=135679
5
6         Reviewed by Eric Carlson.
7
8         Disable implicit animations on AVPlayerLayer except when setting fullscreen frame.
9         This prevents unwanted animations.
10
11         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
12         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer): disable implicit animations
13         (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenFrame): allow implicit animations while changing fullscreen frame.
14
15 2014-08-07  Gordon Sheridan  <gordon_sheridan@apple.com>
16
17         Provide methods to clear undesired references to HistoryItems that have been removed from the back/forard list.
18         https://bugs.webkit.org/show_bug.cgi?id=135634
19         <rdar://problem/17388461>
20
21         Reviewed by Brady Eidson.
22
23         No new tests.  Would require an API test that also needs an httpd, which we don't currently support.
24
25         * WebCore.exp.in:
26         Added export for Page::clearPreviousItemFromAllPages.
27
28         * loader/HistoryController.cpp:
29         (WebCore::HistoryController::clearPreviousItem):
30         Clear m_previousItem and iterate over children recursively calling clearPreviousItem().
31         The m_previousItem is cleared for the target HistoryController, and all of its descendents.
32
33         * loader/HistoryController.h:
34         Declared HistoryController::clearPreviousItem.
35
36         * page/Page.cpp:
37         (WebCore::Page::clearPreviousItemFromAllPages):
38         Iterate over each page in the web process, checking if the previous item of
39         the HistoryController for the main frame is the same as the item being removed. If so, the
40         frameTree is traversed and each associated HistoryController has its m_previousItem cleared.
41
42         * page/Page.h:
43         Declared Page::clearPreviousItemFromAllPages.
44
45 2014-08-07  Roger Fong  <roger_fong@apple.com>
46
47         Unreviewed build fix attempt #2 following r172224.
48
49         * html/track/VTTCue.cpp:
50         (WebCore::VTTCueBox::applyCSSProperties):
51
52 2014-08-07  Roger Fong  <roger_fong@apple.com>
53
54         Unreviewed build fix following r172224.
55
56         * html/track/TextTrackCueGeneric.cpp:
57         (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
58         * html/track/VTTCue.cpp:
59         (WebCore::VTTCueBox::applyCSSProperties):
60         * html/track/VTTCue.h:
61
62 2014-08-07  Daniel Bates  <dabates@apple.com>
63
64         Unreviewed, rolling out r172219.
65
66         Caused some /fast/workers tests to fail; will investigate
67         offline.
68
69         Reverted changeset:
70
71         "Sometimes Gmail cannot load messages, particularly on refresh
72         ("...the application ran into an unexpected error...")"
73         https://bugs.webkit.org/show_bug.cgi?id=135688
74         http://trac.webkit.org/changeset/172219
75
76 2014-08-06  Roger Fong  <roger_fong@apple.com>
77
78         Increase width of caption container if a larger font size is selected from user prefs.
79         https://bugs.webkit.org/show_bug.cgi?id=135677.
80
81         Reviewed by Brent Fulgham.
82
83         * html/shadow/MediaControlElements.cpp:
84         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
85         Upon creation of a VTTCueBox make sure to supply the font size set by the user prefs.
86         * html/track/TextTrackCueGeneric.cpp:
87         (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
88         Increase the width of the cue box based on user prefs font size selection.
89
90         * html/track/VTTCue.h:
91         Keep track of the font size set in the user prefs for use when the cue boxes are created.
92         (WebCore::VTTCueBox::setFontSizeFromCaptionUserPrefs):
93         * html/track/VTTCue.cpp:
94         (WebCore::VTTCueBox::applyCSSProperties):
95         Increase the width of the cue box based on user prefs font size selection.
96         (WebCore::VTTCue::getDisplayTree):
97         (WebCore::VTTCue::setFontSize):
98         If the font size set is important then we don't want to use the font size set by user prefs, set it to 0.
99
100 2014-08-07  Alex Christensen  <achristensen@webkit.org>
101
102         Unreviewed build fix after r172220.
103
104         * css/SelectorChecker.cpp:
105         (WebCore::hasScrollbarPseudoElement):
106         Use ASSERT_UNUSED instead of just ASSERT.
107
108 2014-08-07  Alex Christensen  <achristensen@webkit.org>
109
110         Compile scrollbar pseudoclass css selectors.
111         https://bugs.webkit.org/show_bug.cgi?id=135242
112
113         Reviewed by Benjamin Poulain.
114
115         Tests: scrollbars/corner-resizer-window-inactive.html
116                scrollbars/scrollbar-selectors.html
117
118         * css/ElementRuleCollector.cpp:
119         (WebCore::ElementRuleCollector::ruleMatches):
120         Changed assertion because there are pseudo-elements selectors that return CannotCompileAnything now, which
121         make SimpleSelectorCheckers.
122         Add scrollbar, scrollbarPart, and document to the CheckingContext and compile scrollbar pseudo-element selectors.
123         * css/SelectorChecker.cpp:
124         (WebCore::hasScrollbarPseudoElement):
125         Added.  Logic moved from matchRecursively to be easier to read and to add assertions.
126         context.scrollbar is always non-null when dynamicPseudo is SCROLLBAR_CORNER.
127         (WebCore::SelectorChecker::matchRecursively):
128         Moved logic to hasScrollbarPseudoElement.
129         (WebCore::SelectorChecker::checkOne):
130         checkScrollbarPseudoClass accesses the document through the element now.
131         (WebCore::SelectorChecker::checkScrollbarPseudoClass):
132         * css/SelectorChecker.h:
133         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
134         * css/SelectorCheckerTestFunctions.h:
135         (WebCore::scrollbarMatchesEnabledPseudoClass):
136         (WebCore::scrollbarMatchesDisabledPseudoClass):
137         (WebCore::scrollbarMatchesHoverPseudoClass):
138         (WebCore::scrollbarMatchesActivePseudoClass):
139         (WebCore::scrollbarMatchesHorizontalPseudoClass):
140         (WebCore::scrollbarMatchesVerticalPseudoClass):
141         (WebCore::scrollbarMatchesDecrementPseudoClass):
142         (WebCore::scrollbarMatchesIncrementPseudoClass):
143         (WebCore::scrollbarMatchesStartPseudoClass):
144         (WebCore::scrollbarMatchesEndPseudoClass):
145         (WebCore::scrollbarMatchesDoubleButtonPseudoClass):
146         (WebCore::scrollbarMatchesSingleButtonPseudoClass):
147         (WebCore::scrollbarMatchesNoButtonPseudoClass):
148         (WebCore::scrollbarMatchesCornerPresentPseudoClass):
149         Move scrollbar selector logic from SelectorChecker.cpp to SelectorCheckerTestFunctions.h
150         For window-inactive pseudo classes, we now access the document through the element instead of as a separate parameter.
151         * cssjit/SelectorCompiler.cpp:
152         (WebCore::SelectorCompiler::SelectorFragment::appendUnoptimizedPseudoClassWithContext):
153         (WebCore::SelectorCompiler::addScrollbarPseudoClassType):
154         (WebCore::SelectorCompiler::addPseudoClassType):
155         (WebCore::SelectorCompiler::isScrollbarPseudoElement):
156         (WebCore::SelectorCompiler::constructFragments):
157         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
158         Call functions for unoptimized pseudo classes that require a context.
159         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateContextFunctionCallTest):
160         Added.  Similar to generateElementFunctionCallTest, but the CheckingContext pointer is stored on the stack instead of a dedicated register.
161         * cssjit/SelectorCompiler.h:
162         Added scrollbar, scrollbarPart, and document to the CheckingContext.
163         (WebCore::SelectorCompiler::CheckingContext::document):
164         Added method to access the document in a way that is syntactically equal to SelectorCheckingContext.
165         This way, the template functions in SelectorCheckerTestFunctions.h can be compiled with both context types,
166         but the context types store the document differently.
167
168 2014-08-07  Daniel Bates  <dabates@apple.com>
169
170         Sometimes Gmail cannot load messages, particularly on refresh ("...the application ran into an unexpected error...")
171         https://bugs.webkit.org/show_bug.cgi?id=135688
172         <rdar://problem/17886686>
173
174         Reviewed by Maciej Stachowiak.
175
176         Fixes an issue where gmail.com may fail to load the list of messages. In particular, a SQLTransactionCallback
177         function may not be executed and hence Gmail will not display the list of messages and
178         will subsequently display an error message.
179
180         When a WebKit client defers loading of a page (e.g. -[WebView setDefersCallbacks:YES]), WebCore
181         may still load the main resource, say if substitute data is available for it, and defer executing
182         tasks, such as a SQLTransactionCallback function, by appending such tasks to the end of the list
183         of pending tasks for the associated Document. This list of pending tasks is never processed when
184         a client subsequently allows loading (e.g. -[WebView setDefersCallbacks:NO])). Therefore, we never
185         execute a SQLTransactionCallback function that was deferred.
186
187         Ideally WebCore would defer loading of substitute data when a WebKit client requests that loading
188         be deferred and hence a SQLTransactionCallback function would be deferred as a consequence of the
189         lack of JavaScript script execution (since substitute data wasn't loaded and hence any JavaScript
190         script contained in the substitute data that initiates a SQL transaction isn't executed). For now,
191         it's sufficient to only defer executing tasks when either there are existing pending tasks or the
192         active DOM objects for the document are suspended (e.g. Document::suspendActiveDOMObjects() was called).
193
194         * dom/Document.cpp:
195         (WebCore::Document::postTask):
196
197 2014-08-07  Zalan Bujtas  <zalan@apple.com>
198
199         border-radius on html does not render properly.
200         https://bugs.webkit.org/show_bug.cgi?id=135706
201
202         Reviewed by Simon Fraser.
203
204         Ensure that background is initialized when border-radius is present.
205
206         Test: fast/borders/border-radius-on-html.html
207
208         * rendering/RenderView.cpp:
209         (WebCore::rendererObscuresBackground):
210
211 2014-08-07  Pratik Solanki  <psolanki@apple.com>
212
213         Random resource replacement on beta.icloud.com
214         https://bugs.webkit.org/show_bug.cgi?id=135685
215         <rdar://problem/17937975>
216
217         Reviewed by Alexey Proskuryakov.
218
219         Revert the performance optimization in r170499. It turns out we could get a delayed disk
220         cache notification for a resource that has since been changed in WebCore. In such a case, we
221         were replacing the newer resource data with the older disk cached resource data. This was
222         happening for cached POST content on beta.icloud.com. Fix this by forcing a memcmp of data
223         contents before replacing it which is what we used to do before.
224
225         * loader/cache/CachedResource.cpp:
226         (WebCore::CachedResource::tryReplaceEncodedData):
227
228 2014-08-06  Brent Fulgham  <bfulgham@apple.com>
229
230         [Mac, iOS] Captions are appearing multiple times during repeated video play through
231         https://bugs.webkit.org/show_bug.cgi?id=135680
232         <rdar://problem/17926802>
233
234         Reviewed by Eric Carlson.
235
236         Test: media/track/track-in-band-cues-added-once.html
237
238         Revert TextTrackCueGeneric::isOrderedBefore logic to its original form, and add
239         a new 'isOrderedBeforeDuringDisplay' for the special case of displaying captions.
240
241         * html/shadow/MediaControlElements.cpp:
242         (WebCore::compareCueIntervalForDisplay): Added helper function.
243         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Use the new
244         'isOrderedBeforeDuringDisplay' to order the cues for display.
245         * html/track/TextTrackCue.h:
246         (WebCore::TextTrackCue::isOrderedBeforeDuringDisplay): Added. This just
247         calls the existing 'isOrderedBefore' method.
248         * html/track/TextTrackCueGeneric.cpp:
249         (WebCore::TextTrackCueGeneric::isOrderedBefore): Revert to logic used
250         prior to r171700.
251         (WebCore::TextTrackCueGeneric::isOrderedBeforeDuringDisplay): New method that
252         implements the behavior in r171700.
253         * html/track/TextTrackCueGeneric.h:
254
255 2014-08-07  Jer Noble  <jer.noble@apple.com>
256
257         [Mac] Taking a paused video full screen flashes black at beginning of animation.
258         https://bugs.webkit.org/show_bug.cgi?id=135668
259
260         Reviewed by Eric Carlson.
261
262         When entering fullscreen, the full screen window will momentarily occlude the browser
263         window, causing a visiblity change notification. To avoid flickering when client buffering
264         is disabled, throttle calls to updateClientDataBuffering by delaying those calls for a
265         short period.
266
267         * platform/audio/MediaSession.cpp:
268         (WebCore::MediaSession::MediaSession):
269         (WebCore::MediaSession::clientWillPausePlayback):
270         (WebCore::MediaSession::visibilityChanged):
271         (WebCore::MediaSession::clientDataBufferingTimerFired):
272         (WebCore::MediaSession::updateClientDataBuffering):
273         * platform/audio/MediaSession.h:
274
275 2014-08-07  Zan Dobersek  <zdobersek@igalia.com>
276
277         ASSERT in Document::unregisterCollection reloading apple.com
278         https://bugs.webkit.org/show_bug.cgi?id=135168
279
280         Reviewed by Andreas Kling.
281
282         * dom/Document.cpp:
283         (WebCore::Document::unregisterCollection): This assertion was failing
284         because the passed-in HTMLCollection was not invalidated for a non-related
285         attribute, but was instead unregistered during destruction, at which point
286         the m_collectionsInvalidatedAtDocument HashSet was empty.
287         The assertion could be trivially reduced into checking that the HashSet is
288         empty when it was moved out of in Document::invalidateNodeListAndCollectionCaches(),
289         but that just checks that the move semantics on HashSet work properly. Removing
290         a non-existent element from a HashSet is harmless, so the assertion can be removed
291         completely.
292
293 2014-08-06  Brent Fulgham  <bfulgham@apple.com>
294
295         [Win] Correct build errors when WebGL Disabled
296         https://bugs.webkit.org/show_bug.cgi?id=135687
297
298         Unreviewed build fix.
299
300         * WebCore.vcxproj/WebCore.vcxproj: Don't build Cairo files
301         when building CG.
302         * platform/graphics/GLContext.cpp: Correct use of 3D_GRAPHICS macro.
303         * platform/graphics/GraphicsContext3DPrivate.cpp: Ditto.
304         * platform/graphics/opengl/GLPlatformContext.cpp: Ditto.
305         * platform/graphics/opengl/GLPlatformSurface.cpp: Ditto.
306
307 2014-08-06  Ryuan Choi  <ryuan.choi@samsung.com>
308
309         Unreviewed build fix on non Cocoa port since r172172
310
311         * platform/text/TextEncodingRegistry.cpp:
312         (WebCore::defaultTextEncodingNameForSystemLanguage):
313         * platform/text/TextEncodingRegistry.h:
314
315 2014-08-06  Myles C. Maxfield  <mmaxfield@apple.com>
316
317         [iOS] Make document marker assets not specific to particular scale factors
318         https://bugs.webkit.org/show_bug.cgi?id=135671
319
320         Reviewed by Simon Fraser.
321
322         No new tests.
323
324         * WebCore.xcodeproj/project.pbxproj:
325         * platform/ios/wak/WKGraphics.mm:
326         (imageResourcePath):
327         (WKGraphicsCreateImageFromBundleWithName):
328
329 2014-08-06  Enrica Casucci  <enrica@apple.com>
330
331         Services menu doesn't show up after you defocus/refocus the Safari window.
332         https://bugs.webkit.org/show_bug.cgi?id=135678
333         <rdar://problem/17929247>
334
335         Reviewed by Tim Horton.
336
337         In setSelection we create a SelectionRectGatherer::Notifier object that will notify
338         SelectionOverlayController about changes to the selection rects.
339         Upon creation, the list of selections rects is cleared, since it is populated by
340         the code that collects the selection rects. That code is never called
341         when setSelection won't change the selection, which the case when the window is
342         activated. The fix consists in postponing the SelectionRectGatherer::Notifier object
343         creation until we know for sure that the selection is indeed going to change.
344         
345         * rendering/RenderView.cpp:
346         (WebCore::RenderView::setSelection):
347
348 2014-08-06  Dean Jackson  <dino@apple.com>
349
350         ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED is not used anywhere. Remove it.
351         https://bugs.webkit.org/show_bug.cgi?id=135675
352
353         Reviewed by Sam Weinig.
354
355         * Configurations/FeatureDefines.xcconfig:
356
357 2014-08-06  Brady Eidson  <beidson@apple.com>
358
359         IDB transactions never reset if the Web Process ends before cleaning up
360         https://bugs.webkit.org/show_bug.cgi?id=135218
361
362         Reviewed by David Kilzer.
363
364         No new tests (Covered by existing tests).
365
366         * Modules/indexeddb/IDBServerConnection.h: Add sync versions of reset/rollback.
367
368         * Modules/indexeddb/IDBTransactionBackend.cpp:
369         (WebCore::IDBTransactionBackend::abort): Call the sync versions.
370
371 2014-08-06  Wenson Hsieh <wenson_hsieh@apple.com>
372
373         Implement parsing for CSS scroll snap points
374         https://bugs.webkit.org/show_bug.cgi?id=134301
375
376         Provided support for parsing -webkit-scroll-snap-* properties, i.e.  type, points-x, points-y, destination, and coordinates.
377         The exact syntax of the scroll snap CSS properties follow the W3C spec at http://dev.w3.org/csswg/css-snappoints/
378
379         Reviewed by Dean Jackson.
380
381         Tests: css3/scroll-snap/scroll-snap-property-parsing.html,
382             css3/scroll-snap/scroll-snap-property-computed-style.html
383
384         * CMakeLists.txt: Added StyleScrollSnapPoints.h, StyleScrollSnapPoints.cpp
385         * Configurations/FeatureDefines.xcconfig: Added ENABLE_CSS_SCROLL_SNAP
386         * WebCore.vcxproj/WebCore.vcxproj: Added StyleScrollSnapPoints.h, StyleScrollSnapPoints.cpp
387         * WebCore.vcxproj/WebCore.vcxproj.filters: Added StyleScrollSnapPoints.h, StyleScrollSnapPoints.cpp
388         * WebCore.xcodeproj/project.pbxproj: Added StyleScrollSnapPoints.h, StyleScrollSnapPoints.cpp, LengthRepeat.h
389         * css/CSSCalculationValue.cpp: Support for LengthRepeat
390         (WebCore::hasDoubleValue):
391         * css/CSSComputedStyleDeclaration.cpp: Support for showing computed style for snap point properties.
392         (WebCore::scrollSnapDestination):
393         (WebCore::scrollSnapPoints):
394         (WebCore::scrollSnapCoordinates):
395         (WebCore::ComputedStyleExtractor::propertyValue):
396         * css/CSSParser.cpp: Support for parsing snap point properties.
397         (WebCore::isValidKeywordPropertyAndValue): handle snap point type
398         (WebCore::isKeywordPropertyID):
399         (WebCore::CSSParser::parseValue): Added support for parsing snap points.
400         (WebCore::CSSParser::parseNonElementSnapPoints): Helper for parsing snap points-x/y.
401         (WebCore::CSSParser::parseScrollSnapDestination): Helper for parsing snap point destinations.
402         (WebCore::CSSParser::parseScrollSnapCoordinate): Helper for parsing snap point coordinates.
403         * css/CSSParser.h: Support for parsing snap point properties.
404         * css/CSSParserValues.cpp:
405         (WebCore::CSSParserValue::createCSSValue):
406         * css/CSSPrimitiveValue.cpp:
407         (WebCore::isValidCSSUnitTypeForDoubleConversion):
408         (WebCore::CSSPrimitiveValue::init):
409         (WebCore::CSSPrimitiveValue::cleanup):
410         (WebCore::CSSPrimitiveValue::getLengthRepeatValue):
411         (WebCore::CSSPrimitiveValue::formatNumberForcustomCSSText):
412         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
413         (WebCore::CSSPrimitiveValue::equals):
414         * css/CSSPrimitiveValue.h:
415         (WebCore::CSSPrimitiveValue::isLengthRepeat):
416         (WebCore::CSSPrimitiveValue::getLengthRepeatValue):
417         * css/CSSPrimitiveValueMappings.h: Added converters for snap point type properties.
418         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
419         (WebCore::CSSPrimitiveValue::operator ScrollSnapType):
420         * css/CSSPropertyNames.in: Added relevant snap point property names.
421         * css/CSSValueKeywords.in: Added "proximity", "mandatory" and "elements".
422         * css/LengthRepeat.h: Added to represent values of repeat(<length>)
423         (WebCore::LengthRepeat::create):
424         (WebCore::LengthRepeat::cloneForCSSOM):
425         (WebCore::LengthRepeat::interval):
426         (WebCore::LengthRepeat::setInterval):
427         (WebCore::LengthRepeat::equals):
428         (WebCore::LengthRepeat::cssText):
429         (WebCore::LengthRepeat::LengthRepeat):
430         * css/StyleResolver.cpp: Support for handling snap point properties
431         (WebCore::StyleResolver::applyProperty):Updated switch case to build snap-point-related style data
432         * rendering/style/RenderStyle.h: Added methods to access and modify snap point data
433         * rendering/style/RenderStyleConstants.h: Added scroll snap type flags.
434         * rendering/style/StyleAllInOne.cpp: Added StyleScrollSnapPoints.cpp
435         * rendering/style/StyleRareNonInheritedData.cpp: Added initiazing for m_scrollSnapPoints, updated equality check
436         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
437         (WebCore::StyleRareNonInheritedData::operator==):
438         * rendering/style/StyleRareNonInheritedData.h: Added field for StyleScrollSnapPoints
439         * rendering/style/StyleScrollSnapPoints.cpp: Added. Wrapper for basic snap point data structures.
440         (WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints):
441         (WebCore::StyleScrollSnapPoints::copy):
442         (WebCore::StyleScrollSnapPoints::operator==):
443         * rendering/style/StyleScrollSnapPoints.h: Added.
444         (WebCore::StyleScrollSnapPoints::create):
445         (WebCore::StyleScrollSnapPoints::defaultRepeatOffset): Creates a new Length representing the default repeat value of repeat(100%)
446         (WebCore::StyleScrollSnapPoints::defaultDestinationOffset): Creates a new Length representing a default destination value (0px)
447         (WebCore::StyleScrollSnapPoints::operator!=):
448
449 2014-08-06  Andy Estes  <aestes@apple.com>
450
451         [iOS] Subresources referenced in converted QuickLook documents sometimes fail to load
452         https://bugs.webkit.org/show_bug.cgi?id=135676
453
454         Reviewed by David Kilzer.
455
456         * loader/DocumentLoader.h:
457         (WebCore::DocumentLoader::setQuickLookHandle):
458         (WebCore::DocumentLoader::quickLookHandle):
459
460 2014-08-06  Simon Fraser  <simon.fraser@apple.com>
461
462         REGRESSION (r168119): Album flipping animation doesn’t work
463         https://bugs.webkit.org/show_bug.cgi?id=132801
464         <rdar://problem/16878497>, <rdar://problem/17908085>
465
466         Reviewed by Dean Jackson.
467         
468         In r168119 I avoided creating backing store for backface-visibility:hidden unless
469         some ancestor was 3d-transformed. However, when starting transitions or animations
470         that apply transforms, we don't do a layout, and therefore don't update the RenderLayer
471         flags that mark an ancestor as having a transform. This broke various content which
472         used backface-visibility:hidden for "flip" animations.
473         
474         Make a low-risk fix that looks for the pattern of CSS properties used for flipping,
475         making a compositing layer for backface-visibility:hidden if the stacking context element
476         has transform-style: preserve-3d.
477
478         Test: compositing/backing/backface-visibility-flip.html
479
480         * rendering/RenderLayerCompositor.cpp:
481         (WebCore::RenderLayerCompositor::requiresCompositingForBackfaceVisibility):
482
483 2014-08-06  Brent Fulgham  <bfulgham@apple.com>
484
485         Consolidate logic for calculating scrollbar page step size
486         https://bugs.webkit.org/show_bug.cgi?id=135670
487
488         Reviewed by Simon Fraser.
489
490         Consolidate the calculation of the scroll step size into a single place.
491         Improve the handling of sub-pixel layout behavior by performing proper
492         rounding on the fractional scroll ranges.
493
494         * editing/EditorCommand.cpp:
495         (WebCore::verticalScrollDistance): Switch to Scrollbar::pageStep method.
496         * platform/ScrollAnimator.cpp:
497         (WebCore::ScrollAnimator::handleWheelEvent): Ditto.
498         * platform/ScrollView.cpp:
499         (WebCore::ScrollView::updateScrollbars): Ditto.
500         * platform/Scrollbar.h:
501         (WebCore::Scrollbar::pageStep): Added.
502         (WebCore::Scrollbar::pageStepDelta): Added.
503         * rendering/RenderLayer.cpp:
504         (WebCore::RenderLayer::updateScrollbarsAfterLayout): Switch to Scrollbar method.
505
506 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
507
508         Web Replay: dispatch timing information should be stored out-of-line in a replay segment
509         https://bugs.webkit.org/show_bug.cgi?id=135295
510
511         Reviewed by Timothy Hatcher.
512
513         We need to save a timestamp for each event loop input so that replay can
514         simulate the original user and network delays. Currently that timestamp
515         is stored on each EventLoopInput instance.
516
517         This patch stores timestamp data in a separate vector attached to the segment.
518         The event loop input class is now immutable, and new auxiliary data can be added
519         without adding members to the EventLoopInput class.
520
521         As part of the refactoring, InputCursors now keep a reference to the relevant
522         session segment instead of a reference to their input storage. InputCursors can
523         be created directly, instead of through ReplaySessionSegment.
524
525         No new tests. No behavior was changed.
526
527         * inspector/InspectorReplayAgent.cpp:
528         (WebCore::buildInspectorObjectForInput): Don't send the timestamp with the input.
529         (WebCore::buildInspectorObjectForSegment):
530         * inspector/protocol/Replay.json: Remove optional timestamp field for ReplayInput.
531         * replay/CapturingInputCursor.cpp:
532         (WebCore::CapturingInputCursor::CapturingInputCursor):
533         (WebCore::CapturingInputCursor::create):
534         (WebCore::CapturingInputCursor::storeInput): Save event loop input timings here.
535         * replay/CapturingInputCursor.h:
536         * replay/EventLoopInput.h:
537         (WebCore::EventLoopInputBase::EventLoopInputBase): Deleted.
538         (WebCore::EventLoopInputBase::timestamp): Deleted.
539         (WebCore::EventLoopInputBase::setTimestamp): Deleted.
540         * replay/EventLoopInputDispatcher.cpp: Use a struct for dispatch information.
541         (WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher):
542         (WebCore::EventLoopInputDispatcher::dispatchInputSoon):
543         (WebCore::EventLoopInputDispatcher::dispatchInput):
544         * replay/EventLoopInputDispatcher.h:
545         * replay/FunctorInputCursor.h:
546         (WebCore::FunctorInputCursor::forEachInputInQueue):
547         (WebCore::FunctorInputCursor::FunctorInputCursor):
548         * replay/ReplayController.cpp:
549         (WebCore::ReplayController::createSegment):
550         (WebCore::ReplayController::loadSegmentAtIndex):
551         (WebCore::ReplayController::unloadSegment): Deleted.
552         (WebCore::ReplayController::startPlayback): Deleted.
553         * replay/ReplaySessionSegment.cpp:
554         (WebCore::ReplaySessionSegment::createCapturingCursor): Deleted.
555         (WebCore::ReplaySessionSegment::createReplayingCursor): Deleted.
556         (WebCore::ReplaySessionSegment::createFunctorCursor): Deleted.
557         * replay/ReplaySessionSegment.h:
558         (WebCore::ReplaySessionSegment::storage):
559         (WebCore::ReplaySessionSegment::eventLoopTimings):
560         * replay/ReplayingInputCursor.cpp:
561         (WebCore::ReplayingInputCursor::ReplayingInputCursor):
562         (WebCore::ReplayingInputCursor::create):
563         (WebCore::ReplayingInputCursor::uncheckedLoadInput):
564         (WebCore::ReplayingInputCursor::loadEventLoopInput): Added. This method collates
565         and returns the next event loop input with its associated dispatch information.
566         * replay/ReplayingInputCursor.h:
567
568 2014-08-06  Tim Horton  <timothy_horton@apple.com>
569
570         Document-relative overlays disappear after doing page-cache navigations
571         https://bugs.webkit.org/show_bug.cgi?id=135669
572         <rdar://problem/17929171>
573
574         Reviewed by Simon Fraser.
575
576         * rendering/RenderLayerCompositor.cpp:
577         (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
578         When navigating from one page to another, the document-relative overlay
579         layer is moved from the layer tree of the RenderLayerCompositor of the
580         first RenderView to the layer tree of the RenderLayerCompositor of the
581         new RenderView, upon layer tree construction.
582         When going "back" via a page cache navigation, we don't rebuild the
583         layer tree, and just assume that it is in a valid state.
584         However, the document-relative overlay layer was *moved*, and as such,
585         needs to be moved back. To do this, reattach the document-relative
586         overlay layer whenever the root layer attachment of a RenderLayerCompositor
587         changes, which will happen in the right order when going back to a cached page.
588
589 2014-08-06  Filip Pizlo  <fpizlo@apple.com>
590
591         Merge r171389, r171495, r171508, r171510, r171605, r171606, r171611, r171614, r171763 from ftlopt.
592
593     2014-08-06  Mark Hahnenberg  <mhahnenberg@apple.com>
594     
595             Refactor our current implementation of for-in
596             https://bugs.webkit.org/show_bug.cgi?id=134142
597     
598             Reviewed by Filip Pizlo.
599     
600             No new tests.
601     
602             This patch splits for-in loops into three distinct parts:
603     
604             - Iterating over the indexed properties in the base object.
605             - Iterating over the Structure properties in the base object.
606             - Iterating over any other enumerable properties for that object and any objects in the prototype chain.
607      
608             It does this by emitting these explicit loops in bytecode, using a new set of bytecodes to 
609             support the various operations required for each loop.
610     
611             * bindings/js/JSDOMWindowCustom.cpp:
612             (WebCore::JSDOMWindow::getEnumerableLength):
613             (WebCore::JSDOMWindow::getStructurePropertyNames):
614             (WebCore::JSDOMWindow::getGenericPropertyNames):
615             * bindings/scripts/CodeGeneratorJS.pm:
616             (GenerateHeader):
617             * bridge/runtime_array.cpp:
618             (JSC::RuntimeArray::getOwnPropertyNames):
619     
620 2014-08-06  Alexey Proskuryakov  <ap@apple.com>
621
622         REGRESSION (WebKit2): iOS Safari default encoding doesn't follow system language
623         https://bugs.webkit.org/show_bug.cgi?id=135667
624         <rdar://problem/17862892>
625
626         Reviewed by Anders Carlsson.
627
628         Moved a function that computes default encoding from WebKit to WebCore, so that
629         it could be shared with WebKit2.
630
631         * WebCore.exp.in:
632         * platform/ios/WebCoreSystemInterfaceIOS.mm:
633         * platform/mac/WebCoreSystemInterface.h:
634         * platform/mac/WebCoreSystemInterface.mm:
635         * platform/text/TextEncodingRegistry.cpp:
636         (WebCore::defaultTextEncodingNameForSystemLanguage):
637         * platform/text/TextEncodingRegistry.h:
638
639 2014-08-06  Andreas Kling  <akling@apple.com>
640
641         Remove unused RenderBox::reflectionBox().
642         <https://webkit.org/b/135661>
643
644         Reviewed by Antti Koivisto.
645
646         * rendering/RenderBox.cpp:
647         (WebCore::RenderBox::reflectionBox): Deleted.
648         * rendering/RenderBox.h:
649
650 2014-08-06  Brian J. Burg  <burg@cs.washington.edu>
651
652         Web Inspector: convert ReplayManager to a promise-based API
653         https://bugs.webkit.org/show_bug.cgi?id=135249
654
655         Reviewed by Timothy Hatcher.
656
657         Fix some assertions to match ReplayController's preconditions.
658
659         * inspector/InspectorReplayAgent.cpp:
660         (WebCore::InspectorReplayAgent::replayToPosition):
661         (WebCore::InspectorReplayAgent::replayToCompletion):
662
663 2014-08-05  Brent Fulgham  <bfulgham@apple.com>
664
665         [Mac] Unable to scroll to bottom of nested scrollable areas
666         https://bugs.webkit.org/show_bug.cgi?id=135637
667         <rdar://problem/17910241>
668
669         Reviewed by Zalan Bujtas.
670
671         Test: platform/mac/fast/scrolling/scroll-latched-nested-div.html
672
673         Avoid truncating the fractional portion of scroll ranges.
674
675         * rendering/RenderLayer.cpp:
676         (WebCore::RenderLayer::updateScrollbarsAfterLayout): Round
677         the LayoutUnit values for scroll width and height rather than
678         truncating.
679
680 2014-08-06  Andy Estes  <aestes@apple.com>
681
682         [iOS] QuickLook returns an invalid MIME type for some documents
683         https://bugs.webkit.org/show_bug.cgi?id=135651
684
685         Reviewed by David Kilzer.
686
687         r172151 ensured that we ignore QuickLook delegate messages after an error, but neglected to do so for
688         connectionDidFinishLoading:. Do not call ResourceLoader::didFinishLoading() if an error has occurred.
689
690         * platform/network/ios/QuickLook.mm:
691         (-[WebResourceLoaderQuickLookDelegate connectionDidFinishLoading:]):
692
693 2014-08-06  Commit Queue  <commit-queue@webkit.org>
694
695         Unreviewed, rolling out r172155.
696         https://bugs.webkit.org/show_bug.cgi?id=135659
697
698         ChangeLog and commit message are wrong (Requested by estes on
699         #webkit).
700
701         Reverted changeset:
702
703         "Unreviewed, rolling out r172145."
704         https://bugs.webkit.org/show_bug.cgi?id=135657
705         http://trac.webkit.org/changeset/172155
706
707 2014-07-28  Myles C. Maxfield  <mmaxfield@apple.com>
708
709         Unreviewed build fix
710
711         * rendering/TextPainter.cpp: Used incorrect variable name
712  
713 2014-08-06  Commit Queue  <commit-queue@webkit.org>
714
715         Unreviewed, rolling out r172145.
716         https://bugs.webkit.org/show_bug.cgi?id=135657
717
718         caused 1 API test to fail (Requested by zalan on #webkit).
719
720         Reverted changeset:
721
722         "Cleanup InlineTextBox::paintSelection and
723         ::localSelectionRect."
724         https://bugs.webkit.org/show_bug.cgi?id=135631
725         http://trac.webkit.org/changeset/172145
726
727 2014-07-28  Myles C. Maxfield  <mmaxfield@apple.com>
728
729         Text-shadow with (0, 0) offset and radius = 0 is ugly
730         https://bugs.webkit.org/show_bug.cgi?id=135357
731
732         Reviewed by Darin Adler.
733
734         Instead, check for this kind of shadow and don't draw it.
735
736         Test: fast/text/empty-shadow.html
737
738         * rendering/TextPainter.cpp:
739         (WebCore::isEmptyShadow): Does a shadow match these criteria?
740         (WebCore::paintTextWithShadows): If so, don't draw it.
741
742 2014-08-06  Andy Estes  <aestes@apple.com>
743
744         [iOS] QuickLook returns an invalid MIME type for some documents
745         https://bugs.webkit.org/show_bug.cgi?id=135651
746
747         Reviewed by David Kilzer.
748
749         In some cases QuickLook indicates a failure by returning a nil MIME type in -[QLPreviewConverter previewResponse]
750         rather than calling connection:didFailWithError:. Calling ResourceLoader::didReceiveResponse() with a response
751         containing a nil MIME type leads to a crash.
752
753         Stop loading the resource and display an error page if QuickLook cannot provide a MIME type for the converted response.
754
755         No new tests. QuickLook is not testable from WebKit.
756
757         * platform/network/ios/QuickLook.mm:
758         (-[WebResourceLoaderQuickLookDelegate _sendDidReceiveResponseIfNecessary]): Called ResourceLoader::didFail() if
759         MIME type was nil. Called ResourceLoader::didReceiveResponse() otherwise.
760         (-[WebResourceLoaderQuickLookDelegate connection:didReceiveDataArray:]): Called -_sendDidReceiveResponseIfNecessary.
761         (-[WebResourceLoaderQuickLookDelegate connection:didReceiveData:lengthReceived:]): Ditto.
762         (-[WebResourceLoaderQuickLookDelegate connection:didFailWithError:]): Ditto.
763
764 2014-08-06  Radu Stavila  <stavila@adobe.com>
765
766         REGRESSION (r163382): Overflow hidden for inner elements breaks blurring
767         https://bugs.webkit.org/show_bug.cgi?id=135318
768
769         Reviewed by Zalan Bujtas.
770
771         For elements with border radius, clipping must be applied using clipRoundedRect.
772         This regressed in r163382, when normal clipping started being applied also
773         for elements having border radius.
774
775         Test: fast/filter-image/clipped-filter.html
776
777         * rendering/RenderLayer.cpp:
778         (WebCore::RenderLayer::clipToRect):
779         (WebCore::RenderLayer::restoreClip):
780
781 2014-08-06  Zalan Bujtas  <zalan@apple.com>
782
783         Cleanup InlineTextBox::paintSelection and ::localSelectionRect.
784         https://bugs.webkit.org/show_bug.cgi?id=135631
785
786         Reviewed by Darin Adler.
787
788         Covered by existing tests.
789
790         * rendering/InlineTextBox.cpp: Ideally these 2 functions should share some more code.
791         (WebCore::InlineTextBox::localSelectionRect): Local coordinates should not be snapped/enclosed.
792         This change could potentially break some selections. Should that be the case, they need to be addressed
793         separately.
794         (WebCore::InlineTextBox::paint):
795         (WebCore::InlineTextBox::paintSelection): Minor cleanup.
796         * rendering/InlineTextBox.h:
797
798 2014-08-06  Carlos Garcia Campos  <cgarcia@igalia.com>
799
800         [GTK] Be able to disable gtk2 dependency
801         https://bugs.webkit.org/show_bug.cgi?id=135505
802
803         Reviewed by Gustavo Noronha Silva.
804
805         Do not build WebCorePlatformGTK2 when ENABLE_PLUGIN_PROCESS_GTK2
806         is OFF.
807
808         * PlatformGTK.cmake:
809
810 2014-08-06  Mark Lam  <mark.lam@apple.com>
811
812         Gardening: fix bindings test breakage for for r170564 merged in r172129.
813         <https://webkit.org/b/134333>
814
815         Not reviewed.
816
817         No new tests.
818
819         * bindings/scripts/test/JS/JSTestEventTarget.h:
820         (WebCore::JSTestEventTarget::create):
821
822 2014-08-06  Ryuan Choi  <ryuan.choi@samsung.com>
823
824         Unreviewed typo correction.
825
826         * bindings/scripts/CodeGeneratorJS.pm: removed unnecessary space.
827         (GenerateImplementation):
828
829 2014-08-05  James Craig  <jcraig@apple.com>
830
831         Web Inspector: AXI: Add label string once AccessibilityObject::computedLabel() is available
832         https://bugs.webkit.org/show_bug.cgi?id=129940
833
834         Reviewed by Chris Fleizach.
835
836         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt
837
838         * accessibility/AccessibilityObject.cpp: Fixed crash.
839         (WebCore::AccessibilityObject::accessibilityComputedLabel): 
840         * accessibility/AccessibilityObject.h: Method name update.
841         * inspector/InspectorDOMAgent.cpp: New support for getting Node label from AccessibilityObject.
842         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
843
844 2014-07-29  Filip Pizlo  <fpizlo@apple.com>
845
846         Merge r170564, r170571, r170604, r170628, r170672, r170680, r170724, r170728, r170729, r170819, r170821, r170836, r170855, r170860, r170890, r170907, r170929, r171052, r171106, r171152, r171153, r171214 from ftlopt.
847
848     2014-07-01  Mark Lam  <mark.lam@apple.com>
849     
850             [ftlopt] DebuggerCallFrame::scope() should return a DebuggerScope.
851             <https://webkit.org/b/134420>
852     
853             Reviewed by Geoffrey Garen.
854     
855             No new tests.
856     
857             * ForwardingHeaders/debugger/DebuggerCallFrame.h: Removed.
858             - This is not in use.  Hence, we can remove it.
859             * bindings/js/ScriptController.cpp:
860             (WebCore::ScriptController::attachDebugger):
861             - We should acquire the JSLock before modifying a JS global object.
862     
863     2014-06-25  Filip Pizlo  <fpizlo@apple.com>
864     
865             [ftlopt] If a CodeBlock is jettisoned due to a watchpoint then it should be possible to figure out something about that watchpoint
866             https://bugs.webkit.org/show_bug.cgi?id=134333
867     
868             Reviewed by Geoffrey Garen.
869     
870             No new tests because no change in behavior.
871     
872             * bindings/scripts/CodeGeneratorJS.pm:
873             (GenerateHeader):
874     
875 2014-08-05  Ryuan Choi  <ryuan.choi@samsung.com>
876
877         Build break since r172093
878         https://bugs.webkit.org/show_bug.cgi?id=135636
879
880         Reviewed by Gyuyoung Kim.
881
882         Since r172093, AbstractView.idl is added in CMake Build but CodeGeneratorJS.pm does not take care of it.
883
884         No new tests required, no new functionality.
885
886         * bindings/scripts/CodeGeneratorJS.pm:
887         (ShouldGenerateToJSDeclaration):
888         (ShouldGenerateToJSImplementation):
889         (GetImplClassName): Added to rename implClassName to DOMWindow if interface name is AbstractView.
890         (GenerateHeader):
891         (GenerateImplementation):
892
893 2014-08-05  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>
894
895         [CG] strokeRect does not honor lineJoin
896         https://bugs.webkit.org/show_bug.cgi?id=132948
897
898         Reviewed by Darin Adler.
899
900         Replaced use of CGContextStrokeRectWithWidth convenience function with explicit 
901         call to CGContextAddRect and CGContextStrokePath.  The convenience functions
902         CGContextStrokeRect and CGContextStrokeRectWithWidth fail to apply some attributes
903         (e.g. stroke join) of the graphics state in certain cases.
904
905         Test: fast/canvas/canvas-strokeRect-lineJoin.html
906
907         * platform/graphics/cg/GraphicsContextCG.cpp:
908         (WebCore::GraphicsContext::strokeRect):
909
910 2014-08-05  Brent Fulgham  <bfulgham@apple.com>
911
912         [Win] Build attempts to use ANGLE when not building WebGL.
913         https://bugs.webkit.org/show_bug.cgi?id=135630
914         <rdar://problem/135630>
915
916         Unreviewed build fix.
917
918         * platform/graphics/win/GraphicsContext3DWin.cpp: Move #include of GraphicsContext3D.h
919         inside USE(3D_GRAPHICS) guard.
920
921 2014-08-05  Simon Fraser  <simon.fraser@apple.com>
922
923         [iOS WK2] Crash going back on a specific tumblr blog (under ScrollingStateTree::removeNodeAndAllDescendants)
924         https://bugs.webkit.org/show_bug.cgi?id=135629
925         <rdar://problem/17802174>
926
927         Reviewed by Tim Horton.
928         
929         In r170198 I added an "orphan scrolling nodes" code path that sets aside subtrees
930         of scrolling nodes into an m_orphanedSubframeNodes map, which keeps them alive until
931         they get reparented or destroyed. The nodes in that subtree remain in m_stateNodeMap,
932         which holds raw pointers to them.
933         
934         However, ScrollingStateTree::commit() can clear m_orphanedSubframeNodes, which is
935         sometimes non-empty at this point. When that happened, we would destroy nodes which
936         were still referenced by m_stateNodeMap, with the result that a later query for the
937         same nodeID would hand back a pointer to a deleted object.
938         
939         Fix by calling recursiveNodeWillBeRemoved() on nodes in the m_orphanedSubframeNodes
940         before clearing it, which removes them and all their descendants from the state node map.
941
942         Test: platform/mac-wk2/tiled-drawing/scrolling/frames/orphaned-subtree.html
943
944         * page/scrolling/ScrollingStateTree.cpp:
945         (WebCore::ScrollingStateTree::clear):
946         (WebCore::ScrollingStateTree::commit):
947
948 2014-08-05  Peyton Randolph  <prandolph@apple.com>
949
950         Add the ability to force text to render in white, not just black
951         https://bugs.webkit.org/show_bug.cgi?id=135625
952
953         Reviewed by Beth Dakin.
954
955         This patch introduces PaintBehaviorForceWhiteText, a complement to PaintBehaviorForceBlackText. If
956         a client specifies both PaintBehaviorForceWhiteText and PaintBehaviorForceBlackText, the text will be
957         painted black.
958
959         No new tests.
960
961         * rendering/EllipsisBox.cpp:
962         (WebCore::EllipsisBox::paint): Use the forced text color to paint the text if requested.
963         * rendering/InlineTextBox.cpp:
964         (WebCore::InlineTextBox::paint): Disable the text shadow if a text color has been forced.
965         * rendering/PaintInfo.h:
966         (WebCore::PaintInfo::forceTextColor): 
967         Return true iff the client has requested to force a black or white text color.
968         (WebCore::PaintInfo::forceWhiteText):
969         Return true iff forcing white text has been requested.
970         (WebCore::PaintInfo::forcedTextColor): 
971         Return the forced text color. Currently only white and black are supported.
972         * rendering/PaintPhase.h:
973         * rendering/RenderLayer.cpp:
974         (WebCore::RenderLayer::paintLayerContents): Remove the forceBlackText-related code as it is redundant.
975         (WebCore::RenderLayer::paintForegroundForFragments): 
976         Remove forceBlackText parameter and infer the correct behavior from the given paint behavior.
977         * rendering/RenderLayer.h:
978         * rendering/TextPaintStyle.cpp:
979         (WebCore::computeTextPaintStyle): Use the forced text color if available.
980         (WebCore::computeTextSelectionPaintStyle): Use the forced text color if available.
981
982 2014-08-05  Alex Christensen  <achristensen@webkit.org>
983
984         More work on CMake.
985         https://bugs.webkit.org/show_bug.cgi?id=135620
986
987         Reviewed by Reviewed by Laszlo Gombos.
988
989         * CMakeLists.txt:
990         Added missing idls.
991         * PlatformMac.cmake:
992         Added additional include directories and source files.
993         * css/makeSelectorPseudoClassAndCompatibilityElementMap.py:
994         * css/makeSelectorPseudoElementsMap.py:
995         The Windows distribution of gperf doesn't like single quotes for its key-positions parameters.
996         * page/Chrome.h:
997         Compile fix.
998
999 2014-08-05  Brian J. Burg  <burg@cs.washington.edu>
1000
1001         Web Inspector: ReplayManager shouldn't assume replay status when the inspector is opened
1002         https://bugs.webkit.org/show_bug.cgi?id=135212
1003
1004         Reviewed by Timothy Hatcher.
1005
1006         The frontend should be able to introspect the session and segment state machines,
1007         currently loaded segment and session identifiers, and replay position.
1008
1009         * inspector/InspectorReplayAgent.cpp:
1010         (WebCore::buildInspectorObjectForSessionState): Added.
1011         (WebCore::buildInspectorObjectForSegmentState): Added.
1012         (WebCore::InspectorReplayAgent::currentReplayState): Added.
1013         * inspector/InspectorReplayAgent.h:
1014         * inspector/protocol/Replay.json: Add currentReplayState query command.
1015         * replay/ReplayController.h: Add some accessors.
1016
1017 2014-08-05  Dean Jackson  <dino@apple.com>
1018
1019         [iOS] Media controls layout incorrectly in RTL content
1020         https://bugs.webkit.org/show_bug.cgi?id=135621
1021         <rdar://problem/17849206>
1022
1023         Reviewed by Eric Carlson.
1024
1025         Media controls should always layout in LTR mode, even when the
1026         page content is RTL. There already was a rule to do this on
1027         non-iOS systems, but it wasn't getting included for iOS.
1028         In this case I put the rule on the composited parent of the
1029         controls in order to maintain the padding of the control panel.
1030         This should still leave the captions unaffected.
1031
1032         * Modules/mediacontrols/mediaControlsiOS.css:
1033         (video::-webkit-media-controls-panel-composited-parent): Add direction: ltr.
1034
1035 2014-08-05  Brian J. Burg  <burg@cs.washington.edu>
1036
1037         Web Replay: rename protocol methods for getting replay session/segment data
1038         https://bugs.webkit.org/show_bug.cgi?id=135618
1039
1040         Reviewed by Timothy Hatcher.
1041
1042         * inspector/InspectorReplayAgent.cpp:
1043         (WebCore::InspectorReplayAgent::getSessionData):
1044         (WebCore::InspectorReplayAgent::getSegmentData):
1045         (WebCore::InspectorReplayAgent::getSerializedSession): Deleted.
1046         (WebCore::InspectorReplayAgent::getSerializedSegment): Deleted.
1047         * inspector/InspectorReplayAgent.h:
1048         * inspector/protocol/Replay.json:
1049
1050 2014-08-05  Antti Koivisto  <antti@apple.com>
1051
1052         REGRESSION: Extremely flashy scrolling while a page is still loading (because of flush throttling)
1053         https://bugs.webkit.org/show_bug.cgi?id=135603
1054         <rdar://problem/17876385>
1055         
1056         This hit ASSERT(frame().isMainFrame()) in FrameView::updateLayerFlushThrottling
1057         running scrollbars/scrollbar-iframe-click-does-not-blur-content.html and a few other tests.
1058
1059         * page/FrameView.cpp:
1060         (WebCore::FrameView::setWasScrolledByUser): Only invoke updateLayerFlushThrottling for the main frame.
1061
1062 2014-08-05  Peyton Randolph  <prandolph@apple.com>
1063
1064         Rename MAC_LONG_PRESS feature flag to LONG_MOUSE_PRESS.
1065         https://bugs.webkit.org/show_bug.cgi?id=135276
1066
1067         Reviewed by Beth Dakin.
1068
1069         No new tests. Just a compiler flag.
1070
1071         * Configurations/FeatureDefines.xcconfig:
1072
1073 2014-08-05  Dean Jackson  <dino@apple.com>
1074
1075         [Media iOS] Ensure there is a nice default fallback for missing wireless target names
1076         https://bugs.webkit.org/show_bug.cgi?id=135488
1077         <rdar://problem/17879156>
1078
1079         Reviewed by Antoine Quint.
1080
1081         Antoine found me on iMessage to tell me I'm an idiot and that I've
1082         forgotten how to write JavaScript. Embarrassingly, this code is what
1083         I originally had, but then second-guessed myself.
1084
1085         * Modules/mediacontrols/mediaControlsiOS.js:
1086         (ControllerIOS.prototype.updateWirelessPlaybackStatus): No need for the local
1087         variable or conditional statement, since null and "" both evaluate as false.
1088
1089 2014-08-05  Antti Koivisto  <antti@apple.com>
1090
1091         REGRESSION: Extremely flashy scrolling while a page is still loading (because of flush throttling)
1092         https://bugs.webkit.org/show_bug.cgi?id=135603
1093         <rdar://problem/17876385>
1094
1095         Reviewed by Andreas Kling.
1096
1097         * page/FrameView.cpp:
1098         (WebCore::determineLayerFlushThrottleState):
1099         
1100             Disable throttling after user has scrolled the page.
1101             This is consistent with the speculative tiling. It also gets enabled on first scroll.
1102
1103         (WebCore::FrameView::setWasScrolledByUser):
1104
1105 2014-08-05  Martin Hodovan  <mhodovan.u-szeged@partner.samsung.com>
1106
1107         ASSERTION FAILED: name[0] == '@' && length >= 2 in WebCore::CSSParser::detectAtToken
1108         https://bugs.webkit.org/show_bug.cgi?id=134632
1109
1110         At-rules must consist of at least two characters: the '@' symbol followed by
1111         an identifier name. The failure of this condition makes the assertion fail.
1112
1113         The length of an at-rule is currently calculated by pointer arithmetic on
1114         the 'result' pointer, which is expected to be set to the end of the at-rule
1115         identifier by the WebCore::*CSSTokenizer::parseIdentifier method.
1116         If the at-rule token is a sequence of 8-bit-only characters then
1117         'result' will point correctly at the end of the identifier. However, if
1118         the at-rule contains a 16-bit Unicode escape then 'result' will not be
1119         updated correctly anymore, hence it cannot be used for length calculation.
1120         The patch makes the parseIdentifier bump the result pointer even in the 16-bit slow case.
1121
1122         Patch by Renata Hodovan, backported from Chromium: https://codereview.chromium.org/241053002
1123
1124         Reviewed by Darin Adler.
1125
1126         Test: fast/css/atrule-with-escape-character-crash.html
1127
1128         * css/CSSParser.cpp:
1129         (WebCore::CSSParser::realLex):
1130
1131 2014-08-04  Andy Estes  <aestes@apple.com>
1132
1133         [iOS] The raw bytes of an iWork document's PDF preview are displayed rather than the PDF itself
1134         https://bugs.webkit.org/show_bug.cgi?id=135596
1135
1136         Reviewed by David Kilzer.
1137
1138         Some iWork documents contain pre-rendered PDF previews. When WebKit asks QuickLook to convert such a document,
1139         QuickLook will return this PDF as the converted response. However, until WebKit has sent the document's data to
1140         QuickLook, -[QLPreviewConverter previewResponse] will misleadingly tell WebKit that the converted resource will
1141         be of type 'text/html'. This leads WebKit to render the PDF preview as HTML.
1142
1143         Instead of querying QLPreviewConverter for the previewResponse before we've sent it any data, postpone calling
1144         ResourceLoader::didReceiveResponse until we've begun to receive data via the QLPreviewConverter delegate. At
1145         that point -[QLPreviewConverter previewResponse] will have the correct MIME type and we can call didReceiveResponse.
1146
1147         No new tests. QuickLook is not testable from WebKit.
1148
1149         * platform/network/ios/QuickLook.mm:
1150         (-[WebResourceLoaderQuickLookDelegate connection:didReceiveDataArray:]): If didReceiveResponse has yet to be
1151         called, call it now with QuickLookHandle::nsResponse().
1152         (-[WebResourceLoaderQuickLookDelegate connection:didReceiveData:lengthReceived:]): Ditto.
1153         (-[WebResourceLoaderQuickLookDelegate connection:didFailWithError:]): Ditto.
1154         (-[WebResourceLoaderQuickLookDelegate connectionDidFinishLoading:]): Assert that didReceiveResponse has been called.
1155         (-[WebResourceLoaderQuickLookDelegate clearHandle]): Cleared the raw pointer to QuickLookHandle.
1156         (WebCore::QuickLookHandle::create): Pointed WebResourceLoaderQuickLookDelegate's quickLookHandle property to
1157         the newly created QuickLookHandle.
1158
1159 2014-08-05  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>
1160
1161         Fixing calc() parameter parsing in cubic-bezier functions
1162         https://bugs.webkit.org/show_bug.cgi?id=135605
1163
1164         Reviewed by Andreas Kling.
1165
1166         Before this patch, calc values in cubic-bezier functions weren't being read correctly
1167         since they were handled as simple floats.
1168
1169         This is a backport of my fix in Blink: https://codereview.chromium.org/369313002/
1170
1171         Test: css3/calc/cubic-bezier-with-multiple-calcs-crash.html.html
1172
1173         * css/CSSParser.cpp:
1174         (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
1175
1176 2014-08-05  Jer Noble  <jer.noble@apple.com>
1177
1178         [MSE] Seeking occasionally causes many frames to be displayed in "fast forward" mode
1179         https://bugs.webkit.org/show_bug.cgi?id=135422
1180
1181         Reviewed by Eric Carlson.
1182
1183         Three related fixes:
1184
1185         In reenqueueMediaForTime(), update TrackBuffer.lastEnqueuedPresentationTime when we flush
1186         samples, so that the next time samples are re-enqueued, the starting point for re-enqueueing
1187         is correct.
1188
1189         In sourceBufferPrivateDidReceiveSample(), do not add samples to the decode queue
1190         if they are before the current media time.
1191
1192         When a seek is pending, but samples for the new time is not yet present in the SourceBuffer,
1193         the SourceBufferPrivate may signal that it's ready for new samples through the
1194         sourceBufferPrivateDidBecomeReadyForMoreSamples() method. In this situation, we should not
1195         continue to provideMediaData(), as that will append samples from the prior-to-seeking media
1196         timeline. Since the timeline may have moved forward due to the seek, a decoder may decide to
1197         display those frames as quickly as possible (the "fast forward" behavior) in order to catch
1198         up to the new current time.
1199
1200         If a re-enqueue is pending, don't provide media data in response to being notified that the
1201         SourceBufferPrivate is ready for more samples. Wait until samples for the new current time
1202         are appended.
1203
1204         Also, don't provide media data if we are waiting for a seek to complete.
1205
1206         * Modules/mediasource/MediaSource.h:
1207         (WebCore::MediaSource::isSeeking): Convenience method.
1208         * Modules/mediasource/SourceBuffer.cpp:
1209         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
1210         (WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):
1211         (WebCore::SourceBuffer::reenqueueMediaForTime):
1212
1213 2014-08-05  Chris Fleizach  <cfleizach@apple.com>
1214
1215         AX: Select text activity should return replaced text instead of previously selected text
1216         https://bugs.webkit.org/show_bug.cgi?id=135595
1217
1218         Reviewed by Mario Sanchez Prada.
1219
1220         When the select activity API is used to replace text, the replacement string should be returned instead of the old selected text.
1221
1222         Updated existing test: platform/mac/accessibility/select-text.html
1223
1224         * accessibility/AccessibilityObject.cpp:
1225         (WebCore::AccessibilityObject::selectText):
1226
1227 2014-08-04  Chris Fleizach  <cfleizach@apple.com>
1228
1229         AX: Select activity behavior does not work when an existing range is already selected
1230         https://bugs.webkit.org/show_bug.cgi?id=135579
1231
1232         Reviewed by Mario Sanchez Prada.
1233
1234         If you have an existing range selected, and try to apply a select and replace operation, like capitalize,
1235         searching for that range will fail because it skips the currently selected range.
1236
1237         For these cases, it seems the best way is to start the search from the start position, rather than relying on the
1238         entire range.
1239
1240         Updated existing test: platform/mac/accessibility/select-text.html
1241
1242         * accessibility/AccessibilityObject.cpp:
1243         (WebCore::AccessibilityObject::selectText):
1244
1245 2014-08-04  Jer Noble  <jer.noble@apple.com>
1246
1247         [MSE][Mac] Seeking past buffered range will not resume playback when seek completes.
1248         https://bugs.webkit.org/show_bug.cgi?id=135591
1249
1250         Reviewed by Eric Carlson.
1251
1252         If a seek is delayed due to seeking into an unbuffered area, playback will not be restarted
1253         at that point. Instead, playback must resume when enough media data has been added, and
1254         the MediaSource indicates the seek should complete.
1255
1256         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1257         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekCompleted):
1258
1259 2014-08-04  Jer Noble  <jer.noble@apple.com>
1260
1261         [MSE] Videos will report a stall when within 1 frame-duration before the end of a movie.
1262         https://bugs.webkit.org/show_bug.cgi?id=135586
1263
1264         Reviewed by Eric Carlson.
1265
1266         Under certain circumstances, videos which are within 1/24 seconds before the end of a media stream when
1267         monitorSourceBuffers() is called will fail the hasFutureTime() check. This is because hasFutureTime()
1268         checks whether enough media is buffered to play back at least some time in the future, but when the
1269         current time is close to the duration, not enough data is buffered to satisfy that check.
1270
1271         Add some logic which will break out early when the SourceBuffer has buffered up to and including the
1272         media's duration, and return that the buffer indeed hasFutureTime() available.
1273
1274         * Modules/mediasource/SourceBuffer.cpp:
1275         (WebCore::SourceBuffer::hasFutureTime):
1276
1277 2014-08-04  Benjamin Poulain  <benjamin@webkit.org>
1278
1279         Simplify the StyleInvalidation mode of rule collection
1280         https://bugs.webkit.org/show_bug.cgi?id=135521
1281
1282         Reviewed by Antti Koivisto.
1283
1284         There are two branches where StyleInvalidation code is removed:
1285         -Pseudo elements for shadow dom elements.
1286         -Pseudo elements without dom tree counterpart.
1287
1288         The first can never be hit because StyleInvalidationAnalysis does a complete invalidation
1289         when there is any shadow dom styling involved in the stylesheets.
1290
1291         Even if that branch was hit, not failing on custom pseudo elements would be equivalent
1292         to ignoring those pseudo elements from the Selector. By doing so, we would match elements
1293         that do not have shadow dom and invalidate pretty much everything.
1294
1295         Unlike pseudo elements without real elements, shadow dom elements are not matched separately with a different
1296         context, thus we could generalize StyleInvalidationAnalysis to handle this case.
1297
1298
1299         The second case handle pseudo elements that do not have a real element. That case no longer need to be handled
1300         separately at the filter time, it has become a special case of SelectorChecker::match() after everything else
1301         has matched.
1302
1303         The only condition for this to work is that the Context's pseudoId must be NOPSEUDO. This is the case
1304         in practice since matching specific pseudo types would be a waste of time. ElementRuleCollector::collectMatchingRules()
1305         has a new assertion to enforce that.
1306
1307         Test: fast/css/stylesheet-change-updates-pseudo-elements.html
1308
1309         * css/ElementRuleCollector.cpp:
1310         (WebCore::ElementRuleCollector::collectMatchingRules):
1311         * css/SelectorChecker.cpp:
1312         (WebCore::SelectorChecker::matchRecursively):
1313         * cssjit/SelectorCompiler.cpp:
1314         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateRequestedPseudoElementEqualsToSelectorPseudoElement):
1315
1316 2014-08-04  Benjamin Poulain  <benjamin@webkit.org>
1317
1318         Add a flag for the CSS Selectors level 4 implementation
1319         https://bugs.webkit.org/show_bug.cgi?id=135535
1320
1321         Reviewed by Andreas Kling.
1322
1323         * Configurations/FeatureDefines.xcconfig:
1324
1325 2014-08-04  Chris Fleizach  <cfleizach@apple.com>
1326
1327         AX: add AccessibilityObject::computedLabelString() for WebAXI
1328         https://bugs.webkit.org/show_bug.cgi?id=129939
1329
1330         Reviewed by Mario Sanchez Prada.
1331
1332         Provide a method that the WebKit Inspector can call in order to 
1333         display an accessible name for an AX node.
1334
1335         * accessibility/AccessibilityObject.cpp:
1336         (WebCore::AccessibilityObject::accessibilityComputedLabel):
1337         * accessibility/AccessibilityObject.h:
1338
1339 2014-08-04  Tim Horton  <timothy_horton@apple.com>
1340
1341         Lots of crashes in WebKit1 after r172013.
1342         https://bugs.webkit.org/show_bug.cgi?id=135582
1343         <rdar://problem/17837636>
1344
1345         Reviewed by Enrica Casucci.
1346
1347         * editing/SelectionRectGatherer.cpp:
1348         (WebCore::SelectionRectGatherer::addRect):
1349         (WebCore::SelectionRectGatherer::addGapRects):
1350         Don't try to do local-to-absolute coordinate conversion if we don't have
1351         a repaint container, which happens a lot in WebKit1.
1352
1353 2014-08-04  Alex Christensen  <achristensen@webkit.org>
1354
1355         Progress towards CMake on Mac.
1356         https://bugs.webkit.org/show_bug.cgi?id=135528
1357
1358         Reviewed by Gyuyoung Kim.
1359
1360         * PlatformMac.cmake: Added.
1361
1362 2014-08-04  Tim Horton  <timothy_horton@apple.com>
1363
1364         Selection services menu dropdown is in the wrong place when selecting some text on Yelp
1365         https://bugs.webkit.org/show_bug.cgi?id=135582
1366         <rdar://problem/17837636>
1367
1368         Reviewed by Simon Fraser.
1369
1370         * editing/SelectionRectGatherer.cpp:
1371         (WebCore::SelectionRectGatherer::addRect):
1372         (WebCore::SelectionRectGatherer::addGapRects):
1373         (WebCore::SelectionRectGatherer::addRects): Deleted.
1374         Rename addRects to addGapRects for clarity.
1375         Map rects and gapRects to absolute RenderView coordinates so that
1376         they are in a form WebKit2 can use. Previously they were sometimes
1377         relative to a different repaint container, but that information was
1378         lost when moving through SelectionRectGatherer.
1379
1380         Ideally we would keep selection rects as full quads instead of rects
1381         for more of their life, but that problem is much deeper than just SelectionRectGatherer.
1382
1383         * editing/SelectionRectGatherer.h:
1384         Add a comment clarifying the coordinate space of the stored selection rects.
1385
1386         * rendering/RenderView.cpp:
1387         (WebCore::RenderView::applySubtreeSelection):
1388         Rename addRects to addGapRects for clarity.
1389
1390 2014-08-04  Bem Jones-Bey  <bjonesbe@adobe.com>
1391
1392         [CSS Shapes] shape-margin not respected when it extends beyond an explicitly set margin
1393         https://bugs.webkit.org/show_bug.cgi?id=135308
1394
1395         Reviewed by Dean Jackson.
1396
1397         When a zero height line is supplied and the image shape extends into
1398         the margin box (only possible when a shape-margin is supplied), then
1399         only an empty interval was being returned. This patch makes it
1400         properly return the interval for the line in question.
1401
1402         Test: fast/shapes/shape-outside-floats/shape-outside-image-shape-margin.html
1403
1404         * rendering/shapes/RasterShape.cpp:
1405         (WebCore::RasterShape::getExcludedIntervals): Handle the zero height
1406         line case.
1407
1408 2014-08-04  Zalan Bujtas  <zalan@apple.com>
1409
1410         Subpixel rendering: InlineTextBox mistakenly rounds offset value before painting.
1411         https://bugs.webkit.org/show_bug.cgi?id=135470
1412
1413         Reviewed by Simon Fraser.
1414
1415         This patch removes the premature paint offset adjustment for inlines. Premature snapping
1416         could alter the final painting coordinates and push content to wrong positions.
1417
1418         This patch also enforces WebCore's pixel snapping strategy (round) on text painting.
1419         It ensures that text positioning is in sync with other painting related operations including
1420         clipping, box decorations etc. Underlying graphics libraries can take different directions on
1421         text snapping, for example CG ceils text coordinates vertically (in horizontal context,
1422         with the current settings). It can lead to undesired side effects.
1423
1424         Test: fast/inline/hidpi-inline-selection-leaves-gap.html
1425
1426         * rendering/InlineTextBox.cpp:
1427         (WebCore::InlineTextBox::paint):
1428         * rendering/RenderLayer.cpp:
1429         (WebCore::RenderLayer::calculateClipRects): wrong direction used at r171896.
1430         * rendering/SimpleLineLayoutFunctions.cpp: we don't paint vertical content here.
1431         (WebCore::SimpleLineLayout::paintFlow):
1432
1433 2014-08-04  Jer Noble  <jer.noble@apple.com>
1434
1435         Unreviewed, rolling out r171992, r171995, & r172000.
1436
1437         The cumulative effect of those revisions was to cause decoding errors when switching resolutions on YouTube.
1438
1439         Reverted changesets:
1440
1441         https://bugs.webkit.org/show_bug.cgi?id=135422 / http://trac.webkit.org/changeset/171992
1442         https://bugs.webkit.org/show_bug.cgi?id=135424 / http://trac.webkit.org/changeset/171995
1443         https://bugs.webkit.org/show_bug.cgi?id=135572 / http://trac.webkit.org/changeset/172000
1444
1445 2014-08-04  Joseph Pecoraro  <pecoraro@apple.com>
1446
1447         Always clear ConsoleClient when Page/WindowShell is destroyed
1448         https://bugs.webkit.org/show_bug.cgi?id=135569
1449
1450         Reviewed by Mark Lam.
1451
1452         * bindings/js/ScriptController.cpp:
1453         (WebCore::ScriptController::~ScriptController):
1454         Whenever a window shell goes away, clear the console client.
1455         We did this in clearWindowShell but not before destroying.
1456
1457 2014-08-04  Chris Fleizach  <cfleizach@apple.com>
1458
1459         AX: isWordEndMatch should allow for multiple word selections
1460         https://bugs.webkit.org/show_bug.cgi?id=135573
1461
1462         Reviewed by Mario Sanchez Prada.
1463
1464         isWordEndMatch was searching from the beginning of the selected range, which meant
1465         that if the result was multiple words, we'd reject the result. 
1466         Instead, we should search from the end of the range, so that we encompass all words.
1467
1468         Modified existing test: platform/mac/accessibility/select-text-should-match-whole-words.html
1469
1470         * editing/TextIterator.cpp:
1471         (WebCore::SearchBuffer::isWordEndMatch):
1472
1473 2014-08-04  Chris Fleizach  <cfleizach@apple.com>
1474
1475         AX: Secure text fields need to support Search parameterized attributes
1476         https://bugs.webkit.org/show_bug.cgi?id=135568
1477
1478         Reviewed by Mario Sanchez Prada.
1479  
1480         Secure text fields still need to support the fast searching that WebKit exposes, even though they don't support
1481         other parameterized attributes.
1482   
1483         Test: platform/mac/accessibility/secure-text-field-supports-fast-search.html
1484
1485         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1486         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1487
1488 2014-08-04  Jer Noble  <jer.noble@apple.com>
1489
1490         [MSE] Further fixes for "fast forward" playback after seeking in YouTube behavior.
1491         https://bugs.webkit.org/show_bug.cgi?id=135572
1492
1493         Reviewed by Eric Carlson.
1494
1495         Two related fixes:
1496
1497         In reenqueueMediaForTime(), update TrackBuffer.lastEnqueuedPresentationTime when we flush samples, so that
1498         the next time samples are re-enqueued, the starting point for re-enqueueing is correct.
1499
1500         In sourceBufferPrivateDidReceiveSample(), do not add samples to the decode queue if they are before the
1501         current media time.
1502
1503         * Modules/mediasource/SourceBuffer.cpp:
1504         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
1505         (WebCore::SourceBuffer::reenqueueMediaForTime):
1506
1507 2014-08-04  Matt Baker  <mattbaker@apple.com>
1508
1509         Web Inspector: All-caps CSS properties are not shown in Computed pane
1510         https://bugs.webkit.org/show_bug.cgi?id=133700
1511
1512         Reviewed by Timothy Hatcher.
1513
1514         * inspector/InspectorStyleSheet.cpp:
1515         (WebCore::InspectorStyle::styleWithProperties):
1516
1517 2014-08-04  Chris Fleizach  <cfleizach@apple.com>
1518
1519         AX: SelectText functionality always selects text after current selection even if closer selection is behind it
1520         https://bugs.webkit.org/show_bug.cgi?id=135546
1521
1522         Reviewed by Mario Sanchez Prada.
1523
1524         Logic was incorrect for comparing ranges found before the current selection.
1525         ASSERT was incorrect for allowed ranges. We need to allow ranges that are right at the boundaries of our found ranges.
1526
1527         Extended existing test: platform/mac/accessibility/select-text.html
1528
1529         * accessibility/AccessibilityObject.cpp:
1530         (WebCore::rangeClosestToRange):
1531
1532 2014-08-04  Chris Fleizach  <cfleizach@apple.com>
1533
1534         AX: AXSelectTextWithCriteriaParameterizedAttribute incorrectly selects the beginning letters of a word
1535         https://bugs.webkit.org/show_bug.cgi?id=135547
1536
1537         Reviewed by Mario Sanchez Prada.
1538
1539         Allow text search to specify that it wants to match end of words as well as start of words.
1540         This allows select text criteria to match on whole words only.
1541
1542         Test: platform/mac/accessibility/select-text-should-match-whole-words.html
1543
1544         * accessibility/AccessibilityObject.cpp:
1545         (WebCore::AccessibilityObject::rangeOfStringClosestToRangeInDirection):
1546         * editing/FindOptions.h:
1547         * editing/TextIterator.cpp:
1548         (WebCore::SearchBuffer::isWordEndMatch):
1549         (WebCore::SearchBuffer::search):
1550
1551 2014-08-04  Jer Noble  <jer.noble@apple.com>
1552
1553         [MSE] Re-enqueing due to overlapping appended samples can cause stuttering playback
1554         https://bugs.webkit.org/show_bug.cgi?id=135424
1555
1556         Reviewed by Eric Carlson.
1557
1558         If it become necessary to re-enqueue samples (due to appending overlapping samples which cause
1559         existing samples to be removed), the previous behavior was to flush and re-enqueue the new
1560         samples dependencies; i.e., everything up to and including the previous sync sample. This causes
1561         the decoder to visibly stall while it decodes those non-displaying samples, which could be
1562         a second or more worth of encoded video samples, depending on the frequency of sync samples.
1563
1564         Instead, when we are asked to re-enqueue, we will look for the next occurring sync sample.
1565         If found, we can switch over to the replacement samples at that point in the decode queue.
1566         This limits the overhead of a stream switch, and should allow for a visually seamless switch,
1567         at the cost of having to wait for the next sync sample to occur to affect the switch.
1568
1569         * Modules/mediasource/SourceBuffer.cpp:
1570         (WebCore::SourceBuffer::seekToTime): Clear the decode queue when seeking.
1571         (WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Call reenqueueMediaForCurrentTime.
1572         (WebCore::SourceBuffer::reenqueueMediaForCurrentTime): Switch over to the new stream only
1573             at the next sync sample.
1574
1575 2014-08-04  Chris Fleizach  <cfleizach@apple.com>
1576
1577         AX: The Dictation command "Replace <phrase> with <phrase>" always capitalizes the replacement string
1578         https://bugs.webkit.org/show_bug.cgi?id=135557
1579
1580         Reviewed by Mario Sanchez Prada.
1581
1582         When replacing text, we should match the capitalization of the word being replaced 
1583         (unless the replacement looks like an abbreviation).   
1584  
1585         Test: platform/mac/accessibility/find-and-replace-match-capitalization.html
1586
1587         * accessibility/AccessibilityObject.cpp:
1588         (WebCore::AccessibilityObject::selectText):
1589
1590 2014-08-04  Pratik Solanki  <psolanki@apple.com>
1591
1592         QuickLook resources are cache-replaced with their original binary data causing ASSERT(m_data->size() == newBuffer->size()) in CachedResource.cpp
1593         https://bugs.webkit.org/show_bug.cgi?id=135548
1594         <rdar://problem/17891321>
1595
1596         Reviewed by David Kilzer.
1597
1598         When loading QuickLook resources, the SharedBuffer in the CachedResource is actually a
1599         converted representation of the real QuickLook resource. Replacing this with the actual
1600         network resource (which is what tryReplaceEncodedData() tried to do) is wrong and triggered
1601         asserts in the code.
1602
1603         Fix this by having CachedRawResource::mayTryReplaceEncodedData() return false if we are
1604         loading a QuickLook resource.
1605
1606         No new tests because we don't have a way to test QuickLook documents.
1607
1608         * loader/ResourceLoader.cpp:
1609         (WebCore::ResourceLoader::ResourceLoader):
1610         (WebCore::ResourceLoader::didCreateQuickLookHandle):
1611             Set a flag to indicate that we are loading a QuickLook document.
1612         * loader/ResourceLoader.h:
1613         (WebCore::ResourceLoader::isQuickLookResource):
1614         * loader/cache/CachedRawResource.cpp:
1615         (WebCore::CachedRawResource::CachedRawResource):
1616         (WebCore::CachedRawResource::finishLoading):
1617             Check if we were loading a QuickLook document and if so disable encoded data
1618             replacement.
1619         * loader/cache/CachedRawResource.h:
1620             Add a new bool field returned by mayTryReplaceEncodedData(). Default is true but it is
1621             set to false in finishLoading() if we were loading QuickLook document.
1622
1623 2014-08-04  Jer Noble  <jer.noble@apple.com>
1624
1625         [MSE] Seeking occasionally causes many frames to be displayed in "fast forward" mode
1626         https://bugs.webkit.org/show_bug.cgi?id=135422
1627
1628         Reviewed by Eric Carlson.
1629
1630         When a seek is pending, but samples for the new time is not yet present in the SourceBuffer,
1631         the SourceBufferPrivate may signal that it's ready for new samples through the
1632         sourceBufferPrivateDidBecomeReadyForMoreSamples() method. In this situation, we should not
1633         continue to provideMediaData(), as that will append samples from the prior-to-seeking media
1634         timeline. Since the timeline may have moved forward due to the seek, a decoder may decide to
1635         display those frames as quickly as possible (the "fast forward" behavior) in order to catch
1636         up to the new current time.
1637
1638         If a re-enqueue is pending, don't provide media data in response to being notified that the
1639         SourceBufferPrivate is ready for more samples. Wait until samples for the new current time
1640         are appended.
1641
1642         * Modules/mediasource/SourceBuffer.cpp:
1643         (WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):
1644         * dom/Document.cpp:
1645         (WebCore::Document::unregisterCollection):
1646
1647 2014-08-04  Carlos Garcia Campos  <cgarcia@igalia.com>
1648
1649         [GTK] Install all unstable webkitdom headers
1650         https://bugs.webkit.org/show_bug.cgi?id=135544
1651
1652         Reviewed by Gustavo Noronha Silva.
1653
1654         We were checking whether generated file existed before they had
1655         been generated.
1656
1657         * PlatformGTK.cmake: Add Unstable.h header for all stable classes
1658         to GObjectDOMBindingsUnstable_INSTALLED_HEADERS and split the
1659         install command for stable and unstable headers making unstable
1660         headers optional.
1661
1662 2014-08-04  peavo@outlook.com  <peavo@outlook.com>
1663
1664         [WinCairo] Compile error in OpenTypeMathData.cpp.
1665         https://bugs.webkit.org/show_bug.cgi?id=135541
1666
1667         Reviewed by Brent Fulgham.
1668
1669         The SharedBuffer class needs to be defined.
1670         Also, the OpenTypeMathData constructor should be implemented when OPENTYPE_MATH is not enabled.
1671
1672         * platform/graphics/opentype/OpenTypeMathData.cpp:
1673
1674 2014-08-03  Dan Bernstein  <mitz@apple.com>
1675
1676         <rdar://problem/17782529> REGRESSION: OS marketing version in iOS Simulator user-agent string is the host OS’s
1677         https://bugs.webkit.org/show_bug.cgi?id=135549
1678
1679         Reviewed by Mark Rowe.
1680
1681         * platform/cocoa/SystemVersion.mm:
1682         (WebCore::createSystemMarketingVersion): On the iOS Simulator, locate the system Library
1683         directory relative to the Simulator root.
1684
1685 2014-08-02  Jeremy Jones  <jeremyj@apple.com>
1686
1687         Support both window and view based video fullscreen.
1688         https://bugs.webkit.org/show_bug.cgi?id=135525
1689
1690         Reviewed by Simon Fraser.
1691
1692         Presenting in a separate window gives greater flexibility for rotation separately from the app.
1693         Presenting in the same window works better if the interface is rehosted in another process.
1694
1695         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1696         (-[WebVideoFullscreenController enterFullscreen:]): Use clientRect instead of screenRect.
1697         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Add m_window and m_parentView.
1698         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: 
1699         (-[WebAVVideoLayer setBounds:]): Parent view might not be fullscreen; use window instead.
1700         (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Conditionally create UIWindow and UIViewController for fullscreen.
1701         (WebVideoFullscreenInterfaceAVKit::enterFullscreen): Video, not the container should have black background.
1702         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): Conditionally translate finalRect.
1703         (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): Clean up UIWindow and force status bar to correct orientation.
1704         (WebVideoFullscreenInterfaceAVKit::invalidate): Clean up UIWindow.
1705         (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): Hide window and exit without animation.
1706         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
1707         (WebVideoFullscreenModelMediaElement::setVideoFullscreenLayer): Apply frame, because it may have been set before the layer.
1708
1709 2014-08-02  Benjamin Poulain  <bpoulain@apple.com>
1710
1711         Update the SearchFieldResultsButtonElement shadow Pseudo Id when HTMLInputElement's maxResults change
1712         https://bugs.webkit.org/show_bug.cgi?id=135491
1713
1714         Reviewed by Ryosuke Niwa.
1715
1716         Replace the shadowPseudoId() override + manual style invalidation by the generic pseudo ID update.
1717
1718         * html/HTMLInputElement.cpp:
1719         (WebCore::HTMLInputElement::parseAttribute):
1720         * html/InputType.cpp:
1721         (WebCore::InputType::maxResultsAttributeChanged):
1722         * html/InputType.h:
1723         * html/SearchInputType.cpp:
1724         (WebCore::SearchInputType::SearchInputType):
1725         (WebCore::updateResultButtonPseudoType):
1726         (WebCore::SearchInputType::maxResultsAttributeChanged):
1727         (WebCore::SearchInputType::createShadowSubtree):
1728         (WebCore::SearchInputType::destroyShadowSubtree):
1729         * html/SearchInputType.h:
1730         * html/shadow/TextControlInnerElements.cpp:
1731         (WebCore::SearchFieldResultsButtonElement::shadowPseudoId): Deleted.
1732         * html/shadow/TextControlInnerElements.h:
1733
1734 2014-08-02  Benjamin Poulain  <bpoulain@apple.com>
1735
1736         Add warnings for the buggy implementations of shadowPseudoId()
1737         https://bugs.webkit.org/show_bug.cgi?id=135477
1738
1739         Reviewed by Ryosuke Niwa.
1740
1741         Dean is going to look into fixing media element styling.
1742         In the meantime, add warnings to prevent this from spreading.
1743
1744         * dom/Element.h:
1745         * html/shadow/SliderThumbElement.cpp:
1746         (WebCore::SliderThumbElement::shadowPseudoId):
1747         (WebCore::SliderContainerElement::shadowPseudoId):
1748
1749 2014-08-01  Commit Queue  <commit-queue@webkit.org>
1750
1751         Unreviewed, rolling out r171957.
1752         https://bugs.webkit.org/show_bug.cgi?id=135538
1753
1754         Caused GTK assertions and test failures (Requested by smfr on
1755         #webkit).
1756
1757         Reverted changeset:
1758
1759         "Clean up image subsampling code, make it less iOS-specific"
1760         https://bugs.webkit.org/show_bug.cgi?id=134916
1761         http://trac.webkit.org/changeset/171957
1762
1763 2014-08-01  Myles C. Maxfield  <litherum@gmail.com>
1764
1765         [CMake] Allow CMake to find GLib on FreeBSD
1766         https://bugs.webkit.org/show_bug.cgi?id=132530
1767
1768         Reviewed by Gustavo Noronha Silva.
1769
1770         On FreeBSD, glibconfig.h is at /usr/local/include/glib-2.0/glibconfig.h.
1771
1772         * Source/cmake/FindGLIB.cmake:
1773
1774 2014-08-01  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1775
1776         REGRESSION(r171942): [CMAKE] [GTK] build broken (clean build).
1777         https://bugs.webkit.org/show_bug.cgi?id=135522
1778
1779         Reviewed by Martin Robinson.
1780
1781         No new tests required, no new functionality.
1782
1783         * CMakeLists.txt: Add missing include to the inspector headers
1784         and fix the path to InspectorJSTypeBuilders.h
1785
1786 2014-08-01  Simon Fraser  <simon.fraser@apple.com>
1787
1788         Fix resource leak in FillLayersPropertyWrapper object member
1789         https://bugs.webkit.org/show_bug.cgi?id=135462
1790
1791         Reviewed by Andreas Kling.
1792
1793         Fix leak of m_fillLayerPropertyWrapper by using unique_ptr<>.
1794         Based on patch by Przemyslaw Kuczynski.
1795
1796         * page/animation/CSSPropertyAnimation.cpp:
1797         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
1798
1799 2014-08-01  Simon Fraser  <simon.fraser@apple.com>
1800
1801         Clean up image subsampling code, make it less iOS-specific
1802         https://bugs.webkit.org/show_bug.cgi?id=134916
1803
1804         Reviewed by Dean Jackson.
1805
1806         Compile the image subsampling code on both Mac and iOS, and make it more platform
1807         neutral in general. Add a setting to allow it to be enabled on Mac for testing.
1808         
1809         The most significant changes are in ImageSourceCG and BitmapImageCG. CG's ImageSource
1810         is no longer stateful with respect to subsampling; its functions take a SubsamplingLevel
1811         when appropriate. CG's BitmapImage now determines which level of subsampling to use
1812         for a given frame, storing the subsampling level in the frame data. It can replace
1813         an aggressively subsampled frame with a less subsampled frame if necessary.
1814         
1815         To reduce the chances of subsampling affecting rendering, BitmapImage::size() now
1816         always returns the non-subsampled size; subsampling is strictly internal to BitmapImage.
1817         BitmapImage::draw() takes care of scaling the srcRect for subsampled images.
1818         
1819         iOS had a code path that enabled caching of frame metadata in BitmapImage without
1820         actually decoding the frame; make this cross-platform.
1821
1822         * WebCore.exp.in: Changed signature for GraphicsContext::drawNativeImage().
1823         * WebCore.xcodeproj/project.pbxproj: Added ImageSource.cpp, which is not built
1824         for Cocoa but useful for reference.
1825         * loader/cache/CachedImage.cpp:
1826         (WebCore::CachedImage::imageSizeForRenderer): Remove iOS-specific subsampling code.
1827         (WebCore::CachedImage::createImage): Call setAllowSubsampling() on the image if we
1828         can get to Settings (m_loader is null for image documents).
1829         (WebCore::CachedImage::currentFrameKnownToBeOpaque): This forced decode always
1830         caused creation of the non-subsampled image, so remove it. There's no reason to
1831         eagerly decode the frame here.
1832         * loader/cache/CachedImage.h: Fix comment.
1833         * page/Settings.cpp: Add defaultImageSubsamplingEnabled, true for iOS and false for Mac.
1834         * page/Settings.in: Added imageSubsamplingEnabled.
1835         * platform/graphics/BitmapImage.cpp:
1836         (WebCore::BitmapImage::BitmapImage): Init some more things. Default m_allowSubsampling to
1837         true for iOS to catch images created in code paths where we can't get to Settings.
1838         (WebCore::BitmapImage::haveFrameAtIndex): Handy helper.
1839         (WebCore::BitmapImage::cacheFrame): Now takes the subsampling level and whether to cache
1840         just metadata, or also the frame.
1841         (WebCore::BitmapImage::didDecodeProperties): No need to store originalSize.
1842         (WebCore::BitmapImage::updateSize): When we get the size for the first time, call
1843         determineMinimumSubsamplingLevel() to choose a reasonable subsampling level which takes
1844         platform-specific limits into account.
1845         (WebCore::BitmapImage::dataChanged): Comment.
1846         (WebCore::BitmapImage::ensureFrameIsCached): Take ImageFrameCaching into account.
1847         (WebCore::BitmapImage::frameAtIndex): Choose a subsampling level given the scale,
1848         then determine if we can use the currently cached frame, or whether we should resample.
1849         (WebCore::BitmapImage::frameIsCompleteAtIndex): Caching m_isComplete is now done when caching
1850         frame metadata.
1851         (WebCore::BitmapImage::frameDurationAtIndex):
1852         (WebCore::BitmapImage::frameHasAlphaAtIndex): The 'true' return is the safe return value.
1853         (WebCore::BitmapImage::frameOrientationAtIndex): Caching m_orientation is now done when caching
1854         frame metadata.
1855         (WebCore::BitmapImage::cacheFrameInfo): Deleted.
1856         (WebCore::BitmapImage::originalSize): Deleted.
1857         (WebCore::BitmapImage::originalSizeRespectingOrientation): Deleted.
1858         (WebCore::BitmapImage::currentFrameSize): Deleted.
1859         (WebCore::BitmapImage::ensureFrameInfoIsCached): Deleted.
1860         * platform/graphics/BitmapImage.h:
1861         (WebCore::FrameData::FrameData):
1862         * platform/graphics/GraphicsContext.h: No need to pass a scale param now.
1863         * platform/graphics/ImageSource.cpp: Non-Cocoa changes.
1864         (WebCore::ImageSource::subsamplingLevelForScale):
1865         (WebCore::ImageSource::allowSubsamplingOfFrameAtIndex):
1866         (WebCore::ImageSource::size):
1867         (WebCore::ImageSource::frameSizeAtIndex):
1868         (WebCore::ImageSource::createFrameAtIndex):
1869         (WebCore::ImageSource::frameBytesAtIndex):
1870         * platform/graphics/ImageSource.h: No longer stores subsampling state.
1871         (WebCore::ImageSource::isSubsampled): Deleted.
1872         * platform/graphics/cairo/BitmapImageCairo.cpp:
1873         (WebCore::BitmapImage::determineMinimumSubsamplingLevel):
1874         * platform/graphics/cg/BitmapImageCG.cpp:
1875         (WebCore::FrameData::clear):
1876         (WebCore::BitmapImage::BitmapImage): Init more members.
1877         (WebCore::BitmapImage::determineMinimumSubsamplingLevel): Choose a minimum subsampling
1878         level for the platform (subsample until the image area falls under a threshold).
1879         (WebCore::BitmapImage::checkForSolidColor): Don't bother decoding frames if the image
1880         is not 1x1. Also take care not to decode a non-subsampled image.
1881         (WebCore::BitmapImage::draw): The actual bug fix is here; remove logic that
1882         computed srcRectForCurrentFrame from m_size and m_originalSize; for some callers
1883         srcRect was computed using the pre-subsampled size, and for others it was the subsampled size.
1884         Instead, scale srcRect by mapping between the non-subsampled size, and the size of the CGImageRef
1885         which is affected by subsampling.
1886         (WebCore::BitmapImage::copyUnscaledFrameAtIndex):
1887         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1888         (WebCore::GraphicsContext3D::ImageExtractor::extractImage): Remove #ifdeffed code.
1889         (WebCore::GraphicsContext3D::paintToCanvas):
1890         * platform/graphics/cg/GraphicsContextCG.cpp:
1891         (WebCore::GraphicsContext::drawNativeImage): No more weird scaling!
1892         * platform/graphics/cg/ImageBufferCG.cpp:
1893         (WebCore::ImageBuffer::draw):
1894         * platform/graphics/cg/ImageSourceCG.cpp:
1895         (WebCore::ImageSource::ImageSource):
1896         (WebCore::createImageSourceOptions): Helper that always returns a new CFDictionaryRef.
1897         (WebCore::imageSourceOptions): If not subsampling, return the cached CFDictionaryRef, otherwise
1898         make a new options dict and return it.
1899         (WebCore::ImageSource::subsamplingLevelForScale): Helper that returns a subsampling level
1900         between 0 and 3 given a scale.
1901         (WebCore::ImageSource::isSizeAvailable): SkipMetadata is a default value for the param now.
1902         (WebCore::ImageSource::allowSubsamplingOfFrameAtIndex): We turn off subsampling for progressive
1903         JPEGs because of a bug, so need this to know if a frame should be subsampled.
1904         (WebCore::ImageSource::frameSizeAtIndex): The looping to find a subsampling level is now in BitmapImageCG.
1905         (WebCore::ImageSource::orientationAtIndex):
1906         (WebCore::ImageSource::size): Always use a subsampling level of 0 for size().
1907         (WebCore::ImageSource::getHotSpot):
1908         (WebCore::ImageSource::repetitionCount):
1909         (WebCore::ImageSource::createFrameAtIndex): The caller mapped a scale to a level.
1910         (WebCore::ImageSource::frameDurationAtIndex):
1911         (WebCore::ImageSource::frameBytesAtIndex):
1912         (WebCore::ImageSource::imageSourceOptions): Deleted.
1913         (WebCore::ImageSource::originalSize): Deleted.
1914         * platform/graphics/mac/ImageMac.mm:
1915         (WebCore::BitmapImage::invalidatePlatformData): 0 -> nullptr
1916         * platform/graphics/wince/ImageWinCE.cpp:
1917         (WebCore::BitmapImage::determineMinimumSubsamplingLevel):
1918
1919 2014-08-01  Andreas Kling  <akling@apple.com>
1920
1921         Many DOM objects have InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero for no reason.
1922         <https://webkit.org/b/135519>
1923
1924         Don't set this structure flag unless the object actually has an override
1925         for getOwnPropertySlotByIndex().
1926
1927         Reviewed by Geoffrey Garen.
1928
1929         * bindings/scripts/CodeGeneratorJS.pm:
1930         (GenerateHeader):
1931         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
1932         * bindings/scripts/test/JS/JSTestException.h:
1933         * bindings/scripts/test/JS/JSTestInterface.h:
1934         * bindings/scripts/test/JS/JSTestObj.h:
1935         * bindings/scripts/test/JS/JSTestTypedefs.h:
1936
1937 2014-08-01  Myles C. Maxfield  <mmaxfield@apple.com>
1938
1939         SVG Font kerning can take an early out if the font has no kerning information
1940         https://bugs.webkit.org/show_bug.cgi?id=135524
1941
1942         Reviewed by Dean Jackson.
1943
1944         Rather than calling SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs() again
1945         and again, skip the iteration entirely if every call would return 0.
1946
1947         No new tests because there is no behavior change.
1948
1949         * rendering/svg/SVGTextRunRenderingContext.cpp:
1950         (WebCore::SVGTextRunRenderingContext::applySVGKerning):
1951         * svg/SVGFontElement.h:
1952
1953 2014-08-01  Beth Dakin  <bdakin@apple.com>
1954
1955         Inspector highlights clipped at the bottom on the page in WK1 views with 
1956         contentInsets
1957         https://bugs.webkit.org/show_bug.cgi?id=135480
1958         -and corresponding-
1959         <rdar://problem/17850323>
1960
1961         Forgot to commit this one very critical part with 
1962         http://trac.webkit.org/changeset/171951 
1963
1964         * platform/ScrollView.cpp:
1965         (WebCore::ScrollView::unscaledVisibleContentSizeIncludingObscuredArea):
1966
1967 2014-08-01  Beth Dakin  <bdakin@apple.com>
1968
1969         Inspector highlights clipped at the bottom on the page in WK1 views with 
1970         contentInsets
1971         https://bugs.webkit.org/show_bug.cgi?id=135480
1972         -and corresponding-
1973         <rdar://problem/17850323>
1974
1975         Reviewed by Simon Fraser.
1976
1977         unscaledTotalVisibleContentSize() was the main function on Mac that was expected 
1978         to return the rect representing ALL visible content, including content that might 
1979         be in an inset area and obscured by UI elements. This patch re-names that function 
1980         to unscaledVisibleContentSizeIncludingObscuredArea(), and that patch makes that 
1981         function return the right thing in the platformWidget() case.
1982
1983         Re-name.
1984         * inspector/InspectorOverlay.cpp:
1985         (WebCore::InspectorOverlay::update):
1986
1987         Return platformVisibleContentSizeIncludingObscuredArea() for the platformWidget() 
1988         case and re-name.
1989         * platform/ScrollView.cpp:
1990         (WebCore::ScrollView::unscaledVisibleContentSizeIncludingObscuredArea):
1991
1992         This was just wrong. It was returning the big rectangle instead of the small one 
1993         for platformWidget().
1994         (WebCore::ScrollView::unscaledUnobscuredVisibleContentSize):
1995
1996         New platform functions.
1997         (WebCore::ScrollView::platformVisibleContentRectIncludingObscuredArea):
1998         (WebCore::ScrollView::platformVisibleContentSizeIncludingObscuredArea):
1999         (WebCore::ScrollView::unscaledTotalVisibleContentSize): Deleted.
2000         * platform/ScrollView.h:
2001         * platform/ios/ScrollViewIOS.mm:
2002         (WebCore::ScrollView::platformVisibleContentRectIncludingObscuredArea):
2003         (WebCore::ScrollView::platformVisibleContentSizeIncludingObscuredArea):
2004         * platform/mac/ScrollViewMac.mm:
2005         (WebCore::ScrollView::platformVisibleContentRect):
2006         (WebCore::ScrollView::platformVisibleContentSize):
2007         (WebCore::ScrollView::platformVisibleContentRectIncludingObscuredArea):
2008         (WebCore::ScrollView::platformVisibleContentSizeIncludingObscuredArea):
2009
2010         Re-name.
2011         * rendering/RenderLayerCompositor.cpp:
2012         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2013         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
2014         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
2015         (WebCore::RenderLayerCompositor::ensureRootLayer):
2016
2017 2014-08-01  Myles C. Maxfield  <mmaxfield@apple.com>
2018
2019         SVGGlyph wastes space due to padding
2020         https://bugs.webkit.org/show_bug.cgi?id=135520
2021
2022         Reviewed by Dean Jackson.
2023
2024         Rearrange members in SVGGlyph so there is no wasted padding space.
2025
2026         No new tests because there is no behavior change.
2027
2028         * platform/graphics/SVGGlyph.h:
2029         (WebCore::SVGGlyph::SVGGlyph):
2030
2031 2014-07-31  Dean Jackson  <dino@apple.com>
2032
2033         [Media iOS] Ensure there is a nice default fallback for missing wireless target names
2034         https://bugs.webkit.org/show_bug.cgi?id=135488
2035         <rdar://problem/17879156>
2036
2037         Reviewed by Eric Carlson.
2038
2039         We occasionally run into cases where this.host.externalDeviceDisplayName
2040         is empty or null, creating a pretty ugly/confusing string in the
2041         wireless playback status screen.
2042
2043         If this happens, we should default to using "Apple TV".
2044
2045         * Modules/mediacontrols/mediaControlsiOS.js:
2046         (ControllerIOS.prototype.updateWirelessPlaybackStatus): Check if the externalDeviceDisplayName
2047         is empty or null, and fall back to "Apple TV" if so.
2048
2049 2014-07-30  Myles C. Maxfield  <mmaxfield@apple.com>
2050
2051         URLs in srcset attributes are not made absolute upon copy and paste
2052         https://bugs.webkit.org/show_bug.cgi?id=135448
2053
2054         Reviewed by Ryosuke Niwa.
2055
2056         When pasting, canonicalize URLs in srcset the same way we do with src.
2057
2058         Test: editing/pasteboard/img-srcset-copy-paste-canonicalization.html
2059
2060         * dom/Element.cpp:
2061         (WebCore::Element::completeURLsInAttributeValue): Initial implemention, moved from markup.cpp.
2062         * dom/Element.h:
2063         (WebCore::Element::attributeContainsURL): New function for completeURLs to call.
2064         (WebCore::Element::completeURLsInAttributeValue): Only called if attributeContainsURL returns
2065         true. Default implementation simply calls isURLAttribute().
2066         * editing/markup.cpp:
2067         (WebCore::completeURLs): Call attributeContainsURL() and completeURLsInAttributeValue() to
2068         complete the URL, so nodes can perform their own behavior.
2069         * html/HTMLImageElement.cpp:
2070         (WebCore::HTMLImageElement::attributeContainsURL): Return true for srcset.
2071         (WebCore::HTMLImageElement::completeUrlAttributeValue): Use our existing srcset parser to
2072         parse the srcset attribute, then use its output to canonicalize URLs, and build it back up
2073         into a string.
2074         * html/HTMLImageElement.h:
2075         (WebCore::HTMLImageElement::attributeContainsURL):
2076         (WebCore::HTMLImageElement::completeUrlAttributeValue):
2077         * html/parser/HTMLSrcsetParser.cpp: Make parseImageCandidatesFromSrcsetAttribute() public
2078         and change its signature to return its result.
2079         (WebCore::parseImageCandidatesFromSrcsetAttribute):
2080         * html/parser/HTMLSrcsetParser.h: Ditto.
2081
2082 2014-07-31  Andreas Kling  <akling@apple.com>
2083
2084         Remove the JSC::OverridesVisitChildren flag.
2085         <https://webkit.org/b/135489>
2086
2087         Tweak the bindings code generator to stop spitting out the flag.
2088
2089         Reviewed by Geoffrey Garen.
2090
2091         * bindings/js/JSDOMBinding.h:
2092         * bindings/js/JSDOMGlobalObject.cpp:
2093         (WebCore::JSDOMGlobalObject::visitChildren):
2094         * bindings/scripts/CodeGeneratorJS.pm:
2095         (GenerateHeader):
2096         (GenerateImplementation):
2097
2098 2014-08-01  Jer Noble  <jer.noble@apple.com>
2099
2100         [MSE][Mac] Volume is not remembered between items in a YouTube playlist
2101         https://bugs.webkit.org/show_bug.cgi?id=135479
2102
2103         Reviewed by Eric Carlson.
2104
2105         When an AVSampleBufferAudioRenderer is added to the player, set its -volume and -muted
2106         properties with the current values from the HTMLMediaElement. 
2107
2108         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2109         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):
2110
2111 2014-08-01  Tim Horton  <timothy_horton@apple.com>
2112
2113         Fix the iOS build after r171891
2114
2115         * platform/ios/ScrollViewIOS.mm:
2116         (WebCore::ScrollView::platformTopContentInset):
2117         (WebCore::ScrollView::platformSetTopContentInset):
2118
2119 2014-08-01  Pratik Solanki  <psolanki@apple.com>
2120
2121         Remove EventNames.h include from header files
2122         https://bugs.webkit.org/show_bug.cgi?id=135486
2123
2124         Reviewed by Alexey Proskuryakov.
2125
2126         No new tests because no functional changes.
2127
2128         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
2129         * Modules/gamepad/GamepadEvent.h:
2130         * Modules/indexeddb/IDBRequest.h:
2131         * Modules/indexeddb/IDBTransaction.h:
2132         * Modules/mediastream/RTCStatsResponse.h:
2133         * Modules/websockets/WebSocket.h:
2134         * css/FontLoader.h:
2135         * dom/SecurityPolicyViolationEvent.h:
2136         * loader/appcache/DOMApplicationCache.h:
2137         * workers/AbstractWorker.h:
2138         * workers/Worker.h:
2139         * workers/WorkerGlobalScope.h:
2140         * xml/XMLHttpRequest.h:
2141         * xml/XMLHttpRequestProgressEvent.h:
2142
2143 2014-08-01  Simon Fraser  <simon.fraser@apple.com>
2144
2145         nullptr goodness in RenderLayer
2146         https://bugs.webkit.org/show_bug.cgi?id=135512
2147
2148         Reviewed by Brent Fulgham.
2149
2150         Use nullptr in RenderLayer.
2151
2152         * rendering/RenderLayer.cpp:
2153         (WebCore::RenderLayer::RenderLayer):
2154         (WebCore::RenderLayer::updateDescendantDependentFlags):
2155         (WebCore::accumulateOffsetTowardsAncestor):
2156         (WebCore::RenderLayer::scrollRectToVisible):
2157         (WebCore::RenderLayer::destroyScrollbar):
2158         (WebCore::RenderLayer::paintLayerContents):
2159         (WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
2160         (WebCore::RenderLayer::hitTestLayer):
2161         (WebCore::RenderLayer::hitTestList):
2162         (WebCore::RenderLayer::calculateClipRects):
2163
2164 2014-08-01  Tim Horton  <timothy_horton@apple.com>
2165
2166         Build fix for iOS
2167
2168         * bindings/objc/DOM.mm:
2169         (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
2170         We use CGImageRef instead of NSImage here on iOS.
2171
2172 2014-08-01  Renato Nagy  <nagy.renato@stud.u-szeged.hu>
2173
2174         ASSERTION FAILED: listNode in WebCore::RenderListItem::updateListMarkerNumbers
2175         https://bugs.webkit.org/show_bug.cgi?id=134970
2176
2177         Reviewed by Zalan Bujtas.
2178
2179         Removed an unnecessary assert, because the null return value of enclosingList() is
2180         handled properly after this assert.
2181
2182         * rendering/RenderListItem.cpp:
2183         (WebCore::RenderListItem::updateListMarkerNumbers):
2184
2185 2014-08-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2186
2187         Replace DEPRECATED_DEFINE_STATIC_LOCAL with NeverDestroyed<T> in NavigatorContentUtils
2188         https://bugs.webkit.org/show_bug.cgi?id=135494
2189
2190         Reviewed by Andrei Bucur.
2191
2192         Use static NeverDestroyed<T> variables instead of the DEPRECATED_DEFINE_STATIC_LOCAL macro.
2193
2194         No new tests, no behavior changes.
2195
2196         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
2197         (WebCore::customHandlersStateString):
2198         (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered):
2199
2200 2014-07-31  Benjamin Poulain  <bpoulain@apple.com>
2201
2202         Remove shadowPseudoId() override from the shadow media controls
2203         https://bugs.webkit.org/show_bug.cgi?id=135474
2204
2205         Reviewed by Eric Carlson.
2206
2207         Small cleanup.
2208
2209         * html/shadow/MediaControlElementTypes.h:
2210         * html/shadow/MediaControlElements.cpp:
2211         (WebCore::MediaControlPanelElement::MediaControlPanelElement):
2212         (WebCore::MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement):
2213         (WebCore::MediaControlOverlayEnclosureElement::MediaControlOverlayEnclosureElement):
2214         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
2215         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
2216         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
2217         (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
2218         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement):
2219         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
2220         (WebCore::MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement):
2221         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement):
2222         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement):
2223         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
2224         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
2225         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2226         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement):
2227         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement):
2228         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
2229         (WebCore::MediaControlPanelVolumeSliderElement::MediaControlPanelVolumeSliderElement):
2230         (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement):
2231         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
2232         (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement):
2233         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement):
2234         (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement):
2235         (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement):
2236         (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement):
2237         (WebCore::MediaControlPanelElement::shadowPseudoId): Deleted.
2238         (WebCore::MediaControlPanelEnclosureElement::shadowPseudoId): Deleted.
2239         (WebCore::MediaControlOverlayEnclosureElement::shadowPseudoId): Deleted.
2240         (WebCore::MediaControlTimelineContainerElement::shadowPseudoId): Deleted.
2241         (WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId): Deleted.
2242         (WebCore::MediaControlStatusDisplayElement::shadowPseudoId): Deleted.
2243         (WebCore::MediaControlPanelMuteButtonElement::shadowPseudoId): Deleted.
2244         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Deleted.
2245         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Deleted.
2246         (WebCore::MediaControlOverlayPlayButtonElement::shadowPseudoId): Deleted.
2247         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Deleted.
2248         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Deleted.
2249         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Deleted.
2250         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Deleted.
2251         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Deleted.
2252         (WebCore::MediaControlClosedCaptionsContainerElement::shadowPseudoId): Deleted.
2253         (WebCore::MediaControlClosedCaptionsTrackListElement::shadowPseudoId): Deleted.
2254         (WebCore::MediaControlTimelineElement::shadowPseudoId): Deleted.
2255         (WebCore::MediaControlPanelVolumeSliderElement::shadowPseudoId): Deleted.
2256         (WebCore::MediaControlFullscreenVolumeSliderElement::shadowPseudoId): Deleted.
2257         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Deleted.
2258         (WebCore::MediaControlFullscreenVolumeMinButtonElement::shadowPseudoId): Deleted.
2259         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::shadowPseudoId): Deleted.
2260         (WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId): Deleted.
2261         (WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId): Deleted.
2262         (WebCore::MediaControlTextTrackContainerElement::textTrackContainerElementShadowPseudoId): Deleted.
2263         (WebCore::MediaControlTextTrackContainerElement::shadowPseudoId): Deleted.
2264         * html/shadow/MediaControlElements.h:
2265         * html/shadow/MediaControls.cpp:
2266         (WebCore::MediaControls::MediaControls):
2267         (WebCore::MediaControls::shadowPseudoId): Deleted.
2268         * html/shadow/MediaControls.h:
2269
2270 2014-07-31  Timothy Horton  <timothy_horton@apple.com>
2271
2272         Build fix for platforms where we should have automaticallyAdjustsContentInsets but it isn't public yet
2273
2274         * platform/mac/ScrollViewMac.mm:
2275
2276 2014-07-31  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2277
2278         [EFL] Add support for building with Geoclue2.
2279         https://bugs.webkit.org/show_bug.cgi?id=135455
2280
2281         Reviewed by Gyuyoung Kim.
2282
2283         No new tests required, no new functionality.
2284
2285         * PlatformEfl.cmake: Generate derived sources for Geoclue2Interface
2286         and include gio-unix path.
2287
2288 2014-07-31  Zalan Bujtas  <zalan@apple.com>
2289
2290         Subpixel rendering: Region painting needs to take subpixel accumulation into account.
2291         https://bugs.webkit.org/show_bug.cgi?id=135469
2292
2293         Similar to non-region painting, when the context is translated, we need to propagate
2294         the subpixel difference so that renderers get snapped to the same position as if they
2295         were not part of a region.
2296
2297         Reviewed by Simon Fraser.
2298
2299         Covered by existing tests/not testable (webkit.org/b/135470)
2300
2301         * html/shadow/MediaControlElements.cpp:
2302         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
2303         * page/FrameView.cpp:
2304         (WebCore::FrameView::paintContents):
2305         * rendering/RenderLayer.cpp:
2306         (WebCore::RenderLayer::paint):
2307         (WebCore::RenderLayer::calculateClipRects):
2308         * rendering/RenderLayer.h:
2309
2310 2014-07-31  Jer Noble  <jer.noble@apple.com>
2311
2312         [iOS] Video in an <embed> has a bad aspect ratio when in fullscreen mode.
2313         https://bugs.webkit.org/show_bug.cgi?id=135481
2314
2315         Reviewed by Simon Fraser.
2316
2317         Do not change the gravity of our AVPlayerLayer when in full screen mode; its gravity
2318         is controlled by setVideoFullscreenGravity(), and should not be affected by style changes.
2319
2320         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2321         (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoLayerGravity):
2322
2323 2014-07-31  Beth Dakin  <bdakin@apple.com>
2324
2325         Hit-testing broken in WebKit 1 views with AppKit's contentInsets
2326         https://bugs.webkit.org/show_bug.cgi?id=135434
2327         -and corresponding-
2328         <rdar://problem/17850323>
2329
2330         Reviewed by Benjamin Poulain.
2331
2332         AppKit's contentInsets are factored into scroll positions and mouse positions, but
2333         in WebCore, we generally want all of those things to be factored out so that, for
2334         example, the scroll position of a document pinned to the top is the same whether
2335         or not there is a contentInset. So to fix hit-testing in WebKit 1 views with
2336         contentInsets, this patch factors the inset out or into of all coordinate
2337         conversion methods just like we do for the WebKit2 contentInset.
2338         
2339         This patch also adds the ability to test WK1 platformContentInsets with
2340         window.internals, and it re-names convertFromRenderer to 
2341         convertFromRendererToContainingView and also re-names convertToRenderer to
2342         convertFromContainingViewToRenderer.
2343
2344         ScrollView::topContentInset() takes an optional parameter indicating whether the
2345         caller wants the WebCore::Page contentInset or the platform content inset. It’s
2346         necessary to distinguish between these cases because there is a lot of code that
2347         only wants the WebCore::Page contentInset since that feature is actually
2348         implemented in WebCore as opposed to being implemented at the platform level.
2349         * WebCore.exp.in:
2350         * page/FrameView.cpp:
2351         (WebCore::FrameView::topContentInset):
2352
2353         For layout test purposes, set the platforTopContentInset here if there is a 
2354         platformWidget().
2355         (WebCore::FrameView::topContentInsetDidChange):
2356
2357         Re-named functions, also all coordinate conversion functions call 
2358         topContentInset(ManualOrPlatformContentInset)
2359         (WebCore::FrameView::convertFromContainingViewToRenderer):
2360         (WebCore::FrameView::convertToContainingView):
2361         (WebCore::FrameView::convertFromContainingView):
2362         (WebCore::FrameView::convertFromRenderer): Deleted.
2363         (WebCore::FrameView::convertToRenderer): Deleted.
2364         * page/FrameView.h:
2365         * page/Page.cpp:
2366         (WebCore::Page::setTopContentInset):
2367         * platform/ScrollView.cpp:
2368         (WebCore::ScrollView::documentScrollOffsetRelativeToViewOrigin):
2369         (WebCore::ScrollView::documentScrollPositionRelativeToViewOrigin):
2370         (WebCore::ScrollView::contentsToRootView):
2371         (WebCore::ScrollView::rootViewToTotalContents):
2372         (WebCore::ScrollView::contentsToWindow):
2373         (WebCore::ScrollView::platformTopContentInset):
2374         (WebCore::ScrollView::platformSetTopContentInset):
2375         * platform/ScrollView.h:
2376         (WebCore::ScrollView::topContentInset):
2377         * platform/ios/ScrollViewIOS.mm:
2378         (WebCore::ScrollView::platformTopContentInset):
2379         (WebCore::ScrollView::platformSetTopContentInset):
2380
2381         Implement new platform inset-related functions using AppKit's implementation.
2382         * platform/mac/ScrollViewMac.mm:
2383         (WebCore::ScrollView::platformTopContentInset):
2384         (WebCore::ScrollView::platformSetTopContentInset):
2385         
2386         When we set the scroll position for the documentView, we have to factor the inset
2387         back into the WebCore scroll position.
2388         (WebCore::ScrollView::platformSetScrollPosition):
2389         
2390         Re-named functions.
2391         * rendering/RenderLayer.cpp:
2392         (WebCore::RenderLayer::convertFromScrollbarToContainingView):
2393         (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
2394         * rendering/RenderListBox.cpp:
2395         (WebCore::RenderListBox::convertFromScrollbarToContainingView):
2396         (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
2397
2398 2014-07-31  Dean Jackson  <dino@apple.com>
2399
2400         Default buttons do not pulse in OS X 10.10
2401         https://bugs.webkit.org/show_bug.cgi?id=135447
2402         <rdar://problem/17875896>
2403
2404         Reviewed by Dan Bernstein.
2405
2406         OS X Yosemite does not have the animated pulsing default
2407         buttons seen in previous releases. We don't need to have
2408         a timer in RenderButton constantly triggering repaints.
2409
2410         * platform/mac/ThemeMac.mm:
2411         (WebCore::paintButton): No need to advance the animation.
2412         * rendering/RenderButton.cpp:
2413         (WebCore::RenderButton::styleDidChange): Ask the theme if it
2414         should advance the animation.
2415         * rendering/RenderTheme.h:
2416         (WebCore::RenderTheme::defaultButtonHasAnimation): Virtual function
2417         indicating if the button needs to repaint.
2418         * rendering/RenderThemeMac.h:
2419         * rendering/RenderThemeMac.mm:
2420         (WebCore::RenderThemeMac::defaultButtonHasAnimation): Provide platform
2421         specific result on Yosemite and above.
2422
2423 2014-07-31  Tim Horton  <timothy_horton@apple.com>
2424
2425         DOM::renderedImageForcingBlackText returns an image with the wrong logical size on 2x displays
2426         https://bugs.webkit.org/show_bug.cgi?id=135442
2427         <rdar://problem/17614632>
2428
2429         Reviewed by Simon Fraser.
2430
2431         * bindings/objc/DOM.mm:
2432         (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
2433         Scale the NSImage size by the device scale factor,
2434         similar to what we did for drag images in r167403.
2435         Ideally this scaling would happen in the code that
2436         generates the images, but this is a much larger change
2437         with much more regression potential.
2438
2439 2014-07-31  Bear Travis  <betravis@adobe.com>
2440
2441         [CSS Font Loading] Rename document.fontloader to document.fonts
2442         https://bugs.webkit.org/show_bug.cgi?id=135393
2443
2444         Reviewed by Bem Jones-Bey.
2445
2446         The most recent version of the specification has renamed
2447         document.fontloader to document.fonts. This change updates the
2448         names in WebCore and LayoutTests.
2449
2450         Fixed up existing tests under LayoutTests/fast/css/fontloader-*
2451         and LayoutTests/http/webfont/fontloader-*
2452
2453         * css/CSSFontFace.cpp:
2454         (WebCore::CSSFontFace::notifyFontLoader):
2455         (WebCore::CSSFontFace::notifyLoadingDone):
2456         * dom/Document.cpp:
2457         (WebCore::Document::fonts):
2458         (WebCore::Document::fontloader): Deleted.
2459         * dom/Document.h:
2460         * dom/Document.idl:
2461         * page/FrameView.cpp:
2462         (WebCore::FrameView::performPostLayoutTasks):
2463
2464 2014-07-31  Andrei Bucur  <abucur@adobe.com>
2465
2466         REGRESSION: Search highlight is broken in RTL multicolumn content
2467         https://bugs.webkit.org/show_bug.cgi?id=135452
2468
2469         Reviewed by Simon Fraser.
2470
2471         The offsets for elements inside RTL multi-column elements are incorrectly computed because
2472         the columns don't calculate their left position according to the writing direction.
2473
2474         The patch extracts the column position computation in two helper functions (for top and left)
2475         so they can be used when needed in different parts of the code. In our case, the |columnLogicalLeft|
2476         function should be used inside |columnTranslationForOffset|.
2477
2478         Test: fast/multicol/content-bounding-box-rtl.html
2479
2480         * rendering/RenderMultiColumnSet.cpp:
2481         (WebCore::RenderMultiColumnSet::columnLogicalLeft): Return the logical left of a column relative to the set.
2482         (WebCore::RenderMultiColumnSet::columnLogicalTop): Return the logical top of a column relative to the set.
2483         (WebCore::RenderMultiColumnSet::columnRectAt): Split the code between columnLogicalLeft and columnLogicalTop.
2484         (WebCore::RenderMultiColumnSet::collectLayerFragments): Make code clearer by adding a new line.
2485         (WebCore::RenderMultiColumnSet::columnTranslationForOffset): Use columnLogicalLeft instead of duplicating logic.
2486         * rendering/RenderMultiColumnSet.h:
2487
2488 2014-07-31  Martin Hodovan  <mhodovan.u-szeged@partner.samsung.com>
2489
2490         Eliminate "FractionConversion" from CSSPrimitiveValue::convertToLength
2491         https://bugs.webkit.org/show_bug.cgi?id=135377
2492
2493         Reviewed by Darin Adler.
2494
2495         The FractionConversion argument in CSSPrimitiveValue::convertToLength
2496         doesn't seem to actually have a purpose. It is for converting numbers
2497         into Length(x * 100, Percent), but this case shouldn't be reachable.
2498         The original patch introducing it doesn't shed any light either:
2499         [https://bugs.webkit.org/show_bug.cgi?id=74913
2500
2501         This patch removes the now unused FractionConversion argument. Note
2502         that we can probably also merge the two Fixed conversions, as the
2503         two only differ in clamping large numbers (probably unintended).
2504
2505         Patch by Timothy Loh, backported from Blink: https://codereview.chromium.org/71253002
2506
2507         No new tests.
2508
2509         * css/CSSCalculationValue.cpp:
2510         (WebCore::determineCategory):
2511         * css/CSSParser.cpp:
2512         (WebCore::parseTransformTranslateArguments):
2513         (WebCore::parseTranslateTransformValue):
2514         (WebCore::parseTransformArguments): Deleted.
2515         * css/CSSPrimitiveValueMappings.h:
2516         (WebCore::CSSPrimitiveValue::convertToLength):
2517         * css/DeprecatedStyleBuilder.cpp:
2518         (WebCore::ApplyPropertyClip::convertToLength):
2519         * css/StyleResolver.cpp:
2520         (WebCore::StyleResolver::convertToIntLength):
2521         (WebCore::StyleResolver::convertToFloatLength):
2522         * css/TransformFunctions.cpp:
2523         (WebCore::convertToFloatLength):
2524
2525 2014-07-31  Joseph Pecoraro  <pecoraro@apple.com>
2526
2527         Web Inspector: console.profile missing profile information
2528         https://bugs.webkit.org/show_bug.cgi?id=135432
2529
2530         Reviewed by Timothy Hatcher.
2531
2532         By switching console.profile to start/stop the timeline we would
2533         not have a chance to recompile JS functions with profiling information.
2534         This used to work because whenever the inspector was open we would
2535         have profiling information enabled. Go back to that behavior.
2536
2537         * inspector/InspectorController.cpp:
2538         (WebCore::InspectorController::profilerEnabled):
2539         Instead of checking if the timeline agent has started, check if the
2540         timeline agent has been created. Going back to the normal behavior
2541         of always having profiling information when the inspector is open.
2542
2543         * inspector/InspectorTimelineAgent.h:
2544         * inspector/InspectorTimelineAgent.cpp:
2545         (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
2546         Recompile initializing the timeline agent to include profiling information.
2547
2548         (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
2549         Recompile destrying the timeline agent, only if needed.
2550
2551         (WebCore::InspectorTimelineAgent::willCallFunction):
2552         (WebCore::InspectorTimelineAgent::didCallFunction):
2553         (WebCore::InspectorTimelineAgent::willEvaluateScript):
2554         (WebCore::InspectorTimelineAgent::didEvaluateScript):
2555         Using a boolean to track nested calls would not give expected
2556         behavior when un-nesting. Switch to a counter to ensure that
2557         as we start profiling in the outermost level we then stop
2558         profiling at that same level and not inside an inner nesting.
2559
2560 2014-07-31  Wenson Hsieh  <wenson_hsieh@apple.com>
2561
2562         Refactor EventHandler to call ScrollAnimator::handleWheelEvent for overflow scrolling
2563         https://bugs.webkit.org/show_bug.cgi?id=135195
2564
2565         Reviewed by Beth Dakin.
2566
2567         ScrollableArea::handleWheelEvent is not currently being used to handle wheel events for overflow scrolling; it instead directly invokes ScrollableArea::scroll.
2568         In order to expose wheel phases on Mac, the PlatformWheelEvent itself should propagate down to ScrollableArea, not just the scroll granularity, direction and
2569         multiplier required by ScrollableArea::scroll. With this patch, PlatformWheelEvent will be "shipped" along with the WheelEvent.
2570
2571         No new tests, since behavior should not have changed.
2572
2573         * page/EventHandler.cpp:
2574         (WebCore::didScrollInScrollableAreaForSingleAxis): Calls ScrollableArea::scroll directly using WheelEvent's data. Used to handle programmatic WheelEvents, e.g. from JavaScript.
2575         (WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis): Finds the correct ScrollableArea and attempts to scroll it using the information contained in the WheelEvent via ScrollableArea::handleWheelEvent
2576         (WebCore::EventHandler::defaultWheelEventHandler): Updated to use handleWheelEventInAppropriateEnclosingBoxForSingleAxis instead of scrollNode.
2577         (WebCore::scrollNode): Deleted.
2578         * rendering/RenderListBox.h: Made RenderListBox::scroll public so it can be invoked from EventHandler::handleWheelEventInAppropriateEnclosingBoxForSingleAxis.
2579         * rendering/RenderNamedFlowThread.cpp: Refactored to let EventHandler update nextScrollBlock in the case of isRenderNamedFlowThread().
2580         (WebCore::RenderNamedFlowThread::fragmentFromRenderBoxAsRenderBlock): 
2581         * rendering/RenderNamedFlowThread.h:
2582
2583 2014-07-31  Dan Bernstein  <mitz@apple.com>
2584
2585         WebCore part of: Server trust authentication challenges aren’t sent to the navigation delegate
2586         https://bugs.webkit.org/show_bug.cgi?id=135327
2587
2588         Reviewed by Alexey Proskuryakov.
2589
2590         * platform/network/cf/ResourceHandleCFNet.cpp:
2591         (WebCore::ResourceHandle::receivedCredential): Don’t try to change the persistence of
2592         credentials used for server trust, because the platform doesn’t support persistence values
2593         other than Session for server trust.
2594         * platform/network/mac/ResourceHandleMac.mm:
2595         (WebCore::ResourceHandle::receivedCredential): Ditto.
2596
2597 2014-07-31  Dan Bernstein  <mitz@apple.com>
2598
2599         Tried to fix building with the OS X 10.9 SDK while targeting OS X 10.8.
2600
2601         * platform/network/cocoa/CredentialCocoa.mm:
2602         (WebCore::toCredentialPersistence):
2603
2604 2014-07-31  Dan Bernstein  <mitz@apple.com>
2605
2606         Reverted r171854, because it broke building with the OS X 10.8 SDK.
2607
2608         * platform/network/cocoa/CredentialCocoa.mm:
2609         (WebCore::toCredentialPersistence):
2610
2611 2014-07-31  Dan Bernstein  <mitz@apple.com>
2612
2613         Tried to fix building with the OS X 10.9 SDK while targeting OS X 10.8.
2614
2615         * platform/network/cocoa/CredentialCocoa.mm:
2616         (WebCore::toCredentialPersistence):
2617
2618 2014-07-31  Jer Noble  <jer.noble@apple.com>
2619
2620         REGRESSION(??): [iOS] Disabling MediaPlaybackRequiresUserGesture does not remove user gesture requirement for entering full screen.
2621         https://bugs.webkit.org/show_bug.cgi?id=135443
2622
2623         Reviewed by Dean Jackson.
2624
2625         Allow full screen mode to be entered without a user gesture if the gesture requirement for media playback
2626         has been unset.
2627
2628         * html/HTMLMediaElement.cpp:
2629         (WebCore::HTMLMediaElement::HTMLMediaElement):
2630
2631 2014-07-31  Andrei Bucur  <abucur@adobe.com>
2632
2633         [CSS Multicolumn] Clear the lines when switching to multi-column layout
2634         https://bugs.webkit.org/show_bug.cgi?id=135127
2635
2636         Reviewed by Alexandru Chiculita.
2637
2638         When switching an element to multi-column layout it becomes a container of block
2639         children. When this happens the existing line boxes must be deleted in addition
2640         to clearing the hasInlineChildren flag.
2641
2642         Tests: fast/multicol/inline-container-to-multicol.html
2643                fast/multicol/inline-container-to-multicol-float.html
2644                fast/multicol/inline-container-to-multicol-positioned.html
2645
2646         * rendering/RenderBlockFlow.cpp:
2647         (WebCore::RenderBlockFlow::createMultiColumnFlowThread):
2648
2649 2014-07-30  Andreas Kling  <akling@apple.com>
2650
2651         PropertyName's internal string is always atomic.
2652         <https://webkit.org/b/135451>
2653
2654         Use PropertyName::publicName() directly instead of taking the slow route
2655         through AtomicString::findStringWithHash().
2656
2657         These strings are always atomic, and findStringWithHash() would trudge
2658         through a full hash lookup just to discover that indeed, they are!
2659
2660         Reviewed by Benjamin Poulain.
2661
2662         * bindings/js/JSDOMBinding.cpp:
2663         (WebCore::findAtomicString): Deleted.
2664         * bindings/js/JSDOMBinding.h:
2665         * bindings/js/JSDOMWindowCustom.cpp:
2666         (WebCore::namedItemGetter):
2667         (WebCore::JSDOMWindow::getOwnPropertySlot):
2668         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
2669         * bindings/js/JSHTMLDocumentCustom.cpp:
2670         (WebCore::JSHTMLDocument::canGetItemsForName):
2671         (WebCore::JSHTMLDocument::nameGetter):
2672
2673 2014-07-30  Benjamin Poulain  <benjamin@webkit.org>
2674
2675         ElementRuleCollector: group the shadow tree code
2676         https://bugs.webkit.org/show_bug.cgi?id=135410
2677
2678         Reviewed by Andreas Kling.
2679
2680         * css/ElementRuleCollector.cpp:
2681         (WebCore::ElementRuleCollector::collectMatchingRules):
2682         Little cleanup: group the shadow tree rule collection in the same block.
2683
2684 2014-07-30  Benjamin Poulain  <benjamin@webkit.org>
2685
2686         Cleanup DetailsMarkerControl
2687         https://bugs.webkit.org/show_bug.cgi?id=135429
2688
2689         Reviewed by Andreas Kling.
2690
2691         Remove the override of shadowPseudoId(). This is a simple type of shadowId,
2692         it should use the generic pseudo() path.
2693
2694         Move DetailsMarkerControl::create() out-of-line. One could justify inlining the constructor,
2695         inlining the ::create() function has little value.
2696
2697         * html/shadow/DetailsMarkerControl.cpp:
2698         (WebCore::DetailsMarkerControl::create):
2699         (WebCore::DetailsMarkerControl::DetailsMarkerControl):
2700         (WebCore::DetailsMarkerControl::rendererIsNeeded):
2701         (WebCore::DetailsMarkerControl::shadowPseudoId): Deleted.
2702         (WebCore::DetailsMarkerControl::summaryElement): Deleted.
2703         * html/shadow/DetailsMarkerControl.h:
2704         (WebCore::DetailsMarkerControl::create): Deleted.
2705
2706 2014-07-30  Benjamin Poulain  <bpoulain@apple.com>
2707
2708         Remove UploadButtonElement::shadowPseudoId()
2709         https://bugs.webkit.org/show_bug.cgi?id=135435
2710
2711         Reviewed by Andreas Kling.
2712
2713         Use the generic pseudo() path instead of a custom shadowPseudoId().
2714
2715         * html/FileInputType.cpp:
2716         (WebCore::UploadButtonElement::create):
2717         (WebCore::UploadButtonElement::createForMultiple):
2718         (WebCore::UploadButtonElement::UploadButtonElement):
2719         Set the type in the common constructor instead of the call sites.
2720         (WebCore::UploadButtonElement::shadowPseudoId): Deleted.
2721         * html/FileInputType.h:
2722
2723 2014-07-30  Benjamin Poulain  <bpoulain@apple.com>
2724
2725         Remove SpinButtonElement::shadowPseudoId
2726         https://bugs.webkit.org/show_bug.cgi?id=135436
2727
2728         Reviewed by Andreas Kling.
2729
2730         Use the generic pseudo.
2731
2732         * html/shadow/SpinButtonElement.cpp:
2733         (WebCore::SpinButtonElement::SpinButtonElement):
2734         (WebCore::SpinButtonElement::shadowPseudoId): Deleted.
2735         * html/shadow/SpinButtonElement.h:
2736
2737 2014-07-30  Benjamin Poulain  <bpoulain@apple.com>
2738
2739         Clean up YouTubeEmbedShadowElement
2740         https://bugs.webkit.org/show_bug.cgi?id=135437
2741
2742         Reviewed by Andreas Kling.
2743
2744         * html/shadow/YouTubeEmbedShadowElement.cpp:
2745         (WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement):
2746         (WebCore::YouTubeEmbedShadowElement::pluginElement): Deleted.
2747         This is unused in WebCore.
2748
2749         (WebCore::YouTubeEmbedShadowElement::shadowPseudoId): Deleted.
2750         Use the generic pseudo path instead of a custom shadowPseudoId.
2751         * html/shadow/YouTubeEmbedShadowElement.h:
2752
2753 2014-07-30  Benjamin Poulain  <bpoulain@apple.com>
2754
2755         Remove shadowPseudoId() from InputFieldSpeechButtonElement and SearchFieldCancelButtonElement
2756         https://bugs.webkit.org/show_bug.cgi?id=135438
2757
2758         Reviewed by Andreas Kling.
2759
2760         Use the generic path.
2761
2762         * html/shadow/TextControlInnerElements.cpp:
2763         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
2764         (WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
2765         (WebCore::SearchFieldCancelButtonElement::shadowPseudoId): Deleted.
2766         (WebCore::InputFieldSpeechButtonElement::shadowPseudoId): Deleted.
2767         * html/shadow/TextControlInnerElements.h:
2768
2769 2014-07-30  Andy Estes  <aestes@apple.com>
2770
2771         USE(CONTENT_FILTERING) should be ENABLE(CONTENT_FILTERING)
2772         https://bugs.webkit.org/show_bug.cgi?id=135439
2773
2774         Reviewed by Tim Horton.
2775
2776         We now support two different platform content filters, and will soon support a mock content filter (as part of
2777         webkit.org/b/128858). This makes content filtering a feature of WebKit, not just an adoption of a third-party
2778         library. ENABLE() is the correct macro to use for such a feature.
2779
2780         * Configurations/FeatureDefines.xcconfig:
2781         * WebCore.exp.in:
2782         * loader/DocumentLoader.cpp:
2783         (WebCore::DocumentLoader::finishedLoading):
2784         (WebCore::DocumentLoader::responseReceived):
2785         (WebCore::DocumentLoader::commitData):
2786         (WebCore::DocumentLoader::dataReceived):
2787         * loader/DocumentLoader.h:
2788         * loader/FrameLoaderClient.h:
2789         * platform/ContentFilter.h:
2790         * platform/ios/ContentFilterIOS.mm:
2791         * platform/mac/ContentFilterMac.mm:
2792
2793 2014-07-30  Andreas Kling  <akling@apple.com>
2794
2795         Static hash tables no longer need to be coupled with a VM.
2796         <https://webkit.org/b/135421>
2797
2798         Update for JSC::ClassInfo changes.
2799         
2800         Remove the JSNoStaticTables mode for IDL code generation, which was used to
2801         ensure that each VM had its own unique copy of certain static tables.
2802         This was used for interfaces that could be used in workers, and now there's
2803         no need to manually annotate these things anymore.
2804
2805         Also remove the DOMObjectHashTableMap class that was only used for this.
2806
2807         Reviewed by Geoffrey Garen.
2808
2809         * Modules/indexeddb/IDBAny.idl:
2810         * Modules/indexeddb/IDBCursor.idl:
2811         * Modules/indexeddb/IDBCursorWithValue.idl:
2812         * Modules/indexeddb/IDBDatabase.idl:
2813         * Modules/indexeddb/IDBFactory.idl:
2814         * Modules/indexeddb/IDBIndex.idl:
2815         * Modules/indexeddb/IDBKeyRange.idl:
2816         * Modules/indexeddb/IDBObjectStore.idl:
2817         * Modules/indexeddb/IDBOpenDBRequest.idl:
2818         * Modules/indexeddb/IDBRequest.idl:
2819         * Modules/indexeddb/IDBTransaction.idl:
2820         * Modules/indexeddb/IDBVersionChangeEvent.idl:
2821         * Modules/webdatabase/Database.idl:
2822         * Modules/webdatabase/DatabaseSync.idl:
2823         * Modules/webdatabase/SQLError.idl:
2824         * Modules/webdatabase/SQLException.idl:
2825         * Modules/webdatabase/SQLResultSet.idl:
2826         * Modules/webdatabase/SQLResultSetRowList.idl:
2827         * Modules/webdatabase/SQLTransaction.idl:
2828         * Modules/webdatabase/SQLTransactionSync.idl:
2829         * Modules/websockets/CloseEvent.idl:
2830         * Modules/websockets/WebSocket.idl:
2831         * WebCore.xcodeproj/project.pbxproj:
2832         * bindings/js/DOMObjectHashTableMap.cpp: Removed.
2833         * bindings/js/DOMObjectHashTableMap.h: Removed.
2834         * bindings/js/JSDOMBinding.cpp:
2835         (WebCore::getHashTableForGlobalData): Deleted.
2836         * bindings/js/JSDOMBinding.h:
2837         (WebCore::getStaticValueSlotEntryWithoutCaching):
2838         * bindings/js/JSDOMGlobalObject.cpp:
2839         * bindings/js/JSDOMWindowBase.cpp:
2840         * bindings/js/JSDOMWindowCustom.cpp:
2841         (WebCore::JSDOMWindow::getOwnPropertySlot):
2842         (WebCore::JSDOMWindow::put):
2843         * bindings/js/JSDOMWindowShell.cpp:
2844         * bindings/js/JSImageConstructor.cpp:
2845         * bindings/js/JSLocationCustom.cpp:
2846         (WebCore::JSLocation::putDelegate):
2847         * bindings/js/JSStorageCustom.cpp:
2848         (WebCore::JSStorage::deleteProperty):
2849         (WebCore::JSStorage::putDelegate):
2850         * bindings/js/JSWorkerGlobalScopeBase.cpp:
2851         * bindings/js/WebCoreJSClientData.h:
2852         * bindings/scripts/CodeGeneratorJS.pm:
2853         (GenerateGetOwnPropertySlotBody):
2854         (GenerateImplementation):
2855         (GenerateConstructorHelperMethods):
2856         (hashTableAccessor): Deleted.
2857         (prototypeHashTableAccessor): Deleted.
2858         (constructorHashTableAccessor): Deleted.
2859         * bindings/scripts/IDLAttributes.txt:
2860         * bridge/c/CRuntimeObject.cpp:
2861         * bridge/c/c_instance.cpp:
2862         * bridge/objc/ObjCRuntimeObject.mm:
2863         * bridge/objc/objc_instance.mm:
2864         * bridge/objc/objc_runtime.mm:
2865         * bridge/runtime_array.cpp:
2866         * bridge/runtime_method.cpp:
2867         * bridge/runtime_object.cpp:
2868         * crypto/CryptoKey.idl:
2869         * css/CSSFontFaceLoadEvent.idl:
2870         * dom/DOMCoreException.idl:
2871         * dom/DOMStringList.idl:
2872         * dom/ErrorEvent.idl:
2873         * dom/Event.idl:
2874         * dom/EventException.idl:
2875         * dom/EventListener.idl:
2876         * dom/MessageChannel.idl:
2877         * dom/MessageEvent.idl:
2878         * dom/MessagePort.idl:
2879         * dom/ProgressEvent.idl:
2880         * fileapi/Blob.idl:
2881         * fileapi/File.idl:
2882         * fileapi/FileError.idl:
2883         * fileapi/FileException.idl:
2884         * fileapi/FileList.idl:
2885         * fileapi/FileReader.idl:
2886         * fileapi/FileReaderSync.idl:
2887         * html/DOMURL.idl:
2888         * page/EventSource.idl:
2889         * page/WorkerNavigator.idl:
2890         * workers/DedicatedWorkerGlobalScope.idl:
2891         * workers/SharedWorkerGlobalScope.idl:
2892         * workers/WorkerGlobalScope.idl:
2893         * workers/WorkerLocation.idl:
2894         * xml/XMLHttpRequest.idl:
2895         * xml/XMLHttpRequestException.idl:
2896         * xml/XMLHttpRequestProgressEvent.idl:
2897         * xml/XMLHttpRequestUpload.idl:
2898
2899 2014-07-30  Dan Bernstein  <mitz@apple.com>
2900
2901         <rdar://problem/17199364> [Mac] Popup button arrows appear on the left, underlapping text, when the UI layout direction is right-to-left
2902         https://bugs.webkit.org/show_bug.cgi?id=135426
2903
2904         Reviewed by Dean Jackson.
2905
2906         No test, because the UI layout direction in the test harness is always left-to-right.
2907
2908         * rendering/RenderThemeMac.mm:
2909         (WebCore::RenderThemeMac::popupButton): Forced the user interface layout direction of the
2910         NSPopUpButtonCell to left-to-right. Added a FIXME about how we could make this vary based on
2911         the direction of the <select>, though that would require additional changes elsewhere.
2912
2913 2014-07-30  Dan Bernstein  <mitz@apple.com>
2914
2915         Made Credential hold onto an NSURLCredential when needed.
2916         Work towards fixing https://bugs.webkit.org/show_bug.cgi?id=135327
2917
2918         Reviewed by Alexey Proskuryakov.
2919
2920         No change in functionality.
2921
2922         * WebCore.exp.in: Updated.
2923
2924         * platform/network/Credential.h: Removed definition of CERTIFICATE_CREDENTIALS_SUPPORTED,
2925         which is not used anymore.
2926
2927         * platform/network/CredentialBase.h:
2928         (WebCore::CredentialBase::encodingRequiresPlatformData): Added a base implementation that
2929         returns false.
2930
2931         * platform/network/cf/AuthenticationCF.cpp:
2932         Changed to use the Credential constructor that takes an CFURLCredential, and the new
2933         cfCredential member function. Made the createCF and core functions Windows-only and
2934         therefore removed the CERTIFICATE_CREDENTIALS_SUPPORTED code from them.
2935         * platform/network/cf/AuthenticationCF.h:
2936
2937         * platform/network/cf/CredentialStorageCFNet.cpp:
2938         (WebCore::CredentialStorage::getFromPersistentStorage): Changed to construct a Credential
2939         from a CFURLCredential.
2940         (WebCore::CredentialStorage::saveToPersistentStorage): Changed to use the new cfCredential
2941         member function.
2942
2943         * platform/network/cf/ResourceHandleCFNet.cpp:
2944         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto to both.
2945         (WebCore::ResourceHandle::receivedCredential): Ditto.
2946
2947         * platform/network/cocoa/CredentialCocoa.h:
2948         Replaced the m_identity, m_certificates and m_type member variables with an m_nsCredential
2949         one holding onto an NSURLCredential. Declared constructors from and getters for
2950         NSURLCredential and CFURLCredentialRef.
2951         (WebCore::Credential::encodingRequiresPlatformData): Override that checks the
2952         NSURLCredential if necessary.
2953
2954         * platform/network/cocoa/CredentialCocoa.mm:
2955         (WebCore::toNSURLCredentialPersistence): New helper function.
2956         (WebCore::toCredentialPersistence): Ditto.
2957         (WebCore::Credential::Credential): Defined constructors to create or take an
2958         NSURLCredential.
2959         (WebCore::Credential::cfCredential): Added.
2960         (WebCore::Credential::nsCredential): Added. Returns nil for the empty credential.
2961         (WebCore::Credential::isEmpty): Changed to check m_nsCredential.
2962         (WebCore::Credential::platformCompare): Changed to compare m_nsCredential if needed.
2963         (WebCore::Credential::encodingRequiresPlatformData): Returns true if the credential is not
2964         a user and a password.
2965
2966         * platform/network/mac/AuthenticationMac.h: Removed mac and core functions for Credential.
2967         * platform/network/mac/AuthenticationMac.mm:
2968         (-[WebCoreAuthenticationClientAsChallengeSender useCredential:forAuthenticationChallenge:]):
2969         Changed to use Credential constructor that takes an NSURLCredential.
2970         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Ditto. Also use the
2971         nsCredential getter.
2972
2973         * platform/network/mac/CredentialStorageMac.mm:
2974         (WebCore::CredentialStorage::getFromPersistentStorage): Use new Credential constructor.
2975
2976         * platform/network/mac/ResourceHandleMac.mm:
2977         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto. Also use the
2978         nsCredential getter.
2979         (WebCore::ResourceHandle::receivedCredential): Ditto.
2980
2981 2014-07-30  Sergio Villar Senin  <svillar@igalia.com>
2982
2983         [GTK] Build depends on OpenGL ES
2984         https://bugs.webkit.org/show_bug.cgi?id=135289
2985
2986         Reviewed by Martin Robinson.
2987
2988         Guard the OpenGL ES code with USE(OPENGL_ES_2).
2989
2990         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
2991         * platform/graphics/opengl/Extensions3DOpenGLES.h:
2992
2993 2014-07-30  Radu Stavila  <stavila@adobe.com>
2994
2995         Member name collision in RenderView and SelectionSubtreeRoot
2996         https://bugs.webkit.org/show_bug.cgi?id=135233
2997
2998         Reviewed by Mihnea Ovidenie.
2999
3000         The selectionStart/End members in RenderView have been renamed to fix confusion caused by the fact that
3001         RenderView inherits SelectionSubtreeRoot, which also has the same selectionStart/End members.
3002
3003         No new tests required, no new functionality.
3004
3005         * rendering/RenderBlock.cpp:
3006         (WebCore::RenderBlock::isSelectionRoot):
3007         * rendering/RenderView.cpp:
3008         (WebCore::RenderView::RenderView):
3009         (WebCore::RenderView::setSelection):
3010         (WebCore::RenderView::getSelection):
3011         * rendering/RenderView.h:
3012
3013 2014-07-30  Zan Dobersek  <zdobersek@igalia.com>
3014
3015         [TexMap] Move TextureMapperLayer::textureMapper() definition into the header
3016         https://bugs.webkit.org/show_bug.cgi?id=135384
3017
3018         Reviewed by Martin Robinson.
3019
3020         Move the definitions of TextureMapperLayer::textureMapper() and TextureMapperLayer::rootLayer()
3021         into the TextureMapperLayer header. This makes both functions inline-able, removing unnecessary
3022         calling overhead in GraphicsLayerTextureMapper::flushCompositingState() and
3023         GraphicsLayerTextureMapper::updateBackingStoreIfNeeded().
3024
3025         TextureMapperLayer::rootLayer() now also returns a reference.
3026
3027         * platform/graphics/texmap/TextureMapperLayer.cpp:
3028         (WebCore::TextureMapperLayer::~TextureMapperLayer):
3029         (WebCore::TextureMapperLayer::rootLayer): Deleted.
3030         (WebCore::TextureMapperLayer::textureMapper): Deleted.
3031         * platform/graphics/texmap/TextureMapperLayer.h:
3032         (WebCore::TextureMapperLayer::textureMapper):
3033         (WebCore::TextureMapperLayer::rootLayer):
3034
3035 2014-07-29  Andreas Kling  <akling@apple.com>
3036
3037         Crash when using 'em' units to specify font-size inside animation keyframe.
3038         <https://webkit.org/b/135395>
3039         <rdar://problem/17851910>
3040
3041         We'd forgotten to initialize the "parent style" when resolving keyframe
3042         styles, and this led to a crash in length conversion where the code
3043         assumes a parent style will be present.
3044
3045         To keep this fix minimal, simply make the "parent style" a clone of the
3046         base element style.
3047
3048         Reviewed by Simon Fraser.
3049
3050         Test: fast/animation/keyframe-with-font-size-in-em-units.html
3051
3052         * css/StyleResolver.cpp:
3053         (WebCore::StyleResolver::styleForKeyframe):
3054
3055 2014-07-29  Pratik Solanki  <psolanki@apple.com>
3056
3057         [iOS] REGRESSION(r171526): PDF documents fail to load in WebKit1 with disk image caching enabled
3058         https://bugs.webkit.org/show_bug.cgi?id=135359
3059         <rdar://problem/17824645>
3060
3061         Reviewed by Darin Adler.
3062
3063         r171526 broke the case where we have a memory mapped file from the DiskImageCache in the
3064         SharedBuffer. In such a case, m_buffer is empty and createCFData() returned an
3065         WebCoreSharedBufferData with an empty buffer.
3066
3067         Fix this by taking the easy route of bringing back the old code for the disk image cache
3068         file backed case. In the long run we probably want to remove the iOS specific disk image
3069         cache anyway.
3070
3071         Review also uncovered another bug in r171526 where we were balancing an Objective-C alloc
3072         with a CFRelease which is incorrect when running under GC. Fix that by using adoptNS along
3073         with adoptCF which is what the code did before.
3074
3075         No new tests because the bug only occurs on device and we can't run tests on device yet.
3076
3077         * platform/mac/SharedBufferMac.mm:
3078         (-[WebCoreSharedBufferData initWithDiskImageSharedBuffer:]):
3079         (-[WebCoreSharedBufferData length]):
3080         (-[WebCoreSharedBufferData bytes]):
3081         (WebCore::SharedBuffer::createCFData):
3082
3083 2014-07-29  Benjamin Poulain  <bpoulain@apple.com>
3084
3085         VisitedLinkState::determineLinkState should take a reference
3086         https://bugs.webkit.org/show_bug.cgi?id=135375
3087
3088         Reviewed by Sam Weinig.
3089
3090         * css/StyleResolver.cpp:
3091         (WebCore::StyleResolver::State::initElement):
3092         * dom/VisitedLinkState.h:
3093         (WebCore::VisitedLinkState::determineLinkState):
3094
3095 2014-07-29  Brady Eidson  <beidson@apple.com>
3096
3097         Make WKOriginDataManager actually operate on IndexedDatabases.
3098         https://bugs.webkit.org/show_bug.cgi?id=135346
3099
3100         Reviewed by Sam Weinig (and David Kilzer and Alex Christensen)
3101
3102         * WebCore.exp.in:
3103
3104 2014-07-29  Dan Bernstein  <mitz@apple.com>
3105
3106         Moved the Cocoa-specific parts of CredentialBase into a Cocoa-specific Credential class.
3107         Work towards fixing https://bugs.webkit.org/show_bug.cgi?id=135327
3108
3109         Reviewed by Alexey Proskuryakov.
3110
3111         No change in functionality.
3112
3113         * WebCore.exp.in: Updated for functions moved in the class hierarchy.
3114
3115         * WebCore.xcodeproj/project.pbxproj: Added CredentialCocoa.{h,mm}.
3116
3117         * platform/network/Credential.h: For Cocoa, include CredentialCocoa.h instead of the generic
3118         class.
3119         (WebCore::Credential::Credential): Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED code.
3120
3121         * platform/network/CredentialBase.cpp:
3122         (WebCore::CredentialBase::CredentialBase): Changed to use emptyString instead of "", removed
3123         #if CERTIFICATE_CREDENTIALS_SUPPORTED code.
3124         (WebCore::CredentialBase::isEmpty): Ditto.
3125         (WebCore::CredentialBase::compare): Renamed operator== to this, removed
3126         #if CERTIFICATE_CREDENTIALS_SUPPORTED code, but changed the end to call platformCompare.
3127         (WebCore::CredentialBase::identity): Deleted.
3128         (WebCore::CredentialBase::certificates): Deleted.
3129         (WebCore::CredentialBase::type): Deleted.
3130         * platform/network/CredentialBase.h: Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED members.
3131         (WebCore::CredentialBase::platformCompare): Added a base implementation that returns true.
3132         (WebCore::operator==): Changed to use CredentialBase::compare.
3133
3134         * platform/network/cocoa/CredentialCocoa.h: Added.
3135         (WebCore::Credential::Credential):
3136         * platform/network/cocoa/CredentialCocoa.mm: Added.
3137         (WebCore::Credential::Credential): Moved the constructor that takes an identity and
3138         certificates here.
3139         (WebCore::Credential::isEmpty): Moved here.
3140         (WebCore::Credential::identity): Ditto.
3141         (WebCore::Credential::certificates): Ditto.
3142         (WebCore::Credential::type): Ditto.
3143         (WebCore::Credential::platformCompare): Moved the code that compares client-certificate
3144         credentials here.
3145
3146         * platform/network/mac/AuthenticationMac.mm:
3147         (WebCore::mac): Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED guards in this Cocoa-only
3148         file.
3149         (WebCore::core): Ditto.
3150
3151 2014-07-29  Daniel Bates  <dabates@apple.com>
3152
3153         Use WTF::move() instead of std::move() to help ensure move semantics
3154         https://bugs.webkit.org/show_bug.cgi?id=135351
3155
3156         Reviewed by Alexey Proskuryakov.
3157
3158         * page/CaptionUserPreferences.cpp:
3159         (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
3160
3161 2014-07-29  Mihnea Ovidenie  <mihnea@adobe.com>
3162
3163         [CSSRegions] Assertion failure hit testing a region-based multicolumn in a region
3164         https://bugs.webkit.org/show_bug.cgi?id=135385
3165
3166         Reviewed by Andrei Bucur.
3167
3168         When a region-based multicolumn element is displayed and hit tested in a region,
3169         we have to disable the named flow region information not only for painting,
3170         but also for hit-testing. This is a follow-up for https://bugs.webkit.org/show_bug.cgi?id=132121,
3171         which provided the fix for painting.
3172
3173         Test: fast/regions/assert-hit-test-multicol-in-region.html
3174
3175         * rendering/RenderLayer.cpp:
3176         (WebCore::RenderLayer::hitTestLayer):
3177
3178 2014-07-29  Zalan Bujtas  <zalan@apple.com>
3179
3180         Cleanup RenderSelectionInfoBase/RenderSelectionInfo/RenderBlockSelectionInfo.
3181         https://bugs.webkit.org/show_bug.cgi?id=135326
3182
3183         Reviewed by Darin Adler.
3184
3185         1. Move implementation to RenderSelectInfo.cpp
3186         2. RenderSelectionInfoBase/RenderSelectionInfo/RenderBlockSelectionInfo take Render* reference.
3187         3. Remove unused functions.
3188         4. Add RenderSelectionInfoBase::repaintRectangle()
3189
3190         No change in behavior.
3191
3192         * WebCore.xcodeproj/project.pbxproj:
3193         * rendering/RenderSelectionInfo.cpp: Added.
3194         (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
3195         (WebCore::RenderSelectionInfoBase::repaintRectangle):
3196         (WebCore::RenderSelectionInfo::RenderSelectionInfo):
3197         (WebCore::RenderSelectionInfo::repaint):
3198         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
3199         (WebCore::RenderBlockSelectionInfo::repaint):
3200         * rendering/RenderSelectionInfo.h:
3201         (WebCore::RenderSelectionInfo::collectedSelectionRects):
3202         (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase): Deleted.
3203         (WebCore::RenderSelectionInfoBase::object): Deleted.
3204         (WebCore::RenderSelectionInfo::RenderSelectionInfo): Deleted.
3205         (WebCore::RenderSelectionInfo::repaint): Deleted.
3206         (WebCore::RenderSelectionInfo::rects): Deleted.
3207         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo): Deleted.
3208         (WebCore::RenderBlockSelectionInfo::repaint): Deleted.
3209         (WebCore::RenderBlockSelectionInfo::block): Deleted.
3210         * rendering/RenderView.cpp:
3211         (WebCore::RenderView::subtreeSelectionBounds):
3212         (WebCore::RenderView::repaintSubtreeSelection):
3213         (WebCore::RenderView::clearSubtreeSelection):
3214         (WebCore::RenderView::applySubtreeSelection):
3215
3216 2014-07-28  Pratik Solanki  <psolanki@apple.com>
3217
3218         Get SharedBuffer.h out of ResourceBuffer.h (and a few other places)
3219         https://bugs.webkit.org/show_bug.cgi?id=131782
3220
3221         Original patch by Tim Horton.
3222         Reviewed by Darin Adler.
3223
3224         No new tests because no functional changes.
3225
3226         * Modules/indexeddb/IDBCallbacks.h:
3227         * Modules/indexeddb/IDBCursorBackend.h:
3228         * loader/ios/DiskImageCacheIOS.h:
3229         Forward declare SharedBuffer in headers.
3230
3231         * Modules/indexeddb/IDBRequest.cpp:
3232         * loader/cache/CachedImage.cpp:
3233         * loader/icon/IconLoader.cpp:
3234         * loader/ios/DiskImageCacheIOS.mm:
3235         * loader/cache/MemoryCache.cpp:
3236         * loader/mac/ResourceBuffer.mm:
3237         Include SharedBuffer.h in implementation files.
3238
3239         * Modules/notifications/Notification.h:
3240         * loader/appcache/ApplicationCacheGroup.h:
3241         Remove unnecessary includes.
3242
3243         * loader/ResourceBuffer.cpp:
3244         (WebCore::ResourceBuffer::adoptSharedBuffer):
3245         * loader/ResourceBuffer.h:
3246         Out-of-line adoptSharedBuffer so that the PassRefPtr doesn't require including SharedBuffer.h.
3247
3248         * platform/graphics/opentype/OpenTypeMathData.cpp:
3249         * platform/graphics/opentype/OpenTypeMathData.h:
3250         Out-of-line destructor to avoid requiring SharedBuffer.h for the RefPtr.
3251         Forward-declare SharedBuffer in the header, include in implementation.
3252
3253 2014-07-29  Zan Dobersek  <zdobersek@igalia.com>
3254
3255         [TexMap] GraphicsLayerTextureMapper::addAnimation() box size parameter should be FloatSize
3256         https://bugs.webkit.org/show_bug.cgi?id=135237
3257
3258         Reviewed by Martin Robinson.
3259
3260         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3261         (WebCore::GraphicsLayerTextureMapper::addAnimation):
3262         * platform/graphics/texmap/GraphicsLayerTextureMapper.h: The boxSize parameter of the
3263         addAnimation() method must be of the same type as the parameter in the base class
3264         declaration -- a const FloatSize reference. Only then is the base virtual method
3265         actually overriden.
3266
3267 2014-07-28  Dan Bernstein  <mitz@apple.com>
3268
3269         iOS build fix.
3270
3271         * WebCore.exp.in:
3272
3273 2014-07-28  Dan Bernstein  <mitz@apple.com>
3274
3275         Introduced CredentialBase and made Credential derive from it
3276         Work towards fixing https://bugs.webkit.org/show_bug.cgi?id=135327
3277
3278         Reviewed by Darin Adler.
3279
3280         No change in functionality.
3281
3282         * CMakeLists.txt: Updated for source file rename.
3283
3284         * WebCore.exp.in: Changed to export CredentialBase symbols.
3285
3286         * WebCore.vcxproj/WebCore.vcxproj: Updated for source file rename and new header.
3287         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
3288
3289         * WebCore.xcodeproj/project.pbxproj: Ditto.
3290
3291         * platform/network/Credential.cpp: Renamed to CredentialBase.cpp.
3292
3293         * platform/network/Credential.h: Defined Credential to derive from CredentialBase.
3294
3295         * platform/network/CredentialBase.cpp: Renamed Credential.cpp to this. Updated for the new
3296         name.
3297
3298         * platform/network/CredentialBase.h: Copied from Credential.h, renamed the class to
3299         CredentialBase, and made the constructors protected.
3300
3301 2014-07-28  Zalan Bujtas  <zalan@apple.com>
3302
3303         REGRESSION(r164133): Selection disappears after scrolling on nytimes.com
3304         https://bugs.webkit.org/show_bug.cgi?id=135361
3305
3306         Reviewed by Ryosuke Niwa.
3307
3308         Ensure that when a RenderElement, part of the current selection is removed,
3309         we recalculate and update the selection soon after layout.
3310
3311         Test: fast/dynamic/selection-gets-cleared-when-part-of-it-gets-removed.html
3312
3313         * editing/FrameSelection.cpp:
3314         (WebCore::FrameSelection::setNeedsSelectionUpdate):
3315         (WebCore::FrameSelection::didLayout): didLayout name reflects its functionality better.
3316         (WebCore::FrameSelection::layoutDidChange): Deleted.
3317         * editing/FrameSelection.h: : move some functions to private.
3318         * page/FrameView.cpp:
3319         (WebCore::FrameView::performPostLayoutTasks):
3320         * rendering/RenderBlockFlow.cpp:
3321         (WebCore::RenderBlockFlow::willBeDestroyed):
3322         * rendering/RenderElement.cpp:
3323         (WebCore::RenderElement::removeChildInternal):
3324         * rendering/RenderInline.cpp:
3325         (WebCore::RenderInline::willBeDestroyed):
3326
3327 2014-07-28  Dean Jackson  <dino@apple.com>
3328
3329         [Media iOS] Touching play button feels unresponsive
3330         https://bugs.webkit.org/show_bug.cgi?id=135370
3331         <rdar://problem/17756281>
3332
3333         Reviewed by Simon Fraser.
3334
3335         Add an :active rule that shows a slightly darker button when touched.
3336
3337         * Modules/mediacontrols/mediaControlsiOS.css:
3338         (audio::-webkit-media-controls-start-playback-button:active):
3339
3340 2014-07-28  Brady Eidson  <beidson@apple.com>
3341
3342         REGRESSION(168376): Standalone images pasted to Outlook 2011 don't display
3343         <rdar://problem/17768371> and https://bugs.webkit.org/show_bug.cgi?id=135363
3344
3345         Reviewed by Tim Horton.
3346
3347         Outlook isn’t prepared to handle the resource load callbacks when sent synchronously.
3348
3349         r168376 was an optimization that we no longer need, so the simplest fix is to roll it out.
3350
3351         * editing/mac/EditorMac.mm:
3352         (WebCore::Editor::WebContentReader::readImage):
3353
3354         * loader/archive/ArchiveResource.cpp:
3355         (WebCore::ArchiveResource::ArchiveResource):
3356         * loader/archive/ArchiveResource.h:
3357         (WebCore::ArchiveResource::setShouldLoadImmediately): Deleted.
3358         (WebCore::ArchiveResource::shouldLoadImmediately): Deleted.
3359
3360         * loader/cache/CachedResourceLoader.cpp:
3361         (WebCore::CachedResourceLoader::requestResource):
3362
3363 2014-07-28  Mark Hahnenberg  <mhahnenberg@apple.com>
3364
3365         ASSERTION FAILED: m_heap->vm()->currentThreadIsHoldingAPILock()
3366         https://bugs.webkit.org/show_bug.cgi?id=135352
3367
3368         Reviewed by Oliver Hunt.
3369
3370         * Modules/plugins/QuickTimePluginReplacement.mm:
3371         (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): This should be taking a 
3372         JSLock like its sibling methods do (e.g. installReplacement).
3373
3374 2014-07-28  Antti Koivisto  <antti@apple.com>
3375
3376         <embed> videos flashes constantly while playing inline on iPad, making it unwatchable
3377         https://bugs.webkit.org/show_bug.cgi?id=135356
3378         <rdar://problem/16828238>
3379
3380         Reviewed by Simon Fraser.
3381         
3382         The shadow tree for media controls is scheduling style recalc. The general silliness of
3383         HTMLPlugInImageElement::willRecalcStyle/willDetachRenderers is turning those into render
3384         tree reconstructions causing flicker.
3385
3386         * html/HTMLPlugInImageElement.cpp:
3387         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
3388         
3389             Don't do the forced renderer reconstruction if there is no style change for the element
3390             or its ancestors. This way recalcs scheduled by the shadow tree don't trigger the widget
3391             update code path.
3392
3393 2014-07-27  Brent Fulgham  <bfulgham@apple.com>
3394
3395         [Mac, iOS] Paint-on closed captions get out-of-order in Safari
3396         https://bugs.webkit.org/show_bug.cgi?id=135332
3397         <rdar://problem/15317278>
3398
3399         Reviewed by Jer Noble.
3400
3401         * html/shadow/MediaControlElements.cpp:
3402         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): If the
3403         number of active cues is greater than the current set of CSS boxes representing
3404         the cues, throw away the CSS boxes and re-layout all the cues.
3405         * html/track/InbandGenericTextTrack.cpp:
3406         (WebCore::InbandGenericTextTrack::addGenericCue): Add some logging.
3407         (WebCore::InbandGenericTextTrack::removeGenericCue): Ditto.
3408         * html/track/TextTrackCueGeneric.cpp:
3409         (WebCore::TextTrackCueGeneric::isOrderedBefore): Revise ordering rules so that we put
3410         newer cues earlier in the layout order so they are drawn towards the bottom
3411         of the screen. Only do this for Generic captions.
3412         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3413         (WebCore::InbandTextTrackPrivateAVF::processAttributedStrings): Adjust logging
3414         messages.
3415         (WebCore::InbandTextTrackPrivateAVF::removeCompletedCues): Add logging.
3416
3417 2014-07-28  Andreas Kling  <akling@apple.com>
3418
3419         REGRESSION (r160806): CSS zoom property doesn't work on anything inside anchors.
3420         <https://webkit.org/b/135344>
3421         <rdar://problem/17759577>
3422
3423         When DeprecatedStyleBuilder applies the CSS zoom property (ApplyPropertyZoom)
3424         it first resets the "effective zoom" by calling RenderStyle::setEffectiveZoom().
3425
3426         This mechanism was not resistent to being called multiple times, due to the
3427         optimization in RenderStyle::setZoom() to avoid copy-on-writing the shared data
3428         when setting some property to the already-set value.
3429
3430         The bug would happen in this sequence:
3431
3432         ApplyPropertyZoom:
3433             - setEffectiveZoom(1);
3434             - setZoom(2); // this updates the effective zoom
3435         ApplyPropertyZoom:
3436             - setEffectiveZoom(1);
3437             - setZoom(2); // this doesn't update the effective zoom
3438
3439         When we run the second setZoom(2); call, the RenderStyle's zoom value is 2
3440         already and we'll early return without updating the effective zoom.
3441
3442         This change moves the updating of the effective zoom in setZoom() to take place
3443         before the early return due to overwriting with the same value.
3444
3445         Note: the fact that we're apply the zoom property twice is an inefficiency that
3446         we should figure out a way to avoid in the future.
3447
3448         Reviewed by Simon Fraser.
3449
3450         Test: fast/css/zoom-inside-link.html
3451
3452         * rendering/style/RenderStyle.h:
3453         (WebCore::RenderStyle::setZoom):
3454
3455 2014-07-28  Bear Travis  <betravis@adobe.com>
3456
3457         [CSS Font Loading] Update Font Loading Code
3458         https://bugs.webkit.org/show_bug.cgi?id=135340
3459
3460         Reviewed by Antti Koivisto.
3461
3462         Update the Font Loading code to build again, as trunk has evolved
3463         since the feature was originally written. Mostly, this requires
3464         updating the code to work with the new Font representation.
3465
3466         The original tests were enabled only for the Chromium port.
3467         They will need to be updated when the feature is enabled by default.
3468
3469         * WebCore.xcodeproj/project.pbxproj: Add missing files.
3470         * css/FontLoader.cpp: Update to new Font representation.
3471         (WebCore::LoadFontCallback::createFromParams):
3472         (WebCore::LoadFontCallback::~LoadFontCallback):
3473         (WebCore::FontLoader::loadFont):
3474         (WebCore::FontLoader::checkFont):
3475         (WebCore::applyPropertyToCurrentStyle):
3476         (WebCore::FontLoader::resolveFontStyle):
3477
3478 2014-07-28  Wenson Hsieh  <wenson_hsieh@apple.com>
3479
3480         Let WheelEvent wrap a PlatformWheelEvent
3481         https://bugs.webkit.org/show_bug.cgi?id=135244
3482
3483         WheelEvent now wraps a PlatformWheelEvent. m_directionInvertedFromDevice, as well as m_phase and m_momentumPhase
3484         have been removed, since the information is redundant in PlatformWheelEvent. Note that deltaX and deltaY have
3485         NOT been replaced, since we need double precision instead of float precision.
3486
3487         Reviewed by Beth Dakin.
3488
3489         No new tests, since behavior should not have changed.
3490
3491         * dom/WheelEvent.cpp:
3492         (WebCore::WheelEvent::WheelEvent):
3493         (WebCore::WheelEvent::initWheelEvent):
3494         * dom/WheelEvent.h:
3495         (WebCore::WheelEvent::wheelEvent): Returns a non-null pointer to the PlatformWheelEvent iff WheelEvent was initialized by PlatformWheelEvent.
3496         (WebCore::WheelEvent::webkitDirectionInvertedFromDevice): Updated to use PlatformWheelEvent.
3497         (WebCore::WheelEvent::phase): Updated to use PlatformWheelEvent.
3498         (WebCore::WheelEvent::momentumPhase): Updated to use PlatformWheelEvent.
3499
3500 2014-07-28  Brent Fulgham  <bfulgham@apple.com>
3501
3502         Unreviewed 'merge' fix.
3503
3504         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3505         Correct line endings to allow EWS merges again.
3506
3507 2014-07-28  Zoltan Horvath  <zoltan@webkit.org>
3508
3509         [CSS3-Text] Adjust text-justify implementation to the latest spec
3510         https://bugs.webkit.org/show_bug.cgi?id=135317
3511
3512         Reviewed by Darin Adler.
3513
3514         Text-justify no longer accepts the following values: Inter-ideograph, inter-
3515         cluster, and kashida. This patch removes them and updates the tests as well.
3516
3517         [1] http://dev.w3.org/csswg/css-text-3/#propdef-text-justify
3518
3519         Updated existing tests.
3520
3521         * css/CSSParser.cpp:
3522         (WebCore::isValidKeywordPropertyAndValue):
3523         * css/CSSPrimitiveValueMappings.h:
3524         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3525         (WebCore::CSSPrimitiveValue::operator TextJustify):
3526         * css/CSSValueKeywords.in:
3527         * rendering/style/RenderStyle.cpp:
3528         (WebCore::RenderStyle::changeRequiresLayout):
3529         * rendering/style/RenderStyleConstants.h:
3530         * rendering/style/StyleRareInheritedData.h:
3531
3532 2014-07-28  Radu Stavila  <stavila@adobe.com>
3533
3534         REGRESSION (r169105): Crash in selection
3535         https://bugs.webkit.org/show_bug.cgi?id=134303
3536
3537         Reviewed by Mihnea Ovidenie.
3538
3539         When splitting the selection between different subtrees, all subtrees must have their selection cleared before
3540         starting to apply the new selection. Otherwise, when selecting objects in a named flow thread and going up
3541         its containing block chain, we can end up in the view's selection root, which has not yet been updated and so
3542         we get inconsistent data.
3543
3544         To achieve this goal, the selection update was split into a "clear" and an "apply" method. The updateSelectionForSubtrees
3545         method first iterates through all subtrees and performs the "clear" method and then starts all over again
3546         and performs the "apply" method.
3547
3548         Test: fast/regions/selection/crash-deselect.html
3549
3550         * WebCore.xcodeproj/project.pbxproj:
3551         * rendering/RenderSelectionInfo.h:
3552         * rendering/RenderView.cpp:
3553         (WebCore::RenderView::setSelection):
3554         (WebCore::RenderView::splitSelectionBetweenSubtrees):
3555         (WebCore::RenderView::updateSelectionForSubtrees): Added, clears and re-applies selection for all selection subtrees.
3556         (WebCore::RenderView::clearSubtreeSelection): Added, clears selection and returns previously selected information.
3557         (WebCore::RenderView::applySubtreeSelection): Added, updates the selection status of all objects inside the selection tree, compares old and new data and repaints accordingly.
3558         (WebCore::RenderView::setSubtreeSelection): Deleted.
3559         * rendering/RenderView.h:
3560         * rendering/SelectionSubtreeRoot.cpp:
3561         (WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot):
3562         * rendering/SelectionSubtreeRoot.h:
3563         (WebCore::SelectionSubtreeRoot::OldSelectionData::OldSelectionData):
3564
3565 2014-07-28  Yusuke Suzuki  <utatane.tea@gmail.com>
3566
3567         CSS: Fix :visited behavior for SubSelectors
3568         https://bugs.webkit.org/show_bug.cgi?id=135324
3569
3570         Reviewed by Benjamin Poulain.
3571
3572         Disable :visited match for the selectors that has SubSelectors.
3573
3574         Tests: fast/history/nested-visited-test-complex.html
3575                fast/history/sibling-visited-test-complex.html
3576
3577         * css/SelectorChecker.cpp:
3578         (WebCore::SelectorChecker::matchRecursively):
3579
3580 2014-07-27  Ryuan Choi  <ryuan.choi@samsung.com>
3581
3582         Remove GraphicsSurfaceGLX.cpp
3583         https://bugs.webkit.org/show_bug.cgi?id=135279
3584
3585         Reviewed by Darin Adler.
3586
3587         GraphicsSurfaceGLX.cpp is not used since Qt dropped and Efl port changed at r146458
3588
3589         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp: Removed.
3590
3591 2014-07-27  Bruno de Oliveira Abinader  <bruno.d@partner.samsung.com>
3592
3593         Support for :enabled selector on Anchor & Area elements
3594         https://bugs.webkit.org/show_bug.cgi?id=134826
3595
3596         Reviewed by Darin Adler.
3597
3598         Updates the PseudoClassEnabled selector checker to check for Anchor & Area
3599         elements with a 'href' attribute.
3600
3601         Spec: http://html.spec.whatwg.org/#selector-enabled
3602
3603         Test: fast/css/css-selector-enabled-links.html
3604
3605         * css/SelectorCheckerTestFunctions.h:
3606         (WebCore::isEnabled): Added check for anchor & area elements.
3607
3608 2014-07-27  Daniel Bates  <dabates@apple.com>
3609
3610         [WK2] Crash when accessing window.localStorage after calling window.close()
3611         https://bugs.webkit.org/show_bug.cgi?id=135328
3612         <rdar://problem/17315237>
3613
3614         Reviewed by Sam Weinig.
3615
3616         Fixes an issue where accessing local storage for the first time after calling window.close()
3617         causes a crash.
3618
3619         For now, we should disallow accessing local storage after calling window.close() regardless of
3620         whether it's the first access to local storage as this seems like a bad idiom to support. Note,
3621         this represents a change in behavior from WebKit1. If such usage of window.localStorage turns
3622         out to be reasonable then we can visit this decision again in <https://bugs.webkit.org/show_bug.cgi?id=135330>.
3623
3624         Tests: storage/domstorage/localstorage/access-storage-after-window-close.html
3625                storage/domstorage/localstorage/access-storage-then-set-value-in-storage-after-window-close.html
3626                storage/domstorage/localstorage/set-value-in-storage-after-window-close.html
3627
3628         * page/DOMWindow.cpp:
3629         (WebCore::DOMWindow::localStorage): Modified to only return the cached local storage or
3630         create a new local storage so long as the page isn't being closed. Also, substitute nullptr
3631         for 0.
3632         (WebCore::DOMWindow::close): Call Page::setIsClosing() to mark that the page is closing.
3633         * page/Page.cpp:
3634         (WebCore::Page::Page): Initialize m_isClosing to false.
3635         * page/Page.h:
3636         (WebCore::Page::setIsClosing): Added.
3637         (WebCore::Page::isClosing): Added.
3638
3639 2014-07-27  Filip Pizlo  <fpizlo@apple.com>
3640
3641         Merge r170090, r170092, r170129, r170141, r170161, r170215, r170275, r170375, r170376, r170382, r170383, r170399, r170436, r170489, r170490, r170556 from ftlopt.
3642         
3643         This fixes the previous mismerge and adds test coverage for the thing that went wrong.
3644         Also, this adds some helpers for making it easier to inspect JavaScript values.
3645
3646         * testing/Internals.cpp:
3647         (WebCore::Internals::description):
3648         * testing/Internals.h:
3649         * testing/Internals.idl:
3650
3651     2014-07-25  Mark Lam  <mark.lam@apple.com>
3652     
3653             [ftlopt] Renamed DebuggerActivation to DebuggerScope.
3654             <https://webkit.org/b/134273>
3655     
3656             Reviewed by Michael Saboff.
3657     
3658             No new tests.
3659     
3660             * ForwardingHeaders/debugger/DebuggerActivation.h: Removed.
3661             - Removed because this is not used.
3662     
3663 2014-07-26  Brian J. Burg  <burg@cs.washington.edu>
3664
3665         Web Replay: log and enforce session/segment state machine transitions
3666         https://bugs.webkit.org/show_bug.cgi?id=135224
3667
3668         Reviewed by Timothy Hatcher.
3669
3670         For debugging purposes, log session and segment state transitions.
3671         Assert that segment state transitions are valid.
3672
3673         No new tests. No behavior was changed.
3674
3675         * replay/ReplayController.cpp:
3676         (WebCore::logDispatchedDOMEvent):
3677         (WebCore::sessionStateToString):
3678         (WebCore::segmentStateToString):
3679         (WebCore::ReplayController::setSessionState):
3680         (WebCore::ReplayController::setSegmentState):
3681         (WebCore::ReplayController::createSegment):
3682         (WebCore::ReplayController::completeSegment): Remove a wrong state transition.
3683         (WebCore::ReplayController::loadSegmentAtIndex):
3684         (WebCore::ReplayController::unloadSegment): Fix a now-erroneous assertion.
3685         (WebCore::ReplayController::startPlayback):
3686         (WebCore::ReplayController::pausePlayback):
3687         (WebCore::ReplayController::willDispatchEvent):
3688         (WebCore::ReplayController::cancelPlayback):
3689         * replay/ReplayController.h:
3690
3691 2014-07-26  Filip Pizlo  <fpizlo@apple.com>
3692
3693         Unreviewed, roll out r171641-r171644. It broke some tests; will investigate and
3694         reland later.
3695
3696         * ForwardingHeaders/debugger/DebuggerActivation.h: Added.
3697
3698 2014-07-26  Timothy Horton  <timothy_horton@apple.com>
3699
3700         Crash in Web Content Process under ~PDFDocument under clearTouchEventListeners at topDocument()
3701         https://bugs.webkit.org/show_bug.cgi?id=135319
3702         <rdar://problem/17315168>
3703
3704         Reviewed by Darin Adler and Antti Koivisto.
3705
3706         * dom/Document.h:
3707         * dom/Document.cpp:
3708         (WebCore::Document::Document):
3709         (WebCore::Document::prepareForDestruction):
3710         Add a flag on Document, m_hasPreparedForDestruction, which ensures
3711         that each Document only goes through prepareForDestruction() once.
3712         prepareForDestruction() can be called a number of times during teardown,
3713         but it's only necessary to actually execute it once.
3714         
3715         This was previously achieved by virtue of all callers of prepareForDestruction()
3716         first checking hasLivingRenderTree, and prepareForDestruction() tearing down
3717         the render tree, but that meant that prepareForDestruction() was not called
3718         for Documents who never had a render tree in the first place.
3719
3720         The only part of prepareForDestruction() that is now predicated on hasLivingRenderTree()
3721         is the call to destroyRenderTree(); the rest of the function has the potential to be relevant
3722         for non-rendered placeholder documents and can safely deal with them in other ways.
3723
3724         It is important to call prepareForDestruction() on non-rendered placeholder documents
3725         because some of the cleanup (like disconnectFromFrame()) is critical to safe destruction.
3726
3727         * loader/FrameLoader.cpp:
3728         (WebCore::FrameLoader::clear):
3729         Call prepareForDestruction() even if we don't have a living render tree.
3730         For the sake of minimizing change, removeFocusedNodeOfSubtree still
3731         depends on having a living render tree before calling prepareForDestruction().
3732
3733         * page/Frame.cpp:
3734         (WebCore::Frame::setView):
3735         (WebCore::Frame::setDocument):
3736         Call prepareForDestruction() even if we don't have a living render tree.
3737
3738 2014-07-25  Filip Pizlo  <fpizlo@apple.com>
3739
3740         Merge r170090, r170092, r170129, r170141, r170161, r170215, r170275, r170375, r170376, r170382, r170383, r170399, r170436, r170489, r170490, r170556 from ftlopt.
3741
3742     2014-07-25  Mark Lam  <mark.lam@apple.com>
3743     
3744             [ftlopt] Renamed DebuggerActivation to DebuggerScope.
3745             <https://webkit.org/b/134273>
3746     
3747             Reviewed by Michael Saboff.
3748     
3749             No new tests.
3750     
3751             * ForwardingHeaders/debugger/DebuggerActivation.h: Removed.
3752             - Removed because this is not used.
3753     
3754 2014-07-25  Zalan Bujtas  <zalan@apple.com>
3755
3756         Subpixel rendering: Rounded rect gets non-renderable at certain subpixel size.
3757         https://bugs.webkit.org/show_bug.cgi?id=135314
3758         <rdar://problem/17812921>
3759
3760         Reviewed by Tim Horton.
3761
3762         While calculating the rounded rect for painting, the radius is adjusted to compensate
3763         for the pixel snapped size. However while scaling the radius, certain values overflow
3764         (float) mantissa and it produces a non-renderable rounded rect where the radius becomes bigger
3765         than the rectangle dimensions. In such cases, we need to shrink the radius to make it
3766         renderable again.
3767
3768         Test: transitions/rounded-rect-becomes-non-renderable-while-transitioning.html
3769
3770         * platform/graphics/RoundedRect.cpp:
3771         (WebCore::RoundedRect::pixelSnappedRoundedRectForPainting): shrink the radius by
3772         one device pixel. It is as good as any other small value.
3773
3774 2014-07-25  Jer Noble  <jer.noble@apple.com>
3775
3776         [EME][Mac] CDM error messages not piped through to MediaKeySession correctly; clients don't receive error events
3777         https://bugs.webkit.org/show_bug.cgi?id=135312
3778         <rdar://problem/17817223>
3779
3780         Reviewed by Brent Fulgham.
3781
3782         Set (and clear) the client interface so that errors can be piped from the CDMSession up to the MediaKeySession.
3783
3784         * Modules/encryptedmedia/MediaKeySession.cpp:
3785         (WebCore::MediaKeySession::MediaKeySession):
3786         (WebCore::MediaKeySession::close):
3787
3788 2014-07-25  Jer Noble  <jer.noble@apple.com>
3789
3790         [MSE] Playback stalls & readyState drops to HAVE_CURRENT_DATA at end of stream with unbalanced buffered SourceBuffers
3791         https://bugs.webkit.org/show_bug.cgi?id=135291
3792         <rdar://problem/17715503>
3793
3794         Reviewed by Sam Weinig.
3795
3796         Test: media/media-source/media-source-end-of-stream-buffered.html
3797
3798         When determining the correct ReadyState for the MediaSource in monitorSourceBuffers(), use the same
3799         definition of "buffered" as is used in the calculation of HTMLMediaElement.buffered and in the
3800         Stream Ended algorithm. Namely, when the stream has ended, treat each SourceBuffer as if its last
3801         buffered range extends to the duration of the stream. This allows playback to continue through to
3802         the duration without stalling due to monitorSourceBuffers().
3803
3804         * Modules/mediasource/SourceBuffer.cpp:
3805         (WebCore::SourceBuffer::bufferedAccountingForEndOfStream): Added; extends the last range in buffered
3806             to MediaSource::duration() if the MediaSource is ended.
3807         (WebCore::SourceBuffer::hasCurrentTime): Uses bufferedAccountingForEndOfStream().
3808         (WebCore::SourceBuffer::hasFutureTime): Ditto.
3809         (WebCore::SourceBuffer::canPlayThrough): Ditto.
3810         * Modules/mediasource/SourceBuffer.h:
3811
3812         Add a convenience method for determining whether the MediaSource has ended:
3813         * Modules/mediasource/MediaSource.cpp:
3814         (WebCore::MediaSource::isEnded):
3815         * Modules/mediasource/MediaSource.h:
3816
3817         Add start() and end() methods that don't take a (usually ignored) isValid inout parameter. Add duration()
3818         and maximumBufferedTime() convenience methods:
3819         * platform/graphics/PlatformTimeRanges.cpp:
3820         (WebCore::PlatformTimeRanges::start):
3821         (WebCore::PlatformTimeRanges::end):
3822         (WebCore::PlatformTimeRanges::duration):
3823         (WebCore::PlatformTimeRanges::maximumBufferedTime):
3824         * platform/graphics/PlatformTimeRanges.h:
3825
3826 2014-07-25  Pratik Solanki  <psolanki@apple.com>
3827
3828         [iOS] REGRESSION(r171526): Images fail to load sometimes
3829         https://bugs.webkit.org/show_bug.cgi?id=135304
3830         <rdar://problem/17811922>
3831
3832         Reviewed by Alexey Proskuryakov.
3833
3834         SharedBuffer::createCFData() calls data() as a way to coalesce the data array elements and
3835         segments into m_buffer. However, data() has an optimization where if we had a single element
3836         in the data array, it would just return that and not do coalescing. So when we passed
3837         m_buffer to WebCoreSharedData, we passed a buffer with no data in it.
3838
3839         Fix this by bringing the optimization to createCFData() and return the CFDataRef from the
3840         data array if we just have a single element.
3841
3842         No new tests. Should be covered by existing tests.
3843
3844         * platform/mac/SharedBufferMac.mm:
3845         (WebCore::SharedBuffer::createCFData):
3846
3847 2014-07-25  Jer Noble  <jer.noble@apple.com>
3848
3849         [MSE] High CPU usage in SampleMap::findSamplesWithinPresentationRange() with a large number of buffered samples.
3850         https://bugs.webkit.org/show_bug.cgi?id=135247
3851
3852         Reviewed by Geoffrey Garen.
3853
3854         Anchor our search for overlapping frames to the end of the search range when the overlap range is sufficiently
3855         close to the end of the search range. The common case for this search is when a sample is about to be appended
3856         to the end of the sample queue, so this should turn most searches into no-ops.
3857
3858         * Modules/mediasource/SampleMap.cpp:
3859         (WebCore::PresentationOrderSampleMap::findSamplesWithinPresentationRangeFromEnd):
3860         * Modules/mediasource/SampleMap.h:
3861         * Modules/mediasource/SourceBuffer.cpp:
3862         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
3863
3864 2014-07-25  Gavin Barraclough  <baraclough@apple.com>
3865
3866         Yosemite version number is 101000
3867         https://bugs.webkit.org/show_bug.cgi?id=135301
3868
3869         Reviewed by Sam Weinig.
3870
3871         * WebCore.exp.in:
3872         * platform/ContentFilter.h:
3873         * platform/mac/ScrollViewMac.mm:
3874         (WebCore::ScrollView::platformVisibleContentRect):
3875         * platform/mac/ThemeMac.mm:
3876         (WebCore::updateStates):
3877         (WebCore::paintToggleButton):
3878         * platform/network/cf/CookieJarCFNet.cpp:
3879         (WebCore::copyCookiesForURLWithFirstPartyURL):
3880         * platform/network/cf/ResourceRequest.h:
3881         (WebCore::ResourceRequest::resourcePrioritiesEnabled):
3882         * rendering/RenderThemeMac.mm:
3883         (WebCore::RenderThemeMac::search):
3884
3885 2014-07-25  David Hyatt  <hyatt@apple.com>
3886
3887         [New Multicolumn] RenderViews paginated as RL or LR don't handle percentage widths correctly.
3888         REGRESSION: Images don’t scale to fit in page in vertical text books
3889
3890         https://bugs.webkit.org/show_bug.cgi?id=135204
3891         <rdar://problem/17043792>
3892         
3893         Reviewed by Simon Fraser.
3894
3895         Added fast/multicol/pagination/RightToLeft-max-width.html
3896
3897         * rendering/RenderView.cpp:
3898         (WebCore::RenderView::availableLogicalHeight):
3899         Put back in the same code that used to exist for the old columns (but ported to the new
3900         columns).
3901     
3902 2014-07-25  Dan Bernstein  <mitz@apple.com>
3903
3904         [Mac] Unneeded MobileMe workaround in ResourceHandle::receivedCredential
3905         https://bugs.webkit.org/show_bug.cgi?id=135297
3906
3907         Reviewed by Alexey Proskuryakov.
3908
3909         * platform/network/mac/ResourceHandleMac.mm:
3910         (WebCore::ResourceHandle::receivedCredential): Removed the site-specific behavior for
3911         gallery.me.com.
3912
3913 2014-07-25  Commit Queue  <commit-queue@webkit.org>
3914
3915         Unreviewed, rolling out r171480.
3916         https://bugs.webkit.org/show_bug.cgi?id=135300
3917
3918         it broke replaced elements in pagination (Requested by dhyatt_
3919         on #webkit).
3920
3921         Reverted changeset:
3922
3923         "Ensure we compute the min and max height of replaced elements
3924         to 'none' or 0 when appropriate."
3925         https://bugs.webkit.org/show_bug.cgi?id=135181
3926         http://trac.webkit.org/changeset/171480
3927
3928 2014-07-25  Commit Queue  <commit-queue@webkit.org>
3929
3930         Unreviewed, rolling out r171587.
3931         https://bugs.webkit.org/show_bug.cgi?id=135294
3932
3933         Made fast/dom/HTMLObjectElement/beforeload-set-text-
3934         crash.xhtml crash again (Requested by ap on #webkit).
3935
3936         Reverted changeset:
3937
3938         "REGRESSION (r169105): Crash in selection"
3939         https://bugs.webkit.org/show_bug.cgi?id=134303
3940         http://trac.webkit.org/changeset/171587
3941
3942 2014-07-25  Dan Bernstein  <mitz@apple.com>
3943
3944         ResourceErrorBase::compare doesn’t call the right platformCompare override
3945         https://bugs.webkit.org/show_bug.cgi?id=135240
3946
3947         Reviewed by Alexey Proskuryakov.
3948
3949         * platform/network/ResourceErrorBase.cpp:
3950         (WebCore::ResourceErrorBase::compare): Changed to call ResourceError::platformCompare.
3951         * platform/network/cf/ResourceError.h: Made platformCompare public.
3952         * platform/network/soup/ResourceError.h: Ditto.
3953
3954 2014-07-25  Dan Bernstein  <mitz@apple.com>
3955
3956         [Cocoa] WebProtectionSpace::receivesCredentialSecurely incorrectly returns false in some cases
3957         https://bugs.webkit.org/show_bug.cgi?id=135241
3958
3959         Reviewed by Alexey Proskuryakov.
3960
3961         * WebCore.exp.in: Export ProtectionSpace::receivesCredentialSecurely.
3962
3963         * platform/network/cocoa/ProtectionSpaceCocoa.h: Declare override of receivesCredentialSecurely.
3964         * platform/network/cocoa/ProtectionSpaceCocoa.mm:
3965         (WebCore::ProtectionSpace::receivesCredentialSecurely): Use -[NSURLProtectionSpace receivesCredentialSecurely].
3966
3967 2014-07-25  Zalan Bujtas  <zalan@apple.com>
3968
3969         Subpixel rendering: iOS video playback controls look blurry.
3970         https://bugs.webkit.org/show_bug.cgi?id=135245
3971         <rdar://problem/16878037>
3972
3973         Reviewed by Simon Fraser.
3974
3975         This patch introduces a compositing parent of the overlay control panel so that
3976         the transformed overlay panel becomes sharp. This is a workaround for webkit.org/b/135246.
3977
3978         Can't find a way to test it yet.
3979
3980         * Modules/mediacontrols/mediaControlsApple.css:
3981         (video::-webkit-media-controls-panel-composited-parent):
3982         * Modules/mediacontrols/mediaControlsApple.js:
3983         (Controller.prototype.createControls):
3984         (Controller.prototype.addControls):
3985         * Modules/mediacontrols/mediaControlsiOS.css:
3986         (video::-webkit-media-controls-panel-composited-parent):
3987         * Modules/mediacontrols/mediaControlsiOS.js: This is a workaround for webkit.org/b/135248
3988         It pushes the overlay panel down to close the gap with the video element. Since the
3989         panel's size in css pixels is scale dependent, the gap needs to be scale dependent too.
3990         (ControllerIOS.prototype.set pageScaleFactor):
3991
3992 2014-07-24  Dirk Schulze  <krit@webkit.org>
3993
3994         Turn x/y to presentation attributes
3995         https://bugs.webkit.org/show_bug.cgi?id=135215
3996
3997         Reviewed by Dean Jackson.
3998
3999         This follows the patch for width and height presentation attributes and
4000         turns x and y to presentation attributes as well:
4001
4002         http://trac.webkit.org/changeset/171341
4003
4004         Tests: svg/css/parse-length.html
4005                transitions/svg-layout-transition.html
4006
4007         Added copyright where I forgot it in previous patch.
4008
4009         * css/CSSComputedStyleDeclaration.cpp: Computed style of x and y.
4010         (WebCore::ComputedStyleExtractor::propertyValue):
4011         * css/CSSParser.cpp:
4012         (WebCore::isSimpleLengthPropertyID): Add x and y to list.