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