Unreviewed, rolling out r247292.
[WebKit-https.git] / Source / WebCore / ChangeLog-2014-10-07
1 2014-10-07  Andreas Kling  <akling@apple.com>
2
3         Use more Ref and PassRef for Gradient.
4         <https://webkit.org/b/137490>
5
6         Codify the fact that CanvasGradient always has an internal WebCore::Gradient
7         and make GraphicsContext gradient setters take PassRef, exposing some
8         unnecessary null checks.
9
10         Reviewed by Christophe Dumez.
11
12         * WebCore.exp.in:
13         * html/canvas/CanvasGradient.h:
14         (WebCore::CanvasGradient::gradient):
15         * platform/graphics/Gradient.h:
16         (WebCore::Gradient::create):
17         * platform/graphics/GraphicsContext.cpp:
18         (WebCore::GraphicsContext::setStrokeGradient):
19         (WebCore::GraphicsContext::setFillGradient):
20         * platform/graphics/GraphicsContext.h:
21         * rendering/RenderThemeIOS.mm:
22         (WebCore::RenderThemeIOS::paintProgressBar):
23         * rendering/svg/RenderSVGPath.cpp:
24         (WebCore::useStrokeStyleToFill):
25         * rendering/svg/RenderSVGResourceGradient.cpp:
26         (WebCore::RenderSVGResourceGradient::applyResource):
27
28 2014-10-07  Martin Hock  <mhock@apple.com>
29
30         Defer resolution of viewport size.
31         https://bugs.webkit.org/show_bug.cgi?id=137376
32         rdar://problem/18558094
33
34         Reviewed by Benjamin Poulain.
35
36         ViewportConfiguration should resolve the viewport size on configuration update.
37
38         * dom/Document.cpp:
39         (WebCore::Document::processViewport): Defer resolution of viewport size.
40         * dom/ViewportArguments.cpp:
41         (WebCore::finalizeViewportArguments): Deleted.
42         * dom/ViewportArguments.h:
43         * page/ViewportConfiguration.cpp:
44         (WebCore::ViewportConfiguration::updateConfiguration): Resolve viewport size.
45         (WebCore::ViewportConfiguration::viewportArgumentsLength): Resolves width or height based on viewport arguments.
46         * page/ViewportConfiguration.h:
47
48 2014-10-07  Pratik Solanki  <psolanki@apple.com>
49
50         [iOS] WebKit1 clients crash in DiskCacheMonitor::tryGetFileBackedSharedBufferFromCFURLCachedResponse()
51         https://bugs.webkit.org/show_bug.cgi?id=137495
52         <rdar://problem/18495034>
53
54         Reviewed by Andreas Kling.
55
56         Retain/release the CFCachedURLResponseRef object otherwise we could access a deleted object
57         and crash on the web thread.
58
59         * loader/cocoa/DiskCacheMonitorCocoa.mm:
60         (WebCore::DiskCacheMonitor::DiskCacheMonitor):
61
62 2014-10-07  Christophe Dumez  <cdumez@apple.com>
63
64         Use is<>() / downcast<>() for RenderText / RenderTextFragment
65         https://bugs.webkit.org/show_bug.cgi?id=137476
66
67         Reviewed by Darin Adler.
68
69         Use is<>() / downcast<>() for RenderText / RenderTextFragment, and
70         clean up the surrounding code.
71
72         No new tests, no behavior change.
73
74         * WebCore.exp.in:
75         Export symbol for RenderInline::linesBoundingBox() as it is used by
76         RenderInline::orderBoundingBox() which is inlined and now called in
77         WebRenderNode.mm.
78
79         * WebCore.xcodeproj/project.pbxproj:
80         Make RenderInline.h header as Private so that it can be included by
81         WebRenderNode.mm, similarly to RenderText.h.
82
83         * accessibility/AccessibilityRenderObject.cpp:
84         (WebCore::AccessibilityRenderObject::textUnderElement):
85         (WebCore::AccessibilityRenderObject::boundingBoxRect):
86         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
87         (WebCore::AccessibilityRenderObject::passwordFieldValue):
88         * accessibility/atk/AccessibilityObjectAtk.cpp:
89         (WebCore::AccessibilityObject::getLengthForTextRange):
90         * bindings/objc/DOMUIKitExtensions.mm:
91         (-[DOMNode textHeight]):
92         (-[DOMNode findExplodedTextNodeAtPoint:]):
93         * dom/ContainerNode.cpp:
94         (WebCore::ContainerNode::getUpperLeftCorner):
95         (WebCore::ContainerNode::getLowerRightCorner):
96         * dom/DocumentMarkerController.cpp:
97         (WebCore::DocumentMarkerController::addMarker):
98         * dom/Position.cpp:
99         (WebCore::hasInlineBoxWrapper):
100         (WebCore::Position::upstream):
101         (WebCore::Position::downstream):
102         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
103         (WebCore::Position::isCandidate):
104         (WebCore::Position::rendersInDifferentPosition):
105         (WebCore::searchAheadForBetterMatch):
106         (WebCore::Position::getInlineBoxAndOffset):
107         * dom/PositionIterator.cpp:
108         (WebCore::PositionIterator::isCandidate):
109         * dom/Range.cpp:
110         (WebCore::Range::textRects):
111         (WebCore::Range::textQuads):
112         (WebCore::Range::getBorderAndTextQuads):
113         * editing/FrameSelection.cpp:
114         (WebCore::FrameSelection::debugRenderer):
115         * editing/TextIterator.cpp:
116         (WebCore::hasVisibleTextNode):
117         (WebCore::TextIterator::handleTextNode):
118         (WebCore::maxOffsetIncludingCollapsedSpaces):
119         (WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter):
120         * editing/VisibleUnits.cpp:
121         (WebCore::startOfParagraph):
122         (WebCore::endOfParagraph):
123         * page/FrameView.cpp:
124         (WebCore::countRenderedCharactersInRenderObjectWithThreshold):
125         * rendering/BidiRun.cpp:
126         (WebCore::BidiRun::BidiRun):
127         * rendering/InlineIterator.cpp:
128         (WebCore::InlineIterator::surrogateTextDirection):
129         * rendering/InlineIterator.h:
130         (WebCore::InlineIterator::atTextParagraphSeparator):
131         (WebCore::InlineIterator::atParagraphSeparator):
132         (WebCore::isEmptyInline):
133         (WebCore::InlineIterator::fastIncrementInTextNode):
134         (WebCore::InlineIterator::increment):
135         (WebCore::InlineIterator::characterAt):
136         (WebCore::InlineIterator::direction):
137         * rendering/InlineTextBox.h:
138         (WebCore::InlineTextBox::renderer):
139         * rendering/RenderBlock.cpp:
140         (WebCore::RenderBlock::updateFirstLetterStyle):
141         (WebCore::RenderBlock::updateFirstLetter):
142         * rendering/RenderBlockFlow.cpp:
143         (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
144         (WebCore::isVisibleRenderText):
145         (WebCore::RenderBlockFlow::adjustComputedFontSizes):
146         (WebCore::stripTrailingSpace):
147         (WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):
148         * rendering/RenderBlockLineLayout.cpp:
149         (WebCore::createInlineBoxForRenderer):
150         (WebCore::dirtyLineBoxesForRenderer):
151         (WebCore::reachedEndOfTextRenderer):
152         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
153         (WebCore::RenderBlockFlow::computeBlockDirectionPositionsForLine):
154         (WebCore::RenderBlockFlow::handleTrailingSpaces):
155         (WebCore::RenderBlockFlow::determineStartPosition):
156         * rendering/RenderBoxModelObject.cpp:
157         (WebCore::RenderBoxModelObject::moveChildrenTo):
158         * rendering/RenderElement.cpp:
159         (WebCore::RenderElement::hasImmediateNonWhitespaceTextChildOrBorderOrOutline):
160         (WebCore::RenderElement::addChild):
161         * rendering/RenderInline.cpp:
162         (WebCore::RenderInline::generateCulledLineBoxRects):
163         (WebCore::RenderInline::culledInlineFirstLineBox):
164         (WebCore::RenderInline::culledInlineLastLineBox):
165         (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
166         (WebCore::RenderInline::dirtyLineBoxes):
167         * rendering/RenderInline.h:
168         Make borderBoundingBox() public so that call sites (here
169         WebRenderNode.mm) can use tighter typing and benefit from the virtual
170         function being final.
171
172         * rendering/RenderLayer.cpp:
173         (WebCore::RenderLayer::calculateClipRects):
174         * rendering/RenderLineBoxList.cpp:
175         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
176         * rendering/RenderNamedFlowThread.cpp:
177         (WebCore::RenderNamedFlowThread::getRanges):
178         * rendering/RenderRubyRun.cpp:
179         (WebCore::RenderRubyRun::getOverhang):
180         * rendering/RenderSelectionInfo.cpp:
181         (WebCore::RenderSelectionInfo::RenderSelectionInfo):
182         * rendering/RenderText.cpp:
183         (WebCore::isInlineFlowOrEmptyText):
184         (WebCore::RenderText::previousCharacter):
185         * rendering/RenderText.h:
186         (WebCore::Text::renderer):
187         * rendering/RenderTextFragment.h:
188         (isType):
189         * rendering/RenderTreeAsText.cpp:
190         (WebCore::RenderTreeAsText::writeRenderObject):
191         (WebCore::write):
192         * rendering/SimpleLineLayout.cpp:
193         (WebCore::SimpleLineLayout::canUseFor):
194         (WebCore::SimpleLineLayout::create):
195         * rendering/SimpleLineLayoutFunctions.cpp:
196         (WebCore::SimpleLineLayout::paintFlow):
197         (WebCore::SimpleLineLayout::hitTestFlow):
198         * rendering/SimpleLineLayoutResolver.h:
199         (WebCore::SimpleLineLayout::RunResolver::RunResolver):
200         * rendering/TextAutoSizing.cpp:
201         (WebCore::TextAutoSizingValue::addNode):
202         * rendering/TextAutosizer.cpp:
203         (WebCore::TextAutosizer::containerIsRowOfLinks):
204         (WebCore::TextAutosizer::measureDescendantTextWidth):
205         * rendering/line/BreakingContextInlineHeaders.h:
206         (WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
207         (WebCore::shouldAddBorderPaddingMargin):
208         (WebCore::shouldSkipWhitespaceAfterStartObject):
209         (WebCore::BreakingContext::handleText):
210         (WebCore::textBeginsWithBreakablePosition):
211         (WebCore::BreakingContext::canBreakAtThisPosition):
212
213 2014-10-07  Jer Noble  <jer.noble@apple.com>
214
215         [Media] Expose AudioTracks in the "captions" menu.
216         https://bugs.webkit.org/show_bug.cgi?id=137472
217
218         Reviewed by Brent Fulgham.
219
220         Test: media/video-controls-audiotracks-trackmenu.html
221
222         If more than one AudioTrack is present in the video element, add those tracks to the
223         captions menu:
224         * English.lproj/mediaControlsLocalizedStrings.js:
225         * Modules/mediacontrols/mediaControlsApple.js:
226         (Controller.prototype.addVideoListeners):
227         (Controller.prototype.removeVideoListeners):
228         (Controller.prototype.handleAudioTrackChange):
229         (Controller.prototype.handleAudioTrackAdd):
230         (Controller.prototype.handleAudioTrackRemove):
231         (Controller.prototype.updateCaptionButton):
232         (Controller.prototype.buildCaptionMenu):
233         (Controller.prototype.handleCaptionItemKeyUp):
234         (Controller.prototype.audioTrackItemSelected):
235         (Controller.prototype.focusSiblingAudioTrackItem):
236         (Controller.prototype.handleAudioTrackItemKeyUp):
237
238         Add support to MediaControlHost for retrieving the sorted audio track list, and the
239         localized names for every audio track:
240         * Modules/mediacontrols/MediaControlsHost.cpp:
241         (WebCore::MediaControlsHost::sortedTrackListForMenu):
242         (WebCore::MediaControlsHost::displayNameForTrack):
243         * Modules/mediacontrols/MediaControlsHost.h:
244         * Modules/mediacontrols/MediaControlsHost.idl:
245         * page/CaptionUserPreferences.cpp:
246         (WebCore::trackDisplayName):
247         (WebCore::CaptionUserPreferences::displayNameForTrack):
248         (WebCore::CaptionUserPreferences::sortedTrackListForMenu):
249         * page/CaptionUserPreferences.h:
250         * platform/LocalizedStrings.cpp:
251         (WebCore::audioTrackNoLabelText):
252         * platform/LocalizedStrings.h:
253         * platform/efl/LocalizedStringsEfl.cpp:
254         (WebCore::audioTrackNoLabelText):
255         * platform/gtk/LocalizedStringsGtk.cpp:
256         (WebCore::audioTrackNoLabelText):
257
258         Drive-by fix; do not recurse into AudioTrackPrivate->setEnabled() when the enabled
259         state changes.
260         * html/track/AudioTrack.cpp:
261         (WebCore::AudioTrack::enabledChanged):
262
263         Fix possible out-of-bounds Vector access when adding tracks to a track list by
264         sorting the list at insert time, rather than inserting into the track's reported
265         position in the Vector:
266         * html/track/AudioTrackList.cpp:
267         (AudioTrackList::append):
268         * html/track/VideoTrackList.cpp:
269         (VideoTrackList::append):
270
271         Correctly report the trackIndex of audio and video tracks from AVFoundation:
272         * platform/graphics/avfoundation/AudioTrackPrivateAVF.h:
273         (WebCore::AudioTrackPrivateAVF::trackIndex):
274         (WebCore::AudioTrackPrivateAVF::setTrackIndex):
275         (WebCore::AudioTrackPrivateAVF::AudioTrackPrivateAVF):
276         * platform/graphics/avfoundation/VideoTrackPrivateAVF.h:
277         (WebCore::VideoTrackPrivateAVF::trackIndex):
278         (WebCore::VideoTrackPrivateAVF::setTrackIndex):
279         (WebCore::VideoTrackPrivateAVF::VideoTrackPrivateAVF):
280         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
281         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack):
282         * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:
283         (WebCore::VideoTrackPrivateAVFObjC::resetPropertiesFromTrack):
284
285 2014-10-07  Christophe Dumez  <cdumez@apple.com>
286
287         [WK2] Use is<>() / downcast<>() for DrawingAreaProxy subclasses
288         https://bugs.webkit.org/show_bug.cgi?id=137477
289
290         Reviewed by Andreas Kling.
291
292         Include TypeCastsCF.h now that the header was renamed.
293
294         No new tests, no behavior change.
295
296         * platform/cf/SharedBufferCF.cpp:
297
298 2014-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
299
300         [SOUP] TLS errors should take precedence over HTTP authentication
301         https://bugs.webkit.org/show_bug.cgi?id=137300
302
303         Reviewed by Sergio Villar Senin.
304
305         Handle TLS errors in got-headers callback to make sure it happens
306         before starting the authentication process.
307
308         * platform/network/soup/ResourceHandleSoup.cpp:
309         (WebCore::handleUnignoredTLSErrors): Refactored to receive the
310         soup message.
311         (WebCore::gotHeadersCallback): Return early and cancel the request in case of TLS errors.
312         (WebCore::sendRequestCallback): Do not handle TLS errors here, the request should have already been
313         cancelled at this point in case of TLS errors.
314
315 2014-10-07  Andy Estes  <aestes@apple.com>
316
317         Fix a warning when passing an NSInteger to abs().
318         https://bugs.webkit.org/show_bug.cgi?id=137480
319
320         Reviewed by Mark Rowe.
321
322         Use std::abs() instead, which is overloaded for both long (a.k.a. NSInteger) and int.
323
324         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
325         (WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):
326         (WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):
327
328 2014-10-06  Darin Adler  <darin@apple.com>
329
330         Make StringView check the lifetime of the StringImpl it's created from
331         https://bugs.webkit.org/show_bug.cgi?id=137202
332
333         Reviewed by Anders Carlsson.
334
335         * platform/graphics/TextRun.cpp: Update since TextRun's definition now
336         uses a StringView.
337
338 2014-10-06  Andy Estes  <aestes@apple.com>
339
340         [iOS] Fix remaining misuses of abs() and fabsf()
341         https://bugs.webkit.org/show_bug.cgi?id=130947
342
343         Reviewed by Simon Fraser.
344
345         Fixed issues found when compiling with -Wabsolute-value.
346
347         * platform/ios/ScrollAnimatorIOS.mm:
348         (WebCore::ScrollAnimatorIOS::handleTouchEvent): Called abs() instead of fabsf for integral types. Explicitly
349         cast the divisor to float in the call to atanf().
350         * platform/ios/wak/WKView.mm:
351         (_WKViewAutoresizeCoord): Explicitly cast origMarginsTotal to an int before calling abs(). Added a FIXME
352         indicating the strange behavior when origMarginsTotal is in the range (0, 1) (as pointed out by Darin).
353
354 2014-10-06  Andreas Kling  <akling@apple.com>
355
356         CanvasPattern always has an internal WebCore::Pattern.
357         <https://webkit.org/b/137456>
358
359         Use more Ref & PassRef for CanvasPattern and Pattern.
360
361         Removed some impossible null checks in GraphicsContext that
362         got exposed as compile errors with these changes.
363
364         Reviewed by Anders Carlsson.
365
366         * html/canvas/CanvasPattern.h:
367         (WebCore::CanvasPattern::pattern):
368         * platform/graphics/GraphicsContext.cpp:
369         (WebCore::GraphicsContext::setStrokePattern):
370         (WebCore::GraphicsContext::setFillPattern):
371         * platform/graphics/GraphicsContext.h:
372         * platform/graphics/Pattern.cpp:
373         (WebCore::Pattern::create):
374         * platform/graphics/Pattern.h:
375         * platform/graphics/filters/FETile.cpp:
376         (WebCore::FETile::platformApplySoftware):
377         * rendering/svg/RenderSVGPath.cpp:
378         (WebCore::useStrokeStyleToFill):
379         * rendering/svg/RenderSVGResourcePattern.cpp:
380         (WebCore::RenderSVGResourcePattern::applyResource):
381
382 2014-10-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
383
384         [EFL] Restore previous scroll position using restoreViewState()
385         https://bugs.webkit.org/show_bug.cgi?id=136999
386
387         Reviewed by Benjamin Poulain.
388
389         There are duplicating code paths to restore previous scroll position and scale factor in
390         HistoryController::restoreScrollPositionAndViewState. EFL port has processed the two code paths.
391         It causes wrong rendering update or scroll position change when previous page's scroll position
392         is restored. Thus EFL port begins to use restoreViewState() to restore scroll position and scale factor.
393         This patch is first step to support it.
394
395         Additionally EFL port has supported to use ScrollingCoordinatorCoordinatedGraphics::requestScrollPositionUpdate()
396         since r173785. So EFL port can use the requestScrollPositionUpdate() to restore scroll position on previous page
397         instead of delegatedScrollRequested(). However setScrollPosition() can't be used there for now, because iOS port
398         should call it when delegatesScrolling is disabled. On the other hand, EFL port supports it only when delegatesScrolling
399         is enabled.
400
401         Test covered by WKViewRestoreZoomAndScrollBackForward API test.
402
403         * loader/HistoryController.cpp:
404         (WebCore::HistoryController::restoreScrollPositionAndViewState):
405         EFL port only calls restoreViewState() to restore previous page's view state.
406
407         * page/Page.cpp:
408         (WebCore::Page::setPageScaleFactor):
409
410 2014-10-06  Benjamin Poulain  <bpoulain@apple.com>
411
412         Web Inspector: Highlighted selectors in Rules sidebar break with selectors that contain nested selector lists
413         https://bugs.webkit.org/show_bug.cgi?id=137378
414
415         Reviewed by Joseph Pecoraro.
416
417         We should not update the parser's selectorRange when matching a nested selector list.
418
419         To implement this with low risk of unbalanced start+end and good error recovery,
420         I have wrapped the parsing of selector_list between a start/end function at the grammar
421         level. Whenever the parser enter a nested selector list, m_nestedSelectorLevel goes up
422         by one. Any time the parsing is currently in a nested selector list, we never update
423         the selector ranges.
424
425         * css/CSSGrammar.y.in:
426         * css/CSSParser.cpp:
427         (WebCore::CSSParser::CSSParser):
428         (WebCore::CSSParser::markSelectorStart):
429         (WebCore::CSSParser::markSelectorEnd):
430         * css/CSSParser.h:
431         (WebCore::CSSParser::startNestedSelectorList):
432         (WebCore::CSSParser::endNestedSelectorList):
433
434 2014-10-06  Roger Fong  <roger_fong@apple.com>
435
436         [Windows] Build fix for EWS bots.
437
438         * WebCore.vcxproj/WebCoreGenerated.make: Make sure we always regenerate WebCore derived sources.
439
440 2014-10-06  Christophe Dumez  <cdumez@apple.com>
441
442         Add is<>() / downcast<>() support for RenderObject subclasses
443         https://bugs.webkit.org/show_bug.cgi?id=137424
444
445         Reviewed by Benjamin Poulain.
446
447         Add is<>() / downcast<>() support for RenderObject subclasses, and
448         get rid of IsRendererOfType traits struct as we can now rely on the
449         TypeCastsTraits instead.
450
451         toRender*() is still supported for most render objects because I did
452         not want to remove all usages in this patch, to keep the size small.
453         For now, only the MathML render objects were ported over to using
454         is<>() / downcast<>(). Other render objects will be taken care of in
455         follow-up patches and I will drop support for toRender*()
456         incrementally.
457
458         No new tests, no behavior change.
459
460         * accessibility/AccessibilityRenderObject.cpp:
461         (WebCore::AccessibilityRenderObject::isMathFenceOperator):
462         (WebCore::AccessibilityRenderObject::isMathSeparatorOperator):
463         (WebCore::AccessibilityRenderObject::mathLineThickness):
464         * dom/make_names.pl:
465         (printTypeHelpers):
466         * mathml/MathMLInlineContainerElement.cpp:
467         (WebCore::MathMLInlineContainerElement::childrenChanged):
468         * mathml/MathMLTextElement.cpp:
469         (WebCore::MathMLTextElement::didAttachRenderers):
470         (WebCore::MathMLTextElement::childrenChanged):
471         * rendering/RenderAncestorIterator.h:
472         (WebCore::lineageOfType):
473         * rendering/RenderBlock.h:
474         * rendering/RenderBlockFlow.h:
475         * rendering/RenderBox.h:
476         * rendering/RenderBoxModelObject.h:
477         * rendering/RenderButton.h:
478         * rendering/RenderCombineText.h:
479         * rendering/RenderCounter.h:
480         * rendering/RenderDetailsMarker.h:
481         * rendering/RenderElement.h:
482         * rendering/RenderEmbeddedObject.h:
483         * rendering/RenderFieldset.h:
484         * rendering/RenderFileUploadControl.h:
485         * rendering/RenderFlexibleBox.h:
486         * rendering/RenderFlowThread.h:
487         * rendering/RenderFrame.h:
488         * rendering/RenderFrameSet.h:
489         * rendering/RenderFullScreen.h:
490         * rendering/RenderGrid.h:
491         * rendering/RenderHTMLCanvas.h:
492         * rendering/RenderIFrame.h:
493         * rendering/RenderImage.h:
494         * rendering/RenderInline.h:
495         * rendering/RenderIterator.h:
496         (WebCore::isRendererOfType):
497         (WebCore::RenderTraversal::firstChild):
498         (WebCore::RenderTraversal::lastChild):
499         (WebCore::RenderTraversal::nextSibling):
500         (WebCore::RenderTraversal::previousSibling):
501         (WebCore::RenderTraversal::findAncestorOfType):
502         * rendering/RenderLayerModelObject.h:
503         * rendering/RenderLineBreak.h:
504         * rendering/RenderListBox.h:
505         * rendering/RenderListItem.h:
506         * rendering/RenderListMarker.h:
507         * rendering/RenderMedia.h:
508         * rendering/RenderMenuList.h:
509         * rendering/RenderMeter.h:
510         * rendering/RenderMultiColumnFlowThread.h:
511         * rendering/RenderMultiColumnSet.h:
512         * rendering/RenderMultiColumnSpannerPlaceholder.h:
513         * rendering/RenderNamedFlowFragment.h:
514         * rendering/RenderNamedFlowThread.h:
515         * rendering/RenderObject.h:
516         (WebCore::RenderObject>): Deleted.
517         * rendering/RenderProgress.h:
518         * rendering/RenderQuote.h:
519         * rendering/RenderRegion.h:
520         * rendering/RenderReplaced.h:
521         * rendering/RenderRubyRun.h:
522         * rendering/RenderScrollbarPart.h:
523         * rendering/RenderSearchField.h:
524         * rendering/RenderSlider.h:
525         * rendering/RenderSnapshottedPlugIn.h:
526         * rendering/RenderTable.h:
527         * rendering/RenderTableCaption.h:
528         * rendering/RenderTableCell.h:
529         * rendering/RenderTableCol.h:
530         * rendering/RenderTableRow.h:
531         * rendering/RenderTableSection.h:
532         * rendering/RenderText.h:
533         * rendering/RenderTextControl.h:
534         * rendering/RenderTextControlMultiLine.h:
535         * rendering/RenderTextControlSingleLine.h:
536         * rendering/RenderTextFragment.h:
537         * rendering/RenderVideo.h:
538         * rendering/RenderView.h:
539         * rendering/RenderWidget.h:
540         * rendering/mathml/RenderMathMLBlock.h:
541         * rendering/mathml/RenderMathMLFenced.cpp:
542         (WebCore::RenderMathMLFenced::updateFromElement):
543         * rendering/mathml/RenderMathMLFraction.cpp:
544         (WebCore::RenderMathMLFraction::unembellishedOperator):
545         * rendering/mathml/RenderMathMLFraction.h:
546         * rendering/mathml/RenderMathMLOperator.h:
547         * rendering/mathml/RenderMathMLRadicalOperator.h:
548         * rendering/mathml/RenderMathMLRoot.cpp:
549         (WebCore::RenderMathMLRoot::baseWrapper):
550         (WebCore::RenderMathMLRoot::radicalWrapper):
551         (WebCore::RenderMathMLRoot::indexWrapper):
552         (WebCore::RenderMathMLRoot::radicalOperator):
553         (WebCore::RenderMathMLRootWrapper::removeChild):
554         * rendering/mathml/RenderMathMLRoot.h:
555         * rendering/mathml/RenderMathMLRow.cpp:
556         (WebCore::RenderMathMLRow::updateOperatorProperties):
557         (WebCore::RenderMathMLRow::layout):
558         * rendering/mathml/RenderMathMLRow.h:
559         * rendering/mathml/RenderMathMLScripts.cpp:
560         (WebCore::RenderMathMLScripts::addChildInternal):
561         (WebCore::RenderMathMLScripts::removeChildInternal):
562         (WebCore::RenderMathMLScripts::unembellishedOperator):
563         (WebCore::RenderMathMLScripts::layout):
564         (WebCore::RenderMathMLScriptsWrapper::addChildInternal):
565         (WebCore::RenderMathMLScriptsWrapper::addChild):
566         (WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
567         (WebCore::RenderMathMLScriptsWrapper::removeChild):
568         * rendering/mathml/RenderMathMLScripts.h:
569         * rendering/mathml/RenderMathMLSpace.h:
570         * rendering/mathml/RenderMathMLSquareRoot.h:
571         * rendering/mathml/RenderMathMLToken.h:
572         * rendering/mathml/RenderMathMLUnderOver.cpp:
573         (WebCore::RenderMathMLUnderOver::unembellishedOperator):
574         * rendering/svg/RenderSVGContainer.h:
575         * rendering/svg/RenderSVGGradientStop.h:
576         * rendering/svg/RenderSVGImage.h:
577         * rendering/svg/RenderSVGInlineText.h:
578         * rendering/svg/RenderSVGModelObject.h:
579         * rendering/svg/RenderSVGPath.h:
580         * rendering/svg/RenderSVGResourceContainer.h:
581         * rendering/svg/RenderSVGResourceFilter.h:
582         * rendering/svg/RenderSVGRoot.h:
583         * rendering/svg/RenderSVGShape.h:
584         * rendering/svg/RenderSVGText.h:
585         * rendering/svg/RenderSVGTextPath.h:
586         * rendering/svg/RenderSVGViewportContainer.h:
587
588 2014-10-06  Christophe Dumez  <cdumez@apple.com>
589
590         Use is<>() / downcast<>() for ScrollingTreeNode subclasses
591         https://bugs.webkit.org/show_bug.cgi?id=137451
592
593         Reviewed by Tim Horton.
594
595         Use is<>() / downcast<>() for ScrollingTreeNode subclasses.
596
597         No new tests, no behavior change.
598
599         * page/scrolling/ScrollingTree.cpp:
600         (WebCore::ScrollingTree::handleWheelEvent):
601         (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):
602         (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
603         * page/scrolling/ScrollingTreeFrameScrollingNode.h:
604         * page/scrolling/ScrollingTreeNode.h:
605         * page/scrolling/ScrollingTreeOverflowScrollingNode.h:
606         * page/scrolling/ScrollingTreeScrollingNode.h:
607         * page/scrolling/mac/ScrollingTreeFixedNode.h:
608         * page/scrolling/mac/ScrollingTreeStickyNode.h:
609         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
610         (WebCore::ScrollingTreeStickyNode::updateLayersAfterAncestorChange):
611
612 2014-10-06  Myles C. Maxfield  <mmaxfield@apple.com>
613
614         Addressing post-review comment on r174297.
615         https://bugs.webkit.org/show_bug.cgi?id=137355
616
617         Unreviewed.
618
619         * rendering/RenderText.cpp:
620         (WebCore::RenderText::stringView):
621
622 2014-10-06  Myles C. Maxfield  <mmaxfield@apple.com>
623
624         Unreviewed merge fix for r174279.
625         https://bugs.webkit.org/show_bug.cgi?id=137097
626
627         * svg/SVGToOTFFontConversion.cpp:
628         (WebCore::SVGToOTFFontConverter::convertSVGToOTFFont):
629
630 2014-10-06  David Hyatt  <hyatt@apple.com>
631
632         REGRESSION (Simple Line Layout): Inline block baselines computed incorrectly
633         https://bugs.webkit.org/show_bug.cgi?id=137461
634
635         Reviewed by Simon Fraser.
636
637         Added fast/inline-block/simple-line-layout.html
638
639         * rendering/SimpleLineLayoutFunctions.h:
640         (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
641         (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
642         Fix the baseline computation functions in simple line layout to
643         use lineCount rather than runCount.
644
645 2014-10-06  Ada Chan  <adachan@apple.com>
646
647         Add ChromeClient::isPlayingAudioDidChange().
648         https://bugs.webkit.org/show_bug.cgi?id=137220
649
650         Reviewed by Jer Noble.
651
652         This is called when the Page's m_isPlayingAudio changes.
653
654         No new tests, no behavior change.
655
656         * page/ChromeClient.h:
657         (WebCore::ChromeClient::isPlayingAudioDidChange):
658         * page/Page.cpp:
659         (WebCore::Page::updateIsPlayingAudio):
660
661 2014-10-06  Benjamin Poulain  <benjamin@webkit.org>
662
663         Unreviewed, rolling out r174336.
664
665         Mozilla's Dromaeo still relies on the deprecated function.
666
667         Reverted changeset:
668
669         "Add a deprecation warning for Element.webkitMatchesSelector"
670         https://bugs.webkit.org/show_bug.cgi?id=137417
671         http://trac.webkit.org/changeset/174336
672
673 2014-10-06  Christophe Dumez  <cdumez@apple.com>
674
675         Use is<>() / downcast<>() for CryptoKey subclasses
676         https://bugs.webkit.org/show_bug.cgi?id=137436
677
678         Reviewed by Ryosuke Niwa.
679
680         Use is<>() / downcast<>() for CryptoKey subclasses.
681
682         No new tests, no behavior change.
683
684         * bindings/js/JSCryptoKeySerializationJWK.cpp:
685         (WebCore::addJWKAlgorithmToJSON):
686         * bindings/js/SerializedScriptValue.cpp:
687         (WebCore::CloneSerializer::write):
688         * crypto/CryptoKey.h:
689         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
690         (WebCore::CryptoAlgorithmAES_CBC::keyAlgorithmMatches):
691         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
692         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
693         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
694         (WebCore::CryptoAlgorithmAES_KW::keyAlgorithmMatches):
695         (WebCore::CryptoAlgorithmAES_KW::encryptForWrapKey):
696         (WebCore::CryptoAlgorithmAES_KW::decryptForUnwrapKey):
697         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
698         (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches):
699         (WebCore::CryptoAlgorithmHMAC::sign):
700         (WebCore::CryptoAlgorithmHMAC::verify):
701         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
702         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::keyAlgorithmMatches):
703         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
704         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
705         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
706         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::keyAlgorithmMatches):
707         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
708         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
709         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
710         (WebCore::CryptoAlgorithmRSA_OAEP::keyAlgorithmMatches):
711         (WebCore::CryptoAlgorithmRSA_OAEP::encrypt):
712         (WebCore::CryptoAlgorithmRSA_OAEP::decrypt):
713         * crypto/keys/CryptoKeyAES.h:
714         (WebCore::isCryptoKeyAES): Deleted.
715         * crypto/keys/CryptoKeyHMAC.h:
716         (WebCore::isCryptoKeyHMAC): Deleted.
717         * crypto/keys/CryptoKeyRSA.h:
718         (WebCore::isCryptoKeyRSA): Deleted.
719
720 2014-10-06  Simon Fraser  <simon.fraser@apple.com>
721
722         Some compositing logic cleanup
723         https://bugs.webkit.org/show_bug.cgi?id=133060
724
725         Reviewed by Zalan Bujtas.
726
727         Move compositing-related code from RenderLayer::styleChanged() to
728         RenderLayerCompositor::layerStyleChanged(). Combine various tests
729         (many clip-related) for changes that require layer rebuilding into 
730         styleChangeRequiresLayerRebuild().
731         
732         Remove code that calls setBackingNeedsRepaint() after filters change
733         between being composited or not; I verified that existing "repaint after
734         style change" code takes care those repaints.
735
736         * rendering/RenderLayer.cpp:
737         (WebCore::RenderLayer::calculateClipRects):
738         (WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate): Deleted.
739         * rendering/RenderLayer.h:
740         * rendering/RenderLayerCompositor.cpp:
741         (WebCore::checkIfDescendantClippingContextNeedsUpdate):
742         (WebCore::styleChangeRequiresLayerRebuild):
743         (WebCore::RenderLayerCompositor::layerStyleChanged):
744         * rendering/RenderLayerCompositor.h:
745
746 2014-10-06  Ada Chan  <adachan@apple.com>
747
748         Fix the iOS build after https://trac.webkit.org/changeset/174353.
749
750         * platform/audio/ios/AudioDestinationIOS.h:
751
752 2014-10-06  Ada Chan  <adachan@apple.com>
753
754         Implement Page::isPlayingAudio().
755         https://bugs.webkit.org/show_bug.cgi?id=137218
756
757         Reviewed by Eric Carlson.
758
759         - Add a hasMediaCharacteristics() method to MediaSession. There are three characteristics:
760         audible, visual, and legible. MediaSession gets the media characteristics information from
761         its MediaSessionClient.
762         - Add a mediaStateDidChange() method to MediaSessionClient that MediaSession can call when its
763         state changes.
764         - Each Document keeps a set of MediaSessions it contains. When that set changes, or when a MediaSession
765         changes state, or when its characteristics change, Document::updateIsPlayingAudio() is called. That method
766         iterates through all its MediaSessions to check if the overall isPlayingAudio state has changed in the Document.
767         - Each Page caches its overall isPlayingAudio state. Whenever a Document's isPlayingAudio state changes,
768         it calls Page::updateIsPlayingAudio() which iterates through its frames' documents to calculate its
769         overall isPlayingAudio state.
770
771         No new tests, no behavior change.
772
773         * dom/Document.cpp:
774         (WebCore::Document::Document):
775         Initialize m_isPlayingAudio.
776         (WebCore::Document::registerMediaSession):
777         Add the MediaSession to m_mediaSessions. Call updateIsPlayingAudio().
778         (WebCore::Document::unregisterMediaSession):
779         Remove the MediaSession from m_mediaSessions. Call updateIsPlayingAudio().
780         (WebCore::Document::updateIsPlayingAudio):
781         Go through all the MediaSessions in this Document and check if any has the Audible characteristic
782         and is playing. If the overall isPlayingAudio state changes, call Page::updateIsPlayingAudio().
783         * dom/Document.h:
784         (WebCore::Document::isPlayingAudio):
785
786         * html/HTMLMediaElement.cpp:
787         (WebCore::HTMLMediaElement::registerWithDocument):
788         Call Document::registerMediaSession().
789         (WebCore::HTMLMediaElement::unregisterWithDocument):
790         Call Document::unregisterMediaSession().
791         (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
792         Call Document::updateIsPlayingAudio().
793         (WebCore::HTMLMediaElement::stop):
794         Call MediaSession::clientWillPausePlayback() so the MediaSession's state can be set back to Paused.
795         (WebCore::HTMLMediaElement::hasMediaCharacteristics):
796         Call hasAudio() to check if the HTMLMediaElement has the Audible characteristic. Call hasVideo()
797         to check if it has the Visual characteristic. Call hasClosedCaptions() to check if it has the
798         Legible characteristic.
799         (WebCore::HTMLMediaElement::mediaStateDidChange):
800         Call Document::updateIsPlayingAudio().
801         * html/HTMLMediaElement.h:
802
803         * page/Page.cpp:
804         (WebCore::Page::Page):
805         Initialize m_isPlayingAudio.
806         (WebCore::Page::updateIsPlayingAudio):
807         Iterate through all its frames' documents to check if any has audio playing. If the overall isPlayingAudio
808         state has changed, update m_isPlayingAudio.
809         * page/Page.h:
810         (WebCore::Page::isPlayingAudio):
811
812         * platform/audio/MediaSession.cpp:
813         (WebCore::MediaSession::setState):
814         If the MediaSession's state has changed, call Document::updateIsPlayingAudio().
815         (WebCore::MediaSession::hasMediaCharacteristics):
816         Call MediaSessionClient::hasMediaCharacteristics().
817         * platform/audio/MediaSession.h:
818         (WebCore::MediaSessionClient::mediaStateDidChange):
819
820         * platform/audio/mac/AudioDestinationMac.h:
821         AudioDestination only has the Audible characteristic.
822
823 2014-10-06  Christophe Dumez  <cdumez@apple.com>
824
825         Use is<>() / downcast<>() for ScrollingTree subclasses
826         https://bugs.webkit.org/show_bug.cgi?id=137449
827
828         Reviewed by Ryosuke Niwa.
829
830         Use is<>() / downcast<>() for ScrollingTree subclasses.
831
832         No new tests, no behavior change.
833
834         * page/scrolling/ScrollingTree.h:
835         * page/scrolling/ThreadedScrollingTree.h:
836         * page/scrolling/ios/ScrollingTreeIOS.h:
837         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
838         (WebCore::ScrollingCoordinatorMac::handleWheelEvent):
839         (WebCore::ScrollingCoordinatorMac::commitTreeState):
840
841 2014-10-06  Brent Fulgham  <bfulgham@apple.com>
842
843         [Win] Build fix aftr r174347.
844
845         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Use correct build
846         macro to prevent build break when ENCRYPTED_MEDIA_V2 is not enabled.
847
848 2014-10-06  Brent Fulgham  <bfulgham@apple.com>
849
850         [Win] Project file gardening.
851
852         * WebCore.vcxproj/WebCore.vcxproj.filters: Move EditorWin.cpp and
853           MediatTimeAVFoundation to proper folder locations in project.
854
855 2014-10-06  Brent Fulgham  <bfulgham@apple.com>
856
857         [Win] Extend AVFoundationCF Media Implementation
858         https://bugs.webkit.org/show_bug.cgi?id=137409
859
860         Reviewed by Eric Carlson.
861
862         This code is not yet being built and tested by our system. Appropriate
863         tests will be activated when we enable the build.
864
865         Most of this patch involves correcting some misuse of the AVFoundationCF API.
866         1. It is never appropriate in AVCF to pass a null CFErrorRef; instead you must
867            pass a CFErrorRef with error type kCFURLErrorUnknown.
868         2. Because of the asynchronous way we handle the request/response, it is possible
869            for AVCF to make two AVCF requests while negotiating the key exchange.
870
871         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Add
872         missing declaration.
873         * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
874         (WebCore::CDMSessionAVFoundationCF::generateKeyRequest): Tighten up scope
875         of 'underlyingError'.
876         (WebCore::CDMSessionAVFoundationCF::update): Add call to complete the
877         loading process.
878         * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
879         (WebCore::InbandTextTrackPrivateAVCF::label): Handle null titles CFArray
880         found during testing.
881         (WebCore::InbandTextTrackPrivateAVCF::language): Ditto for a null locale.
882         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
883         (WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine): Add support
884         for the new 'supportsKeySystem' method.
885         (WebCore::MediaPlayerPrivateAVFoundationCF::createContextVideoRenderer): Add
886         assertion for mainThread.
887         (WebCore::MediaPlayerPrivateAVFoundationCF::destroyContextVideoRenderer): Ditto.
888         (WebCore::MediaPlayerPrivateAVFoundationCF::createVideoLayer): Ditto.
889         (WebCore::MediaPlayerPrivateAVFoundationCF::destroyVideoLayer): Ditto.
890         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayer): Ditto.
891         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayerItem): Ditto.
892         (WebCore::MediaPlayerPrivateAVFoundationCF::platformLayer): Ditto.
893         (WebCore::MediaPlayerPrivateAVFoundationCF::platformSetVisible): Ditto.
894         (WebCore::MediaPlayerPrivateAVFoundationCF::paintCurrentFrameInContext): Ditto.
895         (WebCore::MediaPlayerPrivateAVFoundationCF::paint): Ditto.
896         (WebCore::MediaPlayerPrivateAVFoundationCF::supportsKeySystem): Added.
897         (WebCore::MediaPlayerPrivateAVFoundationCF::sizeChanged): Add assertion that this
898         is being called on the main thread.
899         (WebCore::MediaPlayerPrivateAVFoundationCF::processMediaSelectionOptions): Handle
900         the allows empty media selection properly based on test behavior.
901         (WebCore::AVFWrapper::AVFWrapper): Initialize resource loader callback structure
902         when building with AVFOUNDATION_LOADER_DELEGATE.
903         (WebCore::AVFWrapper::createAssetForURL): Use AVFWrapper's loader callback struct,
904         rather than passing the address of a temporary value.
905         (WebCore::AVFWrapper::processNotification): Stop using the deprecated 
906         'dispatch_get_current_queue' function.
907         (WebCore::AVFWrapper::processCue): Ditto.
908         (WebCore::AVFWrapper::legibleOutputCallback): Ditto.
909         (WebCore::AVFWrapper::processShouldWaitForLoadingOfResource): Pass a valid CFError
910         object; nullptr is not allowed as an argument to the "...FinishedLoadingWithError"
911         method.
912         (WebCore::AVFWrapper::shouldWaitForLoadingOfResource): Add support for multiple
913         in-flight requests.
914         (WebCore::AVFWrapper::platformLayer): Assert we are on the main thread.
915         (WebCore::AVFWrapper::setRequestForKey): Add support for multiple in-flight requests.
916         (WebCore::AVFWrapper::takeRequestForKeyURI): Ditto.
917         (WebCore::LayerClient::platformCALayerLayoutSublayersOfLayer): Ditto.
918         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
919         * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp: Make sure we pass
920         valid CFError objects, rather than nullptr.
921
922 2014-10-06  Chris Fleizach  <cfleizach@apple.com>
923
924         AX: Performance: Certain Web site causes Safari to hang completely while entering form data
925         https://bugs.webkit.org/show_bug.cgi?id=137420
926
927         Reviewed by Mario Sanchez Prada.
928
929         If a website has multiple nested tables that are not "accessibility" tables, the performance of accessibility slows to a crawl because:
930           1) We are re-computing accessibilityIsIgnored many times.
931                As a solution, we can enable the isIgnoredCache when updating children.
932           2) When asking if an object isTableCell, we'd go up the parent chain, asking each of those parents the same question, which exploded into calling this many times.
933               As a solution, I've changed our determination of isTableCell to instead check if the parent is an accessibiltyTable which should be much faster.
934
935         No new functionality. Existing tests cover changes.
936
937         * accessibility/AccessibilityObject.cpp:
938         (WebCore::AccessibilityObject::updateChildrenIfNecessary):
939         (WebCore::AccessibilityObject::accessibilityIsIgnored):
940         * accessibility/AccessibilityTableCell.cpp:
941         (WebCore::AccessibilityTableCell::parentTable):
942         (WebCore::AccessibilityTableCell::isTableCell):
943
944 2014-10-06  Csaba Osztrogon√°c  <ossy@webkit.org>
945
946         Unreviewed, touch testing/Internals.idl to try to fix Windows EWS after r174315.
947
948         * testing/Internals.idl: Remove unnecessary whitespaces.
949
950 2014-10-05  Christophe Dumez  <cdumez@apple.com>
951
952         Use is<>() / downcast<>() for ScrollingCoordinator / ScrollingStateNode subclasses
953         https://bugs.webkit.org/show_bug.cgi?id=137440
954
955         Reviewed by Ryosuke Niwa.
956
957         Use is<>() / downcast<>() for ScrollingCoordinator / ScrollingStateNode subclasses.
958
959         No new tests, no behavior change.
960
961         * page/scrolling/AsyncScrollingCoordinator.cpp:
962         (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
963         (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
964         (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
965         (WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):
966         (WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode):
967         (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
968         (WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
969         * page/scrolling/AsyncScrollingCoordinator.h:
970         * page/scrolling/ScrollingCoordinator.h:
971         * page/scrolling/ScrollingStateFixedNode.h:
972         * page/scrolling/ScrollingStateFrameScrollingNode.h:
973         * page/scrolling/ScrollingStateNode.h:
974         * page/scrolling/ScrollingStateOverflowScrollingNode.h:
975         * page/scrolling/ScrollingStateScrollingNode.h:
976         * page/scrolling/ScrollingStateStickyNode.h:
977         * page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
978         (WebCore::ScrollingTreeFrameScrollingNode::updateBeforeChildren):
979         * page/scrolling/ScrollingTreeScrollingNode.cpp:
980         (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
981         (WebCore::ScrollingTreeScrollingNode::updateAfterChildren):
982         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
983         (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
984         * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
985         (WebCore::ScrollingTreeFrameScrollingNodeIOS::updateBeforeChildren):
986         (WebCore::ScrollingTreeFrameScrollingNodeIOS::updateAfterChildren):
987         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
988         (WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
989         * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
990         (WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):
991         (WebCore::ScrollingTreeFrameScrollingNodeMac::updateAfterChildren):
992         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
993         (WebCore::ScrollingTreeStickyNode::updateBeforeChildren):
994
995 2014-10-05  Christophe Dumez  <cdumez@apple.com>
996
997         Use is<>() / downcast<>() for CachedRawResource
998         https://bugs.webkit.org/show_bug.cgi?id=137439
999
1000         Reviewed by Ryosuke Niwa.
1001
1002         Use is<>() / downcast<>() for CachedRawResource.
1003
1004         No new tests, no behavior change.
1005
1006         * inspector/InspectorResourceAgent.cpp:
1007         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1008         * loader/cache/CachedRawResource.cpp:
1009         (WebCore::CachedRawResource::switchClientsToRevalidatedResource):
1010         * loader/cache/CachedRawResource.h:
1011         (isType):
1012         * loader/cache/CachedResourceLoader.cpp:
1013         (WebCore::CachedResourceLoader::requestRawResource):
1014         (WebCore::CachedResourceLoader::requestMainResource):
1015
1016 2014-10-05  Christophe Dumez  <cdumez@apple.com>
1017
1018         Use is<>() / downcast<>() for TextTrack subclasses
1019         https://bugs.webkit.org/show_bug.cgi?id=137438
1020
1021         Reviewed by Ryosuke Niwa.
1022
1023         Use is<>() / downcast<>() for TextTrack subclasses.
1024
1025         No new tests, no behavior change.
1026
1027         * Modules/mediasource/SourceBuffer.cpp:
1028         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
1029         * html/HTMLMediaElement.cpp:
1030         (WebCore::HTMLMediaElement::parseAttribute):
1031         * html/track/InbandTextTrack.h:
1032         (isType):
1033         * html/track/LoadableTextTrack.h:
1034         (isType):
1035         * html/track/TextTrackList.cpp:
1036         (TextTrackList::getTrackIndex):
1037         (TextTrackList::append): Deleted.
1038
1039 2014-10-05  Christophe Dumez  <cdumez@apple.com>
1040
1041         Use is<>() / downcast<>() for CryptoKeyData subclasses
1042         https://bugs.webkit.org/show_bug.cgi?id=137437
1043
1044         Reviewed by Ryosuke Niwa.
1045
1046         Use is<>() / downcast<>() for CryptoKeyData subclasses.
1047
1048         No new tests, no behavior change.
1049
1050         * bindings/js/JSCryptoKeySerializationJWK.cpp:
1051         (WebCore::JSCryptoKeySerializationJWK::serialize):
1052         * bindings/js/SerializedScriptValue.cpp:
1053         (WebCore::CloneSerializer::write):
1054         * crypto/CryptoKeyData.h:
1055         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
1056         (WebCore::CryptoAlgorithmAES_CBC::importKey):
1057         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
1058         (WebCore::CryptoAlgorithmAES_KW::importKey):
1059         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
1060         (WebCore::CryptoAlgorithmHMAC::importKey):
1061         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
1062         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
1063         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
1064         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
1065         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
1066         (WebCore::CryptoAlgorithmRSA_OAEP::importKey):
1067         * crypto/keys/CryptoKeyDataOctetSequence.h:
1068         (WebCore::isCryptoKeyDataOctetSequence): Deleted.
1069         * crypto/keys/CryptoKeyDataRSAComponents.h:
1070         (WebCore::isCryptoKeyDataRSAComponents): Deleted.
1071         * crypto/keys/CryptoKeySerializationRaw.cpp:
1072         (WebCore::CryptoKeySerializationRaw::serialize):
1073
1074 2014-10-05  Benjamin Poulain  <bpoulain@apple.com>
1075
1076         Add a deprecation warning for Element.webkitMatchesSelector
1077         https://bugs.webkit.org/show_bug.cgi?id=137417
1078
1079         Reviewed by Christophe Dumez.
1080
1081         Many scripts have assumed that the unprefixed version of ElementwebkitMatchesSelector
1082         would be Element.matchesSelector. Feature detection scripts too often test
1083         for Element.matchesSelector instead of Element.matches before calling Element.webkitMatchesSelector.
1084
1085         This patch add a deprecation warning for Element.webkitMatchesSelector with the hope
1086         that it will push the adoption of the unprefixed version.
1087
1088         * dom/Element.cpp:
1089         (WebCore::Element::webkitMatchesSelector):
1090         * dom/Element.h:
1091         * dom/Element.idl:
1092
1093 2014-10-05  Benjamin Poulain  <benjamin@webkit.org>
1094
1095         Element.matches()'s argument is not supposed to be optional
1096         https://bugs.webkit.org/show_bug.cgi?id=137427
1097
1098         Reviewed by Christophe Dumez.
1099
1100         The argument was marked as optional, it is not supposed to:
1101         https://dom.spec.whatwg.org/#interface-element
1102
1103         Also update the webkit-prefixed version: webkitMatchesSelector().
1104
1105         Tests: fast/dom/SelectorAPI/closest-definition.html
1106                fast/dom/SelectorAPI/closest-null-undefined.html
1107                fast/dom/SelectorAPI/matches-definition.html
1108                fast/dom/SelectorAPI/matches-null-undefined.html
1109
1110         * dom/Element.idl:
1111
1112 2014-10-05  Christophe Dumez  <cdumez@apple.com>
1113
1114         Use is<>() / downcast<>() for CachedResource subclasses
1115         https://bugs.webkit.org/show_bug.cgi?id=137431
1116
1117         Reviewed by Benjamin Poulain.
1118
1119         Use is<>() / downcast<>() for CachedResource subclasses.
1120
1121         No new tests, no behavior change.
1122
1123         * inspector/InspectorPageAgent.cpp:
1124         (WebCore::InspectorPageAgent::cachedResourceContent):
1125         * loader/cache/CachedCSSStyleSheet.h:
1126         * loader/cache/CachedFont.h:
1127         * loader/cache/CachedImage.cpp:
1128         (WebCore::CachedImage::switchClientsToRevalidatedResource):
1129         * loader/cache/CachedImage.h:
1130         * loader/cache/CachedResource.h:
1131         * loader/cache/CachedResourceLoader.cpp:
1132         (WebCore::CachedResourceLoader::requestImage):
1133         (WebCore::CachedResourceLoader::requestFont):
1134         (WebCore::CachedResourceLoader::requestTextTrack):
1135         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
1136         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1137         (WebCore::CachedResourceLoader::requestScript):
1138         (WebCore::CachedResourceLoader::requestXSLStyleSheet):
1139         (WebCore::CachedResourceLoader::requestSVGDocument):
1140         (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
1141         * loader/cache/CachedSVGDocument.h:
1142         * loader/cache/CachedScript.h:
1143         * loader/cache/CachedTextTrack.h:
1144         * loader/cache/CachedXSLStyleSheet.h:
1145         * loader/cache/MemoryCache.cpp:
1146         (WebCore::MemoryCache::removeImageFromCache):
1147
1148 2014-10-05  Christophe Dumez  <cdumez@apple.com>
1149
1150         Use is<>() / downcast<>() for StyleSheet subclasses
1151         https://bugs.webkit.org/show_bug.cgi?id=137429
1152
1153         Reviewed by Benjamin Poulain.
1154
1155         Use is<>() / downcast<>() for StyleSheet subclasses.
1156
1157         No new tests, no behavior change.
1158
1159         * bindings/gobject/WebKitDOMPrivate.cpp:
1160         (WebKit::wrap):
1161         * css/CSSStyleSheet.h:
1162         (isType):
1163         * css/StyleSheet.h:
1164         * dom/Document.cpp:
1165         (WebCore::Document::applyXSLTransform):
1166         * dom/DocumentStyleSheetCollection.cpp:
1167         (WebCore::filterEnabledNonemptyCSSStyleSheets):
1168         * dom/ProcessingInstruction.cpp:
1169         (WebCore::ProcessingInstruction::parseStyleSheet):
1170         * inspector/InspectorCSSAgent.cpp:
1171         (WebCore::InspectorCSSAgent::getAllStyleSheets):
1172         * xml/XSLStyleSheet.h:
1173         (isType):
1174
1175 2014-10-05  Christophe Dumez  <cdumez@apple.com>
1176
1177         Use is<>() / downcast<>() for CryptoAlgorithmParameters subclasses
1178         https://bugs.webkit.org/show_bug.cgi?id=137432
1179
1180         Reviewed by Benjamin Poulain.
1181
1182         Use is<>() / downcast<>() for CryptoAlgorithmParameters subclasses.
1183
1184         No new tests, no behavior change.
1185
1186         * bindings/js/JSCryptoKeySerializationJWK.cpp:
1187         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
1188         * crypto/CryptoAlgorithmParameters.h:
1189         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
1190         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
1191         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
1192         (WebCore::CryptoAlgorithmAES_CBC::generateKey):
1193         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
1194         (WebCore::CryptoAlgorithmAES_KW::generateKey):
1195         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
1196         (WebCore::CryptoAlgorithmHMAC::sign):
1197         (WebCore::CryptoAlgorithmHMAC::verify):
1198         (WebCore::CryptoAlgorithmHMAC::generateKey):
1199         (WebCore::CryptoAlgorithmHMAC::importKey):
1200         * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
1201         (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
1202         * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
1203         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
1204         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
1205         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
1206         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
1207         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
1208         (WebCore::CryptoAlgorithmRSA_OAEP::encrypt):
1209         (WebCore::CryptoAlgorithmRSA_OAEP::decrypt):
1210         (WebCore::CryptoAlgorithmRSA_OAEP::generateKey):
1211         (WebCore::CryptoAlgorithmRSA_OAEP::importKey):
1212         * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
1213         * crypto/parameters/CryptoAlgorithmAesKeyGenParams.h:
1214         * crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
1215         * crypto/parameters/CryptoAlgorithmHmacParams.h:
1216         * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
1217         * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h:
1218         * crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
1219         * crypto/parameters/CryptoAlgorithmRsaSsaParams.h:
1220
1221 2014-10-05  Chris Fleizach  <cfleizach@apple.com>
1222
1223         AX: iOS8: Crash at -[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]
1224         https://bugs.webkit.org/show_bug.cgi?id=137289
1225
1226         Reviewed by Mario Sanchez Prada.
1227
1228         Casting a NSInteger to an unsigned can bypass the check we were hoping to achieve, 
1229         because size_t is not the same as unsigned.
1230
1231         Test: platform/ios-sim/accessibility/out-of-bounds-child-access.html
1232
1233         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1234         (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
1235
1236 2014-10-05  Christophe Dumez  <cdumez@apple.com>
1237
1238         Use is<>() / downcast<>() for ElementData subclasses
1239         https://bugs.webkit.org/show_bug.cgi?id=137430
1240
1241         Reviewed by Benjamin Poulain.
1242
1243         Use is<>() / downcast<>() for ElementData subclasses.
1244
1245         No new tests, no behavior change.
1246
1247         * dom/Element.cpp:
1248         (WebCore::Element::cloneAttributesFromElement):
1249         (WebCore::Element::createUniqueElementData):
1250         * dom/ElementData.cpp:
1251         (WebCore::ElementData::destroy):
1252         * dom/ElementData.h:
1253         (WebCore::ElementData::length):
1254         (WebCore::ElementData::attributeBase):
1255         (WebCore::ElementData::presentationAttributeStyle):
1256         (WebCore::ElementData::attributesIterator):
1257         (WebCore::ElementData::findAttributeByName):
1258         (isType):
1259
1260 2014-10-05  Lorenzo Tilve  <ltilve@igalia.com>
1261
1262         [GTK] Fix build when DRAG_SUPPORT is disabled
1263         https://bugs.webkit.org/show_bug.cgi?id=137361
1264
1265         Reviewed by Carlos Garcia Campos.
1266
1267         Flag out unbuildable code without DRAG_SUPPORT.
1268
1269         * platform/gtk/GtkDragAndDropHelper.cpp:
1270         * platform/gtk/GtkDragAndDropHelper.h:
1271
1272 2014-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1273
1274         [GTK] Do not generate a symlink in derived sources for every header in WebCore/bindings/gobject
1275         https://bugs.webkit.org/show_bug.cgi?id=137389
1276
1277         Reviewed by Martin Robinson.
1278
1279         We only need a symlink for static sources that are included in
1280         public generated headers, because they are added with as
1281         <webkitdom/WebKitDOMFoo.h> so they need to be inside a webkitdom
1282         directory. Also use proper targets and commands to create the
1283         symlinks only when needed instead of for every build.
1284
1285         * PlatformGTK.cmake:
1286
1287 2014-10-04  Myles C. Maxfield  <mmaxfield@apple.com>
1288
1289         [SVG -> OTF Converter] Arabic forms are not substituted correctly
1290         https://bugs.webkit.org/show_bug.cgi?id=137092
1291
1292         Reviewed by Darin Adler.
1293
1294         Tests: svg/W3C-SVG-1.1/fonts-glyph-02-t.svg
1295                svg/custom/glyph-selection-arabic-forms.svg
1296
1297         * svg/SVGToOTFFontConversion.cpp:
1298         (WebCore::SVGToOTFFontConverter::appendArabicReplacementSubtable): Invoked for each of the three
1299         Arabic form substitutions.
1300         (WebCore::SVGToOTFFontConverter::appendGSUBTable): OpenType "Advanced Typographic Table":
1301         "Glyph substitution data"
1302         (WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Re-order the m_codepointsToIndicesMap
1303         to prefer isolated forms of glyphs.
1304         (WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): Append the GSUB table.
1305         (WebCore::calculateChecksum): Deleted.
1306
1307 2014-10-04  Dhi Aurrahman  <diorahman@rockybars.com>
1308
1309         Implement Element.closest() API
1310         https://bugs.webkit.org/show_bug.cgi?id=137418
1311
1312         Reviewed by Benjamin Poulain.
1313
1314         Implement Element.closest() API as specified in [1].
1315
1316         [1]: https://dom.spec.whatwg.org/#dom-element-closest
1317
1318         Tests: fast/selectors/closest-general.html
1319                fast/selectors/closest-scope.html
1320
1321         * dom/Element.cpp:
1322         (WebCore::Element::closest):
1323         * dom/Element.h:
1324         * dom/Element.idl:
1325         * dom/SelectorQuery.cpp:
1326         (WebCore::SelectorDataList::selectorClosest):
1327         (WebCore::SelectorDataList::closest):
1328         * dom/SelectorQuery.h:
1329         (WebCore::SelectorQuery::closest):
1330
1331 2014-10-04  Brian J. Burg  <burg@cs.washington.edu>
1332
1333         Unreviewed, rolling out r174319.
1334
1335         Causes assertions in fast/profiler tests. Needs nontrivial
1336         investigation, will take offline.
1337
1338         Reverted changeset:
1339
1340         "Web Inspector: timelines should not count time elapsed while
1341         paused in the debugger"
1342         https://bugs.webkit.org/show_bug.cgi?id=136351
1343         http://trac.webkit.org/changeset/174319
1344
1345 2014-10-04  Brian J. Burg  <burg@cs.washington.edu>
1346
1347         Web Inspector: timelines should not count time elapsed while paused in the debugger
1348         https://bugs.webkit.org/show_bug.cgi?id=136351
1349
1350         Reviewed by Timothy Hatcher.
1351
1352         To avoid counting time elapsed while the debugger is paused, timeline records should
1353         keep track of time elapsed since the start of timeline capturing, rather than wall clock
1354         timestamps. We can easily compute elapsed time by sharing Stopwatch instance among
1355         all timeline record-generating code. The stopwatch is paused while the debugger is paused,
1356         so subsequent time measurements will not include time elapsed while the debugger is paused.
1357
1358         Agents use the shared stopwatch to generate timestamps if the timeline agent is active
1359         (i.e., a timeline recording is being captured). If not, use a zero timestamp since the timing data is only revealed through the Timeline interface.
1360
1361         This refactoring is safe because start and end times are only used to graph records; the
1362         timestamp's actual value is irrelevant and is not displayed in the user interface. Date
1363         timestamps are still included with network-related records as part of their header data.
1364
1365         No new tests, because we cannot reliably test timing changes induced by debugger pauses.
1366         It is possible for records to accrue time before the debugger pauses or after it resumes.
1367
1368         * inspector/InspectorCSSAgent.cpp: Remove unused include.
1369         * inspector/InspectorPageAgent.cpp: Use timestamps from the shared stopwatch.
1370         (WebCore::InspectorPageAgent::timestamp):
1371         (WebCore::InspectorPageAgent::domContentEventFired):
1372         (WebCore::InspectorPageAgent::loadEventFired):
1373         * inspector/InspectorPageAgent.h:
1374         * inspector/InspectorResourceAgent.cpp: Use timestamps from the shared stopwatch.
1375         (WebCore::InspectorResourceAgent::timestamp):
1376         (WebCore::InspectorResourceAgent::willSendRequest):
1377         (WebCore::InspectorResourceAgent::didReceiveResponse):
1378         (WebCore::InspectorResourceAgent::didReceiveData):
1379         (WebCore::InspectorResourceAgent::didFinishLoading):
1380         (WebCore::InspectorResourceAgent::didFailLoading):
1381         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1382         (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
1383         (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
1384         (WebCore::InspectorResourceAgent::didCloseWebSocket):
1385         (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
1386         (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
1387         (WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
1388         * inspector/InspectorResourceAgent.h:
1389         * inspector/InspectorTimelineAgent.cpp: Add calls to reset, start, and stop the stopwatch.
1390         (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
1391         (WebCore::InspectorTimelineAgent::internalStart):
1392         (WebCore::InspectorTimelineAgent::internalStop):
1393         (WebCore::startProfiling):
1394         (WebCore::InspectorTimelineAgent::startFromConsole):
1395         (WebCore::InspectorTimelineAgent::willCallFunction):
1396         (WebCore::InspectorTimelineAgent::willEvaluateScript):
1397         (WebCore::InspectorTimelineAgent::didPause):
1398         (WebCore::InspectorTimelineAgent::didContinue):
1399         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1400         (WebCore::InspectorTimelineAgent::timestamp):
1401         (WebCore::TimelineTimeConverter::reset): Deleted.
1402         * inspector/InspectorTimelineAgent.h: Make timestamp() public, and remove old timepieces.
1403         (WebCore::TimelineTimeConverter::TimelineTimeConverter): Deleted.
1404         (WebCore::TimelineTimeConverter::fromMonotonicallyIncreasingTime): Deleted.
1405         (WebCore::InspectorTimelineAgent::timeConverter): Deleted.
1406         * inspector/TimelineRecordFactory.cpp:
1407
1408 2014-10-04  Tim Horton  <timothy_horton@apple.com>
1409
1410         Make it possible to test page overlays
1411         https://bugs.webkit.org/show_bug.cgi?id=137339
1412
1413         Reviewed by Dan Bernstein.
1414
1415         Tests: pageoverlay/overlay-installation.html
1416                pageoverlay/overlay-large-document-scrolled.html
1417                pageoverlay/overlay-large-document.html
1418
1419         Do some initial work to make page overlays testable.
1420         There are many more tests to be written, but this lays the groundwork.
1421
1422         * WebCore.exp.in:
1423         * WebCore.xcodeproj/project.pbxproj:
1424         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
1425         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters:
1426         * CMakeLists.txt:
1427         Add MockPageOverlayClient.
1428
1429         * platform/graphics/GraphicsLayer.h:
1430         * page/PageOverlayController.h:
1431         * page/PageOverlayController.cpp:
1432         (WebCore::PageOverlayController::shouldSkipLayerInDump):
1433         Don't skip PageOverlayController-owned layers in the layer tree dump if the
1434         layerTreeAsText behavior says that we should include them.
1435
1436         * platform/graphics/GraphicsLayer.cpp:
1437         (WebCore::dumpChildren):
1438         
1439         * platform/graphics/GraphicsLayerClient.h:
1440         (WebCore::GraphicsLayerClient::shouldSkipLayerInDump):
1441         * rendering/RenderLayerBacking.cpp:
1442         (WebCore::RenderLayerBacking::shouldSkipLayerInDump):
1443         * rendering/RenderLayerBacking.h:
1444         Pass the LayerTreeAsTextBehavior through shouldSkipLayerInDump.
1445
1446         * testing/Internals.cpp:
1447         (WebCore::Internals::resetToConsistentState):
1448         Uninstall all page overlays when resetting to a consistent state.
1449
1450         (WebCore::Internals::installMockPageOverlay):
1451         (WebCore::Internals::pageOverlayLayerTreeAsText):
1452         Expose two new internals functions.
1453         installMockPageOverlay takes "view" or "document", allowing script
1454         to choose the appropriate overlay type.
1455         pageOverlayLayerTreeAsText dumps both view and document-relative
1456         overlays, from each overlay container layer.
1457
1458         * testing/Internals.h:
1459         * testing/Internals.idl:
1460         Fix some typos.
1461
1462         * testing/MockPageOverlayClient.cpp: Added.
1463         (WebCore::MockPageOverlayClient::shared):
1464         (WebCore::MockPageOverlayClient::MockPageOverlayClient):
1465         (WebCore::MockPageOverlayClient::installOverlay):
1466         (WebCore::MockPageOverlayClient::uninstallAllOverlays):
1467         (WebCore::MockPageOverlayClient::layerTreeAsText):
1468         (WebCore::MockPageOverlayClient::pageOverlayDestroyed):
1469         (WebCore::MockPageOverlayClient::willMoveToPage):
1470         (WebCore::MockPageOverlayClient::didMoveToPage):
1471         When the overlay is parented, mark it as needing repaint.
1472         Future tests might want to test overlays without content,
1473         but for now this is a reasonable default behavior.
1474
1475         (WebCore::MockPageOverlayClient::drawRect):
1476         Paint the overlay rects as described in the LayoutTests ChangeLog.
1477
1478         (WebCore::MockPageOverlayClient::mouseEvent):
1479         (WebCore::MockPageOverlayClient::didScrollFrame):
1480         (WebCore::MockPageOverlayClient::copyAccessibilityAttributeStringValueForPoint):
1481         (WebCore::MockPageOverlayClient::copyAccessibilityAttributeBoolValueForPoint):
1482         (WebCore::MockPageOverlayClient::copyAccessibilityAttributeNames):
1483
1484         * testing/MockPageOverlayClient.h: Added.
1485
1486 2014-10-04  Carlos Garcia Campos  <cgarcia@igalia.com>
1487
1488         Move DragController::createFragmentFromDragData implementation to the editor
1489         https://bugs.webkit.org/show_bug.cgi?id=136819
1490
1491         Reviewed by Darin Adler.
1492
1493         Make Editor::webContentFromPasteboard() common to all ports and
1494         add a implementation for every port.
1495
1496         * PlatformWin.cmake: Add new files to compilation.
1497         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1498         * editing/Editor.cpp:
1499         (WebCore::Editor::pasteWithPasteboard): Move to EditorWin.cpp
1500         since this is only used by windows port.
1501         * editing/Editor.h:
1502         * editing/efl/EditorEfl.cpp:
1503         (WebCore::Editor::webContentFromPasteboard):
1504         * editing/gtk/EditorGtk.cpp:
1505         (WebCore::Editor::webContentFromPasteboard):
1506         * editing/win/EditorWin.cpp: Added.
1507         (WebCore::Editor::pasteWithPasteboard):
1508         (WebCore::Editor::webContentFromPasteboard):
1509         * page/DragController.cpp:
1510         (WebCore::documentFragmentFromDragData): Use the editor instead of
1511         createFragmentFromDragData() that has been removed. Also made this
1512         method a static funtion again.
1513         * page/DragController.h:
1514         * page/efl/DragControllerEfl.cpp: Remove createFragmentFromDragData().
1515         * page/gtk/DragControllerGtk.cpp: Ditto.
1516         * page/mac/DragControllerMac.mm: Ditto.
1517         * page/win/DragControllerWin.cpp: Ditto.
1518         * platform/Pasteboard.h:
1519         (WebCore::Pasteboard::dragDataMap): Add a getter for m_dragDataMap
1520         as required by Editor::webContentFromPasteboard for windows.
1521
1522 2014-10-04  Christophe Dumez  <cdumez@apple.com>
1523
1524         Use is<>() / downcast<>() for CSS StyleProperties
1525         https://bugs.webkit.org/show_bug.cgi?id=137398
1526
1527         Reviewed by Benjamin Poulain.
1528
1529         Use is<>() / downcast<>() for CSS StyleProperties subclasses.
1530
1531         No new tests, no behavior change.
1532
1533         * css/StyleProperties.cpp:
1534         (WebCore::StyleProperties::immutableCopyIfNeeded):
1535         (WebCore::MutableStyleProperties::MutableStyleProperties):
1536         (WebCore::StyleProperties::hasCSSOMWrapper):
1537         * css/StyleProperties.h:
1538         (WebCore::StyleProperties::PropertyReference::propertyMetadata):
1539         (WebCore::StyleProperties::PropertyReference::propertyValue):
1540         (WebCore::StyleProperties::propertyCount):
1541         (WebCore::StyleProperties::deref):
1542         (WebCore::StyleProperties::findPropertyIndex):
1543         (isType):
1544         (WebCore::toMutableStyleProperties): Deleted.
1545         (WebCore::toImmutableStyleProperties): Deleted.
1546         * css/StyleRule.cpp:
1547         (WebCore::StyleRule::mutableProperties):
1548         (WebCore::StyleRulePage::mutableProperties):
1549         (WebCore::StyleRuleFontFace::mutableProperties):
1550         * css/WebKitCSSKeyframeRule.cpp:
1551         (WebCore::StyleKeyframe::mutableProperties):
1552         * dom/StyledElement.cpp:
1553         (WebCore::StyledElement::ensureMutableInlineStyle):
1554         (WebCore::StyledElement::setInlineStyleFromString):
1555
1556 2014-10-04  Zan Dobersek  <zdobersek@igalia.com>
1557
1558         [TexMap] Clean up GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded()
1559         https://bugs.webkit.org/show_bug.cgi?id=137263
1560
1561         Reviewed by Darin Adler.
1562
1563         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1564         (WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded): Clean up
1565         the method a bit. When the backing store will not be in use the change mask
1566         should only get updated if there was a backing store present beforehand.
1567
1568 2014-10-04  Zan Dobersek  <zdobersek@igalia.com>
1569
1570         [TexMap] Remove QDoc comments in GraphicsLayerTextureMapper
1571         https://bugs.webkit.org/show_bug.cgi?id=137264
1572
1573         Reviewed by Andreas Kling.
1574
1575         Remove all the QDoc comments in the class that were
1576         left over by the Qt port.
1577
1578         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1579         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
1580
1581 2014-10-03  Christophe Dumez  <cdumez@apple.com>
1582
1583         Use is<>() / downcast<>() for CSSValue subclasses
1584         https://bugs.webkit.org/show_bug.cgi?id=137381
1585
1586         Reviewed by Benjamin Poulain.
1587
1588         Use is<>() / downcast<>() for CSSValue subclasses.
1589
1590         No new tests, no behavior change.
1591
1592         * css/CSSAspectRatioValue.h:
1593         * css/CSSBorderImageSliceValue.h:
1594         * css/CSSCalculationValue.cpp:
1595         (WebCore::CSSCalcExpressionNodeParser::parseValue):
1596         * css/CSSCalculationValue.h:
1597         * css/CSSCanvasValue.h:
1598         * css/CSSComputedStyleDeclaration.cpp:
1599         (WebCore::getBorderRadiusShorthandValue):
1600         (WebCore::ComputedStyleExtractor::propertyMatches):
1601         * css/CSSCrossfadeValue.cpp:
1602         (WebCore::subimageKnownToBeOpaque):
1603         * css/CSSCrossfadeValue.h:
1604         * css/CSSCursorImageValue.cpp:
1605         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
1606         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
1607         (WebCore::CSSCursorImageValue::cachedImage):
1608         (WebCore::CSSCursorImageValue::cachedOrPendingImage):
1609         (WebCore::CSSCursorImageValue::isSVGCursor):
1610         * css/CSSCursorImageValue.h:
1611         * css/CSSFilterImageValue.h:
1612         * css/CSSFontFaceSrcValue.h:
1613         * css/CSSFontFeatureValue.h:
1614         * css/CSSFontSelector.cpp:
1615         (WebCore::CSSFontSelector::addFontFaceRule):
1616         * css/CSSFontValue.h:
1617         * css/CSSFunctionValue.h:
1618         * css/CSSGradientValue.cpp:
1619         (WebCore::CSSGradientValue::image):
1620         (WebCore::CSSGradientValue::gradientWithStylesResolved):
1621         * css/CSSGradientValue.h:
1622         * css/CSSGridLineNamesValue.h:
1623         * css/CSSGridTemplateAreasValue.h:
1624         * css/CSSImageGeneratorValue.cpp:
1625         (WebCore::CSSImageGeneratorValue::image):
1626         (WebCore::CSSImageGeneratorValue::isFixedSize):
1627         (WebCore::CSSImageGeneratorValue::fixedSize):
1628         (WebCore::CSSImageGeneratorValue::isPending):
1629         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
1630         (WebCore::CSSImageGeneratorValue::loadSubimages):
1631         (WebCore::CSSImageGeneratorValue::subimageIsPending):
1632         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
1633         * css/CSSImageGeneratorValue.h:
1634         * css/CSSImageSetValue.cpp:
1635         (WebCore::CSSImageSetValue::fillImageSet):
1636         * css/CSSImageSetValue.h:
1637         * css/CSSImageValue.h:
1638         * css/CSSInheritedValue.h:
1639         * css/CSSInitialValue.h:
1640         * css/CSSLineBoxContainValue.h:
1641         * css/CSSParser.cpp:
1642         (WebCore::CSSParser::parseColor):
1643         (WebCore::CSSParser::addFillValue):
1644         (WebCore::CSSParser::addAnimationValue):
1645         (WebCore::CSSParser::parse3ValuesFillPosition):
1646         (WebCore::CSSParser::parseFillPosition):
1647         (WebCore::CSSParser::parseFillRepeat):
1648         (WebCore::gridMissingGridPositionValue):
1649         (WebCore::CSSParser::parseGridTemplateRowsAndAreas):
1650         (WebCore::CSSParser::parseBasicShapeCircle):
1651         (WebCore::CSSParser::parseBasicShapeEllipse):
1652         (WebCore::CSSParser::parseDeprecatedGradient):
1653         (WebCore::CSSParser::parseDeprecatedRadialGradient):
1654         (WebCore::CSSParser::parseRadialGradient):
1655         (WebCore::CSSParser::createFontFaceRule):
1656         * css/CSSPrimitiveValue.h:
1657         * css/CSSReflectValue.h:
1658         * css/CSSShadowValue.h:
1659         * css/CSSTimingFunctionValue.h:
1660         * css/CSSToStyleMap.cpp:
1661         (WebCore::CSSToStyleMap::mapFillAttachment):
1662         (WebCore::CSSToStyleMap::mapFillClip):
1663         (WebCore::CSSToStyleMap::mapFillComposite):
1664         (WebCore::CSSToStyleMap::mapFillBlendMode):
1665         (WebCore::CSSToStyleMap::mapFillOrigin):
1666         (WebCore::CSSToStyleMap::mapFillRepeatX):
1667         (WebCore::CSSToStyleMap::mapFillRepeatY):
1668         (WebCore::CSSToStyleMap::mapFillSize):
1669         (WebCore::CSSToStyleMap::mapFillXPosition):
1670         (WebCore::CSSToStyleMap::mapFillYPosition):
1671         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
1672         (WebCore::CSSToStyleMap::mapAnimationDelay):
1673         (WebCore::CSSToStyleMap::mapAnimationDirection):
1674         (WebCore::CSSToStyleMap::mapAnimationDuration):
1675         (WebCore::CSSToStyleMap::mapAnimationFillMode):
1676         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
1677         (WebCore::CSSToStyleMap::mapAnimationName):
1678         (WebCore::CSSToStyleMap::mapAnimationPlayState):
1679         (WebCore::CSSToStyleMap::mapAnimationProperty):
1680         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
1681         (WebCore::CSSToStyleMap::mapNinePieceImage):
1682         (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
1683         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
1684         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
1685         * css/CSSUnicodeRangeValue.h:
1686         * css/CSSValue.cpp:
1687         (WebCore::CSSValue::isImplicitInitialValue):
1688         (WebCore::CSSValue::addSubresourceStyleURLs):
1689         (WebCore::CSSValue::hasFailedOrCanceledSubresources):
1690         (WebCore::CSSValue::equals):
1691         (WebCore::CSSValue::cssText):
1692         (WebCore::CSSValue::destroy):
1693         (WebCore::CSSValue::cloneForCSSOM):
1694         * css/CSSValue.h:
1695         * css/CSSValueList.h:
1696         (WebCore::CSSValueListInspector::CSSValueListInspector):
1697         * css/DeprecatedStyleBuilder.cpp:
1698         (WebCore::ApplyPropertyDefault::applyValue):
1699         (WebCore::ApplyPropertyNumber::applyValue):
1700         (WebCore::ApplyPropertyAuto::applyValue):
1701         (WebCore::ApplyPropertyClip::applyValue):
1702         (WebCore::ApplyPropertyColor::applyValue):
1703         (WebCore::ApplyPropertyLength::applyValue):
1704         (WebCore::ApplyPropertyString::applyValue):
1705         (WebCore::ApplyPropertyBorderRadius::applyValue):
1706         (WebCore::ApplyPropertyFillLayer::applyValue):
1707         (WebCore::ApplyPropertyComputeLength::applyValue):
1708         (WebCore::ApplyPropertyFont::applyValue):
1709         (WebCore::ApplyPropertyFontFamily::applyValue):
1710         (WebCore::ApplyPropertyFontSize::applyValue):
1711         (WebCore::ApplyPropertyFontWeight::applyValue):
1712         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
1713         (WebCore::ApplyPropertyCounter::applyValue):
1714         (WebCore::ApplyPropertyCursor::applyValue):
1715         (WebCore::ApplyPropertyTextAlign::applyValue):
1716         (WebCore::ApplyPropertyTextDecoration::applyValue):
1717         (WebCore::ApplyPropertyTextDecorationSkip::applyValue):
1718         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
1719         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
1720         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
1721         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
1722         (WebCore::ApplyPropertyLineHeight::applyValue):
1723         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
1724         (WebCore::ApplyPropertyWordSpacing::applyValue):
1725         (WebCore::ApplyPropertyPageSize::applyValue):
1726         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
1727         (WebCore::ApplyPropertyTextEmphasisPosition::applyValue):
1728         (WebCore::ApplyPropertyResize::applyValue):
1729         (WebCore::ApplyPropertyVerticalAlign::applyValue):
1730         (WebCore::ApplyPropertyAspectRatio::applyValue):
1731         (WebCore::ApplyPropertyZoom::applyValue):
1732         (WebCore::ApplyPropertyDisplay::applyValue):
1733         (WebCore::ApplyPropertyClipPath::applyValue):
1734         (WebCore::ApplyPropertyShape::applyValue):
1735         (WebCore::ApplyPropertyImageResolution::applyValue):
1736         (WebCore::ApplyPropertyTextIndent::applyValue):
1737         * css/MediaList.cpp:
1738         (WebCore::reportMediaQueryWarningIfNeeded):
1739         * css/MediaQueryEvaluator.cpp:
1740         (WebCore::compareAspectRatioValue):
1741         (WebCore::numberValue):
1742         (WebCore::orientationMediaFeatureEval):
1743         (WebCore::evalResolution):
1744         (WebCore::device_pixel_ratioMediaFeatureEval):
1745         (WebCore::resolutionMediaFeatureEval):
1746         (WebCore::computeLength):
1747         (WebCore::view_modeMediaFeatureEval):
1748         (WebCore::pointerMediaFeatureEval):
1749         * css/SVGCSSComputedStyleDeclaration.cpp:
1750         (WebCore::strokeDashArrayToCSSValueList):
1751         (WebCore::ComputedStyleExtractor::svgPropertyValue):
1752         * css/SVGCSSStyleSelector.cpp:
1753         (WebCore::StyleResolver::applySVGProperty):
1754         * css/SourceSizeList.cpp:
1755         (WebCore::computeLength):
1756         * css/StyleProperties.cpp:
1757         (WebCore::StyleProperties::getLayeredShorthandValue):
1758         * css/StyleResolver.cpp:
1759         (WebCore::extractDirectionAndWritingMode):
1760         (WebCore::createGridTrackSize):
1761         (WebCore::createGridTrackList):
1762         (WebCore::createGridPosition):
1763         (WebCore::StyleResolver::parseSnapCoordinate):
1764         (WebCore::StyleResolver::parseSnapPoints):
1765         (WebCore::StyleResolver::applyProperty):
1766         (WebCore::StyleResolver::styleImage):
1767         (WebCore::StyleResolver::generatedOrPendingFromValue):
1768         (WebCore::StyleResolver::createFilterOperations):
1769         * css/TransformFunctions.cpp:
1770         (WebCore::transformsForValue):
1771         * css/ViewportStyleResolver.cpp:
1772         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
1773         * css/WebKitCSSFilterValue.h:
1774         * css/WebKitCSSMatrix.cpp:
1775         (WebCore::WebKitCSSMatrix::setMatrixValue):
1776         * css/WebKitCSSTransformValue.h:
1777         (WebCore::toWebKitCSSTransformValue): Deleted.
1778         * editing/ApplyStyleCommand.cpp:
1779         (WebCore::ApplyStyleCommand::computedFontSize):
1780         * editing/EditingStyle.cpp:
1781         (WebCore::identifierForStyleProperty):
1782         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
1783         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
1784         (WebCore::cssValueToRGBA):
1785         (WebCore::EditingStyle::extractFontSizeDelta):
1786         (WebCore::EditingStyle::textDirection):
1787         (WebCore::EditingStyle::prepareToApplyAt):
1788         (WebCore::EditingStyle::mergeStyle):
1789         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
1790         (WebCore::EditingStyle::legacyFontSize):
1791         (WebCore::EditingStyle::textDirectionForSelection):
1792         (WebCore::StyleChange::extractTextStyles):
1793         (WebCore::diffTextDecorations):
1794         (WebCore::fontWeightIsBold):
1795         (WebCore::isTransparentColorValue):
1796         * editing/EditorCommand.cpp:
1797         (WebCore::executeToggleStyleInList):
1798         * editing/cocoa/HTMLConverter.mm:
1799         (stringFromCSSValue):
1800         (HTMLConverterCaches::floatPropertyValueForNode):
1801         (HTMLConverterCaches::colorPropertyValueForNode):
1802         * editing/markup.cpp:
1803         (WebCore::propertyMissingOrEqualToNone):
1804         * page/PageSerializer.cpp:
1805         (WebCore::PageSerializer::retrieveResourcesForProperties):
1806         * page/animation/CSSPropertyAnimation.cpp:
1807         (WebCore::blendFunc):
1808         * rendering/RenderTextControl.cpp:
1809         (WebCore::RenderTextControl::adjustInnerTextStyle):
1810         * rendering/style/StylePendingImage.h:
1811         (WebCore::StylePendingImage::cssImageValue):
1812         (WebCore::StylePendingImage::cssCursorImageValue):
1813         (WebCore::StylePendingImage::cssImageSetValue):
1814         * svg/SVGColor.h:
1815         * svg/SVGFontFaceElement.cpp:
1816         (WebCore::SVGFontFaceElement::rebuildFontFace):
1817         * svg/SVGPaint.h:
1818
1819 2014-10-03  Myles C. Maxfield  <mmaxfield@apple.com>
1820
1821         Clean up interface to Font::expansionOpportunityCount()
1822         https://bugs.webkit.org/show_bug.cgi?id=137355
1823
1824         Reviewed by Dean Jackson.
1825
1826         There are two overloads of Font::expansionOpportunityCount() which perform the same
1827         operation. One overload takes a UChar*, the other takes an LChar*, and they both
1828         take a length. This is the abstraction that StringView was designed to be. Instead
1829         of forcing each caller to take a different overload based on if their data is
1830         8 bit or not, allow the caller to construct a StringView and pass that into
1831         Font::expansionOpportunityCount() instead of a raw pointer/length.
1832
1833         No new tests because there is no behavior change.
1834
1835         * platform/graphics/Font.cpp:
1836         (WebCore::Font::expansionOpportunityCountInternal): Original two functions,
1837         renamed.
1838         (WebCore::Font::expansionOpportunityCount): Takes a StringView, calls 
1839         expansionOpportunityCountInternal().
1840         * platform/graphics/Font.h: Update signatures.
1841         * platform/graphics/WidthIterator.cpp:
1842         (WebCore::WidthIterator::WidthIterator): Use new signature to
1843         Font::expansionOpportunityCount().
1844         * platform/graphics/mac/ComplexTextController.cpp:
1845         (WebCore::ComplexTextController::ComplexTextController): Ditto.
1846         * rendering/RenderBlockLineLayout.cpp:
1847         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment): Ditto.
1848         * rendering/RenderText.cpp:
1849         (WebCore::RenderText::stringView): Accessor to encapsulate character pointer
1850         and length.
1851         * rendering/RenderText.h: Signature of new accessor.
1852
1853 2014-10-03  Brent Fulgham  <bfulgham@apple.com>
1854
1855         [Win] Unreviewed build fix for MSVC 2013 SP 3.
1856
1857         The std::array initializer is not fully implemented in SP3 and causes a
1858         build error.
1859
1860         * platform/graphics/transforms/AffineTransform.cpp: Use old style assignment
1861         initialization for MSVC builds until this bug is fixed.
1862
1863 2014-10-03  Tim Horton  <timothy_horton@apple.com>
1864
1865         WKWebView snapshot of Daring Fireball has the wrong color in the obscured inset
1866         https://bugs.webkit.org/show_bug.cgi?id=137383
1867         <rdar://problem/18535439>
1868
1869         Reviewed by Sam Weinig.
1870
1871         * rendering/RenderView.cpp:
1872         (WebCore::RenderView::paintBoxDecorations):
1873         Use documentBackgroundColor instead of baseBackgroundColor if backgroundShouldExtendBeyondPage is set.
1874
1875 2014-10-03  Dean Jackson  <dino@apple.com>
1876
1877         webkit-appearance: default-button styling does not set the button font color to white
1878         https://bugs.webkit.org/show_bug.cgi?id=137399
1879         rdar://problem/17788616
1880
1881         Reviewed by Dave Hyatt.
1882
1883         When a button is styled with -webkit-appearance: default-button, it should
1884         use the CSSValueActivebuttontext value for its text color when the window
1885         is active, and the normal value when the window is inactive.
1886
1887         Since activating (focus/blur) windows doesn't cause a style recalculation, this
1888         is applied as a paint-time operation. However, the render tree children that
1889         paint the text don't know that they are contained within a RenderButton
1890         and that the button is a default type. So I added an inherited flag, similar
1891         to what we use for visited links, to remember if we're in a button. And then
1892         computeTextPaintStyle chooses the correct value.
1893
1894         We can't test this because our LayoutTest system doesn't have
1895         an active window, and thus the default button renders like a normal
1896         button. This should cause no regressions though. Also, the appearance is
1897         protected behind an SPI (or Setting), so this is not exposed to the Web.
1898
1899         * rendering/RenderTheme.cpp:
1900         (WebCore::RenderTheme::adjustStyle): Set the flag if we're inside a default button.
1901         * rendering/TextPaintStyle.cpp:
1902         (WebCore::computeTextPaintStyle): If we're in a default button inside an active window,
1903         use the CSSValueActivebuttontext color.
1904         * rendering/style/RenderStyle.cpp:
1905         (WebCore::RenderStyle::RenderStyle): Add and expose the new inherited flag: ._insideDefaultButton.
1906         (WebCore::RenderStyle::changeRequiresRepaint): Ditto.
1907         * rendering/style/RenderStyle.h: Ditto.
1908
1909 2014-09-28  Myles C. Maxfield  <mmaxfield@apple.com>
1910
1911         [SVG -> OTF Converter] Support non-BMP codepoints
1912         https://bugs.webkit.org/show_bug.cgi?id=137097
1913
1914         Reviewed by Darin Adler.
1915
1916         This patch has two pieces:
1917
1918         1) Moves write16(), overwrite32() and overwrite16() inside SVGToOTFFontConverter. This
1919         is so that we don't have to keep passing around references to m_result everywhere. Instead,
1920         put the output vector inside the class as an instance member variable. In addition, rename
1921         write32() and write16() to append32() and append16(), and provide a copy of append32 inside
1922         SVGToOTFFontConverter.
1923
1924         2) Change the "Codepoint" typedef to be a String, and rename it to Codepoints. This is so that
1925         we can implement ligatures later on. Update all the places that use this variable to work with
1926         a String of multiple codepoints.
1927
1928         This patch updates the CMAP table to use format 12 instead of format 4. It currently only maps
1929         single codepoints to glyph IDs and skips all multi-codepoint glyphs. We will implement
1930         ligatures in another patch.
1931
1932         Test: svg/custom/glyph-selection-non-bmp.svg
1933
1934         * svg/SVGToOTFFontConversion.cpp:
1935         (WebCore::append32): Append a result to a given vector. This is for the path transcoder.
1936         (WebCore::SVGToOTFFontConverter::releaseResult): WTF::move()'s the result.
1937         (WebCore::SVGToOTFFontConverter::GlyphData::GlyphData): Update to take Codepoints instead of Codepoint.
1938         (WebCore::SVGToOTFFontConverter::append32): Piece 1 above.
1939         (WebCore::SVGToOTFFontConverter::append16): Ditto.
1940         (WebCore::SVGToOTFFontConverter::append4ByteCode): Convenience function.
1941         (WebCore::SVGToOTFFontConverter::overwrite32): Piece 1 above.
1942         (WebCore::SVGToOTFFontConverter::overwrite16): Ditto.
1943         (WebCore::SVGToOTFFontConverter::appendCMAPTable): Update to format 12.
1944         (WebCore::SVGToOTFFontConverter::appendHEADTable): Passing in a result vector is no longer necessary.
1945         (WebCore::SVGToOTFFontConverter::appendHHEATable): Ditto.
1946         (WebCore::SVGToOTFFontConverter::appendHMTXTable): Ditto.
1947         (WebCore::SVGToOTFFontConverter::appendMAXPTable): Ditto.
1948         (WebCore::SVGToOTFFontConverter::appendNAMETable): Ditto.
1949         (WebCore::SVGToOTFFontConverter::appendOS2Table): Ditto.
1950         (WebCore::SVGToOTFFontConverter::appendPOSTTable): Ditto.
1951         (WebCore::isValidStringForCFF): Ditto.
1952         (WebCore::SVGToOTFFontConverter::appendCFFValidString): Ditto.
1953         (WebCore::SVGToOTFFontConverter::appendCFFTable): Ditto.
1954         (WebCore::SVGToOTFFontConverter::appendVORGTable): Ditto.
1955         (WebCore::SVGToOTFFontConverter::appendVHEATable): Ditto.
1956         (WebCore::SVGToOTFFontConverter::appendVMTXTable): Ditto.
1957         (WebCore::SVGToOTFFontConverter::addCodepointRanges): Update for Codepoints.
1958         (WebCore::SVGToOTFFontConverter::addCodepoints): Ditto.
1959         (WebCore::SVGToOTFFontConverter::addGlyphNames): Ditto.
1960         (WebCore::SVGToOTFFontConverter::appendKERNSubtable): Ditto.
1961         (WebCore::SVGToOTFFontConverter::appendKERNTable): Ditto.
1962         (WebCore::writeCFFEncodedNumber): Passing in a result vector is no longer necessary.
1963         (WebCore::SVGToOTFFontConverter::appendGlyphData): Update for Codepoints.
1964         (WebCore::SVGToOTFFontConverter::processGlyphElement): Update for Codepoints.
1965         (WebCore::SVGToOTFFontConverter::compareCodepointsLexicographically): Comparing Codepoints
1966         (WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Update for Codepoints.
1967         (WebCore::SVGToOTFFontConverter::calculateChecksum): Passing in a result vector is no longer necessary.
1968         (WebCore::SVGToOTFFontConverter::appendTable): Ditto.
1969         (WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): Ditto.
1970         (WebCore::convertSVGToOTFFont): Move out of the result vector.
1971         (WebCore::write32): Deleted.
1972         (WebCore::write16): Deleted.
1973         (WebCore::overwrite32): Deleted.
1974         (WebCore::appendCFFValidString): Deleted.
1975         (WebCore::transcodeGlyphPaths): Deleted.
1976         (WebCore::calculateChecksum): Deleted.
1977
1978 2014-10-03  Commit Queue  <commit-queue@webkit.org>
1979
1980         Unreviewed, rolling out r174270.
1981         https://bugs.webkit.org/show_bug.cgi?id=137397
1982
1983         crashes on the bots (Requested by dethbakin on #webkit).
1984
1985         Reverted changeset:
1986
1987         "EventSender dispatches should be per-Document"
1988         https://bugs.webkit.org/show_bug.cgi?id=136051
1989         http://trac.webkit.org/changeset/174270
1990
1991 2014-10-03  Jer Noble  <jer.noble@apple.com>
1992
1993         [iOS] Back-to-back fullscreen videos result in incorrectly sized videos
1994         https://bugs.webkit.org/show_bug.cgi?id=137380
1995
1996         Reviewed by Eric Carlson.
1997
1998         During a normal workflow, a <video> element will create an AVPlayerLayer, then it will get a
1999         fullscreen (hosted) parent layer, then it will be told an explicit fullscreen size. But when
2000         a <video> element creates an AVPlayerLayer after the <video> element is already in
2001         fullscreen mode, it sets that AVPlayerLayer's frame using the size of the hosted parent
2002         layer, rather than the explicit fullscreen size. Instead, use the (already set) explicit
2003         fullscreen size after creating the AVPlayerLayer.
2004
2005         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2006         (WebCore::MediaPlayerPrivateAVFoundationObjC::ensureAVPlayerLayer):
2007         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformLayer):
2008
2009 2014-10-03 Bear Travis <betravis@adobe.com>
2010
2011         REGRESSION (r173531): Use after free in WebCore::RenderStyle::fontMetrics /
2012         WebCore::CSSPrimitiveValue::computeLengthDouble
2013         https://bugs.webkit.org/show_bug.cgi?id=136864
2014
2015         Reviewed by Andreas Kling.
2016
2017         FontLoader previously called updateDocumentStyleIfNeeded,
2018         which would reset styles currently in use as part of
2019         the tabIndex calculation. The FontLoader should instead
2020         wait for pending stylesheets to load.
2021
2022         Tests: fast/css/fontloader-tab-index.html
2023
2024         * css/FontLoader.cpp:
2025         (WebCore::FontLoader::notifyWhenFontsReady): Do not immediately
2026         call loadingDone().
2027         (WebCore::FontLoader::loadingDone): Wait for stylesheets to
2028         finish loading rather than updating document styles.
2029         * css/FontLoader.h:
2030         (WebCore::FontLoader::loading): Include JS font loads when testing
2031         for the loading state.
2032
2033 2014-10-03  Myles C. Maxfield  <mmaxfield@apple.com>
2034
2035         Unreviewed build fix.
2036
2037         Fixing the Windows build after r174269.
2038
2039         * platform/graphics/win/UniscribeController.cpp:
2040         (WebCore::UniscribeController::shapeAndPlaceItem):
2041
2042 2014-10-01  Brian J. Burg  <burg@cs.washington.edu>
2043
2044         EventSender dispatches should be per-Document
2045         https://bugs.webkit.org/show_bug.cgi?id=136051
2046
2047         Reviewed by Andreas Kling.
2048
2049         EventSender uses a Timer to asynchronously dispatch the same event to multiple
2050         elements of the same type on a future run loop. However, we previously dispatched events
2051         to elements from any Document rather than the one that requested the event send.
2052
2053         This patch changes EventSender to be associated with a single Document. EventSenders
2054         for each Document are lazily allocated. Further per-Document or global optimizations
2055         are possible.
2056
2057         This change also lays the groundwork for making EventSender-related DOM events
2058         deterministic during web replay, tracked at <https://webkit.org/b/137090>.
2059
2060         No new tests, covered by fast/text/svg-font-trigger-load-event.html.
2061
2062         * CMakeLists.txt:
2063         * WebCore.vcxproj/WebCore.vcxproj:
2064         * WebCore.vcxproj/WebCore.vcxproj.filters:
2065         * WebCore.xcodeproj/project.pbxproj:
2066         * dom/DOMAllInOne.cpp:
2067         * dom/Document.cpp:
2068         (WebCore::Document::Document):
2069         (WebCore::Document::implicitClose):
2070         Dispatch pending events for this document only. Rename local variable f to frame.
2071
2072         * dom/Document.h:
2073         (WebCore::Document::sharedEventSenders):
2074         * dom/EventSender.h:
2075         (WebCore::EventSender::EventSender):
2076         (WebCore::EventSender::hasPendingEvents):
2077         (WebCore::EventSender<T>::dispatchEventSoon):
2078         (WebCore::EventSender<T>::cancelEvent):
2079         (WebCore::EventSender<T>::dispatchPendingEvents):
2080         (WebCore::EventSender<T>::EventSender): Deleted. The type argument was not necessary.
2081         * dom/SharedEventSenders.cpp: Added. Lazily creates event senders as they are requested.
2082         (WebCore::SharedEventSenders::linkLoadEventSender):
2083         (WebCore::SharedEventSenders::styleLoadEventSender):
2084         (WebCore::SharedEventSenders::imageBeforeloadEventSender):
2085         (WebCore::SharedEventSenders::imageLoadEventSender):
2086         (WebCore::SharedEventSenders::imageErrorEventSender):
2087         * dom/SharedEventSenders.h: Added.
2088         (WebCore::SharedEventSenders::SharedEventSenders):
2089         * html/HTMLLinkElement.cpp:
2090         (WebCore::HTMLLinkElement::~HTMLLinkElement):
2091         (WebCore::HTMLLinkElement::dispatchPendingEvent):
2092         (WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources):
2093         (WebCore::linkLoadEventSender): Deleted.
2094         (WebCore::HTMLLinkElement::dispatchPendingLoadEvents): Deleted.
2095         * html/HTMLLinkElement.h:
2096         * html/HTMLStyleElement.cpp:
2097         (WebCore::HTMLStyleElement::~HTMLStyleElement):
2098         (WebCore::HTMLStyleElement::dispatchPendingEvent):
2099         (WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources):
2100         (WebCore::styleLoadEventSender): Deleted.
2101         (WebCore::HTMLStyleElement::dispatchPendingLoadEvents): Deleted.
2102         * html/HTMLStyleElement.h:
2103         * loader/ImageLoader.cpp:
2104         (WebCore::ImageLoader::beforeLoadEventSender):
2105         (WebCore::ImageLoader::loadEventSender):
2106         (WebCore::ImageLoader::errorEventSender):
2107         (WebCore::ImageLoader::dispatchPendingEvent):
2108         (WebCore::beforeLoadEventSender): Deleted.
2109         (WebCore::loadEventSender): Deleted.
2110         (WebCore::errorEventSender): Deleted.
2111         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvents): Deleted.
2112         (WebCore::ImageLoader::dispatchPendingLoadEvents): Deleted.
2113         (WebCore::ImageLoader::dispatchPendingErrorEvents): Deleted.
2114         * loader/ImageLoader.h:
2115         * xml/parser/XMLDocumentParser.cpp:
2116         (WebCore::XMLDocumentParser::append): Remove an early call to the EventSender for image
2117         beforeload events. This was a performance optimization, but is no longer safe since the
2118         document (and thus the event sender) may not be available in a synchronous document write.
2119
2120 2014-10-03  Myles C. Maxfield  <mmaxfield@apple.com>
2121
2122         TextRun::length() should return an unsigned
2123         https://bugs.webkit.org/show_bug.cgi?id=137354
2124
2125         Reviewed by Antti Koivisto.
2126
2127         Currently, the m_len instance variable that backs the TextRun::length() function is
2128         an unsigned, but the length() function implicitly casts that to an int when
2129         returning it. This patch makes the function return an unsigned, and makes the
2130         do any casting if necessary.
2131
2132         No new tests because there is no behavior change.
2133
2134         * platform/graphics/Font.cpp:
2135         (WebCore::Font::drawText): Cast result to int.
2136         (WebCore::Font::drawEmphasisMarks): Ditto.
2137         (WebCore::Font::adjustSelectionRectForText): Ditto.
2138         (WebCore::computeUnderlineType): Update internal type to be unsigned.
2139         * platform/graphics/GlyphBuffer.h:
2140         (WebCore::GlyphBuffer::add): Update sentinel value to be unsigned.
2141         (WebCore::GlyphBuffer::saveOffsetsInString): Ditto.
2142         * platform/graphics/GraphicsContext.cpp: Update internal type to be unsigned.
2143         * platform/graphics/TextRun.h:
2144         (WebCore::TextRun::length): Update return type.
2145         (WebCore::TextRun::charactersLength): Ditto.
2146         * platform/graphics/WidthIterator.cpp:
2147         (WebCore::WidthIterator::advanceInternal): Cast result to int.
2148         * rendering/svg/SVGTextMetricsBuilder.cpp:
2149         (WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair): Remove
2150         unnecessary casts.
2151         (WebCore::SVGTextMetricsBuilder::advance): Ditto.
2152         * svg/SVGFontData.cpp:
2153         (WebCore::SVGFontData::applySVGGlyphSelection): Cast result to int.
2154
2155 2014-10-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2156
2157         [EFL] Fix build break since r174231 and r174256
2158         https://bugs.webkit.org/show_bug.cgi?id=137384
2159
2160         Unreviewed, EFL build fix.
2161
2162         r174231 and r174256 didn't consider EFL port and CoordinatedGraphics area.
2163
2164         * css/WebKitCSSViewportRule.cpp:
2165         (WebCore::WebKitCSSViewportRule::WebKitCSSViewportRule):
2166         * css/WebKitCSSViewportRule.h:
2167
2168 2014-10-03  Yusuke Suzuki  <utatane.tea@gmail.com>
2169
2170         CSS Selectors Level 4: Add parsing for :matches
2171         https://bugs.webkit.org/show_bug.cgi?id=137348
2172
2173         Reviewed by Benjamin Poulain.
2174
2175         Add initial parsing functionality of :matches pseudo class in Selectors Level 4.
2176         It accepts selector list as a parameter. It can contain pseudo elements.
2177         And now at the parsing phase, multiple pseudo elements are allowed.
2178         Currently :not doesn't accept any functional pseudo classes, :not(:matches(...)) is rejected.
2179         And currently, :matches(:visited, :link) is allowed in the parsing phase.
2180
2181         * css/CSSGrammar.y.in:
2182         * css/CSSParser.cpp:
2183         (WebCore::CSSParser::detectFunctionTypeToken):
2184         * css/CSSSelector.cpp:
2185         (WebCore::appendSelectorList):
2186         (WebCore::CSSSelector::selectorText):
2187         * css/CSSSelector.h:
2188         * css/SelectorChecker.cpp:
2189         (WebCore::SelectorChecker::checkOne):
2190         * css/SelectorPseudoClassAndCompatibilityElementMap.in:
2191         * cssjit/SelectorCompiler.cpp:
2192         (WebCore::SelectorCompiler::addPseudoClassType):
2193
2194 2014-10-02  Andreas Kling  <akling@apple.com>
2195
2196         CSSOM rule wrappers always have a corresponding internal style object.
2197         <https://webkit.org/b/137379>
2198
2199         Make the CSSOM rule wrapper classes use references & Ref instead of
2200         raw pointers and RefPtr for pointing to the internal style rule.
2201
2202         Also changed the signature of reattach() to take a StyleRuleBase&
2203         since it's never called with a null pointer.
2204
2205         Finally marked the rule classes final.
2206
2207         Reviewed by Geoffrey Garen.
2208
2209         * css/CSSCharsetRule.h:
2210         * css/CSSFontFaceRule.cpp:
2211         (WebCore::CSSFontFaceRule::CSSFontFaceRule):
2212         (WebCore::CSSFontFaceRule::reattach):
2213         * css/CSSFontFaceRule.h:
2214         (WebCore::CSSFontFaceRule::create): Deleted.
2215         * css/CSSGroupingRule.cpp:
2216         (WebCore::CSSGroupingRule::CSSGroupingRule):
2217         (WebCore::CSSGroupingRule::reattach):
2218         * css/CSSGroupingRule.h:
2219         * css/CSSImportRule.cpp:
2220         (WebCore::CSSImportRule::CSSImportRule):
2221         (WebCore::CSSImportRule::href):
2222         (WebCore::CSSImportRule::media):
2223         (WebCore::CSSImportRule::cssText):
2224         (WebCore::CSSImportRule::styleSheet):
2225         (WebCore::CSSImportRule::reattach):
2226         * css/CSSImportRule.h:
2227         (WebCore::CSSImportRule::create): Deleted.
2228         * css/CSSMediaRule.cpp:
2229         (WebCore::CSSMediaRule::CSSMediaRule):
2230         (WebCore::CSSMediaRule::mediaQueries):
2231         (WebCore::CSSMediaRule::reattach):
2232         * css/CSSMediaRule.h:
2233         (WebCore::CSSMediaRule::create): Deleted.
2234         * css/CSSPageRule.cpp:
2235         (WebCore::CSSPageRule::CSSPageRule):
2236         (WebCore::CSSPageRule::reattach):
2237         * css/CSSPageRule.h:
2238         (WebCore::CSSPageRule::create): Deleted.
2239         * css/CSSRule.h:
2240         * css/CSSStyleRule.cpp:
2241         (WebCore::CSSStyleRule::CSSStyleRule):
2242         (WebCore::CSSStyleRule::reattach):
2243         * css/CSSStyleRule.h:
2244         (WebCore::CSSStyleRule::create): Deleted.
2245         (WebCore::CSSStyleRule::styleRule): Deleted.
2246         * css/CSSStyleSheet.cpp:
2247         (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
2248         * css/CSSSupportsRule.cpp:
2249         (WebCore::CSSSupportsRule::CSSSupportsRule):
2250         (WebCore::CSSSupportsRule::conditionText):
2251         * css/CSSSupportsRule.h:
2252         (WebCore::CSSSupportsRule::create):
2253         * css/CSSUnknownRule.h:
2254         * css/StyleRule.cpp:
2255         (WebCore::StyleRuleBase::createCSSOMWrapper):
2256         * css/StyleRuleImport.h:
2257         (WebCore::StyleRuleImport::mediaQueries):
2258         * css/WebKitCSSKeyframeRule.cpp:
2259         (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
2260         (WebCore::WebKitCSSKeyframeRule::reattach):
2261         * css/WebKitCSSKeyframeRule.h:
2262         * css/WebKitCSSKeyframesRule.cpp:
2263         (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
2264         (WebCore::WebKitCSSKeyframesRule::item):
2265         (WebCore::WebKitCSSKeyframesRule::reattach):
2266         * css/WebKitCSSKeyframesRule.h:
2267         (WebCore::WebKitCSSKeyframesRule::create):
2268         * css/WebKitCSSRegionRule.cpp:
2269         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
2270         (WebCore::WebKitCSSRegionRule::cssText):
2271         * css/WebKitCSSRegionRule.h:
2272         (WebCore::WebKitCSSRegionRule::create):
2273         * css/WebKitCSSViewportRule.cpp:
2274         (WebCore::WebKitCSSViewportRule::reattach):
2275         * css/WebKitCSSViewportRule.h:
2276
2277 2014-10-02  Christophe Dumez  <cdumez@apple.com>
2278
2279         Use is<>() / downcast<>() for CSSRule subclasses
2280         https://bugs.webkit.org/show_bug.cgi?id=137364
2281
2282         Reviewed by Benjamin Poulain.
2283
2284         Use is<>() / downcast<>() functions for CSSRule subclasses.
2285
2286         No new tests, no behavior change.
2287
2288         * css/CSSFontFaceRule.h:
2289         * css/CSSImportRule.h:
2290         * css/CSSMediaRule.h:
2291         * css/CSSRule.h:
2292         * css/CSSStyleRule.h:
2293         * css/CSSSupportsRule.h:
2294         * css/InspectorCSSOMWrappers.cpp:
2295         (WebCore::InspectorCSSOMWrappers::collect):
2296         * css/WebKitCSSKeyframesRule.h:
2297         * css/WebKitCSSRegionRule.h:
2298         * inspector/InspectorCSSAgent.cpp:
2299         (WebCore::InspectorCSSAgent::asCSSStyleRule):
2300         (WebCore::InspectorCSSAgent::collectStyleSheets):
2301         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
2302         * inspector/InspectorStyleSheet.cpp:
2303         (WebCore::asCSSRuleList):
2304         (WebCore::fillMediaListChain):
2305         (WebCore::InspectorStyleSheet::addRule):
2306         (WebCore::InspectorStyleSheet::collectFlatRules):
2307         * page/PageSerializer.cpp:
2308         (WebCore::PageSerializer::serializeCSSStyleSheet):
2309
2310 2014-10-02  Dan Bernstein  <mitz@apple.com>
2311
2312         <rdar://problem/18531395> REGRESSION (r173272): Crash in ResourceResponse::platformSuggestedFilename() when called on the null response
2313         https://bugs.webkit.org/show_bug.cgi?id=137239
2314
2315         Reviewed by Pratik Solanki.
2316
2317         * platform/network/cf/ResourceResponseCFNet.cpp:
2318         (WebCore::ResourceResponse::platformSuggestedFilename): Return the null String if
2319         m_cfResponse is null.
2320
2321 2014-10-02  Andy Estes  <aestes@apple.com>
2322
2323         [iOS] Create an SPI wrapper for _UIHighlightView and use it in WKContentView
2324         https://bugs.webkit.org/show_bug.cgi?id=137370
2325
2326         Reviewed by Tim Horton.
2327
2328         Added _UIHighlightViewSPI.h. When building against the internal SDK it imports <UIKit/_UIHighlightView.h>. Otherwise, it redeclares the SPI we use in WebKit2.
2329
2330         * WebCore.xcodeproj/project.pbxproj:
2331         * platform/spi/ios/_UIHighlightViewSPI.h: Added.
2332
2333 2014-10-02  Benjamin Poulain  <benjamin@webkit.org>
2334
2335         CSS JIT: add the initial implementation of :nth-child(An+B of selector)
2336         https://bugs.webkit.org/show_bug.cgi?id=137285
2337
2338         Reviewed by Andreas Kling.
2339
2340         This patch adds the baseline support for JIT compiling :nth-child(An+B of selector).
2341
2342         The simple optimizations from the classic :nth-child() are carried over to :nth-child(An+B of selector),
2343         but the new code generation is pretty much left completely unoptimized.
2344
2345         The main challenge introduced with the new functional pseudo classes is the possibility of backtracking
2346         while already inside a backtracking chain.
2347
2348         For example:
2349             :nth-child(odd of a+a+a~a)+b+b~b
2350         has to backtrack the chain a+a+a while already in the backtracking chain b+b+b.
2351
2352         The easiest way to solve this would have been to have each subselector generate a new function.
2353         The generator for :nth-child() would simply call the function call for each sibling.
2354
2355         In the example, we would have:
2356             functionA(): a+a+a~a
2357             selectorChecker(): :nth-child(odd of functionA())+b+b~b
2358
2359         I decided against explicit functions because I believe the would be counterproductive for the common cases.
2360         I expect most use of :nth-child(of) to be done with a light filter without combinators, things like:
2361             :nth-child(odd of .class)
2362             :nth-child(odd of type.class)
2363             :nth-child(odd of type[attribute=value])
2364             etc.
2365
2366         For simple cases, inlining the internal filter will greatly simplify the generated code.
2367
2368         In this particular patch, the selector checkers are inlined, but we do not attempt to have good code generation.
2369         The optimizations will come later.
2370
2371         To implement backtracking in the subselectors, the backtracking implementation was abstracted into the structure
2372         BacktrackingLevel. Every time the code generator starts a new subselector, a new BacktrackingLevel is pushed onto
2373         the multilevel backtracking stack. The code generation always use the latest BacktrackingLevel for code generation
2374         until the subselector is finished, and code generation can continue with the existing state.
2375
2376         Tests: fast/selectors/nth-child-of-backtracking-adjacent-2.html
2377                fast/selectors/nth-child-of-backtracking-adjacent-optimized.html
2378                fast/selectors/nth-child-of-backtracking-adjacent.html
2379                fast/selectors/nth-child-of-boundaries-1.html
2380                fast/selectors/nth-child-of-boundaries-2.html
2381                fast/selectors/nth-child-of-boundaries-3.html
2382                fast/selectors/nth-child-of-chained-2.html
2383                fast/selectors/nth-child-of-has-parent.html
2384                fast/selectors/nth-child-of-never-matching-selector.html
2385                fast/selectors/nth-child-of-with-invalid-An+B.html
2386
2387         * cssjit/SelectorCompiler.cpp:
2388         (WebCore::SelectorCompiler::addPseudoClassType):
2389         (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
2390         (WebCore::SelectorCompiler::minimumRegisterRequirements):
2391         (WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements):
2392         Previously, we only needed stack space for the adjacent backtracking entry.
2393
2394         Now we can have several backtracking level active at the same time. We compute how much stack we need
2395         initially and each backtracking level take stack references as needed.
2396
2397         (WebCore::SelectorCompiler::computeBacktrackingInformation):
2398         The entire backtracking infrastructure already works great for multilevel backtracking. It is actually
2399         amazing how everything fits nicely together :)
2400
2401         The only addition here is logging facility in case we run into a bug.
2402
2403         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
2404         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorCheckerExcludingPseudoElements):
2405         generateSelectorChecker() has handling for pseudo elements, which should not be used
2406         for :nth-child(of). The core generator was moved to generateSelectorCheckerExcludingPseudoElements()
2407         to be used for code generation of subselectors.
2408
2409         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
2410         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAncestorTreeWalker):
2411         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
2412         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
2413         (WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
2414         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
2415         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDescendantBacktrackingTail):
2416         The two main changes are:
2417         1) Adopt the BacktrackingLevel to handle multilevel generation.
2418         2) Descendant backtracking can use the stack if we have multi level descendant backtracking.
2419            In that case, we just use the stack like for adjacent backtracking.
2420
2421         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChildOf):
2422         This is very similar to generateElementIsNthChild(). The main difference is we cannot use
2423         the cache in this case.
2424
2425         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
2426         (WebCore::SelectorCompiler::nthFilterIsAlwaysSatisified):
2427         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
2428         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateNthFilterTest):
2429
2430 2014-10-02  Pratik Solanki  <psolanki@apple.com>
2431
2432         [iOS] Networking process stops loading web pages while running Alexa test with random URL list
2433         https://bugs.webkit.org/show_bug.cgi?id=137362
2434         <rdar://problem/18507382>
2435
2436         Reviewed by Alexey Proskuryakov.
2437
2438         ResourceHandleCFURLConnectionDelegateWithOperationQueue needs to signal threads waiting on
2439         its semaphore when the handle is being destroyed. Otherwise, we can leave dispatch threads
2440         hanging around waiting for a response. This can happen when the Web Content process dies.
2441         Any thread/queue waiting on a response from that web process will leak and stay around
2442         forever. If we reach the dispatch queue limit of 64, then all networking will cease to
2443         happen in the Networking process. Fix this by signalling waiting threads and clearing out
2444         our state in much the same way that -[WebCoreResourceHandleAsOperationQueueDelegate
2445         detachHandle] does for Mac.
2446
2447         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
2448         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
2449         (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::releaseHandle):
2450         * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
2451
2452 2014-10-02  Christophe Dumez  <cdumez@apple.com>
2453
2454         Use is<>() / downcast<>() for CSSBasicShape objects
2455         https://bugs.webkit.org/show_bug.cgi?id=137331
2456
2457         Reviewed by Andreas Kling.
2458
2459         Use is<>() / downcast<>() for CSSBasicShape objects.
2460
2461         No new tests, no behavior change.
2462
2463         * css/BasicShapeFunctions.cpp:
2464         (WebCore::basicShapeForValue):
2465         * css/CSSBasicShapes.cpp:
2466         (WebCore::CSSBasicShapeCircle::equals):
2467         (WebCore::CSSBasicShapeEllipse::equals):
2468         (WebCore::CSSBasicShapePolygon::equals):
2469         (WebCore::CSSBasicShapeInset::equals):
2470         * css/CSSBasicShapes.h:
2471
2472 2014-10-02  Chris Dumez  <cdumez@apple.com>
2473
2474         XMLHttpRequestProgressEventThrottle shouldn't throttle / defer progress events if there are no listeners
2475         https://bugs.webkit.org/show_bug.cgi?id=137346
2476
2477         Reviewed by Alexey Proskuryakov.
2478
2479         Previously XMLHttpRequestProgressEventThrottle would throttle / defer
2480         progress events, which involves queueing events and starting timers,
2481         even if there were no listeners for those events (which is fairly
2482         common case).
2483
2484         This patch updates XMLHttpRequestProgressEventThrottle to make sure
2485         there are actual progress event listeners *before* attempting to
2486         throttle and do extra processing, to avoid doing unnecessary work.
2487
2488         This patch also makes XMLHttpRequestProgressEventThrottle::dispatchEvent()
2489         private as this method is only called from other dispatch methods of
2490         the class and never from the outside.
2491
2492         No new tests, no behavior change.
2493
2494         * xml/XMLHttpRequestProgressEventThrottle.cpp:
2495         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent):
2496         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
2497
2498 2014-10-01  Myles C. Maxfield  <mmaxfield@apple.com>
2499
2500         [Subpixel] Use floats instead of ints for text justification expansion
2501         https://bugs.webkit.org/show_bug.cgi?id=137327
2502
2503         Reviewed by Zalan Bujtas.
2504
2505         Use a float instead of an int for the expansion variable in InlineBox. The int was inside an inner class
2506         that held a collection of bitfields, and this patch removes that inner-inner variable.
2507
2508         No new tests because there is plenty of existing coverage and existing tests are rebaselined.
2509
2510         * rendering/InlineBox.cpp: Update static_assert for the size of InlineBox.
2511         * rendering/InlineBox.h: Use a float for the justification expansion amount instead of an int bitfield.
2512         (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields): Remove int bitfield.
2513         (WebCore::InlineBox::InlineBox): Initialize float expansion.
2514         (WebCore::InlineBox::expansion): Return a float.
2515         (WebCore::InlineBox::setExpansion): Take a float.
2516         (WebCore::InlineBox::InlineBoxBitfields::expansion): Deleted. Moved to InlineBox.
2517         (WebCore::InlineBox::InlineBoxBitfields::setExpansion): Deleted. Ditto.
2518         * rendering/InlineTextBox.h:
2519         (WebCore::InlineTextBox::setExpansion): Take a float.
2520
2521 2014-10-02  Tim Horton  <timothy_horton@apple.com>
2522
2523         Move PageOverlay[Controller] to WebCore
2524         https://bugs.webkit.org/show_bug.cgi?id=137164
2525         <rdar://problem/18508258>
2526
2527         Reviewed by Anders Carlsson.
2528
2529         * CMakeLists.txt:
2530         * WebCore.vcxproj/WebCore.vcxproj:
2531         * WebCore.vcxproj/WebCore.vcxproj.filters:
2532         * WebCore.xcodeproj/project.pbxproj:
2533         Make the appropriate build system changes.
2534
2535         * WebCore.exp.in:
2536         Export the new PageOverlay[Controller] symbols from WebCore.
2537
2538         * loader/EmptyClients.h:
2539         * page/ChromeClient.h:
2540         (WebCore::ChromeClient::documentOverlayLayerForFrame): Deleted.
2541         Add attachViewOverlayGraphicsLayer, which allows PageOverlayController
2542         to push view-relative page overlay root layers down to WebKit to be
2543         installed just inside the view.
2544
2545         Remove documentOverlayLayerForFrame because RenderLayerCompositor can now
2546         talk directly to PageOverlayController.
2547
2548         * page/EventHandler.cpp:
2549         (WebCore::EventHandler::handleMousePressEvent):
2550         (WebCore::EventHandler::mouseMoved):
2551         (WebCore::EventHandler::handleMouseReleaseEvent):
2552         When the mouse is moved, pressed, or released, give PageOverlayController
2553         the first shot at handling the event.
2554
2555         * page/FrameView.cpp:
2556         (WebCore::FrameView::setFrameRect):
2557         Inform PageOverlayController that the main FrameView's size changed,
2558         so it can update the size of view-relative overlays.
2559
2560         (WebCore::FrameView::setContentsSize):
2561         Inform PageOverlayController that the main FrameView's contents size changed,
2562         so it can update the size of document-relative overlays.
2563
2564         (WebCore::FrameView::setFixedVisibleContentRect):
2565         (WebCore::FrameView::didChangeScrollOffset):
2566         (WebCore::FrameView::scrollTo):
2567         (WebCore::FrameView::wheelEvent):
2568         Inform PageOverlayController that something scrolled.
2569
2570         (WebCore::FrameView::setExposedRect):
2571         Inform PageOverlayController that the exposed rect changed, so it can push
2572         the new exposed rect down to the overlays.
2573
2574         * page/FrameView.h:
2575         Add didChangeScrollOffset.
2576
2577         * page/MainFrame.cpp:
2578         (WebCore::MainFrame::MainFrame):
2579         * page/MainFrame.h:
2580         Keep one PageOverlayController per MainFrame.
2581
2582         * page/Page.cpp:
2583         (WebCore::Page::setDeviceScaleFactor):
2584         Inform PageOverlayController that the device scale factor changed.
2585
2586         (WebCore::Page::setSessionID):
2587         Remove a blank line.
2588
2589         * page/PageOverlay.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/PageOverlay.cpp.
2590         Move PageOverlay from WebKit2 to WebCore.
2591         A few overarching changes that I won't detail in each place:
2592             - references instead of pointers in many places
2593             - WebCore types instead of WebKit2 types everywhere
2594
2595         (WebCore::PageOverlay::bounds):
2596         It is possible to install an overlay before we have a FrameView.
2597         We will eventually get a view/contents size changed notification and try again.
2598
2599         (WebCore::PageOverlay::copyAccessibilityAttributeStringValueForPoint):
2600         (WebCore::PageOverlay::copyAccessibilityAttributeBoolValueForPoint):
2601         (WebCore::PageOverlay::copyAccessibilityAttributeNames):
2602         Split copyAccessibilityAttribute into "StringValueForPoint" and "BoolValueForPoint"
2603         variants, because we don't have anything like WKTypeRef here.
2604
2605         * page/PageOverlay.h: Renamed from Source/WebKit2/WebProcess/WebPage/PageOverlay.h.
2606         Make PageOverlay a normal RefCounted object instead of a WebKit2 API object.
2607         Leave a comment noting that we should move the PageOverlay's GraphicsLayer
2608         to PageOverlay instead of a map on PageOverlayController.
2609
2610         * page/PageOverlayController.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/PageOverlayController.cpp.
2611         Move PageOverlayController from WebKit2 to WebCore.
2612         A few overarching changes that I won't detail in each place:
2613             - references instead of pointers in many places
2614             - WebCore types instead of WebKit2 types everywhere
2615
2616         Leave a FIXME that didChangeSettings is not currently called when settings change.
2617         This is not a problem for normal use of overlays, only for dynamically changing
2618         layer border/repaint counter settings.
2619
2620         (WebCore::PageOverlayController::PageOverlayController):
2621         (WebCore::PageOverlayController::createRootLayersIfNeeded):
2622         We will now lazily initialize the root layers when we first try to use them,
2623         because otherwise we try to create them before the ChromeClient's GraphicsLayerFactory
2624         is hooked up, in some cases, and that can cause us to create the wrong kind of GraphicsLayers.
2625
2626         (WebCore::PageOverlayController::installPageOverlay):
2627         Enter compositing mode when installing a PageOverlay.
2628         Avoid pushing the Page to the PageOverlay until after we've set up
2629         its root layer, so that the installation process can make use of that layer;
2630         clients may, for example, expect to be able to setNeedsDisplay() in the
2631         didMoveToPage callback.
2632         Avoid updateOverlayGeometry until the layer is created and we've pushed
2633         the Page down, so that e.g. bounds() will use the right Page.
2634
2635         (WebCore::PageOverlayController::didChangeSettings):
2636         Leave a FIXME about a future improvement to didChangeSettings.
2637
2638         (WebCore::PageOverlayController::deviceScaleFactor):
2639         (WebCore::PageOverlayController::notifyFlushRequired):
2640         Null-check Page; these can get called when tearing down the Frame.
2641
2642         * page/PageOverlayController.h: Renamed from Source/WebKit2/WebProcess/WebPage/PageOverlayController.h.
2643
2644         * platform/graphics/GraphicsLayerClient.h:
2645         Add wtf/Forward.h, because GraphicsLayerClient.h uses String.
2646
2647         * rendering/RenderLayer.cpp:
2648         (WebCore::RenderLayer::scrollTo):
2649         Inform PageOverlayController that something scrolled.
2650
2651         * rendering/RenderLayerCompositor.cpp:
2652         (WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers):
2653         Make hasAnyAdditionalCompositedLayers return true if there are any page overlays,
2654         because we need to avoid falling out of compositing mode if we still have
2655         page overlays.
2656
2657         (WebCore::RenderLayerCompositor::updateCompositingLayers):
2658         Enter compositing mode if we have page overlays.
2659
2660         (WebCore::RenderLayerCompositor::appendOverlayLayers): Deleted.
2661         (WebCore::RenderLayerCompositor::appendDocumentOverlayLayers):
2662         Rename appendOverlayLayers -> appendDocumentOverlayLayers.
2663
2664         (WebCore::RenderLayerCompositor::attachRootLayer):
2665         (WebCore::RenderLayerCompositor::detachRootLayer):
2666         Attach/detach the view overlay root layer when attaching/detaching the
2667         normal compositing root layer.
2668
2669         (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
2670         * rendering/RenderLayerCompositor.h:
2671
2672 2014-10-02  Myles C. Maxfield  <mmaxfield@apple.com>
2673
2674         Back TextRun with a StringView
2675         https://bugs.webkit.org/show_bug.cgi?id=137352
2676
2677         Reviewed by Antti Koivisto.
2678
2679         TextRun contains a union of a UChar* and an LChar* as well as a length, which is the abstraction
2680         that StringView is intended to be. This patch cleans up TextRun by replacing the union and length
2681         with a StringView instance member.
2682
2683         No new tests because there is no behavior change.
2684
2685         * platform/graphics/TextRun.h:
2686         (WebCore::TextRun::TextRun):
2687         (WebCore::TextRun::subRun):
2688         (WebCore::TextRun::operator[]):
2689         (WebCore::TextRun::data8):
2690         (WebCore::TextRun::data16):
2691         (WebCore::TextRun::characters8):
2692         (WebCore::TextRun::characters16):
2693         (WebCore::TextRun::is8Bit):
2694         (WebCore::TextRun::length):
2695         (WebCore::TextRun::string):
2696         (WebCore::TextRun::setText):
2697         (WebCore::TextRun::stringView):
2698
2699 2014-10-01  Christophe Dumez  <cdumez@apple.com>
2700
2701         Have is<>(T*) function do a null check on the pointer argument
2702         https://bugs.webkit.org/show_bug.cgi?id=137333
2703
2704         Reviewed by Gavin Barraclough.
2705
2706         Have is<>(T*) function do a null check on the argument instead of a
2707         simple assertion. This makes sense for 2 reasons:
2708         1. It is more consistent with downcast<>(T*), which will succeed even
2709            if the argument is a nullptr.
2710         2. It simplifies the code a bit as it gets rid of a lot of explicit
2711            null checks.
2712
2713         No new tests, no behavior change.
2714
2715         * Modules/indexeddb/IDBFactory.cpp:
2716         * Modules/webaudio/OfflineAudioContext.cpp:
2717         (WebCore::OfflineAudioContext::create):
2718         * Modules/websockets/ThreadableWebSocketChannel.cpp:
2719         (WebCore::ThreadableWebSocketChannel::create):
2720         * Modules/websockets/WebSocket.cpp:
2721         (WebCore::WebSocket::connect):
2722         * Modules/websockets/WebSocketHandshake.cpp:
2723         (WebCore::WebSocketHandshake::clientHandshakeMessage):
2724         * accessibility/AXObjectCache.cpp:
2725         (WebCore::AXObjectCache::focusedUIElementForPage):
2726         (WebCore::createFromRenderer):
2727         (WebCore::AXObjectCache::getOrCreate):
2728         (WebCore::AXObjectCache::handleLiveRegionCreated):
2729         (WebCore::AXObjectCache::handleAttributeChanged):
2730         (WebCore::AXObjectCache::labelChanged):
2731         (WebCore::AXObjectCache::rootAXEditableElement):
2732         (WebCore::isNodeAriaVisible):
2733         * accessibility/AccessibilityListBoxOption.cpp:
2734         (WebCore::AccessibilityListBoxOption::isEnabled):
2735         (WebCore::AccessibilityListBoxOption::isSelected):
2736         (WebCore::AccessibilityListBoxOption::canSetSelectedAttribute):
2737         (WebCore::AccessibilityListBoxOption::stringValue):
2738         (WebCore::AccessibilityListBoxOption::listBoxOptionParentNode):
2739         * accessibility/AccessibilityMediaControls.cpp:
2740         (WebCore::AccessibilityMediaTimeline::valueDescription):
2741         * accessibility/AccessibilityMenuListPopup.cpp:
2742         (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
2743         * accessibility/AccessibilityNodeObject.cpp:
2744         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
2745         (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
2746         (WebCore::AccessibilityNodeObject::isNativeTextControl):
2747         (WebCore::AccessibilityNodeObject::isNativeImage):
2748         (WebCore::AccessibilityNodeObject::isInputImage):
2749         (WebCore::AccessibilityNodeObject::isEnabled):
2750         (WebCore::AccessibilityNodeObject::isPressed):
2751         (WebCore::AccessibilityNodeObject::isHovered):
2752         (WebCore::AccessibilityNodeObject::isReadOnly):
2753         (WebCore::AccessibilityNodeObject::isRequired):
2754         (WebCore::AccessibilityNodeObject::valueForRange):
2755         (WebCore::AccessibilityNodeObject::maxValueForRange):
2756         (WebCore::AccessibilityNodeObject::minValueForRange):
2757         (WebCore::AccessibilityNodeObject::isControl):
2758         (WebCore::AccessibilityNodeObject::anchorElement):
2759         (WebCore::isNodeActionElement):
2760         (WebCore::AccessibilityNodeObject::mouseButtonListener):
2761         (WebCore::AccessibilityNodeObject::labelForElement):
2762         (WebCore::AccessibilityNodeObject::titleElementText):
2763         (WebCore::AccessibilityNodeObject::alternativeText):
2764         (WebCore::AccessibilityNodeObject::visibleText):
2765         (WebCore::AccessibilityNodeObject::accessibilityDescription):
2766         (WebCore::AccessibilityNodeObject::helpText):
2767         (WebCore::AccessibilityNodeObject::hierarchicalLevel):
2768         (WebCore::AccessibilityNodeObject::textUnderElement):
2769         (WebCore::AccessibilityNodeObject::title):
2770         (WebCore::AccessibilityNodeObject::colorValue):
2771         (WebCore::accessibleNameForNode):
2772         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
2773         * accessibility/AccessibilityObject.cpp:
2774         (WebCore::AccessibilityObject::press):
2775         (WebCore::AccessibilityObject::hasTagName):
2776         (WebCore::AccessibilityObject::hasAttribute):
2777         (WebCore::AccessibilityObject::element):
2778         (WebCore::AccessibilityObject::classList):
2779         * accessibility/AccessibilityRenderObject.cpp:
2780         (WebCore::AccessibilityRenderObject::isFileUploadButton):
2781         (WebCore::AccessibilityRenderObject::anchorElement):
2782         (WebCore::AccessibilityRenderObject::helpText):
2783         (WebCore::AccessibilityRenderObject::labelElementContainer):
2784         (WebCore::AccessibilityRenderObject::internalLinkElement):
2785         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
2786         (WebCore::AccessibilityRenderObject::titleUIElement):
2787         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2788         (WebCore::AccessibilityRenderObject::accessKey):
2789         (WebCore::AccessibilityRenderObject::url):
2790         (WebCore::AccessibilityRenderObject::setElementAttributeValue):
2791         (WebCore::AccessibilityRenderObject::setFocused):
2792         (WebCore::AccessibilityRenderObject::setValue):
2793         (WebCore::AccessibilityRenderObject::getDocumentLinks):
2794         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
2795         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
2796         (WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
2797         (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
2798         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2799         (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
2800         (WebCore::AccessibilityRenderObject::addTextFieldChildren):
2801         (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
2802         (WebCore::AccessibilityRenderObject::setAccessibleName):
2803         (WebCore::AccessibilityRenderObject::stringValueForMSAA):
2804         (WebCore::AccessibilityRenderObject::isLinked):
2805         (WebCore::AccessibilityRenderObject::stringRoleForMSAA):
2806         (WebCore::AccessibilityRenderObject::isMathElement):
2807         * accessibility/AccessibilitySearchFieldButtons.cpp:
2808         (WebCore::AccessibilitySearchFieldCancelButton::press):
2809         * accessibility/AccessibilityTable.cpp:
2810         (WebCore::AccessibilityTable::tableElement):
2811         (WebCore::AccessibilityTable::isDataTable):
2812         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2813         (WebCore::AccessibilityTable::title):
2814         * accessibility/atk/AXObjectCacheAtk.cpp:
2815         (WebCore::notifyChildrenSelectionChange):
2816         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
2817         (webkitAccessibleTableGetCaption):
2818         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2819         (webkitAccessibleGetName):
2820         (webkitAccessibleGetDescription):
2821         (webkitAccessibleGetAttributes):
2822         * bindings/gobject/WebKitDOMPrivate.cpp:
2823         (WebKit::wrap):
2824         * bindings/js/JSAudioContextCustom.cpp:
2825         (WebCore::constructJSAudioContext):
2826         * bindings/js/JSDOMGlobalObject.cpp:
2827         (WebCore::toJSDOMGlobalObject):
2828         * bindings/js/JSDOMWindowCustom.cpp:
2829         (WebCore::namedItemGetter):
2830         (WebCore::JSDOMWindow::getOwnPropertySlot):
2831         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
2832         * bindings/js/JSElementCustom.cpp:
2833         (WebCore::toJSNewlyCreated):
2834         * bindings/js/JSErrorHandler.cpp:
2835         (WebCore::JSErrorHandler::handleEvent):
2836         * bindings/js/JSEventListener.cpp:
2837         (WebCore::JSEventListener::handleEvent):
2838         * bindings/js/JSHTMLDocumentCustom.cpp:
2839         (WebCore::JSHTMLDocument::nameGetter):
2840         * bindings/js/JSLazyEventListener.cpp:
2841         (WebCore::JSLazyEventListener::initializeJSFunction):
2842         * bindings/js/JSNodeCustom.cpp:
2843         (WebCore::isReachableFromDOM):
2844         (WebCore::createWrapperInline):
2845         * bindings/js/ScheduledAction.cpp:
2846         (WebCore::ScheduledAction::execute):
2847         * bindings/js/ScriptState.cpp:
2848         (WebCore::frameFromExecState):
2849         * bindings/objc/DOM.mm:
2850         (kitClass):
2851         * css/CSSCursorImageValue.cpp:
2852         (WebCore::resourceReferencedByCursorElement):
2853         * css/CSSStyleSheet.cpp:
2854         (WebCore::isAcceptableCSSStyleSheetParent):
2855         * css/SelectorChecker.cpp:
2856         (WebCore::SelectorChecker::checkOne):
2857         * css/SelectorCheckerTestFunctions.h:
2858         (WebCore::isAutofilled):
2859         (WebCore::isDisabled):
2860         (WebCore::isEnabled):
2861         (WebCore::isChecked):
2862         (WebCore::matchesLangPseudoClass):
2863         (WebCore::matchesFutureCuePseudoClass):
2864         (WebCore::matchesPastCuePseudoClass):
2865         * css/StyleResolver.cpp:
2866         (WebCore::StyleResolver::State::initElement):
2867         (WebCore::StyleResolver::locateCousinList):
2868         (WebCore::elementHasDirectionAuto):
2869         (WebCore::StyleResolver::canShareStyleWithElement):
2870         (WebCore::StyleResolver::findSiblingForStyleSharing):
2871         (WebCore::StyleResolver::adjustRenderStyle):
2872         (WebCore::StyleResolver::useSVGZoomRulesForLength):
2873         * css/StyleSheetList.cpp:
2874         (WebCore::StyleSheetList::getNamedItem):
2875         * dom/Attr.cpp:
2876         (WebCore::Attr::style):
2877         * dom/CharacterData.cpp:
2878         (WebCore::CharacterData::parserAppendData):
2879         (WebCore::CharacterData::setDataAndUpdate):
2880         * dom/ContainerNode.cpp:
2881         (WebCore::checkAcceptChild):
2882         (WebCore::ContainerNode::notifyChildRemoved):
2883         * dom/ContainerNodeAlgorithms.cpp:
2884         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
2885         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
2886         * dom/CurrentScriptIncrementer.h:
2887         (WebCore::CurrentScriptIncrementer::CurrentScriptIncrementer):
2888         * dom/DataTransfer.cpp:
2889         (WebCore::DataTransfer::setDragImage):
2890         * dom/Document.cpp:
2891         (WebCore::Document::elementFromPoint):
2892         (WebCore::Document::setTitle):
2893         (WebCore::Document::iconURLs):
2894         (WebCore::eventTargetElementForDocument):
2895         (WebCore::Document::updateHoverActiveState):
2896         * dom/DocumentStyleSheetCollection.cpp:
2897         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
2898         * dom/Element.cpp:
2899         (WebCore::Element::computeInheritedLanguage):
2900         * dom/Element.h:
2901         (WebCore::Node::parentElement):
2902         * dom/ElementTraversal.h:
2903         (WebCore::Traversal<Element>::nextTemplate):
2904         (WebCore::ElementTraversal::previousIncludingPseudo):
2905         (WebCore::ElementTraversal::nextIncludingPseudo):
2906         (WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
2907         (WebCore::ElementTraversal::pseudoAwarePreviousSibling):
2908         * dom/EventDispatcher.cpp:
2909         (WebCore::WindowEventContext::WindowEventContext):
2910         (WebCore::EventDispatcher::dispatchEvent):
2911         (WebCore::nodeOrHostIfPseudoElement):
2912         (WebCore::EventPath::EventPath):
2913         * dom/EventTarget.cpp:
2914         (WebCore::EventTarget::fireEventListeners):
2915         * dom/KeyboardEvent.cpp:
2916         (WebCore::findKeyboardEvent):
2917         * dom/LiveNodeList.cpp:
2918         (WebCore::LiveNodeList::namedItem):
2919         * dom/MessagePort.cpp:
2920         (WebCore::MessagePort::dispatchMessages):
2921         * dom/MouseEvent.cpp:
2922         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
2923         * dom/NamedNodeMap.cpp:
2924         (WebCore::NamedNodeMap::setNamedItem):
2925         * dom/Node.cpp:
2926         (WebCore::Node::dumpStatistics):
2927         (WebCore::Node::pseudoAwarePreviousSibling):
2928         (WebCore::Node::pseudoAwareNextSibling):
2929         (WebCore::Node::computedStyle):
2930         (WebCore::Node::parentOrShadowHostElement):
2931         (WebCore::Node::rootEditableElement):
2932         (WebCore::Node::ancestorElement):
2933         (WebCore::Node::compareDocumentPosition):
2934         (WebCore::appendAttributeDesc):
2935         (WebCore::Node::showNodePathForThis):
2936         (WebCore::Node::enclosingLinkEventParentOrSelf):
2937         (WebCore::Node::dispatchEvent):
2938         (WebCore::Node::defaultEventHandler):
2939         * dom/NodeRenderingTraversal.cpp:
2940         (WebCore::NodeRenderingTraversal::nodeCanBeDistributed):
2941         (WebCore::NodeRenderingTraversal::traverseParent):
2942         * dom/NodeTraversal.cpp:
2943         (WebCore::NodeTraversal::previousIncludingPseudo):
2944         (WebCore::NodeTraversal::nextIncludingPseudo):
2945         (WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):
2946         * dom/Position.cpp:
2947         (WebCore::Position::element):
2948         (WebCore::endsOfNodeAreVisuallyDistinctPositions):
2949         (WebCore::Position::isRenderedCharacter):
2950         (WebCore::Position::leadingWhitespacePosition):
2951         * dom/Range.cpp:
2952         (WebCore::Range::insertNode):
2953         (WebCore::Range::getBorderAndTextQuads):
2954         * dom/ScriptElement.cpp:
2955         (WebCore::toScriptElementIfPossible):
2956         * dom/ShadowRoot.h:
2957         (WebCore::Node::parentOrShadowHostNode):
2958         * dom/Text.cpp:
2959         (WebCore::earliestLogicallyAdjacentTextNode):
2960         (WebCore::latestLogicallyAdjacentTextNode):
2961         (WebCore::isSVGShadowText):
2962         * dom/TextNodeTraversal.cpp:
2963         (WebCore::TextNodeTraversal::contentsAsString):
2964         * dom/TextNodeTraversal.h:
2965         (WebCore::TextNodeTraversal::firstTextChildTemplate):
2966         (WebCore::TextNodeTraversal::firstTextWithinTemplate):
2967         (WebCore::TextNodeTraversal::traverseNextTextTemplate):
2968         (WebCore::TextNodeTraversal::nextSibling):
2969         * dom/TreeScopeAdopter.cpp:
2970         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2971         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
2972         * editing/ApplyBlockElementCommand.cpp:
2973         (WebCore::isNewLineAtPosition):
2974         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded):
2975         * editing/ApplyStyleCommand.cpp:
2976         (WebCore::isLegacyAppleStyleSpan):
2977         (WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute):
2978         (WebCore::isSpanWithoutAttributesOrUnstyledStyleSpan):
2979         (WebCore::isEmptyFontTag):
2980         (WebCore::ApplyStyleCommand::applyBlockStyle):
2981         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2982         (WebCore::dummySpanAncestorForNode):
2983         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
2984         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
2985         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
2986         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
2987         (WebCore::ApplyStyleCommand::splitTextAtEnd):
2988         (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
2989         (WebCore::ApplyStyleCommand::shouldSplitTextElement):
2990         (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
2991         (WebCore::ApplyStyleCommand::applyInlineStyleChange):
2992         (WebCore::ApplyStyleCommand::joinChildTextNodes):
2993         * editing/BreakBlockquoteCommand.cpp:
2994         (WebCore::BreakBlockquoteCommand::doApply):
2995         * editing/CompositeEditCommand.cpp:
2996         (WebCore::CompositeEditCommand::isRemovableBlock):
2997         (WebCore::CompositeEditCommand::insertNodeAt):
2998         (WebCore::CompositeEditCommand::canRebalance):
2999         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
3000         (WebCore::CompositeEditCommand::deleteInsignificantText):
3001         (WebCore::CompositeEditCommand::removePlaceholderAt):
3002         (WebCore::CompositeEditCommand::cleanupAfterDeletion):
3003         (WebCore::CompositeEditCommand::moveParagraphs):
3004         * editing/DeleteButtonController.cpp:
3005         (WebCore::enclosingDeletableElement):
3006         * editing/DeleteSelectionCommand.cpp:
3007         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3008         (WebCore::DeleteSelectionCommand::fixupWhitespace):
3009         (WebCore::DeleteSelectionCommand::doApply):
3010         * editing/EditingStyle.cpp:
3011         (WebCore::EditingStyle::wrappingStyleForSerialization):
3012         * editing/Editor.cpp:
3013         (WebCore::imageElementFromImageDocument):
3014         (WebCore::Editor::shouldInsertFragment):
3015         (WebCore::Editor::setBaseWritingDirection):
3016         (WebCore::Editor::setComposition):
3017         (WebCore::Editor::isSpellCheckingEnabledFor):
3018         (WebCore::Editor::applyEditingStyleToElement):
3019         * editing/FormatBlockCommand.cpp:
3020         (WebCore::isElementForFormatBlock):
3021         * editing/FrameSelection.cpp:
3022         (WebCore::removingNodeRemovesPosition):
3023         (WebCore::CaretBase::paintCaret):
3024         (WebCore::FrameSelection::debugRenderer):
3025         (WebCore::FrameSelection::selectAll):
3026         (WebCore::scanForForm):
3027         * editing/InsertLineBreakCommand.cpp:
3028         (WebCore::InsertLineBreakCommand::doApply):
3029         * editing/InsertListCommand.cpp:
3030         (WebCore::InsertListCommand::mergeWithNeighboringLists):
3031         * editing/InsertParagraphSeparatorCommand.cpp:
3032         (WebCore::InsertParagraphSeparatorCommand::doApply):
3033         * editing/InsertTextCommand.cpp:
3034         (WebCore::InsertTextCommand::insertTab):
3035         * editing/ReplaceSelectionCommand.cpp:
3036         (WebCore::haveSameTagName):
3037         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
3038         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
3039         (WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
3040         (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
3041         (WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
3042         (WebCore::ReplaceSelectionCommand::insertAsListItems):
3043         (WebCore::ReplaceSelectionCommand::performTrivialReplace):
3044         * editing/SpellChecker.cpp:
3045         (WebCore::SpellChecker::isCheckable):
3046         * editing/SplitTextNodeContainingElementCommand.cpp:
3047         (WebCore::SplitTextNodeContainingElementCommand::doApply):
3048         * editing/TextIterator.cpp:
3049         (WebCore::isRendererReplacedElement):
3050         * editing/VisibleSelection.cpp:
3051         (WebCore::VisibleSelection::isInPasswordField):
3052         * editing/VisibleUnits.cpp:
3053         (WebCore::startPositionForLine):
3054         (WebCore::endPositionForLine):
3055         (WebCore::startOfParagraph):
3056         (WebCore::endOfParagraph):
3057         * editing/cocoa/HTMLConverter.mm:
3058         (HTMLConverter::aggregatedAttributesForAncestors):
3059         (HTMLConverter::aggregatedAttributesForElementAndItsAncestors):
3060         (WebCore::editingAttributedStringFromRange):
3061         * editing/htmlediting.cpp:
3062         (WebCore::enclosingBlock):
3063         (WebCore::enclosingElementWithTag):
3064         (WebCore::enclosingAnchorElement):
3065         (WebCore::enclosingList):
3066         (WebCore::lineBreakExistsAtPosition):
3067         (WebCore::areIdenticalElements):
3068         (WebCore::isNonTableCellHTMLBlockElement):
3069         (WebCore::deprecatedEnclosingBlockFlowElement):
3070         * editing/ios/EditorIOS.mm:
3071         (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
3072         * editing/markup.cpp:
3073         (WebCore::StyledMarkupAccumulator::appendText):
3074         (WebCore::ancestorToRetainStructureAndAppearanceForBlock):
3075         (WebCore::isPlainTextMarkup):
3076         * fileapi/FileReader.cpp:
3077         (WebCore::FileReader::readAsArrayBuffer):
3078         (WebCore::FileReader::readAsBinaryString):
3079         (WebCore::FileReader::readAsText):
3080         (WebCore::FileReader::readAsDataURL):
3081         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
3082         (WebCore::BaseChooserOnlyDateAndTimeInputType::updateAppearance):
3083         * html/FTPDirectoryDocument.cpp:
3084         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
3085         * html/FormAssociatedElement.cpp:
3086         (WebCore::FormAssociatedElement::findAssociatedForm):
3087         * html/HTMLAnchorElement.cpp:
3088         (WebCore::appendServerMapMousePosition):
3089         (WebCore::HTMLAnchorElement::defaultEventHandler):
3090         (WebCore::HTMLAnchorElement::eventType):
3091         (WebCore::isEnterKeyKeydownEvent):
3092         (WebCore::isLinkClick):
3093         * html/HTMLAreaElement.cpp:
3094         (WebCore::HTMLAreaElement::imageElement):
3095         * html/HTMLBodyElement.cpp:
3096         (WebCore::HTMLBodyElement::insertedInto):
3097         * html/HTMLButtonElement.cpp:
3098         (WebCore::HTMLButtonElement::defaultEventHandler):
3099         * html/HTMLCollection.cpp:
3100         (WebCore::HTMLCollection::namedItem):
3101         (WebCore::HTMLCollection::updateNamedElementCache):
3102         * html/HTMLDocument.cpp:
3103         (WebCore::HTMLDocument::bgColor):
3104         (WebCore::HTMLDocument::setBgColor):
3105         (WebCore::HTMLDocument::fgColor):
3106         (WebCore::HTMLDocument::setFgColor):
3107         (WebCore::HTMLDocument::alinkColor):
3108         (WebCore::HTMLDocument::setAlinkColor):
3109         (WebCore::HTMLDocument::linkColor):
3110         (WebCore::HTMLDocument::setLinkColor):
3111         (WebCore::HTMLDocument::vlinkColor):
3112         (WebCore::HTMLDocument::setVlinkColor):
3113         (WebCore::HTMLDocument::isFrameSet):
3114         * html/HTMLElement.cpp:
3115         (WebCore::HTMLElement::matchesReadWritePseudoClass):
3116         (WebCore::mergeWithNextTextNode):
3117         (WebCore::HTMLElement::setOuterHTML):
3118         (WebCore::HTMLElement::setOuterText):
3119         (WebCore::HTMLElement::insertAdjacentElement):
3120         (WebCore::contextElementForInsertion):
3121         (WebCore::HTMLElement::directionality):
3122         (WebCore::HTMLElement::dirAttributeChanged):
3123         * html/HTMLEmbedElement.cpp:
3124         (WebCore::HTMLEmbedElement::rendererIsNeeded):
3125         * html/HTMLFieldSetElement.cpp:
3126         (WebCore::updateFromControlElementsAncestorDisabledStateUnder):
3127         (WebCore::HTMLFieldSetElement::disabledStateChanged):
3128         * html/HTMLFormControlElement.cpp:
3129         (WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor):
3130         (WebCore::shouldAutofocus):
3131         (WebCore::HTMLFormControlElement::enclosingFormControlElement):
3132         * html/HTMLFormElement.cpp:
3133         (WebCore::HTMLFormElement::rendererIsNeeded):
3134         (WebCore::HTMLFormElement::submitImplicitly):
3135         (WebCore::submitElementFromEvent):
3136         (WebCore::HTMLFormElement::validateInteractively):
3137         (WebCore::HTMLFormElement::submit):
3138         (WebCore::HTMLFormElement::reset):
3139         (WebCore::HTMLFormElement::defaultButton):
3140         (WebCore::HTMLFormElement::documentDidResumeFromPageCache):
3141         * html/HTMLFrameOwnerElement.cpp:
3142         (WebCore::HTMLFrameOwnerElement::getSVGDocument):
3143         * html/HTMLFrameSetElement.cpp:
3144         (WebCore::HTMLFrameSetElement::defaultEventHandler):
3145         * html/HTMLInputElement.cpp:
3146         (WebCore::HTMLInputElement::defaultEventHandler):
3147         (WebCore::HTMLInputElement::dataList):
3148         * html/HTMLLabelElement.cpp:
3149         (WebCore::nodeAsSupportedLabelableElement):
3150         * html/HTMLLegendElement.cpp:
3151         (WebCore::HTMLLegendElement::virtualForm):
3152         * html/HTMLMediaElement.cpp:
3153         (WebCore::HTMLMediaElement::parseAttribute):
3154         * html/HTMLObjectElement.cpp:
3155         (WebCore::HTMLObjectElement::hasFallbackContent):
3156         (WebCore::HTMLObjectElement::updateDocNamedItem):
3157         * html/HTMLOptGroupElement.cpp:
3158         (WebCore::HTMLOptGroupElement::recalcSelectOptions):
3159         (WebCore::HTMLOptGroupElement::ownerSelectElement):
3160         * html/HTMLOptionElement.cpp:
3161         (WebCore::HTMLOptionElement::setText):
3162         (WebCore::HTMLOptionElement::index):
3163         (WebCore::HTMLOptionElement::ownerDataListElement):
3164         (WebCore::HTMLOptionElement::ownerSelectElement):
3165         (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
3166         (WebCore::HTMLOptionElement::isDisabledFormControl):
3167         (WebCore::HTMLOptionElement::collectOptionInnerText):
3168         * html/HTMLPlugInImageElement.cpp:
3169         (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin):
3170         (WebCore::HTMLPlugInImageElement::defaultEventHandler):
3171         * html/HTMLScriptElement.cpp:
3172         (WebCore::HTMLScriptElement::setText):
3173         * html/HTMLSelectElement.cpp:
3174         (WebCore::HTMLSelectElement::nextValidIndex):
3175         (WebCore::HTMLSelectElement::saveLastSelection):
3176         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
3177         (WebCore::HTMLSelectElement::updateListBoxSelection):
3178         (WebCore::HTMLSelectElement::listBoxOnChange):
3179         (WebCore::HTMLSelectElement::recalcListItems):
3180         (WebCore::HTMLSelectElement::selectedIndex):
3181         (WebCore::HTMLSelectElement::selectOption):
3182         (WebCore::HTMLSelectElement::optionToListIndex):
3183         (WebCore::HTMLSelectElement::listToOptionIndex):
3184         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
3185         (WebCore::HTMLSelectElement::saveFormControlState):
3186         (WebCore::HTMLSelectElement::searchOptionsForValue):
3187         (WebCore::HTMLSelectElement::restoreFormControlState):
3188         (WebCore::HTMLSelectElement::appendFormData):
3189         (WebCore::HTMLSelectElement::reset):
3190         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
3191         (WebCore::HTMLSelectElement::updateSelectedState):
3192         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
3193         (WebCore::HTMLSelectElement::defaultEventHandler):
3194         (WebCore::HTMLSelectElement::lastSelectedListIndex):
3195         (WebCore::HTMLSelectElement::optionAtIndex):
3196         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
3197         (WebCore::HTMLSelectElement::length):
3198         * html/HTMLSourceElement.cpp:
3199         (WebCore::HTMLSourceElement::insertedInto):
3200         (WebCore::HTMLSourceElement::removedFrom):
3201         * html/HTMLSummaryElement.cpp:
3202         (WebCore::isClickableControl):
3203         (WebCore::HTMLSummaryElement::defaultEventHandler):
3204         * html/HTMLTableElement.cpp:
3205         (WebCore::HTMLTableElement::caption):
3206         * html/HTMLTablePartElement.cpp:
3207         (WebCore::HTMLTablePartElement::findParentTable):
3208         * html/HTMLTableRowElement.cpp:
3209         (WebCore::HTMLTableRowElement::rowIndex):
3210         * html/HTMLTableRowsCollection.cpp:
3211         (WebCore::HTMLTableRowsCollection::rowAfter):
3212         (WebCore::HTMLTableRowsCollection::lastRow):
3213         * html/HTMLTextAreaElement.cpp:
3214         (WebCore::HTMLTextAreaElement::defaultEventHandler):
3215         * html/HTMLTextFormControlElement.cpp:
3216         (WebCore::HTMLTextFormControlElement::innerTextValue):
3217         (WebCore::positionForIndex):
3218         (WebCore::HTMLTextFormControlElement::indexForPosition):
3219         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
3220         * html/HTMLTitleElement.cpp:
3221         (WebCore::HTMLTitleElement::setText):
3222         * html/HTMLTrackElement.cpp:
3223         (WebCore::HTMLTrackElement::mediaElement):
3224         * html/ImageDocument.cpp:
3225         (WebCore::ImageEventListener::handleEvent):
3226         * html/InputType.cpp:
3227         (WebCore::InputType::shouldSubmitImplicitly):
3228         * html/MediaDocument.cpp:
3229         (WebCore::ancestorVideoElement):
3230         (WebCore::MediaDocument::defaultEventHandler):
3231         * html/RadioInputType.cpp:
3232         (WebCore::RadioInputType::handleKeydownEvent):
3233         (WebCore::RadioInputType::isKeyboardFocusable):
3234         * html/TextFieldInputType.cpp:
3235         (WebCore::TextFieldInputType::shouldSubmitImplicitly):
3236         * html/parser/HTMLConstructionSite.cpp:
3237         (WebCore::hasImpliedEndTag):
3238         (WebCore::HTMLConstructionSite::attachLater):
3239         (WebCore::HTMLConstructionSite::insertHTMLFormElement):
3240         (WebCore::HTMLConstructionSite::insertTextNode):
3241         (WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode):
3242         (WebCore::HTMLConstructionSite::findFosterSite):
3243         * html/parser/HTMLElementStack.cpp:
3244         (WebCore::HTMLNames::isScopeMarker):
3245         (WebCore::HTMLNames::isTableScopeMarker):
3246         (WebCore::HTMLNames::isSelectScopeMarker):
3247         * html/parser/HTMLTreeBuilder.cpp:
3248         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3249         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3250         (WebCore::HTMLTreeBuilder::processStartTag):
3251         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
3252         (WebCore::HTMLTreeBuilder::processEndTag):
3253         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
3254         * html/shadow/InsertionPoint.h:
3255         (WebCore::isActiveInsertionPoint):
3256         (WebCore::parentNodeForDistribution):
3257         (WebCore::parentElementForDistribution):
3258         * html/shadow/MediaControlElementTypes.cpp:
3259         (WebCore::parentMediaElement):
3260         (WebCore::mediaControlElementType):
3261         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
3262         * html/shadow/MediaControlElements.cpp:
3263         (WebCore::MediaControlPanelElement::defaultEventHandler):
3264         (WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler):
3265         (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler):
3266         (WebCore::MediaControlTimelineElement::defaultEventHandler):
3267         * html/shadow/MediaControls.cpp:
3268         (WebCore::MediaControls::containsRelatedTarget):
3269         * html/shadow/MediaControlsApple.cpp:
3270         (WebCore::MediaControlsAppleEventListener::handleEvent):
3271         * html/shadow/SliderThumbElement.cpp:
3272         (WebCore::SliderThumbElement::defaultEventHandler):
3273         * html/shadow/SpinButtonElement.cpp:
3274         (WebCore::SpinButtonElement::defaultEventHandler):
3275         (WebCore::SpinButtonElement::forwardEvent):
3276         * html/shadow/TextControlInnerElements.cpp:
3277         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
3278         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
3279         * html/track/VTTCue.cpp:
3280         (WebCore::VTTCue::copyWebVTTNodeToDOMTree):
3281         (WebCore::VTTCue::markFutureAndPastNodes):
3282         * inspector/InspectorCSSAgent.cpp:
3283         (WebCore::InspectorCSSAgent::elementForId):
3284         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
3285         * inspector/InspectorDOMAgent.cpp:
3286         (WebCore::InspectorDOMAgent::unbind):
3287         (WebCore::InspectorDOMAgent::assertDocument):
3288         (WebCore::InspectorDOMAgent::assertElement):
3289         (WebCore::InspectorDOMAgent::querySelector):
3290         (WebCore::InspectorDOMAgent::querySelectorAll):
3291         (WebCore::InspectorDOMAgent::setNodeName):
3292         (WebCore::InspectorDOMAgent::buildObjectForNode):
3293         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
3294         (WebCore::InspectorDOMAgent::innerParentNode):
3295         * inspector/InspectorFrontendHost.cpp:
3296         (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
3297         * inspector/InspectorInstrumentation.cpp:
3298         (WebCore::frameForScriptExecutionContext):
3299         (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
3300         * inspector