4824a7181a212706db6a6824a1b2904713daa41e
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-09-12  Vivek Galatage  <vivek.vg@samsung.com>
2
3         CanvasRenderingContext2D should update the computed style while setting the font
4         https://bugs.webkit.org/show_bug.cgi?id=136737
5
6         Reviewed by Darin Adler.
7
8         Before accessing the computed style for populating 'font' property of CanvasRenderingContext2D
9         make sure to have an up-to-date computed style avoiding any stale reference.
10
11         Test: fast/canvas/canvas-set-font-with-updated-style.html
12
13         * html/canvas/CanvasRenderingContext2D.cpp:
14         (WebCore::CanvasRenderingContext2D::setFont):
15
16 2014-09-12  Yusuke Suzuki  <utatane.tea@gmail.com>
17
18         CSS JIT: Apply CSS JIT to SelectorQuery with multiple selectors
19         https://bugs.webkit.org/show_bug.cgi?id=135255
20
21         Reviewed by Benjamin Poulain.
22
23         After dropping SelectorCheckerFastPath, Dromaeo cssquery-jquery test
24         result becomes significantly worse. 400.26/s to 348.16/s, 13%
25         performance regression.
26
27         Investigated the cause of it and we found that the test results for
28         querySelector with multiple selectors causes performance regressions.
29
30         To solve this, we attempt to JIT compile all selectors in multiple
31         selectors. And if compiling some selectors is failed, SelectorQuery
32         fallbacks to the slower implementation.
33
34         This change improves the performance. After applying this patch,
35         cssquery-jquery test result becomes 418.71/s, 4.61% better than the
36         previous good performance case.
37
38         Test: fast/selectors/querySelector-multiple-selectors.html
39
40         * dom/SelectorQuery.cpp:
41         (WebCore::SelectorDataList::SelectorDataList):
42         (WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData):
43         (WebCore::SelectorDataList::execute):
44         * dom/SelectorQuery.h:
45
46 2014-09-12  Jer Noble  <jer.noble@apple.com>
47
48         [Fullscreen] Taking embedded youtube video full screen takes the whole page full screen
49         https://bugs.webkit.org/show_bug.cgi?id=136792
50
51         Reviewed by Beth Dakin.
52
53         Recalculate style after beginning the enter fullscreen animation, but before sending the
54         "webkitfullscreenchange" event to listeners.
55
56         * dom/Document.cpp:
57         (WebCore::Document::webkitWillEnterFullScreenForElement):
58
59 2014-09-12  Commit Queue  <commit-queue@webkit.org>
60
61         Unreviewed, rolling out r173575.
62         https://bugs.webkit.org/show_bug.cgi?id=136790
63
64         Failing tests (Requested by enrica on #webkit).
65
66         Reverted changeset:
67
68         "Remove PLATFORM(IOS) from WebCore/editing (Part 3)."
69         https://bugs.webkit.org/show_bug.cgi?id=136474
70         http://trac.webkit.org/changeset/173575
71
72 2014-09-12  Enrica Casucci  <enrica@apple.com>
73
74         Remove PLATFORM(IOS) from WebCore/editing (Part 3).
75         https://bugs.webkit.org/show_bug.cgi?id=136474
76
77         Reviewed by Benjamin Poulain.
78
79         This is the updated version of the patch that was landed in r173340.
80         I changed the use of IntPoint to FloatPoint since it was causing tests
81         to fail.
82         This patch removes the use of PLATFORM(IOS) from TextAffinity.h
83         and removes the assumption that EAffinity values match NSSelectionAffinity
84         values. It also removes the includes in TextAffinity.h, creating the need to
85         include explicitly the files when necessary. It also removes the unnecessary
86         use of platform specific types, replacing them with WebCore types.
87
88         * WebCore.exp.in:
89         * editing/TextAffinity.h:
90         (kit): Deleted.
91         (core): Deleted.
92         * editing/cocoa/HTMLConverter.mm:
93         * page/mac/WebCoreFrameView.h:
94         * platform/ios/ScrollViewIOS.mm:
95         (WebCore::ScrollView::platformSetScrollPosition):
96         * platform/ios/wak/WAKScrollView.mm:
97         (-[WAKScrollView setScrollOrigin:updatePositionAtAll:immediately:]):
98         (-[WAKScrollView scrollOrigin]):
99         * platform/mac/ScrollViewMac.mm:
100         (WebCore::ScrollView::platformSetScrollPosition):
101
102 2014-09-12  Dean Jackson  <dino@apple.com>
103
104         Unprefix the flexbox CSS properties
105         https://bugs.webkit.org/show_bug.cgi?id=98420
106
107         Unreviewed fix up, that missed the original
108         commit. Tony Chang made some comments
109         on the bugzilla.
110
111         "justify-self" should not have been unprefixed.
112
113         * css/CSSComputedStyleDeclaration.cpp:
114         (WebCore::ComputedStyleExtractor::propertyValue):
115         * css/CSSParser.cpp:
116         (WebCore::isValidKeywordPropertyAndValue):
117         (WebCore::CSSParser::parseValue):
118         * css/CSSPropertyNames.in:
119         * css/StyleResolver.cpp:
120         (WebCore::StyleResolver::applyProperty):
121
122 2014-09-12  Dean Jackson  <dino@apple.com>
123
124         Unprefix the flexbox CSS properties
125         https://bugs.webkit.org/show_bug.cgi?id=98420
126
127         Reviewed by Benjamin Poulain.
128
129         Remove the need for a "-webkit-" prefix on flexbox
130         and related properties. This includes:
131         - align-content
132         - align-items
133         - align-self
134         - flex-basis
135         - flex-direction
136         - flex-wrap
137         - flex-grow
138         - flex-shrink
139         - flex
140         - flex-flow
141         - justify-content
142         - order
143
144         ... as well as the display keyword values "flex" and
145         "inline-flex".
146
147         * css/CSSComputedStyleDeclaration.cpp:  Change names.
148         (WebCore::ComputedStyleExtractor::propertyValue):
149         * css/CSSParser.cpp: Ditto.
150         (WebCore::isValidKeywordPropertyAndValue):
151         (WebCore::isKeywordPropertyID):
152         (WebCore::CSSParser::parseValue):
153         (WebCore::CSSParser::parseFlex):
154         * css/CSSPrimitiveValueMappings.h: Since we need to still handle the old
155         keywords for display, this has added two new keywords.
156         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
157         (WebCore::CSSPrimitiveValue::operator EDisplay): If the older keywords were used in
158         content, map them to the new value names.
159         * css/CSSPropertyNames.in: Add aliases for the prefixed properties.
160         * css/CSSValueKeywords.in: Add "flex" and "inline-flex".
161         * css/DeprecatedStyleBuilder.cpp: Change names.
162         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
163         * css/StyleProperties.cpp: Change names.
164         (WebCore::StyleProperties::getPropertyValue):
165         (WebCore::StyleProperties::asText):
166         * css/StylePropertyShorthand.cpp: Rename shorthand methods to remove the prefix.
167         (WebCore::flexFlowShorthand):
168         (WebCore::flexShorthand):
169         (WebCore::shorthandForProperty):
170         (WebCore::matchingShorthandsForLonghand):
171         (WebCore::webkitFlexFlowShorthand): Deleted.
172         (WebCore::webkitFlexShorthand): Deleted.
173         * css/StylePropertyShorthand.h:
174         * css/StyleResolver.cpp:
175         (WebCore::equivalentBlockDisplay):
176         (WebCore::StyleResolver::applyProperty):
177         * page/animation/CSSPropertyAnimation.cpp: Change names.
178         (WebCore::PropertyWrapperFlex::PropertyWrapperFlex):
179         * rendering/RenderElement.cpp:
180         (WebCore::RenderElement::createFor): Handle the two new display values (the same way as
181         the old values).
182         * rendering/style/RenderStyleConstants.h: Add constants for the new display values.
183
184 2014-09-12  Yusuke Suzuki  <utatane.tea@gmail.com>
185
186         ASSERTION FAILED: e in WebCore::StyleResolver::adjustRenderStyle
187         https://bugs.webkit.org/show_bug.cgi?id=136366
188
189         Reviewed by Benjamin Poulain.
190
191         Since element becomes nullptr when resolving styles for pseudo elements,
192         so don't do `ASSERT(e)` and use pointer for that.
193
194         Test: fast/css/appearance-with-pseudo-elements.html
195
196         * css/StyleResolver.cpp:
197         (WebCore::StyleResolver::adjustRenderStyle):
198         * html/shadow/SliderThumbElement.cpp:
199         (WebCore::RenderSliderThumb::updateAppearance):
200         * platform/efl/RenderThemeEfl.cpp:
201         (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
202         (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
203         (WebCore::RenderThemeEfl::adjustSliderThumbSize):
204         (WebCore::RenderThemeEfl::adjustCheckboxStyle):
205         (WebCore::RenderThemeEfl::adjustRadioStyle):
206         (WebCore::RenderThemeEfl::adjustButtonStyle):
207         (WebCore::RenderThemeEfl::adjustMenuListStyle):
208         (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
209         (WebCore::RenderThemeEfl::adjustTextFieldStyle):
210         (WebCore::RenderThemeEfl::adjustTextAreaStyle):
211         (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
212         (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationPartStyle):
213         (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
214         (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
215         (WebCore::RenderThemeEfl::adjustInnerSpinButtonStyle):
216         (WebCore::RenderThemeEfl::adjustProgressBarStyle):
217         * platform/efl/RenderThemeEfl.h:
218         * platform/gtk/RenderThemeGtk.h:
219         * rendering/RenderTheme.cpp:
220         (WebCore::RenderTheme::adjustStyle):
221         (WebCore::RenderTheme::adjustCheckboxStyle):
222         (WebCore::RenderTheme::adjustRadioStyle):
223         (WebCore::RenderTheme::adjustButtonStyle):
224         (WebCore::RenderTheme::adjustInnerSpinButtonStyle):
225         (WebCore::RenderTheme::adjustTextFieldStyle):
226         (WebCore::RenderTheme::adjustTextAreaStyle):
227         (WebCore::RenderTheme::adjustMenuListStyle):
228         (WebCore::RenderTheme::adjustMeterStyle):
229         (WebCore::RenderTheme::adjustProgressBarStyle):
230         (WebCore::RenderTheme::adjustMenuListButtonStyle):
231         (WebCore::RenderTheme::adjustMediaControlStyle):
232         (WebCore::RenderTheme::adjustSliderTrackStyle):
233         (WebCore::RenderTheme::adjustSliderThumbStyle):
234         (WebCore::RenderTheme::adjustSliderThumbSize):
235         (WebCore::RenderTheme::adjustSearchFieldStyle):
236         (WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle):
237         (WebCore::RenderTheme::adjustSearchFieldDecorationPartStyle):
238         (WebCore::RenderTheme::adjustSearchFieldResultsDecorationPartStyle):
239         (WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle):
240         * rendering/RenderTheme.h:
241         * rendering/RenderThemeGtk.cpp:
242         (WebCore::RenderThemeGtk::adjustButtonStyle):
243         (WebCore::RenderThemeGtk::adjustMenuListStyle):
244         (WebCore::RenderThemeGtk::adjustMenuListButtonStyle):
245         (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
246         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationPartStyle):
247         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
248         (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
249         (WebCore::RenderThemeGtk::adjustSliderTrackStyle):
250         (WebCore::RenderThemeGtk::adjustSliderThumbStyle):
251         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
252         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
253         (WebCore::RenderThemeGtk::adjustProgressBarStyle):
254         * rendering/RenderThemeIOS.h:
255         * rendering/RenderThemeIOS.mm:
256         (WebCore::RenderThemeIOS::adjustCheckboxStyle):
257         (WebCore::RenderThemeIOS::adjustRadioStyle):
258         (WebCore::RenderThemeIOS::adjustMenuListButtonStyle):
259         (WebCore::RenderThemeIOS::adjustSliderTrackStyle):
260         (WebCore::RenderThemeIOS::adjustSliderThumbSize):
261         (WebCore::RenderThemeIOS::adjustSearchFieldStyle):
262         (WebCore::RenderThemeIOS::adjustButtonStyle):
263         * rendering/RenderThemeMac.h:
264         * rendering/RenderThemeMac.mm:
265         (WebCore::RenderThemeMac::adjustTextFieldStyle):
266         (WebCore::RenderThemeMac::adjustTextAreaStyle):
267         (WebCore::RenderThemeMac::adjustProgressBarStyle):
268         (WebCore::RenderThemeMac::adjustMenuListStyle):
269         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
270         (WebCore::RenderThemeMac::adjustSliderTrackStyle):
271         (WebCore::RenderThemeMac::adjustSliderThumbStyle):
272         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
273         (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
274         (WebCore::RenderThemeMac::adjustSearchFieldDecorationPartStyle):
275         (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationPartStyle):
276         (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
277         (WebCore::RenderThemeMac::adjustSliderThumbSize):
278         * rendering/RenderThemeSafari.cpp:
279         (WebCore::RenderThemeSafari::adjustButtonStyle):
280         (WebCore::RenderThemeSafari::adjustTextFieldStyle):
281         (WebCore::RenderThemeSafari::adjustTextAreaStyle):
282         (WebCore::RenderThemeSafari::adjustMenuListStyle):
283         (WebCore::RenderThemeSafari::adjustMenuListButtonStyle):
284         (WebCore::RenderThemeSafari::adjustSliderThumbStyle):
285         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
286         (WebCore::RenderThemeSafari::adjustSearchFieldStyle):
287         (WebCore::RenderThemeSafari::adjustSearchFieldCancelButtonStyle):
288         (WebCore::RenderThemeSafari::adjustSearchFieldDecorationPartStyle):
289         (WebCore::RenderThemeSafari::adjustSearchFieldResultsDecorationPartStyle):
290         (WebCore::RenderThemeSafari::adjustSearchFieldResultsButtonStyle):
291         (WebCore::RenderThemeSafari::adjustMeterStyle):
292         * rendering/RenderThemeSafari.h:
293         * rendering/RenderThemeWin.cpp:
294         (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
295         (WebCore::RenderThemeWin::adjustMenuListStyle):
296         (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
297         (WebCore::RenderThemeWin::adjustSliderThumbSize):
298         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
299         (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
300         (WebCore::RenderThemeWin::adjustSearchFieldDecorationPartStyle):
301         (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationPartStyle):
302         (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
303         (WebCore::RenderThemeWin::adjustMeterStyle):
304         * rendering/RenderThemeWin.h:
305
306 2014-09-12  Joseph Pecoraro  <pecoraro@apple.com>
307
308         Fix casing in method name - formatNumberForCustomCSSText
309         https://bugs.webkit.org/show_bug.cgi?id=136758
310
311         Reviewed by Benjamin Poulain.
312
313         * css/CSSPrimitiveValue.cpp:
314         (WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText):
315         (WebCore::CSSPrimitiveValue::customCSSText):
316         (WebCore::CSSPrimitiveValue::formatNumberForcustomCSSText): Deleted.
317         * css/CSSPrimitiveValue.h:
318
319 2014-09-12  Chris Dumez  <cdumez@apple.com>
320
321         Make all CSSSelector data members private
322         https://bugs.webkit.org/show_bug.cgi?id=136784
323
324         Reviewed by Benjamin Poulain.
325
326         Make all CSSSelector data members private. Previously, some of the data
327         members such as m_relation / m_match / m_pseudoType were public and
328         accessed directly from outside the class. The new approach is better
329         because:
330         - Those members are bit fields so by using getters, we can hide the
331           casts inside the getters. The setters can now also check that the
332           bitfield is big enough to actually store the enum value.
333         - When using those in switch() statements, the compiler now complains
334           if we fail to test some of the enum values as the value is now an
335           enum, and not merely an unsigned integer.
336         - Some of these members already has getters (e.g. relation()).
337         - Better encapsulation.
338
339         No new tests, no behavior change.
340
341         * css/CSSParserValues.cpp:
342         (WebCore::CSSParserSelector::parsePagePseudoSelector):
343         (WebCore::CSSParserSelector::parsePseudoElementSelector):
344         (WebCore::CSSParserSelector::parsePseudoElementCueFunctionSelector):
345         (WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):
346         (WebCore::CSSParserSelector::setPseudoClassValue):
347         (WebCore::CSSParserSelector::isSimple):
348         (WebCore::CSSParserSelector::prependTagSelector):
349         * css/CSSParserValues.h:
350         (WebCore::CSSParserSelector::setMatch):
351         (WebCore::CSSParserSelector::setRelation):
352         (WebCore::CSSParserSelector::isPseudoElementCueFunction):
353         * css/CSSSelector.cpp:
354         (WebCore::CSSSelector::createRareData):
355         (WebCore::CSSSelector::specificityForOneSelector):
356         (WebCore::CSSSelector::specificityForPage):
357         (WebCore::CSSSelector::operator==):
358         (WebCore::CSSSelector::selectorText):
359         * css/CSSSelector.h:
360         (WebCore::CSSSelector::setPseudoElementType):
361         (WebCore::CSSSelector::setPagePseudoType):
362         (WebCore::CSSSelector::pseudoClassType):
363         (WebCore::CSSSelector::setPseudoClassType):
364         (WebCore::CSSSelector::pseudoElementType):
365         (WebCore::CSSSelector::pagePseudoClassType):
366         (WebCore::CSSSelector::setRelation):
367         (WebCore::CSSSelector::match):
368         (WebCore::CSSSelector::setMatch):
369         (WebCore::CSSSelector::matchesPseudoElement):
370         (WebCore::CSSSelector::isUnknownPseudoElement):
371         (WebCore::CSSSelector::isCustomPseudoElement):
372         (WebCore::CSSSelector::isSiblingSelector):
373         (WebCore::CSSSelector::isAttributeSelector):
374         (WebCore::CSSSelector::setValue):
375         (WebCore::CSSSelector::CSSSelector):
376         (WebCore::CSSSelector::~CSSSelector):
377         (WebCore::CSSSelector::tagQName):
378         (WebCore::CSSSelector::value):
379         * css/CSSSelectorList.cpp:
380         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
381         * css/PageRuleCollector.cpp:
382         (WebCore::checkPageSelectorComponents):
383         * css/RuleFeature.cpp:
384         (WebCore::RuleFeatureSet::collectFeaturesFromSelector):
385         * css/RuleSet.cpp:
386         (WebCore::isSelectorMatchingHTMLBasedOnRuleHash):
387         (WebCore::determinePropertyWhitelistType):
388         (WebCore::RuleSet::addRule):
389         * css/SelectorChecker.cpp:
390         (WebCore::SelectorChecker::matchRecursively):
391         (WebCore::anyAttributeMatches):
392         (WebCore::canMatchHoverOrActiveInQuirksMode):
393         (WebCore::SelectorChecker::checkOne):
394         (WebCore::SelectorChecker::checkScrollbarPseudoClass):
395         (WebCore::SelectorChecker::determineLinkMatchType):
396         * css/SelectorChecker.h:
397         (WebCore::SelectorChecker::isCommonPseudoClassSelector):
398         * css/SelectorFilter.cpp:
399         (WebCore::collectDescendantSelectorIdentifierHashes):
400         * cssjit/SelectorCompiler.cpp:
401         (WebCore::SelectorCompiler::constructFragments):
402         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeMatching):
403         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):
404         * dom/SelectorQuery.cpp:
405         (WebCore::isSingleTagNameSelector):
406         (WebCore::isSingleClassNameSelector):
407         (WebCore::findIdMatchingType):
408         (WebCore::SelectorDataList::SelectorDataList):
409         (WebCore::selectorForIdLookup):
410         (WebCore::filterRootById):
411
412 2014-09-12  Carlos Garcia Campos  <cgarcia@igalia.com>
413
414         REGRESSION(r173441): [GTK] All buttons appear insensitive
415         https://bugs.webkit.org/show_bug.cgi?id=136614
416
417         Reviewed by Sergio Villar Senin.
418
419         Do not use RenderTheme::isReadOnlyControl() to decide whether to
420         render non text based forms sensitive or unsensitive, isEnabled()
421         is enough in those cases.
422
423         * rendering/RenderThemeGtk.cpp:
424         (WebCore::paintToggle):
425         (WebCore::renderButton):
426         (WebCore::RenderThemeGtk::paintSliderTrack):
427         (WebCore::RenderThemeGtk::paintSliderThumb):
428
429 2014-09-12  Carlos Garcia Campos  <cgarcia@igalia.com>
430
431         REGRESSION(r173423): CertificateInfo is never sent to the UI process when using shared secondary process model
432         https://bugs.webkit.org/show_bug.cgi?id=136669
433
434         Reviewed by Antti Koivisto.
435
436         Add CertificateInfoPolicy option to ResourceLoaderOptions. It's
437         set to DoNotIncludeCertificateInfo for all loads except the main
438         resource load.
439
440         * loader/DocumentLoader.cpp:
441         (WebCore::DocumentLoader::startLoadingMainResource): Pass
442         IncludeCertificateInfo to ResourceLoaderOptions.
443         * loader/NetscapePlugInStreamLoader.cpp:
444         (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
445         Pass DoNotIncludeCertificateInfo to ResourceLoaderOptions().
446         * loader/ResourceLoader.h:
447         (WebCore::ResourceLoader::shouldIncludeCertificateInfo): Return
448         true if IncludeCertificateInfo option was given.
449         * loader/ResourceLoaderOptions.h:
450         (WebCore::ResourceLoaderOptions::ResourceLoaderOptions):
451         (WebCore::ResourceLoaderOptions::certificateInfoPolicy):
452         (WebCore::ResourceLoaderOptions::setCertificateInfoPolicy):
453         * loader/SubresourceLoader.cpp:
454         (WebCore::SubresourceLoader::didReceiveResponse): If
455         IncludeCertificateInfo option is present, call
456         includeCertificateInfo() on the response.
457         * loader/cache/CachedResourceLoader.cpp:
458         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Pass
459         DoNotIncludeCertificateInfo to ResourceLoaderOptions().
460         (WebCore::CachedResourceLoader::defaultCachedResourceOptions): Ditto.
461         * loader/icon/IconLoader.cpp:
462         (WebCore::IconLoader::startLoading): Ditto.
463         * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
464         (WebCore::WebCoreAVCFResourceLoader::startLoading): Ditto.
465         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
466         (WebCore::WebCoreAVFResourceLoader::startLoading): Ditto.
467         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
468         (CachedResourceStreamingClient::CachedResourceStreamingClient): Ditto.
469
470 2014-09-11  Ryuan Choi  <ryuan.choi@gmail.com>
471
472         Unreviewed build fix attempt on windows port since r173553.
473
474         * WebCore.vcxproj/WebCore.vcxproj:
475         * WebCore.vcxproj/WebCore.vcxproj.filters:
476
477 2014-09-11  Brian J. Burg  <burg@cs.washington.edu>
478
479         Web Inspector: disambiguate integral and real number primitive types in the protocol
480         https://bugs.webkit.org/show_bug.cgi?id=136606
481
482         Reviewed by Timothy Hatcher.
483
484         Update clients of InspectorValue to disambiguate integer and double primitive types.
485
486         No new tests, no behavior changed.
487
488         * inspector/InspectorDOMAgent.cpp:
489         (WebCore::parseColor):
490         (WebCore::parseQuad):
491         (WebCore::InspectorDOMAgent::performSearch):
492         * inspector/InspectorDOMDebuggerAgent.cpp:
493         (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
494         * inspector/InspectorIndexedDBAgent.cpp:
495         * inspector/InspectorOverlay.cpp:
496         (WebCore::buildObjectForPoint):
497         (WebCore::buildObjectForRect):
498         (WebCore::buildObjectForSize):
499         (WebCore::appendPathCommandAndPoints):
500         (WebCore::InspectorOverlay::reset):
501         * inspector/InspectorReplayAgent.cpp:
502         (WebCore::InspectorReplayAgent::replayToPosition):
503         * inspector/InspectorStyleSheet.h:
504         (WebCore::InspectorCSSId::InspectorCSSId):
505         * inspector/InspectorTimelineAgent.cpp:
506         (WebCore::InspectorTimelineAgent::didWriteHTML):
507         (WebCore::InspectorTimelineAgent::didCompleteRecordEntry):
508         * inspector/TimelineRecordFactory.cpp:
509         (WebCore::TimelineRecordFactory::createGenericRecord):
510         (WebCore::TimelineRecordFactory::createBackgroundRecord):
511         (WebCore::TimelineRecordFactory::createGCEventData):
512         (WebCore::TimelineRecordFactory::createFunctionCallData):
513         (WebCore::TimelineRecordFactory::createProbeSampleData):
514         (WebCore::TimelineRecordFactory::createGenericTimerData):
515         (WebCore::TimelineRecordFactory::createTimerInstallData):
516         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
517         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
518         (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
519         (WebCore::TimelineRecordFactory::createResourceFinishData):
520         (WebCore::TimelineRecordFactory::createReceiveResourceData):
521         (WebCore::TimelineRecordFactory::createLayoutData):
522         (WebCore::TimelineRecordFactory::createParseHTMLData):
523         (WebCore::TimelineRecordFactory::createAnimationFrameData):
524         (WebCore::createQuad):
525         * inspector/TimelineRecordFactory.h:
526         (WebCore::TimelineRecordFactory::createWebSocketCreateData):
527         (WebCore::TimelineRecordFactory::createGenericWebSocketData):
528         * page/ContentSecurityPolicy.cpp:
529         (WebCore::ContentSecurityPolicy::reportViolation):
530
531 2014-09-11  Ryuan Choi  <ryuan.choi@gmail.com>
532
533         [EFL][CoordinatedGraphics] Move CoordinatedGraphicsScene and CoordinatedBackingStore to WebKit2
534         https://bugs.webkit.org/show_bug.cgi?id=136770
535
536         Reviewed by Gyuyoung Kim.
537
538         CoordinatedGraphicsScene and CoordinatedBackingStore is only for UIProcess.
539         This patch moved them from WebCore to WebKit2/UIProcess/CoordinatedGraphics/.
540
541         No new tests, no behavior change.
542
543         * PlatformEfl.cmake:
544
545 2014-09-11  Shivakumar JM  <shiva.jm@samsung.com>
546
547         The overrideMimeType in XMLHttpRequest should throw the exception.
548         https://bugs.webkit.org/show_bug.cgi?id=136699
549
550         Reviewed by Darin Adler.
551
552         No new tests, modifed test http/tests/xmlhttprequest/exceptions.html.
553
554         Set XMLHttpRequest::overrideMimeType to throw an "InvalidStateError" exception, if the state is LOADING or DONE.
555
556         * xml/XMLHttpRequest.cpp:
557         (WebCore::XMLHttpRequest::overrideMimeType):
558         * xml/XMLHttpRequest.h:
559         * xml/XMLHttpRequest.idl:
560
561 2014-09-11  Joseph Pecoraro  <pecoraro@apple.com>
562
563         Web Inspector: Occasional ASSERT closing web inspector
564         https://bugs.webkit.org/show_bug.cgi?id=136762
565
566         Reviewed by Timothy Hatcher.
567
568         * bindings/js/WorkerScriptDebugServer.h:
569         * inspector/PageScriptDebugServer.h:
570
571 2014-09-11  Chris Dumez  <cdumez@apple.com>
572
573         Simplify DOM tree traversal in FrameSelection::setSelectionFromNone()
574         https://bugs.webkit.org/show_bug.cgi?id=136763
575
576         Reviewed by Ryosuke Niwa.
577
578         We only need to traverse the direct children of the Document element to
579         find the body. The previous code was potentially traversing descendants.
580         The new code is consistent with Document::body() except that we only
581         look for an HTMLBodyElement (and ignore HTMLFrameSetElement).
582
583         Also update the code to use tighter typing for clarity.
584
585         No new tests, no behavior change.
586
587         * editing/FrameSelection.cpp:
588         (WebCore::FrameSelection::setSelectionFromNone):
589
590 2014-09-11  Chris Fleizach  <cfleizach@apple.com>
591
592         AX: Size of web view in Safari as reported by AX changes when adding/removing bars is wrong
593         https://bugs.webkit.org/show_bug.cgi?id=136756
594
595         Reviewed by Beth Dakin.
596
597         topContentInset not only seems to push the scroll view's origin down, but it also shrinks its height as well, which
598         was not accounted for in the original fix.
599
600         Modified: platform/mac-wk2/accessibility/content-inset-scrollview-frame.html
601
602         * accessibility/AccessibilityScrollView.cpp:
603         (WebCore::AccessibilityScrollView::elementRect):
604
605 2014-09-11  Roger Fong  <roger_fong@apple.com>
606
607         [Windows] Unreviewed build fix.
608
609         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
610         (WebCore::GraphicsContext3D::checkVaryingsPacking):
611
612 2014-09-11  Beth Dakin  <bdakin@apple.com>
613
614         WebKit scrollbars flash in non-dominant spaces when entering Mission Control
615         https://bugs.webkit.org/show_bug.cgi?id=136761
616         -and corresponding-
617         rdar://problem/18195616
618
619         Reviewed by Tim Horton.
620
621         This patch makes our logic about when to call ScrollableArea::contentAreaDidHide/
622         Show match the logic in AppKit. We only want these notifications when the window 
623         has become both visible and active (or lost both, in the case of hide).
624
625         Re-name setIsVisibleInternal() to setIsVisibleAndActiveInternal(), and call it 
626         only when both visibility and active-state have changed.
627         * page/FocusController.cpp:
628         (WebCore::FocusController::setViewState):
629         (WebCore::FocusController::setIsVisibleAndActiveInternal):
630         (WebCore::FocusController::setIsVisibleInternal): Deleted.
631         * page/FocusController.h:
632
633         FocusController::setViewState() is the only place that needs to call 
634         ScrollableArea::contentAreaDidHide/Show, so remove these callers.
635         * page/FrameView.cpp:
636         (WebCore::FrameView::didMoveOnscreen): Deleted.
637         (WebCore::FrameView::willMoveOffscreen): Deleted.
638         * page/FrameView.h:
639         * page/Page.cpp:
640         (WebCore::Page::setIsVisibleInternal):
641
642 2014-09-10  Michael Saboff  <msaboff@apple.com>
643
644         Move JSScope out of JSFunction into separate JSCallee class
645         https://bugs.webkit.org/show_bug.cgi?id=136725
646
647         Reviewed by Oliver Hunt.
648
649         Created new JSCallee class that contains a JSScope*.  Changed JSFunction to inherit from
650         JSCallee.
651
652         * ForwardingHeaders/runtime/JSCallee.h: New forwarding header.
653
654 2014-09-11  Roger Fong  <roger_fong@apple.com>
655
656         Unreviewed build fix iOS.
657
658         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
659         (WebCore::GraphicsContext3D::checkVaryingsPacking):
660
661 2014-09-11  Jer Noble  <jer.noble@apple.com>
662
663         Add site-specific quirk for entering fullscreen on YouTube.com.
664         https://bugs.webkit.org/show_bug.cgi?id=136742
665
666         Reviewed by Eric Carlson.
667
668         YouTube only resizes its <video> content when entering fullscreen after receiving the "webkitfullscreenchange"
669         event, which is fired once the animation to enter fullscreen completes. This leaves the apparent <video> content
670         too small during the animation, especially at the beginning of the animation. Add a site-specific hack for
671         YouTube sites which fires the "webkitfullscreenchange" event synchronously with the beginning of the enter
672         fullscreen animation. This will cause YouTube to resize their <video> content during the period of time where we
673         disable screen updates, and makes the enter fullscreen animation seamless.
674
675         Add a static utility method, hostIsYouTube(), for the various pieces of this site-specific hack, and expand it
676         to match youtube.co.uk, youtube.fr, etc.
677
678         * dom/Document.cpp:
679         (WebCore::hostIsYouTube): Added.
680         (WebCore::Document::webkitWillEnterFullScreenForElement): Fire fullscreenchange event if hacks are enabled.
681         (WebCore::Document::webkitDidEnterFullScreenForElement): Don't fire the event if same.
682         (WebCore::Document::webkitDidExitFullScreenForElement): Use hostIsYouTube().
683         
684 2014-09-11  Bear Travis  <betravis@adobe.com>
685
686         [CSS Font Loading] Enable CSS Font Loading on Mac
687         https://bugs.webkit.org/show_bug.cgi?id=135473
688
689         Reviewed by Antti Koivisto.
690
691         Enable CSS Font Loading in FeatureDefines, and in
692         RuntimeEnabledFeatures.
693
694         Font Loading tests have been toggled back on in the Mac
695         TestExpectations file.
696
697         * Configurations/FeatureDefines.xcconfig:
698         * bindings/generic/RuntimeEnabledFeatures.cpp:
699         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
700
701 2014-09-11  Chris Dumez  <cdumez@apple.com>
702
703         Use tighter typing for Document::ownerElement() return value
704         https://bugs.webkit.org/show_bug.cgi?id=136746
705
706         Reviewed by Ryosuke Niwa.
707
708         Use tighter typing for Document::ownerElement() return value at call
709         sites to increase code readability a bit and allow the compiler to
710         generate slightly more efficient code in some cases. In particular,
711         the more efficient HTMLElement::hasTagName(HTMLQualifiedName) is
712         now called in several cases instead of the one on Node. This bypasses
713         unnecessary isHTMLElement() checks.
714
715         No new tests, no behavior change.
716
717         * accessibility/AccessibilityNodeObject.cpp:
718         (WebCore::AccessibilityNodeObject::alternativeTextForWebArea):
719         * dom/Document.cpp:
720         (WebCore::Document::updateLayout):
721         (WebCore::Document::topDocument):
722         * html/HTMLBodyElement.cpp:
723         (WebCore::HTMLBodyElement::insertedInto):
724         * rendering/RenderBoxModelObject.cpp:
725         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
726         * rendering/RenderLayer.cpp:
727         (WebCore::RenderLayer::scrollRectToVisible):
728         * rendering/RenderView.cpp:
729         (WebCore::RenderView::paintBoxDecorations):
730
731 2014-09-10  Roger Fong  <roger_fong@apple.com>
732
733         Check for varying packing restrictions per program instead of per shader.
734         https://bugs.webkit.org/show_bug.cgi?id=136585.
735         <rdar://problem/16308409>.
736
737         Reviewed by Dean Jackson.
738
739         Covered by webgl/1.0.2/conformance/ogles/GL/build/build_009_to_016.html.
740
741         * html/canvas/WebGLRenderingContext.cpp:
742         (WebCore::WebGLRenderingContext::linkProgram): 
743         Check for varying packing restrictions when linking the program.
744
745         * platform/graphics/GraphicsContext3D.h:
746         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
747         (WebCore::GraphicsContext3D::checkVaryingsPacking): 
748         Checks varyings shared by both vertex and fragment shaders and makes sure
749         they satisfy packing restrictions.
750
751 2014-09-11  Beth Dakin  <bdakin@apple.com>
752
753         Support rubber-banding in sub-frames
754         https://bugs.webkit.org/show_bug.cgi?id=136726
755         -and corresponding-
756         rdar://problem/10011924
757
758         Reviewed by Tim Horton.
759
760         Set the appropriate scroll elasticity for all frames! As long as its enabled, sub-
761         frames want an elasticity of ScrollElasticityAutomatic, which will allow for 
762         latching. 
763         * page/FrameView.cpp:
764         (WebCore::FrameView::FrameView):
765
766         Account for rubber-banding in sub-frames.
767         (WebCore::FrameView::isScrollableOrRubberbandable):
768         (WebCore::FrameView::hasScrollableOrRubberbandableAncestor):
769
770         This patch also re-names rubberBandingForOverflowScrollEnabled to 
771         rubberBandingForSubScrollableRegionsEnabled
772         * page/Settings.in:
773         * rendering/RenderLayer.cpp:
774         (WebCore::RenderLayer::overhangAmount):
775         (WebCore::RenderLayer::setHasHorizontalScrollbar):
776         (WebCore::RenderLayer::setHasVerticalScrollbar):
777
778 2014-09-11  Myles C. Maxfield <mmaxfield@apple.com>  <litherum@gmail.com>
779
780         Initial implementation of SVG to OTF font converter
781         https://bugs.webkit.org/show_bug.cgi?id=136688
782
783         Reviewed by Darin Adler.
784
785         This patch creates a new file and new function which turns an SVG font into an OpenType font.
786         This function is not very full featured, and as such is never called. However, it works with
787         fonts that only support simple horizontal basic multilingual plane codepoints. It has only
788         been tested on OS X, and does not have any automated tests. This patch is only jumping off
789         point, laying the basic groundwork for a more robust font converter.
790
791         The goal of this patch is to eventually allow us to delete the codepath with which we draw
792         text using SVG fonts. Using a native codepath instead will allow for better performance,
793         security, and code clarity. In my initial benchmarks, using this converter instead of the
794         SVG codepath is at least a 100x speed improvement (after running for 4 hours I stepped
795         away from my machine).
796
797         No new tests because the function is not ready to be called (yet!)
798         Initial implementation of SVG to OTF font converter
799         https://bugs.webkit.org/show_bug.cgi?id=136688
800
801         * WebCore.xcodeproj/project.pbxproj: Add new file.
802         * svg/SVGPathBuilder.h: Single function. Takes a SVGFontElement and returns a byte
803         * svg/SVGToOTFFontConversion.cpp: Added.
804         (WebCore::write32): Write a big-endian Int32.
805         (WebCore::write16): Write a big-endian Int16.
806         (WebCore::overwrite32): Overwrite an existing Int32 in a vector (instead of appending)
807         (WebCore::SVGToOTFFontConverter::GlyphData::GlyphData): Internal class to hold state during
808         function calls.
809         (WebCore::roundDownToPowerOfTwo):
810         (WebCore::SVGToOTFFontConverter::appendCMAPTable): See function name.
811         (WebCore::SVGToOTFFontConverter::appendHEADTable): Ditto.
812         (WebCore::clampTo): Used to clamp data types to fit into other data types.
813         (WebCore::SVGToOTFFontConverter::appendHHEATable): See function name.
814         (WebCore::SVGToOTFFontConverter::appendHMTXTable): Ditto.
815         (WebCore::SVGToOTFFontConverter::appendMAXPTable): Ditto.
816         (WebCore::SVGToOTFFontConverter::appendNAMETable): Ditto.
817         (WebCore::SVGToOTFFontConverter::appendOS2Table): Ditto.
818         (WebCore::SVGToOTFFontConverter::appendPOSTTable): Ditto.
819         (WebCore::isValidStringForCFF): The CFF font format only allows strings with particular
820         characters in them.
821         (WebCore::appendCFFValidString): Append a string assuming it's valid to append.
822         (WebCore::SVGToOTFFontConverter::appendCFFTable): See function name.
823         (WebCore::SVGToOTFFontConverter::appendVORGTable): Ditto.
824         (WebCore::writeCFFEncodedNumber): CFF has this wacky encoding scheme for encoding and
825         decoding numbers.
826         (WebCore::CFFBuilder::CFFBuilder): Subclass of SVGPathBuilder, which is used for building
827         CFF CharStrings (which are glyph path representations).
828         (WebCore::CFFBuilder::updateForConstituentPoint): Invoked for every point in a path, does
829         things like updates glyph bounding box information.
830         (WebCore::CFFBuilder::boundingBox): Getter.
831         (WebCore::transcodeGlyphPaths): SVG path data string -> CFF CharString
832         (WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Generate internal state ahead of
833         time before generating any tables.
834         (WebCore::isFourByteAligned):
835         (WebCore::calculateChecksum): OTF files have checksums.
836         (WebCore::SVGToOTFFontConverter::appendTable): Invoked for each entry in the table of
837         contents of the OTF font.
838         (WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): Write out the tables.
839         (WebCore::convertSVGToOTFFont): Entry point.
840         * svg/SVGToOTFFontConversion.h: Added.
841
842 2014-09-11  Jer Noble  <jer.noble@apple.com>
843
844         [EME] REGRESSION(??): test media/encrypted-media/encrypted-media-v2-syntax.html is failing
845         https://bugs.webkit.org/show_bug.cgi?id=136723
846
847         Reviewed by Eric Carlson.
848
849         Update a comment to point to the implemented Working Draft 18 Feburary 2014 version of the spec.
850
851         * Modules/encryptedmedia/MediaKeys.cpp:
852         (WebCore::MediaKeys::createSession):
853
854 2014-09-11  Youenn Fablet  <youenn.fablet@crf.canon.fr>
855
856         [WK2] Authentication dialog is displayed for cross-origin XHR
857         https://bugs.webkit.org/show_bug.cgi?id=131349
858
859         Reviewed by Alexey Proskuryakov.
860
861         * WebCore.exp.in: Export of isAllowedToAskUserForCredentials.
862         * loader/ResourceLoader.cpp:
863         (WebCore::ResourceLoader::isAllowedToAskUserForCredentials): Replacing clientCredentialPolicy method. Returns true if credentials can be requested to the user.
864         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): Updated to use isAllowedToAskUserForCredentials.
865         * loader/ResourceLoader.h: Removing clientCredentialPolicy method and adding isAllowedToAskUserForCredentials method.
866
867 2014-09-11  Chris Fleizach  <cfleizach@apple.com>
868
869         AX: Children inside a <legend> are not accessible
870         https://bugs.webkit.org/show_bug.cgi?id=136735
871
872         Reviewed by Mario Sanchez Prada.
873
874         The AX children of a <legend> are being hidden currently, which makes it impossible for
875         VoiceOver to activate control elements inside of a <legend>.
876         The solution is that legend elements SHOULD be allowed to have children.
877
878         Test: accessibility/legend-children-are-visible.html
879
880         * accessibility/AccessibilityNodeObject.cpp:
881         (WebCore::AccessibilityNodeObject::canHaveChildren):
882
883 2014-09-11  Brendan Long  <b.long@cablelabs.com>
884
885         Fix FIXME's in JSTrackCustom now that AudioTrack and VideoTrack exist.
886         https://bugs.webkit.org/show_bug.cgi?id=136552
887
888         Reviewed by Eric Carlson.
889
890         * bindings/js/JSTrackCustom.cpp:
891         (WebCore::toTrack): Add casts for AudioTrack and VideoTrack.
892
893 2014-09-11  Carlos Garcia Campos  <cgarcia@igalia.com>
894
895         [GTK] Merge WebKitAuthenticationWidget into WebKitAuthenticationDialog
896         https://bugs.webkit.org/show_bug.cgi?id=136700
897
898         Reviewed by Sergio Villar Senin.
899
900         Remove WebKitAuthenticationWidget. The only reason why we had this
901         widget separated in WebCore was to share it between WebKit1 and
902         WebKit2, but now it's only used by WebKitAuthenticationDialog in WebKit2.
903
904         * PlatformGTK.cmake: Remove files from compilation.
905         * platform/gtk/WebKitAuthenticationWidget.cpp: Removed.
906         * platform/gtk/WebKitAuthenticationWidget.h: Removed.
907
908 2014-09-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
909
910         Use ASSERT instead of ASSERT_WITH_SECURITY_IMPLICATION
911         https://bugs.webkit.org/show_bug.cgi?id=136732
912
913         Reviewed by Andy Estes.
914
915         Since r173458 changed to use static_cast<> with toFoo, ASSERT_WITH_SECURITY_IMPLICATION doesn't
916         need to be used anymore. ASSERT is enough for it.
917
918         * workers/DefaultSharedWorkerRepository.cpp:
919         (WebCore::SharedWorkerProxy::addToWorkerDocuments):
920         * workers/WorkerMessagingProxy.cpp:
921         (WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
922         * xml/XMLHttpRequest.cpp:
923         (WebCore::XMLHttpRequest::document):
924
925 2014-09-10  Adenilson Cavalcanti  <cavalcantii@gmail.com>
926
927         [SVG] Cleanup iterator code in SMILTimeContainer using range-based loop
928         https://bugs.webkit.org/show_bug.cgi?id=136720
929
930         Reviewed by Filip Pizlo.
931
932         No new tests, no change on behavior.
933
934         * svg/animation/SMILTimeContainer.cpp:
935         (WebCore::SMILTimeContainer::setElapsed):
936         (WebCore::SMILTimeContainer::updateAnimations):
937
938 2014-09-10  Timothy Horton  <timothy_horton@apple.com>
939
940         Fix the build.
941
942         * platform/network/ResourceHandle.h:
943         * platform/network/mac/ResourceHandleMac.mm:
944
945 2014-09-09  Myles C. Maxfield <mmaxfield@apple.com>  <litherum@gmail.com>
946
947         Delete class SavedDrawingStateForMask
948         https://bugs.webkit.org/show_bug.cgi?id=136498
949
950         Reviewed by Darin Adler.
951
952         This class is left over from when text-decoration-skip: ink used
953         GraphicsContext masking.
954
955         No new tests because there is no behavior change.
956
957         * rendering/InlineTextBox.cpp:
958         (WebCore::InlineTextBox::applyShadowToGraphicsContext):
959         * rendering/InlineTextBox.h:
960         * rendering/TextPainter.cpp:
961         (WebCore::TextPainter::TextPainter):
962         (WebCore::paintTextWithShadows):
963         (WebCore::TextPainter::paintText):
964         * rendering/TextPainter.h:
965         (WebCore::SavedDrawingStateForMask::SavedDrawingStateForMask): Deleted.
966         * rendering/svg/SVGInlineTextBox.cpp:
967         (WebCore::SVGInlineTextBox::paintTextWithShadows):
968
969 2014-09-10  Tim Horton  <timothy_horton@apple.com>
970
971         Call setCollectsTimingData only once, and before making any {CF,NS}URLConnections
972         https://bugs.webkit.org/show_bug.cgi?id=136731
973         <rdar://problem/18252844>
974
975         Reviewed by Simon Fraser.
976
977         * platform/network/cf/ResourceHandleCFNet.cpp:
978         (WebCore::ResourceHandle::start):
979         Move setCollectsTimingData to before createCFURLConnection, so the first connection
980         has timing data associated with it.
981
982         * platform/network/mac/ResourceHandleMac.mm:
983         (WebCore::ResourceHandle::createNSURLConnection):
984         Move setCollectsTimingData to before we create our NSURLConnection, so the first connection
985         has timing data associated with it.
986         Use setCollectsTimingData instead of the NSURLConnection SPI directly.
987
988         (WebCore::ResourceHandle::setCollectsTimingData):
989         Only call _setCollectsTimingData once.
990
991 2014-09-10  Enrica Casucci  <enrica@apple.com>
992
993         Remove iOS-only -webkit-composition-fill-color CSS property.
994         https://bugs.webkit.org/show_bug.cgi?id=136728
995         rdar://problem/10439154
996
997         Reviewed by Tim Horton.
998
999         This property is no longer used on iOS.
1000
1001         * css/CSSComputedStyleDeclaration.cpp:
1002         (WebCore::ComputedStyleExtractor::propertyValue):
1003         * css/CSSParser.cpp:
1004         (WebCore::CSSParser::parseValue):
1005         * css/CSSPropertyNames.in:
1006         * css/StyleResolver.cpp:
1007         (WebCore::StyleResolver::applyProperty):
1008         * editing/EditingStyle.cpp:
1009         * platform/graphics/Color.h:
1010         * rendering/InlineTextBox.cpp:
1011         (WebCore::InlineTextBox::paintCompositionBackground):
1012         * rendering/style/RenderStyle.h:
1013         * rendering/style/StyleRareInheritedData.cpp:
1014         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1015         (WebCore::StyleRareInheritedData::operator==):
1016         * rendering/style/StyleRareInheritedData.h:
1017
1018 2014-09-10  Tim Horton  <timothy_horton@apple.com>
1019
1020         Remove ImageSource::ShouldSkipMetadata
1021         https://bugs.webkit.org/show_bug.cgi?id=136713
1022
1023         Reviewed by Pratik Solanki.
1024
1025         * platform/graphics/ImageSource.h:
1026         * platform/graphics/cg/ImageSourceCG.cpp:
1027         (WebCore::createImageSourceOptions):
1028         (WebCore::imageSourceOptions):
1029         (WebCore::ImageSource::frameSizeAtIndex):
1030         (WebCore::ImageSource::createFrameAtIndex):
1031         (WebCore::ImageSource::frameDurationAtIndex):
1032         Remove ShouldSkipMetadata and users. Nobody ever uses DoNotSkipMetadata.
1033
1034 2014-09-10  Beth Dakin  <bdakin@apple.com>
1035
1036         https://bugs.webkit.org/show_bug.cgi?id=136650
1037         Rubber-banding in the DOM view of the WebInspector is really jumpy
1038         -and corresponding-
1039         rdar://problem/18166043
1040
1041         Reviewed by Darin Adler.
1042
1043         This patch implements the ScrollableArea virtual function isRubberBandInProgress() 
1044         for RenderLayer, and then uses that to determine whether to clamp the scroll 
1045         position in updateScrollInfoAfterLayout().
1046         * rendering/RenderLayer.cpp:
1047         (WebCore::RenderLayer::isRubberBandInProgress):
1048         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1049         * rendering/RenderLayer.h:
1050
1051 2014-09-10  Tim Horton  <timothy_horton@apple.com>
1052
1053         Remove a workaround in frameIsCompleteAtIndex for a problem that was fixed in Lion
1054         https://bugs.webkit.org/show_bug.cgi?id=136652
1055
1056         Reviewed by Dan Bernstein.
1057
1058         * platform/graphics/cg/ImageSourceCG.cpp:
1059         (WebCore::ImageSource::frameIsCompleteAtIndex):
1060         ImageIO returns the right thing now.
1061
1062 2014-09-10  Myles C. Maxfield  <mmaxfield@apple.com>
1063
1064         Laying out a TextRun using an SVG font is O(n^2)
1065         https://bugs.webkit.org/show_bug.cgi?id=136584
1066
1067         Reviewed by Darin Adler.
1068
1069         Addressing post-commit review from Darin.
1070
1071         No new tests.
1072
1073         * platform/graphics/Font.h:
1074         (WebCore::Font::treatAsSpace): Un-inline.
1075         (WebCore::Font::treatAsZeroWidthSpace): Ditto.
1076         (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Ditto.
1077         * svg/SVGFontData.cpp:
1078         (WebCore::computeNormalizedSpaces): Avoid unnecessary copy.
1079
1080 2014-09-10  peavo@outlook.com  <peavo@outlook.com>
1081
1082         [Curl] Optimization; avoid reallocating string many times.
1083         https://bugs.webkit.org/show_bug.cgi?id=136704
1084
1085         Reviewed by Alex Christensen.
1086
1087         Adding individual characters to a string is inefficient, the string will be reallocated each time.
1088
1089         * platform/network/curl/CookieJarCurl.cpp:
1090         (WebCore::readCurlCookieToken):
1091
1092 2014-09-10  peavo@outlook.com  <peavo@outlook.com>
1093
1094         [Curl] Compile error, CertificateInfo.h is not found.
1095         https://bugs.webkit.org/show_bug.cgi?id=136703
1096
1097         Reviewed by Alex Christensen.
1098
1099         Curl also needs to implement the CertificateInfo class.
1100
1101         * platform/network/curl/CertificateInfo.h: Added.
1102         (WebCore::CertificateInfo::CertificateInfo):
1103
1104 2014-09-10  Simon Fraser  <simon.fraser@apple.com>
1105
1106         Clean up some ENABLE(PICTURE_SIZES) stuff, don't change function signatures inside #ifdefs
1107         https://bugs.webkit.org/show_bug.cgi?id=136654
1108
1109         Reviewed by Darin Adler.
1110
1111         Adding parameters inside an #ifdef makes for unreadable code, so remove some
1112         #if ENABLE(PICTURE_SIZES) related to the preload scanner and always pass the arguments.
1113         Reduced the argument count on some functions by just passing a Document&. 
1114         
1115         Also fix a couple of uses of #if ENABLE_PICTURE_SIZES.
1116
1117         * html/HTMLImageElement.h:
1118         * html/parser/HTMLDocumentParser.cpp:
1119         (WebCore::HTMLDocumentParser::pumpTokenizer):
1120         (WebCore::HTMLDocumentParser::insert):
1121         (WebCore::HTMLDocumentParser::append):
1122         (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
1123         * html/parser/HTMLPreloadScanner.cpp:
1124         (WebCore::TokenPreloadScanner::scan):
1125         (WebCore::HTMLPreloadScanner::scan):
1126         * html/parser/HTMLPreloadScanner.h:
1127         * html/parser/HTMLSrcsetParser.cpp:
1128         (WebCore::pickBestImageCandidate):
1129         (WebCore::bestFitSourceForImageAttributes):
1130         * html/parser/HTMLSrcsetParser.h:
1131
1132 2014-09-10  Chris Fleizach  <cfleizach@apple.com>
1133
1134         AX: aria-labelledby is not honoring sub-node text
1135         https://bugs.webkit.org/show_bug.cgi?id=136689
1136
1137         Reviewed by Mario Sanchez Prada.
1138
1139         Test: accessibility/aria-labelledby-with-descendants.html
1140
1141         When aria-labelledby retrieves the textUnderElements it needs to consider
1142         all sub-children, including focusable content.
1143
1144         * accessibility/AccessibilityNodeObject.cpp:
1145         (WebCore::accessibleNameForNode):
1146
1147 2014-09-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1148
1149         Use toDocument instead of static_cast<Document*>
1150         https://bugs.webkit.org/show_bug.cgi?id=136694
1151
1152         Reviewed by Andy Estes.
1153
1154         Clean up static_cast<Document*>.
1155
1156         * Modules/mediasource/SourceBuffer.cpp:
1157         (WebCore::SourceBuffer::document):
1158         * Modules/webaudio/AudioContext.cpp:
1159         (WebCore::AudioContext::document):
1160         * bindings/gobject/WebKitDOMPrivate.cpp:
1161         (WebKit::wrap):
1162         * dom/ScriptExecutionContext.cpp:
1163         (WebCore::ScriptExecutionContext::dispatchErrorEvent): Add a line to remove .get().
1164         * workers/DefaultSharedWorkerRepository.cpp:
1165         (WebCore::SharedWorkerProxy::addToWorkerDocuments):
1166         * workers/WorkerMessagingProxy.cpp:
1167         (WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
1168         * xml/XMLHttpRequest.cpp:
1169         (WebCore::XMLHttpRequest::document):
1170         (WebCore::XMLHttpRequest::open):
1171
1172 2014-09-10  Yusuke Suzuki  <utatane.tea@gmail.com>
1173
1174         Merge CheckingContexts from SelectorCompiler and SelectorChecker
1175         https://bugs.webkit.org/show_bug.cgi?id=135255
1176
1177         Reviewed by Benjamin Poulain.
1178
1179         In this patch, we merge SelectorChecker::SelectorCheckingContext and SelectorCompiler::CheckingContext.
1180         We expose only SelectorChecker::CheckingContext. That is the same to the old SelectorCompiler::CheckingContext.
1181
1182         In SelectorChecker.cpp, we define SelectorChecker::CheckingContextWithStatus and use it internally.
1183         And we move VisitedMatchType from SelectorChecker.h to SelectorChecker.cpp.
1184
1185         VisitedMatchType is also explicitly used by SelectorCheckerFastPath. However, SelectorCheckerFastPath is now
1186         used only from SelectorQuery (Style resolution algorithm no longer uses it: r171059).
1187         In this patch, we remove SelectorCheckerFastPath since the major cases are covered by CSS JIT.
1188         In `RightMostWithIdMatch`, `Element#matches` and multiple selectors `querySelector('a, b')` cases,
1189         CSS JIT is not used. So dropping fast path affects them. But 1) these cases are rare or 2) the target node
1190         is typically only one since nodes are filtered before matching. So it doesn't have performance regression.
1191
1192         And now since CheckingContextWithStatus is the derived class of CheckingContext, we can use
1193         the same test functions; template parameter is not necessary. It reduces code size.
1194
1195         * CMakeLists.txt:
1196         * WebCore.xcodeproj/project.pbxproj:
1197         * css/CSSAllInOne.cpp:
1198         * css/ElementRuleCollector.cpp:
1199         (WebCore::ElementRuleCollector::ruleMatches):
1200         * css/SelectorChecker.cpp:
1201         (WebCore::SelectorChecker::CheckingContextWithStatus::CheckingContextWithStatus):
1202         (WebCore::SelectorChecker::match):
1203         (WebCore::checkingContextForParent):
1204         (WebCore::SelectorChecker::matchRecursively):
1205         (WebCore::canMatchHoverOrActiveInQuirksMode):
1206         (WebCore::SelectorChecker::checkOne):
1207         (WebCore::SelectorChecker::checkScrollbarPseudoClass):
1208         * css/SelectorChecker.h:
1209         (WebCore::SelectorChecker::CheckingContext::CheckingContext):
1210         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Deleted.
1211         * css/SelectorCheckerFastPath.cpp: Removed.
1212         * css/SelectorCheckerFastPath.h: Removed.
1213         * css/SelectorCheckerTestFunctions.h:
1214         (WebCore::scrollbarMatchesEnabledPseudoClass):
1215         (WebCore::scrollbarMatchesDisabledPseudoClass):
1216         (WebCore::scrollbarMatchesHoverPseudoClass):
1217         (WebCore::scrollbarMatchesActivePseudoClass):
1218         (WebCore::scrollbarMatchesHorizontalPseudoClass):
1219         (WebCore::scrollbarMatchesVerticalPseudoClass):
1220         (WebCore::scrollbarMatchesDecrementPseudoClass):
1221         (WebCore::scrollbarMatchesIncrementPseudoClass):
1222         (WebCore::scrollbarMatchesStartPseudoClass):
1223         (WebCore::scrollbarMatchesEndPseudoClass):
1224         (WebCore::scrollbarMatchesDoubleButtonPseudoClass):
1225         (WebCore::scrollbarMatchesSingleButtonPseudoClass):
1226         (WebCore::scrollbarMatchesNoButtonPseudoClass):
1227         (WebCore::scrollbarMatchesCornerPresentPseudoClass):
1228         * css/StyleResolver.h:
1229         (WebCore::checkRegionSelector):
1230         * cssjit/SelectorCompiler.cpp:
1231         (WebCore::SelectorCompiler::SelectorFragment::appendUnoptimizedPseudoClassWithContext):
1232         (WebCore::SelectorCompiler::addScrollbarPseudoClassType):
1233         (WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
1234         (WebCore::SelectorCompiler::SelectorCodeGenerator::branchOnResolvingModeWithCheckingContext):
1235         (WebCore::SelectorCompiler::elementIsActiveForStyleResolution):
1236         (WebCore::SelectorCompiler::setElementStyleFromContextIsAffectedByEmptyAndUpdateRenderStyleIfNecessary):
1237         (WebCore::SelectorCompiler::elementIsHoveredForStyleResolution):
1238         (WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
1239         (WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
1240         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateRequestedPseudoElementEqualsToSelectorPseudoElement):
1241         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsScopeRoot):
1242         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateMarkPseudoStyleForPseudoElement):
1243         * cssjit/SelectorCompiler.h:
1244         (WebCore::SelectorCompiler::CheckingContext::CheckingContext): Deleted.
1245         * dom/SelectorQuery.cpp:
1246         (WebCore::SelectorDataList::SelectorDataList):
1247         (WebCore::SelectorDataList::selectorMatches):
1248         (WebCore::SelectorDataList::executeCompiledSelectorCheckerWithCheckingContext):
1249         (WebCore::isCompiledSelector):
1250         (WebCore::SelectorDataList::compileSelector):
1251         (WebCore::SelectorDataList::execute):
1252         * dom/SelectorQuery.h:
1253         (WebCore::SelectorDataList::SelectorData::SelectorData):
1254
1255 2014-09-09  Jer Noble  <jer.noble@apple.com>
1256
1257         [MSE] http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html failing after r173318
1258         https://bugs.webkit.org/show_bug.cgi?id=136676
1259
1260         Reviewed by Eric Carlson.
1261
1262         Revert the inadvertant conditional change introduced in r173318.
1263
1264         * Modules/mediasource/MediaSource.cpp:
1265         (WebCore::MediaSource::setDurationInternal):
1266
1267 2014-09-09  Roger Fong  <roger_fong@apple.com>
1268
1269         Unreviewed build fix for Windows.
1270
1271         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
1272         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1273         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1274
1275 2014-09-09  Dan Bernstein  <mitz@apple.com>
1276
1277         FrameLoader::prepareForHistoryNavigation is unused
1278         https://bugs.webkit.org/show_bug.cgi?id=136683
1279
1280         Reviewed by Tim Horton.
1281
1282         * loader/FrameLoader.cpp:
1283         (WebCore::FrameLoader::prepareForHistoryNavigation): Deleted.
1284         * loader/FrameLoader.h: Removed the declaration.
1285
1286 2014-09-09  Manuel Rego Casasnovas  <rego@igalia.com>
1287
1288         [CSS Grid Layout] Ignore ::first-letter pseudo-element
1289         https://bugs.webkit.org/show_bug.cgi?id=136625
1290
1291         Reviewed by Darin Adler.
1292
1293         According to the spec the ::first-letter pseudo-element do not apply to
1294         grid containers (neither to flexboxes).
1295
1296         Fixed issue in RenderBlock::getFirstLetter() that applies to both grids
1297         and flexboxes. Basically if the grid's or flexbox's container was
1298         defining the ::first-line pseudo-element and the grid or flexbox itself
1299         too, the value from the grid or flexbox was being applied to the items.
1300         Added the proper check to avoid this.
1301
1302         Added two new tests for grid and modified one flexbox test to cover the
1303         issue explained above.
1304
1305         Tests: css3/flexbox/flexbox-ignore-container-firstLetter.html
1306                fast/css-grid-layout/grid-container-ignore-first-letter.html
1307                fast/css-grid-layout/grid-item-first-letter-valid.html
1308
1309         * rendering/RenderBlock.cpp:
1310         (WebCore::isRenderBlockFlowOrRenderButton): New method refactoring
1311         similar calls through the source code.
1312         (WebCore::RenderBlock::firstLineBlock): Use
1313         isRenderBlockFlowOrRenderButton().
1314         (WebCore::findFirstLetterBlock): Modify it to use
1315         isRenderBlockFlowOrRenderButton() in order to include grids and not only
1316         check flexboxes.
1317         (WebCore::RenderBlock::getFirstLetter): Use
1318         isRenderBlockFlowOrRenderButton().
1319         (WebCore::RenderBlock::updateFirstLetter): Early return if
1320         firstLetterContainer is null (in the case of flexboxes or grids).
1321
1322 2014-09-09  Benjamin Poulain  <benjamin@webkit.org>
1323
1324         Add support for :read-write/:read-only matching editable content
1325         https://bugs.webkit.org/show_bug.cgi?id=136668
1326
1327         Reviewed by Antti Koivisto.
1328
1329         This is the second part of the update of :read-write/:read-only to the latest spec
1330         (http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selectors).
1331
1332         The selectors :read-write/:read-only should match elements that are editable. The exact definition is:
1333         "elements that are editing hosts or editable and are neither input elements nor textarea elements".
1334
1335         Matching that definition is really easy. It was done by updating HTMLElement's matchesReadWritePseudoClass()
1336         to consider both contentEditable and designMode.
1337
1338         The tricky part is making that efficient in all cases. Matching contentEditable is horribly inefficient
1339         compared to the other primitives. We don't want to execute that for every element.
1340
1341         Since matchesReadWritePseudoClass() was used by the theming code, that code was adjusted to
1342         -Avoid calling that on regular HTMLElement, limiting the query to <input> and <textarea> where it is fast.
1343         -Avoid the call entirely when possible.
1344
1345         Tests: fast/css/read-only-read-write-contenteditable-basics.html
1346                fast/css/read-only-read-write-designmode-basics.html
1347                fast/css/read-only-read-write-webkit-user-modify.html
1348                fast/selectors/read-only-read-write-contenteditable-basics.html
1349                fast/selectors/read-only-read-write-contenteditable-svg-foreignObject.html
1350                fast/selectors/read-only-read-write-designmode-basics.html
1351                fast/selectors/read-only-read-write-style-update.html
1352
1353         * html/HTMLElement.cpp:
1354         (WebCore::contentEditableType):
1355         This code is a generalization of the code that was in HTMLElement::contentEditable().
1356         It is used by both matchesReadWritePseudoClass() and contentEditable() to determine
1357         a valid state from the value of contentEditable.
1358
1359         (WebCore::HTMLElement::matchesReadWritePseudoClass):
1360         Per the definition of editable content, we first check if the current element is an editing host,
1361         if not we look for an editing host. If there are none, test for designMode.
1362
1363         (WebCore::HTMLElement::contentEditable):
1364
1365         (WebCore::RenderTheme::isReadOnlyControl):
1366         The old definition would only match <input> and <textarea>. The code was updated to keep the same
1367         behavior after matchesReadWritePseudoClass() is udpated. This avoids the performance problem of calling
1368         matchesReadWritePseudoClass() on regular HTMLElement.
1369
1370         * platform/ControlStates.h:
1371         ReadOnlyState was only used by ThemeMac for convertControlStatesToThemeDrawState().
1372         In turn, convertControlStatesToThemeDrawState() was only used for painting
1373         "-webkit-inner-spin-button". Buttons are not read-write to begin with.
1374         The whole code looks like legacy from styling of input elements and was removed.
1375
1376         Removing ReadOnlyState removes the expensive part of extractControlStatesForRenderer().
1377
1378         * html/HTMLElement.h:
1379         * html/HTMLFormControlElement.cpp:
1380         (WebCore::HTMLFormControlElement::readOnlyAttributeChanged):
1381         * platform/mac/ThemeMac.mm:
1382         (WebCore::convertControlStatesToThemeDrawState):
1383         * rendering/RenderTheme.cpp:
1384         (WebCore::RenderTheme::extractControlStatesForRenderer):
1385
1386 2014-09-09  Jer Noble  <jer.noble@apple.com>
1387
1388         [MSE] media/media-source tests broken after r173318
1389         https://bugs.webkit.org/show_bug.cgi?id=136675
1390
1391         Reviewed by Eric Carlson.
1392
1393         Fixes the following tests:
1394             http/tests/media/media-source/mediasource-play.html
1395             http/tests/media/media-source/mediasource-remove.html
1396             media/media-source/media-source-monitor-source-buffers.html
1397             media/media-source/media-source-overlapping-append-buffered.html   
1398
1399         In r173318, a for loop was converted to a C++11 loop, but in so doing, left
1400         pre-initialized, empty values in the beginning of returned Vector, which caused
1401         the calling algorithm to miscalculate the amount of data buffered by the media
1402         source.
1403
1404         * Modules/mediasource/MediaSource.cpp:
1405         (WebCore::MediaSource::activeRanges):
1406
1407 2014-09-09  Takeshi Kurosawa  <taken.spc@gmail.com>
1408
1409         AX: HTML5 landmark (and related) elements should not be ignored.
1410         https://bugs.webkit.org/show_bug.cgi?id=135116
1411
1412         Reviewed by Chris Fleizach.
1413
1414         Make sure following element should not be ignored in computeAccessibilityIsIgnored
1415         - header, aside, address, main, nav, article, section
1416         - dt, dd
1417
1418         Tests: platform/mac/accessibility/descriptionlist-not-ignored.html
1419                platform/mac/accessibility/landmark-not-ignored.html
1420
1421         * accessibility/AccessibilityRenderObject.cpp:
1422         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1423
1424 2014-09-08  Sergio Villar Senin  <svillar@igalia.com>
1425
1426         [CSS Grid Layout] RenderGrid methods should take RenderBox references
1427         https://bugs.webkit.org/show_bug.cgi?id=136630
1428
1429         Reviewed by Darin Adler.
1430
1431         RenderGrid has several methods that take pointers to RenderBox
1432         instances but the body of those methods assumes that the objects
1433         will never be NULL. We should replace them by references.
1434
1435         * rendering/RenderGrid.cpp:
1436         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
1437         (WebCore::RenderGrid::logicalContentHeightForChild):
1438         (WebCore::RenderGrid::minContentForChild):
1439         (WebCore::RenderGrid::maxContentForChild):
1440         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
1441         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
1442         (WebCore::RenderGrid::insertItemIntoGrid):
1443         (WebCore::RenderGrid::placeItemsOnGrid):
1444         (WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid):
1445         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
1446         (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
1447         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
1448         (WebCore::RenderGrid::layoutGridItems):
1449         (WebCore::RenderGrid::cachedGridCoordinate):
1450         (WebCore::RenderGrid::gridAreaBreadthForChild):
1451         (WebCore::RenderGrid::findChildLogicalPosition):
1452         * rendering/RenderGrid.h:
1453
1454 2014-09-09  Antti Koivisto  <antti@apple.com>
1455
1456         Remove unnecessary assert that is getting hit in some scenarios.
1457
1458         * platform/network/ResourceResponseBase.cpp:
1459         (WebCore::ResourceResponseBase::certificateInfo):
1460
1461 2014-09-09  Antti Koivisto  <antti@apple.com>
1462
1463         Try to fix windows build.
1464
1465         * platform/network/cf/ResourceResponseCFNet.cpp:
1466         (WebCore::ResourceResponse::platformCertificateInfo):
1467
1468 2014-09-08  Mihnea Ovidenie  <mihnea@adobe.com>
1469
1470         [CSSRegions]Incorrect layout for multicol element transformed into region
1471         https://bugs.webkit.org/show_bug.cgi?id=136459
1472
1473         Reviewed by David Hyatt.
1474
1475         Until we will support the multicolumn region functionality, a multicolumn element
1476         that also has flow-from style is not transformed into a region (https://bugs.webkit.org/show_bug.cgi?id=135153).
1477         However, when a multicolumn element with flow-from style dynamically loses
1478         its multicolumn style while keeping the flow-from style, we have to transform
1479         the element into a region by detaching and attaching the associated DOM node,
1480         in the same way we are proceeding when an element receives a different flow-from style.
1481
1482         Test: fast/regions/multicol/nested-multicol-into-region-dynamic.html
1483
1484         * style/StyleResolveTree.cpp:
1485         (WebCore::Style::determineChange):
1486
1487 2014-09-08  Antti Koivisto  <antti@apple.com>
1488
1489         Pass certificate info as part of ResourceResponse
1490         https://bugs.webkit.org/show_bug.cgi?id=136611
1491
1492         Reviewed by Darin Adler.
1493
1494         The current way of passing certificate info separately from ResourceResponse and then jamming it back
1495         is complex and confusing. This patch makes it a true part of the ResourceResponse.
1496
1497         With this patch we also only create and pass the certificate info object for the main resource. It is
1498         a big and complex object and we never look into it for any other resource type.
1499
1500         * WebCore.exp.in:
1501         * platform/network/ResourceResponseBase.cpp:
1502         (WebCore::ResourceResponseBase::ResourceResponseBase):
1503
1504             Mark initialized for synthetic responses, unitialized for those backed by a platform request.
1505
1506         (WebCore::ResourceResponseBase::initializeCertificateInfo):
1507
1508             Calling this pulls the certificate info out from the platform type.
1509             It shoud only be used for resources that need it.
1510
1511         (WebCore::ResourceResponseBase::certificateInfo):
1512         * platform/network/ResourceResponseBase.h:
1513         (WebCore::ResourceResponseBase::platformCertificateInfo):
1514         (WebCore::ResourceResponseBase::platformSuggestedFileName):
1515         (WebCore::ResourceResponseBase::encode):
1516         (WebCore::ResourceResponseBase::decode):
1517
1518             Encode and decode certificate info if it is present.
1519
1520         * platform/network/cf/ResourceResponse.h:
1521         * platform/network/mac/CertificateInfo.h:
1522         * platform/network/mac/CertificateInfoMac.mm:
1523         (WebCore::CertificateInfo::CertificateInfo):
1524         * platform/network/mac/ResourceResponseMac.mm:
1525         (WebCore::ResourceResponse::platformCertificateInfo):
1526         (WebCore::ResourceResponse::setCertificateChain): Deleted.
1527         (WebCore::ResourceResponse::certificateChain): Deleted.
1528         * platform/network/soup/ResourceResponse.h:
1529         * platform/network/soup/ResourceResponseSoup.cpp:
1530         (WebCore::ResourceResponse::platformCertificateInfo):
1531
1532 2014-09-09  Mihnea Ovidenie  <mihnea@adobe.com>
1533
1534         [CSSRegions] Use C++11 range-based loops in FlowThreadController
1535         https://bugs.webkit.org/show_bug.cgi?id=136634
1536
1537         Reviewed by Andrei Bucur.
1538
1539         No new tests as no new functionality was introduced.
1540
1541         * rendering/FlowThreadController.cpp:
1542         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
1543         (WebCore::FlowThreadController::styleDidChange):
1544         (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
1545         (WebCore::FlowThreadController::updateFlowThreadsChainIfNecessary):
1546         (WebCore::FlowThreadController::updateFlowThreadsNeedingLayout):
1547         (WebCore::FlowThreadController::updateFlowThreadsNeedingTwoStepLayout):
1548         (WebCore::FlowThreadController::resetFlowThreadsWithAutoHeightRegions):
1549         (WebCore::FlowThreadController::updateFlowThreadsIntoMeasureContentPhase):
1550         (WebCore::FlowThreadController::updateFlowThreadsLayerToRegionMappingsIfNeeded):
1551         (WebCore::FlowThreadController::updateNamedFlowsLayerListsIfNeeded):
1552         (WebCore::FlowThreadController::collectFixedPositionedLayers):
1553         (WebCore::FlowThreadController::isAutoLogicalHeightRegionsCountConsistent):
1554
1555 2014-09-08  Simon Fraser  <simon.fraser@apple.com>
1556
1557         Minor refactor in CSSComputedStyleDeclaration
1558         https://bugs.webkit.org/show_bug.cgi?id=136664
1559
1560         Reviewed by Darin Adler.
1561
1562         The "if (length.isPercentNotCalculated()) createValue() else zoomAdjustedPixelValue()"
1563         pattern occurred a number of times here, so factor into percentageOrZoomAdjustedValue().
1564
1565         * css/CSSComputedStyleDeclaration.cpp:
1566         (WebCore::positionOffsetValue): l -> length
1567         (WebCore::percentageOrZoomAdjustedValue):
1568         (WebCore::getBorderRadiusCornerValues):
1569         (WebCore::getBorderRadiusCornerValue):
1570         (WebCore::scrollSnapDestination):
1571         (WebCore::scrollSnapPoints):
1572         (WebCore::scrollSnapCoordinates):
1573
1574 2014-09-08  Alexey Proskuryakov  <ap@apple.com>
1575
1576         Application Cache Storage: failed to execute statement "DELETE FROM CacheGroups" error "no such table: CacheGroups"
1577         https://bugs.webkit.org/show_bug.cgi?id=136647
1578
1579         Reviewed by Darin Adler.
1580
1581         * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::verifySchemaVersion):
1582         Don't try to delete the tables if we can't expect to have them yet.
1583
1584 2014-09-08  Myles C. Maxfield  <mmaxfield@apple.com>
1585
1586         REGRESSION (r172153): Text drawn with wrong color when second text shadow has zero offset and blur (breaks buttons at aws.amazon.com)
1587         https://bugs.webkit.org/show_bug.cgi?id=136612
1588
1589         Reviewed by Darin Adler.
1590
1591         r172153 was fundamentally broken, and would restore graphics contexts that had never been saved. This patch
1592         reimplements r172153 by using "continue" to skip loop iterations instead of changing the internal logic of
1593         the loop.
1594
1595         In addition, I have refactored InlineTextBox::applyShadowToGraphicsContext() to take an extra boolean
1596         reference as an out parameter in order to make it obvious it if saved a graphics context that needs
1597         to be restored. This should make it less likely to make these kinds of mistakes in the future.
1598
1599         Test: fast/text/empty-shadow-with-color.html
1600
1601         * rendering/InlineTextBox.cpp:
1602         (WebCore::InlineTextBox::applyShadowToGraphicsContext): Add bool reference out param.
1603         * rendering/InlineTextBox.h: Ditto.
1604         * rendering/TextPainter.cpp:
1605         (WebCore::isEmptyShadow): Change logic to not skip loop iterations on a null shadow.
1606         (WebCore::paintTextWithShadows): Use continue to skip loop iterations for empty shadows. In addition,
1607         use the out param in InlineTextBox::applyShadowToGraphicsContext().
1608         * rendering/svg/SVGInlineTextBox.cpp:
1609         (WebCore::SVGInlineTextBox::paintTextWithShadows): Update for new sigurature of
1610         InlineTextBox::applyShadowToGraphicsContext().
1611
1612 2014-09-08  Commit Queue  <commit-queue@webkit.org>
1613
1614         Unreviewed, rolling out r173402.
1615         https://bugs.webkit.org/show_bug.cgi?id=136649
1616
1617         Breaking buildw with error "unable to restore file position to
1618         0x00000c60 for section __DWARF.__debug_info (errno = 9)"
1619         (Requested by mlam_ on #webkit).
1620
1621         Reverted changeset:
1622
1623         "Move CallFrame and Register inlines functions out of
1624         JSScope.h."
1625         https://bugs.webkit.org/show_bug.cgi?id=136579
1626         http://trac.webkit.org/changeset/173402
1627
1628 2014-09-05  Mark Lam  <mark.lam@apple.com>
1629
1630         Move CallFrame and Register inlines functions out of JSScope.h.
1631         <https://webkit.org/b/136579>
1632
1633         Reviewed by Geoffrey Garen.
1634
1635         No new tests.
1636
1637         Added #include of the appropriate *Inlines.h files.  Unlike in
1638         JavaScriptCore, I #include'd the specific needed *Inlines.h instead of
1639         JSCInlines.h.  This is done to minimize the need for WebCore to be
1640         rebuilt when JSC changes are introduced.
1641
1642         * ForwardingHeaders/interpreter/RegisterInlines.h: Added.
1643         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
1644         * bindings/js/JSAudioTrackCustom.cpp:
1645         * bindings/js/JSBiquadFilterNodeCustom.cpp:
1646         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1647         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1648         * bindings/js/JSCommandLineAPIHostCustom.cpp:
1649         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1650         * bindings/js/JSDOMBinding.h:
1651         * bindings/js/JSDOMStringListCustom.cpp:
1652         * bindings/js/JSDOMWindowBase.cpp:
1653         * bindings/js/JSDOMWindowShell.cpp:
1654         * bindings/js/JSDocumentCustom.cpp:
1655         * bindings/js/JSHTMLDocumentCustom.cpp:
1656         * bindings/js/JSOscillatorNodeCustom.cpp:
1657         * bindings/js/JSPannerNodeCustom.cpp:
1658         * bindings/js/JSPopStateEventCustom.cpp:
1659         * dom/TreeWalker.cpp:
1660         * html/HTMLPlugInImageElement.cpp:
1661         * inspector/CommandLineAPIModule.cpp:
1662         * inspector/InspectorController.cpp:
1663
1664 2014-09-08  Dean Jackson  <dino@apple.com>
1665
1666         Separate the Apple media controls module from other ports
1667         https://bugs.webkit.org/show_bug.cgi?id=136644
1668         rdar://problem/18270969
1669
1670         Reviewed by Eric Carlson.
1671
1672         Make a mediaControlsBase.{js|css} that acts as the base
1673         class for the EFL and GTK ports (they were using mediaControlsApple).
1674         Over time, the Apple-specific controls may use more of the
1675         Base class.
1676
1677         * Modules/mediacontrols/mediaControlsBase.css: Added.
1678         * Modules/mediacontrols/mediaControlsBase.js: Added.
1679         * PlatformEfl.cmake:
1680         * PlatformGTK.cmake:
1681         * platform/efl/RenderThemeEfl.cpp:
1682         (WebCore::RenderThemeEfl::mediaControlsStyleSheet): Load Base rather than Apple.
1683         (WebCore::RenderThemeEfl::mediaControlsScript): Ditto.
1684         * rendering/RenderThemeGtk.cpp:
1685         (WebCore::RenderThemeGtk::mediaControlsScript): Ditto.
1686
1687 2014-09-08  Jochen Eisinger  <jochen@chromium.org>
1688
1689         Always update the referrer header in CachedResource
1690         https://bugs.webkit.org/show_bug.cgi?id=136642
1691
1692         Reviewed by Alexey Proskuryakov.
1693
1694         If a request already includes a referrer header, and the document has
1695         a non-default referrer policy, it is possible that we have to modify
1696         the referrer header.
1697
1698         * loader/cache/CachedResource.cpp:
1699         (WebCore::CachedResource::addAdditionalRequestHeaders):
1700
1701 2014-09-08  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
1702
1703         Remove FILTERS flag
1704         https://bugs.webkit.org/show_bug.cgi?id=136571
1705
1706         Reviewed by Darin Adler.
1707
1708         No new tests required, no new functionality.
1709
1710         * CMakeLists.txt:
1711         * Configurations/FeatureDefines.xcconfig:
1712         * DerivedSources.make:
1713         * dom/DOMImplementation.cpp:
1714         (WebCore::isSupportedSVG10Feature):
1715         (WebCore::isSupportedSVG11Feature):
1716         * platform/graphics/cpu/arm/filters/FEBlendNEON.h:
1717         * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
1718         * platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h:
1719         * platform/graphics/cpu/arm/filters/NEONHelpers.h:
1720         * platform/graphics/filters/DistantLightSource.cpp:
1721         * platform/graphics/filters/DistantLightSource.h:
1722         * platform/graphics/filters/FEBlend.cpp:
1723         * platform/graphics/filters/FEBlend.h:
1724         * platform/graphics/filters/FEColorMatrix.cpp:
1725         * platform/graphics/filters/FEColorMatrix.h:
1726         * platform/graphics/filters/FEComponentTransfer.cpp:
1727         * platform/graphics/filters/FEComponentTransfer.h:
1728         * platform/graphics/filters/FEComposite.cpp:
1729         * platform/graphics/filters/FEComposite.h:
1730         * platform/graphics/filters/FEConvolveMatrix.cpp:
1731         * platform/graphics/filters/FEConvolveMatrix.h:
1732         * platform/graphics/filters/FEDiffuseLighting.cpp:
1733         * platform/graphics/filters/FEDiffuseLighting.h:
1734         * platform/graphics/filters/FEDisplacementMap.cpp:
1735         * platform/graphics/filters/FEDisplacementMap.h:
1736         * platform/graphics/filters/FEDropShadow.cpp:
1737         * platform/graphics/filters/FEDropShadow.h:
1738         * platform/graphics/filters/FEFlood.cpp:
1739         * platform/graphics/filters/FEFlood.h:
1740         * platform/graphics/filters/FEGaussianBlur.cpp:
1741         * platform/graphics/filters/FEGaussianBlur.h:
1742         * platform/graphics/filters/FELighting.cpp:
1743         * platform/graphics/filters/FELighting.h:
1744         * platform/graphics/filters/FEMerge.cpp:
1745         * platform/graphics/filters/FEMerge.h:
1746         * platform/graphics/filters/FEMorphology.cpp:
1747         * platform/graphics/filters/FEMorphology.h:
1748         * platform/graphics/filters/FEOffset.cpp:
1749         * platform/graphics/filters/FEOffset.h:
1750         * platform/graphics/filters/FESpecularLighting.cpp:
1751         * platform/graphics/filters/FESpecularLighting.h:
1752         * platform/graphics/filters/FETile.cpp:
1753         * platform/graphics/filters/FETile.h:
1754         * platform/graphics/filters/FETurbulence.cpp:
1755         * platform/graphics/filters/FETurbulence.h:
1756         * platform/graphics/filters/Filter.h:
1757         * platform/graphics/filters/FilterEffect.cpp:
1758         * platform/graphics/filters/FilterEffect.h:
1759         * platform/graphics/filters/LightSource.h:
1760         * platform/graphics/filters/PointLightSource.cpp:
1761         * platform/graphics/filters/PointLightSource.h:
1762         * platform/graphics/filters/SourceAlpha.cpp:
1763         * platform/graphics/filters/SourceAlpha.h:
1764         * platform/graphics/filters/SourceGraphic.cpp:
1765         * platform/graphics/filters/SourceGraphic.h:
1766         * platform/graphics/filters/SpotLightSource.cpp:
1767         * platform/graphics/filters/SpotLightSource.h:
1768         * rendering/svg/RenderSVGResource.cpp:
1769         (WebCore::removeFromCacheAndInvalidateDependencies):
1770         * rendering/svg/RenderSVGResourceFilter.cpp:
1771         * rendering/svg/RenderSVGResourceFilter.h:
1772         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1773         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
1774         * rendering/svg/RenderSVGRoot.cpp:
1775         * rendering/svg/SVGRenderSupport.cpp:
1776         (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
1777         * rendering/svg/SVGRenderTreeAsText.cpp:
1778         (WebCore::writeSVGResourceContainer):
1779         (WebCore::writeResources):
1780         * rendering/svg/SVGRenderingContext.cpp:
1781         (WebCore::SVGRenderingContext::~SVGRenderingContext):
1782         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
1783         * rendering/svg/SVGRenderingContext.h:
1784         (WebCore::SVGRenderingContext::SVGRenderingContext):
1785         * rendering/svg/SVGResources.cpp:
1786         (WebCore::targetReferenceFromResource):
1787         (WebCore::SVGResources::buildCachedResources):
1788         (WebCore::SVGResources::removeClientFromCache):
1789         (WebCore::SVGResources::resourceDestroyed):
1790         (WebCore::SVGResources::buildSetOfResources):
1791         (WebCore::SVGResources::resetFilter):
1792         (WebCore::SVGResources::dump):
1793         * rendering/svg/SVGResources.h:
1794         (WebCore::SVGResources::filter):
1795         (WebCore::SVGResources::ClipperFilterMaskerData::ClipperFilterMaskerData):
1796         * rendering/svg/SVGResourcesCycleSolver.cpp:
1797         (WebCore::SVGResourcesCycleSolver::breakCycle):
1798         * svg/SVGAnimatedEnumeration.cpp:
1799         (WebCore::enumerationValueForTargetAttribute):
1800         * svg/SVGComponentTransferFunctionElement.cpp:
1801         * svg/SVGComponentTransferFunctionElement.h:
1802         * svg/SVGComponentTransferFunctionElement.idl:
1803         * svg/SVGFEBlendElement.cpp:
1804         * svg/SVGFEBlendElement.h:
1805         * svg/SVGFEBlendElement.idl:
1806         * svg/SVGFEColorMatrixElement.cpp:
1807         * svg/SVGFEColorMatrixElement.h:
1808         * svg/SVGFEColorMatrixElement.idl:
1809         * svg/SVGFEComponentTransferElement.cpp:
1810         * svg/SVGFEComponentTransferElement.h:
1811         * svg/SVGFEComponentTransferElement.idl:
1812         * svg/SVGFECompositeElement.cpp:
1813         * svg/SVGFECompositeElement.h:
1814         * svg/SVGFECompositeElement.idl:
1815         * svg/SVGFEConvolveMatrixElement.cpp:
1816         * svg/SVGFEConvolveMatrixElement.h:
1817         * svg/SVGFEConvolveMatrixElement.idl:
1818         * svg/SVGFEDiffuseLightingElement.cpp:
1819         * svg/SVGFEDiffuseLightingElement.h:
1820         * svg/SVGFEDiffuseLightingElement.idl:
1821         * svg/SVGFEDisplacementMapElement.cpp:
1822         * svg/SVGFEDisplacementMapElement.h:
1823         * svg/SVGFEDisplacementMapElement.idl:
1824         * svg/SVGFEDistantLightElement.cpp:
1825         * svg/SVGFEDistantLightElement.h:
1826         * svg/SVGFEDistantLightElement.idl:
1827         * svg/SVGFEDropShadowElement.cpp:
1828         * svg/SVGFEDropShadowElement.h:
1829         * svg/SVGFEDropShadowElement.idl:
1830         * svg/SVGFEFloodElement.cpp:
1831         * svg/SVGFEFloodElement.h:
1832         * svg/SVGFEFloodElement.idl:
1833         * svg/SVGFEFuncAElement.cpp:
1834         * svg/SVGFEFuncAElement.h:
1835         * svg/SVGFEFuncAElement.idl:
1836         * svg/SVGFEFuncBElement.cpp:
1837         * svg/SVGFEFuncBElement.h:
1838         * svg/SVGFEFuncBElement.idl:
1839         * svg/SVGFEFuncGElement.cpp:
1840         * svg/SVGFEFuncGElement.h:
1841         * svg/SVGFEFuncGElement.idl:
1842         * svg/SVGFEFuncRElement.cpp:
1843         * svg/SVGFEFuncRElement.h:
1844         * svg/SVGFEFuncRElement.idl:
1845         * svg/SVGFEGaussianBlurElement.cpp:
1846         * svg/SVGFEGaussianBlurElement.h:
1847         * svg/SVGFEGaussianBlurElement.idl:
1848         * svg/SVGFEImageElement.cpp:
1849         * svg/SVGFEImageElement.h:
1850         * svg/SVGFEImageElement.idl:
1851         * svg/SVGFELightElement.cpp:
1852         * svg/SVGFELightElement.h:
1853         * svg/SVGFEMergeElement.cpp:
1854         * svg/SVGFEMergeElement.h:
1855         * svg/SVGFEMergeElement.idl:
1856         * svg/SVGFEMergeNodeElement.cpp:
1857         * svg/SVGFEMergeNodeElement.h:
1858         * svg/SVGFEMergeNodeElement.idl:
1859         * svg/SVGFEMorphologyElement.cpp:
1860         * svg/SVGFEMorphologyElement.h:
1861         * svg/SVGFEMorphologyElement.idl:
1862         * svg/SVGFEOffsetElement.cpp:
1863         * svg/SVGFEOffsetElement.h:
1864         * svg/SVGFEOffsetElement.idl:
1865         * svg/SVGFEPointLightElement.cpp:
1866         * svg/SVGFEPointLightElement.h:
1867         * svg/SVGFEPointLightElement.idl:
1868         * svg/SVGFESpecularLightingElement.cpp:
1869         * svg/SVGFESpecularLightingElement.h:
1870         * svg/SVGFESpecularLightingElement.idl:
1871         * svg/SVGFESpotLightElement.cpp:
1872         * svg/SVGFESpotLightElement.h:
1873         * svg/SVGFESpotLightElement.idl:
1874         * svg/SVGFETileElement.cpp:
1875         * svg/SVGFETileElement.h:
1876         * svg/SVGFETileElement.idl:
1877         * svg/SVGFETurbulenceElement.cpp:
1878         * svg/SVGFETurbulenceElement.h:
1879         * svg/SVGFETurbulenceElement.idl:
1880         * svg/SVGFilterElement.cpp:
1881         * svg/SVGFilterElement.h:
1882         * svg/SVGFilterElement.idl:
1883         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1884         * svg/SVGFilterPrimitiveStandardAttributes.h:
1885         * svg/graphics/filters/SVGFEImage.cpp:
1886         * svg/graphics/filters/SVGFEImage.h:
1887         * svg/graphics/filters/SVGFilter.cpp:
1888         * svg/graphics/filters/SVGFilter.h:
1889         * svg/graphics/filters/SVGFilterBuilder.cpp:
1890         * svg/graphics/filters/SVGFilterBuilder.h:
1891         * svg/svgtags.in:
1892
1893 2014-09-08  Simon Fraser  <simon.fraser@apple.com>
1894
1895         Use enum class for the RunPostLayoutTasks enum
1896         https://bugs.webkit.org/show_bug.cgi?id=136640
1897
1898         Reviewed by Dean Jackson.
1899
1900         Use enum class for RunPostLayoutTasks fixing callers. Add an explanatory comment,
1901         and add some spacing.
1902
1903         * dom/Document.cpp:
1904         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
1905         * dom/Document.h:
1906         * html/HTMLAppletElement.cpp:
1907         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
1908         * html/HTMLEmbedElement.cpp:
1909         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
1910         * html/HTMLObjectElement.cpp:
1911         (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
1912         * testing/Internals.cpp:
1913         (WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):
1914
1915 2014-09-08  peavo@outlook.com  <peavo@outlook.com>
1916
1917         [WinCairo] Compile error.
1918         https://bugs.webkit.org/show_bug.cgi?id=136633
1919
1920         Reviewed by Darin Adler.
1921
1922         Enum name has already been defined.
1923
1924         * platform/audio/AudioHardwareListener.h:
1925
1926 2014-09-08  Tim Horton  <timothy_horton@apple.com>
1927
1928         Remove some unused code in ImageSourceCG
1929         https://bugs.webkit.org/show_bug.cgi?id=136638
1930
1931         Reviewed by Dan Bernstein.
1932
1933         * platform/graphics/cg/ImageSourceCG.cpp:
1934         (WebCore::ImageSource::setData):
1935         Remove this code. Firstly, it's in a USE(CG) && !PLATFORM(COCOA) && !PLATFORM(WIN)
1936         block, and that's simply not a thing. Secondly, the referenced bug was fixed in Lion.
1937
1938 2014-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1939
1940         Introduce CSS_RULE_TYPE_CASTS, and use it
1941         https://bugs.webkit.org/show_bug.cgi?id=136628
1942
1943         Reviewed by Darin Adler.
1944
1945         As a step to use toFoo, this patch introduces toCSSFooRule(). This will help to detect
1946         wrong type cast. Additionally some missing type casts are clean up as well.
1947
1948         No new tests, no behavior changes.
1949
1950         * bindings/gobject/WebKitDOMPrivate.cpp:
1951         (WebKit::wrap):
1952         * css/CSSFontSelector.cpp:
1953         (WebCore::CSSFontSelector::addFontFaceRule):
1954         * css/CSSImportRule.h:
1955         * css/CSSMediaRule.h:
1956         * css/CSSParser.cpp:
1957         (WebCore::CSSParser::parseGridTemplateRowsAndAreas):
1958         * css/CSSRule.h:
1959         * css/CSSStyleRule.h:
1960         * css/CSSSupportsRule.h:
1961         * css/InspectorCSSOMWrappers.cpp:
1962         (WebCore::InspectorCSSOMWrappers::collect):
1963         * css/WebKitCSSRegionRule.h:
1964         * inspector/InspectorCSSAgent.cpp:
1965         (WebCore::InspectorCSSAgent::asCSSStyleRule):
1966         (WebCore::InspectorCSSAgent::collectStyleSheets):
1967         * inspector/InspectorStyleSheet.cpp:
1968         (WebCore::asCSSRuleList):
1969         (WebCore::fillMediaListChain):
1970         * page/PageSerializer.cpp:
1971         (WebCore::PageSerializer::serializeCSSStyleSheet):
1972
1973 2014-09-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1974
1975         [EFL[WK2] MiniBrowser comes to crash on debug mode
1976         https://bugs.webkit.org/show_bug.cgi?id=136617
1977
1978         Reviewed by Csaba Osztrogonác.
1979
1980         Fix wrong ASSERTION use in applyCursorFromEcoreX().
1981
1982         * platform/efl/EflScreenUtilities.cpp: Change ASSERT(!window) with *ASSERT(window)*
1983         (WebCore::applyCursorFromEcoreX):
1984
1985 2014-09-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1986
1987         Introduce toBasicShapeFoo() instead of static_cast<BasicShapeFoo*>
1988         https://bugs.webkit.org/show_bug.cgi?id=136609
1989
1990         Reviewed by Darin Adler.
1991
1992         To use BasicShapeFoo() helps to detect wrong type casting and improve code readability.
1993
1994         No new tests, no behavior changes.
1995
1996         * css/BasicShapeFunctions.cpp:
1997         (WebCore::valueForBasicShape):
1998         * rendering/shapes/Shape.cpp:
1999         (WebCore::Shape::createShape):
2000         * rendering/style/BasicShapes.cpp:
2001         (WebCore::BasicShape::canBlend):
2002         (WebCore::BasicShapeCircle::blend):
2003         (WebCore::BasicShapeEllipse::blend):
2004         (WebCore::BasicShapePolygon::blend):
2005         (WebCore::BasicShapeInset::blend):
2006         * rendering/style/BasicShapes.h:
2007
2008 2014-09-06  Jer Noble  <jer.noble@apple.com>
2009
2010         [Fullscreen] Add a site-specific hack to work around "flash on exit" behavior of YouTube.com.
2011         https://bugs.webkit.org/show_bug.cgi?id=136604
2012
2013         Reviewed by Eric Carlson.
2014
2015         YouTube.com will cause a "flash" of the full screen sized <video> element upon exiting full
2016         screen because the "fullscreenchange" event is fired asynchronously after the exit animation
2017         completes. Only YouTube sites and embeds, add a site-specific-quirk which runs the "fullscreenchange"
2018         event synchronously at the end of the exit animation. This causes YouTube's video resizing logic
2019         to run during the period of time where we've disabled screen updates, instead of immediately
2020         after.
2021
2022         * dom/Document.cpp:
2023         (WebCore::Document::webkitDidExitFullScreenForElement):
2024
2025 2014-09-06  Darin Adler  <darin@apple.com>
2026
2027         Make updates suggested by new version of Xcode
2028         https://bugs.webkit.org/show_bug.cgi?id=136603
2029
2030         Reviewed by Mark Rowe.
2031
2032         * Configurations/Base.xcconfig: Added COMBINE_HIDPI_IMAGES and
2033         ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.
2034
2035         * WebCore.xcodeproj/project.pbxproj: Let Xcode remove an orphaned item from the file,
2036         and also updated LastUpgradeCheck.
2037
2038         * html/HTMLMediaElement.cpp:
2039         (WebCore::HTMLMediaElement::updateTextTrackDisplay): Use #if/#else/#endif instead of
2040         using #if/return/#endif and leaving code unreachable.
2041         (WebCore::HTMLMediaElement::configureMediaControls): Ditto.
2042         (WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.
2043         * html/canvas/WebGLDrawBuffers.cpp:
2044         (WebCore::WebGLDrawBuffers::supported): Ditto.
2045
2046 2014-09-06  Brian J. Burg  <burg@cs.washington.edu>
2047
2048         Web Inspector: convert DockSide to an enum class
2049         https://bugs.webkit.org/show_bug.cgi?id=136601
2050
2051         Reviewed by Timothy Hatcher.
2052
2053         * inspector/InspectorFrontendClient.h:
2054         * inspector/InspectorFrontendClientLocal.cpp:
2055         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
2056         (WebCore::InspectorFrontendClientLocal::requestSetDockSide):
2057         (WebCore::InspectorFrontendClientLocal::canAttachWindow):
2058         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
2059         * inspector/InspectorFrontendHost.cpp:
2060         (WebCore::InspectorFrontendHost::requestSetDockSide):
2061
2062 2014-09-06  Antti Koivisto  <antti@apple.com>
2063
2064         Serialize ResourceResponses using WebKit types
2065         https://bugs.webkit.org/show_bug.cgi?id=136545
2066
2067         Fix the failing webarchive tests.
2068
2069         * platform/network/mac/ResourceResponseMac.mm:
2070         (WebCore::ResourceResponse::initNSURLResponse): Map empty text encoding name to nil NSString.
2071
2072 2014-09-06  peavo@outlook.com  <peavo@outlook.com>
2073
2074         [WinCairo][Curl] fileExists() incorrectly claims folder does not exist.
2075         https://bugs.webkit.org/show_bug.cgi?id=136598
2076
2077         Reviewed by Alex Christensen.
2078
2079         The fileExists() function will always return false on Windows,
2080         if the filename parameter ends with a slash or backslash.
2081
2082         * platform/network/curl/CurlCacheManager.cpp:
2083         (WebCore::CurlCacheManager::setCacheDirectory): Add slash after call to fileExists().
2084
2085 2014-09-06  David Kilzer  <ddkilzer@apple.com>
2086
2087         New clang warns about boolean checks for |this| pointer in RenderObject debug methods
2088         <http://webkit.org/b/136599>
2089
2090         Reviewed by Zalan Bujtas.
2091
2092         Ignores the following static analyzer warnings:
2093
2094             Source/WebCore/rendering/RenderObject.cpp:1465:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]
2095                 if (!this) {
2096                     ~^~~~
2097             Source/WebCore/rendering/RenderObject.cpp:1584:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]
2098                 if (!this)
2099                     ~^~~~
2100
2101         * rendering/RenderObject.cpp:
2102         (WebCore::RenderObject::showRenderObject):
2103         (WebCore::RenderObject::showRenderSubTreeAndMark):
2104         Add "#pragma clang" preprocessor macros to ignore this warning
2105         since the code is only compiled for Debug builds.  Also add a
2106         pragma for the pragma so older clangs don't complain about an
2107         unkonwn pragma.
2108
2109 2014-09-06  Antti Koivisto  <antti@apple.com>
2110
2111         Serialize ResourceResponses using WebKit types
2112         https://bugs.webkit.org/show_bug.cgi?id=136545
2113
2114         Reviewed by Alexey Proskuryakov.
2115
2116         Serialization is faster and we can mostly avoid having NSURLResponses in web process.
2117
2118         * WebCore.exp.in:
2119         * platform/network/ResourceLoadTiming.h:
2120         (WebCore::ResourceLoadTiming::encode):
2121         (WebCore::ResourceLoadTiming::decode):
2122         * platform/network/ResourceResponseBase.h:
2123         (WebCore::ResourceResponseBase::encode):
2124         (WebCore::ResourceResponseBase::decode):
2125
2126             Serialize from the WebCore data instead of serializing NSURLResponse.
2127
2128         * platform/network/cf/ResourceResponseCFNet.cpp:
2129         (WebCore::ResourceResponse::cfURLResponse):
2130
2131             Synthesize CFURLResponse by creating NSURLResponse on Cocoa platforms so we don't need copy code.
2132             This has negligible performance impact, NSURLResponse is just a wrapper around CFURLResponse.
2133
2134         * platform/network/mac/ResourceResponseMac.mm:
2135         (WebCore::ResourceResponse::nsURLResponse):
2136         (WebCore::ResourceResponse::setCertificateChain):
2137
2138             Avoid unnecessary NSURLRequest instantiation in debug builds.
2139
2140 2014-09-06  David Kilzer  <ddkilzer@apple.com>
2141
2142         HTMLElement.cpp does not compile with new clang
2143         <http://webkit.org/b/136600>
2144
2145         Reviewed by Chris Fleizach.
2146
2147         Fixes the following static analyzer warning:
2148
2149             Source/WebCore/html/HTMLElement.cpp:545:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]
2150                 if (!this || !parentNode())
2151                     ~^~~~
2152
2153         * html/HTMLElement.cpp:
2154         (WebCore::HTMLElement::setOuterText): Remove "!this" check added
2155         in r75738.  It would only cover up real bugs, and isn't even hit
2156         in layout tests.
2157
2158 2014-09-06  Ryuan Choi  <ryuan.choi@gmail.com>
2159
2160         [EFL] Drop evas object cursor support
2161         https://bugs.webkit.org/show_bug.cgi?id=136324
2162
2163         Reviewed by Gyuyoung Kim.
2164
2165         Removed evas object cursor because there are some bugs.
2166         ewebkit will only support ecore_x_cursor because ewebkit is available with X, now.
2167
2168         * platform/efl/DefaultTheme/CMakeLists.txt: Removed cursor related code.
2169         * platform/efl/DefaultTheme/default.edc: Ditto.
2170         * platform/efl/DefaultTheme/widget/cursor/cursor.edc: Removed.
2171         * platform/efl/EflScreenUtilities.cpp:
2172         (WebCore::getEcoreCursor):
2173         (WebCore::applyCursorFromEcoreX): Renamed applyFallbackCursor.
2174         (WebCore::createCustomCursor): Added to make custom cursor.
2175         (WebCore::applyFallbackCursor): Deleted.
2176         * platform/efl/EflScreenUtilities.h:
2177
2178 2014-09-05  Commit Queue  <commit-queue@webkit.org>
2179
2180         Unreviewed, rolling out r173340 and r173342.
2181         https://bugs.webkit.org/show_bug.cgi?id=136596
2182
2183         Broke many tests (Requested by ap on #webkit).
2184
2185         Reverted changesets:
2186
2187         "Remove PLATFORM(IOS) from WebCore/editing (Part 3)."
2188         https://bugs.webkit.org/show_bug.cgi?id=136474
2189         http://trac.webkit.org/changeset/173340
2190
2191         "Build fix after r173340."
2192         http://trac.webkit.org/changeset/173342
2193
2194 2014-09-05  Joseph Pecoraro  <pecoraro@apple.com>
2195
2196         Use WTFString::split(char) in more places
2197         https://bugs.webkit.org/show_bug.cgi?id=136543
2198
2199         Reviewed by Sam Weinig.
2200
2201         * inspector/InspectorDOMAgent.cpp:
2202         (WebCore::InspectorDOMAgent::nodeForPath):
2203         * mathml/MathMLMencloseElement.cpp:
2204         (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
2205         * page/PerformanceResourceTiming.cpp:
2206         (WebCore::passesTimingAllowCheck):
2207         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2208         (WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):
2209         * platform/graphics/opengl/GLPlatformContext.cpp:
2210         (WebCore::parseExtensions):
2211         * platform/gtk/PasteboardHelper.cpp:
2212         (WebCore::PasteboardHelper::fillDataObjectFromDropData):
2213         * platform/network/curl/CurlCacheEntry.cpp:
2214         (WebCore::CurlCacheEntry::loadResponseHeaders):
2215         * platform/network/curl/CurlCacheManager.cpp:
2216         (WebCore::CurlCacheManager::loadIndex):
2217
2218 2014-09-05  Myles C. Maxfield  <mmaxfield@apple.com>
2219
2220         Laying out a TextRun using an SVG font is O(n^2)
2221         https://bugs.webkit.org/show_bug.cgi?id=136584
2222
2223         Reviewed by Andreas Kling.
2224
2225         Caching the version of the run with normalized spaces leads to a 5x speedup on the
2226         performance test this patch adds.
2227
2228         Note that SVGFontData::applySVGGlyphSelection() is still unnecesarrily O(n), so more
2229         work can be done here. In particular, the call to collectGlyphsForString() can likely
2230         be sped up.
2231
2232         No new correctness tests because there is no behavior change.
2233         Performance Test: SVG/SVG-Text.html
2234
2235         * platform/graphics/Font.h:
2236         (WebCore::Font::treatAsSpace): Make inline.
2237         (WebCore::Font::treatAsZeroWidthSpace): Ditto.
2238         (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Ditto.
2239         * platform/graphics/SimpleFontData.h: Add String cache argument.
2240         * platform/graphics/TextRun.h: Move member variables around for better packing.
2241         (WebCore::TextRun::TextRun): Ditto.
2242         * platform/graphics/WidthIterator.cpp: Add String cache argument.
2243         (WebCore::WidthIterator::glyphDataForCharacter): Ditto.
2244         (WebCore::WidthIterator::advanceInternal): Create String cache and pass it to
2245         glyphDataForCharacter.
2246         * platform/graphics/WidthIterator.h: Add String cache argument.
2247         * rendering/svg/SVGTextRunRenderingContext.cpp: Ditto.
2248         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Ditto.
2249         * rendering/svg/SVGTextRunRenderingContext.h: Ditto.
2250         * svg/SVGFontData.cpp:
2251         (WebCore::SVGFontData::applySVGGlyphSelection): Call computeNormalizedSpaces
2252         to consult with the cache.
2253         (WebCore::computeNormalizedSpaces): Compute cached String value.
2254         * svg/SVGFontData.h: Add String cache argument.
2255
2256 2014-09-05  David Kilzer  <ddkilzer@apple.com>
2257
2258         REGRESSION (r169407): Calls to RenderStyle::getRoundedBorderFor() in computeRoundedRectForBoxShape() still include RenderView pointer
2259         <http://webkit.org/b/136591>
2260         <rdar://problem/18143731>
2261
2262         Reviewed by Simon Fraser.
2263
2264         In r169407, the RenderView* argument was removed from
2265         RenderStyle::getRoundedBorderFor().  This argument was not
2266         removed from these calls in computeRoundedRectForBoxShape(), but
2267         because getRoundedBorderFor() always returned a reference, and
2268         because the default for the next argument was true, there was no
2269         actual change in behavior from this bug.
2270
2271         No new tests since there is no change in behavior.
2272
2273         * rendering/shapes/BoxShape.cpp:
2274         (WebCore::computeRoundedRectForBoxShape): Remove RenderView*
2275         arguments from calls to getRoundedBorderFor().
2276
2277 2014-09-05  Tim Horton  <timothy_horton@apple.com>
2278
2279         [iOS] Work around bug 136593 by disabling the PDFDocumentImage live resize optimization there
2280         https://bugs.webkit.org/show_bug.cgi?id=136594
2281         rdar://problem/17457013
2282
2283         Reviewed by Simon Fraser.
2284
2285         * platform/graphics/cg/PDFDocumentImage.cpp:
2286         (WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
2287         Disable the optimization on iOS, because bug 136593 rears its head
2288         most often on iOS because it is more common to have contexts that always
2289         use low-quality image interpolation on that platform.
2290
2291 2014-09-05  Tim Horton  <timothy_horton@apple.com>
2292
2293         Doing a navigation on a non-opaque WKWebView can result in an empty layer tree
2294         https://bugs.webkit.org/show_bug.cgi?id=136590
2295         <rdar://problem/18234000>
2296
2297         Reviewed by Simon Fraser.
2298
2299         * page/FrameView.cpp:
2300         (WebCore::FrameView::setTransparent):
2301         Avoid scheduling a compositing layer update if the RenderView isn't the
2302         one associated with this FrameView. This can happen during a navigation,
2303         before the new Document (and RenderView) is swapped in. This is particularly
2304         bad in the case of setTransparent because it is called from Frame::createView,
2305         which is right in the middle of that transition window. If we let the compositing
2306         layer update go ahead, it can end up detaching the new Document's layer tree,
2307         and we have no mechanism that would cause it to reattach.
2308
2309 2014-09-05  Enrica Casucci  <enrica@apple.com>
2310
2311         Remove PLATFORM(IOS) from WebCore/editing (Part 3).
2312         https://bugs.webkit.org/show_bug.cgi?id=136474
2313
2314         Reviewed by Benjamin Poulain.
2315
2316         This patch removes the use of PLATFORM(IOS) from TextAffinity.h
2317         and removes the assumption that EAffinity values match NSSelectionAffinity
2318         values. It also removes the includes in TextAffinity.h, creating the need to
2319         include explicitly the files when necessary. It also removes the unnecessary
2320         use of platform specific types, replacing them with WebCore types.
2321
2322         * editing/TextAffinity.h:
2323         (kit): Deleted.
2324         (core): Deleted.
2325         * editing/cocoa/HTMLConverter.mm:
2326         * page/mac/WebCoreFrameView.h:
2327         * platform/ios/ScrollViewIOS.mm:
2328         (WebCore::ScrollView::platformSetScrollPosition):
2329         (WebCore::ScrollView::platformSetScrollOrigin):
2330         * platform/ios/wak/WAKScrollView.mm:
2331         (-[WAKScrollView setScrollOrigin:updatePositionAtAll:immediately:]):
2332         (-[WAKScrollView scrollOrigin]):
2333
2334 2014-09-05  Jer Noble  <jer.noble@apple.com>
2335
2336         Unreviewed GTK build fix; include StringPrintStream to pull in toString().
2337
2338         * html/HTMLMediaElement.h:
2339
2340 2014-09-05  Brady Eidson  <beidson@apple.com>
2341
2342         Allow pages with unload handlers in the page cache
2343         <rdar://problem/11084669> and https://bugs.webkit.org/show_bug.cgi?id=136535
2344
2345         Reviewed by Oliver Hunt.
2346
2347         This will match what iOS has been doing for some time.
2348
2349         Updated tests for new behavior.
2350
2351         * history/PageCache.cpp:
2352         (WebCore::logCanCacheFrameDecision):
2353         (WebCore::PageCache::canCachePageContainingThisFrame):
2354
2355 2014-09-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2356
2357         [SOUP] Implement ResourceResponse::platformSuggestedFilename() when USE(SOUP) is enabled.
2358         https://bugs.webkit.org/show_bug.cgi?id=136562
2359
2360         Reviewed by Martin Robinson.
2361
2362         No new tests, this makes existing tests pass.
2363
2364         * platform/network/soup/ResourceResponseSoup.cpp:
2365         (WebCore::ResourceResponse::platformSuggestedFilename):
2366         Implement ResourceResponse::platformSuggestedFilename() for SOUP after r173272, r173301 and r173305.
2367
2368 2014-09-05  peavo@outlook.com  <peavo@outlook.com>
2369
2370         [Curl] Compile error.
2371         https://bugs.webkit.org/show_bug.cgi?id=136574
2372
2373         Reviewed by Alex Christensen.
2374
2375         The ResourceResponse::setSuggestedFilename method is no longer available.
2376
2377         * platform/network/curl/CurlCacheEntry.cpp:
2378         (WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
2379         * platform/network/curl/CurlDownload.cpp:
2380         (WebCore::CurlDownload::didReceiveHeader):
2381         * platform/network/curl/MultipartHandle.cpp:
2382         (WebCore::MultipartHandle::didReceiveResponse):
2383         * platform/network/curl/ResourceHandleManager.cpp:
2384         (WebCore::headerCallback):
2385         * platform/network/curl/ResourceResponse.h:
2386         (WebCore::ResourceResponse::platformSuggestedFilename):
2387
2388 2014-09-05  Benjamin Poulain  <benjamin@webkit.org>
2389
2390         Update the current matching of :read-only and :read-write to the latest spec
2391         https://bugs.webkit.org/show_bug.cgi?id=136566
2392
2393         Reviewed by Antti Koivisto.
2394
2395         WebKit's implementation of :read-only and :read-write dated from 2008 and
2396         it was based on the web form spec (http://www.w3.org/TR/web-forms-2/).
2397         That spec is very dead now.
2398
2399         There are new definitions of :read-only and :read-write in three specs:
2400         -the HTML living spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selector-read-only
2401         -Selectors level 4: http://dev.w3.org/csswg/selectors4/#rw-pseudos
2402         -CSS 3 UI: http://www.w3.org/TR/css3-ui/
2403
2404         All the definitions say about the same thing. The definitions of Selector Level 4 and
2405         CSS 3 UI are very vague and poorly worded. I used the HTML when something was ambiguous.
2406
2407         In the new definitions, :read-only and :read-write are opposite. It is no longer possible to
2408         match both selector simultaneously for the same element.
2409         Consequently, I got rid of Element:matchesReadOnlyPseudoClass(). Matching :read-only is now equivalent
2410         to :not(:read-write).
2411
2412         The existing definition of :read-write was matching the spec so I could reuse that.
2413
2414         There is one more part to the new spec that is not addressed here: the pseudo class :read-write should
2415         now also match arbitrary editable HTMLElement (e.g. an element with contenteditable). This will be fixed
2416         in a follow up.
2417
2418         Tests: fast/css/read-only-read-write-input-basics.html
2419                fast/css/read-only-read-write-textarea-basics.html
2420                fast/selectors/read-only-read-write-input-basics.html
2421                fast/selectors/read-only-read-write-input-in-fieldset.html
2422                fast/selectors/read-only-read-write-textarea-basics.html
2423                fast/selectors/read-only-read-write-textarea-in-fieldset.html
2424
2425         * css/SelectorCheckerTestFunctions.h:
2426         (WebCore::matchesReadOnlyPseudoClass):
2427         * dom/Element.cpp:
2428         (WebCore::Element::matchesReadOnlyPseudoClass): Deleted.
2429         * dom/Element.h:
2430         * html/HTMLInputElement.cpp:
2431         (WebCore::HTMLInputElement::matchesReadOnlyPseudoClass): Deleted.
2432         * html/HTMLInputElement.h:
2433         * html/HTMLTextAreaElement.cpp:
2434         (WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass): Deleted.
2435         * html/HTMLTextAreaElement.h:
2436         * html/shadow/SliderThumbElement.cpp:
2437         (WebCore::SliderThumbElement::matchesReadOnlyPseudoClass): Deleted.
2438         * html/shadow/SliderThumbElement.h:
2439         * html/shadow/SpinButtonElement.cpp:
2440         (WebCore::SpinButtonElement::matchesReadOnlyPseudoClass): Deleted.
2441         * html/shadow/SpinButtonElement.h:
2442         * rendering/RenderTheme.cpp:
2443         (WebCore::RenderTheme::isReadOnlyControl):
2444
2445 2014-09-05  Andreas Kling  <akling@apple.com>
2446
2447         CTTE: SVGResourcesCache should only allow RenderElements.
2448         <https://webkit.org/b/136578>
2449
2450         Only RenderElement subclasses can use SVG resources.
2451         Codify this by making SVGResourcesCache::m_cache keyed on RenderElement.
2452
2453         Reviewed by Antti Koivisto.
2454
2455         * rendering/svg/RenderSVGContainer.cpp:
2456         (WebCore::RenderSVGContainer::selfWillPaint):
2457         * rendering/svg/RenderSVGImage.cpp:
2458         (WebCore::RenderSVGImage::imageChanged):
2459         * rendering/svg/RenderSVGResource.cpp:
2460         (WebCore::requestPaintingResource):
2461         (WebCore::removeFromCacheAndInvalidateDependencies):
2462         * rendering/svg/RenderSVGResourceClipper.cpp:
2463         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2464         * rendering/svg/RenderSVGRoot.cpp:
2465         (WebCore::RenderSVGRoot::paintReplaced):
2466         * rendering/svg/RenderSVGShape.cpp:
2467         (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
2468         (WebCore::RenderSVGShape::markerRect):
2469         (WebCore::RenderSVGShape::drawMarkers):
2470         * rendering/svg/SVGRenderSupport.cpp:
2471         (WebCore::invalidateResourcesOfChildren):
2472         (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
2473         (WebCore::SVGRenderSupport::filtersForceContainerLayout):
2474         (WebCore::SVGRenderSupport::pointInClippingArea):
2475         * rendering/svg/SVGRenderingContext.cpp:
2476         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
2477         * rendering/svg/SVGResourcesCache.cpp:
2478         (WebCore::resourcesCacheFromRenderer):
2479         (WebCore::SVGResourcesCache::cachedResourcesForRenderer):
2480         (WebCore::SVGResourcesCache::clientLayoutChanged):
2481         (WebCore::SVGResourcesCache::clientDestroyed):
2482         (WebCore::SVGResourcesCache::resourceDestroyed):
2483         (WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Deleted.
2484         * rendering/svg/SVGResourcesCache.h:
2485         * rendering/svg/SVGResourcesCycleSolver.cpp:
2486         (WebCore::SVGResourcesCycleSolver::resourceContainsCycles):
2487
2488 2014-09-05  Simon Fraser  <simon.fraser@apple.com>
2489
2490         IDB version changed events should have a valid eventType()
2491         https://bugs.webkit.org/show_bug.cgi?id=136583
2492
2493         Reviewed by Brady Eidson.
2494
2495         IDBDatabase::dispatchEvent() asserts that the event type is versionchangeEvent,
2496         but the version changed event created with an empty event type. Correct this.
2497
2498         * Modules/indexeddb/IDBDatabase.cpp:
2499         (WebCore::IDBDatabase::onVersionChange):
2500
2501 2014-09-05  Simon Fraser  <simon.fraser@apple.com>
2502
2503         Remove some PLATFORM(IOS) code in Color.h/cpp
2504         https://bugs.webkit.org/show_bug.cgi?id=136582
2505
2506         Reviewed by Dan Bates.
2507
2508         Remove Color::tap which is unused, and remove createCGColorWithDeviceWhite()
2509         which was only called in one file in WebKit.
2510
2511         * WebCore.exp.in:
2512         * platform/graphics/Color.h:
2513         * platform/graphics/cg/ColorCG.cpp:
2514         (WebCore::createCGColorWithDeviceWhite): Deleted.
2515
2516 2014-09-05  Beth Dakin  <bdakin@apple.com>
2517
2518         ScrollablArea::handleWheelEvent() should return early if the ScrollableArea is not 
2519         actually scrollable
2520         https://bugs.webkit.org/show_bug.cgi?id=136558
2521
2522         Reviewed by Simon Fraser.
2523
2524         This patch requires adding a new virtual function to ScrollableArea called 
2525         isScrollableOrRubberbandable(). Unfortunately, there is already a virtual function 
2526         of that name that exists on RenderLayerModelObject, which is only problematic 
2527         because RenderListBox inherits from both RenderLayerModelObject and 
2528         ScrollableArea. This patch resolves that conflict in the simplest way, by re-
2529         naming the RenderLayerModelObject version of the function to 
2530         isScrollableOrRubberbandableBox(). It’s a little unfortunate, but simpler than the 
2531         other solutions I came up with.
2532
2533         New ScrollableArea virtual function.
2534         * page/FrameView.cpp:
2535         (WebCore::FrameView::isScrollableOrRubberbandable):
2536         * page/FrameView.h:
2537
2538         The point of the whole patch! Return early if you can’t scroll or rubber band.
2539         * platform/ScrollableArea.cpp:
2540         (WebCore::ScrollableArea::handleWheelEvent):
2541
2542         New ScrollableArea virtual function.
2543         * platform/ScrollableArea.h:
2544         * platform/win/PopupMenuWin.h:
2545
2546         Re-name.
2547         * rendering/RenderBox.cpp:
2548         (WebCore::RenderBox::isScrollableOrRubberbandableBox):
2549         (WebCore::RenderBox::isScrollableOrRubberbandable): Deleted.
2550         * rendering/RenderBox.h:
2551
2552         Implement new ScrollableArea virtual function, and adapt to the re-name.
2553         * rendering/RenderLayer.cpp:
2554         (WebCore::RenderLayer::isScrollableOrRubberbandable):
2555         (WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
2556         * rendering/RenderLayer.h:
2557
2558         Re-name.
2559         * rendering/RenderLayerModelObject.h:
2560         (WebCore::RenderLayerModelObject::isScrollableOrRubberbandableBox):
2561         (WebCore::RenderLayerModelObject::isScrollableOrRubberbandable): Deleted.
2562
2563         Implement ScrollableArea virtual function.
2564         * rendering/RenderListBox.cpp:
2565         (WebCore::RenderListBox::isScrollableOrRubberbandable):
2566         * rendering/RenderListBox.h:
2567
2568         Re-name.
2569         * rendering/RenderView.cpp:
2570         (WebCore::RenderView::isScrollableOrRubberbandableBox):
2571         (WebCore::RenderView::isScrollableOrRubberbandable): Deleted.
2572         * rendering/RenderView.h:
2573
2574 2014-06-06  Jer Noble  <jer.noble@apple.com>
2575
2576         Refactoring: make MediaTime the primary time type for audiovisual times.
2577         https://bugs.webkit.org/show_bug.cgi?id=133579
2578
2579         Reviewed by Eric Carlson.
2580
2581         In order to limit the number of floating-point rounding errors for media systems which
2582         can make use of rational time objects.
2583
2584         Add some convenience methods to convert between QTTime and MediaTime.
2585         * platform/graphics/mac/MediaTimeQTKit.h: Added.
2586         * platform/graphics/mac/MediaTimeQTKit.mm: Added.
2587         (WebCore::toMediaTime):
2588         (WebCore::toQTTime):
2589
2590         Rename MediaTimeMac -> MediaTimeAVFoundation:
2591         * platform/graphics/avfoundation/MediaTimeAVFoundation.cpp: Renamed from Source/WebCore/platform/mac/MediaTimeMac.cpp.
2592         (WebCore::toMediaTime):
2593         (WebCore::toCMTime):
2594         * platform/graphics/avfoundation/MediaTimeAVFoundation.h: Renamed from Source/WebCore/platform/mac/MediaTimeMac.h.
2595
2596         Use MediaTime instead of double:
2597         * Modules/mediasource/MediaSource.cpp:
2598         (WebCore::MediaSource::duration):
2599         (WebCore::MediaSource::currentTime):
2600         (WebCore::MediaSource::buffered):
2601         (WebCore::MediaSource::setDuration):
2602         (WebCore::MediaSource::activeRanges):
2603         * Modules/mediasource/MediaSource.h:
2604         * Modules/mediasource/SourceBuffer.cpp:
2605         (WebCore::SourceBuffer::remove):
2606         (WebCore::SourceBuffer::removeCodedFrames):
2607         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
2608         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
2609         (WebCore::SourceBuffer::hasCurrentTime):
2610         (WebCore::SourceBuffer::hasFutureTime):
2611         (WebCore::SourceBuffer::canPlayThrough):
2612         * WebCore.xcodeproj/project.pbxproj:
2613         * bindings/js/JSDataCueCustom.cpp:
2614         (WebCore::JSDataCueConstructor::constructJSDataCue):
2615         * html/HTMLMediaElement.cpp:
2616         (WebCore::HTMLMediaElement::HTMLMediaElement):
2617         (WebCore::HTMLMediaElement::parseAttribute):
2618         * html/HTMLMediaElement.h:
2619         (WebCore::ValueToString<MediaTime>::string):
2620         * html/MediaFragmentURIParser.cpp:
2621         (WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
2622         (WebCore::MediaFragmentURIParser::startTime):
2623         (WebCore::MediaFragmentURIParser::endTime):
2624         (WebCore::MediaFragmentURIParser::parseTimeFragment):
2625         (WebCore::MediaFragmentURIParser::parseNPTFragment):
2626         (WebCore::MediaFragmentURIParser::parseNPTTime):
2627         (WebCore::MediaFragmentURIParser::invalidTimeValue): Deleted.
2628         * html/MediaFragmentURIParser.h:
2629         * html/TimeRanges.h:
2630         (WebCore::TimeRanges::ranges):
2631         * html/track/DataCue.cpp:
2632         (WebCore::DataCue::DataCue):
2633         * html/track/DataCue.h:
2634         (WebCore::DataCue::create):
2635         * html/track/InbandDataTextTrack.cpp:
2636         (WebCore::InbandDataTextTrack::addDataCue):
2637         (WebCore::InbandDataTextTrack::updateDataCue):
2638         (WebCore::InbandDataTextTrack::removeDataCue):
2639         * html/track/InbandDataTextTrack.h:
2640         * html/track/InbandGenericTextTrack.cpp:
2641         (WebCore::InbandGenericTextTrack::updateCueFromCueData):
2642         (WebCore::InbandGenericTextTrack::addGenericCue):
2643         (WebCore::InbandGenericTextTrack::removeGenericCue):
2644         * html/track/InbandTextTrack.cpp:
2645         (WebCore::InbandTextTrack::startTimeVariance):
2646         * html/track/InbandTextTrack.h:
2647         * html/track/InbandWebVTTTextTrack.cpp:
2648         (WebCore::InbandWebVTTTextTrack::newCuesParsed):
2649         * html/track/TextTrack.cpp:
2650         (WebCore::TextTrack::addCue):
2651         (WebCore::TextTrack::hasCue):
2652         * html/track/TextTrack.h:
2653         (WebCore::TextTrack::startTimeVariance):
2654         * html/track/TextTrackCue.cpp:
2655         (WebCore::TextTrackCue::create):
2656         (WebCore::TextTrackCue::TextTrackCue):
2657         (WebCore::TextTrackCue::setStartTime):
2658         (WebCore::TextTrackCue::setEndTime):
2659         (WebCore::TextTrackCue::hasEquivalentStartTime):
2660         * html/track/TextTrackCue.h:
2661         (WebCore::TextTrackCue::startTime):
2662         (WebCore::TextTrackCue::endTime):
2663         * html/track/TextTrackCueGeneric.cpp:
2664         (WebCore::TextTrackCueGeneric::TextTrackCueGeneric):
2665         * html/track/TextTrackCueGeneric.h:
2666         * html/track/TextTrackCueList.cpp:
2667         (WebCore::TextTrackCueList::add):
2668         * html/track/VTTCue.cpp:
2669         (WebCore::VTTCue::VTTCue):
2670         (WebCore::VTTCue::markFutureAndPastNodes):
2671         (WebCore::VTTCue::updateDisplayTree):
2672         * html/track/VTTCue.h:
2673         (WebCore::VTTCue::create):
2674         * html/track/WebVTTParser.cpp:
2675         (WebCore::WebVTTParser::WebVTTParser):
2676         (WebCore::WebVTTParser::resetCueValues):
2677         (WebCore::WebVTTParser::collectTimeStamp):
2678         (WebCore::WebVTTTreeBuilder::constructTreeFromToken):
2679         * html/track/WebVTTParser.h:
2680         (WebCore::WebVTTCueData::startTime):
2681         (WebCore::WebVTTCueData::setStartTime):
2682         (WebCore::WebVTTCueData::endTime):
2683         (WebCore::WebVTTCueData::setEndTime):
2684         (WebCore::WebVTTCueData::WebVTTCueData): Deleted.
2685         * platform/graphics/InbandTextTrackPrivateClient.h:
2686         (WebCore::GenericCueData::startTime):
2687         (WebCore::GenericCueData::setStartTime):
2688         (WebCore::GenericCueData::endTime):
2689         (WebCore::GenericCueData::setEndTime):
2690         (WebCore::GenericCueData::GenericCueData):
2691         * platform/graphics/MediaPlayer.cpp:
2692         (WebCore::MediaPlayer::duration):
2693         (WebCore::MediaPlayer::startTime):
2694         (WebCore::MediaPlayer::initialTime):
2695         (WebCore::MediaPlayer::currentTime):
2696         (WebCore::MediaPlayer::seekWithTolerance):
2697         (WebCore::MediaPlayer::seek):
2698         (WebCore::MediaPlayer::maxTimeSeekable):
2699         (WebCore::MediaPlayer::minTimeSeekable):
2700         (WebCore::MediaPlayer::mediaTimeForTimeValue):
2701         (WebCore::MediaPlayer::totalFrameDelay):
2702         * platform/graphics/MediaPlayer.h:
2703         * platform/graphics/MediaPlayerPrivate.h:
2704         (WebCore::MediaPlayerPrivateInterface::durationMediaTime):
2705         (WebCore::MediaPlayerPrivateInterface::currentMediaTime):
2706         (WebCore::MediaPlayerPrivateInterface::seek):
2707         (WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
2708         (WebCore::MediaPlayerPrivateInterface::startTime):
2709         (WebCore::MediaPlayerPrivateInterface::initialTime):
2710         (WebCore::MediaPlayerPrivateInterface::seekable):
2711         (WebCore::MediaPlayerPrivateInterface::maxMediaTimeSeekable):
2712         (WebCore::MediaPlayerPrivateInterface::minMediaTimeSeekable):
2713         (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue):
2714         (WebCore::MediaPlayerPrivateInterface::totalFrameDelay):
2715         (WebCore::MediaPlayerPrivateInterface::startTimeDouble): Deleted.
2716         (WebCore::MediaPlayerPrivateInterface::maxTimeSeekableDouble): Deleted.
2717         (WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValueDouble): Deleted.
2718         * platform/graphics/MediaSourcePrivateClient.h:
2719         * platform/graphics/TrackPrivateBase.h:
2720         (WebCore::TrackPrivateBase::startTimeVariance):
2721         * platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:
2722         (WebCore::InbandMetadataTextTrackPrivateAVF::InbandMetadataTextTrackPrivateAVF):
2723         (WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):
2724         (WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
2725         (WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):
2726         * platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:
2727         (WebCore::IncompleteMetaDataCue::IncompleteMetaDataCue):
2728         (WebCore::IncompleteMetaDataCue::startTime):
2729         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
2730         (WebCore::InbandTextTrackPrivateAVF::processCue):
2731         (WebCore::InbandTextTrackPrivateAVF::resetCueValues):
2732         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
2733         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2734         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
2735         (WebCore::MediaPlayerPrivateAVFoundation::durationMediaTime):
2736         (WebCore::MediaPlayerPrivateAVFoundation::seek):
2737         (WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance):
2738         (WebCore::MediaPlayerPrivateAVFoundation::maxMediaTimeSeekable):
2739         (WebCore::MediaPlayerPrivateAVFoundation::minMediaTimeSeekable):
2740         (WebCore::MediaPlayerPrivateAVFoundation::maxTimeLoaded):
2741         (WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress):
2742         (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
2743         (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
2744         (WebCore::MediaPlayerPrivateAVFoundation::seekableTimeRangesChanged):
2745         (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
2746         (WebCore::MediaPlayerPrivateAVFoundation::didEnd):
2747         (WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration):
2748         (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
2749         (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost):
2750         (WebCore::MediaPlayerPrivateAVFoundation::duration): Deleted.
2751         (WebCore::MediaPlayerPrivateAVFoundation::maxTimeSeekableDouble): Deleted.
2752         (WebCore::MediaPlayerPrivateAVFoundation::minTimeSeekable): Deleted.
2753         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2754         (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification):
2755         (WebCore::MediaPlayerPrivateAVFoundation::Notification::time):
2756         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2757         (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
2758         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
2759         (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
2760         (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
2761         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
2762         (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
2763         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
2764         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
2765         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
2766         (WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
2767         (WebCore::AVFWrapper::seekToTime): Deleted.
2768         (WebCore::LegibleOutputData::LegibleOutputData): Deleted.
2769         (WebCore::AVFWrapper::createImageForTimeInRect): Deleted.
2770         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
2771         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
2772         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
2773         (WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
2774         (WebCore::AVFWrapper::seekToTime): Deleted.
2775         (WebCore::LegibleOutputData::LegibleOutputData): Deleted.
2776         (WebCore::AVFWrapper::createImageForTimeInRect): Deleted.
2777         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2778         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2779         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
2780         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
2781         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
2782         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentMediaTime):
2783         (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
2784         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
2785         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
2786         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded):
2787         (WebCore::MediaPlayerPrivateAVFoundationObjC::mediaTimeForTimeValue):
2788         (WebCore::MediaPlayerPrivateAVFoundationObjC::processCue):
2789         (WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
2790         (WebCore::MediaPlayerPrivateAVFoundationObjC::durationDidChange):
2791         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
2792         (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
2793         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Deleted.
2794         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2795         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2796         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationMediaTime):
2797         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTime):
2798         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
2799         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
2800         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
2801         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
2802         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxMediaTimeSeekable):
2803         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minMediaTimeSeekable):
2804         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):
2805         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble): Deleted.
2806         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble): Deleted.
2807         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble): Deleted.
2808         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble): Deleted.
2809         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable): Deleted.
2810         * platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
2811         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2812         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
2813         (WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):
2814         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
2815         (WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):
2816         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2817         (WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
2818         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
2819         (WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
2820         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
2821         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2822         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2823         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2824         (WebCore::maxValueForTimeRanges):
2825         (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
2826         (WebCore::MediaPlayerPrivateQTKit::durationMediaTime):
2827         (WebCore::MediaPlayerPrivateQTKit::currentMediaTime):
2828         (WebCore::MediaPlayerPrivateQTKit::seek):
2829         (WebCore::MediaPlayerPrivateQTKit::doSeek):
2830         (WebCore::MediaPlayerPrivateQTKit::cancelSeek):
2831         (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
2832         (WebCore::MediaPlayerPrivateQTKit::seeking):
2833         (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
2834         (WebCore::MediaPlayerPrivateQTKit::buffered):
2835         (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
2836         (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
2837         (WebCore::MediaPlayerPrivateQTKit::didLoadingProgress):
2838         (WebCore::MediaPlayerPrivateQTKit::updateStates):
2839         (WebCore::MediaPlayerPrivateQTKit::timeChanged):
2840         (WebCore::MediaPlayerPrivateQTKit::didEnd):
2841         (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
2842         (WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
2843         (WebCore::MediaPlayerPrivateQTKit::createQTTime): Deleted.
2844         (WebCore::MediaPlayerPrivateQTKit::duration): Deleted.
2845         (WebCore::MediaPlayerPrivateQTKit::currentTime): Deleted.
2846         (WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable): Deleted.
2847         (WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded): Deleted.
2848         (WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue): Deleted.
2849         * platform/mac/PlatformClockCM.mm:
2850         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
2851         (WebCore::MockMediaPlayerMediaSource::maxMediaTimeSeekable):
2852         (WebCore::MockMediaPlayerMediaSource::currentMediaTime):
2853         (WebCore::MockMediaPlayerMediaSource::durationMediaTime):
2854         (WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
2855         (WebCore::MockMediaPlayerMediaSource::totalFrameDelay):
2856         (WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble): Deleted.
2857         (WebCore::MockMediaPlayerMediaSource::currentTimeDouble): Deleted.
2858         (WebCore::MockMediaPlayerMediaSource::durationDouble): Deleted.
2859         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
2860         * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
2861         (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):
2862         * platform/mock/mediasource/MockMediaSourcePrivate.h:
2863         * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
2864         (WebCore::MockSourceBufferPrivate::enqueueSample):
2865
2866 2014-09-05  Antti Koivisto  <antti@apple.com>
2867
2868         REGRESSION(r173272): Two blob tests failing on WK1
2869         https://bugs.webkit.org/show_bug.cgi?id=136573
2870
2871         Reviewed by Alexey Proskuryakov.
2872
2873         http/tests/fileapi/blob-url-in-subframe.html
2874         http/tests/security/mixedContent/blob-url-in-iframe.html
2875
2876         * platform/network/BlobResourceHandle.cpp:
2877         (WebCore::BlobResourceHandle::notifyResponseOnSuccess):
2878
2879             No need to set this twice.
2880
2881         * platform/network/mac/ResourceResponseMac.mm:
2882         (WebCore::ResourceResponse::initNSURLResponse):
2883
2884             Also test that it is an HTTP URL before using NSHTTPURLResponse. Blobs create non-HTTP URLs with status codes.
2885             Pass the accidentally lost expected content length.
2886
2887 2014-09-05  Zalan Bujtas  <zalan@apple.com>
2888
2889         Move computeInlinePreferredLogicalWidths() from RenderBlock to RenderBlockFlow
2890         https://bugs.webkit.org/show_bug.cgi?id=136461
2891
2892         Reviewed by Darin Adler.
2893
2894         This patch enables us to go from const_cast<RenderBlockFlow*>(this)->computeInlinePreferredLogicalWidths()
2895         to computeInlinePreferredLogicalWidths().
2896
2897         Covered by existing tests.
2898
2899         * rendering/RenderBlock.cpp:
2900         (WebCore::InlineMinMaxIterator::endOfInline): Deleted.
2901         (WebCore::InlineMinMaxIterator::next): Deleted.
2902         (WebCore::getBPMWidth): Deleted.
2903         (WebCore::getBorderPaddingMargin): Deleted.
2904         (WebCore::stripTrailingSpace): Deleted.
2905         (WebCore::preferredWidth): Deleted.
2906         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): Deleted.
2907         * rendering/RenderBlock.h:
2908         * rendering/RenderBlockFlow.cpp:
2909         (WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):
2910         (WebCore::InlineMinMaxIterator::initial): The (parent == current) condition was used as 'initial' state before.
2911         and in order to make computeInlinePreferredLogicalWidths const, InlineMinMaxIterator() needs to take const RenderObject*.
2912         (WebCore::InlineMinMaxIterator::next):
2913         (WebCore::getBPMWidth):
2914         (WebCore::getBorderPaddingMargin):
2915         (WebCore::stripTrailingSpace):
2916         (WebCore::preferredWidth):
2917         (WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):
2918         * rendering/RenderBlockFlow.h:
2919
2920 2014-09-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2921
2922         Unreviewed, build fix for EFL and GTK ports since r173272.
2923
2924         * platform/network/soup/ResourceResponseSoup.cpp:
2925         (WebCore::ResourceResponse::updateFromSoupMessageHeaders):
2926
2927 2014-09-04  Pratik Solanki  <psolanki@apple.com>
2928
2929         Unreviewed. Speculative build fix. Add platformSuggestedFilename() to all the ResourceResponse header files.
2930
2931         * platform/network/curl/ResourceResponse.h:
2932         (WebCore::ResourceResponse::platformSuggestedFilename):
2933         * platform/network/soup/ResourceResponse.h:
2934         * platform/network/win/ResourceResponse.h:
2935         (WebCore::ResourceResponse::platformSuggestedFilename):
2936
2937 2014-09-04  Pratik Solanki  <psolanki@apple.com>
2938
2939         Unreviewed. Another speculative build fix after r173272. Add a stub implementation for
2940         ResourceResponse::platformSuggestedFilename(). Filed bug 136562 for proper fix.
2941
2942         * platform/network/soup/ResourceResponseSoup.cpp:
2943         (ResourceResponse::platformSuggestedFilename):
2944
2945 2014-09-04  Pratik Solanki  <psolanki@apple.com>
2946
2947         Unreviewed. Speculative EFL and GTK build fix after r173272. Remove the filename argument
2948         from the various ResourceResponse constructors.
2949
2950         * platform/network/curl/ResourceResponse.h:
2951         (WebCore::ResourceResponse::ResourceResponse):
2952         * platform/network/soup/ResourceResponse.h:
2953         (WebCore::ResourceResponse::ResourceResponse):
2954         * platform/network/win/ResourceResponse.h:
2955         (WebCore::ResourceResponse::ResourceResponse):
2956
2957 2014-09-04  Simon Fraser  <simon.fraser@apple.com>
2958
2959         border-radius should not force layer backing store
2960         https://bugs.webkit.org/show_bug.cgi?id=136555
2961
2962         Reviewed by Dean Jackson.
2963         
2964         Border-radius is not a reason to allocate backing store; it's not relevant unless
2965         we also have a border or background, and hasBoxDecorations() already checks for that.
2966         
2967         With that gone, we can now use renderer.hasBoxDecorations() (which also checks for
2968         a background), but it doesn't check for outlines, so do that in addition.
2969
2970         Test: compositing/backing/border-radius-no-backing.html
2971
2972         * rendering/RenderLayer.cpp:
2973         (WebCore::RenderLayer::calculateClipRects):
2974
2975 2014-09-04  Simon Fraser  <simon.fraser@apple.com>
2976
2977         CSS filter on a compositing layer should not cause unncessary backing store allocation
2978         https://bugs.webkit.org/show_bug.cgi?id=136557
2979
2980         Reviewed by Dean Jackson.
2981         
2982         Remove the style.hasFilter() check from hasBoxDecorations(), since filters aren't
2983         a box decoration. This allows creation of simple container layers with composited filters.
2984
2985         Test: compositing/backing/filter-no-backing.html
2986
2987         * rendering/RenderLayer.cpp:
2988         (WebCore::RenderLayer::calculateClipRects):
2989
2990 2014-09-04  Simon Fraser  <simon.fraser@apple.com>
2991
2992         Improve the logic for compositing backing store avoidance
2993         https://bugs.webkit.org/show_bug.cgi?id=136556
2994
2995         Reviewed by Dean Jackson.
2996         
2997         Avoid backing store allocation in more cases by improving the logic that detects
2998         whether a RenderLayer has any painted, non-layer descendent renderers.
2999         
3000         Rename RenderLayer::hasNonEmptyChildRenderers() to hasPaintingNonLayerDescendants(),
3001         and make it recur 3 levels deep, walking child lists of up to 20 siblings looking
3002         for renderers that paint anything. Any renderer with box decorations paints;
3003         replaced elements paint, and non-whitespace text nodes paint. We can avoid
3004         making backing store when whitespace nodes are present only when user-select is none,
3005         since we have to ensure that there's backing store to paint the selection into.
3006
3007         Tests: compositing/backing/inline-block-no-backing.html
3008                compositing/backing/whitespace-nodes-no-backing.html
3009
3010         * rendering/RenderLayer.cpp:
3011         (WebCore::RenderLayer::hasNonEmptyChildRenderers): Call the recursive hasPaintingNonLayerDescendants().
3012         (WebCore::RenderLayer::hasBoxDecorationsOrBackground):
3013         (WebCore::RenderLayer::isVisuallyNonEmpty): Do the cheap tests first. Use isRenderReplaced()
3014         rather than isReplaced(), since the latter includes inline-blocks.
3015         * rendering/RenderLayerBacking.cpp:
3016         (WebCore::RenderLayerBacking::updateConfiguration): Don't run the isSimpleContainerCompositingLayer()
3017         logic in the root layer, since it always wants backing store.
3018         (WebCore::RenderLayerBacking::updateAfterDescendents): Ditto.
3019         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): isReplaced() includes
3020         inline-block, so use isRenderReplaced() instead.
3021
3022 2014-09-04  Daniel Bates  <dabates@apple.com>
3023
3024         [iOS] Fix the iOS build after <http://trac.webkit.org/changeset/173258>
3025         (https://bugs.webkit.org/show_bug.cgi?id=136494)
3026
3027         Use ENABLE_TOUCH_EVENT instead of ENABLE(TOUCH_EVENT) as the latter isn't available
3028         to some clients of this private header.
3029
3030         * platform/ios/wak/WAKResponder.h:
3031
3032 2014-09-04  Roger Fong  <roger_fong@apple.com>
3033
3034         Increase number of maximum active WebGL contexts.
3035         https://bugs.webkit.org/show_bug.cgi?id=136551.
3036         <rdar://problem/18236425>
3037
3038         Reviewed by Brent Fulgham.
3039
3040         Test covered by Khronos conformance test:
3041         webgl/1.0.2/conformance/context/context-creation-and-destruction.html
3042
3043         * platform/graphics/mac/GraphicsContext3DMac.mm:
3044
3045 2014-09-04  Roger Fong  <roger_fong@apple.com>
3046
3047         Clicking on a select element should never hide the popup menu.
3048         https://bugs.webkit.org/show_bug.cgi?id=136548.
3049         <rdar://problem/10215926>
3050
3051         Reviewed by Simon Fraser.
3052
3053         * html/HTMLSelectElement.cpp:
3054         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
3055         Never call hidePopup as a result of a click on a select element.
3056         The only way you can properly hide a popup is to click again or lose focus on the popup itself.
3057
3058 2014-09-04  Enrica Casucci  <enrica@apple.com>
3059
3060         Remove PLATFORM(IOS) from WebCore/editing (Part 2).
3061         https://bugs.webkit.org/show_bug.cgi?id=136474
3062
3063         Reviewed by Tim Horton.
3064
3065         Removing some more PLATFORM(IOS) from the editing code.
3066         Most of these changes are fixes that were made for IOS but never merged
3067         to OpenSource.
3068
3069         * editing/ApplyStyleCommand.cpp:
3070         (WebCore::ApplyStyleCommand::applyBlockStyle):
3071         * editing/ReplaceSelectionCommand.cpp:
3072         (WebCore::ReplaceSelectionCommand::doApply):
3073         * editing/VisibleSelection.cpp:
3074         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
3075         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
3076         * editing/VisibleUnits.cpp:
3077         (WebCore::startOfDocument):
3078         (WebCore::endOfDocument):
3079         * editing/ios/EditorIOS.mm: No need for platform guard, this file is not built for Mac.
3080
3081 2014-09-03  Andy Estes  <aestes@apple.com>
3082
3083         [Cocoa] Some WebKitLegacy headers migrated from WebCore incorrectly contain WEBCORE_EXPORT
3084         https://bugs.webkit.org/show_bug.cgi?id=136521
3085
3086         Reviewed by Anders Carlsson.
3087
3088         * platform/ios/wak/WebCoreThread.h: Stopped defining WEBCORE_EXPORT.
3089
3090 2014-09-03  David Hyatt  <hyatt@apple.com>
3091
3092         Initial letters should clear one another.
3093         https://bugs.webkit.org/show_bug.cgi?id=136514
3094
3095         Reviewed by Simon Fraser.
3096
3097         Added fast/css-generated-content/initial-letter-clearance.html.
3098
3099         * rendering/RenderBlockFlow.cpp:
3100         (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
3101         Compute the required clearance and add it both to the block's logical height
3102         and to the logical top offset of the float.
3103
3104         (WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom):
3105         * rendering/RenderBlockFlow.h:
3106         A new method for determining the lowest floating initial letter.
3107
3108 2014-09-04  Joseph Pecoraro  <pecoraro@apple.com>
3109
3110         Use WTFString::find(char) in more places
3111         https://bugs.webkit.org/show_bug.cgi?id=136541
3112
3113         Reviewed by Daniel Bates.
3114
3115         * Modules/plugins/YouTubePluginReplacement.cpp:
3116         (WebCore::queryKeysAndValues):
3117         * html/HTMLEmbedElement.cpp:
3118         (WebCore::HTMLEmbedElement::parseAttribute):
3119         * html/HTMLObjectElement.cpp:
3120         (WebCore::HTMLObjectElement::parametersForPlugin):
3121         * html/parser/XSSAuditor.cpp:
3122         (WebCore::XSSAuditor::decodedSnippetForAttribute):
3123         * page/UserContentURLPattern.cpp:
3124         (WebCore::UserContentURLPattern::parse):
3125
3126 2014-09-04  Antti Koivisto  <antti@apple.com>
3127
3128         Try to fix iOS build.
3129
3130         * loader/FrameLoader.cpp:
3131         (WebCore::FrameLoader::initForSynthesizedDocument):
3132
3133 2014-09-04  Maciej Stachowiak  <mjs@apple.com>
3134
3135         Remove WebCoreSystemInterface glue for otherwise unused WKSI calls
3136         https://bugs.webkit.org/show_bug.cgi?id=136527
3137
3138         Reviewed by Alexey Proskuryakov.
3139
3140         * WebCore.exp.in:
3141         * WebCore.order:
3142         * platform/ios/WebCoreSystemInterfaceIOS.mm:
3143         * platform/mac/WebCoreSystemInterface.h:
3144         * platform/mac/WebCoreSystemInterface.mm:
3145
3146 2014-09-04  Beth Dakin  <bdakin@apple.com>
3147
3148         REGRESSION (r172832): Poor 2-finger scrolling performance at theverge.com articles 
3149         (all tiles repaint)
3150         https://bugs.webkit.org/show_bug.cgi?id=136433
3151         -and corresponding-
3152         rdar://problem/18193942
3153
3154         Reviewed by Tim Horton.
3155
3156         We should ensure that we are only setting scroll elasticity for layers that return 
3157         true for scrollsOverflow(). When overflow:scroll is set on the root element, we 
3158         wound up setting the ScrollElasticity for the root, which messed up with the 
3159         special way that the root is meant to scroll. Even though overflow:scroll has been 
3160         set on the root, scrollsOverflow() is still false because we knew not to set 
3161         hasOverflowClip() since it’s the root, which is why this check works.  
3162         * rendering/RenderLayer.cpp:
3163         (WebCore::RenderLayer::setHasHorizontalScrollbar):
3164         (WebCore::RenderLayer::setHasVerticalScrollbar):
3165
3166         Really, we should have never even called RenderLayer::setHasVerticalScrollbar or 
3167         RenderLayer::setHasHorizontalScrollbar since it’s wrong to be creating a scrollbar 
3168         on RenderLayer for the root. We should make sure, in addition to the other 
3169         requirements consulted, that the renderer has an overflow clip before we create 
3170         the scrollbars.
3171         (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
3172
3173 2014-09-04  Antti Koivisto  <antti@apple.com>
3174
3175         Remove ResourceResponse::m_suggestedFilename
3176         https://bugs.webkit.org/show_bug.cgi?id=136534
3177
3178         Reviewed by Alexey Proskuryakov.
3179
3180         This will simplify things.
3181
3182         * WebCore.exp.in:
3183         * loader/DocumentLoader.cpp:
3184         (WebCore::DocumentLoader::handleSubstituteDataLoadNow):
3185         (WebCore::DocumentLoader::maybeLoadEmpty):
3186         * loader/FrameLoader.cpp:
3187         (WebCore::FrameLoader::willLoadMediaElementURL):
3188         * loader/appcache/ApplicationCacheStorage.cpp:
3189         (WebCore::ApplicationCacheStorage::loadCache):
3190         * loader/archive/ArchiveResource.cpp:
3191         (WebCore::ArchiveResource::create):
3192         * platform/network/BlobResourceHandle.cpp:
3193         (WebCore::BlobResourceHandle::notifyResponseOnSuccess):
3194         (WebCore::BlobResourceHandle::notifyResponseOnError):
3195         * platform/network/ResourceResponseBase.cpp:
3196         (WebCore::ResourceResponseBase::ResourceResponseBase):
3197         (WebCore::ResourceResponseBase::adopt):
3198         (WebCore::ResourceResponseBase::copyData):
3199         (WebCore::ResourceResponseBase::suggestedFilename):
3200         (WebCore::ResourceResponseBase::httpStatusText):
3201         (WebCore::ResourceResponseBase::setHTTPStatusText):
3202         (WebCore::ResourceResponseBase::httpHeaderField):
3203         (WebCore::ResourceResponseBase::setHTTPHeaderField):
3204         (WebCore::ResourceResponseBase::addHTTPHeaderField):
3205         (WebCore::ResourceResponseBase::httpHeaderFields):
3206         (WebCore::ResourceResponseBase::isAttachment):
3207         (WebCore::ResourceResponseBase::wasCached):
3208         (WebCore::ResourceResponseBase::connectionReused):
3209         (WebCore::ResourceResponseBase::setConnectionReused):
3210         (WebCore::ResourceResponseBase::connectionID):
3211         (WebCore::ResourceResponseBase::setConnectionID):
3212
3213             Remove AllFields initialization. It was only used to get m_suggestedFilename.
3214             Rename CommonAndUncommonFields to AllFields
3215
3216         (WebCore::ResourceResponseBase::setSuggestedFilename): Deleted.
3217
3218             No more setter.
3219
3220         * platform/network/ResourceResponseBase.h:
3221         (WebCore::ResourceResponseBase::platformSuggestedFileName):
3222
3223             Get the suggested filename from the platform class on-demand.
3224
3225         * platform/network/cf/ResourceResponse.h:
3226         (WebCore::ResourceResponse::ResourceResponse):
3227
3228             Remove never-used file name constructor parameter.
3229
3230         * platform/network/cf/ResourceResponseCFNet.cpp:
3231         (WebCore::ResourceResponse::platformLazyInit):
3232         * platform/network/mac/ResourceResponseMac.mm:
3233         (WebCore::ResourceResponse::initNSURLResponse):
3234
3235             Synthesize HTTP response properly so it can hold Content-Disposition for file name (and other headers).
3236
3237         (WebCore::ResourceResponse::platformLazyInit):
3238
3239             Don't pull the suggested filename anymore.
3240
3241         (WebCore::ResourceResponse::platformSuggestedFilename):
3242
3243             Get the suggested name from the (possibly synthetic) NSURLRequest.
3244
3245 2014-09-04  Eva Balazsfalvi  <evab.u-szeged@partner.samsung.com>
3246
3247         Remove CSS_FILTERS flag
3248         https://bugs.webkit.org/show_bug.cgi?id=136529
3249
3250         Reviewed by Dirk Schulze.
3251
3252         No new tests, no behaviour changed.
3253
3254         * Configurations/FeatureDefines.xcconfig:
3255         * DerivedSources.cpp:
3256         * WebCore.exp.in:
3257         * bindings/js/JSCSSValueCustom.cpp:
3258         (WebCore::toJS):
3259         * bindings/objc/DOMCSS.mm:
3260         (kitClass):
3261         * css/CSSComputedStyleDeclaration.cpp:
3262         (WebCore::ComputedStyleExtractor::valueForFilter):
3263         (WebCore::isLayoutDependent):
3264         (WebCore::ComputedStyleExtractor::propertyValue):
3265         * css/CSSComputedStyleDeclaration.h:
3266         * css/CSSFilterImageValue.cpp:
3267         * css/CSSFilterImageValue.h:
3268         * css/CSSImageGeneratorValue.cpp:
3269         (WebCore::CSSImageGeneratorValue::image):
3270         (WebCore::CSSImageGeneratorValue::isFixedSize):
3271         (WebCore::CSSImageGeneratorValue::fixedSize):
3272         (WebCore::CSSImageGeneratorValue::isPending):
3273         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
3274         (WebCore::CSSImageGeneratorValue::loadSubimages):
3275         * css/CSSParser.cpp:
3276         (WebCore::CSSParser::parseValue):
3277         (WebCore::CSSParser::parseGeneratedImage):
3278         (WebCore::CSSParser::parseFilterImage):
3279         (WebCore::CSSParser::parseFilter):
3280         * css/CSSParser.h:
3281         * css/CSSPropertyNames.in:
3282         * css/CSSValue.cpp:
3283         (WebCore::CSSValue::hasFailedOrCanceledSubresources):
3284         (WebCore::CSSValue::equals):
3285         (WebCore::CSSValue::cssText):
3286         (WebCore::CSSValue::destroy):
3287         (WebCore::CSSValue::cloneForCSSOM):
3288         * css/CSSValue.h:
3289         * css/StyleResolver.cpp:
3290         (WebCore::StyleResolver::State::clear):
3291         (WebCore::StyleResolver::applyProperty):
3292         (WebCore::StyleResolver::generatedOrPendingFromValue):
3293         (WebCore::StyleResolver::loadPendingResources):
3294         * css/StyleResolver.h:
3295         * css/WebKitCSSFilterValue.cpp:
3296         * css/WebKitCSSFilterValue.h:
3297         * css/WebKitCSSFilterValue.idl:
3298         * loader/cache/CachedSVGDocumentReference.cpp:
3299         * loader/cache/CachedSVGDocumentReference.h:
3300         * page/FrameView.cpp:
3301         (WebCore::FrameView::scrollContentsFastPath):
3302         * page/animation/AnimationBase.cpp:
3303         (WebCore::AnimationBase::AnimationBase):
3304         * page/animation/AnimationBase.h:
3305         * page/animation/CSSPropertyAnimation.cpp:
3306         (WebCore::blendFilter):
3307         (WebCore::blendFunc):
3308         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
3309         * page/animation/ImplicitAnimation.cpp:
3310         (WebCore::ImplicitAnimation::reset):
3311         (WebCore::ImplicitAnimation::checkForMatchingFilterFunctionLists):
3312         * page/animation/ImplicitAnimation.h:
3313         * page/animation/KeyframeAnimation.cpp:
3314         (WebCore::KeyframeAnimation::KeyframeAnimation):
3315         (WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists):
3316         * page/animation/KeyframeAnimation.h:
3317         * platform/graphics/GraphicsLayer.cpp:
3318         (WebCore::GraphicsLayer::validateFilterOperations):
3319         * platform/graphics/GraphicsLayer.h:
3320         * platform/graphics/GraphicsLayerAnimation.cpp:
3321         (WebCore::applyFilterAnimation):
3322         (WebCore::GraphicsLayerAnimation::applyInternal):
3323         * platform/graphics/GraphicsLayerAnimation.h:
3324         * platform/graphics/IntRectExtent.h:
3325         * platform/graphics/ca/GraphicsLayerCA.cpp:
3326         (WebCore::propertyIdToString):
3327         (WebCore::supportsAcceleratedFilterAnimations):
3328         (WebCore::GraphicsLayerCA::filtersCanBeComposited):
3329         (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
3330         (WebCore::GraphicsLayerCA::setFilters):
3331         (WebCore::GraphicsLayerCA::addAnimation):
3332         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
3333         (WebCore::GraphicsLayerCA::updateFilters):
3334         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
3335         (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
3336         (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
3337         * platform/graphics/ca/GraphicsLayerCA.h:
3338         * platform/graphics/ca/PlatformCAAnimation.h:
3339         * platform/graphics/ca/PlatformCAFilters.h:
3340         * platform/graphics/ca/PlatformCALayer.h:
3341         * platform/graphics/ca/mac/PlatformCAAnimationMac.h:
3342         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
3343         (PlatformCAAnimationMac::setFromValue):
3344         (PlatformCAAnimationMac::setToValue):
3345         (PlatformCAAnimationMac::setValues):
3346         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
3347         (PlatformCAFilters::animatedFilterPropertyName):
3348         * platform/graphics/ca/mac/PlatformCALayerMac.h:
3349         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3350         (PlatformCALayerMac::clone):
3351         (PlatformCALayerMac::filtersCanBeComposited):
3352         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
3353         (PlatformCAAnimationWin::setFromValue):
3354         (PlatformCAAnimationWin::setToValue):
3355         (PlatformCAAnimationWin::setValues):
3356         * platform/graphics/ca/win/PlatformCAAnimationWin.h:
3357         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
3358         (PlatformCAFilters::animatedFilterPropertyName):
3359         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3360         (PlatformCALayerWin::clone):
3361         * platform/graphics/ca/win/PlatformCALayerWin.h:
3362         * platform/graphics/filters/FilterOperation.cpp:
3363         * platform/graphics/filters/FilterOperation.h:
3364         * platform/graphics/filters/FilterOperations.cpp:
3365         * platform/graphics/filters/FilterOperations.h:
3366         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3367         (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
3368         (WebCore::GraphicsLayerTextureMapper::setFilters):
3369         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3370         * platform/graphics/texmap/TextureMapper.h:
3371         * platform/graphics/texmap/TextureMapperGL.cpp:
3372         (WebCore::TextureMapperGLData::TextureMapperGLData):
3373         (WebCore::prepareFilterProgram):
3374         (WebCore::TextureMapperGL::drawTexture):
3375         (WebCore::BitmapTextureGL::applyFilters):
3376         * platform/graphics/texmap/TextureMapperGL.h:
3377         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
3378         (WebCore::BitmapTextureImageBuffer::applyFilters):
3379         * platform/graphics/texmap/TextureMapperImageBuffer.h:
3380         * platform/graphics/texmap/TextureMapperLayer.cpp:
3381         (WebCore::TextureMapperLayer::setAnimatedFilters):
3382         (WebCore::TextureMapperLayer::computeOverlapRegions):
3383         (WebCore::TextureMapperLayer::paintIntoSurface):
3384         (WebCore::TextureMapperLayer::setFilters):
3385         (WebCore::TextureMapperLayer::syncAnimations):
3386         * platform/graphics/texmap/TextureMapperLayer.h:
3387         (WebCore::TextureMapperLayer::hasFilters):
3388         * platform/graphics/texmap/TextureMapperShaderProgram.h:
3389         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3390         (WebCore::CoordinatedGraphicsLayer::didChangeFilters):
3391         (WebCore::CoordinatedGraphicsLayer::setFilters):
3392         (WebCore::CoordinatedGraphicsLayer::syncFilters):
3393         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
3394         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
3395         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3396         (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
3397         (WebCore::CoordinatedGraphicsScene::setLayerState):
3398         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3399         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
3400         * rendering/FilterEffectRenderer.cpp:
3401         * rendering/FilterEffectRenderer.h:
3402         * rendering/RenderElement.cpp:
3403         (WebCore::RenderElement::adjustStyleDifference):
3404         * rendering/RenderElement.h:
3405         (WebCore::RenderElement::hasFilter): Deleted.
3406         * rendering/RenderLayer.cpp:
3407         (WebCore::RenderLayer::RenderLayer):
3408         (WebCore::RenderLayer::~RenderLayer):
3409         (WebCore::transparencyClipBox):
3410         (WebCore::RenderLayer::paintLayerContents):
3411         (WebCore::RenderLayer::calculateClipRects):
3412         * rendering/RenderLayer.h:
3413         * rendering/RenderLayerBacking.cpp:
3414         (WebCore::RenderLayerBacking::RenderLayerBacking):
3415         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
3416         (WebCore::RenderLayerBacking::updateFilters):
3417         (WebCore::RenderLayerBacking::updateGeometry):
3418         (WebCore::RenderLayerBacking::startAnimation):
3419         (WebCore::RenderLayerBacking::startTransition):
3420         (WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
3421         (WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):
3422         * rendering/RenderLayerBacking.h:
3423         * rendering/RenderLayerCompositor.cpp:
3424         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
3425         (WebCore::RenderLayerCompositor::requiresCompositingForFilters):
3426         * rendering/RenderLayerFilterInfo.cpp:
3427         * rendering/RenderLayerFilterInfo.h:
3428         * rendering/RenderLayerModelObject.cpp:
3429         (WebCore::RenderLayerModelObject::styleWillChange):
3430         * rendering/RenderObject.cpp:
3431         (WebCore::RenderObject::containerForRepaint):
3432         (WebCore::RenderObject::repaintUsingContainer):
3433         * rendering/RenderView.cpp:
3434         (WebCore::RenderView::RenderView):
3435         * rendering/RenderView.h:
3436         * rendering/style/RenderStyle.cpp:
3437         (WebCore::RenderStyle::changeRequiresLayout):
3438         (WebCore::RenderStyle::changeRequiresLayerRepaint):
3439         * rendering/style/RenderStyle.h:
3440         * rendering/style/StyleFilterData.cpp:
3441         * rendering/style/StyleFilterData.h:
3442         * rendering/style/StyleRareNonInheritedData.cpp:
3443         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3444         (WebCore::StyleRareNonInheritedData::operator==):
3445         (WebCore::StyleRareNonInheritedData::hasFilters):
3446         * rendering/style/StyleRareNonInheritedData.h:
3447         * rendering/svg/RenderSVGResourceContainer.cpp:
3448         (WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
3449
3450 2014-09-04  Pratik Solanki  <psolanki@apple.com>
3451
3452         Remove iOS specific disk image cache
3453         https://bugs.webkit.org/show_bug.cgi?id=136517
3454
3455         Reviewed by Antti Koivisto.
3456
3457         Disk image cache code unnecessarily complicates SharedBuffer implementation. We can remove
3458         this now since we don't enable it in WebKit2 on iOS.
3459
3460         * WebCore.exp.in:
3461         * WebCore.xcodeproj/project.pbxproj:
3462         * loader/ResourceBuffer.cpp:
3463         (WebCore::ResourceBuffer::isUsingDiskImageCache): Deleted.
3464         * loader/ResourceBuffer.h:
3465         * loader/cache/CachedImage.cpp:
3466         (WebCore::CachedImage::canUseDiskImageCache): Deleted.
3467         (WebCore::CachedImage::useDiskImageCache): Deleted.
3468         * loader/cache/CachedImage.h:
3469         * loader/cache/CachedResource.cpp:
3470         (WebCore::CachedResource::isUsingDiskImageCache): Deleted.
3471         * loader/cache/CachedResource.h:
3472         (WebCore::CachedResource::canUseDiskImageCache): Deleted.
3473         (WebCore::CachedResource::useDiskImageCache): Deleted.
3474         * loader/cache/MemoryCache.cpp:
3475         (WebCore::MemoryCache::TypeStatistic::addResource):
3476         (WebCore::MemoryCache::dumpStats):
3477         (WebCore::MemoryCache::dumpLRULists):
3478         (WebCore::MemoryCache::flushCachedImagesToDisk): Deleted.
3479         * loader/cache/MemoryCache.h:
3480         (WebCore::MemoryCache::TypeStatistic::TypeStatistic):
3481         * loader/ios/DiskImageCacheClientIOS.h: Removed.
3482         * loader/ios/DiskImageCacheIOS.h: Removed.
3483         * loader/ios/DiskImageCacheIOS.mm: Removed.
3484         * platform/Logging.h:
3485         * platform/SharedBuffer.cpp:
3486         (WebCore::SharedBuffer::SharedBuffer):
3487         (WebCore::SharedBuffer::~SharedBuffer):
3488         (WebCore::SharedBuffer::data):
3489         (WebCore::SharedBuffer::append):
3490         (WebCore::SharedBuffer::buffer):
3491         (WebCore::SharedBuffer::getSomeData):
3492         (WebCore::SharedBuffer::isAllowedToBeMemoryMapped): Deleted.
3493         (WebCore::SharedBuffer::allowToBeMemoryMapped): Deleted.
3494         (WebCore::SharedBuffer::failedMemoryMap): Deleted.
3495         (WebCore::SharedBuffer::markAsMemoryMapped): Deleted.
3496         (WebCore::SharedBuffer::memoryMappedNotificationCallbackData): Deleted.
3497         (WebCore::SharedBuffer::memoryMappedNotificationCallback): Deleted.
3498         (WebCore::SharedBuffer::setMemoryMappedNotificationCallback): Deleted.
3499         * platform/SharedBuffer.h:
3500         (WebCore::SharedBuffer::isMemoryMapped): Deleted.
3501         * platform/cf/SharedBufferCF.cpp:
3502         (WebCore::SharedBuffer::SharedBuffer):
3503         * platform/mac/SharedBufferMac.mm:
3504         (-[WebCoreSharedBufferData length]):
3505         (-[WebCoreSharedBufferData bytes]):
3506         (WebCore::SharedBuffer::createCFData):
3507         (-[WebCoreSharedBufferData initWithMemoryMappedSharedBuffer:]): Deleted.
3508
3509 2014-09-04  Brian J. Burg  <burg@cs.washington.edu>
3510
3511         LegacyProfiler: ProfileNodes should be used more like structs
3512         https://bugs.webkit.org/show_bug.cgi?id=136381
3513
3514         Reviewed by Timothy Hatcher.
3515
3516         * inspector/ScriptProfileNode.idl: Remove an unused property.
3517
3518 2014-09-04  Renato Nagy  <rnagy@inf.u-szeged.hu>
3519
3520         Remove Qt cruft: MIMESniffing.cpp and MIMESniffing.h
3521         https://bugs.webkit.org/show_bug.cgi?id=136528
3522
3523         Reviewed by Alexey Proskuryakov.
3524
3525         * platform/network/MIMESniffing.cpp: Removed.
3526         * platform/network/MIMESniffing.h: Removed.
3527
3528 2014-09-04  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3529
3530         Introduce CSS_BASIC_SHAPES_TYPE_CASTS, and use it
3531         https://bugs.webkit.org/show_bug.cgi?id=136403
3532
3533         Reviewed by Daniel Bates.
3534
3535         toCSSBasicShapeFoo() will help to detect wrong type casting. So this patch generates it, and use it
3536         instead of static_cast<const CSSBasicShapeFoo*>().
3537
3538         No new tests no behavior changes.
3539
3540         * css/BasicShapeFunctions.cpp:
3541         (WebCore::basicShapeForValue):
3542         * css/CSSBasicShapes.cpp:
3543         (WebCore::CSSBasicShapeCircle::equals):
3544         (WebCore::CSSBasicShapeEllipse::equals):
3545         (WebCore::CSSBasicShapePolygon::equals):
3546         (WebCore::CSSBasicShapeInset::equals):
3547         * css/CSSBasicShapes.h:
3548
3549 2014-09-04  Daniel Bates  <dabates@apple.com>
3550
3551         [iOS] Make iOS build when ENABLE_TOUCH_EVENT and ENABLE_IOS_TOUCH_EVENTS disabled
3552         https://bugs.webkit.org/show_bug.cgi?id=136494
3553
3554         Reviewed by Andy Estes.
3555
3556         * WebCore.exp.in: Add ENABLE(IOS_TOUCH_EVENTS) and ENABLE(TOUCH_EVENTS) guards. Also, sort this file using
3557         the script Tools/Scripts/sort-export-file.
3558         * bindings/js/JSDocumentCustom.cpp: Add ENABLE(TOUCH_EVENTS)-guard around headers JSTouch.h and JSTouchList.h.
3559         * page/ios/WebEventRegion.mm: Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS) since this
3560         code is specific to the iOS touch machinery.
3561         * page/scrolling/ScrollingCoordinator.cpp: Add ENABLE(IOS_TOUCH_EVENTS) and ENABLE(TOUCH_EVENTS) guards. 
3562         (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS).
3563         * platform/ios/ScrollAnimatorIOS.h: Add ENABLE(TOUCH_EVENTS) guard.
3564         * platform/ios/ScrollAnimatorIOS.mm:
3565         (WebCore::ScrollAnimatorIOS::ScrollAnimatorIOS): Ditto.
3566         * platform/ios/wak/WAKResponder.h: Ditto.
3567         * rendering/RenderLayer.cpp:
3568         (WebCore::RenderLayer::RenderLayer): Add ENABLE(IOS_TOUCH_EVENTS) guard.
3569         (WebCore::RenderLayer::~RenderLayer): Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS) since this
3570         code is specific to the iOS touch machinery.
3571         * rendering/RenderLayer.h: Add ENABLE(IOS_TOUCH_EVENTS) guard.
3572
3573 2014-09-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3574
3575         REGRESSION(r173240) [GTK] Debug build broken.
3576
3577         Unreviewed build fix after r173240.
3578
3579         * dom/EventListenerMap.h: Add missing include.
3580
3581 2014-09-04  Dan Bernstein  <mitz@apple.com>
3582
3583         Get rid of HIGH_DPI_CANVAS leftovers
3584         https://bugs.webkit.org/show_bug.cgi?id=136491
3585
3586         Reviewed by Benjamin Poulain.
3587
3588         * html/HTMLCanvasElement.cpp:
3589         (WebCore::HTMLCanvasElement::HTMLCanvasElement): Removed m_deviceScaleFactor initializer.
3590         (WebCore::HTMLCanvasElement::reset): Removed checking if the scale factor has changed and
3591         updating m_deviceScaleFactor.
3592         (WebCore::HTMLCanvasElement::convertLogicalToDevice): Removed scaling by the device scale
3593         factor.
3594         (WebCore::HTMLCanvasElement::convertDeviceToLogical): Ditto.
3595         (WebCore::HTMLCanvasElement::createImageBuffer): Replaced m_deviceScaleFactor with a literal
3596         1.
3597         (WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Deleted.
3598         * html/HTMLCanvasElement.h: Removed m_deviceScaleFactor member variable and its getter.
3599
3600         * html/canvas/CanvasRenderingContext2D.cpp:
3601         (WebCore::CanvasRenderingContext2D::putImageData): Removed scaling by the device scale
3602         factor.
3603         * html/canvas/CanvasRenderingContext2D.h:
3604         (WebCore::CanvasRenderingContext2D::webkitBackingStorePixelRatio): Changed to return 1.
3605
3606         * html/canvas/WebGLRenderingContext.cpp:
3607         (WebCore::WebGLRenderingContext::texImage2D): Replaced deviceScaleFactor() with 1.
3608         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
3609
3610 2014-09-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
3611
3612         XMLHttpRequest always defaults Content-Type to application/xml, while it should depend on data type
3613         https://bugs.webkit.org/show_bug.cgi?id=11049
3614
3615         Reviewed by Darin Adler.
3616
3617         Updated default mime type when sending text (changed from application/xml to text/plain;charset=UTF-8)
3618         Updated default mime type when sending document (set to application/xml;charset=UTF-8 for XML documents and text/html;charset=UTF-8 for HTML documents)
3619
3620         Test: http/tests/xmlhttprequest/post-content-type-document.html
3621
3622         * xml/XMLHttpRequest.cpp:
3623         (WebCore::XMLHttpRequest::send): updating default Content-Type valuess.
3624
3625 2014-09-02  Brian J. Burg  <burg@cs.washington.edu>
3626
3627         Web Inspector: fix prefixes for subclasses of JSC::ConsoleClient
3628         https://bugs.webkit.org/show_bug.cgi?id=136476
3629
3630         Reviewed by Timothy Hatcher.
3631
3632         No new tests. No behavior changed.
3633
3634         * CMakeLists.txt:
3635         * WebCore.exp.in:
3636         * WebCore.order:
3637         * WebCore.vcxproj/WebCore.vcxproj:
3638         * WebCore.vcxproj/WebCore.vcxproj.filters:
3639         * WebCore.xcodeproj/project.pbxproj:
3640         * bindings/js/JSCustomXPathNSResolver.cpp:
3641         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3642         * bindings/js/ScriptCachedFrameData.cpp:
3643         (WebCore::ScriptCachedFrameData::restore):
3644         * bindings/js/ScriptController.cpp:
3645         (WebCore::ScriptController::clearWindowShell):
3646         (WebCore::ScriptController::initScript):
3647         * css/CSSParser.cpp:
3648         (WebCore::CSSParser::logError):
3649         * dom/Document.cpp:
3650         (WebCore::Document::addConsoleMessage):
3651         (WebCore::Document::addMessage):
3652         * inspector/PageDebuggerAgent.cpp:
3653         (WebCore::PageDebuggerAgent::muteConsole):
3654         (WebCore::PageDebuggerAgent::unmuteConsole):
3655         (WebCore::PageDebuggerAgent::breakpointActionLog):
3656         * inspector/PageRuntimeAgent.cpp:
3657         (WebCore::PageRuntimeAgent::muteConsole):
3658         (WebCore::PageRuntimeAgent::unmuteConsole):
3659         * page/DOMWindow.cpp:
3660         (WebCore::DOMWindow::console):
3661         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
3662         (WebCore::DOMWindow::close):
3663         (WebCore::DOMWindow::printErrorMessage):
3664         (WebCore::DOMWindow::pageConsole): Deleted.
3665         * page/DOMWindow.h:
3666         * page/Page.cpp:
3667         (WebCore::Page::Page):
3668         * page/Page.h:
3669         * page/PageConsoleClient.cpp: Renamed from Source/WebCore/page/PageConsole.cpp.
3670         * page/PageConsoleClient.h: Renamed from Source/WebCore/page/PageConsole.h.
3671         * testing/Internals.cpp:
3672         (WebCore::Internals::consoleProfiles):
3673         * testing/Internals.h:
3674         * xml/XSLStyleSheetLibxslt.cpp:
3675         (WebCore::XSLStyleSheet::parseString):
3676         * xml/XSLTProcessorLibxslt.cpp:
3677         (WebCore::XSLTProcessor::parseErrorFunc):
3678         (WebCore::docLoaderFunc):
3679
3680 2014-09-03  Maciej Stachowiak  <mjs@apple.com>
3681
3682         Fix a few leftovers from removing MIME-related WKSI usage
3683         https://bugs.webkit.org/show_bug.cgi?id=136513
3684
3685         Reviewed by Alexey Proskuryakov.
3686
3687         * WebCore.exp.in:
3688         * WebCore.order:
3689         * platform/ios/WebCoreSystemInterfaceIOS.mm:
3690         * platform/mac/WebCoreSystemInterface.mm:
3691
3692 2014-09-03  Myles C. Maxfield  <mmaxfield@apple.com>
3693
3694         Text caret changes to color of text in Mail and Notes
3695         https://bugs.webkit.org/show_bug.cgi?id=135904
3696
3697         Reviewed by Simon Fraser.
3698
3699         Consult with the background color of spans inside editable divs to determine what color
3700         the caret should be.
3701
3702         Test: editing/caret/color-span-inside-editable.html
3703
3704         * editing/FrameSelection.cpp:
3705         (WebCore::CaretBase::paintCaret):
3706
3707 2014-09-03  Tim Horton  <timothy_horton@apple.com>
3708
3709         Fix the iOS build after r173230
3710
3711         * WebCore.exp.in:
3712
3713 2014-09-03  Myles C. Maxfield  <mmaxfield@apple.com>
3714
3715         Remove unnecessary function from TextPainter
3716         https://bugs.webkit.org/show_bug.cgi?id=136497
3717
3718         Reviewed by Simon Fraser.
3719
3720         Function is never called.
3721
3722         No new tests because there is no behavior change.
3723
3724         * rendering/TextPainter.cpp:
3725         (WebCore::TextPainter::paintTextInContext): Deleted.
3726         * rendering/TextPainter.h:
3727
3728 2014-09-03  Anders Carlsson  <andersca@apple.com>
3729
3730         Don't use DEPRECATED_DEFINE_STATIC_LOCAL for mutexes
3731         https://bugs.webkit.org/show_bug.cgi?id=136510
3732
3733         Reviewed by Andreas Kling.
3734
3735         Mutexes are intended to be used from multiple threads, and DEPRECATED_DEFINE_STATIC_LOCAL is not thread safe.
3736
3737         * bindings/objc/DOMInternal.mm:
3738         (wrapperCacheLock):
3739         (getDOMWrapper):
3740         (addDOMWrapper):
3741         (removeDOMWrapper):
3742         Use LazyNeverDestroyed + std::call_once, and switch the mutex over to an std::mutex.
3743
3744         * dom/EventListenerMap.cpp:
3745         (WebCore::EventListenerMap::assertNoActiveIterators):
3746         (WebCore::EventListenerIterator::EventListenerIterator):
3747         (WebCore::EventListenerIterator::~EventListenerIterator):
3748         (WebCore::activeIteratorCountMutex):
3749         (WebCore::EventListenerMap::EventListenerMap): Deleted.
3750         * dom/EventListenerMap.h:
3751         Use an std::atomic<int> instead of a mutex here.
3752
3753 2014-09-03  Enrica Casucci  <enrica@apple.com>
3754
3755         Remove PLATFORM(IOS) from WebCore/editing (Part 1).
3756         https://bugs.webkit.org/show_bug.cgi?id=136474
3757
3758         Reviewed by Tim Horton.
3759
3760         This is the first part of the work to remove PLATFORM(IOS) everywhere
3761         in the editing code.
3762
3763         * dom/Range.cpp:
3764         (WebCore::Range::create): Adding create function that takes VisiblePosition.
3765         * dom/Range.h:
3766         * editing/CompositeEditCommand.cpp:
3767         (WebCore::CompositeEditCommand::apply):
3768         (WebCore::CompositeEditCommand::inputText):
3769         * editing/CompositeEditCommand.h:
3770         * editing/DeleteButton.h: No need for the platform guard since it is already under
3771         DELETION_UI
3772         * editing/DeleteButtonController.cpp:
3773         (WebCore::DeleteButtonController::enable):
3774         (WebCore::DeleteButtonController::disable):
3775         * editing/EditAction.h:
3776         * editing/EditCommand.h:
3777         (WebCore::EditCommand::isInsertTextCommand):
3778         * editing/Editor.cpp:
3779         (WebCore::ClearTextCommand::CreateAndApply):
3780         * editing/Editor.h:
3781         * editing/EditorCommand.cpp:
3782         (WebCore::executeClearText):
3783         (WebCore::enabledCopy):
3784         (WebCore::enabledCut):
3785         (WebCore::enabledClearText):
3786         (WebCore::createCommandMap):
3787         * editing/FrameSelection.cpp:
3788         (WebCore::FrameSelection::modifyExtendingRight):
3789         (WebCore::FrameSelection::modifyExtendingForward):
3790         (WebCore::FrameSelection::modifyMovingRight):
3791         (WebCore::FrameSelection::modifyMovingForward):
3792         (WebCore::FrameSelection::modifyExtendingLeft):
3793         (WebCore::FrameSelection::modifyExtendingBackward):
3794         (WebCore::FrameSelection::modifyMovingLeft):
3795         (WebCore::FrameSelection::modifyMovingBackward):
3796         * editing/InsertTextCommand.h:
3797         * editing/TextCheckingHelper.cpp:
3798         * editing/TextGranularity.h:
3799         * editing/VisiblePosition.h:
3800         (WebCore::operator>=):
3801         * editing/VisibleSelection.cpp:
3802         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
3803         * editing/VisibleUnits.cpp:
3804         * editing/VisibleUnits.h:
3805
3806 2014-09-03  Anders Carlsson  <andersca@apple.com>
3807
3808         Get rid of some uses of OwnPtr
3809         https://bugs.webkit.org/show_bug.cgi?id=136503
3810
3811         Reviewed by Sam Weinig.
3812
3813         * dom/ElementRareData.cpp:
3814         * dom/ElementRareData.h:
3815         (WebCore::ElementRareData::create): Deleted.
3816         * dom/MutationObserverRegistration.cpp:
3817         (WebCore::MutationObserverRegistration::create): Deleted.
3818         * dom/MutationObserverRegistration.h:
3819         * dom/Node.cpp:
3820         (WebCore::Node::materializeRareData):
3821         (WebCore::Node::didMoveToNewDocument):
3822         (WebCore::eventTargetDataMap):
3823         (WebCore::Node::eventTargetData):
3824         (WebCore::Node::ensureEventTargetData):
3825         (WebCore::Node::mutationObserverRegistry):
3826         (WebCore::Node::registerMutationObserver):
3827         (WebCore::Node::unregisterMutationObserver):
3828         (WebCore::Node::notifyMutationObserversNodeWillDetach):
3829         * dom/Node.h:
3830         * dom/NodeRareData.h:
3831         (WebCore::NodeListsNodeData::NodeListsNodeData):
3832         (WebCore::NodeRareData::NodeRareData):
3833         (WebCore::NodeRareData::clearNodeLists):
3834         (WebCore::NodeRareData::ensureNodeLists):
3835         (WebCore::NodeRareData::ensureMutationObserverData):
3836         (WebCore::NodeListsNodeData::create): Deleted.
3837         (WebCore::NodeMutationObserverData::create): Deleted.
3838         (WebCore::NodeRareData::create): Deleted.
3839
3840 2014-09-02  Maciej Stachowiak  <mjs@apple.com>
3841
3842         Clean up naming for and slightly refactor legacy video fullscreen support
3843         https://bugs.webkit.org/show_bug.cgi?id=136446
3844
3845         Reviewed by Jer Noble.
3846
3847         Key changes:
3848         supportsFullscreenForNode(Node*) --> supportsVideoFullscreen()
3849         enterFullscreenForNode(Node*) --> enterVideoFullscreenForVideoElement(HTMLVideoElement*)
3850         exitFullscreenForNode(Node*) --> exitVideoFullscreen()
3851         
3852         The old versions had unnecessary parameters, did not clearly distinguish their purpose
3853         from enterFullscreenForElement and friends, and wrongly claimed generality to all Nodes.
3854         Also changed many other places to use HTMLVideoElement* instead of Node* or 
3855         HTMLMediaElement* when they were in fact only used for video elements and would only
3856         work for such.
3857
3858         The implications of this include a bunch of renaming in some iOS fullscreen code.
3859
3860         * html/HTMLMediaElement.cpp:
3861         (WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_isFullscreen flag to 
3862         m_isInVideoFullscreen, since it only covers the case of legacy video fullscreen,
3863         not element fullscreen.
3864         (WebCore::HTMLMediaElement::stop): ditto
3865         (WebCore::HTMLMediaElement::requiresTextTrackRepresentation): ditto
3866         (WebCore::HTMLMediaElement::isFullscreen): ditto
3867         (WebCore::HTMLMediaElement::enterFullscreen): Rename m_isFullscreen flag to
3868         m_isInVideoFullscreen. Hoist video element check here from all supportsFullscrenForNode
3869         clients. Adjust for relevant ChromeClient refactorings.
3870         (WebCore::HTMLMediaElement::enterFullscreen): ditto above
3871         * html/HTMLMediaElement.h:
3872         * html/HTMLVideoElement.cpp:
3873         (WebCore::HTMLVideoElement::supportsFullscreen): Adjust for relevant ChromeClient 
3874         refactorings.
3875         * page/ChromeClient.h:
3876         (WebCore::ChromeClient::supportsVideoFullscreen): Renamed from 
3877         supportsFullscreenForNode, and removed Node* parameter.
3878         (WebCore::ChromeClient::enterVideoFullscreenForVideoElement): Renamed from
3879         enterFulscreenForNode and changed Node* parameter to HTMLVideoElement*.
3880         (WebCore::ChromeClient::exitVideoFullscreen): Renamed from 
3881         exitFullscreenForNode, and removed Node* parameter.
3882         * platform/ios/WebVideoFullscreenControllerAVKit.h:
3883         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
3884         (-[WebVideoFullscreenController videoElement]): Renamed from mediaElement;
3885         return a video element and not just a media element.
3886         (-[WebVideoFullscreenController dealloc]): Renamed _mediaElement data member
3887         to _videoElement and changed type accordingly.
3888         (-[WebVideoFullscreenController setVideoElement:]): Renamed from setMediaElement:
3889         and adjust parameter type accordingly.
3890         (-[WebVideoFullscreenController enterFullscreen:]): Video elements, not media
3891         elements.
3892         (-[WebVideoFullscreenController exitFullscreen]): ditto
3893         (-[WebVideoFullscreenController didCleanupFullscreen]): ditto
3894         * platform/ios/WebVideoFullscreenInterface.h:
3895         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Remove gratuitous HTMLMEdiaElement.h include
3896         and fix declarations accordingly.
3897         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Include WTFString.h
3898         * platform/ios/WebVideoFullscreenModelVideoElement.h: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenModelMediaElement.h.
3899         * platform/ios/WebVideoFullscreenModelVideoElement.mm: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenModelMediaElement.mm.
3900         (WebVideoFullscreenModelVideoElement) Renamed from WebVideoFullscreenModelMediaElement
3901         (WebVideoFullscreenModelVideoElement::setVideoElement): Renamed from setMediaElement and
3902         change param type accordingly. Also no need to check for actual videoness of the element.
3903         (WebVideoFullscreenModelVideoElement::updateForEventName): Rename data member from m_mediaElement
3904         to m_videoElement and change type accordingly.
3905         (WebVideoFullscreenModelVideoElement::setVideoFullscreenLayer): ditto
3906         (WebVideoFullscreenModelVideoElement::play): ditto
3907         (WebVideoFullscreenModelVideoElement::pause): ditto
3908         (WebVideoFullscreenModelVideoElement::togglePlayState): ditto
3909         (WebVideoFullscreenModelVideoElement::beginScrubbing): ditto
3910         (WebVideoFullscreenModelVideoElement::endScrubbing): ditto
3911         (WebVideoFullscreenModelVideoElement::seekToTime): ditto
3912         (WebVideoFullscreenModelVideoElement::fastSeek): ditto
3913         (WebVideoFullscreenModelVideoElement::beginScanningForward): ditto
3914         (WebVideoFullscreenModelVideoElement::beginScanningBackward): ditto
3915         (WebVideoFullscreenModelVideoElement::endScanning): ditto
3916         (WebVideoFullscreenModelVideoElement::requestExitFullscreen): ditto
3917         (WebVideoFullscreenModelVideoElement::setVideoLayerFrame): ditto
3918         (WebVideoFullscreenModelVideoElement::setVideoLayerGravity): ditto
3919         (WebVideoFullscreenModelVideoElement::updateLegibleOptions): ditto
3920         * platform/mac/WebVideoFullscreenController.h:
3921         * platform/mac/WebVideoFullscreenController.mm:
3922         (-[WebVideoFullscreenController videoElement]): Renamed from mediaElement
3923         and update return type accordingly.
3924         (-[WebVideoFullscreenController setVideoElement:]): Renamed from 
3925         setMediaElement and update return type accordingly.
3926         (-[WebVideoFullscreenController videoElementRect]): Renamed
3927         from mediaElementRect.
3928         (-[WebVideoFullscreenController enterFullscreen:]): Update for
3929         rename.
3930         (-[WebVideoFullscreenController exitFullscreen]): ditto
3931         (-[WebVideoFullscreenController updatePowerAssertions]): Rename
3932         member from _mediaElement to _videoElement
3933         (-[WebVideoFullscreenController _requestExit]): ditto
3934         * WebCore.exp.in: Adjust for function and class renames.
3935         * WebCore.xcodeproj/project.pbxproj: Adjust for file renames.
3936
3937 2014-09-03  Benjamin Poulain  <benjamin@webkit.org>
3938
3939         Fix style invalidation of elements with multiple siblings dependencies
3940         https://bugs.webkit.org/show_bug.cgi?id=136472
3941
3942         Reviewed by Andreas Kling.
3943
3944         Previously, style invalidation of siblings was driven by a pair of flags:
3945         -ChildrenAffectedByDirectAdjacentRules.
3946         -ChildrenAffectedByForwardPositionalRules.
3947
3948         When ChildrenAffectedByDirectAdjacentRules was set, the element after an element
3949         with "needsStyleRecalc" was also recomputed. While this work for pair of elements:
3950             a + b
3951         It does not work for more than that. For example, with
3952             a.propery + b + c
3953         When the state of <a> changes, the style of <b> was updated, which is useless. The style
3954         of <c> was untouched, which is incorrect.
3955
3956         When ChildrenAffectedByForwardPositionalRules, all elements after one with "needsStyleRecalc"
3957         were invalidated. While more correct, it caused avalanche of style recalc and was not a very
3958         useful "optimization".
3959
3960  
3961         To fix the correctness issues (e.g. "a + b + c"), I could have gone two ways:
3962         1) Invalidate the parent of a, b, c. The children would always get a correct style
3963            when their parent's style would be resolved.
3964         2) Create invalidation relations to enforce that the right siblings are invalidated.
3965
3966         I have decided for a weak version of (2). The reason is that most DOM trees are very
3967         shallow while being very wide. Invalidating the parent generally causes massive style
3968         recalculation.
3969
3970         To keep things simple for now, there is no explicit dependency list between siblings.
3971         Instead, each element has a pair of flag:
3972         1) The element's style depends on the state of a previous sibling.
3973         2) The element's state affects following siblings.
3974
3975         With the notation "<-" for (1), "->" for (2), the selector "a + b + c" create this kind
3976         of marking:
3977             a  +  b  +  c
3978             ->    ->
3979                        <-
3980
3981         When <a> is invalidated, the style resolver will go through the chain of dependent elements
3982         and invalidate any element that can be affected by a prior invalidation, here <c>.
3983
3984         Overlaps are possible. For example with the two selector, "a + b + c", "b ~ d"
3985         the marking would be
3986             a  +  b  +  c  +  d
3987             ->    ->    ->
3988                        <-    <-
3989
3990         A change in <a> would invalidate both <c> and <d>. This is overkill, but the end result
3991         is correct and it is a net improvement over the previous flags.
3992
3993
3994         As usual, the CSS JIT makes an effort at compile time to reduce tree marking. SelectorChecker
3995         marks everything as usual.
3996
3997         Tests: fast/css/direct-adjacent-style-update-optimization.html
3998                fast/css/indirect-adjacent-style-update-optimization.html
3999                fast/css/non-matching-adjacent-style-update.html
4000                fast/selectors/first-of-type-direct-adjacent-style-update.html
4001                fast/selectors/first-of-type-sibling-style-update.html
4002                fast/selectors/id-direct-adjacent-style-update.html
4003                fast/selectors/id-sibling-style-update.html
4004                fast/selectors/nth-child-as-first-simple-selector-style-update.html
4005                fast/selectors/nth-child-direct-adjacent-style-update.html
4006                fast/selectors/nth-child-style-update.html
4007
4008         * css/SelectorChecker.cpp:
4009         (WebCore::isFirstOfType):
4010         (WebCore::countElementsBefore):
4011         (WebCore::countElementsOfTypeBefore):
4012         Counting selectors are not unlike adjacent combinators, they are handled the exact same way.
4013         For example a :nth-child(4) would generate somewhat similar marking as
4014             :first-child + * + * + *
4015
4016         Everything prior to the element with the counter affects the style of the element.
4017
4018         (WebCore::hasScrollbarPseudoElement):
4019         The assertion was incorrect. You can get an scrollbar pseudo ID on an element without scrollbar.
4020         It will never match, but such case is possible.
4021
4022         (WebCore::SelectorChecker::matchRecursively):
4023         (WebCore::SelectorChecker::checkOne):
4024         * css/StyleResolver.cpp:
4025         (WebCore::StyleResolver::canShareStyleWithElement):
4026         Previously, any subtree affected by sibling selectors were unshareabl