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