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