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