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