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