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