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