DocumentLoader::cachedResourceLoader() should return a reference.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-24  Andreas Kling  <akling@apple.com>
2
3         DocumentLoader::cachedResourceLoader() should return a reference.
4         <https://webkit.org/b/123303>
5
6         ..and while we're at it, make DocumentLoader::m_cachedResourceLoader
7         a Ref, and have CachedResourceLoader::create return a PassRef.
8
9         Reviewed by Sam Weinig.
10
11 2013-10-24  Anders Carlsson  <andersca@apple.com>
12
13         Stop bringing in the std namespace
14         https://bugs.webkit.org/show_bug.cgi?id=123273
15
16         Reviewed by Andreas Kling.
17
18         * Modules/webaudio/AudioBufferSourceNode.cpp:
19         (WebCore::AudioBufferSourceNode::renderFromBuffer):
20         (WebCore::AudioBufferSourceNode::startGrain):
21         (WebCore::AudioBufferSourceNode::totalPitchRate):
22         * Modules/webaudio/AudioNodeInput.cpp:
23         (WebCore::AudioNodeInput::numberOfChannels):
24         * Modules/webaudio/AudioParamTimeline.cpp:
25         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
26         * Modules/webaudio/AudioScheduledSourceNode.cpp:
27         (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
28         (WebCore::AudioScheduledSourceNode::stop):
29         * Modules/webaudio/AudioSummingJunction.cpp:
30         * Modules/webaudio/DelayDSPKernel.cpp:
31         (WebCore::DelayDSPKernel::process):
32         * Modules/webaudio/OfflineAudioDestinationNode.cpp:
33         (WebCore::OfflineAudioDestinationNode::offlineRender):
34         * Modules/webaudio/OscillatorNode.cpp:
35         * Modules/webaudio/PannerNode.cpp:
36         (WebCore::PannerNode::dopplerRate):
37         * Modules/webaudio/WaveShaperDSPKernel.cpp:
38         (WebCore::WaveShaperDSPKernel::processCurve):
39         * Modules/webdatabase/DatabaseTracker.cpp:
40         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
41         * Modules/websockets/WebSocket.cpp:
42         (WebCore::saturateAdd):
43         * Modules/websockets/WebSocketChannel.cpp:
44         * Modules/websockets/WebSocketFrame.cpp:
45         (WebCore::WebSocketFrame::parseFrame):
46         * accessibility/AccessibilityARIAGrid.cpp:
47         * accessibility/AccessibilityARIAGridCell.cpp:
48         * accessibility/AccessibilityARIAGridRow.cpp:
49         * accessibility/AccessibilityList.cpp:
50         * accessibility/AccessibilityListBox.cpp:
51         * accessibility/AccessibilityListBoxOption.cpp:
52         * accessibility/AccessibilityNodeObject.cpp:
53         * accessibility/AccessibilityObject.cpp:
54         * accessibility/AccessibilityRenderObject.cpp:
55         * accessibility/AccessibilityTable.cpp:
56         (WebCore::AccessibilityTable::addChildren):
57         * accessibility/AccessibilityTableCell.cpp:
58         * accessibility/AccessibilityTableColumn.cpp:
59         * accessibility/AccessibilityTableHeaderContainer.cpp:
60         * accessibility/AccessibilityTableRow.cpp:
61         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
62         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
63         (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
64         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
65         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
66         * bindings/js/JSGeolocationCustom.cpp:
67         (WebCore::setTimeout):
68         (WebCore::setMaximumAge):
69         * bindings/js/ScriptController.cpp:
70         * bindings/js/SerializedScriptValue.cpp:
71         (WebCore::writeLittleEndian):
72         (WebCore::CloneSerializer::write):
73         (WebCore::CloneDeserializer::deserialize):
74         (WebCore::CloneDeserializer::readString):
75         * css/CSSComputedStyleDeclaration.cpp:
76         (WebCore::ComputedStyleExtractor::propertyValue):
77         * css/CSSFontSelector.cpp:
78         (WebCore::CSSFontSelector::getFontFace):
79         * css/CSSGradientValue.cpp:
80         (WebCore::CSSRadialGradientValue::createGradient):
81         * css/CSSParser.cpp:
82         (WebCore::CSSParser::parseValue):
83         (WebCore::CSSParser::parseColorParameters):
84         (WebCore::CSSParser::parseHSLParameters):
85         * css/CSSReflectValue.cpp:
86         * css/DeprecatedStyleBuilder.cpp:
87         (WebCore::ApplyPropertyFontSize::applyValue):
88         * css/PropertySetCSSStyleDeclaration.cpp:
89         * css/SVGCSSParser.cpp:
90         * css/StylePropertySet.cpp:
91         (WebCore::StylePropertySet::getLayeredShorthandValue):
92         * css/StyleResolver.cpp:
93         (WebCore::StyleResolver::viewportPercentageValue):
94         * dom/CharacterData.cpp:
95         (WebCore::CharacterData::parserAppendData):
96         * dom/ContainerNode.cpp:
97         * dom/Document.cpp:
98         (WebCore::Document::minimumLayoutDelay):
99         * dom/Node.cpp:
100         (WebCore::Node::compareDocumentPosition):
101         * dom/Range.cpp:
102         (WebCore::Range::toString):
103         (WebCore::Range::textRects):
104         (WebCore::Range::textQuads):
105         * dom/ScriptedAnimationController.cpp:
106         (WebCore::ScriptedAnimationController::scheduleAnimation):
107         * dom/StyledElement.cpp:
108         (WebCore::StyledElement::makePresentationAttributeCacheKey):
109         * dom/Text.cpp:
110         * dom/ViewportArguments.cpp:
111         (WebCore::clampLengthValue):
112         (WebCore::clampScaleValue):
113         (WebCore::ViewportArguments::resolve):
114         (WebCore::computeMinimumScaleFactorForContentContained):
115         (WebCore::restrictMinimumScaleFactorToViewportSize):
116         * editing/AlternativeTextController.cpp:
117         * editing/ApplyStyleCommand.cpp:
118         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
119         * editing/CompositeEditCommand.cpp:
120         (WebCore::CompositeEditCommand::deleteInsignificantText):
121         * editing/Editor.cpp:
122         (WebCore::Editor::setComposition):
123         (WebCore::Editor::compositionRange):
124         * editing/EditorCommand.cpp:
125         (WebCore::verticalScrollDistance):
126         * editing/TextIterator.cpp:
127         (WebCore::TextIterator::handleTextNode):
128         (WebCore::TextIterator::handleTextBox):
129         (WebCore::CharacterIterator::string):
130         (WebCore::SearchBuffer::SearchBuffer):
131         (WebCore::SearchBuffer::append):
132         (WebCore::SearchBuffer::prependContext):
133         (WebCore::SearchBuffer::search):
134         * editing/VisibleUnits.cpp:
135         (WebCore::startOfParagraph):
136         * editing/htmlediting.cpp:
137         * editing/markup.cpp:
138         * fileapi/FileReaderLoader.cpp:
139         (WebCore::FileReaderLoader::didReceiveResponse):
140         (WebCore::FileReaderLoader::didReceiveData):
141         * history/BackForwardList.cpp:
142         (WebCore::BackForwardList::backListWithLimit):
143         (WebCore::BackForwardList::forwardListWithLimit):
144         * history/PageCache.cpp:
145         (WebCore::PageCache::setCapacity):
146         * html/BaseDateAndTimeInputType.cpp:
147         * html/FTPDirectoryDocument.cpp:
148         * html/HTMLAreaElement.cpp:
149         (WebCore::HTMLAreaElement::getRegion):
150         * html/HTMLElement.cpp:
151         (WebCore::HTMLElement::parseAttribute):
152         (WebCore::parseColorStringWithCrazyLegacyRules):
153         * html/HTMLFormControlElement.cpp:
154         * html/HTMLFormElement.cpp:
155         (WebCore::HTMLFormElement::getTextFieldValues):
156         * html/HTMLImageElement.cpp:
157         * html/HTMLInputElement.cpp:
158         * html/HTMLMapElement.cpp:
159         * html/HTMLMediaElement.cpp:
160         (WebCore::HTMLMediaElement::HTMLMediaElement):
161         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
162         (WebCore::HTMLMediaElement::textTrackAddCue):
163         (WebCore::HTMLMediaElement::textTrackRemoveCue):
164         (WebCore::HTMLMediaElement::rewind):
165         (WebCore::HTMLMediaElement::seek):
166         (WebCore::HTMLMediaElement::duration):
167         * html/HTMLSelectElement.cpp:
168         (WebCore::HTMLSelectElement::parseAttribute):
169         (WebCore::HTMLSelectElement::updateListBoxSelection):
170         * html/HTMLSourceElement.cpp:
171         * html/HTMLTableCellElement.cpp:
172         (WebCore::HTMLTableCellElement::colSpan):
173         (WebCore::HTMLTableCellElement::rowSpan):
174         * html/HTMLTableElement.cpp:
175         (WebCore::HTMLTableElement::parseAttribute):
176         * html/HTMLTextFormControlElement.cpp:
177         (WebCore::HTMLTextFormControlElement::setSelectionStart):
178         (WebCore::HTMLTextFormControlElement::setSelectionEnd):
179         (WebCore::HTMLTextFormControlElement::select):
180         (WebCore::HTMLTextFormControlElement::setSelectionRange):
181         * html/HTMLTrackElement.cpp:
182         * html/ImageDocument.cpp:
183         (WebCore::ImageDocument::scale):
184         * html/InputType.cpp:
185         (WebCore::InputType::valueAsDouble):
186         * html/MediaController.cpp:
187         (MediaController::duration):
188         (MediaController::currentTime):
189         (MediaController::setCurrentTime):
190         (MediaController::updateReadyState):
191         * html/NumberInputType.cpp:
192         (WebCore::NumberInputType::setValueAsDouble):
193         (WebCore::NumberInputType::setValueAsDecimal):
194         (WebCore::NumberInputType::createStepRange):
195         * html/RangeInputType.cpp:
196         (WebCore::RangeInputType::handleKeydownEvent):
197         * html/SearchInputType.cpp:
198         (WebCore::SearchInputType::startSearchEventTimer):
199         * html/StepRange.cpp:
200         (WebCore::StepRange::clampValue):
201         (WebCore::StepRange::parseStep):
202         * html/TimeRanges.cpp:
203         * html/ValidationMessage.cpp:
204         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
205         (WebCore::adjustBubblePosition):
206         * html/canvas/CanvasRenderingContext2D.cpp:
207         (WebCore::normalizeRect):
208         * html/canvas/WebGLRenderingContext.cpp:
209         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
210         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
211         * html/shadow/MediaControlElements.cpp:
212         (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
213         * html/shadow/MediaControlsApple.cpp:
214         * html/shadow/SliderThumbElement.cpp:
215         (WebCore::SliderThumbElement::setPositionFromPoint):
216         * inspector/ContentSearchUtils.cpp:
217         * inspector/DOMEditor.cpp:
218         * inspector/DOMPatchSupport.cpp:
219         (WebCore::DOMPatchSupport::diff):
220         * inspector/InjectedScriptHost.cpp:
221         * loader/ProgressTracker.cpp:
222         (WebCore::ProgressTracker::incrementProgress):
223         * loader/cache/CachedImage.cpp:
224         * page/DOMWindow.cpp:
225         (WebCore::DOMWindow::adjustWindowRect):
226         * page/EventHandler.cpp:
227         (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
228         * page/FrameTree.cpp:
229         * page/FrameView.cpp:
230         (WebCore::FrameView::adjustedDeferredRepaintDelay):
231         (WebCore::FrameView::autoSizeIfEnabled):
232         * page/PrintContext.cpp:
233         (WebCore::PrintContext::computeAutomaticScaleFactor):
234         * page/SpatialNavigation.cpp:
235         (WebCore::entryAndExitPointsForDirection):
236         * page/animation/CSSPropertyAnimation.cpp:
237         (WebCore::blendFilterOperations):
238         (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
239         * platform/graphics/FloatRect.cpp:
240         (WebCore::FloatRect::FloatRect):
241         (WebCore::FloatRect::intersect):
242         (WebCore::FloatRect::uniteEvenIfEmpty):
243         (WebCore::FloatRect::extend):
244         (WebCore::FloatRect::fitToPoints):
245         * platform/graphics/GlyphPageTreeNode.cpp:
246         (WebCore::GlyphPageTreeNode::initializePage):
247         (WebCore::GlyphPageTreeNode::getChild):
248         * platform/graphics/IntRect.cpp:
249         (WebCore::IntRect::intersect):
250         (WebCore::IntRect::unite):
251         (WebCore::IntRect::uniteIfNonZero):
252         * platform/graphics/LayoutRect.cpp:
253         (WebCore::LayoutRect::intersect):
254         (WebCore::LayoutRect::unite):
255         (WebCore::LayoutRect::uniteIfNonZero):
256         * platform/graphics/filters/FEMorphology.cpp:
257         (WebCore::FEMorphology::platformApplyGeneric):
258         (WebCore::FEMorphology::platformApplySoftware):
259         * platform/mac/MemoryPressureHandlerMac.mm:
260         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
261         * platform/text/TextCodecICU.cpp:
262         * rendering/LineWidth.cpp:
263         (WebCore::LineWidth::fitBelowFloats):
264         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
265         * rendering/RenderBlock.h:
266         (WebCore::RenderBlock::availableLogicalWidthForLine):
267         (WebCore::RenderBlock::availableLogicalWidthForContent):
268         * rendering/RenderFieldset.cpp:
269         (WebCore::RenderFieldset::computePreferredLogicalWidths):
270         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
271         (WebCore::RenderFieldset::paintBoxDecorations):
272         * rendering/RenderFlowThread.cpp:
273         (WebCore::RenderFlowThread::updateLogicalWidth):
274         (WebCore::RenderFlowThread::addForcedRegionBreak):
275         * rendering/RenderFrameBase.cpp:
276         (WebCore::RenderFrameBase::layoutWithFlattening):
277         * rendering/RenderFrameSet.cpp:
278         (WebCore::RenderFrameSet::layOutAxis):
279         * rendering/RenderSlider.cpp:
280         (WebCore::RenderSlider::computePreferredLogicalWidths):
281         * rendering/RenderTableCell.h:
282         * rendering/RenderTreeAsText.cpp:
283         (WebCore::writeLayers):
284         * rendering/RootInlineBox.h:
285         (WebCore::RootInlineBox::selectionHeight):
286         (WebCore::RootInlineBox::selectionHeightAdjustedForPrecedingBlock):
287         * rendering/mathml/RenderMathMLRow.cpp:
288         (WebCore::RenderMathMLRow::layout):
289         * rendering/mathml/RenderMathMLScripts.cpp:
290         (WebCore::RenderMathMLScripts::layout):
291         * rendering/style/RenderStyle.h:
292         * rendering/style/StyleGeneratedImage.cpp:
293         (WebCore::StyleGeneratedImage::imageSize):
294         * style/StyleFontSizeFunctions.cpp:
295         (WebCore::Style::fontSizeForKeyword):
296         * svg/SVGSVGElement.cpp:
297         (WebCore::SVGSVGElement::setCurrentTime):
298
299 2013-10-24  Andreas Kling  <akling@apple.com>
300
301         Uncomplicate some of SVGTextRunRenderingContext.
302         <https://webkit.org/b/123294>
303
304         This class was weird about a few things, so I've taken these steps
305         to clear things up:
306
307         - FINAL and OVERRIDE all the things.
308         - Constructor now takes a RenderObject&.
309         - renderer() now returns a RenderObject&.
310         - drawSVGGlyphs() no longer takes a TextRun.
311         - glyphDataForCharacter() no longer takes a TextRun.
312
313         To expand on the last two, there was also some awkward hoop-jumping
314         where we'd go through the TextRun passed by argument to find its
315         rendering context, which was really just |this| all along.
316
317         Reviewed by Antti Koivisto.
318
319 2013-10-24  Roger Fong  <roger_fong@apple.com>
320
321         Add texture level dependent size checks to textureImage2D calls.
322         https://bugs.webkit.org/show_bug.cgi?id=123290
323         <rdar://problem/15201382>
324
325         Reviewed by Dean Jackson
326
327         Test covered by WebGL Conformance suite 1.0.2 test, textures/texture-size-limit.html.
328
329         There are different size limits when calling textureImage2D on different texture levels.
330         We should be throwing an error if our texture size exceeds these limits.
331
332         * html/canvas/WebGLRenderingContext.cpp:
333         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
334
335 2013-10-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
336
337         [MediaStream API] allow a stream source to be shared
338         https://bugs.webkit.org/show_bug.cgi?id=121954
339
340         Reviewed by Eric Carlson.
341
342         Now, the MediaStreamSource don't know about the MediaStream that owns it,
343         since there can be more than one MediaStream that has it as source for some track.
344         MediaStreamTrack classes now have observers registered, in case there are more than
345         one MediaStream owning that track
346
347         No new tests, no change in functionality.
348
349         * Modules/mediastream/MediaStream.cpp:
350         (WebCore::MediaStream::MediaStream): Adding the MediaStream as an observer for each track it owns.
351
352         (WebCore::MediaStream::addTrack): Now adding the MediaStream as an observer the new added track
353         and adding the source to the MediaStreamDescriptor.
354
355         (WebCore::MediaStream::removeTrack): Instead of removing the source right away, we first check if
356         there isn't any other track using that source, if not we remove the source.
357
358         (WebCore::MediaStream::haveTrackWithSource):
359         (WebCore::MediaStream::addRemoteSource): MediaStreamSource has no information about the MediaStream
360         that uses it, so now we don't set the stream in the source anymore.
361
362         (WebCore::MediaStream::removeRemoteSource): There can be more than on track using the source. So we
363         get each track that is using the source and then remove it and fire the ended event.
364
365         * Modules/mediastream/MediaStream.h:
366         * Modules/mediastream/MediaStreamTrack.cpp:
367         (WebCore::MediaStreamTrack::addObserver):
368         (WebCore::MediaStreamTrack::removeObserver):
369         (WebCore::MediaStreamTrack::trackDidEnd): Does not get the client from the MediaStreamDescriptor, it now
370         notify each of its observers that the track ended.
371
372         * Modules/mediastream/MediaStreamTrack.h: Adding Observer class.
373
374         * platform/mediastream/MediaStreamDescriptor.cpp: Destructor now does nothing. Previously it was setting
375         each MediaStreamSource's descriptor to null.
376
377         (WebCore::MediaStreamDescriptor::removeSource): Not setting the stream in source anymore.
378
379         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Ditto.
380
381         (WebCore::MediaStreamDescriptor::setEnded): Not setting the state of the source to Ended
382
383         * platform/mediastream/MediaStreamDescriptor.h:
384         (WebCore::MediaStreamDescriptor::~MediaStreamDescriptor):
385         * platform/mediastream/MediaStreamSource.cpp: Removing references to MediaStream object
386         (WebCore::MediaStreamSource::MediaStreamSource):
387         (WebCore::MediaStreamSource::reset):
388         * platform/mediastream/MediaStreamSource.h:
389
390 2013-10-24  Daniel Bates  <dabates@apple.com>
391
392         Crash in WebCore::NavigationScheduler::startTimer()
393         https://bugs.webkit.org/show_bug.cgi?id=123288
394         <rdar://problem/14055644>
395
396         Reviewed by Alexey Proskuryakov.
397
398         Currently NavigationScheduler::startTimer() synchronously notifies the client
399         before the Web Inspector of a scheduled redirect. If a client cancels this
400         redirect then NavigationScheduler::m_redirect will become null and we'll
401         subsequently crash when informing the Web Inspector of this formerly scheduled
402         redirect. Instead, NavigationScheduler::startTimer() should notify the Web
403         Inspector before it notifies the client of a scheduled redirect.
404
405         As a side benefit of this change, the Web Inspector is notified of a scheduled
406         redirect before being notified of it being canceled when a client chooses to cancel
407         a scheduled redirect.
408
409         * loader/NavigationScheduler.cpp:
410         (WebCore::NavigationScheduler::startTimer):
411
412 2013-10-24  Antti Koivisto  <antti@apple.com>
413
414         Try to fix build without CSS_SHAPES.
415
416         * rendering/SimpleLineLayout.cpp:
417         (WebCore::SimpleLineLayout::canUseFor):
418
419 2013-10-24  Antti Koivisto  <antti@apple.com>
420
421         Simple line layout
422         https://bugs.webkit.org/show_bug.cgi?id=122458
423
424         Reviewed by Darin Adler.
425
426         Line box based inline layout is powerful but also rather slow and memory intensive. Simple line layout
427         is a compact alternative data structure and fast code path to cover common cases without requiring line
428         boxes.
429         
430         This patch handles a case single left-aligned text renderer inside flow with no floats. Even this very basic
431         case is sufficiently common to handle up to 25% of all text lines on some popular new sites. The decision
432         which path to use is made per block flow (paragraph).
433         
434         Simple line layout aims to produce pixel-exact rendering result when compared to the line box layout.
435         
436         The goal is to handle everything that requires line level access in cases that allow use of simple lines.
437         This is not quite the case yet. For example selections and outline painting are not supported. In these
438         cases we seamlessly switch to the line boxes.
439
440         The simple line data structure currently uses 12 bytes per line. Lineboxes take ~160 bytes minimum per line.
441         Laying out the lines is also several times faster as is iterating over them.
442
443         * CMakeLists.txt:
444         * GNUmakefile.list.am:
445         * WebCore.vcxproj/WebCore.vcxproj:
446         * WebCore.xcodeproj/project.pbxproj:
447         * dom/Position.cpp:
448         (WebCore::Position::upstream):
449         (WebCore::Position::downstream):
450         (WebCore::Position::getInlineBoxAndOffset):
451         
452             Creating positions within a simple line flow causes switch to line boxes.
453
454         * editing/TextIterator.cpp:
455         (WebCore::TextIterator::handleTextNode):
456         
457             TextIterator traverses line boxes if available. In case simple line case we need to replicate the
458             same results (for compatibility but especially to avoid changing test results). This is done here
459             by just traversing the string without actually using the layout.
460
461         * rendering/RenderBlock.cpp:
462         (WebCore::RenderBlock::RenderBlock):
463         (WebCore::RenderBlock::layoutShapeInsideInfo):
464         * rendering/RenderBlock.h:
465         * rendering/RenderBlockFlow.cpp:
466         (WebCore::RenderBlockFlow::layoutInlineChildren):
467         
468             Select the layout path to use.
469
470         (WebCore::RenderBlockFlow::deleteLines):
471         (WebCore::RenderBlockFlow::hitTestInlineChildren):
472         (WebCore::RenderBlockFlow::adjustForBorderFit):
473         (WebCore::RenderBlockFlow::firstLineBaseline):
474         (WebCore::RenderBlockFlow::inlineBlockBaseline):
475         (WebCore::RenderBlockFlow::inlineSelectionGaps):
476         (WebCore::RenderBlockFlow::clearTruncation):
477         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
478         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
479         (WebCore::RenderBlockFlow::paintInlineChildren):
480         (WebCore::RenderBlockFlow::hasLines):
481         (WebCore::RenderBlockFlow::layoutSimpleLines):
482         
483             Do simple layout.
484
485         (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
486         (WebCore::RenderBlockFlow::ensureLineBoxes):
487         
488             This function switches from simple lines to line boxes. The switching can be done outside normal layout.
489             This is used to cover some cases that are not yet supported by simple lines (like selections).
490
491         * rendering/RenderBlockFlow.h:
492         (WebCore::RenderBlockFlow::simpleLines):
493         * rendering/RenderBlockLineLayout.cpp:
494         (WebCore::RenderBlockFlow::layoutLineBoxes):
495         
496             Rename the line box layout function.
497
498         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
499         * rendering/RenderText.cpp:
500         (WebCore::RenderText::deleteLineBoxesBeforeSimpleLineLayout):
501         (WebCore::RenderText::absoluteRects):
502         (WebCore::RenderText::absoluteRectsForRange):
503         (WebCore::RenderText::absoluteQuadsClippedToEllipsis):
504         (WebCore::RenderText::absoluteQuads):
505         (WebCore::RenderText::absoluteQuadsForRange):
506         (WebCore::RenderText::positionForPoint):
507         (WebCore::RenderText::knownToHaveNoOverflowAndNoFallbackFonts):
508         (WebCore::RenderText::setSelectionState):
509         (WebCore::RenderText::setTextWithOffset):
510         (WebCore::RenderText::ensureLineBoxes):
511         (WebCore::RenderText::simpleLines):
512         (WebCore::RenderText::linesBoundingBox):
513         (WebCore::RenderText::linesVisualOverflowBoundingBox):
514         (WebCore::RenderText::selectionRectForRepaint):
515         (WebCore::RenderText::caretMinOffset):
516         (WebCore::RenderText::caretMaxOffset):
517         (WebCore::RenderText::countRenderedCharacterOffsetsUntil):
518         (WebCore::RenderText::containsRenderedCharacterOffset):
519         (WebCore::RenderText::containsCaretOffset):
520         (WebCore::RenderText::hasRenderedText):
521         * rendering/RenderText.h:
522         * rendering/RenderTreeAsText.cpp:
523         (WebCore::RenderTreeAsText::writeRenderObject):
524         (WebCore::writeSimpleLine):
525         (WebCore::write):
526         * rendering/SimpleLineLayout.cpp: Added.
527         (WebCore::SimpleLineLayout::canUseFor):
528         
529             This check for the cases supported by the simple line layout path.
530
531         (WebCore::SimpleLineLayout::isWhitespace):
532         (WebCore::SimpleLineLayout::skipWhitespaces):
533         (WebCore::SimpleLineLayout::textWidth):
534         (WebCore::SimpleLineLayout::createLines):
535         
536             The main layout functions that breaks text to lines. It only handles the cases allowed by 
537             SimpleLineLayout::canUseFor. What it handles it aims to break exactly as line box layout does.
538
539         * rendering/SimpleLineLayout.h: Added.
540         * rendering/SimpleLineLayoutFunctions.cpp: Added.
541         (WebCore::SimpleLineLayout::paintFlow):
542         (WebCore::SimpleLineLayout::hitTestFlow):
543         (WebCore::SimpleLineLayout::collectFlowOverflow):
544         (WebCore::SimpleLineLayout::computeTextBoundingBox):
545         * rendering/SimpleLineLayoutFunctions.h: Added.
546         (WebCore::SimpleLineLayout::computeFlowHeight):
547         (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
548         (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
549         (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
550         (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
551         (WebCore::SimpleLineLayout::containsTextCaretOffset):
552         (WebCore::SimpleLineLayout::isTextRendered):
553         (WebCore::SimpleLineLayout::lineHeightFromFlow):
554         
555             Support functions called from RenderBlockFlow and RenderText. They are equivalent to
556             similar line box functions.
557
558         (WebCore::SimpleLineLayout::baselineFromFlow):
559         * rendering/SimpleLineLayoutResolver.h: Added.
560         (WebCore::SimpleLineLayout::Resolver::Line::Line):
561         (WebCore::SimpleLineLayout::Resolver::Line::rect):
562         (WebCore::SimpleLineLayout::Resolver::Line::baseline):
563         (WebCore::SimpleLineLayout::Resolver::Line::text):
564         (WebCore::SimpleLineLayout::Resolver::Iterator::Iterator):
565         (WebCore::SimpleLineLayout::Resolver::Iterator::operator++):
566         (WebCore::SimpleLineLayout::Resolver::Iterator::operator--):
567         (WebCore::SimpleLineLayout::Resolver::Iterator::operator==):
568         (WebCore::SimpleLineLayout::Resolver::Iterator::operator!=):
569         (WebCore::SimpleLineLayout::Resolver::Iterator::operator*):
570         
571             Lazy iterator for deriving line metrics. This keeps the line data structure small as
572             we don't need to keep easily derived values around.
573
574         (WebCore::SimpleLineLayout::Resolver::Resolver):
575         (WebCore::SimpleLineLayout::Resolver::size):
576         (WebCore::SimpleLineLayout::Resolver::begin):
577         (WebCore::SimpleLineLayout::Resolver::end):
578         (WebCore::SimpleLineLayout::Resolver::last):
579         (WebCore::SimpleLineLayout::Resolver::operator[]):
580
581 2013-10-24  Myles C. Maxfield  <mmaxfield@apple.com>
582
583         Gaps between underlines in adjacent underlined text runs
584         https://bugs.webkit.org/show_bug.cgi?id=123236
585
586         Reviewed by Simon Fraser and Darin Adler.
587
588         There are two pieces to this change. The first piece is in
589         InlineTextBox::paint(). We were putting floating-point
590         extents into a LayoutSize, which simply uses ints (for now),
591         and then immediately converting this back to a FloatSize.
592         Instead, we should be using floats throughout all of
593         this code.
594
595         In addition, inside GraphicsContext::drawLineForText(), we are
596         rounding the underline to pixel boundaries so that it appears
597         very crisp on the screen. However, we should round once after
598         performing computations, rather than rounding twice and then
599         performing computations on the rounded numbers.
600
601         Test: fast/css3-text/css3-text-decoration/no-gap-between-two-rounded-textboxes.html
602
603         * platform/graphics/cg/GraphicsContextCG.cpp:
604         (WebCore::GraphicsContext::drawLineForText): Change rounding mode
605             to perform computations before rounding
606         * rendering/InlineTextBox.cpp:
607         (WebCore::InlineTextBox::paint): Don't convert to a LayoutSize
608             just to convert to a FloatSize
609
610 2013-10-24  Andreas Kling  <akling@apple.com>
611
612         SVGRenderingContext should wrap a RenderElement.
613         <https://webkit.org/b/123283>
614
615         The SVG rendering context class is never used with text renderers
616         so we can have it wrap a RenderElement for tighter code.
617
618         Also renamed SVGRenderingContext::m_object to m_renderer.
619
620         Reviewed by Antti Koivisto.
621
622 2013-10-24  Santosh Mahto  <santosh.ma@samsung.com>
623
624         [contenteditable] Content after non-editable element disappears when merging lines using backspace
625         https://bugs.webkit.org/show_bug.cgi?id=122748
626
627         Reviewed by Ryosuke Niwa.
628
629         In case of paragraph merging after deletion if second paragraph
630         contains non-editable element, then content after the non-editable
631         element(including non-editable element) will be removed while the
632         content before the element will be merged with the first paragraph.
633         This happens becasue endOfParagraphToMove calculation in merging function
634         stop at editing boundary so endOfParagraphToMove becomes position just
635         before non-editable content.
636         With this patch now endOfParagraphToMove is calculated by skipping
637         over the non-editable element.
638
639         Test: editing/deleting/merge-paragraph-contatining-noneditable.html
640
641         * editing/DeleteSelectionCommand.cpp:
642         (WebCore::DeleteSelectionCommand::mergeParagraphs): use CanSkipOverEditingBoundary
643         condition while calculating endOfParagraphToMove.
644
645 2013-10-24  Antoine Quint  <graouts@apple.com>
646
647         Web Inspector: Inspector doesn't show webkitTransitionEnd events in the timeline
648         https://bugs.webkit.org/show_bug.cgi?id=123263
649
650         Reviewed by Timothy Hatcher.
651
652         A legacy event type is only set on an event in EventTarget::fireEventListeners(Event*)
653         which is called after we used to call InspectorInstrumentation::willDispatchEvent(), the method
654         that would ultimately yield the creation of a TimelineRecord for the event in the Web Inspector
655         frontend, and as a result we would try to dispatch an event with an unprefixed event type to
656         the frontend, which wouldn't even happen because most likely it wouldn't have listeners for this
657         unprefixed type.
658
659         We now move the call to InspectorInstrumentation::willDispatchEvent() in
660         EventTarget::fireEventListeners(Event*, EventTargetData*, EventListenerVector&) such that the
661         correct event type and list of listeners is used to determine what event to dispatch to the frontend.
662
663         * dom/EventDispatcher.cpp:
664         (WebCore::EventDispatcher::dispatchEvent):
665         Remove calls to InspectorInstrumentation::willDispatchEvent() and InspectorInstrumentation::didDispatchEvent().
666
667         * dom/EventTarget.cpp:
668         (WebCore::EventTarget::fireEventListeners):
669         Add call to InspectorInstrumentation::willDispatchEvent() before we go through each listener and
670         call InspectorInstrumentation::willHandleEvent(). Additionally, we refactor some code since we're
671         getting references to the ScriptExecutionContext and Document upfront now.
672
673 2013-10-24  Andreas Kling  <akling@apple.com>
674
675         SVG: RenderElement-ize intersectRepaintRectWithResources().
676         <https://webkit.org/b/123278>
677
678         SVGRenderSupport::intersectRepaintRectWithResources() is only ever
679         called with non-text renderers so make it take RenderElement&.
680
681         Had to tweak RenderSVGResource::resourceBoundingBox() to take the
682         renderer by reference.
683
684         Reviewed by Antti Koivisto.
685
686 2013-10-24  Joseph Pecoraro  <pecoraro@apple.com>
687
688         Web Inspector: Breakpoints in sourceURL named scripts do not work
689         https://bugs.webkit.org/show_bug.cgi?id=123231
690
691         Reviewed by Timothy Hatcher.
692
693         Remember a Script's sourceURL and sourceMappingURL. When setting a
694         breakpoint by URL, check it against the sourceURL or original URL.
695         If a script had a sourceURL that would have been the only URL sent
696         to the frontend, so that receives priority.
697
698         Test: inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html
699
700         * inspector/InspectorDebuggerAgent.cpp:
701         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
702         (WebCore::InspectorDebuggerAgent::didParseSource):
703         * inspector/InspectorDebuggerAgent.h:
704         * inspector/ScriptDebugListener.h:
705
706 2013-10-23  Alexey Proskuryakov  <ap@apple.com>
707
708         Add CryptoKey base class and bindings
709         https://bugs.webkit.org/show_bug.cgi?id=123216
710
711         Reviewed by Sam Weinig.
712
713         * crypto/CryptoKey.idl: Added.
714
715         * CMakeLists.txt:
716         * DerivedSources.make:
717         * GNUmakefile.list.am:
718         Process the IDL.
719
720         * WebCore.xcodeproj/project.pbxproj: Added files.
721
722         * bindings/js/JSCryptoKeyCustom.cpp: Added.
723         (WebCore::JSCryptoKey::algorithm): Use a visitor to build algorithm dictionary
724         for the key.
725
726         * crypto/CryptoAlgorithmDescriptionBuilder.cpp: Added.
727         * crypto/CryptoAlgorithmDescriptionBuilder.h: Added.
728         An interface for a visitor we'll use to expose CrytoKey.algorithm in bindings,
729         and possibly also for storage serialization. Not complete yet, we'll need support
730         for a few more simple types, and less trivially, for nested algorithms.
731
732         * bindings/js/JSCryptoAlgorithmBuilder.cpp: Added.
733         * bindings/js/JSCryptoAlgorithmBuilder.h: Added.
734         An implementation that builds an algorithm description dictionary for JS bindings.
735
736         * crypto/CryptoKey.cpp: Added.
737         (WebCore::CryptoKey::~CryptoKey):
738         (WebCore::CryptoKey::buildAlgorithmDescription):
739         * crypto/CryptoKey.h: Added.
740         Added an almost empty implementation. Some of the functions that are currently
741         marked as pure virtual will likely be implemented in this base class.
742
743 2013-10-24  Commit Queue  <commit-queue@webkit.org>
744
745         Unreviewed, rolling out r157916.
746         http://trac.webkit.org/changeset/157916
747         https://bugs.webkit.org/show_bug.cgi?id=123274
748
749         Broke Layout/flexbox-lots-of-data.html on perfbot (Requested
750         by ap on #webkit).
751
752         * rendering/RenderFlexibleBox.cpp:
753         (WebCore::RenderFlexibleBox::OrderHashTraits::emptyValue):
754         (WebCore::RenderFlexibleBox::OrderHashTraits::constructDeletedValue):
755         (WebCore::RenderFlexibleBox::OrderHashTraits::isDeletedValue):
756         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
757         (WebCore::RenderFlexibleBox::layoutBlock):
758         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
759         * rendering/RenderFlexibleBox.h:
760
761 2013-10-24  Zan Dobersek  <zdobersek@igalia.com>
762
763         Comment in ScopedEventQueue::dispatchEvent is unnecessarily verbose
764         https://bugs.webkit.org/show_bug.cgi?id=123252
765
766         Reviewed by Darin Adler.
767
768         Shorten the comment about the crash avoidance in ScopedEventQueue::dispatchEvent due to
769         the calling convention in C++ is left unspecified. The problem was already fixed in r157219
770         and later adjusted in r157401, but the comment could have been shorter and simpler in both cases.
771
772         * dom/ScopedEventQueue.cpp:
773         (WebCore::ScopedEventQueue::dispatchEvent):
774
775 2013-10-24  Alex Christensen  <achristensen@webkit.org>
776
777         Removed unused ThreadSafeCoordinatedSurface and CertificateInfoCurl files.
778         https://bugs.webkit.org/show_bug.cgi?id=123246
779
780         Reviewed by Noam Rosenthal.
781
782         * WebCore.vcxproj/WebCore.vcxproj:
783         * WebCore.vcxproj/WebCore.vcxproj.filters:
784         Removed references to ThreadSafeCoordinatedSurface and CertificateInfoCurl.
785         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.cpp: Removed.
786         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.h: Removed.
787         * platform/network/curl/CertificateInfoCurl.cpp: Removed.
788
789 2013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
790
791         Removed Qt workaround.
792         https://bugs.webkit.org/show_bug.cgi?id=123258
793
794         Reviewed by Csaba Osztrogonác.
795
796         No change of functionality, no new tests needed.
797
798         !$defines case can be removed, because Qt and Android aren't in WebKit trunk,
799         all ports (Mac,EFL,GTK,Windows) call this script with --defines option now
800
801         * css/make-css-file-arrays.pl:
802
803 2013-10-24  Antti Koivisto  <antti@apple.com>
804
805         Remove a stray space.
806         
807         Not reviewed.
808
809         * accessibility/AccessibilityRenderObject.cpp:
810         (WebCore::AccessibilityRenderObject::addImageMapChildren):
811
812 2013-10-24  Antti Koivisto  <antti@apple.com>
813
814         Element iterator functions should take reference
815         https://bugs.webkit.org/show_bug.cgi?id=123267
816
817         Reviewed by Andreas Kling.
818
819         The argument has to be non-null.
820
821 2013-10-24  Ryuan Choi  <ryuan.choi@samsung.com>
822
823         [EFL] Build break with latest EFL 1.8 libraries.
824         https://bugs.webkit.org/show_bug.cgi?id=123245
825
826         Reviewed by Gyuyoung Kim.
827
828         After fixed build break on EFL 1.8 at r138326, EFL libraries are changed
829         Eo typedef and splitted header files which contain version macro.
830
831         * platform/Widget.h: Changed Eo typedef.
832         * platform/efl/EflScreenUtilities.h: Ditto.
833         * platform/graphics/Image.h: Ditto.
834
835 2013-10-24  Andreas Kling  <akling@apple.com>
836
837         RenderSVGResource: Pass RenderElement to fill/strokePaintingResource.
838         <https://webkit.org/b/123242>
839
840         We never pass text renderers to these functions, so make them take
841         RenderElement instead.
842
843         Reviewed by Anders Carlsson.
844
845 2013-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
846
847         [GObject bindings] Make EventTarget interface introspectable
848         https://bugs.webkit.org/show_bug.cgi?id=77835
849
850         Reviewed by Gustavo Noronha Silva.
851
852         Add webkit_dom_event_target_add_event_listener_with_closure and
853         webkit_dom_event_target_remove_event_listener_with_closure to be
854         used by GObject instrospection bindings. Instead of receving a
855         GCallback, which makes the function not introspectable, they
856         receive a GClosure.
857
858         * bindings/gobject/GObjectEventListener.cpp:
859         (WebCore::GObjectEventListener::GObjectEventListener):
860         (WebCore::GObjectEventListener::~GObjectEventListener):
861         (WebCore::GObjectEventListener::gobjectDestroyed):
862         (WebCore::GObjectEventListener::handleEvent):
863         (WebCore::GObjectEventListener::operator==):
864         * bindings/gobject/GObjectEventListener.h:
865         (WebCore::GObjectEventListener::addEventListener):
866         (WebCore::GObjectEventListener::removeEventListener):
867         * bindings/gobject/WebKitDOMEventTarget.cpp:
868         (webkit_dom_event_target_dispatch_event):
869         (webkit_dom_event_target_add_event_listener):
870         (webkit_dom_event_target_remove_event_listener):
871         (webkit_dom_event_target_add_event_listener_with_closure):
872         (webkit_dom_event_target_remove_event_listener_with_closure):
873         * bindings/gobject/WebKitDOMEventTarget.h:
874         * bindings/scripts/CodeGeneratorGObject.pm:
875         (GenerateEventTargetIface):
876         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
877         (webkit_dom_test_event_target_dispatch_event):
878         (webkit_dom_test_event_target_add_event_listener):
879         (webkit_dom_test_event_target_remove_event_listener):
880         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
881         (webkit_dom_test_node_dispatch_event):
882         (webkit_dom_test_node_add_event_listener):
883         (webkit_dom_test_node_remove_event_listener):
884
885 2013-10-14  Sergio Villar Senin  <svillar@igalia.com>
886
887         Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
888         https://bugs.webkit.org/show_bug.cgi?id=118620
889
890         Reviewed by Antti Koivisto.
891
892         Turns out that order is extremelly uncommon so using a Vector is
893         much less expensive. This also special-cases the much common case
894         of only having order of value 0 by using Vectors with just one
895         preallocated member.
896
897         Also added the performance test that shows a ~1% win when using a
898         vector instead of the HashSet.
899
900         * rendering/RenderFlexibleBox.cpp:
901         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
902         (WebCore::RenderFlexibleBox::layoutBlock):
903         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
904         * rendering/RenderFlexibleBox.h:
905
906 2013-10-23  ChangSeok Oh  <changseok.oh@collabora.com>
907
908         Unreviewed build fix since r157823.
909         FilterOperation::getOperationType() is renamed FilterOperation::type().
910
911         * platform/graphics/texmap/TextureMapperGL.cpp:
912         (WebCore::prepareFilterProgram):
913         (WebCore::TextureMapperGL::drawTexture):
914         (WebCore::TextureMapperGL::drawUsingCustomFilter):
915         (WebCore::TextureMapperGL::drawFiltered):
916         (WebCore::BitmapTextureGL::applyFilters):
917         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
918         (WebCore::CoordinatedGraphicsScene::injectCachedCustomFilterPrograms):
919
920 2013-10-23  Ryuan Choi  <ryuan.choi@samsung.com>
921
922         Unreviewed build fix on CMake based ports when CMAKE_BUILD_TYPE is not given.
923
924         When CMAKE_BUILD_TYPE is empty, FIND command will be failed.
925
926         * CMakeLists.txt:
927
928 2013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
929
930         Integrate css3-images image-orientation with existing EXIF support
931         https://bugs.webkit.org/show_bug.cgi?id=91566
932
933         Reviewed by Beth Dakin.
934
935         Original patch by David Barr(davidbarr@chromium.org).
936
937         This patch passes an information of image orientation into existing EXIF support functions
938         (draw() functions of image classes mainly). We need to let the functions to know the information
939         in order to meet the image-orientation requirement.
940
941         Spec: http://dev.w3.org/csswg/css-images-3/#the-image-orientation
942         The css3-images module specification is at last call.
943
944         Test: fast/css/image-orientation/image-orientation.html
945         Image orientation test is to check if incorrect rotation value can be fixed with correct orientation.
946
947         * loader/cache/CachedImage.cpp:
948         (WebCore::CachedImage::imageSizeForRenderer):
949         * page/DragController.cpp:
950         (WebCore::DragController::doImageDrag):
951         * page/Frame.cpp:
952         (WebCore::Frame::nodeImage):
953         * platform/graphics/BitmapImage.cpp:
954         (WebCore::BitmapImage::updateSize):
955         (WebCore::BitmapImage::sizeRespectingOrientation):
956         (WebCore::BitmapImage::drawPattern):
957         * platform/graphics/BitmapImage.h:
958         * platform/graphics/CrossfadeGeneratedImage.cpp:
959         (WebCore::CrossfadeGeneratedImage::draw):
960         * platform/graphics/CrossfadeGeneratedImage.h:
961         * platform/graphics/GeneratedImage.h:
962         * platform/graphics/GradientImage.cpp:
963         (WebCore::GradientImage::draw):
964         * platform/graphics/GradientImage.h:
965         * platform/graphics/Image.cpp:
966         (WebCore::Image::draw):
967         (WebCore::Image::drawTiled):
968         * platform/graphics/Image.h:
969         * platform/graphics/blackberry/ImageBlackBerry.cpp:
970         * platform/graphics/cairo/BitmapImageCairo.cpp:
971         (WebCore::BitmapImage::draw):
972         * platform/graphics/cg/BitmapImageCG.cpp:
973         * platform/graphics/cg/PDFDocumentImage.cpp:
974         (WebCore::PDFDocumentImage::draw):
975         * platform/graphics/cg/PDFDocumentImage.h:
976         * platform/graphics/win/ImageCGWin.cpp:
977         (WebCore::BitmapImage::getHBITMAPOfSize):
978         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
979         * platform/graphics/wince/ImageBufferWinCE.cpp:
980         (WebCore::BufferedImage::draw):
981         * platform/graphics/wince/ImageWinCE.cpp:
982         (WebCore::BitmapImage::draw):
983         * platform/mac/DragImageMac.mm:
984         (WebCore::createDragImageFromImage):
985         * rendering/RenderEmbeddedObject.cpp:
986         (WebCore::RenderEmbeddedObject::paintSnapshotImage):
987         * rendering/RenderImage.cpp:
988         (WebCore::RenderImage::styleDidChange):
989         * rendering/RenderSnapshottedPlugIn.cpp:
990         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
991         * rendering/style/RenderStyle.cpp:
992         (WebCore::RenderStyle::changeRequiresLayout):
993         * svg/graphics/SVGImage.cpp:
994         (WebCore::SVGImage::drawForContainer):
995         (WebCore::SVGImage::nativeImageForCurrentFrame):
996         (WebCore::SVGImage::draw):
997         * svg/graphics/SVGImage.h:
998         * svg/graphics/SVGImageForContainer.cpp:
999         (WebCore::SVGImageForContainer::draw):
1000         * svg/graphics/SVGImageForContainer.h:
1001
1002 2013-10-23  Andreas Kling  <akling@apple.com>
1003
1004         Tighten typing in SVGInlineTextBox a bit.
1005         <https://webkit.org/b/123238>
1006
1007         Use RenderBoxModelObject& instead of generic RenderObject* in some
1008         places where it happens as a natural consequence of keeping the
1009         original return type from InlineBox::parent()->renderer().
1010
1011         Reviewed by Anders Carlsson.
1012
1013 2013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1014
1015         Introduce RENDER_OBJECT_TYPE_CASTS to replace manual toFoo() in child render object
1016         https://bugs.webkit.org/show_bug.cgi?id=123150
1017
1018         Reviewed by Andreas Kling.
1019
1020         As a step to let toFoo use TYPE_CASTS_BASE, toRenderFoo() can use it for child render object.
1021         So, this patch introduces RENDER_OBJECT_TYPE_CASTS based on the TYPE_CASTS_BASE. This will
1022         generate plenty more helper functions for render object type cast.
1023
1024         Some unnecessary type casts are fixed by this change.
1025
1026         No new tests, no behavior changes.
1027
1028         * rendering/RenderBlock.h:
1029         * rendering/RenderBlockFlow.h:
1030         * rendering/RenderBox.h:
1031         * rendering/RenderBoxModelObject.h:
1032         * rendering/RenderButton.h:
1033         * rendering/RenderCounter.h:
1034         * rendering/RenderElement.h:
1035         (WebCore::RenderElement::generatingElement):
1036         * rendering/RenderEmbeddedObject.h:
1037         * rendering/RenderFieldset.h:
1038         * rendering/RenderFileUploadControl.h:
1039         * rendering/RenderFlexibleBox.h:
1040         * rendering/RenderFlowThread.h:
1041         * rendering/RenderFrame.h:
1042         * rendering/RenderFrameSet.h:
1043         * rendering/RenderFullScreen.h:
1044         * rendering/RenderHTMLCanvas.h:
1045         * rendering/RenderIFrame.h:
1046         * rendering/RenderImage.h:
1047         * rendering/RenderInline.h:
1048         * rendering/RenderLayerModelObject.h:
1049         * rendering/RenderLineBreak.h:
1050         * rendering/RenderListBox.h:
1051         * rendering/RenderListItem.h:
1052         * rendering/RenderMedia.h:
1053         * rendering/RenderMenuList.h:
1054         * rendering/RenderMeter.h:
1055         * rendering/RenderMultiColumnBlock.h:
1056         * rendering/RenderMultiColumnSet.h:
1057         * rendering/RenderNamedFlowFragment.h:
1058         * rendering/RenderNamedFlowThread.h:
1059         * rendering/RenderObject.h:
1060         * rendering/RenderProgress.h:
1061         * rendering/RenderQuote.h:
1062         * rendering/RenderRegion.h:
1063         * rendering/RenderReplaced.h:
1064         * rendering/RenderRubyRun.h:
1065         * rendering/RenderScrollbarPart.h:
1066         * rendering/RenderSearchField.h:
1067         * rendering/RenderSlider.h:
1068         * rendering/RenderSnapshottedPlugIn.h:
1069         * rendering/RenderTable.h:
1070         * rendering/RenderTableCaption.h:
1071         * rendering/RenderTableCell.h:
1072         * rendering/RenderTableCol.h:
1073         * rendering/RenderTableRow.h:
1074         * rendering/RenderTableSection.h:
1075         * rendering/RenderText.h:
1076         * rendering/RenderTextControl.h:
1077         * rendering/RenderTextControlMultiLine.h:
1078         * rendering/RenderTextControlSingleLine.h:
1079         * rendering/RenderWidget.h:
1080         * rendering/mathml/RenderMathMLBlock.h:
1081         * rendering/svg/RenderSVGContainer.h:
1082         * rendering/svg/RenderSVGGradientStop.h:
1083         * rendering/svg/RenderSVGImage.h:
1084         * rendering/svg/RenderSVGInlineText.h:
1085         * rendering/svg/RenderSVGPath.h:
1086         * rendering/svg/RenderSVGResourceFilter.h:
1087         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
1088         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
1089         * rendering/svg/RenderSVGRoot.h:
1090         * rendering/svg/RenderSVGShape.h:
1091         * rendering/svg/RenderSVGText.h:
1092         * rendering/svg/RenderSVGTextPath.h:
1093         * rendering/svg/RenderSVGViewportContainer.h:
1094         * rendering/svg/SVGInlineFlowBox.cpp:
1095         (WebCore::SVGInlineFlowBox::paint):
1096
1097 2013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
1098
1099         Include misspelling dot gap width when centering misspelling dots
1100         https://bugs.webkit.org/show_bug.cgi?id=122365
1101
1102         Reviewed by Simon Fraser.
1103
1104         When calculating where to place the misspelling dots, we find the
1105         maximum number of full dots that can fit under the misspelled word,
1106         and then center a run of that many dots. However, when we're
1107         centering the run, we are only considering the size of the extra
1108         fractional dot that we cut off. However, the dot image has a "gap"
1109         of transparent pixels (which visually provide tracking for the dots)
1110         which visually appears to be empty space. We should take this gap
1111         space into consideration when centering the run of dots. We also
1112         should make sure that our dots start on integral pixel boundaries
1113         because otherwise we can't set the phase of the dot run properly.
1114
1115         Test: editing/spelling/centering-misspelling-dots.html
1116
1117         * platform/graphics/mac/GraphicsContextMac.mm:
1118         (WebCore::GraphicsContext::drawLineForDocumentMarker):
1119
1120 2013-10-23  Andreas Kling  <akling@apple.com>
1121
1122         SVGFilterBuilder should not be ref-counted.
1123         <https://webkit.org/b/123222>
1124
1125         These objects are singly-owned and do not need ref counting.
1126
1127         Reviewed by Anders Carlsson.
1128
1129 2013-10-23  Brady Eidson  <beidson@apple.com>
1130
1131         Remove unused IDBBackingStoreLevelDB default constructor.
1132
1133         Rubberstamped by Anders Carlsson.
1134
1135         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1136         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
1137
1138 2013-10-23  Alex Christensen  <achristensen@webkit.org>
1139
1140         Added Texture Mapper and Coordinated Graphics to Windows build for WinCairo.
1141         https://bugs.webkit.org/show_bug.cgi?id=123215
1142
1143         Reviewed by Brent Fulgham.
1144
1145         * WebCore.vcxproj/WebCore.vcxproj:
1146         * WebCore.vcxproj/WebCore.vcxproj.filters:
1147         Added source files for Texture Mapper to Windows build.
1148         * WebCore.vcxproj/WebCoreCairo.props:
1149         Added Texture Mapper include directories for WinCairo.
1150
1151 2013-10-23  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1152
1153         Adding mock class to test RTCDataChannelHandler
1154         https://bugs.webkit.org/show_bug.cgi?id=123205
1155
1156         Reviewed by Eric Carlson.
1157
1158         Now RTCPeerConnectionHandler-datachannel LayouTest can run properly.
1159         Also updated the expected file, removing the reliable property check (which was removed in the spec)
1160
1161         Existing tests updated.
1162
1163         * CMakeLists.txt:
1164         * platform/mediastream/RTCDataChannelHandlerClient.h:
1165         * platform/mock/RTCDataChannelHandlerMock.cpp: Added.
1166         * platform/mock/RTCDataChannelHandlerMock.h: Added.
1167         * platform/mock/RTCNotifiersMock.cpp:
1168         (WebCore::RemoteDataChannelNotifier::RemoteDataChannelNotifier):
1169         (WebCore::RemoteDataChannelNotifier::fire):
1170         (WebCore::DataChannelStateNotifier::DataChannelStateNotifier):
1171         (WebCore::DataChannelStateNotifier::fire):
1172         * platform/mock/RTCNotifiersMock.h:
1173         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1174         (WebCore::RTCPeerConnectionHandlerMock::createDataChannel):
1175
1176 2013-10-23  Andreas Kling  <akling@apple.com>
1177
1178         Clock should not be ref-counted.
1179         <https://webkit.org/b/123217>
1180
1181         The Clock object is only ever owned by the MediaController,
1182         so remove the ref counting and store it in a std::unique_ptr.
1183
1184         Also slapped the Clock subclasses with FINAL and OVERRIDE.
1185
1186         Reviewed by Anders Carlsson.
1187
1188 2013-10-23  Mark Lam  <mark.lam@apple.com>
1189
1190         Fix assertion in DatabaseManager::detailsForNameAndOrigin() to be iOS friendly.
1191         https://bugs.webkit.org/show_bug.cgi?id=123218.
1192
1193         Reviewed by Joseph Pecoraro.
1194
1195         No new tests.
1196
1197         * Modules/webdatabase/DatabaseManager.cpp:
1198         (WebCore::DatabaseManager::detailsForNameAndOrigin):
1199
1200 2013-10-23  Alex Christensen  <achristensen@webkit.org>
1201
1202         Separated USE(CA) from USE(ACCELERATED_COMPOSITING) to prepare WinCairo for accelerated compositing.
1203         https://bugs.webkit.org/show_bug.cgi?id=123214
1204
1205         Reviewed by Brent Fulgham.
1206
1207         * platform/graphics/PlatformLayer.h:
1208         Added TextureMapperPlatformLayer PlatformLayer declaration for WinCairo.
1209         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
1210         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
1211         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
1212         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
1213         Added USE(CA) where necessary to compile WinCairo with accelerated compositing.
1214
1215 2013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
1216
1217         Antialias underlines if they're not axis-aligned
1218         https://bugs.webkit.org/show_bug.cgi?id=123004
1219
1220         Reviewed by Simon Fraser.
1221
1222         In order to make underlines crisp, GraphicsContext:drawLineForText
1223         modifies the bounds of the underline rect in order to make the rect
1224         device-pixel-aligned, and then turns off antialiasing when drawing
1225         the line. This makes sense when the underline is axis-aligned, but
1226         doesn't when the rect is rotated or skewed. Therefore, we should
1227         only opt-in to this behavior if the underline we're about to draw
1228         is axis-aligned. This requires figuring out whether or not the
1229         current transformation is axis-aligned every time
1230         GraphicsContext::drawLineForText is called, which will incur a small
1231         performance hit. However, this is justified by underlines looking
1232         much better (antialiased) when the context is rotated or skewed.
1233
1234         Tests: svg/custom/foreign-object-skew.html
1235                svg/zoom/page/zoom-foreignObject.html
1236                svg/zoom/text/zoom-foreignObject.html:
1237
1238         * platform/graphics/cg/GraphicsContextCG.cpp:
1239         (WebCore::GraphicsContext::drawLineForText):
1240
1241 2013-10-23  Mark Lam  <mark.lam@apple.com>
1242
1243         Re-instate ProposedDatabases needed by detailsForNameAndOrigin().
1244         https://bugs.webkit.org/show_bug.cgi?id=123131.
1245
1246         Reviewed by Geoffrey Garen.
1247
1248         Test: storage/websql/open-database-expand-quota.html
1249
1250         If a webpage tries to create a database that exceeds the database size
1251         quota for that security origin, the WebKit1 quota request mechanism
1252         uses detailsForNameAndOrigin() to get the requested size of the database
1253         (that the webpage is attempting to open) in order to determine whether
1254         to increase the quota or not.
1255
1256         Previously, detailsForNameAndOrigin() relies on the ProposedDatabase
1257         mechanism to provide this size information. This change re-instates the
1258         ProposedDatabase mechanism so that WebKit1 client code that relies on
1259         this behavior will continue to work.
1260
1261         * Modules/webdatabase/DatabaseManager.cpp:
1262         (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
1263         (WebCore::DatabaseManager::ProposedDatabase::~ProposedDatabase):
1264         (WebCore::DatabaseManager::DatabaseManager):
1265         (WebCore::DatabaseManager::openDatabaseBackend):
1266         (WebCore::DatabaseManager::fullPathForDatabase):
1267         (WebCore::DatabaseManager::detailsForNameAndOrigin):
1268         * Modules/webdatabase/DatabaseManager.h:
1269         (WebCore::DatabaseManager::ProposedDatabase::origin):
1270         (WebCore::DatabaseManager::ProposedDatabase::details):
1271
1272 2013-10-23  Tim Horton  <timothy_horton@apple.com>
1273
1274         [cg] Fix the capitalization of kCGImageSourceSkipMetaData (-> Metadata)
1275         https://bugs.webkit.org/show_bug.cgi?id=122918
1276
1277         Reviewed by Anders Carlsson.
1278
1279         * platform/graphics/cg/ImageSourceCG.cpp:
1280         (WebCore::imageSourceOptions):
1281         The capitalization of kCGImageSourceSkipMetaData changed to
1282         kCGImageSourceSkipMetadata in Mountain Lion.
1283
1284 2013-10-23  Brady Eidson  <beidson@apple.com>
1285
1286         Make IDBDatabaseBackendLevelDB.cpp be cross platform
1287         https://bugs.webkit.org/show_bug.cgi?id=123027
1288
1289         Attentively reviewed by Dean Jackson.
1290
1291         Move it out of the indexeddb/leveldb directory, and rename it to IDBDatabaseBackendImpl.
1292
1293         Project files:
1294         * CMakeLists.txt:
1295         * GNUmakefile.list.am:
1296         * WebCore.vcxproj/WebCore.vcxproj:
1297         * WebCore.vcxproj/WebCore.vcxproj.filters:
1298         * WebCore.xcodeproj/project.pbxproj:
1299
1300         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp.
1301         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h.
1302
1303         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1304         (WebCore::IDBDatabaseBackendInterface::isIDBDatabaseBackendImpl): Add to support a required cast in LevelDB code.
1305
1306         * Modules/indexeddb/IDBFactoryBackendInterface.h:
1307
1308         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
1309         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
1310
1311         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
1312         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
1313         (WebCore::IDBFactoryBackendLevelDB::open):
1314         (WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
1315         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
1316
1317         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
1318         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
1319
1320         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
1321         (WebCore::IDBTransactionBackendLevelDB::create):
1322         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
1323         (WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
1324         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
1325
1326         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
1327         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
1328         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
1329         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
1330
1331 2013-10-23  Daniel Bates  <dabates@apple.com>
1332
1333         [iOS] Upstream more ARMv7s bits
1334         https://bugs.webkit.org/show_bug.cgi?id=123052
1335
1336         Reviewed by Joseph Pecoraro.
1337
1338         Define exported symbol file for armv7s and arm64.
1339
1340         * Configurations/WebCore.xcconfig:
1341
1342 2013-10-23  Krzysztof Wolanski  <k.wolanski@samsung.com>
1343
1344         [GTK] accessibility/self-referencing-aria-labelledby.html is failing
1345         https://bugs.webkit.org/show_bug.cgi?id=121594
1346
1347         Reviewed by Mario Sanchez Prada.
1348
1349         According to http://www.w3.org/TR/REC-html40/struct/objects.html#edef-IMG
1350         description of image element should be determined by alt attribute, then
1351         if it is empty by title attributte.
1352
1353         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1354         (webkitAccessibleGetDescription):
1355
1356 2013-10-15  Andreas Kling  <akling@apple.com>
1357
1358         Tighten animation-driven restyle to operate on Element only.
1359         <https://webkit.org/b/122820>
1360
1361         Text nodes are never directly animated, so we can tighten this code
1362         to work on Element only. This happens naturally since the code was
1363         already working with RenderElement everywhere.
1364
1365         Reviewed by Antti Koivisto.
1366
1367 2013-10-22  Andreas Kling  <akling@apple.com>
1368
1369         Even more PassRef<RenderStyle>!
1370         <https://webkit.org/b/123147>
1371
1372         Convert more of the WebCore code to use PassRef for RenderStyle
1373         in places where they are known to be non-null.
1374
1375         Re-landing this without region styling since that caused some
1376         assertions last time.
1377
1378         Reviewed by Antti Koivisto.
1379
1380 2013-10-22  Zoltan Horvath  <zoltan@webkit.org>
1381
1382         Refactor LineBreaker::nextSegmentBreak, add BreakingContext that holds all its state
1383         https://bugs.webkit.org/show_bug.cgi?id=123038
1384
1385         Reviewed by David Hyatt.
1386
1387         I followed Levi's logic on Blink's nextSegmentBreak refactoring (https://chromiumcodereview.appspot.com/25054004). 
1388         I mostly did the same changes, but the code is too diverged at this point to just apply that patch on our trunk. The patch
1389         introduces BreakingContext as a separate class. I added new methods for each condition, which were originally located in
1390         nextSegmentBreak. I also removed the goto-s from the code. All the new methods are inline in order to avoid introducing any
1391         performance regression. The change makes the code so much cleaner and understandable.
1392
1393         This change would be the first step of the nextSegmentBreak refactoring, I wanted to keep things in place in RenderBlockLineLayout.cpp
1394         for now, but I'm planning to separate BreakingContext into a new file and do additional changes to make things nicer. I'm tracking
1395         the entire progress under http://webkit.org/b/121261 meta bug.
1396
1397         No new tests, covered by existing tests.
1398         - I updated 1 expected result, because there was a 1 pixel difference on the result, which I believe comes from a rounding situation.
1399
1400         * rendering/RenderBlockFlow.h:
1401         * rendering/RenderBlockLineLayout.cpp:
1402         (WebCore::BreakingContext::BreakingContext):
1403         (WebCore::BreakingContext::currentObject):
1404         (WebCore::BreakingContext::lineBreak):
1405         (WebCore::BreakingContext::lineBreakRef):
1406         (WebCore::BreakingContext::lineWidth):
1407         (WebCore::BreakingContext::atEnd):
1408         (WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
1409         (WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
1410         (WebCore::BreakingContext::initializeForCurrentObject):
1411         (WebCore::BreakingContext::increment):
1412         (WebCore::BreakingContext::handleBR):
1413         (WebCore::BreakingContext::handleOutOfFlowPositioned):
1414         (WebCore::BreakingContext::handleFloat):
1415         (WebCore::BreakingContext::handleEmptyInline):
1416         (WebCore::BreakingContext::handleReplaced):
1417         (WebCore::nextCharacter):
1418         (WebCore::BreakingContext::handleText):
1419         (WebCore::textBeginsWithBreakablePosition):
1420         (WebCore::BreakingContext::canBreakAtThisPosition):
1421         (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
1422         (WebCore::BreakingContext::handleEndOfLine):
1423         (WebCore::LineBreaker::nextSegmentBreak):
1424
1425 2013-10-22  Commit Queue  <commit-queue@webkit.org>
1426
1427         Unreviewed, rolling out r157826.
1428         http://trac.webkit.org/changeset/157826
1429         https://bugs.webkit.org/show_bug.cgi?id=123197
1430
1431         Caused some regions tests to assert (Requested by smfr on
1432         #webkit).
1433
1434         * dom/Document.cpp:
1435         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
1436         * dom/Document.h:
1437         * dom/Element.cpp:
1438         (WebCore::Element::styleForRenderer):
1439         * dom/Element.h:
1440         * dom/ElementRareData.h:
1441         (WebCore::ElementRareData::setComputedStyle):
1442         (WebCore::ElementRareData::resetComputedStyle):
1443         * html/HTMLTitleElement.cpp:
1444         (WebCore::HTMLTitleElement::textWithDirection):
1445         * page/animation/AnimationController.cpp:
1446         (WebCore::AnimationController::updateAnimations):
1447         * page/animation/CompositeAnimation.cpp:
1448         (WebCore::CompositeAnimation::animate):
1449         * page/animation/CompositeAnimation.h:
1450         * rendering/RenderElement.cpp:
1451         (WebCore::RenderElement::createFor):
1452         * rendering/RenderElement.h:
1453         (WebCore::RenderElement::setStyleInternal):
1454         * rendering/RenderRegion.cpp:
1455         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
1456         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
1457         (WebCore::RenderRegion::computeStyleInRegion):
1458         (WebCore::RenderRegion::computeChildrenStyleInRegion):
1459         (WebCore::RenderRegion::setObjectStyleInRegion):
1460         * rendering/RenderRegion.h:
1461         * style/StyleResolveTree.cpp:
1462         (WebCore::Style::resolveLocal):
1463
1464 2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>
1465
1466         [EFL] Remove HAVE_GLX macro
1467         https://bugs.webkit.org/show_bug.cgi?id=123191
1468
1469         Reviewed by Gyuyoung Kim.
1470
1471         Since r138313, HAVE(GLX) was replaced to USE(GLX) except in GraphicsSurfaceToken.h.
1472
1473         * platform/graphics/surfaces/GraphicsSurfaceToken.h:
1474         Replace HAVE(GLX) to USE(GLX)
1475
1476 2013-10-22  Mark Lam  <mark.lam@apple.com>
1477
1478         Gardening: fix broken build on Windows.
1479         https://bugs.webkit.org/show_bug.cgi?id=123174.
1480
1481         Not reviewed.
1482
1483         No new tests.
1484
1485         * WebCore.vcxproj/WebCore.vcxproj:
1486         * WebCore.vcxproj/WebCore.vcxproj.filters:
1487
1488 2013-10-22  Brady Eidson  <beidson@apple.com>
1489
1490         Get rid of IDBObjectStoreBackendLevelDB
1491         https://bugs.webkit.org/show_bug.cgi?id=123174
1492
1493         Reviewed by Tim Horton.
1494
1495         This file was kind of a dumping ground.
1496         Its contents can be merged into IDBBackingStoreInterface and a new IDBIndexWriter class.
1497
1498         Also took the opportunity to do a little bit of RefPtr<> and pointer-vs-reference cleanup.
1499
1500         * CMakeLists.txt:
1501         * GNUmakefile.list.am:
1502         * WebCore.xcodeproj/project.pbxproj:
1503
1504         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Removed.
1505         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Removed.
1506
1507         * Modules/indexeddb/IDBIndexWriter.cpp: Added.
1508         (WebCore::IDBIndexWriter::IDBIndexWriter):
1509         (WebCore::IDBIndexWriter::writeIndexKeys):
1510         (WebCore::IDBIndexWriter::verifyIndexKeys):
1511         (WebCore::IDBIndexWriter::addingKeyAllowed):
1512         * Modules/indexeddb/IDBIndexWriter.h: Added.
1513         (WebCore::IDBIndexWriter::create):
1514
1515         * Modules/indexeddb/IDBBackingStoreInterface.h:
1516         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1517
1518         * Modules/indexeddb/IDBMetadata.h:
1519         * Modules/indexeddb/IDBTransactionBackendInterface.h:
1520
1521         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1522         (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
1523         (WebCore::IDBBackingStoreLevelDB::generateKey):
1524         (WebCore::IDBBackingStoreLevelDB::updateKeyGenerator):
1525         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
1526
1527         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
1528         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
1529         (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
1530         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
1531
1532         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
1533         (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
1534         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
1535
1536         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
1537         (WebCore::PutOperation::perform):
1538         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
1539         (WebCore::PutOperation::create):
1540         (WebCore::PutOperation::PutOperation):
1541
1542 2013-10-22  Dean Jackson  <dino@apple.com>
1543
1544         [WebGL] Implement a software rendering option on Mac
1545         https://bugs.webkit.org/show_bug.cgi?id=123177
1546
1547         Reviewed by Tim Horton.
1548
1549         Implement a way to force software OpenGL rendering
1550         for WebGL, via a Setting/Preference.
1551
1552         No new tests. We intentionally hide the capabilities of
1553         the renderer from the content, so you can't test for
1554         this setting. However, manual inspection is pretty
1555         obvious. Just go to a page with a complex shader
1556         such as https://www.shadertoy.com/view/lss3WS.
1557
1558         * html/canvas/WebGLRenderingContext.cpp:
1559         (WebCore::WebGLRenderingContext::create): If we're forcing software
1560         rendering, mark the context attributes as such.
1561         * page/Settings.in: New setting key.
1562         * platform/graphics/GraphicsContext3D.h: New flag in Attributes.
1563         (WebCore::GraphicsContext3D::Attributes::Attributes):
1564         * platform/graphics/mac/GraphicsContext3DMac.mm:
1565         (WebCore::GraphicsContext3D::GraphicsContext3D): Slight update to the
1566         algorithm that sets a pixel format. If we're forcing software rendering,
1567         obviously we never want to create an accelerated pixel format.
1568         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
1569         (WebCore::CustomFilterGlobalContext::prepareContextIfNeeded): Set the attribute
1570         here before trying to create the context.
1571         * platform/graphics/filters/CustomFilterGlobalContext.h: Add a forceSoftwareRendering
1572         flag to prepareContextIfNeeded.
1573         * rendering/FilterEffectRenderer.cpp:
1574         (WebCore::createCustomFilterEffect): Check the Setting before creating a custom
1575         filter context.
1576
1577 2013-10-22  Anders Carlsson  <andersca@apple.com>
1578
1579         Revert r157445 since it broke certificates on Mac.
1580         <rdar://problem/15246926&15254017&15269117>
1581
1582         * GNUmakefile.list.am:
1583         * PlatformEfl.cmake:
1584         * WebCore.exp.in:
1585         * WebCore.vcxproj/WebCore.vcxproj:
1586         * WebCore.vcxproj/WebCore.vcxproj.filters:
1587         * WebCore.xcodeproj/project.pbxproj:
1588         * platform/network/ResourceErrorBase.h:
1589         * platform/network/ResourceResponseBase.h:
1590         * platform/network/cf/CertificateInfoCFNet.cpp: Removed.
1591         * platform/network/cf/ResourceResponse.h:
1592         * platform/network/mac/ResourceResponseMac.mm:
1593         (WebCore::ResourceResponse::setCertificateChain):
1594         (WebCore::ResourceResponse::certificateChain):
1595         * platform/network/soup/ResourceError.h:
1596         (WebCore::ResourceError::ResourceError):
1597         (WebCore::ResourceError::tlsErrors):
1598         (WebCore::ResourceError::setTLSErrors):
1599         (WebCore::ResourceError::certificate):
1600         (WebCore::ResourceError::setCertificate):
1601         * platform/network/soup/ResourceErrorSoup.cpp:
1602         (WebCore::ResourceError::tlsError):
1603         (WebCore::ResourceError::platformCopy):
1604         (WebCore::ResourceError::platformCompare):
1605         * platform/network/soup/ResourceResponse.h:
1606         (WebCore::ResourceResponse::ResourceResponse):
1607         (WebCore::ResourceResponse::soupMessageCertificate):
1608         (WebCore::ResourceResponse::setSoupMessageCertificate):
1609         (WebCore::ResourceResponse::soupMessageTLSErrors):
1610         (WebCore::ResourceResponse::setSoupMessageTLSErrors):
1611         * platform/network/soup/ResourceResponseSoup.cpp:
1612         (WebCore::ResourceResponse::toSoupMessage):
1613         (WebCore::ResourceResponse::updateFromSoupMessage):
1614
1615 2013-10-22  Jer Noble  <jer.noble@apple.com>
1616
1617         [Media] Refactor supportsType() factory method to take a parameters object.
1618         https://bugs.webkit.org/show_bug.cgi?id=122489
1619
1620         Reviewed by Eric Carlson.
1621
1622         In order to support adding new conditional properties with which to decide
1623         what MediaPlayerPrivate subclass to create, replace the two versions of the
1624         supportsType() factory method with a single one taking a parameters object.
1625
1626         At the same time, add a 'isMediaSource' parameter to that object, allowing
1627         MediaPlayerPrivate subclasses which support the same type and codecs but
1628         which do not both support MediaSource to be distinguised.
1629
1630         * platform/graphics/MediaPlayer.cpp:
1631         (WebCore::bestMediaEngineForSupportParameters): Renamed from
1632             bestMediaEngineForTypeAndCodecs.
1633         (WebCore::MediaPlayer::nextBestMediaEngine): Added convenience function.
1634         (WebCore::MediaPlayer::loadWithNextMediaEngine): Call nextBestMediaEngine()
1635         (WebCore::MediaPlayer::supportsType): Pass parameter object.
1636         (WebCore::MediaPlayer::networkStateChanged): Call nextBestMediaEngine().
1637         * platform/graphics/MediaPlayer.h:
1638         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1639         (WebCore::MediaPlayerPrivateAVFoundationCF::supportsType): Handle parameter object.
1640         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1641         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1642         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1643         (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): Remove extraneous
1644             extendedSupportsType method.
1645         (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Handle parameter object.
1646         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1647         (WebCore::MediaPlayerPrivate::supportsType): Ditto.
1648         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1649         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1650         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1651         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1652         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1653         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Remove extraneous
1654             extendedSupportsType method.
1655         (WebCore::MediaPlayerPrivateQTKit::supportsType): Handle parameter object.
1656         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1657         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsType): Ditto.
1658         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
1659         * platform/graphics/wince/MediaPlayerPrivateWinCE.h:
1660
1661 2013-10-22  Andreas Kling  <akling@apple.com>
1662
1663         Merge SVGRenderBlock::styleWillChange() into styleDidChange().
1664         <https://webkit.org/b/123181>
1665
1666         I meant to do this one in r157787, but better late than never.
1667
1668         Reviewed by Geoffrey Garen.
1669
1670 2013-10-22  Sam Weinig  <sam@webkit.org>
1671
1672         CTTE: Modernize RenderBlock a bit
1673         https://bugs.webkit.org/show_bug.cgi?id=123162
1674
1675         Reviewed by Andreas Kling.
1676
1677         Start threading references through RenderBlock. While we 
1678         are here, do some selective modernization as well.
1679
1680 2013-10-22  Andreas Kling  <akling@apple.com>
1681
1682         Even more PassRef<RenderStyle>!
1683         <https://webkit.org/b/123147>
1684
1685         Convert the remaining WebCore code to use PassRef for RenderStyle
1686         wherever they are known to be non-null.
1687
1688         Reviewed by Antti Koivisto.
1689
1690 2013-10-22  Commit Queue  <commit-queue@webkit.org>
1691
1692         Unreviewed, rolling out r157819.
1693         http://trac.webkit.org/changeset/157819
1694         https://bugs.webkit.org/show_bug.cgi?id=123180
1695
1696         Broke 32-bit builds (Requested by smfr on #webkit).
1697
1698         * Configurations/WebCore.xcconfig:
1699
1700 2013-10-22  Antti Koivisto  <antti@apple.com>
1701
1702         Rename deleteLineBoxTree to deleteLines
1703         https://bugs.webkit.org/show_bug.cgi?id=123176
1704
1705         Reviewed by Andreas Kling.
1706
1707         RenderBlock::deleteLineBoxTree -> RenderBlock::deleteLines
1708         RenderInline::deleteLineBoxTree -> RenderInline::deleteLines
1709
1710 2013-10-22  Tim Horton  <timothy_horton@apple.com>
1711
1712         {ClipPathOperation, FilterOperation}::getOperationType() should not include 'get'
1713         https://bugs.webkit.org/show_bug.cgi?id=123172
1714
1715         Reviewed by Simon Fraser.
1716
1717         No new tests, just a rename.
1718
1719         "get" in WebCore tends to mean that the function has out arguments; these have no arguments.
1720         Rename FilterOperation::getOperationType() to FilterOperation::type().
1721         I noticed that ClipPathOperation had the same mistake, so I fixed it there too.
1722
1723         Removed long and useless list of files.
1724
1725 2013-10-22  Samuel White  <samuel_white@apple.com>
1726
1727         AX: Add paramAttrs to fetch start and end text markers in a given rect.
1728         https://bugs.webkit.org/show_bug.cgi?id=122164
1729
1730         Reviewed by Chris Fleizach.
1731
1732         Added ability to fetch end and start text markers inside a given bounds. This gives ScreenReaders
1733         like VoiceOver a way to retrieve the text markers for a specified column of page text.
1734
1735         Test: platform/mac/accessibility/text-marker-for-bounds.html
1736
1737         * accessibility/AccessibilityObject.cpp:
1738         (WebCore::AccessibilityObject::mainFrame):
1739         (WebCore::AccessibilityObject::topDocument):
1740         (WebCore::AccessibilityObject::visiblePositionForBounds):
1741         * accessibility/AccessibilityObject.h:
1742         * accessibility/AccessibilityRenderObject.cpp:
1743         * accessibility/AccessibilityRenderObject.h:
1744         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1745         (-[WebAccessibilityObjectWrapper screenToContents:]):
1746         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1747         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1748
1749 2013-10-22  Zoltan Horvath  <zoltan@webkit.org>
1750
1751         [CSS Shapes] Match adjustLogicalLineTopAndLogicalHeightIfNeeded's implementation with Blink's
1752         https://bugs.webkit.org/show_bug.cgi?id=123033
1753
1754         Reviewed by David Hyatt.
1755
1756         In Blink I made this function in a bit different way. This change modifies it
1757         to be identical, which helps a lot in the future cross-merging patches.
1758
1759         No new tests, covered by existing texts.
1760
1761         * rendering/RenderBlockLineLayout.cpp:
1762         (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
1763
1764 2013-10-22  Daniel Bates  <dabates@apple.com>
1765
1766         [iOS] Upstream more ARMv7s bits
1767         https://bugs.webkit.org/show_bug.cgi?id=123052
1768
1769         Reviewed by Joseph Pecoraro.
1770
1771         * Configurations/WebCore.xcconfig:
1772
1773 2013-10-22  Simon Fraser  <simon.fraser@apple.com>
1774
1775         Try to fix Mavericks build; use <> for framework include.
1776
1777         * page/CaptionUserPreferencesMediaAF.cpp:
1778
1779 2013-10-22  Tim Horton  <timothy_horton@apple.com>
1780
1781         GammaFilterOperation seems to be dead code
1782         https://bugs.webkit.org/show_bug.cgi?id=123173
1783
1784         Reviewed by Simon Fraser.
1785
1786         * platform/graphics/filters/FilterOperation.cpp:
1787         * platform/graphics/filters/FilterOperation.h:
1788         Remove dead code.
1789
1790 2013-10-22  Antti Koivisto  <antti@apple.com>
1791
1792         Rename some line box functions to be just about lines
1793         https://bugs.webkit.org/show_bug.cgi?id=123168
1794
1795         Reviewed by Dave Hyatt.
1796
1797         firstLineBoxBaseline -> firstLineBaseline
1798         hasInlineBoxChildren -> hasLines
1799         
1800         Also use hasLines in a bunch of places where firstLineBox() was used.
1801
1802         * accessibility/AccessibilityRenderObject.cpp:
1803         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1804         
1805             Also use hasRenderedText() instead of firstTextBox()
1806
1807         * rendering/RenderFullScreen.cpp:
1808         
1809             Fix namespace.
1810
1811 2013-10-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1812
1813         Adding Mock class to test RTCPeerConnection
1814         https://bugs.webkit.org/show_bug.cgi?id=122848
1815
1816         Reviewed by Eric Carlson.
1817
1818         The following tests can be run:
1819
1820             RTCPeerConnection-createAnswer.html
1821             RTCPeerConnection-createOffer.html
1822             RTCPeerConnection-ice.html
1823             RTCPeerConnection-localDescription.html
1824             RTCPeerConnection-remoteDescription.html
1825             RTCPeerConnection-state.html
1826
1827         Tests that require a MediaStream object, by invoking getUserMedia,
1828         are not ready to run yet.
1829
1830         No new tests needed.
1831
1832         * CMakeLists.txt:
1833         * platform/mediastream/RTCPeerConnectionHandler.cpp:
1834         (WebCore::createHandler):
1835         * platform/mediastream/RTCPeerConnectionHandler.h:
1836         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
1837         * platform/mock/RTCNotifiersMock.cpp: Added.
1838         * platform/mock/RTCNotifiersMock.h: Added.
1839         * platform/mock/RTCPeerConnectionHandlerMock.cpp: Added.
1840         * platform/mock/RTCPeerConnectionHandlerMock.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
1841         * platform/mock/TimerEventBasedMock.h: Added.
1842         * testing/Internals.cpp:
1843         (WebCore::Internals::Internals):
1844         (WebCore::Internals::enableMockRTCPeerConnectionHandler):
1845         * testing/Internals.h:
1846
1847 2013-10-22  Zan Dobersek  <zdobersek@igalia.com>
1848
1849         WebCore::fillWithEmptyClients adopts new empty clients before leaking their pointers
1850         https://bugs.webkit.org/show_bug.cgi?id=122945
1851
1852         Reviewed by Anders Carlsson.
1853
1854         * loader/EmptyClients.cpp:
1855         (WebCore::fillWithEmptyClients): Store the static empty clients as NeverDestroyed, rather than
1856         adopting the pointer of each heap-allocated object and then immediately leaking that pointer.
1857
1858 2013-10-22  Zan Dobersek  <zdobersek@igalia.com>
1859
1860         Simplify HRTFDatabaseLoader's load map
1861         https://bugs.webkit.org/show_bug.cgi?id=122944
1862
1863         Reviewed by Eric Carlson.
1864
1865         * platform/audio/HRTFDatabaseLoader.cpp:
1866         (WebCore::loaderMap): Return a reference to a NeverDestroyed HashMap that maps sample rates to loaders.
1867         (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
1868         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
1869         * platform/audio/HRTFDatabaseLoader.h: Remove the LoaderMap type definition, the private singleton of that type
1870         and the singleton's unused getter.
1871
1872 2013-10-22  Tim Horton  <timothy_horton@apple.com>
1873
1874         Remote Layer Tree: Support hardware accelerated filters
1875         https://bugs.webkit.org/show_bug.cgi?id=123139
1876
1877         Reviewed by Anders Carlsson.
1878
1879         * WebCore.exp.in:
1880         Export a variety of filter-related things.
1881
1882         * platform/graphics/ca/PlatformCAFilters.h:
1883         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
1884         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1885         (PlatformCALayerMac::setFilters):
1886         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
1887         (PlatformCAFilters::setFiltersOnLayer):
1888         setFiltersOnLayer should take a PlatformLayer instead of a PlatformCALayer
1889         as its argument, because it doesn't need a PlatformCALayer, and this way
1890         we can share code with the RemoteLayerTreeHost, which only has PlatformLayers
1891         and not PlatformCALayers.
1892
1893 2013-10-22  Brendan Long  <b.long@cablelabs.com>
1894
1895         cue.text fails for some track element cues
1896         https://bugs.webkit.org/show_bug.cgi?id=81123
1897
1898         Reviewed by Eric Carlson.
1899
1900         Test: media/track/track-long-captions-file.html
1901
1902         * html/track/WebVTTParser.cpp:
1903         (WebCore::WebVTTParser::parseBytes): Use buffer when we don't have full lines.
1904         (WebCore::WebVTTParser::fileFinished): Force file to finish parsing.
1905         (WebCore::WebVTTParser::hasRequiredFileIdentifier): Simplify due to using String.
1906         (WebCore::WebVTTParser::collectCueText): Don't automatically create cues when we run out of data.
1907         (WebCore::WebVTTParser::collectNextLine): Use buffer.
1908         * html/track/WebVTTParser.h: Add m_buffer and Finished state.
1909         * loader/TextTrackLoader.cpp:
1910         (WebCore::TextTrackLoader::notifyFinished): Call m_parser->fileFinished() when done.
1911
1912 2013-10-22  peavo@outlook.com  <peavo@outlook.com>
1913
1914         [WinCairo] Compile error.
1915         https://bugs.webkit.org/show_bug.cgi?id=123161
1916
1917         Reviewed by Brent Fulgham.
1918
1919         * rendering/RenderFlowThread.h: Move USE(ACCELERATED_COMPOSITING) guard to expose needed type.
1920
1921 2013-10-21  Brady Eidson  <beidson@apple.com>
1922
1923         Add a cross-platform IDBRecordIdentifier
1924         https://bugs.webkit.org/show_bug.cgi?id=123138
1925
1926         Reviewed by Andreas Kling.
1927
1928         Add the cross-platform header:
1929         * Modules/indexeddb/IDBRecordIdentifier.h: Added.
1930         (WebCore::IDBRecordIdentifier::create):
1931         (WebCore::IDBRecordIdentifier::encodedPrimaryKey):
1932         (WebCore::IDBRecordIdentifier::version):
1933         (WebCore::IDBRecordIdentifier::reset):
1934         (WebCore::IDBRecordIdentifier::IDBRecordIdentifier):
1935         * WebCore.xcodeproj/project.pbxproj:
1936         * GNUmakefile.list.am:
1937
1938         Remove the old abstract and LevelDB classes:
1939         * Modules/indexeddb/IDBBackingStoreInterface.h:
1940         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
1941
1942         Use the cross-platform one everywhere:
1943         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1944         (WebCore::IDBBackingStoreLevelDB::putRecord):
1945         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
1946         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
1947         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
1948         (WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
1949         (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
1950
1951         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
1952         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
1953
1954         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
1955         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
1956
1957         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
1958         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
1959         (WebCore::PutOperation::perform):
1960
1961 2013-10-22  Andrei Bucur  <abucur@adobe.com>
1962
1963         [CSS Regions] Possible performance regression after r157567
1964         https://bugs.webkit.org/show_bug.cgi?id=123016
1965
1966         Reviewed by Andreas Kling.
1967
1968         The revision 157567 http://trac.webkit.org/changeset/157567 may have regressed
1969         Parser/html5-full-render by ~1.1% and Parser/html-parser by ~2%. These changes
1970         try to optimize the initial patch, based on Andreas Kling's review.
1971
1972         The patch also adds a couple of refactorings that should make the code easier to read:
1973         - the CSS Shapes functions are now wrapped in a single #if clause
1974         - the CSS Shapes and CSS Regions pre-layout preparations are wrapped in a helper function
1975
1976         The RenderFlowThread::logicalWidthChangedInRegionsForBlock function is optimized by passing
1977         it information about the state of the relayout children flag. If the flag is true already,
1978         some of the steps are skipped.
1979
1980         Tests: no new tests.
1981
1982         * dom/Element.cpp:
1983         (WebCore::Element::webkitGetRegionFlowRanges):
1984         * inspector/InspectorOverlay.cpp:
1985         (WebCore::buildObjectForElementInfo):
1986         * rendering/RenderBlock.cpp:
1987         (WebCore::shapeInfoRequiresRelayout):
1988         (WebCore::RenderBlock::updateShapesBeforeBlockLayout):
1989         (WebCore::RenderBlock::computeShapeSize):
1990         (WebCore::RenderBlock::prepareShapesAndPaginationBeforeBlockLayout):
1991         * rendering/RenderBlock.h:
1992         * rendering/RenderBlockFlow.cpp:
1993         (WebCore::RenderBlockFlow::layoutBlock):
1994         (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
1995         (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
1996         (WebCore::RenderBlockFlow::ensureRareData):
1997         * rendering/RenderBlockFlow.h:
1998         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
1999         (WebCore::RenderElement::isRenderNamedFlowFragmentContainer):
2000         * rendering/RenderDeprecatedFlexibleBox.cpp:
2001         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2002         * rendering/RenderElement.h:
2003         (WebCore::RenderElement::generatingElement):
2004         * rendering/RenderFlexibleBox.cpp:
2005         (WebCore::RenderFlexibleBox::layoutBlock):
2006         * rendering/RenderFlowThread.cpp:
2007         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
2008         * rendering/RenderFlowThread.h:
2009         * rendering/RenderGrid.cpp:
2010         (WebCore::RenderGrid::layoutBlock):
2011         * rendering/RenderNamedFlowFragment.h:
2012         * rendering/RenderObject.cpp:
2013         * rendering/RenderObject.h:
2014         * rendering/RenderTreeAsText.cpp:
2015         (WebCore::write):
2016         * style/StyleResolveTree.cpp:
2017         (WebCore::Style::elementInsideRegionNeedsRenderer):
2018
2019 2013-10-22  Andreas Kling  <akling@apple.com>
2020
2021         CSSStyleSheet constructor functions should return PassRef.
2022         <https://webkit.org/b/123156>
2023
2024         Make CSSStyleSheet::create*() return PassRef and tighten some call
2025         sites that were using them. Most callers didn't need any tweaks to
2026         take advantage of PassRef.
2027
2028         Reviewed by Antti Koivisto.
2029
2030 2013-10-22  Andreas Kling  <akling@apple.com>
2031
2032         CTTE: RenderMathMLFraction always has a MathMLInlineContainerElement.
2033         <https://webkit.org/b/123154>
2034
2035         This renderer is never anonymous and always has a corresponding
2036         MathMLInlineContainerElement. Overload element() with a tighter
2037         return type.
2038
2039         Also marked the class FINAL and made most member functions private.
2040
2041         Reviewed by Antti Koivisto.
2042
2043 2013-10-22  Andreas Kling  <akling@apple.com>
2044
2045         FontGlyphs constructor functions should return PassRef.
2046         <https://webkit.org/b/123159>
2047
2048         Made the two FontGlyphs creator functions return PassRef and tweaked
2049         the FontGlyphsCache in Font.cpp to make more efficient use of it.
2050
2051         Reviewed by Antti Koivisto.
2052
2053 2013-10-22  Andreas Kling  <akling@apple.com>
2054
2055         Fix some more code to use RenderElement instead of RenderObject.
2056         <https://webkit.org/b/123149>
2057
2058         Using RenderElement where possible lets us skip the isRenderElement()
2059         branch in RenderObject::style() and generates much tighter code.
2060
2061         Reviewed by Antti Koivisto.
2062
2063 2013-10-22  Andreas Kling  <akling@apple.com>
2064
2065         Merge SVG renderers' styleWillChange() into styleDidChange().
2066         <https://webkit.org/b/123108>
2067
2068         This work can just as well be done after setting the style.
2069         Three more styleWillChange() overloads gone.
2070
2071         Reviewed by Antti Koivisto.
2072
2073 2013-10-22  Andreas Kling  <akling@apple.com>
2074
2075         CSSValueList constructor functions should return PassRef.
2076         <https://webkit.org/b/123151>
2077
2078         These functions always return objects, and thus can return PassRef.
2079         Also made CSSValueList::createFromParserValueList() take a reference
2080         since that function is only ever called with a non-null value.
2081
2082         Reviewed by Antti Koivisto.
2083
2084 2013-10-22  Andreas Kling  <akling@apple.com>
2085
2086         Avoid parent style ref churn in createTextRendererIfNeeded().
2087         <https://webkit.org/b/123148>
2088
2089         There's no need to take a temporary ref on the parent's RenderStyle
2090         while creating a text renderer. It's not going away, and the text
2091         renderer is not going to participate in ownership afterwards.
2092
2093         Reviewed by Antti Koivisto.
2094
2095 2013-10-22  Andreas Kling  <akling@apple.com>
2096
2097         Remove some unnecessary null checks in RenderElement::setStyle().
2098         <https://webkit.org/b/123146>
2099
2100         After assigning the new style to RenderElement::m_style, we know that
2101         it'll be non-null, so remove all the checking for this.
2102
2103         Reviewed by Antti Koivisto.
2104
2105 2013-10-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2106
2107         Introduce ACCESSIBILITY_OBJECT_TYPE_CASTS to replace manual toFoo() in accessibility child class
2108         https://bugs.webkit.org/show_bug.cgi?id=123140
2109
2110         Reviewed by Andreas Kling.
2111
2112         As a step to let toFoo use TYPE_CASTS_BASE, DEFINE_TYPE_CASTS can be used for toFoo() in accessibility
2113         child class. The DEFINE_TYPE_CASTS will generate plenty more helper functions for accessibility type cast.
2114
2115         No new tests, no behavior changes.
2116
2117         * accessibility/AccessibilityList.h:
2118         * accessibility/AccessibilityMenuList.h:
2119         * accessibility/AccessibilityMockObject.h:
2120         * accessibility/AccessibilityNodeObject.h:
2121         * accessibility/AccessibilityObject.h:
2122         * accessibility/AccessibilityRenderObject.h:
2123         * accessibility/AccessibilitySVGRoot.h:
2124         * accessibility/AccessibilityScrollView.h:
2125         * accessibility/AccessibilitySpinButton.h:
2126         * accessibility/AccessibilityTable.h:
2127
2128 2013-10-22  Brian Holt  <brian.holt@samsung.com>
2129
2130         [GTK] Add WebKit2 API for TLS errors
2131         https://bugs.webkit.org/show_bug.cgi?id=120160
2132
2133         Reviewed by Carlos Garcia Campos.
2134
2135         Added a new constructor for CertificateInfo under Soup.
2136
2137         * platform/network/CertificateInfo.h:
2138         * platform/network/soup/CertificateInfoSoup.cpp:
2139         (WebCore::CertificateInfo::CertificateInfo): New constructor using
2140         GTlsCertificateFlags and GTlsCertificate.
2141
2142 2013-10-22  Mihnea Ovidenie  <mihnea@adobe.com>
2143
2144         [CSSRegions] Use RenderStyle::hasFlowFrom when needed
2145         https://bugs.webkit.org/show_bug.cgi?id=122543
2146
2147         Reviewed by David Hyatt.
2148
2149         Rename RenderStyle::hasStyleRegion -> RenderStyle::hasFlowFrom.
2150         Use RenderStyle::hasFlowFrom() helper function instead of directly
2151         checking the value of RenderStyle::regionThread().
2152
2153         No change of functionality, covered by existing tests.
2154
2155         * css/CSSComputedStyleDeclaration.cpp:
2156         (WebCore::contentToCSSValue):
2157         (WebCore::ComputedStyleExtractor::propertyValue):
2158         * css/StyleResolver.cpp:
2159         (WebCore::StyleResolver::adjustRenderStyle):
2160         * dom/PseudoElement.cpp:
2161         (WebCore::PseudoElement::didAttachRenderers):
2162         * dom/PseudoElement.h:
2163         (WebCore::pseudoElementRendererIsNeeded):
2164         * rendering/RenderBlockFlow.cpp:
2165         (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
2166         * rendering/RenderLayer.cpp:
2167         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2168         * rendering/style/RenderStyle.h:
2169
2170 2013-10-21  Brent Fulgham  <bfulgham@apple.com>
2171
2172         [WIN] Properly support reverse animations without needing software fallback.
2173         https://bugs.webkit.org/show_bug.cgi?id=85121
2174
2175         Reviewed by Dean Jackson.
2176
2177         Testing is provided by existing animation tests.
2178
2179         * platform/animation/TimingFunction.h:
2180         (WebCore::CubicBezierTimingFunction::createReversed): Added.
2181         * platform/graphics/ca/GraphicsLayerCA.cpp:
2182         (WebCore::GraphicsLayerCA::addAnimation): The early return when performing a reverse or
2183         autoreverse animation is no longer needed.
2184         * platform/graphics/ca/PlatformCAAnimation.h:
2185         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2186         (toCAMediaTimingFunction): Use new reversed function.
2187         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2188         (toCACFTimingFunction): Ditto.
2189         (PlatformCAAnimation::setTimingFunction): Pass 'reverse' flag.
2190         (PlatformCAAnimation::setTimingFunctions): Ditto.
2191
2192 2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2193
2194         Use TYPE_CASTS_BASE for CSS_VALUE_TYPE_CASTS
2195         https://bugs.webkit.org/show_bug.cgi?id=123126
2196
2197         Reviewed by Andreas Kling.
2198
2199         TYPE_CASTS_BASE was moved to common place to be used by all toFoo().
2200         CSS_VALUE_TYPE_CASTS starts to use it for CSS child value. This change
2201         generates plenty more helper functions for toCSSFooValue().
2202
2203         Additionally, this use support that toWebKitCSSFooValue, which couldn't
2204         use CSS_VALUE_TYPE_CASTS macro.
2205
2206         No new tests, no behavior change.
2207
2208         * css/CSSAspectRatioValue.h:
2209         * css/CSSBorderImageSliceValue.h:
2210         * css/CSSCalculationValue.h:
2211         * css/CSSCanvasValue.h:
2212         * css/CSSCrossfadeValue.h:
2213         * css/CSSCursorImageValue.h:
2214         * css/CSSFilterImageValue.h:
2215         * css/CSSFontFaceSrcValue.h:
2216         * css/CSSFontFeatureValue.h:
2217         * css/CSSFontValue.h:
2218         * css/CSSFunctionValue.h:
2219         * css/CSSGradientValue.h:
2220         * css/CSSGridTemplateValue.h:
2221         * css/CSSImageSetValue.h:
2222         * css/CSSImageValue.h:
2223         * css/CSSInheritedValue.h:
2224         * css/CSSInitialValue.h:
2225         * css/CSSLineBoxContainValue.h:
2226         * css/CSSPrimitiveValue.h:
2227         * css/CSSReflectValue.h:
2228         * css/CSSShadowValue.h:
2229         * css/CSSTimingFunctionValue.h:
2230         * css/CSSUnicodeRangeValue.h:
2231         * css/CSSValue.h:
2232         * css/CSSValueList.h:
2233         * css/CSSVariableValue.h:
2234         * css/WebKitCSSArrayFunctionValue.h:
2235         * css/WebKitCSSFilterValue.h:
2236         * css/WebKitCSSMatFunctionValue.h:
2237         * css/WebKitCSSMixFunctionValue.h:
2238         * css/WebKitCSSSVGDocumentValue.h:
2239         * css/WebKitCSSShaderValue.h:
2240
2241 2013-10-21  Joone Hur  <joone.hur@intel.com>
2242
2243         Bad cast with toRenderBoxModelObject in RenderBlock::updateFirstLetter()
2244         https://bugs.webkit.org/show_bug.cgi?id=123013
2245
2246         Reviewed by Andreas Kling.
2247
2248         No new tests because this was reported by Google ClusterFuzz.
2249         https://codereview.chromium.org/25713009/
2250
2251         There is a case that toRenderBoxModelObject causes a crash in RenderBlock::updateFirstLetter() 
2252         due to bad cast, so we need to check whether the RenderObject is a RenderBoxModelObject 
2253         by running isBoxModelObject() before calling toRenderBoxModelObject.  
2254
2255         * rendering/RenderBlock.cpp:
2256         (WebCore::RenderBlock::updateFirstLetter):
2257
2258 2013-10-21  Brady Eidson  <beidson@apple.com>
2259
2260         Make IDBTransactionCoordinatorLevelDB cross platform
2261         https://bugs.webkit.org/show_bug.cgi?id=123124
2262
2263         Enthusiastically reviewed by Tim Horton.
2264
2265         * CMakeLists.txt:
2266         * GNUmakefile.list.am:
2267         * WebCore.xcodeproj/project.pbxproj:
2268
2269         Make more methods pure virtual in the interface:
2270         * Modules/indexeddb/IDBTransactionBackendInterface.h:
2271         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
2272         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
2273
2274         Update the name of the class, and use IDBTransactionBackendInterface instead of IDBTransactionBackendLeveDB:
2275         * Modules/indexeddb/IDBTransactionCoordinator.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp.
2276         (WebCore::IDBTransactionCoordinator::create):
2277         (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
2278         (WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
2279         (WebCore::IDBTransactionCoordinator::didCreateTransaction):
2280         (WebCore::IDBTransactionCoordinator::didStartTransaction):
2281         (WebCore::IDBTransactionCoordinator::didFinishTransaction):
2282         (WebCore::IDBTransactionCoordinator::isActive):
2283         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
2284         (WebCore::doScopesOverlap):
2285         (WebCore::IDBTransactionCoordinator::canRunTransaction):
2286         * Modules/indexeddb/IDBTransactionCoordinator.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h.
2287
2288         Update the name of the class elsewhere:
2289         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
2290         (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
2291         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
2292         (WebCore::IDBDatabaseBackendLevelDB::transactionCoordinator):
2293         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2294
2295 2013-10-21  Daniel Bates  <dabates@apple.com>
2296
2297         [iOS] Upstream JSGlobalObject::shouldInterruptScriptBeforeTimeout()
2298         https://bugs.webkit.org/show_bug.cgi?id=123045
2299
2300         Reviewed by Joseph Pecoraro.
2301
2302         * bindings/js/JSDOMWindowBase.cpp:
2303         (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): Added.
2304         (WebCore::JSDOMWindowBase::shouldInterruptScript): Extracted comment and assertion
2305         about null Page object into WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage()
2306         so that it can be shared by both this function and JSDOMWindowBase::shouldInterruptScriptBeforeTimeout().
2307         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
2308         * bindings/js/JSDOMWindowBase.h:
2309         * bindings/js/JSWorkerGlobalScopeBase.cpp:
2310         (WebCore::JSWorkerGlobalScopeBase::shouldInterruptScriptBeforeTimeout): Added.
2311         * bindings/js/JSWorkerGlobalScopeBase.h:
2312         * loader/EmptyClients.h: Added isStopping(). We'll land the iOS chrome client implementation
2313         in a subsequent patch.
2314         * page/ChromeClient.h: Added isStopping().
2315
2316 2013-10-21  Anders Carlsson  <andersca@apple.com>
2317
2318         Navigation policy callback not called when performing the same fragment navigation twice
2319         https://bugs.webkit.org/show_bug.cgi?id=123121
2320         <rdar://problem/15230466>
2321
2322         Reviewed by Beth Dakin.
2323
2324         There's code in PolicyChecker::checkNavigationPolicy that will call the decision function right away 
2325         if the requests are equal, without consulting any policy client. Because of this, make sure to empty out
2326         the last checked request of the document loader when doing a fragment navigation.
2327
2328         * loader/FrameLoader.cpp:
2329         (WebCore::FrameLoader::loadURL):
2330         (WebCore::FrameLoader::loadWithDocumentLoader):
2331
2332 2013-10-21  Jer Noble  <jer.noble@apple.com>
2333
2334         Unreviewed build fix; unprotect the declaration of updateSleepDisabling();
2335
2336         * html/HTMLMediaElement.h:
2337
2338 2013-10-20  Mark Lam  <mark.lam@apple.com>
2339
2340         Avoid JSC debugger overhead unless needed.
2341         https://bugs.webkit.org/show_bug.cgi?id=123084.
2342
2343         Reviewed by Geoffrey Garen.
2344
2345         No new tests.
2346
2347         - If no breakpoints are set, we now avoid calling the debug hook callbacks.
2348         - If no break on exception is set, we also avoid exception event debug callbacks.
2349         - When we return from the ScriptDebugServer to the JSC::Debugger, we may no
2350           longer call the debug hook callbacks if not needed. Hence, the m_currentCallFrame
2351           pointer in the ScriptDebugServer may become stale. To avoid this issue, before
2352           returning, the ScriptDebugServer will clear its m_currentCallFrame if
2353           needsOpDebugCallbacks() is false.
2354
2355         * bindings/js/ScriptDebugServer.cpp:
2356         (WebCore::ScriptDebugServer::setBreakpoint):
2357         (WebCore::ScriptDebugServer::removeBreakpoint):
2358         (WebCore::ScriptDebugServer::clearBreakpoints):
2359         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
2360         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
2361         (WebCore::ScriptDebugServer::breakProgram):
2362         (WebCore::ScriptDebugServer::stepIntoStatement):
2363         (WebCore::ScriptDebugServer::dispatchDidContinue):
2364         (WebCore::ScriptDebugServer::exception):
2365         (WebCore::ScriptDebugServer::didReachBreakpoint):
2366         * inspector/InspectorDebuggerAgent.cpp:
2367         (WebCore::InspectorDebuggerAgent::reset):
2368
2369 2013-10-21  Myles C. Maxfield  <mmaxfield@apple.com>
2370
2371         Grammar markers are not updated when switching between 1x and 2x
2372         https://bugs.webkit.org/show_bug.cgi?id=122146
2373
2374         Reviewed by Dean Jackson.
2375
2376         When running editing/spelling/grammar-markers-hidpi.html, the 2x
2377         grammar/spelling dot resources are cached. If you then run
2378         editing/spelling/grammar-markers.html without tearing down WebKit,
2379         it re-uses the 2x dots. The difference between the two tests is a call
2380         to testRunner.setBackingScaleFactor().
2381
2382         We create a NSColor from an NSImage, and remember it in a static
2383         variable. However, NSColor inspects the current graphics context to
2384         determine which resolution to use, and then remembers that decision.
2385         Therefore, we want to recreate the NSColor whenever the device pixel
2386         ratio changes. This patch adds a new static function to GraphicsContext
2387         which recreates this NSColor every time the ratio changes.
2388
2389         Tests: editing/spelling/grammar-markers.html
2390                editing/spelling/inline_spelling_markers.html
2391
2392         * platform/graphics/mac/GraphicsContextMac.mm:
2393         (WebCore::makePattern):
2394         (WebCore::GraphicsContext::drawLineForDocumentMarker):
2395
2396 2013-10-21  Simon Fraser  <simon.fraser@apple.com>
2397
2398         Use pink layer borders for compositing layers with a contents layer
2399         https://bugs.webkit.org/show_bug.cgi?id=123118
2400
2401         Reviewed by Dean Jackson.
2402
2403         With the existing layer border colors, it's not possible to distinguish an empty
2404         layer from one with solid color, image or video contents. So use a pink color
2405         for those. This makes it easier to diagnose bugs like 122784.
2406
2407         * platform/graphics/GraphicsLayer.cpp:
2408         (WebCore::GraphicsLayer::getDebugBorderInfo):
2409
2410 2013-10-21  Jer Noble  <jer.noble@apple.com>
2411
2412         Limit use of display sleep assertion when <video> element is off-screen.
2413         https://bugs.webkit.org/show_bug.cgi?id=123041
2414
2415         Reviewed by Darin Adler.
2416
2417         Use page visibility changes to suspend and resume the use of sleep assertions in
2418         HTMLMediaElement.
2419
2420         Page will propogate the page visibility change notifications to its Documents, which
2421         will further propogate those notifications to registered elements.  Upon receiving
2422         these notifications, HTMLMediaElement will release or take a DisplaySleepDisabler
2423         token if necessary.
2424
2425         Also, rename HTMLMediaElement's updateDisableSleep() to updateSleepDisabling() and wrap
2426         the implementation in a PLATFORM(MAC) guard rather than at each call site.
2427
2428         * dom/Document.cpp:
2429         (WebCore::Document::registerForVisibilityStateCallbacks): Added registration method.
2430         (WebCore::Document::unregisterForVisibilityStateCallbacks): Added unregistration method.
2431         (WebCore::Document::visibilityStateChanged): Call all registered clients.
2432         * dom/Document.h:
2433         * dom/Element.h:
2434         (WebCore::Element::visibilityStateChanged): Added default virtual method to be overridden
2435             by subclasses.
2436         * html/HTMLMediaElement.cpp:
2437         (WebCore::HTMLMediaElement::HTMLMediaElement): Register for the notification, and check the
2438             current status of Document::hidden().
2439         (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for the notification.
2440         (WebCore::HTMLMediaElement::visibilityStateChanged): Set m_displaySleepDisablingSuspended
2441             and call updateSleepDisabling().
2442         (WebCore::HTMLMediaElement::shouldDisableSleep): Add a check for m_displaySleepDisablingSuspended.
2443         * html/HTMLMediaElement.h:
2444         * page/Page.cpp:
2445         (WebCore::Page::setVisibilityState): Pass to every child document.
2446
2447         Rename updateDisableSleep() -> updateSleepDisabling():
2448         * html/HTMLMediaElement.cpp:
2449         (WebCore::HTMLMediaElement::HTMLMediaElement):
2450         (WebCore::HTMLMediaElement::~HTMLMediaElement):
2451         (WebCore::HTMLMediaElement::parseAttribute):
2452         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
2453         (WebCore::HTMLMediaElement::clearMediaPlayer):
2454         (WebCore::HTMLMediaElement::stop):
2455
2456 2013-10-21  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2457
2458         MediaStreamTrack now tracks its own state
2459         https://bugs.webkit.org/show_bug.cgi?id=123025
2460
2461         Reviewed by Jer Noble.
2462
2463         The spec says that a MediaStreamSource can be shared by different tracks,
2464         so a track must have its own state tracking, synchronizing with its MediaStreamSource when
2465         the underlying MediaStreamSource changes the readyState.
2466         In the old implementation if a user invoked the stop method, its readyState method was still
2467         returning the MediaStreamSource state, which was wrong.
2468         This also adds a setEnabled method, which can be used to set the state of a track when a
2469         remote peer ends it, for instance.
2470
2471         No new tests needed.
2472
2473         * Modules/mediastream/MediaStreamTrack.cpp:
2474         (WebCore::MediaStreamTrack::readyState):
2475         (WebCore::MediaStreamTrack::setState):
2476         (WebCore::MediaStreamTrack::stopProducingData):
2477         (WebCore::MediaStreamTrack::ended):
2478         (WebCore::MediaStreamTrack::sourceStateChanged):
2479         (WebCore::MediaStreamTrack::trackDidEnd):
2480         * Modules/mediastream/MediaStreamTrack.h:
2481
2482 2013-10-21  Tim Horton  <timothy_horton@apple.com>
2483
2484         Remote Layer Tree: Clean up transaction logging
2485         https://bugs.webkit.org/show_bug.cgi?id=123116
2486
2487         Reviewed by Anders Carlsson.
2488
2489         * WebCore.exp.in:
2490         Export some TextStream functions.
2491
2492 2013-10-21  Brady Eidson  <beidson@apple.com>
2493
2494         Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
2495         https://bugs.webkit.org/show_bug.cgi?id=123105
2496
2497         Reviewed by Anders Carlsson.
2498
2499         Export more required headers:
2500         * WebCore.xcodeproj/project.pbxproj:
2501
2502         Flesh out many of the pure virtual methods on IDBBackingStoreInterface, as well as
2503         the RecordIdentifier and Cursor classes:
2504
2505         * Modules/indexeddb/IDBBackingStoreInterface.h:
2506         (WebCore::IDBBackingStoreInterface::RecordIdentifier::~RecordIdentifier):
2507         (WebCore::IDBBackingStoreInterface::Cursor::~Cursor):
2508
2509         Use IDBBackingStoreInterface, IDBBackingStoreInterface::RecordIdentifier, and
2510         IDBBackingStoreInterface::Cursor wherever possible:
2511
2512         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
2513         * Modules/indexeddb/IDBFactoryBackendInterface.h:
2514
2515         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2516         (WebCore::IDBBackingStoreLevelDB::putRecord):
2517         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
2518         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
2519         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
2520         (WebCore::ObjectStoreKeyCursorImpl::clone):
2521         (WebCore::ObjectStoreCursorImpl::clone):
2522         (WebCore::IndexKeyCursorImpl::clone):
2523         (WebCore::IndexCursorImpl::clone):
2524         (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
2525         (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
2526         (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
2527         (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
2528         (WebCore::IDBBackingStoreLevelDB::Transaction::Transaction):
2529         (WebCore::IDBBackingStoreLevelDB::Transaction::begin):
2530         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2531         (WebCore::IDBBackingStoreLevelDB::RecordIdentifier::RecordIdentifier):
2532
2533         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
2534         (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
2535         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
2536
2537         (WebCore::IDBCursorBackendLevelDB::create):
2538         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
2539         (WebCore::IDBDatabaseBackendLevelDB::create):
2540         (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
2541         (WebCore::IDBDatabaseBackendLevelDB::backingStore):
2542         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
2543         (WebCore::IDBDatabaseBackendLevelDB::createTransaction):
2544         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
2545
2546         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2547         (WebCore::IDBFactoryBackendLevelDB::createTransactionBackend):
2548         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
2549
2550         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
2551         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
2552         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
2553         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
2554         (WebCore::IDBObjectStoreBackendLevelDB::makeIndexWriters):
2555         (WebCore::IDBObjectStoreBackendLevelDB::generateKey):
2556         (WebCore::IDBObjectStoreBackendLevelDB::updateKeyGenerator):
2557         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
2558
2559         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
2560         (WebCore::IDBTransactionBackendLevelDB::create):
2561         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
2562         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
2563
2564         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
2565         (WebCore::GetOperation::perform):
2566         (WebCore::OpenCursorOperation::perform):
2567         (WebCore::CountOperation::perform):
2568         (WebCore::DeleteRangeOperation::perform):
2569         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
2570         (WebCore::CreateObjectStoreOperation::create):
2571         (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
2572         (WebCore::DeleteObjectStoreOperation::create):
2573         (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
2574         (WebCore::CreateIndexOperation::create):
2575         (WebCore::CreateIndexOperation::CreateIndexOperation):
2576         (WebCore::DeleteIndexOperation::create):
2577         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
2578         (WebCore::GetOperation::create):
2579         (WebCore::GetOperation::GetOperation):
2580         (WebCore::PutOperation::create):
2581         (WebCore::PutOperation::PutOperation):
2582         (WebCore::OpenCursorOperation::create):
2583         (WebCore::OpenCursorOperation::OpenCursorOperation):
2584         (WebCore::CountOperation::create):
2585         (WebCore::CountOperation::CountOperation):
2586         (WebCore::DeleteRangeOperation::create):
2587         (WebCore::DeleteRangeOperation::DeleteRangeOperation):
2588         (WebCore::ClearOperation::create):
2589         (WebCore::ClearOperation::ClearOperation):
2590
2591 2013-10-21  Zoltan Horvath  <zoltan@webkit.org>
2592
2593         [CSS Shapes][CSS Regions] Don't apply shape-inside when we have multiple auto-height regions and the height is not resolved
2594         https://bugs.webkit.org/show_bug.cgi?id=123103
2595
2596         Reviewed by David Hyatt.
2597
2598         When we have multiple regions with auto-height, the region's height is not resolved from other elements we can't apply the
2599         the shape on the region. This patch prevents to apply the shape and fixes the behavior for these cases.
2600
2601         Test: fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html
2602
2603         * rendering/RenderBlock.cpp:
2604         (WebCore::RenderBlock::layoutShapeInsideInfo):
2605         * rendering/RenderBlockLineLayout.cpp:
2606         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
2607
2608 2013-10-21  Tim Horton  <timothy_horton@apple.com>
2609
2610         Remote Layer Tree: Backing store should take contentsScale into account
2611         https://bugs.webkit.org/show_bug.cgi?id=123106
2612
2613         Reviewed by Simon Fraser.
2614
2615         * WebCore.exp.in:
2616         Export FloatRect::scale.
2617
2618 2013-10-21  Andreas Kling  <akling@apple.com>
2619
2620         RenderScrollbarPart doesn't need styleWillChange().
2621         <https://webkit.org/b/123113>
2622
2623         We will call setInline(false) in styleDidChange(), there's no need
2624         to override styleWillChange() just to do it twice.
2625
2626         Reviewed by Darin Adler.
2627
2628 2013-10-21  Mihai Maerean  <mmaerean@adobe.com>
2629
2630         [CSS Regions] The layers from the flow thread should be collected under the regions' layers.
2631         https://bugs.webkit.org/show_bug.cgi?id=120457
2632
2633         Reviewed by David Hyatt.
2634
2635         This patch is based on the work of Alexandru Chiculita at https://bugs.webkit.org/attachment.cgi?id=203872&action=review
2636
2637         The composited layers inside the named flow threads are collected as part of the regions (as children of the
2638         GraphicsLayer of the layer that corresponds to the region (which is attached to the parent renderer of
2639         RenderNameFlowFragment)).
2640         When a region displays a layer that needs accelerated compositing we activate the accelerated compositing for
2641         that region too (inside RenderLayerCompositor::computeRegionCompositingRequirements).
2642
2643         This patch has landed before (as http://trac.webkit.org/changeset/156451), but was reverted because
2644         fast/multicol/mixed-positioning-stacking-order.html failed. The fix is inside RenderLayerCompositor::canBeComposited
2645         that only enables compositing for layers inside flow threads that collect the graphics layers under the regions.
2646
2647         Another change from changeset #156451 is that now the region renderers are created as anonymous renderers under
2648         the element that has the flow-from property. When a composited layer is needed for the region, it sits in it's
2649         parent renderer, not in the region renderer (RenderNamedFlowFragment).
2650
2651         Tests: compositing/regions/crash-transform-inside-region.html
2652                compositing/regions/floated-region-with-transformed-child.html
2653                compositing/regions/move-layer-from-one-region-to-another.html
2654                compositing/regions/propagate-region-box-shadow-border-padding-for-video.html
2655                compositing/regions/propagate-region-box-shadow-border-padding.html
2656                compositing/regions/region-as-layer-in-another-flowthread.html
2657                compositing/regions/transform-transparent-positioned-video-inside-region.html
2658                compositing/regions/transformed-layer-inside-transformed-layer.html
2659                compositing/regions/z-index-update.html
2660                compositing/regions/z-index.html
2661
2662         * rendering/FlowThreadController.cpp:
2663         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
2664         * rendering/RenderElement.cpp:
2665         (WebCore::RenderElement::propagateStyleToAnonymousChildren): Not for RenderFlowThreads, as they are updated
2666         through the RenderView::styleDidChange function.
2667         * rendering/RenderFlowThread.cpp:
2668         (WebCore::RenderFlowThread::layout): When the layout of the flow thread is over (including the 2 phase layout),
2669         we update all the mappings between the layers inside the flow thread and the regions where those layers will be
2670         painted.
2671         (WebCore::RenderFlowThread::hasCompositingRegionDescendant): Whether any of the regions has a compositing descendant.
2672         (WebCore::RenderFlowThread::getLayerListForRegion):
2673         (WebCore::RenderFlowThread::regionForCompositedLayer):
2674         (WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
2675         (WebCore::RenderFlowThread::collectsGraphicsLayersUnderRegions):
2676         (WebCore::RenderFlowThread::updateLayerToRegionMappings): Triggers an update of the layers if a layer has moved
2677         from a region to another since the last update.
2678         (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
2679         * rendering/RenderFlowThread.h:
2680         * rendering/RenderGeometryMap.cpp:
2681         (WebCore::RenderGeometryMap::pushRenderFlowThread):
2682         * rendering/RenderGeometryMap.h:
2683         * rendering/RenderLayer.cpp:
2684         (WebCore::RenderLayer::paintList):
2685         (WebCore::RenderLayer::enclosingFlowThreadAncestor):
2686         (WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions):
2687         (WebCore::RenderLayer::hitTestList):
2688         (WebCore::RenderLayer::calculateLayerBounds): When we calculate the bounds of the RenderView, we ignore those
2689         flow threads that collect the graphics layers under the regions.
2690         (WebCore::RenderLayer::dirtyZOrderLists):
2691         (WebCore::RenderLayer::dirtyNormalFlowList):
2692         * rendering/RenderLayer.h:
2693         * rendering/RenderLayerBacking.cpp:
2694         (WebCore::RenderLayerBacking::shouldClipCompositedBounds): Not if it's a flow thread that collects the graphics
2695         layers under the regions
2696         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Now adjusts the ancestorCompositingBounds for the FlowThread.
2697         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): Make sure that the region propagates
2698         its borders, paddings, outlines or box-shadows to layers inside it.
2699         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
2700         * rendering/RenderLayerBacking.h:
2701         * rendering/RenderLayerCompositor.cpp:
2702         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Now calls computeRegionCompositingRequirements.
2703         (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
2704         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Do not iterate the RenderFlowThread directly if
2705         we are going to collect the composited layers as part of regions.
2706         (WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
2707         (WebCore::RenderLayerCompositor::canBeComposited): CSS Regions flow threads do not need to be composited as we
2708         use composited RenderRegions to render the background of the RenderFlowThread.
2709         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): If it's a container of a css region.
2710         * rendering/RenderLayerCompositor.h:
2711         * rendering/RenderMultiColumnSet.cpp:
2712         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
2713         * rendering/RenderMultiColumnSet.h:
2714         * rendering/RenderNamedFlowFragment.h:
2715         (WebCore::RenderNamedFlowFragment::layerOwner): When the content inside the region requires the region to have a
2716         layer, the layer will be created on the region's parent renderer instead. This method returns that renderer
2717         holding the layer. The return value may be null.
2718         * rendering/RenderNamedFlowThread.cpp:
2719         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
2720         (WebCore::RenderNamedFlowThread::nextRendererForNode):
2721         (WebCore::RenderNamedFlowThread::previousRendererForNode):
2722         (WebCore::RenderNamedFlowThread::addFlowChild):
2723         (WebCore::RenderNamedFlowThread::removeFlowChild):
2724         (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
2725         * rendering/RenderNamedFlowThread.h: m_flowThreadChildList is now allocated through an OwnPtr to keep the render
2726         arena under the size limit.
2727         * rendering/RenderRegion.cpp:
2728         (WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
2729         * rendering/RenderRegion.h:
2730         (WebCore::toRenderRegion):
2731         * rendering/RenderTreeAsText.cpp:
2732         (WebCore::writeLayers):
2733         * WebCore.exp.in: WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions
2734
2735 2013-10-21  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2736
2737         Fixing mediastream debug build
2738         https://bugs.webkit.org/show_bug.cgi?id=123104
2739
2740         Reviewed by Andreas Kling.
2741
2742         No new tests needed.
2743
2744         * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
2745         (WebCore::RTCDTMFToneChangeEvent::create):
2746
2747 2013-10-21  Andreas Kling  <akling@apple.com>
2748
2749         Merge RenderListMarker::styleWillChange() into styleDidChange().
2750         <https://webkit.org/b/123098>
2751
2752         If the marker's list-style-type or list-style-position changed, we
2753         need to dirty the layout. Move this logic to styleDidChange() so we
2754         can get rid of one styleWillChange() overload.
2755
2756         Reviewed by Antti Koivisto.
2757
2758 2013-10-21  Mihai Maerean  <mmaerean@adobe.com>
2759
2760         [CSS Regions] Fix WHITESPACE issues in the CSS grammar.
2761         https://bugs.webkit.org/show_bug.cgi?id=123082
2762
2763         Reviewed by Andreas Kling.
2764
2765         This is a port of Rune Lillesveen's patch from https://codereview.chromium.org/25607005
2766
2767         Fix WHITESPACE issues in the CSS grammar.
2768
2769         A single WHITESPACE token consumes consecutive spaces, but does not consume
2770         spaces separated by comments. That means S* and S+ in CSS grammars need to
2771         accept multiple WHITESPACE tokens. Additionally, white spaces are not
2772         mandatory to separate an @-symbol and the rest of the prelude.
2773
2774         Use space non-terminal instead of WHITESPACE for S+ in calc expressions.
2775
2776         Use maybe_space non-terminal instead of WHITESPACE for S* after @-webkit-filter
2777         and @-webkit-region.
2778
2779         Tests: fast/css/calc-comments-allowed.html
2780                fast/regions/webkit-region-syntax-space.html
2781
2782         * css/CSSGrammar.y.in:
2783
2784 2013-10-21  Anton Obzhirov  <a.obzhirov@samsung.com>
2785
2786         [ATK] Use atk_object_notify_state_change instead of manually emitting signals
2787         https://bugs.webkit.org/show_bug.cgi?id=122968
2788
2789         Reviewed by Mario Sanchez Prada.
2790
2791         Refactor emitting "state-change" event to use atk_object_notify_state_change
2792         instead of using g_signal_emit_by_name.
2793
2794         * accessibility/atk/AXObjectCacheAtk.cpp:
2795         (WebCore::notifyChildrenSelectionChange):
2796         (WebCore::AXObjectCache::postPlatformNotification):
2797         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
2798         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2799         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2800         (webkitAccessibleDetach):
2801         * editing/atk/FrameSelectionAtk.cpp:
2802         (WebCore::maybeEmitTextFocusChange):
2803
2804 2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2805
2806         Make TYPE_CASTS_BASE more flexible
2807         https://bugs.webkit.org/show_bug.cgi?id=122951
2808
2809         Reviewed by Andreas Kling.
2810
2811         TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult
2812         to be used by other type casts. For instance, CSSValue, Accessibility and so on.
2813         This patch modifies TYPE_CASTS_BASE which can support other type casts.
2814
2815         Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h.
2816
2817         No new tests, no behavior changes.
2818
2819         * dom/Document.h:
2820         * dom/Node.h:
2821
2822 2013-10-21  Santosh Mahto  <santosh.ma@samsung.com>
2823
2824         ASSERTION FAILED: !style->propertyIsImportant(propertyID) in WebCore::setTextDecorationProperty
2825         https://bugs.webkit.org/show_bug.cgi?id=122097
2826
2827         Reviewed by Ryosuke Niwa.
2828
2829         When remove format command is called we pushdown the ancestor style
2830         down to its children. Currently applying inline style to iframe
2831         while pushing down style which causes iframe to be reinserted in tree and
2832         triggres again subframe loading which repeats everytime and finally
2833         crash happens. So we should avoid applying inline style to iframe
2834         element as it doesnot reflect in its content while pushing down style
2835         on it.
2836
2837         And ASSERT call has been removed from setTextDecoration property as
2838         the scenario is perfectly valid case.
2839
2840         Test: editing/execCommand/remove-format-textdecoration-in-iframe.html
2841
2842         * editing/ApplyStyleCommand.cpp:
2843         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Return if
2844         element is iframe.
2845         * editing/EditingStyle.cpp:
2846         (WebCore::StyleChange::setTextDecorationProperty): Remove ASSERT.
2847
2848 2013-10-20  Sam Weinig  <sam@webkit.org>
2849
2850         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 5)
2851         https://bugs.webkit.org/show_bug.cgi?id=122969
2852
2853         Reviewed by Antti Koivisto.
2854
2855         - Move m_lineBoxes to RenderBlockFlow.
2856
2857         * accessibility/AccessibilityRenderObject.cpp:
2858         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2859         * rendering/HitTestResult.cpp:
2860         (WebCore::HitTestResult::innerTextIfTruncated):
2861         * rendering/RenderBlock.cpp:
2862         (WebCore::RenderBlock::RenderBlock):
2863         (WebCore::RenderBlock::willBeDestroyed):
2864         (WebCore::RenderBlock::deleteLineBoxTree):
2865         (WebCore::RenderBlock::isSelfCollapsingBlock):
2866         (WebCore::RenderBlock::removeFromDelayedUpdateScrollInfoSet):
2867         (WebCore::RenderBlock::paintContents):
2868         (WebCore::blockDirectionOffset):
2869         (WebCore::inlineDirectionOffset):
2870         (WebCore::RenderBlock::inlineSelectionGaps):
2871         (WebCore::RenderBlock::hitTestContents):
2872         (WebCore::positionForPointRespectingEditingBoundaries):
2873         (WebCore::RenderBlock::positionForPointWithInlineChildren):
2874         (WebCore::RenderBlock::firstLineBoxBaseline):
2875         (WebCore::RenderBlock::inlineBlockBaseline):
2876         (WebCore::RenderBlock::addFocusRingRectsForInlineChildren):
2877         (WebCore::RenderBlock::addFocusRingRects):
2878         (WebCore::RenderBlock::showLineTreeAndMark):
2879         * rendering/RenderBlock.h:
2880         (WebCore::RenderBlock::addOverflowFromInlineChildren):
2881         (WebCore::RenderBlock::hasInlineBoxChildren):
2882         (WebCore::RenderBlock::paintInlineChildren):
2883         (WebCore::RenderBlock::hitTestInlineChildren):
2884         * rendering/RenderBlockFlow.cpp:
2885         (WebCore::RenderBlockFlow::RenderBlockFlow):
2886         (WebCore::RenderBlockFlow::willBeDestroyed):
2887         (WebCore::RenderBlockFlow::deleteLineBoxTree):
2888         (WebCore::RenderBlockFlow::hitTestInlineChildren):
2889         (WebCore::RenderBlockFlow::adjustForBorderFit):
2890         (WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
2891         (WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
2892         (WebCore::RenderBlockFlow::firstLineBoxBaseline):
2893         (WebCore::RenderBlockFlow::inlineBlockBaseline):
2894         (WebCore::RenderBlockFlow::inlineSelectionGaps):
2895         (WebCore::RenderBlockFlow::positionForBox):
2896         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
2897         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
2898         (WebCore::RenderBlockFlow::paintInlineChildren):
2899         (WebCore::RenderBlockFlow::relayoutForPagination):
2900         (WebCore::RenderBlockFlow::showLineTreeAndMark):
2901         * rendering/RenderBlockFlow.h:
2902         (WebCore::RenderBlockFlow::lineBoxes):
2903         (WebCore::RenderBlockFlow::firstLineBox):
2904         (WebCore::RenderBlockFlow::lastLineBox):
2905         (WebCore::RenderBlockFlow::firstRootBox):
2906         (WebCore::RenderBlockFlow::lastRootBox):
2907         * rendering/RenderBlockLineLayout.cpp:
2908         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
2909         * rendering/RootInlineBox.cpp:
2910         (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
2911
2912 2013-10-20  Andreas Kling  <akling@apple.com>
2913
2914         Avoid unnecessary vector copy in AnimationController event dispatch.
2915         <https://webkit.org/b/122994>
2916
2917         Use Vector's move constructor instead of making a copy of the pending
2918         events queue and then clearing it.
2919
2920         Reviewed by Simon Fraser.
2921
2922 2013-10-19  Brady Eidson  <beidson@apple.com>
2923
2924         Add abstract IDBBackingStoreInterface, use it to get IDBDatabaseBackendLevelDB closer to going cross-platform
2925         https://bugs.webkit.org/show_bug.cgi?id=123074
2926
2927         Reviewed by Andreas Kling.
2928
2929         * Modules/indexeddb/IDBBackingStoreInterface.h: Added.
2930         (WebCore::IDBBackingStoreInterface::~IDBBackingStoreInterface):
2931         (WebCore::IDBBackingStoreInterface::Transaction::~Transaction):
2932
2933         * Modules/indexeddb/IDBTransactionBackendInterface.h:
2934
2935         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2936         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseIntVersion):
2937         (WebCore::IDBBackingStoreLevelDB::createObjectStore):
2938         (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
2939         (WebCore::IDBBackingStoreLevelDB::getRecord):
2940         (WebCore::IDBBackingStoreLevelDB::putRecord):
2941         (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
2942         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
2943         (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
2944         (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
2945         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
2946         (WebCore::IDBBackingStoreLevelDB::createIndex):
2947         (WebCore::IDBBackingStoreLevelDB::deleteIndex):
2948         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
2949         (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
2950         (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
2951         (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
2952         (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
2953         (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
2954         (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
2955         (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
2956         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2957         (WebCore::IDBBackingStoreLevelDB::Transaction::reset):
2958         (WebCore::IDBBackingStoreLevelDB::Transaction::levelDBTransactionFrom):
2959
2960         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
2961         (WebCore::IDBCursorBackendLevelDB::deleteFunction):
2962         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
2963
2964         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
2965         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
2966         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
2967         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
2968         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
2969
2970         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
2971         (WebCore::IDBTransactionBackendLevelDB::backingStoreTransaction):
2972
2973         * WebCore.xcodeproj/project.pbxproj:
2974         * GNUmakefile.list.am:
2975
2976 2013-10-20  Andreas Kling  <akling@apple.com>
2977
2978         Use PassRef for StyleSheetContents.
2979         <https://webkit.org/b/123083>
2980
2981         Let functions that return newly-constructed StyleSheetContents
2982         objects vend PassRef<StyleSheetContents> instead of PassRefPtr.
2983
2984         Updated functions that take StyleSheetContents in arguments
2985         accordingly. And CSSStyleSheet now has a Ref internally. Woo!
2986
2987         Reviewed by Antti Koivisto.
2988
2989 2013-10-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2990
2991         Removing "unused parameter" compiling warnings from WebKit2 and WebCore
2992         https://bugs.webkit.org/show_bug.cgi?id=123075
2993
2994         Reviewed by Andreas Kling.
2995
2996         No new tests needed.
2997
2998         * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
2999         (WebCore::RTCDTMFToneChangeEvent::create):
3000         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
3001         (lineAtPositionForAtkBoundary):
3002         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3003         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
3004
3005 2013-10-19  Andreas Kling  <akling@apple.com>
3006
3007         Use PassRef for constructing StyleRules.
3008         <https://webkit.org/b/123072>
3009
3010         Let functions that return newly-constructed StyleRuleFoo objects
3011         vend PassRef<StyleRuleFoo> instead of PassRefPtr.
3012
3013         Since StyleRuleBase::copy() has to return something, we can't rely
3014         on ASSERT_NOT_REACHED() + return nullptr anymore, so I've replaced
3015         those with CRASH(). No call sites actually handled null anyway.
3016
3017         Reviewed by Sam Weinig.
3018
3019 2013-10-19  Jer Noble  <jer.noble@apple.com>
3020
3021         Unreviewed roll out of r157695; broke Mac builds.
3022
3023         * Configurations/FeatureDefines.xcconfig:
3024
3025 2013-10-07  Jer Noble  <jer.noble@apple.com>
3026
3027         [MSE] [Mac] Enable MediaSource on the Mac
3028         https://bugs.webkit.org/show_bug.cgi?id=122484
3029
3030         Reviewed by Darin Adler.
3031
3032         Enable ENABLE_MEDIA_SOURCE.
3033
3034         * Configurations/FeatureDefines.xcconfig:
3035
3036 2013-10-19  Sam Weinig  <sam@webkit.org>
3037
3038         CTTE: Tighten up type usage around InputType::innerTextElement()
3039         https://bugs.webkit.org/show_bug.cgi?id=123078
3040
3041         Reviewed by Anders Carlsson.
3042
3043         * editing/TextIterator.cpp:
3044         (WebCore::TextIterator::handleReplacedElement):
3045         * html/HTMLElement.h:
3046         (WebCore::HTMLElement::isTextControlInnerTextElement):
3047         * html/HTMLInputElement.cpp:
3048         (WebCore::HTMLInputElement::innerTextElement):
3049         * html/HTMLInputElement.h:
3050         * html/HTMLTextAreaElement.cpp:
3051         (WebCore::HTMLTextAreaElement::innerTextElement):
3052         * html/HTMLTextAreaElement.h:
3053         * html/HTMLTextFormControlElement.cpp:
3054         (WebCore::hasVisibleTextArea):
3055         (WebCore::HTMLTextFormControlElement::selection):
3056         (WebCore::HTMLTextFormControlElement::innerTextValue):
3057         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
3058         * html/HTMLTextFormControlElement.h:
3059         * html/InputType.h:
3060         (WebCore::InputType::innerTextElement):
3061         * html/TextFieldInputType.cpp:
3062         (WebCore::TextFieldInputType::forwardEvent):
3063         (WebCore::TextFieldInputType::innerTextElement):
3064         * html/TextFieldInputType.h:
3065         * html/shadow/TextControlInnerElements.cpp:
3066         (WebCore::TextControlInnerTextElement::renderer):
3067         * html/shadow/TextControlInnerElements.h:
3068         (WebCore::isTextControlInnerTextElement):
3069         * rendering/RenderObject.h:
3070         (WebCore::RenderObject::isTextControlInnerBlock):
3071         * rendering/RenderTextControl.cpp:
3072         (WebCore::RenderTextControl::innerTextElement):
3073         (WebCore::RenderTextControl::styleDidChange):
3074         (WebCore::RenderTextControl::textBlockLogicalWidth):
3075         (WebCore::RenderTextControl::updateFromElement):
3076         (WebCore::RenderTextControl::computeLogicalHeight):
3077         (WebCore::RenderTextControl::hitInnerTextElement):
3078         * rendering/RenderTextControl.h:
3079         * rendering/RenderTextControlSingleLine.cpp:
3080         (WebCore::RenderTextControlSingleLine::layout):
3081         (WebCore::RenderTextControlSingleLine::styleDidChange):
3082         (WebCore::RenderTextControlSingleLine::autoscroll):
3083         (WebCore::RenderTextControlSingleLine::scroll):
3084         (WebCore::RenderTextControlSingleLine::logicalScroll):
3085         * rendering/RenderTextControlSingleLine.h:
3086         (WebCore::toRenderTextControlInnerBlock):
3087
3088 2013-10-19  Sam Weinig  <sam@webkit.org>
3089
3090         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 4)
3091         https://bugs.webkit.org/show_bug.cgi?id=122969
3092
3093         Reviewed by Andreas Kling.
3094
3095         - Fix classes derived from RenderBlockFlow that were still calling
3096           up to RenderBlock rather than RenderBlockFlow.
3097
3098         * rendering/RenderDetailsMarker.cpp:
3099         (WebCore::RenderDetailsMarker::paint):
3100         * rendering/RenderFieldset.cpp:
3101         (WebCore::RenderFieldset::computePreferredLogicalWidths):
3102         (WebCore::RenderFieldset::paintBoxDecorations):
3103         (WebCore::RenderFieldset::paintMask):
3104         * rendering/RenderFileUploadControl.cpp:
3105         (WebCore::RenderFileUploadControl::paintObject):
3106         * rendering/RenderFlowThread.cpp:
3107         (WebCore::RenderFlowThread::styleDidChange):
3108         (WebCore::RenderFlowThread::layout):
3109         (WebCore::RenderFlowThread::nodeAtPoint):
3110         * rendering/RenderFullScreen.cpp:
3111         (RenderFullScreenPlaceholder::willBeDestroyed):
3112         * rendering/RenderListItem.cpp:
3113         (WebCore::RenderListItem::styleDidChange):
3114         * rendering/RenderMultiColumnBlock.cpp:
3115         (WebCore::RenderMultiColumnBlock::styleDidChange):
3116         (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
3117         (WebCore::RenderMultiColumnBlock::addChild):
3118         * rendering/RenderProgress.cpp:
3119         (WebCore::RenderProgress::updateFromElement):
3120         * rendering/RenderRuby.cpp:
3121         (WebCore::RenderRubyAsBlock::styleDidChange):
3122         (WebCore::RenderRubyAsBlock::addChild):
3123         (WebCore::RenderRubyAsBlock::removeChild):
3124         * rendering/RenderRubyRun.cpp:
3125         (WebCore::RenderRubyRun::rubyBaseSafe):
3126         (WebCore::RenderRubyRun::addChild):
3127         (WebCore::RenderRubyRun::removeChild):
3128         (WebCore::RenderRubyRun::layout):
3129         * rendering/RenderRubyText.cpp:
3130         (WebCore::RenderRubyText::textAlignmentForLine):
3131         (WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
3132         * rendering/RenderTableCaption.cpp:
3133         (WebCore::RenderTableCaption::willBeRemovedFromTree):
3134         * rendering/RenderTableCell.cpp:
3135         (WebCore::RenderTableCell::willBeRemovedFromTree):
3136         (WebCore::RenderTableCell::computePreferredLogicalWidths):
3137         (WebCore::RenderTableCell::offsetFromContainer):
3138         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
3139         (WebCore::RenderTableCell::computeRectForRepaint):
3140         (WebCore::RenderTableCell::styleDidChange):
3141         (WebCore::RenderTableCell::borderLeft):
3142         (WebCore::RenderTableCell::borderRight):
3143         (WebCore::RenderTableCell::borderTop):
3144         (WebCore::RenderTableCell::borderBottom):
3145         (WebCore::RenderTableCell::borderStart):
3146         (WebCore::RenderTableCell::borderEnd):
3147         (WebCore::RenderTableCell::borderBefore):
3148         (WebCore::RenderTableCell::borderAfter):
3149         (WebCore::RenderTableCell::paint):
3150         * rendering/RenderTextControl.cpp:
3151         (WebCore::RenderTextControl::styleDidChange):
3152         * rendering/RenderTextControlSingleLine.cpp:
3153         (WebCore::RenderTextControlSingleLine::scrollWidth):
3154         (WebCore::RenderTextControlSingleLine::scrollHeight):
3155         (WebCore::RenderTextControlSingleLine::scrollLeft):
3156         (WebCore::RenderTextControlSingleLine::scrollTop):
3157         (WebCore::RenderTextControlSingleLine::scroll):
3158         (WebCore::RenderTextControlSingleLine::logicalScroll):
3159         * rendering/RenderTextTrackCue.cpp:
3160         (WebCore::RenderTextTrackCue::layout):
3161         * rendering/RenderView.cpp:
3162         (WebCore::RenderView::layoutContent):
3163         (WebCore::RenderView::addChild):
3164         (WebCore::RenderView::visualOverflowRect):
3165         (WebCore::RenderView::styleDidChange):
3166         * rendering/svg/RenderSVGBlock.cpp:
3167         (WebCore::RenderSVGBlock::setStyle):
3168         (WebCore::RenderSVGBlock::updateFromStyle):
3169         (WebCore::RenderSVGBlock::willBeDestroyed):
3170         (WebCore::RenderSVGBlock::styleWillChange):
3171         (WebCore::RenderSVGBlock::styleDidChange):
3172         * rendering/svg/SVGTextQuery.cpp:
3173         (WebCore::flowBoxForRenderer):
3174
3175 2013-10-19  Sam Weinig  <sam@webkit.org>
3176
3177         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 3)
3178         https://bugs.webkit.org/show_bug.cgi?id=122969
3179
3180         Reviewed by Andreas Kling.
3181
3182         - Move containsNonZeroBidiLevel to RenderBlockFlow.
3183
3184         * editing/Editor.cpp:
3185         (WebCore::Editor::hasBidiSelection):
3186         * rendering/RenderBlock.cpp:
3187         * rendering/RenderBlock.h:
3188         * rendering/RenderBlockFlow.cpp:
3189         (WebCore::RenderBlockFlow::containsNonZeroBidiLevel):
3190         * rendering/RenderBlockFlow.h:
3191
3192 2013-10-18  Sam Weinig  <sam@webkit.org>
3193
3194         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 2)
3195         https://bugs.webkit.org/show_bug.cgi?id=122969
3196
3197         Reviewed by Antti Koivisto.
3198
3199         - Move truncation (e.g. line clamp and ellipse) support to RenderBlockFlow.
3200
3201         * rendering/EllipsisBox.cpp:
3202         (WebCore::EllipsisBox::EllipsisBox):
3203         (WebCore::EllipsisBox::paint):
3204         (WebCore::EllipsisBox::markupBox):
3205         (WebCore::EllipsisBox::selectionRect):
3206         (WebCore::EllipsisBox::paintSelection):
3207         (WebCore::EllipsisBox::nodeAtPoint):
3208         * rendering/EllipsisBox.h:
3209         * rendering/RenderBlock.cpp:
3210         * rendering/RenderBlock.h:
3211         * rendering/RenderBlockFlow.cpp:
3212         (WebCore::shouldCheckLines):
3213         (WebCore::RenderBlockFlow::lineAtIndex):
3214         (WebCore::RenderBlockFlow::lineCount):
3215         (WebCore::getHeightForLineCount):
3216         (WebCore::RenderBlockFlow::heightForLineCount):
3217         (WebCore::RenderBlockFlow::clearTruncation):
3218         * rendering/RenderBlockFlow.h:
3219         * rendering/RenderDeprecatedFlexibleBox.cpp:
3220         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
3221         (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
3222         * rendering/RootInlineBox.cpp:
3223         (WebCore::RootInlineBox::placeEllipsis):
3224
3225 2013-10-19  Andreas Kling  <akling@apple.com>
3226
3227         StyleResolver should deal in PassRef<RenderStyle> where possible.
3228         <https://webkit.org/b/123061>
3229
3230         Make StyleResolver functions that returned or took RenderStyles
3231         by PassRefPtr use PassRef instead where possible.
3232
3233         Reviewed by Anders Carlsson.
3234
3235 2013-10-19  Brady Eidson  <beidson@apple.com>
3236
3237         Global rename of the class "IDBBackingStore" to "IDBBackingStoreLevelDB"
3238
3239         Rubberstamped by Anders Carlsson (And Andreas Kling wanted to, but he wasn’t around)
3240
3241         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3242         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3243         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
3244         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
3245         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
3246         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
3247         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
3248         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3249         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3250         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
3251         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
3252         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
3253         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
3254         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
3255         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
3256
3257 2013-10-19  peavo@outlook.com  <peavo@outlook.com>
3258
3259         [WinCairo] Link fails.
3260         https://bugs.webkit.org/show_bug.cgi?id=123019
3261
3262         Reviewed by Darin Adler.
3263
3264         Added empty CertificateInfo implementation for Curl.
3265
3266         * WebCore.vcxproj/WebCore.vcxproj:
3267         * WebCore.vcxproj/WebCore.vcxproj.filters:
3268         * platform/network/curl/CertificateInfoCurl.cpp: Added.
3269         (WebCore::CertificateInfo::CertificateInfo):
3270         (WebCore::CertificateInfo::~CertificateInfo):
3271
3272 2013-10-19  Filip Pizlo  <fpizlo@apple.com>
3273
3274         libWebCoreTestSupport should have explicit exports
3275         https://bugs.webkit.org/show_bug.cgi?id=123053
3276
3277         Reviewed by Oliver Hunt.
3278
3279         No new tests because there is no change in behavior.
3280
3281         * Configurations/WebCoreTestSupport.xcconfig:
3282         * testing/js/WebCoreTestSupport.h:
3283
3284 2013-10-18  Andreas Kling  <akling@apple.com>
3285
3286         Start passing RenderStyle around with PassRef.
3287         <https://webkit.org/b/123051>
3288
3289         Made the RenderStyle::create methods return PassRef<RenderStyle>
3290         and RenderElement::setStyle take a PassRef<RenderStyle>.
3291
3292         Reviewed by Darin Adler.
3293
3294 2013-10-18  Sam Weinig  <sam@webkit.org>
3295
3296         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 1)
3297         https://bugs.webkit.org/show_bug.cgi?id=122969
3298
3299         Reviewed by Dan Bernstein.
3300
3301         - Make the RootInlineBox constructor take a RenderBlockFlow.
3302         - Move createRootInlineBox, and createAndAppendRootInlineBox to RenderBlockFlow.
3303
3304         * editing/VisibleUnits.cpp:
3305         (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
3306         * rendering/InlineBox.cpp:
3307         (WebCore::InlineBox::locationIncludingFlipping):
3308         (WebCore::InlineBox::flipForWritingMode):
3309         * rendering/InlineFlowBox.cpp:
3310         (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
3311         * rendering/RenderBlock.cpp:
3312         * rendering/RenderBlock.h:
3313         * rendering/RenderBlockFlow.h:
3314         * rendering/RenderBlockLineLayout.cpp:
3315         (WebCore::RenderBlockFlow::createRootInlineBox):
3316         (WebCore::RenderBlockFlow::createAndAppendRootInlineBox):
3317         (WebCore::createInlineBoxForRenderer):
3318         (WebCore::RenderBlockFlow::createLineBoxes):
3319         * rendering/RenderBox.cpp:
3320         (WebCore::RenderBox::positionLineBox):
3321         * rendering/RenderListMarker.cpp:
3322         (WebCore::RenderListMarker::localSelectionRect):
3323         * rendering/RenderReplaced.cpp:
3324         (WebCore::RenderReplaced::localSelectionRect):
3325         * rendering/RootInlineBox.cpp:
3326         (WebCore::RootInlineBox::RootInlineBox):
3327         (WebCore::RootInlineBox::rendererLineBoxes):
3328         (WebCore::RootInlineBox::placeEllipsis):
3329         (WebCore::RootInlineBox::containingRegion):
3330         (WebCore::RootInlineBox::setContainingRegion):
3331         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
3332         (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
3333         (WebCore::RootInlineBox::lineSnapAdjustment):
3334         (WebCore::RootInlineBox::lineSelectionGap):
3335         (WebCore::RootInlineBox::computeCaretRect):
3336         (WebCore::RootInlineBox::selectionTop):
3337         (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
3338         (WebCore::RootInlineBox::selectionBottom):
3339         (WebCore::RootInlineBox::blockDirectionPointInLine):
3340         (WebCore::RootInlineBox::blockFlow):
3341         (WebCore::RootInlineBox::closestLeafChildForPoint):
3342         (WebCore::RootInlineBox::removeLineBoxFromRenderObject):
3343         (WebCore::RootInlineBox::extractLineBoxFromRenderObject):
3344         (WebCore::RootInlineBox::attachLineBoxToRenderObject):
3345         * rendering/RootInlineBox.h:
3346         * rendering/TrailingFloatsRootInlineBox.h:
3347         * rendering/svg/RenderSVGText.h:
3348         (WebCore::toRenderSVGText):
3349         * rendering/svg/SVGRootInlineBox.cpp:
3350         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
3351         (WebCore::SVGRootInlineBox::renderSVGText):
3352         (WebCore::SVGRootInlineBox::paint):
3353         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
3354         (WebCore::SVGRootInlineBox::layoutRootBox):
3355         * rendering/svg/SVGRootInlineBox.h:
3356
3357 2013-10-18  Tim Horton  <timothy_horton@apple.com>
3358
3359         Remote Layer Tree: Double-buffering and minimization of repaints
3360         https://bugs.webkit.org/show_bug.cgi?id=123043
3361
3362         Reviewed by Simon Fraser.
3363
3364         No new tests, not yet testable.
3365
3366         * WebCore.exp.in:
3367         Export one version of drawLayerContents and Region::contains.
3368
3369         * WebCore.xcodeproj/project.pbxproj:
3370         Expose WebLayer.h as a private header.
3371
3372         * platform/graphics/mac/WebLayer.h:
3373         Clean up this header, and add a new drawLayerContents that can operate without a CALayer.
3374
3375         * platform/graphics/mac/WebLayer.mm:
3376         (WebCore::drawLayerContents):
3377         Split drawLayerContents into one method that acquires properties CALayer,
3378         and one that just does the painting.
3379
3380 2013-10-18  Anders Carlsson  <andersca@apple.com>
3381
3382         Try to fix the Lion build.
3383
3384         * bindings/objc/ObjCNodeFilterCondition.h:
3385
3386 2013-10-18  Daniel Bates  <dabates@apple.com>
3387
3388         [iOS] Upstream WebSafe{GCActivityCallback, IncrementalSweeper}IOS
3389         https://bugs.webkit.org/show_bug.cgi?id=123049
3390
3391         Reviewed by Mark Hahnenberg.
3392
3393         * WebCore.xcodeproj/project.pbxproj:
3394         * platform/ios/WebSafeGCActivityCallbackIOS.h: Added.
3395         * platform/ios/WebSafeIncrementalSweeperIOS.h: Added.
3396
3397 2013-10-18  Anders Carlsson  <andersca@apple.com>
3398
3399         Remove spaces between template angle brackets
3400         https://bugs.webkit.org/show_bug.cgi?id=123040
3401
3402         Reviewed by Andreas Kling.
3403
3404         * Modules/encryptedmedia/MediaKeySession.h:
3405         * Modules/encryptedmedia/MediaKeys.h:
3406         * Modules/geolocation/Geolocation.h:
3407         * Modules/geolocation/GeolocationController.cpp:
3408         (WebCore::GeolocationController::positionChanged):
3409         (WebCore::GeolocationController::errorOccurred):
3410         * Modules/geolocation/GeolocationController.h:
3411         * Modules/indexeddb/IDBCallbacks.h:
3412         * Modules/indexeddb/IDBDatabase.h:
3413         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
3414         * Modules/indexeddb/IDBEventDispatcher.cpp:
3415         (WebCore::IDBEventDispatcher::dispatch):
3416         * Modules/indexeddb/IDBEventDispatcher.h:
3417         * Modules/indexeddb/IDBKey.h:
3418         * Modules/indexeddb/IDBObjectStore.h:
3419         * Modules/indexeddb/IDBPendingTransactionMonitor.cpp:
3420         * Modules/indexeddb/IDBRequest.cpp:
3421         (WebCore::IDBRequest::dispatchEvent):
3422         * Modules/indexeddb/IDBRequest.h:
3423         (WebCore::IDBRequest::onSuccessWithPrefetch):
3424         * Modules/indexeddb/IDBTransaction.cpp:
3425         (WebCore::IDBTransaction::dispatchEvent):
3426         * Modules/indexeddb/IDBTransaction.h:
3427         * Modules/mediacontrols/MediaControlsHost.cpp:
3428         (WebCore::MediaControlsHost::sortedTrackListForMenu):
3429         * Modules/mediacontrols/MediaControlsHost.h:
3430         * Modules/mediasource/MediaSource.cpp:
3431         (WebCore::MediaSource::activeRanges):
3432         * Modules/mediasource/MediaSource.h:
3433         * Modules/mediasource/MediaSourceBase.cpp:
3434         (WebCore::MediaSourceBase::buffered):
3435         * Modules/mediasource/MediaSourceBase.h:
3436         * Modules/mediasource/MediaSourceRegistry.cpp:
3437         (WebCore::MediaSourceRegistry::unregisterURL):
3438         * Modules/mediasource/MediaSourceRegistry.h:
3439         * Modules/mediasource/SourceBufferList.h:
3440         * Modules/mediasource/WebKitMediaSource.cpp:
3441         (WebCore::WebKitMediaSource::activeRanges):
3442         * Modules/mediasource/WebKitMediaSource.h:
3443         * Modules/mediasource/WebKitSourceBufferList.h:
3444         * Modules/mediastream/MediaStream.cpp:
3445         (WebCore::MediaStream::scheduledEventTimerFired):
3446         * Modules/mediastream/MediaStream.h:
3447         * Modules/mediastream/MediaStreamRegistry.h:
3448         * Modules/mediastream/MediaStreamTrack.h:
3449         * Modules/mediastream/RTCDTMFSender.cpp:
3450         (WebCore::RTCDTMFSender::scheduledEventTimerFired):
3451         * Modules/mediastream/RTCDTMFSender.h:
3452         * Modules/mediastream/RTCDataChannel.cpp:
3453         (WebCore::RTCDataChannel::scheduledEventTimerFired):
3454         * Modules/mediastream/RTCDataChannel.h:
3455         * Modules/mediastream/RTCPeerConnection.cpp:
3456         (WebCore::RTCPeerConnection::stop):
3457         (WebCore::RTCPeerConnection::scheduledEventTimerFired):
3458         * Modules/mediastream/RTCPeerConnection.h:
3459         * Modules/mediastream/RTCStatsResponse.h:
3460         (WebCore::RTCStatsResponse::result):
3461         * Modules/notifications/Notification.h:
3462         * Modules/notifications/NotificationCenter.h:
3463         * Modules/speech/SpeechSynthesis.cpp:
3464         (WebCore::SpeechSynthesis::getVoices):
3465         * Modules/speech/SpeechSynthesis.h:
3466         * Modules/webaudio/AudioBuffer.h:
3467         * Modules/webaudio/AudioNode.h:
3468         * Modules/webaudio/AudioNodeOutput.h:
3469         * Modules/webaudio/MediaStreamAudioSource.cpp:
3470         (WebCore::MediaStreamAudioSource::setAudioFormat):
3471         (WebCore::MediaStreamAudioSource::consumeAudio):
3472         * Modules/webaudio/PeriodicWave.h:
3473         * Modules/webaudio/ScriptProcessorNode.h:
3474         * Modules/webdatabase/AbstractDatabaseServer.h:
3475         * Modules/webdatabase/DatabaseBackend.h:
3476         * Modules/webdatabase/DatabaseManager.cpp:
3477         (WebCore::DatabaseManager::origins):
3478         * Modules/webdatabase/DatabaseManager.h:
3479         * Modules/webdatabase/DatabaseServer.cpp:
3480         (WebCore::DatabaseServer::origins):
3481         * Modules/webdatabase/DatabaseServer.h:
3482         * Modules/webdatabase/DatabaseThread.h:
3483         * Modules/webdatabase/DatabaseTracker.cpp:
3484         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
3485         (WebCore::DatabaseTracker::origins):
3486         (WebCore::DatabaseTracker::getOpenDatabases):
3487         (WebCore::DatabaseTracker::deleteAllDatabases):
3488         (WebCore::DatabaseTracker::deleteDatabaseFile):
3489         * Modules/webdatabase/DatabaseTracker.h:
3490         * Modules/webdatabase/SQLStatementBackend.cpp:
3491         * Modules/webdatabase/SQLTransactionBackend.cpp:
3492         * Modules/webdatabase/SQLTransactionBackend.h:
3493         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
3494         (WebCore::SQLTransactionCoordinator::shutdown):
3495         * Modules/webdatabase/SQLTransactionCoordinator.h:
3496         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
3497         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
3498         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
3499         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
3500         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
3501         * Modules/websockets/WebSocket.cpp:
3502         (WebCore::WebSocket::didReceiveBinaryData):
3503         * Modules/websockets/WebSocket.h:
3504         * Modules/websockets/WebSocketChannel.cpp:
3505         (WebCore::WebSocketChannel::processFrame):
3506         * Modules/websockets/WebSocketChannel.h:
3507         * Modules/websockets/WebSocketChannelClient.h:
3508         (WebCore::WebSocketChannelClient::didReceiveBinaryData):
3509         * Modules/websockets/WebSocketExtensionDispatcher.h:
3510         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
3511         (WebCore::workerGlobalScopeDidReceiveBinaryData):
3512         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
3513         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
3514         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
3515         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
3516         * accessibility/AXObjectCache.cpp:
3517         (WebCore::AXObjectCache::~AXObjectCache):
3518         * accessibility/AXObjectCache.h:
3519         * accessibility/AccessibilityNodeObject.cpp:
3520         (WebCore::AccessibilityNodeObject::ariaLabeledByText):
3521         * accessibility/AccessibilityObject.h:
3522         (WebCore::AccessibilityText::AccessibilityText):
3523         * bindings/js/DOMWrapperWorld.h:
3524         * bindings/js/JSDOMBinding.h:
3525         (WebCore::toRefPtrNativeArray):
3526         * bindings/js/JSDOMGlobalObject.h:
3527         * bindings/js/JSMutationCallback.cpp:
3528         (WebCore::JSMutationCallback::call):
3529         * bindings/js/JSMutationCallback.h:
3530         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3531         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
3532         * bindings/js/PageScriptDebugServer.h:
3533         * bindings/js/ScheduledAction.h:
3534         * bindings/js/ScriptController.cpp:
3535         (WebCore::ScriptController::collectIsolatedContexts):
3536         * bindings/js/ScriptController.h:
3537         * bindings/js/ScriptDebugServer.h:
3538         * bindings/js/ScriptProfile.cpp:
3539         (WebCore::buildInspectorObjectFor):
3540         * bindings/objc/ObjCNodeFilterCondition.h:
3541         * bridge/objc/objc_class.h:
3542         * bridge/runtime_root.cpp:
3543         (JSC::Bindings::RootObject::invalidate):
3544         * bridge/runtime_root.h:
3545         * css/BasicShapeFunctions.cpp:
3546         (WebCore::basicShapeForValue):
3547         * css/CSSBasicShapes.h:
3548         (WebCore::CSSBasicShapePolygon::values):
3549         * css/CSSComputedStyleDeclaration.cpp:
3550         (WebCore::ComputedStyleExtractor::valueForFilter):
3551         * css/CSSFontFace.h:
3552         * css/CSSFontFaceSource.h:
3553         * css/CSSFontSelector.cpp:
3554         (WebCore::CSSFontSelector::addFontFaceRule):
3555         (WebCore::CSSFontSelector::getFontFace):
3556         (WebCore::CSSFontSelector::beginLoadTimerFired):
3557         * css/CSSFontSelector.h:
3558         * css/CSSGroupingRule.h:
3559         * css/CSSImageGeneratorValue.h:
3560         * css/CSSParserValues.cpp:
3561         (WebCore::CSSParserSelector::adoptSelectorVector):
3562         * css/CSSParserValues.h:
3563         * css/CSSPropertySourceData.h:
3564         * css/CSSRuleList.h:
3565         (WebCore::StaticCSSRuleList::rules):
3566         * css/CSSSegmentedFontFace.cpp:
3567         (WebCore::CSSSegmentedFontFace::fontLoaded):
3568         * css/CSSSegmentedFontFace.h:
3569         * css/CSSSelectorList.cpp:
3570         (WebCore::CSSSelectorList::adoptSelectorVector):
3571         * css/CSSSelectorList.h:
3572         * css/CSSStyleSheet.h:
3573         * css/CSSValue.h:
3574         (WebCore::compareCSSValueVector):
3575         * css/CSSValuePool.h:
3576         * css/DocumentRuleSets.cpp:
3577         (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets):
3578         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
3579         * css/DocumentRuleSets.h:
3580         * css/ElementRuleCollector.cpp:
3581         (WebCore::ElementRuleCollector::matchedRuleList):
3582         * css/ElementRuleCollector.h:
3583         * css/FontLoader.h:
3584         * css/InspectorCSSOMWrappers.cpp:
3585         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetContents):
3586         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheets):
3587         * css/InspectorCSSOMWrappers.h:
3588         * css/MediaList.cpp:
3589         (WebCore::MediaQuerySet::parse):
3590         (WebCore::MediaList::item):
3591         (WebCore::reportMediaQueryWarningIfNeeded):
3592         * css/MediaList.h:
3593         (WebCore::MediaQuerySet::queryVector):
3594         * css/MediaQueryEvaluator.cpp:
3595         (WebCore::MediaQueryEvaluator::eval):
3596         * css/MediaQueryMatcher.h:
3597         * css/PropertySetCSSStyleDeclaration.cpp:
3598         (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
3599         * css/PropertySetCSSStyleDeclaration.h:
3600         * css/RuleSet.cpp:
3601         (WebCore::RuleSet::addToRuleSet):
3602         (WebCore::RuleSet::addRegionRule):
3603         (WebCore::RuleSet::addChildRules):
3604         (WebCore::RuleSet::addRulesFromSheet):
3605         * css/RuleSet.h:
3606         * css/SelectorFilter.h:
3607         * css/StyleInvalidationAnalysis.cpp:
3608         (WebCore::StyleInvalidationAnalysis::analyzeStyleSheet):
3609         * css/StylePropertySet.cpp:
3610         (WebCore::StylePropertySet::getLayeredShorthandValue):
3611         * css/StyleResolver.cpp:
3612         (WebCore::StyleResolver::appendAuthorStyleSheets):
3613         (WebCore::StyleResolver::keyframeStylesForAnimation):
3614         (WebCore::StyleResolver::styleRulesForElement):
3615         (WebCore::StyleResolver::pseudoStyleRulesForElement):
3616         (WebCore::StyleResolver::resolveVariables):
3617         (WebCore::StyleResolver::applyProperty):
3618         (WebCore::StyleResolver::loadPendingSVGDocuments):
3619         (WebCore::StyleResolver::loadPendingShaders):
3620         * css/StyleResolver.h:
3621         * css/StyleRule.cpp:
3622         (WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
3623         (WebCore::StyleRuleGroup::StyleRuleGroup):
3624         (WebCore::StyleRuleMedia::StyleRuleMedia):
3625         (WebCore::StyleRuleSupports::StyleRuleSupports):
3626         (WebCore::StyleRuleRegion::StyleRuleRegion):
3627         * css/StyleRule.h:
3628         (WebCore::StyleRule::parserAdoptSelectorVector):
3629         (WebCore::StyleRulePage::parserAdoptSelectorVector):
3630         (WebCore::StyleRuleGroup::childRules):
3631         (WebCore::StyleRuleMedia::create):
3632         (WebCore::StyleRuleSupports::create):
3633         (WebCore::StyleRuleRegion::create):
3634         (WebCore::StyleRuleHost::create):
3635         (WebCore::StyleRuleHost::StyleRuleHost):
3636         * css/StyleScopeResolver.h:
3637         * css/StyleSheetContents.cpp:
3638         (WebCore::StyleSheetContents::parserAppendRule):
3639         (WebCore::childRulesHaveFailedOrCanceledSubresources):
3640         * css/StyleSheetContents.h:
3641         (WebCore::StyleSheetContents::childRules):
3642         (WebCore::StyleSheetContents::importRules):
3643         * css/StyleSheetList.cpp:
3644         (WebCore::StyleSheetList::styleSheets):
3645         (WebCore::StyleSheetList::item):
3646         * css/StyleSheetList.h:
3647         * css/WebKitCSSKeyframesRule.h:
3648         (WebCore::StyleRuleKeyframes::keyframes):
3649         * dom/CheckedRadioButtons.h:
3650         * dom/ClientRectList.h:
3651         * dom/ContainerNode.h:
3652         (WebCore::ChildNodesLazySnapshot::nextNode):
3653         (WebCore::ChildNodesLazySnapshot::takeSnapshot):
3654         * dom/CrossThreadTask.h:
3655         * dom/Document.cpp:
3656         (WebCore::Document::webkitCancelFullScreen):
3657         (WebCore::Document::webkitExitFullscreen):
3658         (WebCore::Document::fullScreenChangeDelayTimerFired):
3659         (WebCore::Document::didAssociateFormControlsTimerFired):
3660         * dom/Document.h:
3661         * dom/DocumentMarkerController.cpp:
3662         (WebCore::DocumentMarkerController::removeMarkers):
3663         * dom/DocumentMarkerController.h:
3664         * dom/DocumentStyleSheetCollection.cpp:
3665         (WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
3666         (WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
3667         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
3668         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
3669         (WebCore::styleSheetsUseRemUnits):
3670         (WebCore::filterEnabledNonemptyCSSStyleSheets):
3671         (WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
3672         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3673         * dom/DocumentStyleSheetCollection.h:
3674         * dom/Element.cpp:
3675         (WebCore::Element::attrNodeList):
3676         (WebCore::Element::webkitGetRegionFlowRanges):
3677         * dom/Element.h:
3678         * dom/EventListenerMap.h:
3679         * dom/EventSender.h:
3680         (WebCore::EventSender::timerFired):
3681         * dom/IdTargetObserverRegistry.h:
3682         * dom/MutationCallback.h:
3683         * dom/MutationObserver.cpp:
3684         (WebCore::MutationObserver::takeRecords):
3685         (WebCore::MutationObserver::deliver):
3686         (WebCore::MutationObserver::deliverAllMutations):
3687         * dom/MutationObserver.h:
3688         * dom/MutationObserverRegistration.h:
3689         * dom/NamedFlowCollection.cpp:
3690         (WebCore::NamedFlowCollection::namedFlows):
3691         * dom/NamedFlowCollection.h:
3692         * dom/Node.cpp:
3693         (WebCore::Node::didMoveToNewDocument):
3694         (WebCore::Node::mutationObserverRegistry):
3695         (WebCore::Node::registerMutationObserver):
3696         (WebCore::Node::unregisterMutationObserver):
3697         (WebCore::Node::notifyMutationObserversNodeWillDetach):
3698         * dom/Node.h:
3699         * dom/NodeRareData.h:
3700         * dom/Range.cpp:
3701         (WebCore::Range::processContents):
3702         (WebCore::Range::processNodes):
3703         (WebCore::Range::processAncestorsAndTheirSiblings):
3704         * dom/Range.h:
3705         * dom/ScopedEventQueue.h:
3706         * dom/ScriptExecutionContext.cpp:
3707         (WebCore::ScriptExecutionContext::reportException):
3708         * dom/ScriptExecutionContext.h:
3709         * dom/ScriptedAnimationController.h:
3710         * editing/ApplyStyleCommand.cpp:
3711         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3712         * editing/BreakBlockquoteCommand.cpp:
3713         (WebCore::BreakBlockquoteCommand::doApply):
3714         * editing/CompositeEditCommand.cpp:
3715         (WebCore::CompositeEditCommand::removeChildrenInRange):
3716         (WebCore::CompositeEditCommand::deleteInsignificantText):
3717         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
3718         * editing/CompositeEditCommand.h:
3719         * editing/EditingStyle.cpp:
3720         (WebCore::htmlElementEquivalents):
3721         (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement):
3722         (WebCore::htmlAttributeEquivalents):
3723         (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes):
3724         (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
3725         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
3726         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
3727         (WebCore::styleFromMatchedRulesForElement):
3728         * editing/Editor.cpp:
3729         (WebCore::Editor::countMatchesForText):
3730         * editing/Editor.h:
3731         * editing/InsertParagraphSeparatorCommand.cpp:
3732         (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock):
3733         (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
3734         (WebCore::InsertParagraphSeparatorCommand::doApply):
3735         * editing/InsertParagraphSeparatorCommand.h:
3736         * editing/MergeIdenticalElementsCommand.cpp:
3737         (WebCore::MergeIdenticalElementsCommand::doApply):
3738         (WebCore::MergeIdenticalElementsCommand::doUnapply):
3739         * editing/RemoveNodePreservingChildrenCommand.cpp:
3740         (WebCore::RemoveNodePreservingChildrenCommand::doApply):
3741         * editing/ReplaceSelectionCommand.cpp:
3742         (WebCore::ReplacementFragment::removeUnrenderedNodes):
3743         * editing/SimplifyMarkupCommand.cpp:
3744         (WebCore::SimplifyMarkupCommand::doApply):
3745         (WebCore::SimplifyMarkupCommand::pruneSubsequentAncestorsToRemove):
3746         * editing/SimplifyMarkupCommand.h:
3747         * editing/SpellChecker.h:
3748         * editing/SplitElementCommand.cpp:
3749         (WebCore::SplitElementCommand::executeApply):
3750         (WebCore::SplitElementCommand::doUnapply):
3751         * editing/WrapContentsInDummySpanCommand.cpp:
3752         (WebCore::WrapContentsInDummySpanCommand::executeApply):
3753         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
3754         * editing/mac/AlternativeTextUIController.h:
3755         * fileapi/FileList.h:
3756         * history/BackForwardList.h:
3757         * history/HistoryItem.cpp:
3758         (WebCore::HistoryItem::setRedirectURLs):
3759         * history/HistoryItem.h:
3760         * history/mac/HistoryItemMac.mm:
3761         (WebCore::HistoryItem::setTransientProperty):
3762         * html/FormController.h:
3763         * html/HTMLAnchorElement.cpp:
3764         * html/HTMLCollection.cpp:
3765         (WebCore::HTMLCollection::append):
3766         * html/HTMLCollection.h:
3767         * html/HTMLFormControlElement.cpp:
3768         (WebCore::HTMLFormControlElement::checkValidity):
3769         * html/HTMLFormControlElement.h:
3770         * html/HTMLFormElement.cpp:
3771         (WebCore::HTMLFormElement::validateInteractively):
3772         (WebCore::HTMLFormElement::checkValidity):
3773         (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
3774         * html/HTMLFormElement.h:
3775         * html/HTMLMediaElement.cpp:
3776         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
3777         (WebCore::HTMLMediaElement::platformTextTracks):
3778         (WebCore::HTMLMediaElement::configureTextTrackGroup):
3779         * html/HTMLMediaElement.h:
3780         * html/HTMLPlugInImageElement.cpp:
3781         * html/HTMLSelectElement.cpp:
3782         (WebCore::HTMLSelectElement::setLength):
3783         * html/MediaController.cpp:
3784         (MediaController::asyncEventTimerFired):
3785         * html/MediaController.h:
3786         * html/MediaFragmentURIParser.h:
3787         * html/ValidationMessage.h:
3788         * html/canvas/WebGLFramebuffer.h:
3789         * html/canvas/WebGLRenderingContext.cpp:
3790         (WebCore::WebGLRenderingContext::getAttachedShaders):
3791         * html/canvas/WebGLRenderingContext.h:
3792         * html/canvas/WebGLTexture.h:
3793         * html/parser/BackgroundHTMLParser.cpp:
3794         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
3795         * html/parser/BackgroundHTMLParser.h:
3796         (WebCore::BackgroundHTMLParser::create):
3797         * html/parser/HTMLDocumentParser.cpp:
3798         (WebCore::HTMLDocumentParser::startBackgroundParser):
3799         * html/parser/HTMLDocumentParser.h:
3800         * html/parser/HTMLMetaCharsetParser.h:
3801         * html/parser/HTMLPreloadScanner.cpp:
3802         (WebCore::TokenPreloadScanner::scan):
3803         (WebCore::TokenPreloadScanner::scanCommon):
3804         * html/parser/HTMLResourcePreloader.h:
3805         * html/parser/XSSAuditor.h:
3806         * html/shadow/ContentDistributor.cpp:
3807         (WebCore::ContentDistributor::ensureInsertionPointList):
3808         (WebCore::ContentDistributor::distribute):
3809         (WebCore::ContentDistributor::invalidate):
3810         * html/shadow/ContentDistributor.h:
3811         * html/shadow/MediaControlElements.cpp:
3812         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
3813         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
3814         * html/shadow/MediaControlElements.h:
3815         * html/track/InbandGenericTextTrack.h:
3816         * html/track/InbandWebVTTTextTrack.cpp:
3817         (WebCore::InbandWebVTTTextTrack::newCuesParsed):
3818         * html/track/LoadableTextTrack.cpp:
3819         (WebCore::LoadableTextTrack::newCuesAvailable):
3820         (WebCore::LoadableTextTrack::newRegionsAvailable):
3821         * html/track/TextTrackCueList.h:
3822         * html/track/TextTrackList.cpp:
3823         (TextTrackList::invalidateTrackIndexesAfterTrack):
3824         (TextTrackList::remove):
3825         (TextTrackList::contains):
3826         * html/track/TextTrackList.h:
3827         * html/track/TrackListBase.cpp:
3828         (TrackListBase::asyncEventTimerFired):
3829         * html/track/TrackListBase.h:
3830         * html/track/WebVTTParser.cpp:
3831         (WebCore::WebVTTParser::getNewCues):
3832         (WebCore::WebVTTParser::getNewRegions):
3833         * html/track/WebVTTParser.h:
3834         * inspector/ConsoleMessage.cpp:
3835         (WebCore::ConsoleMessage::addToFrontend):
3836         * inspector/ContentSearchUtils.cpp:
3837         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
3838         (WebCore::ContentSearchUtils::lineEndings):
3839         (WebCore::ContentSearchUtils::searchInTextByLines):
3840         * inspector/ContentSearchUtils.h:
3841         * inspector/DOMPatchSupport.cpp:
3842         (WebCore::DOMPatchSupport::patchNode):
3843         (WebCore::DOMPatchSupport::diff):
3844         (WebCore::DOMPatchSupport::innerPatchChildren):
3845         * inspector/DOMPatchSupport.h:
3846         * inspector/InjectedScript.cpp:
3847         (WebCore::InjectedScript::getProperties):
3848         (WebCore::InjectedScript::getInternalProperties):
3849         (WebCore::InjectedScript::wrapCallFrames):
3850         * inspector/InjectedScript.h:
3851         * inspector/InjectedScriptHost.h:
3852         * inspector/InspectorAgent.cpp:
3853         (WebCore::InspectorAgent::enable):
3854         * inspector/InspectorApplicationCacheAgent.cpp:
3855         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
3856         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
3857         * inspector/InspectorApplicationCacheAgent.h:
3858         * inspector/InspectorBaseAgent.h:
3859         * inspector/InspectorCSSAgent.cpp:
3860         (WebCore::SelectorProfile::toInspectorObject):
3861         (WebCore::UpdateRegionLayoutTask::onTimer):
3862         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
3863         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
3864         (WebCore::InspectorCSSAgent::getAllStyleSheets):
3865         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
3866         (WebCore::InspectorCSSAgent::getNamedFlowCollection):
3867         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
3868         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
3869         (WebCore::InspectorCSSAgent::buildArrayForRegions):
3870         (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
3871         * inspector/InspectorCSSAgent.h:
3872         * inspector/InspectorConsoleAgent.h:
3873         * inspector/InspectorDOMAgent.cpp:
3874         (WebCore::RevalidateStyleAttributeTask::onTimer):
3875         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3876         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
3877         (WebCore::InspectorDOMAgent::getEventListenersForNode):
3878         (WebCore::InspectorDOMAgent::performSearch):
3879         (WebCore::InspectorDOMAgent::getSearchResults):
3880         (WebCore::InspectorDOMAgent::getAttributes):
3881         (WebCore::InspectorDOMAgent::buildObjectForNode):
3882         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
3883         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
3884         (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
3885         * inspector/InspectorDOMAgent.h:
3886         * inspector/InspectorDOMStorageAgent.cpp:
3887         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
3888         * inspector/InspectorDOMStorageAgent.h:
3889         * inspector/InspectorDatabaseAgent.cpp:
3890         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
3891         * inspector/InspectorDatabaseAgent.h:
3892         * inspector/InspectorDebuggerAgent.cpp:
3893         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3894         (WebCore::InspectorDebuggerAgent::searchInContent):
3895         (WebCore::InspectorDebuggerAgent::setScriptSource):
3896         (WebCore::InspectorDebuggerAgent::currentCallFrames):
3897         * inspector/InspectorDebuggerAgent.h:
3898         * inspector/InspectorHeapProfilerAgent.cpp:
3899         (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
3900         * inspector/InspectorHeapProfilerAgent.h:
3901         * inspector/InspectorHistory.h:
3902         * inspector/InspectorIndexedDBAgent.cpp:
3903         * inspector/InspectorLayerTreeAgent.cpp:
3904         (WebCore::InspectorLayerTreeAgent::layersForNode):
3905         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
3906         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
3907         * inspector/InspectorLayerTreeAgent.h:
3908         * inspector/InspectorMemoryAgent.h:
3909         * inspector/InspectorPageAgent.cpp:
3910         (WebCore::buildArrayForCookies):
3911         (WebCore::InspectorPageAgent::getCookies):
3912         (WebCore::InspectorPageAgent::searchInResource):
3913         (WebCore::InspectorPageAgent::searchInResources):
3914         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
3915         * inspector/InspectorPageAgent.h:
3916         * inspector/InspectorProfilerAgent.cpp:
3917         (WebCore::InspectorProfilerAgent::getProfileHeaders):
3918         * inspector/InspectorProfilerAgent.h:
3919         * inspector/InspectorResourceAgent.h:
3920         * inspector/InspectorRuntimeAgent.cpp:
3921         (WebCore::InspectorRuntimeAgent::getProperties):
3922         * inspector/InspectorRuntimeAgent.h:
3923         * inspector/InspectorState.h:
3924         * inspector/InspectorStyleSheet.cpp:
3925         (WebCore::asCSSRuleList):
3926         (WebCore::InspectorStyle::buildArrayForComputedStyle):
3927         (WebCore::InspectorStyle::styleWithProperties):
3928         (WebCore::selectorsFromSource):
3929         (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
3930         (WebCore::InspectorStyleSheet::buildObjectForRule):
3931         (WebCore::InspectorStyleSheet::lineEndings):
3932         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
3933         (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
3934         * inspector/InspectorStyleSheet.h:
3935         * inspector/InspectorValues.cpp:
3936         (WebCore::InspectorArrayBase::writeJSON):
3937         * inspector/InspectorValues.h:
3938         * inspector/PageRuntimeAgent.cpp:
3939         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
3940         * inspector/ScriptCallStack.cpp:
3941         (WebCore::ScriptCallStack::buildInspectorArray):
3942         * inspector/ScriptCallStack.h:
3943         * loader/CrossOriginPreflightResultCache.h:
3944         * loader/DocumentLoader.cpp:
3945         (WebCore::cancelAll):
3946         (WebCore::setAllDefersLoading):
3947         (WebCore::DocumentLoader::getSubresources):
3948         * loader/DocumentLoader.h:
3949         * loader/FormState.h:
3950         * loader/FormSubmission.cpp:
3951         (WebCore::FormSubmission::create):
3952         * loader/ProgressTracker.h:
3953         * loader/ResourceLoadScheduler.h:
3954         * loader/TextTrackLoader.cpp:
3955         (WebCore::TextTrackLoader::getNewCues):
3956         (WebCore::TextTrackLoader::getNewRegions):
3957         * loader/TextTrackLoader.h:
3958         * loader/WorkerThreadableLoader.cpp:
3959         (WebCore::workerGlobalScopeDidReceiveData):
3960         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
3961         * loader/appcache/ApplicationCache.cpp:
3962         (WebCore::ApplicationCache::removeResource):
3963         (WebCore::ApplicationCache::dump):
3964         * loader/appcache/ApplicationCache.h:
3965         * loader/appcache/ApplicationCacheStorage.cpp:
3966         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
3967         * loader/archive/Archive.cpp:
3968         (WebCore::Archive::clearAllSubframeArchives):
3969         (WebCore::Archive::clearAllSubframeArchivesImpl):
3970         * loader/archive/Archive.h:
3971         (WebCore::Archive::subresources):
3972         (WebCore::Archive::subframeArchives):
3973         * loader/archive/ArchiveResourceCollection.cpp:
3974         (WebCore::ArchiveResourceCollection::addAllResources):
3975         * loader/archive/ArchiveResourceCollection.h:
3976         * loader/archive/cf/LegacyWebArchive.cpp:
3977         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
3978         (WebCore::LegacyWebArchive::create):
3979         (WebCore::LegacyWebArchive::createFromSelection):
3980         * loader/archive/cf/LegacyWebArchive.h:
3981         * loader/archive/mhtml/MHTMLParser.h:
3982         * loader/cache/CachedResource.h:
3983         * loader/cache/CachedResourceLoader.h:
3984         * loader/cache/MemoryCache.h:
3985         * loader/icon/IconDatabase.cpp:
3986         (WebCore::IconDatabase::notifyPendingLoadDecisions):
3987         * loader/icon/IconDatabase.h:
3988         * page/CaptionUserPreferencesMediaAF.cpp:
3989         (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
3990         * page/CaptionUserPreferencesMediaAF.h:
3991         * page/ChromeClient.h:
3992         (WebCore::ChromeClient::didAssociateFormControls):
3993         * page/Console.h:
3994         * page/ContentSecurityPolicy.h:
3995         * page/DOMWindow.cpp:
3996         (WebCore::DOMWindow::getMatchedCSSRules):
3997         * page/DeviceController.cpp:
3998         (WebCore::DeviceController::dispatchDeviceEvent):
3999         (WebCore::DeviceController::fireDeviceEvent):
4000         * page/DeviceController.h:
4001         * page/EditorClient.h:
4002         * page/EventHandler.cpp:
4003         (WebCore::EventHandler::handleTouchEvent):
4004         * page/EventHandler.h:
4005         * page/FrameView.cpp:
4006         (WebCore::FrameView::serviceScriptedAnimations):
4007         * page/Page.cpp:
4008         (WebCore::Page::findStringMatchingRanges):
4009         * page/Page.h:
4010         * page/PageGroup.h:
4011         * page/Performance.cpp:
4012         (WebCore::Performance::webkitGetEntriesByType):
4013         (WebCore::Performance::webkitGetEntriesByName):
4014         * page/Performance.h:
4015         * page/PerformanceEntryList.cpp:
4016         (WebCore::PerformanceEntryList::appendAll):
4017         * page/PerformanceEntryList.h:
4018         * page/SecurityOriginHash.h:
4019         * page/SecurityPolicy.cpp:
4020         * page/SpeechInputResult.h:
4021         * page/animation/AnimationController.cpp:
4022         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
4023         * page/animation/AnimationControllerPrivate.h:
4024         * page/animation/CSSPropertyAnimation.cpp:
4025         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
4026         * page/animation/CompositeAnimation.h:
4027         * page/scrolling/ScrollingStateNode.cpp:
4028         (WebCore::ScrollingStateNode::appendChild):
4029         * page/scrolling/ScrollingStateNode.h: