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