71f167b0c4ffdb5eda66d3e428efa322645b8e15
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-12-06  Antti Koivisto  <antti@apple.com>
2
3         Use NeverDestroyed instead of DEFINE_STATIC_LOCAL
4
5         Reviewed by Anders Carlsson.
6
7         * rendering/RenderText.cpp:
8         (WebCore::originalTextMap):
9
10 2013-12-05  Jer Noble  <jer.noble@apple.com>
11
12         [MSE] Add a runtime-setting for the MediaSource constructor.
13         https://bugs.webkit.org/show_bug.cgi?id=125336
14
15         Reviewed by Eric Carlson.
16
17         Add a Setting to enable the MediaSource constructor.
18
19         * Modules/mediasource/MediaSource.idl:
20         * page/Settings.in:
21
22 2013-12-06  Tim Horton  <timothy_horton@apple.com>
23
24         [mac] Keep around more decoded image data, since it's purgeable
25         https://bugs.webkit.org/show_bug.cgi?id=125273
26         <rdar://problem/13205438>
27
28         Reviewed by Simon Fraser.
29
30         No new tests, just an optimization.
31
32         Instead of throwing away decoded image data eagerly, allow the operating
33         system to manage the memory via the standard purgeability mechanism,
34         where it can.
35
36         This improves the performance on some pathological cases (extremely large
37         animated GIFs) by up to 8x.
38
39         * loader/cache/MemoryCache.cpp:
40         (WebCore::MemoryCache::pruneLiveResourcesToSize):
41         Don't prune live resources' decoded data if it is purgeable.
42
43         * platform/graphics/BitmapImage.cpp:
44         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
45         Don't eagerly throw away decoded image data if it's purgeable.
46
47         * loader/cache/CachedImage.h:
48         * loader/cache/CachedResource.h:
49         (WebCore::CachedResource::decodedDataIsPurgeable):
50         * platform/graphics/BitmapImage.h:
51         * platform/graphics/Image.h:
52         (WebCore::Image::decodedDataIsPurgeable):
53
54 2013-12-06  Antti Koivisto  <antti@apple.com>
55
56         Save original text for RenderText to a map
57         https://bugs.webkit.org/show_bug.cgi?id=125278
58
59         Reviewed by Darin Adler.
60         
61         Currently the original text is fetched from the Text node. This is one of the few things 
62         where we use the RenderText node pointer and is stopping Text nodes from being anonymous.
63         
64         It is very rare of original text to differ from the actual text so we can just squirrel the
65         original to a map when it differs. This is also simplifies the code.
66
67         * rendering/RenderQuote.cpp:
68         (WebCore::RenderQuote::styleDidChange):
69         (WebCore::RenderQuote::updateDepth):
70         * rendering/RenderText.cpp:
71         (WebCore::originalTextMap):
72         (WebCore::RenderText::RenderText):
73         (WebCore::RenderText::~RenderText):
74         (WebCore::RenderText::styleDidChange):
75         (WebCore::RenderText::originalText):
76         (WebCore::RenderText::setTextInternal):
77         (WebCore::RenderText::setText):
78         * rendering/RenderText.h:
79         * rendering/RenderTextFragment.cpp:
80         * rendering/RenderTextFragment.h:
81
82 2013-12-04  Jer Noble  <jer.noble@apple.com>
83
84         [MSE] Refactor MediaSourceBase back into MediaSource
85         https://bugs.webkit.org/show_bug.cgi?id=125245
86
87         Reviewed by Eric Carlson.
88
89         Now that the legacy WebKitMediaSource has been removed, there is no reason to have
90         a separate MediaSource and MediaSourceBase. Re-integrate the two.
91
92         Copy all the methods from MediaSource into MediaSourceBase, and rename the class MediaSource:
93         * Modules/mediasource/MediaSource.cpp: Copied from MediaSourceBase.cpp.
94         (WebCore::MediaSource::create): Copied from MediaSource.cpp.
95         (WebCore::MediaSource::addSourceBuffer): Ditto.
96         (WebCore::MediaSource::removeSourceBuffer): Ditto.
97         (WebCore::MediaSource::isTypeSupported): Ditto.
98         (WebCore::MediaSource::eventTargetInterface): Ditto.
99         (WebCore::MediaSource::sourceBufferDidChangeAcitveState): Ditto.
100         * Modules/mediasource/MediaSource.h: Copied from MediaSourceBase.h.
101         (WebCore::MediaSource::sourceBuffers): Copied from MediaSource.h.
102         (WebCore::MediaSource::activeSourceBuffers): Copied from MediaSource.h.
103         * Modules/mediasource/MediaSourceBase.cpp: Removed.
104         * Modules/mediasource/MediaSourceBase.h: Removed.
105
106         Change all references to MediaSourceBase into MediaSource:
107         * Modules/mediasource/DOMURLMediaSource.cpp:
108         (WebCore::DOMURLMediaSource::createObjectURL):
109         * Modules/mediasource/DOMURLMediaSource.h:
110         * Modules/mediasource/MediaSourceRegistry.cpp:
111         (WebCore::MediaSourceRegistry::registerURL):
112         (WebCore::MediaSourceRegistry::unregisterURL):
113         * Modules/mediasource/MediaSourceRegistry.h:
114
115         Remove MediaSourceBase.cpp/h from the project file:
116         * WebCore.xcodeproj/project.pbxproj:
117         * GNUmakefile.list.am:
118
119 2013-12-06  Eric Carlson  <eric.carlson@apple.com>
120
121         r159827 broke plug-in snapshotting
122         https://bugs.webkit.org/show_bug.cgi?id=125365
123
124         Reviewed by Dean Jackson.
125
126         No new tests, covered by existing tests.
127
128         * html/HTMLPlugInImageElement.cpp:
129         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Return early if there is NOT
130             a page, not if there IS a page.
131
132 2013-12-06  Roger Fong <roger_fong@apple.com> and Brent Fulgham  <bfulgham@apple.com>
133
134         [Win] Support compiling with VS2013
135         https://bugs.webkit.org/show_bug.cgi?id=125353
136
137         Reviewed by Anders Carlsson.
138
139         * loader/archive/cf/LegacyWebArchive.cpp:
140         (WebCore::LegacyWebArchive::create): Use nullptr
141         (WebCore::LegacyWebArchive::createFromSelection): Ditto
142
143 2013-11-15  Jer Noble  <jer.noble@apple.com>
144
145         [MSE][Mac] Add a new MSE-compatible MediaPlayerPrivate implementation, MediaPlayerPrivateMediaSourceAVFObjC
146         https://bugs.webkit.org/show_bug.cgi?id=123378
147
148         Reviewed by Eric Carlson.
149
150         Add an AVFoundation implementation of MediaPlayerPrivate which creates and uses
151         MediaSourcePrivate and SourceBufferPrivate subclasses.
152
153         Add the new media engine to the list of installed engines:
154         * platform/MediaSample.h:
155         * platform/graphics/MediaPlayer.cpp:
156         (WebCore::installedMediaEngines):
157         * platform/graphics/MediaPlayer.h:
158
159         Add the new files to the project:
160         * WebCore.xcodeproj/project.pbxproj:
161
162         Drive by fix for ports who implement seekDouble():
163         * platform/graphics/MediaPlayerPrivate.h:
164         (WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
165
166         Add new Video and AudioTrackPrivate types which handle their own enable state:
167         * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp: Added
168         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::AudioTrackPrivateMediaSourceAVFObjC):
169         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
170         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setAssetTrack):
171         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::assetTrack):
172         (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setEnabled):
173         * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h: Added
174         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.cpp: Added.
175         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::VideoTrackPrivateMediaSourceAVFObjC):
176         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
177         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setAssetTrack):
178         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::assetTrack):
179         (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setSelected):
180         * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h: Added.
181
182         Add a new MediaPlayerPrivate which can handle MediaSource objects:
183         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: Added.
184         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: Added.
185         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
186         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):
187         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
188         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::create):
189         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable):
190         (WebCore::mimeTypeCache):
191         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::getSupportedTypes):
192         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):
193         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
194         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cancelLoad):
195         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareToPlay):
196         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformMedia):
197         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
198         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
199         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
200         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
201         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal):
202         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):
203         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsScanning):
204         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):
205         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasVideo):
206         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAudio):
207         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVisible):
208         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble):
209         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble):
210         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble):
211         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
212         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
213         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
214         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seeking):
215         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble):
216         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::networkState):
217         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::readyState):
218         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
219         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble):
220         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable):
221         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):
222         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::didLoadingProgress):
223         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setSize):
224         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paint):
225         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):
226         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAvailableVideoFrame):
227         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsAcceleratedRendering):
228         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
229         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::movieLoadType):
230         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareForRendering):
231         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::engineDescription):
232         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::languageOfPrimaryAudioTrack):
233         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::extraMemoryCost):
234         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
235         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::destroyLayer):
236         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateDuration):
237         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateStates):
238         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState):
239         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setNetworkState):
240         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
241         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
242
243         Add a new MediaSourcePrivate implementation:
244         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h: Added.
245         (WebCore::MediaSourcePrivateAVFObjC::player):
246         (WebCore::MediaSourcePrivateAVFObjC::activeSourceBuffers):
247         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: Added.
248         (WebCore::MediaSourcePrivateAVFObjC::create):
249         (WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC):
250         (WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC):
251         (WebCore::MediaSourcePrivateAVFObjC::addSourceBuffer):
252         (WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer):
253         (WebCore::MediaSourcePrivateAVFObjC::duration):
254         (WebCore::MediaSourcePrivateAVFObjC::setDuration):
255         (WebCore::MediaSourcePrivateAVFObjC::markEndOfStream):
256         (WebCore::MediaSourcePrivateAVFObjC::unmarkEndOfStream):
257         (WebCore::MediaSourcePrivateAVFObjC::readyState):
258         (WebCore::MediaSourcePrivateAVFObjC::setReadyState):
259         (WebCore::MediaSourcePrivateAVFObjC::sourceBufferPrivateDidChangeActiveState):
260         (WebCore::MediaSourcePrivateAVFObjCHasAudio):
261         (WebCore::MediaSourcePrivateAVFObjC::hasAudio):
262         (WebCore::MediaSourcePrivateAVFObjCHasVideo):
263         (WebCore::MediaSourcePrivateAVFObjC::hasVideo):
264         (WebCore::MediaSourcePrivateAVFObjC::seekToTime):
265
266         Add a new SourceBufferPrivate implementation:
267         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: Added.
268         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Added.
269         (-[WebAVStreamDataParserListener initWithParser:parent:WebCore::]):
270         (-[WebAVStreamDataParserListener dealloc]):
271         (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]):
272         (-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]):
273         (-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]):
274         (-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]):
275         (WebCore::MediaSampleAVFObjC::create):
276         (WebCore::MediaSampleAVFObjC::~MediaSampleAVFObjC):
277         (WebCore::MediaSampleAVFObjC::MediaSampleAVFObjC):
278         (WebCore::MediaSampleAVFObjC::platformSample):
279         (WebCore::CMSampleBufferIsRandomAccess):
280         (WebCore::MediaSampleAVFObjC::flags):
281         (WebCore::MediaDescriptionAVFObjC::create):
282         (WebCore::MediaDescriptionAVFObjC::~MediaDescriptionAVFObjC):
283         (WebCore::MediaDescriptionAVFObjC::MediaDescriptionAVFObjC):
284         (WebCore::SourceBufferPrivateAVFObjC::create):
285         (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
286         (WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
287         (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
288         (WebCore::SourceBufferPrivateAVFObjC::didFailToParseStreamDataWithError):
289         (WebCore::callProcessCodedFrameForEachSample):
290         (WebCore::SourceBufferPrivateAVFObjC::didProvideMediaDataForTrackID):
291         (WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
292         (WebCore::SourceBufferPrivateAVFObjC::didReachEndOfTrackWithTrackID):
293         (WebCore::SourceBufferPrivateAVFObjC::setClient):
294         (WebCore::SourceBufferPrivateAVFObjC::append):
295         (WebCore::SourceBufferPrivateAVFObjC::abort):
296         (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource):
297         (WebCore::SourceBufferPrivateAVFObjC::readyState):
298         (WebCore::SourceBufferPrivateAVFObjC::setReadyState):
299         (WebCore::SourceBufferPrivateAVFObjC::evictCodedFrames):
300         (WebCore::SourceBufferPrivateAVFObjC::isFull):
301         (WebCore::SourceBufferPrivateAVFObjC::hasVideo):
302         (WebCore::SourceBufferPrivateAVFObjC::hasAudio):
303         (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
304         (WebCore::createNonDisplayingCopy):
305         (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples):
306         (WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
307         (WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):
308         (WebCore::SourceBufferPrivateAVFObjC::setActive):
309         (WebCore::SourceBufferPrivateAVFObjC::fastSeekTimeForMediaTime):
310         (WebCore::SourceBufferPrivateAVFObjC::seekToTime):
311         * platform/mac/PlatformClockCM.h:
312
313         Add a SOFT_LINK_CLASS_OPTIONAL macro:
314         * platform/mac/SoftLinking.h:
315
316 2013-12-06  Alexey Proskuryakov  <ap@apple.com>
317
318         Remove some duplicate checks from SerializedScriptValue
319         https://bugs.webkit.org/show_bug.cgi?id=125358
320
321         Reviewed by Geoffrey Garen.
322
323         There is no need to call inherits() before WebCore's toXXX(JSValue) functions.
324
325         Also, the result of toArrayBuffer() is a raw pointer, not a RefPtr (it's confusing
326         because toArrayBufferView returns a RefPtr).
327
328         * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpIfTerminal):
329
330 2013-12-06  Tim Horton  <timothy_horton@apple.com>
331
332         Remove Image::decodedSize()
333         https://bugs.webkit.org/show_bug.cgi?id=125327
334
335         Reviewed by Simon Fraser.
336
337         Missed a comment when removing this code.
338
339         * svg/graphics/SVGImage.h:
340
341 2013-12-06  Rob Buis  <rob.buis@samsung.com>
342
343         [CSS Shapes] ShapeOutsideInfo needs to use the parent's writing mode when calculating offsets
344         https://bugs.webkit.org/show_bug.cgi?id=124680
345
346         Reviewed by Dirk Schulze.
347
348         Do not take the writing-mode property on the float into account for shape-outside.
349         Add a virtual method writingMode() in order to do this for shape-outside but
350         keep old behavior (element writingMode) for shape-inside.
351
352         Change existing test floats/shape-outside-floats-different-writing-modes.html to test the
353         new behavior.
354
355         * rendering/shapes/ShapeInfo.cpp:
356         (WebCore::::computedShape):
357         * rendering/shapes/ShapeInfo.h:
358         (WebCore::ShapeInfo::writingMode):
359         * rendering/shapes/ShapeOutsideInfo.cpp:
360         (WebCore::ShapeOutsideInfo::writingMode):
361         * rendering/shapes/ShapeOutsideInfo.h:
362
363 2013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
364
365         Web Inspector: Remove Staging Workaround
366         https://bugs.webkit.org/show_bug.cgi?id=125354
367
368         Reviewed by Timothy Hatcher.
369
370         * inspector/CodeGeneratorInspector.py:
371
372 2013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
373
374         Simplify ScriptFunctionCall by removing dead code.
375         https://bugs.webkit.org/show_bug.cgi?id=125274
376
377         Reviewed by Timothy Hatcher.
378
379         * bindings/js/ScriptFunctionCall.cpp:
380         (WebCore::ScriptFunctionCall::call):
381         * bindings/js/ScriptFunctionCall.h:
382
383 2013-12-06  Daniel Bates  <dabates@apple.com>
384
385         [iOS] Upstream WebCore/rendering changes
386         https://bugs.webkit.org/show_bug.cgi?id=125239
387
388         Reviewed by Simon Fraser.
389
390         * WebCore.xcodeproj/project.pbxproj:
391         * rendering/InlineBox.cpp:
392         (WebCore::InlineBox::previousOnLineExists): Added.
393         * rendering/InlineBox.h:
394         * rendering/InlineTextBox.cpp:
395         (WebCore::InlineTextBox::paintCompositionBackground): Modified to query RenderStyle
396         on iOS for the composition fill color. Added FIXME to make this platform-independent.
397         (WebCore::InlineTextBox::paintDecoration): Added iOS-specific decoration code.
398         (WebCore::lineStyleForMarkerType):
399         (WebCore::InlineTextBox::paintDocumentMarkers): Added iOS-specific code. Also, added
400         FIXME to make this code platform-independent.
401         * rendering/RenderBlock.cpp:
402         (WebCore::RenderBlock::paint): Ditto.
403         (WebCore::positionForPointRespectingEditingBoundaries): Added iOS-specific code.
404         * rendering/RenderBlock.h: Changed access control of logical{Left, Right}SelectionOffset()
405         from private to protected so that these methods can be used from RenderImage::collectSelectionRects().
406         * rendering/RenderBox.cpp:
407         (WebCore::RenderBox::borderRadii): Added.
408         (WebCore::RenderBox::paintBoxDecorations): Added iOS-specific workaround. See <rdar://problem/6209763>
409         for more details.
410         (WebCore::RenderBox::computeRectForRepaint): Added iOS-specific code. 
411         (WebCore::customContainingBlockWidth): Added; guarded by PLATFORM(IOS).
412         (WebCore::customContainingBlockHeight): Added; guarded by PLATFORM(IOS).
413         (WebCore::customContainingBlockLogicalWidth): Added; guarded by PLATFORM(IOS).
414         (WebCore::customContainingBlockLogicalHeight): Added; guarded by PLATFORM(IOS).
415         (WebCore::customContainingBlockAvailableLogicalHeight): Added; guarded by PLATFORM(IOS).
416         (WebCore::RenderBox::availableLogicalHeightUsing): Added iOS-specific code; calls customContainingBlockAvailableLogicalHeight().
417         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Added iOS-specific code; calls customContainingBlockLogicalWidth().
418         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): Added iOS-specific code; calls customContainingBlockLogicalHeight().
419         (WebCore::RenderBox::layoutOverflowRectForPropagation): Added iOS-specific code.
420         * rendering/RenderBox.h:
421         * rendering/RenderBoxModelObject.cpp:
422         (WebCore::RenderBoxModelObject::stickyPositionOffset): Use FrameView::customFixedPositionLayoutRect()
423         instead of FrameView::viewportConstrainedVisibleContentRect().
424         * rendering/RenderButton.cpp:
425         (WebCore::RenderButton::layout): Added; iOS-specific. Includes FIXME comment.
426         See <rdar://problem/7675493> for more details.
427         * rendering/RenderElement.cpp:
428         (WebCore::RenderElement::styleWillChange): Added iOS-specific code.
429         (WebCore::RenderElement::styleDidChange): Modified to only call areCursorsEqual() and
430         EventHandler::scheduleCursorUpdate() on a non-iOS port.
431         * rendering/RenderEmbeddedObject.cpp:
432         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Added iOS-specific code.
433         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason): This method has an empty implementation for iOS.
434         (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription): Ditto.
435         * rendering/RenderFileUploadControl.cpp:
436         (WebCore::nodeHeight):
437         (WebCore::RenderFileUploadControl::maxFilenameWidth): Added iOS-specific code.
438         (WebCore::RenderFileUploadControl::paintObject): Ditto.
439         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
440         * rendering/RenderFrameSet.cpp:
441         (WebCore::RenderFrameSet::positionFrames): Ditto; Also added FIXME comment as this code may not
442         be specific to iOS.
443         * rendering/RenderIFrame.h: Added iOS-specific workaround to RenderObject::renderName(). Added
444         FIXME comment to determine whether this workaround is still applicable.
445         * rendering/RenderImage.cpp:
446         (WebCore::RenderImage::collectSelectionRects): Added; guarded by PLATFORM(IOS).
447         (WebCore::RenderImage::paintAreaElementFocusRing): This method has an empty implementation for iOS.
448         * rendering/RenderImage.h:
449         * rendering/RenderInline.cpp:
450         (WebCore::RenderInline::absoluteQuadsForSelection): Added; guarded by PLATFORM(IOS).
451         * rendering/RenderInline.h:
452         * rendering/RenderLayer.cpp:
453         (WebCore::RenderLayer::RenderLayer): Added iOS-specific member initialization.
454         (WebCore::RenderLayer::~RenderLayer): Added iOS-specific code.
455         (WebCore::RenderLayer::willBeDestroyed): Added; iOS-specific.
456         (WebCore::RenderLayer::hasAcceleratedTouchScrolling): Ditto.
457         (WebCore::RenderLayer::handleTouchEvent): Ditto.
458         (WebCore::RenderLayer::registerAsTouchEventListenerForScrolling): Ditto.
459         (WebCore::RenderLayer::unregisterAsTouchEventListenerForScrolling): Ditto.
460         (WebCore::RenderLayer::updateNeedsCompositedScrolling): Added iOS-specific code as we use UIKit
461         to composite our scroll bars.
462         (WebCore::RenderLayer::scrollTo): Added iOS-specific code.
463         (WebCore::RenderLayer::scrollRectToVisible): Ditto.
464         (WebCore::RenderLayer::styleChanged): Modified to make use of the passed StyleDifference on iOS.
465         (WebCore::RenderLayer::visibleContentRect): Added; iOS-specific.
466         (WebCore::RenderLayer::didStartScroll): Ditto.
467         (WebCore::RenderLayer::didEndScroll): Ditto.
468         (WebCore::RenderLayer::didUpdateScroll): Ditto.
469         (WebCore::RenderLayer::invalidateScrollbarRect): Added iOS-specific code.
470         (WebCore::RenderLayer::invalidateScrollCornerRect): Ditto.
471         (WebCore::RenderLayer::verticalScrollbarWidth): Ditto.
472         (WebCore::RenderLayer::horizontalScrollbarHeight): Ditto.
473         (WebCore::RenderLayer::updateScrollableAreaSet): Ditto.
474         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Add iOS-specific workaround with FIXME. See
475         <rdar://problem/15579797> for more details.
476         (WebCore::RenderLayer::paintOverflowControls): Added iOS-specific code.
477         (WebCore::RenderLayer::calculateClipRects): Ditto.
478         * rendering/RenderLayer.h:
479         * rendering/RenderLayerBacking.cpp:
480         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Modified to not apply page scale on iOS
481         as we apply a page scale at a different time in the code.
482         (WebCore::RenderLayerBacking::layerWillBeDestroyed): Added; guarded by PLATFORM(IOS).
483         (WebCore::layerOrAncestorIsTransformedOrScrolling): Added iOS-specific variant with FIXME comment.
484         (WebCore::RenderLayerBacking::shouldClipCompositedBounds): Added iOS-specific code.
485         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Ditto.
486         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto.
487         (WebCore::RenderLayerBacking::registerScrollingLayers): Ditto.
488         (WebCore::RenderLayerBacking::updateScrollingLayers): Ditto.
489         (WebCore::RenderLayerBacking::containsPaintedContent): Call RenderLayer::hasBoxDecorationsOrBackground()
490         when building on iOS Simulator.
491         (WebCore::RenderLayerBacking::parentForSublayers): Added iOS-specific code and FIXME comment.
492         (WebCore::RenderLayerBacking::paintsIntoWindow): Opt-into coordinated graphics code path.
493         (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Added iOS-specific code.
494         (WebCore::RenderLayerBacking::paintIntoLayer): Compile-out ASSERT_NOT_REACHED for iOS and added FIXME comment.
495         * rendering/RenderLayerBacking.h:
496         * rendering/RenderLayerCompositor.cpp:
497         (WebCore::RenderLayerCompositor::scheduleLayerFlush): Added iOS-specific code.
498         (WebCore::RenderLayerCompositor::chromeClient): Added; guarded by PLATFORM(IOS).
499         (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Added iOS-specific code.
500         (WebCore::scrollbarHasDisplayNone): Added; iOS-specific.
501         (WebCore::updateScrollingLayerWithClient): Ditto.
502         (WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush): Ditto.
503         (WebCore::RenderLayerCompositor::didFlushChangesForLayer): Added iOS-specific code.
504         (WebCore::RenderLayerCompositor::didChangeVisibleRect): Ditto.
505         (WebCore::RenderLayerCompositor::addToOverlapMap): Don't apply page scale factor on iOS. We apply
506         the page scale factor at a different time in the code. Also, added FIXME comment.
507         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Added iOS-specific workaround.
508         See <rdar://problem/8348337> for more details.
509         (WebCore::RenderLayerCompositor::setIsInWindow): Use non-Mac code path for iOS.
510         (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): Added iOS-specific code.
511         (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
512         (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Ditto.
513         (WebCore::RenderLayerCompositor::reasonsForCompositing): Ditto.
514         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Opt-into calling
515         AnimationController::isRunningAnimationOnRenderer() on iOS.
516         (WebCore::RenderLayerCompositor::requiresCompositingForScrolling): Added; guarded by PLATFORM(IOS).
517         (WebCore::isStickyInAcceleratedScrollingLayerOrViewport): Added iOS-specific code.
518         (WebCore::isViewportConstrainedFixedOrStickyLayer): Ditto.
519         (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Use FrameView::customFixedPositionLayoutRect()
520         instead of FrameView::viewportConstrainedVisibleContentRect().
521         (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles): Ditto.
522         (WebCore::RenderLayerCompositor::ensureRootLayer): Ditto.
523         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints): Use FrameView::customFixedPositionLayoutRect()
524         instead of FrameView::viewportConstrainedVisibleContentRect().
525         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints): Ditto.
526         (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer): This method has an empty implementation for iOS
527         as we batch update viewport-constrained layers in the iOS-specific method, RenderLayerCompositor::updateCustomLayersAfterFlush().
528         (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer): Ditto.
529         (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers): Added; guarded by PLATFORM(IOS).
530         (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers): Ditto.
531         (WebCore::RenderLayerCompositor::registerAllScrollingLayers): Ditto.
532         (WebCore::RenderLayerCompositor::unregisterAllScrollingLayers): Ditto.
533         (WebCore::RenderLayerCompositor::scrollingLayerAddedOrUpdated): Ditto.
534         (WebCore::RenderLayerCompositor::scrollingLayerRemoved): Ditto.
535         (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded): Ditto.
536         * rendering/RenderLayerCompositor.h:
537         * rendering/RenderLayerFilterInfo.h: Added iOS-specific Clang workaround to ignore
538         an unused private field.
539         * rendering/RenderMenuList.cpp:
540         (WebCore::selectedOptionCount): Added; guarded by PLATFORM(IOS).
541         (WebCore::RenderMenuList::RenderMenuList): On iOS we don't make use of RenderMenuList::m_popupIsVisible.
542         (WebCore::RenderMenuList::~RenderMenuList): On iOS we don't make use of RenderMenuList::m_popup.
543         (WebCore::RenderMenuList::adjustInnerStyle): Add iOS-specific code.
544         (RenderMenuList::updateFromElement): On iOS we don't make use of RenderMenuList::m_popup.
545         (RenderMenuList::setTextFromOption): Add iOS-specific code.
546         (RenderMenuList::showPopup): Define RenderMenuList::showPopup() to ASSERT_NOT_REACHED() on iOS as
547         we don't make use of RenderMenuList::m_popup.
548         (RenderMenuList::hidePopup): This method has an empty implementation for iOS as we don't make use
549         of RenderMenuList::m_popup.
550         (RenderMenuList::popupDidHide): This method has an empty implementation for iOS as we don't make use
551         of RenderMenuList::m_popupIsVisible.
552         * rendering/RenderMenuList.h:
553         * rendering/RenderObject.cpp:
554         (WebCore::RenderObject::columnNumberForOffset): Added; guarded by PLATFORM(IOS). Also, added a FIXME comment to
555         make this function return an unsigned integer instead of a signed integer.
556         (WebCore::RenderObject::collectSelectionRects): Added; guarded by PLATFORM(IOS).
557         (WebCore::RenderObject::destroy): Added iOS-specific code.
558         (WebCore::RenderObject::innerLineHeight): Added.
559         (WebCore::RenderObject::willRenderImage): Added iOS-specific code.
560         * rendering/RenderObject.h: Change the access control of RenderObject::drawLineForBoxSide() from protected to
561         public so that it can be used from RenderThemeIOS::adjustMenuListButtonStyle().
562         (WebCore::RenderObject::absoluteQuadsForSelection):
563         * rendering/RenderScrollbar.h: Change the access control of RenderScrollbar::getScrollbarPseudoStyle() from
564         private to public so that it can be used from the iOS-specific static function, scrollbarHasDisplayNone,
565         defined in RenderLayerCompositor.cpp.
566         * rendering/RenderSearchField.cpp:
567         (WebCore::RenderSearchField::itemText): Added iOS-specific code.
568         * rendering/RenderText.cpp:
569         (WebCore::RenderText::collectSelectionRects): Added; guarded by PLATFORM(IOS).
570         (WebCore::RenderText::setTextInternal): Added iOS-specific code.
571         * rendering/RenderText.h:
572         * rendering/RenderTextControl.cpp:
573         (WebCore::RenderTextControl::adjustInnerTextStyle): Ditto.
574         (WebCore::RenderTextControl::canScroll): Added; guarded by PLATFORM(IOS).
575         (WebCore::RenderTextControl::innerLineHeight): Ditto.
576         * rendering/RenderTextControl.h:
577         * rendering/RenderTextControlMultiLine.cpp:
578         (WebCore::RenderTextControlMultiLine::getAvgCharWidth): Compile-out code when building for iOS.
579         (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Added iOS-specific code.
580         * rendering/RenderTextControlSingleLine.cpp:
581         (WebCore::RenderTextControlSingleLine::layout): Ditto.
582         (WebCore::RenderTextControlSingleLine::getAvgCharWidth): Compile-out code when building for iOS.
583         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth): Ditto.
584         * rendering/RenderTextLineBoxes.cpp:
585         (WebCore::lineDirectionPointFitsInBox): Ditto.
586         (WebCore::RenderTextLineBoxes::positionForPoint): Added iOS-specific code.
587         * rendering/RenderTheme.cpp:
588         (WebCore::RenderTheme::paintBorderOnly): Ditto.
589         (WebCore::RenderTheme::paintDecorations): Modified to call the control-specific paint*Decorations().
590         * rendering/RenderTheme.h:
591         (WebCore::RenderTheme::paintCheckboxDecorations): Added.
592         (WebCore::RenderTheme::paintRadioDecorations): Added.
593         (WebCore::RenderTheme::paintButtonDecorations): Added.
594         (WebCore::RenderTheme::paintTextFieldDecorations): Added.
595         (WebCore::RenderTheme::paintTextAreaDecorations): Added.
596         (WebCore::RenderTheme::paintMenuListDecorations): Added.
597         (WebCore::RenderTheme::paintPushButtonDecorations): Added.
598         (WebCore::RenderTheme::paintSquareButtonDecorations): Added.
599         (WebCore::RenderTheme::paintFileUploadIconDecorations): Added.
600         (WebCore::RenderTheme::paintSliderThumbDecorations): Added.
601         (WebCore::RenderTheme::paintSearchFieldDecorations): Added.
602         * rendering/RenderThemeIOS.h: Added.
603         * rendering/RenderThemeIOS.mm: Added.
604         * rendering/RenderThemeMac.h: Don't compile the contents of this file when building for iOS.
605         * rendering/RenderThemeMac.mm: Ditto.
606         * rendering/RenderVideo.cpp:
607         (WebCore::RenderVideo::calculateIntrinsicSize): Compile-out code when building for iOS.
608         * rendering/RenderView.cpp:
609         (WebCore::RenderView::availableLogicalHeight): Add iOS-specific workaround. See <rdar://problem/7166808>.
610         (WebCore::fixedPositionOffset): Added; used in iOS-specific code (e.g. RenderView::mapLocalToContainer()).
611         (WebCore::RenderView::mapLocalToContainer): Use WebCore::fixedPositionOffset() instead of 
612         FrameView::scrollOffsetForFixedPosition().
613         (WebCore::RenderView::pushMappingToContainer): Ditto.
614         (WebCore::RenderView::mapAbsoluteToLocalPoint): Ditto.
615         (WebCore::RenderView::repaintViewRectangle): Ditto.
616         (WebCore::RenderView::computeRectForRepaint): Ditto.
617         (WebCore::isFixedPositionInViewport): Added; used in RenderView::hasCustomFixedPosition().
618         (WebCore::RenderView::hasCustomFixedPosition): Added; guarded by PLATFORM(IOS).
619         * rendering/RenderView.h:
620         * rendering/RenderWidget.cpp:
621         (WebCore::RenderWidget::willBeDestroyed): Added iOS-specific code.
622         * rendering/RootInlineBox.cpp:
623         (WebCore::RootInlineBox::ascentAndDescentForBox): Ditto.
624         * rendering/break_lines.cpp: Only include header <CoreServices/CoreServices.h> when building for Mac.
625
626 2013-12-06  Zoltan Horvath  <zoltan@webkit.org>
627
628         Clean up the includes of RenderBlock.h 
629         https://bugs.webkit.org/show_bug.cgi?id=125351
630
631         Reviewed by Darin Adler.
632
633         I turned some header includes into forward declarations. I also removed / 
634         moved out some includes, which don't belong to RenderBlock.h anymore.
635
636         No new tests, no behavior change.
637
638         * editing/VisibleUnits.cpp:
639         * html/HTMLInputElement.cpp:
640         * html/HTMLTextAreaElement.cpp:
641         * html/TextFieldInputType.cpp:
642         * html/TextInputType.cpp:
643         * rendering/InlineElementBox.cpp:
644         * rendering/RenderBlock.h:
645         * rendering/RenderBlockFlow.cpp:
646         * rendering/line/LineBreaker.h:
647         * rendering/line/LineWidth.cpp:
648
649 2013-12-06  Laszlo Vidacs  <lac@inf.u-szeged.hu>
650
651         Define SHA1 hash size in SHA1.h and use it at various places.
652         https://bugs.webkit.org/show_bug.cgi?id=125345
653
654         Reviewed by Darin Adler.
655
656         Use SHA1::hashSize instead of local variables.
657
658         * Modules/websockets/WebSocketHandshake.cpp:
659         (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
660         * platform/network/soup/ResourceHandleSoup.cpp:
661         (WebCore::HostTLSCertificateSet::computeCertificateHash):
662
663 2013-12-06  Dan Bernstein  <mitz@apple.com>
664
665         [Cocoa] Add load delegate methods for responding to authentication challenges
666         https://bugs.webkit.org/show_bug.cgi?id=125333
667
668         Reviewed by Darin Adler.
669
670         * WebCore.exp.in: Exported core(NSURLCredential *).
671
672 2013-12-06  Daniel Bates  <dabates@apple.com>
673
674         Rename {adjust, paint}SearchFieldDecoration, {adjust, paint}SearchFieldResultsDecoration
675         https://bugs.webkit.org/show_bug.cgi?id=125191
676
677         Reviewed by Joseph Pecoraro.
678
679         Towards upstreaming the iOS concept of render theme decorations, we should rename
680         RenderTheme::{adjust, paint}SearchFieldDecorationStyle and RenderTheme::{adjust, paint}SearchFieldResultsDecoration
681         to avoid ambiguity with the iOS concept.
682
683         * platform/efl/RenderThemeEfl.cpp:
684         * platform/efl/RenderThemeEfl.h:
685         * platform/gtk/RenderThemeGtk.cpp:
686         * platform/gtk/RenderThemeGtk.h:
687         * rendering/RenderTheme.cpp:
688         * rendering/RenderTheme.h:
689         * rendering/RenderThemeMac.h:
690         * rendering/RenderThemeMac.mm:
691         * rendering/RenderThemeSafari.cpp:
692         * rendering/RenderThemeSafari.h:
693         * rendering/RenderThemeWin.cpp:
694         * rendering/RenderThemeWin.h:
695         * rendering/RenderThemeWinCE.cpp:
696         * rendering/RenderThemeWinCE.h:
697
698 2013-12-06  Andreas Kling  <akling@apple.com>
699
700         Make remaining CSSValue constructors return PassRef.
701         <https://webkit.org/b/125337>
702
703         Tweak the remaining CSSValue create() helpers to return PassRef
704         instead of PassRefPtr in the cases where nullptr is never returned.
705
706         Reviewed by Anders Carlsson.
707
708 2013-12-06  Roger Fong  <roger_fong@apple.com>
709
710         Hook into some shader symbol logic following the ANGLE update in r159533.
711         https://bugs.webkit.org/show_bug.cgi?id=125332.
712
713         Reviewed by Brent Fulgham.
714
715         No new functionality added.
716
717         * html/canvas/WebGLRenderingContext.cpp: Add some error checking for errors related to 
718             shader symbols that exist across both vertex and fragment shaders.
719         (WebCore::WebGLRenderingContext::linkProgram):
720         * platform/graphics/ANGLEWebKitBridge.cpp: Add logic for handling varyings 
721             and add new fields to the ANGLEShaderSymbol struct.
722         (WebCore::getSymbolInfo):
723         * platform/graphics/ANGLEWebKitBridge.h:
724         * platform/graphics/GraphicsContext3D.h: Add those same fields to the SymbolInfo struct 
725             as well so that we can access them from our shader source map.
726             Also add a map of varyings along side the uniforms and attributes.
727         (WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo):
728         (WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap):
729         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
730         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
731         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
732         (WebCore::GraphicsContext3D::areProgramSymbolsValid): Will be filled in later, this method 
733             will use the shader source map to check for issues with unused varyings and precisions 
734             mismatches of shader symbols that exist across both the vertex and fragment shaders.
735
736 2013-12-06  Lukasz Gajowy  <l.gajowy@samsung.com>
737
738         [ATK] Missing aria roles mappings
739         https://bugs.webkit.org/show_bug.cgi?id=117729
740
741         Reviewed by Mario Sanchez Prada.
742
743         Added a few mappings from ARIA roles to ATK roles.
744
745         Test: accessibility/aria-mappings.html
746
747         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
748         (atkRole):
749
750 2013-11-11  Philippe Normand  <pnormand@igalia.com>
751
752         [GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment events
753         https://bugs.webkit.org/show_bug.cgi?id=123015
754
755         Reviewed by Martin Robinson.
756
757         When the source element starts emitting buffers send along various
758         events to notify downstream elements.
759
760         No new tests, change covered by existing webaudio tests.
761
762         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
763         (webkit_web_audio_src_init): Initialize segment.
764         (webKitWebAudioSrcConstructed): Give an explicit name to each
765         queue added in front of the interleave element.
766         (webKitWebAudioSrcLoop): Before sending the first buffers push
767         stream-start, caps and segment events on each queue's sinkpad.
768
769 2013-12-05  Philippe Normand  <pnormand@igalia.com>
770
771         [GStreamer] Audio/Video sink management is incoherent
772         https://bugs.webkit.org/show_bug.cgi?id=125304
773
774         Reviewed by Gustavo Noronha Silva.
775
776         Allow subclasses of MediaPlayerPrivateGStreamerBase to create
777         custom audio/video sinks in a coherent manner using
778         create{Audio,Video}Sink methods. Convenience getters are also
779         available. Also removed some un-needed member variables in the
780         playbin-based player.
781
782         No new tests, existing media tests cover this change.
783
784         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
785         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
786         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
787         (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
788         (WebCore::MediaPlayerPrivateGStreamer::audioSink):
789         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
790         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
791         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
792         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
793         (WebCore::MediaPlayerPrivateGStreamerBase::createAudioSink):
794
795 2013-12-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
796
797         Introduce IMAGE_TYPE_CASTS, and use it
798         https://bugs.webkit.org/show_bug.cgi?id=125330
799
800         Reviewed by Ryosuke Niwa.
801
802         As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
803         BitmapImage and SVGImage can use it to generate toFoo() type case helper functions.
804
805         No new tests, no behavior changes.
806
807         * loader/cache/CachedImage.cpp:
808         (WebCore::CachedImage::imageSizeForRenderer):
809         (WebCore::CachedImage::resumeAnimatingImagesForLoader):
810         * platform/graphics/BitmapImage.h:
811         * platform/graphics/Image.h:
812         * platform/mac/DragImageMac.mm:
813         (WebCore::createDragImageFromImage):
814         * svg/graphics/SVGImage.h:
815
816 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
817
818         Clean up the forwarding headers of RenderBlock.h
819         https://bugs.webkit.org/show_bug.cgi?id=125323
820
821         Reviewed by Ryosuke Niwa.
822
823         In this patch, I removed the unnecessary forwarding headers from RenderBlock.h, and moved some to RenderBlockFlow.h.
824
825         No new tests, no behavior change.
826
827         * rendering/RenderBlock.h: Remove unnecessary forwarding headers.
828         * rendering/RenderBlockFlow.h: Moved some forwarding headers from RenderBlock.h
829
830 2013-12-04  Oliver Hunt  <oliver@apple.com>
831
832         Refactor static getter function prototype to include thisValue in addition to the base object
833         https://bugs.webkit.org/show_bug.cgi?id=124461
834
835         Reviewed by Geoffrey Garen.
836
837         Change bindings codegen to produce static getter functions
838         with the correct types.  Also update the many custom implementations
839         to the new type.
840
841         No change in behaviour.
842
843         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
844         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
845         (WebCore::cssPropertyGetterCallback):
846         * bindings/js/JSDOMBinding.cpp:
847         (WebCore::objectToStringFunctionGetter):
848         * bindings/js/JSDOMBinding.h:
849         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
850         (WebCore::JSDOMMimeTypeArray::nameGetter):
851         * bindings/js/JSDOMPluginArrayCustom.cpp:
852         (WebCore::JSDOMPluginArray::nameGetter):
853         * bindings/js/JSDOMPluginCustom.cpp:
854         (WebCore::JSDOMPlugin::nameGetter):
855         * bindings/js/JSDOMStringMapCustom.cpp:
856         (WebCore::JSDOMStringMap::nameGetter):
857         * bindings/js/JSDOMWindowCustom.cpp:
858         (WebCore::nonCachingStaticFunctionGetter):
859         (WebCore::childFrameGetter):
860         (WebCore::indexGetter):
861         (WebCore::namedItemGetter):
862         * bindings/js/JSHTMLAllCollectionCustom.cpp:
863         (WebCore::JSHTMLAllCollection::nameGetter):
864         * bindings/js/JSHTMLCollectionCustom.cpp:
865         (WebCore::JSHTMLCollection::nameGetter):
866         * bindings/js/JSHTMLDocumentCustom.cpp:
867         (WebCore::JSHTMLDocument::nameGetter):
868         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
869         (WebCore::JSHTMLFormControlsCollection::nameGetter):
870         * bindings/js/JSHTMLFormElementCustom.cpp:
871         (WebCore::JSHTMLFormElement::nameGetter):
872         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
873         (WebCore::JSHTMLFrameSetElement::nameGetter):
874         * bindings/js/JSHistoryCustom.cpp:
875         (WebCore::nonCachingStaticBackFunctionGetter):
876         (WebCore::nonCachingStaticForwardFunctionGetter):
877         (WebCore::nonCachingStaticGoFunctionGetter):
878         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
879         (WebCore::JSJavaScriptCallFrame::scopeType):
880         * bindings/js/JSLocationCustom.cpp:
881         (WebCore::nonCachingStaticReplaceFunctionGetter):
882         (WebCore::nonCachingStaticReloadFunctionGetter):
883         (WebCore::nonCachingStaticAssignFunctionGetter):
884         * bindings/js/JSNamedNodeMapCustom.cpp:
885         (WebCore::JSNamedNodeMap::nameGetter):
886         * bindings/js/JSNodeListCustom.cpp:
887         (WebCore::JSNodeList::nameGetter):
888         * bindings/js/JSPluginElementFunctions.cpp:
889         (WebCore::pluginElementPropertyGetter):
890         * bindings/js/JSPluginElementFunctions.h:
891         * bindings/js/JSRTCStatsResponseCustom.cpp:
892         (WebCore::JSRTCStatsResponse::nameGetter):
893         * bindings/js/JSStorageCustom.cpp:
894         (WebCore::JSStorage::nameGetter):
895         * bindings/js/JSStyleSheetListCustom.cpp:
896         (WebCore::JSStyleSheetList::nameGetter):
897         * bindings/scripts/CodeGeneratorJS.pm:
898         (GenerateHeader):
899         (GenerateImplementation):
900         (GenerateParametersCheck):
901         * bridge/runtime_array.cpp:
902         (JSC::RuntimeArray::lengthGetter):
903         (JSC::RuntimeArray::indexGetter):
904         * bridge/runtime_array.h:
905         * bridge/runtime_method.cpp:
906         (JSC::RuntimeMethod::lengthGetter):
907         * bridge/runtime_method.h:
908         * bridge/runtime_object.cpp:
909         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
910         (JSC::Bindings::RuntimeObject::fieldGetter):
911         (JSC::Bindings::RuntimeObject::methodGetter):
912         * bridge/runtime_object.h:
913
914 2013-12-05  Tim Horton  <timothy_horton@apple.com>
915
916         Remove Image::decodedSize()
917         https://bugs.webkit.org/show_bug.cgi?id=125327
918
919         Reviewed by Sam Weinig.
920
921         No new tests, just removing dead code.
922
923         * platform/graphics/BitmapImage.cpp:
924         (WebCore::BitmapImage::resetAnimation):
925         * platform/graphics/BitmapImage.h:
926         * platform/graphics/GeneratedImage.h:
927         * platform/graphics/Image.h:
928         * platform/graphics/cg/PDFDocumentImage.cpp:
929         * platform/graphics/cg/PDFDocumentImage.h:
930         * svg/graphics/SVGImage.h:
931         * svg/graphics/SVGImageForContainer.h:
932
933 2013-12-05  Commit Queue  <commit-queue@webkit.org>
934
935         Unreviewed, rolling out r160133.
936         http://trac.webkit.org/changeset/160133
937         https://bugs.webkit.org/show_bug.cgi?id=125325
938
939         broke bindings tests on all the bots (Requested by thorton on
940         #webkit).
941
942         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
943         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
944         (WebCore::cssPropertyGetterCallback):
945         * bindings/js/JSDOMBinding.cpp:
946         (WebCore::objectToStringFunctionGetter):
947         * bindings/js/JSDOMBinding.h:
948         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
949         (WebCore::JSDOMMimeTypeArray::nameGetter):
950         * bindings/js/JSDOMPluginArrayCustom.cpp:
951         (WebCore::JSDOMPluginArray::nameGetter):
952         * bindings/js/JSDOMPluginCustom.cpp:
953         (WebCore::JSDOMPlugin::nameGetter):
954         * bindings/js/JSDOMStringMapCustom.cpp:
955         (WebCore::JSDOMStringMap::nameGetter):
956         * bindings/js/JSDOMWindowCustom.cpp:
957         (WebCore::nonCachingStaticFunctionGetter):
958         (WebCore::childFrameGetter):
959         (WebCore::indexGetter):
960         (WebCore::namedItemGetter):
961         * bindings/js/JSHTMLAllCollectionCustom.cpp:
962         (WebCore::JSHTMLAllCollection::nameGetter):
963         * bindings/js/JSHTMLCollectionCustom.cpp:
964         (WebCore::JSHTMLCollection::nameGetter):
965         * bindings/js/JSHTMLDocumentCustom.cpp:
966         (WebCore::JSHTMLDocument::nameGetter):
967         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
968         (WebCore::JSHTMLFormControlsCollection::nameGetter):
969         * bindings/js/JSHTMLFormElementCustom.cpp:
970         (WebCore::JSHTMLFormElement::nameGetter):
971         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
972         (WebCore::JSHTMLFrameSetElement::nameGetter):
973         * bindings/js/JSHistoryCustom.cpp:
974         (WebCore::nonCachingStaticBackFunctionGetter):
975         (WebCore::nonCachingStaticForwardFunctionGetter):
976         (WebCore::nonCachingStaticGoFunctionGetter):
977         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
978         (WebCore::JSJavaScriptCallFrame::scopeType):
979         * bindings/js/JSLocationCustom.cpp:
980         (WebCore::nonCachingStaticReplaceFunctionGetter):
981         (WebCore::nonCachingStaticReloadFunctionGetter):
982         (WebCore::nonCachingStaticAssignFunctionGetter):
983         * bindings/js/JSNamedNodeMapCustom.cpp:
984         (WebCore::JSNamedNodeMap::nameGetter):
985         * bindings/js/JSNodeListCustom.cpp:
986         (WebCore::JSNodeList::nameGetter):
987         * bindings/js/JSPluginElementFunctions.cpp:
988         (WebCore::pluginElementPropertyGetter):
989         * bindings/js/JSPluginElementFunctions.h:
990         * bindings/js/JSRTCStatsResponseCustom.cpp:
991         (WebCore::JSRTCStatsResponse::nameGetter):
992         * bindings/js/JSStorageCustom.cpp:
993         (WebCore::JSStorage::nameGetter):
994         * bindings/js/JSStyleSheetListCustom.cpp:
995         (WebCore::JSStyleSheetList::nameGetter):
996         * bindings/scripts/CodeGeneratorJS.pm:
997         (GenerateHeader):
998         (GenerateImplementation):
999         (GenerateParametersCheck):
1000         * bridge/runtime_array.cpp:
1001         (JSC::RuntimeArray::lengthGetter):
1002         (JSC::RuntimeArray::indexGetter):
1003         * bridge/runtime_array.h:
1004         * bridge/runtime_method.cpp:
1005         (JSC::RuntimeMethod::lengthGetter):
1006         * bridge/runtime_method.h:
1007         * bridge/runtime_object.cpp:
1008         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
1009         (JSC::Bindings::RuntimeObject::fieldGetter):
1010         (JSC::Bindings::RuntimeObject::methodGetter):
1011         * bridge/runtime_object.h:
1012
1013 2013-12-05  Seokju Kwon  <seokju@webkit.org>
1014
1015         Web Inspector: Remove 'cookiesString' output from Page.getCookies
1016         https://bugs.webkit.org/show_bug.cgi?id=125268
1017
1018         Reviewed by Timothy Hatcher.
1019
1020         Remove 'cookiesString' output from Page.getCookies protocol.
1021         It is no longer meaningful because it is an unused parameter.
1022
1023         No new tests, no behavior change.
1024
1025         * inspector/InspectorPageAgent.cpp:
1026         (WebCore::InspectorPageAgent::getCookies):
1027         * inspector/InspectorPageAgent.h:
1028         * inspector/protocol/Page.json:
1029
1030 2013-12-05  Brian J. Burg  <burg@cs.washington.edu>
1031
1032         Web Inspector: expose node and frame snapshot capabilities.
1033         https://bugs.webkit.org/show_bug.cgi?id=124326
1034
1035         Reviewed by Joseph Pecoraro.
1036
1037         This adds snapshotRect() and snapshotNode() to the Page domain.
1038         Both methods create snapshots using FrameSnapshotting APIs
1039         and send images to the inspector frontend as a data URL.
1040
1041         Remove the unimplemented Page.captureScreenshot API.
1042
1043         * inspector/InspectorPageAgent.cpp:
1044         (WebCore::InspectorPageAgent::snapshotNode): Added.
1045         (WebCore::InspectorPageAgent::snapshotRect): Added.
1046         * inspector/InspectorPageAgent.h:
1047         * inspector/protocol/Page.json: Added new protocol APIs.
1048
1049 2013-12-04 Bear Travis <betravis@adobe.com>
1050
1051     [CSS Shapes] Enable CSS Shapes on Windows
1052     https://bugs.webkit.org/show_bug.cgi?id=89957
1053
1054     Reviewed by Brent Fulgham.
1055
1056     * css/CSSPropertyNames.in: Tweak to ensure shapes properties are regenerated.
1057
1058 2013-12-05  Roger Fong  <roger_fong@apple.com>
1059
1060         [WebGL] Make sure we satisfy uniform and varying packing restrictions.
1061         https://bugs.webkit.org/show_bug.cgi?id=125124.
1062         <rdar://problem/15203291>
1063
1064         Reviewed by Brent Fulgham.
1065
1066         Tests covered by WebGL Khronos conformance tests:
1067         webgl/1.0.2/conformance/glsl/misc/shader-uniform-packing-restrictions.html
1068         webgl/1.0.2/conformance/glsl/misc/shader-varying-packing-restrictions.html
1069
1070         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1071         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
1072
1073 2013-12-05  Laszlo Vidacs  <lac@inf.u-szeged.hu>
1074
1075         32bit buildfix after r160151
1076         https://bugs.webkit.org/show_bug.cgi?id=125298
1077
1078         Reviewed by Csaba Osztrogonác.
1079
1080         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1081         (StreamingClient::handleDataReceived):
1082
1083 2013-12-05  Myles C. Maxfield  <mmaxfield@apple.com>
1084
1085         Cropping and drawing ImageBuffers results in uninitialized data being shown
1086         https://bugs.webkit.org/show_bug.cgi?id=125271
1087
1088         Reviewed by Simon Fraser.
1089
1090         createCroppedImageIfNecessary() crops to the bottom left of the ImageBuffer
1091         backing store instead of the top left. In addition, ImageBuffer::draw()
1092         draws the entire ImageBuffer's backing store instead of just the relevant
1093         portion of it.
1094
1095         No new tests are necessary because the existing tests already test this
1096         functionality
1097
1098         * platform/graphics/cg/ImageBufferCG.cpp:
1099         (WebCore::createCroppedImageIfNecessary): Crop to the top left of the
1100         backing store 
1101         (WebCore::ImageBuffer::draw): Draw only the logical portion of the
1102         backing store 
1103
1104 2013-12-05  Joseph Pecoraro  <pecoraro@apple.com>
1105
1106         Remove stale ScriptGlobalObject methods
1107         https://bugs.webkit.org/show_bug.cgi?id=125276
1108
1109         Reviewed by Sam Weinig.
1110
1111         * bindings/js/ScriptObject.cpp:
1112         (WebCore::ScriptGlobalObject::set):
1113         * bindings/js/ScriptObject.h:
1114
1115 2013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
1116
1117         Change how the form element pointer affects parsing template elements, to reduce weirdness in templates
1118         https://bugs.webkit.org/show_bug.cgi?id=125279
1119
1120         Reviewed by Antti Koivisto.
1121
1122         Faithfully update the HTML5 parser after http://html5.org/tools/web-apps-tracker?from=8330&to=8331.
1123
1124         Test: fast/dom/HTMLTemplateElement/no-form-association-2.html
1125
1126         * html/parser/HTMLConstructionSite.cpp:
1127         (WebCore::HTMLConstructionSite::insertHTMLFormElement): Don't the form element pointer if the context
1128         element or its ancestor is a template element.
1129         (WebCore::HTMLConstructionSite::insideTemplateElement): Added.
1130         (WebCore::HTMLConstructionSite::createHTMLElement): Renamed openElementsContainTemplateElement to
1131         insideTemplateElement to reflect the true semantics of the boolean.
1132
1133         * html/parser/HTMLConstructionSite.h:
1134
1135         * html/parser/HTMLTreeBuilder.cpp:
1136         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ignore the form element pointer if there
1137         is a template element on the stack of open elements. This faithfully reflects what's being said in the
1138         specification. We should probably make isParsingTemplateContents more efficient by storing a boolean
1139         and then wrap from() in some helper function but that should probbaly happen in a separate patch.
1140         (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
1141         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
1142         (WebCore::HTMLTreeBuilder::processEndTagForInBody): Don't unset or rely on the form element pointer
1143         when there is a template element on the stack of open elements.
1144
1145         * html/parser/HTMLTreeBuilder.h:
1146         (WebCore::HTMLTreeBuilder::isParsingTemplateContents): Added a trivial implementation for when
1147         TEMPLATE_ELEMENT is disabled.
1148         (WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Merged two implementations.
1149
1150 2013-12-05  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1151
1152         [MediaStream] Firing negotiationneeded event upon track add/remove on MediaStream
1153         https://bugs.webkit.org/show_bug.cgi?id=125243
1154
1155         Reviewed by Eric Carlson.
1156
1157         Spec states that: In particular, if an RTCPeerConnection object is consuming a MediaStream on which a track is
1158         added, by, e.g., the addTrack() method being invoked, the RTCPeerConnection object must fire the
1159         "negotiationneeded" event. Removal of media components must also trigger "negotiationneeded".
1160
1161         Existing tests updated.
1162
1163         * Modules/mediastream/MediaStream.cpp:
1164         (WebCore::MediaStream::addTrack):
1165         (WebCore::MediaStream::removeTrack):
1166         (WebCore::MediaStream::addObserver):
1167         (WebCore::MediaStream::removeObserver):
1168         * Modules/mediastream/MediaStream.h:
1169         * Modules/mediastream/RTCPeerConnection.cpp:
1170         (WebCore::RTCPeerConnection::~RTCPeerConnection):
1171         (WebCore::RTCPeerConnection::addStream):
1172         (WebCore::RTCPeerConnection::removeStream):
1173         (WebCore::RTCPeerConnection::didAddOrRemoveTrack):
1174         * Modules/mediastream/RTCPeerConnection.h:
1175         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1176         (WebCore::RTCPeerConnectionHandlerMock::addStream):
1177
1178 2013-12-05  Beth Dakin  <bdakin@apple.com>
1179
1180         Bad repaints on twitter when the tile cache has a margin
1181         https://bugs.webkit.org/show_bug.cgi?id=125263
1182         -and corresponding-
1183         <rdar://problem/15576884>
1184
1185         Reviewed by Tim Horton.
1186
1187         When tiles that used to be margin tiles become real-content tiles, they need to be 
1188         invalidated.
1189
1190         Two new helper functions will make it so that we don’t have to manually factor out 
1191         the margin from the bounds in more than one place in the code.
1192         * platform/graphics/ca/mac/TileController.h:
1193         * platform/graphics/ca/mac/TileController.mm:
1194         (WebCore::TileController::boundsWithoutMargin):
1195         (WebCore::TileController::boundsAtLastRevalidateWithoutMargin):
1196
1197          Here is one existing place where we used to factor out the margin, but now we can 
1198         call boundsWithoutMargin().
1199         (WebCore::TileController::adjustRectAtTileIndexForMargin):
1200
1201         And here is where we invalidate the formerly-margin tiles.
1202         (WebCore::TileController::revalidateTiles):
1203
1204 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
1205
1206         Remove the forward declaration of BidiContext class from RenderBlock.h
1207         https://bugs.webkit.org/show_bug.cgi?id=125265
1208
1209         Reviewed by Csaba Osztrogonác.
1210
1211         No new tests, no behavior change.
1212
1213         * rendering/RenderBlock.h: BidiContext is not used in RenderBlock.h
1214
1215 2013-12-05  Aloisio Almeida Jr  <aloisio.almeida@openbossa.org>
1216
1217         [Cairo] Avoid extra copy when drawing images
1218         https://bugs.webkit.org/show_bug.cgi?id=124209
1219
1220         Reviewed by Carlos Garcia Campos.
1221
1222         This commit applies some changes proposed after the original patch has
1223         been landed. It fixes the logic to create the subsurface (as it was
1224         inverted). It also remove an unnecessary RefPtr variable to hold the
1225         subsurface.
1226
1227         No new tests. It's an enhancement. Already covered by existing tests.
1228
1229         * platform/graphics/cairo/PlatformContextCairo.cpp:
1230         (WebCore::PlatformContextCairo::drawSurfaceToContext):
1231
1232 2013-12-05  Zoltan Horvath  <zoltan@webkit.org>
1233
1234         [CSS Shapes] Fix inset when only a subset of the arguments are defined
1235         https://bugs.webkit.org/show_bug.cgi?id=125277
1236
1237         Reviewed by David Hyatt.
1238
1239        I thought Length's default value is fixed-0, but actually it's auto-0. For the optional arguments
1240        of inset shape, we need to use fixed-0, so I updated the code and the tests to use that explicitly.
1241
1242         No new tests, I updated the old ones.
1243
1244         * css/BasicShapeFunctions.cpp:
1245         (WebCore::basicShapeForValue):
1246
1247 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1248
1249         [GTK] Do not use deprecated gtk-doc 'Rename to' tag
1250         https://bugs.webkit.org/show_bug.cgi?id=125303
1251
1252         Reviewed by Philippe Normand.
1253
1254         GObject introspection rename-to annotation is available in
1255         since version 0.6.3 so we should use that instead.
1256
1257         * bindings/gobject/WebKitDOMEventTarget.h:
1258
1259 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1260
1261         [GTK] Add missing symbols to WebKitDOMDeprecated.symbols
1262         https://bugs.webkit.org/show_bug.cgi?id=125300
1263
1264         Reviewed by Philippe Normand.
1265
1266         Add webkit_dom_html_element_get_id and
1267         webkit_dom_html_element_set_id to the symbols files.
1268
1269         * bindings/gobject/WebKitDOMDeprecated.symbols:
1270         * bindings/gobject/webkitdom.symbols:
1271
1272 2013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1273
1274         Unreviewed. Update GObject DOM bindings symbols file after r159711.
1275
1276         * bindings/gobject/webkitdom.symbols:
1277
1278 2013-12-05  Zan Dobersek  <zdobersek@igalia.com>
1279
1280         [GTK] Move platform sources free of layering violations under libPlatform
1281         https://bugs.webkit.org/show_bug.cgi?id=117509
1282
1283         Reviewed by Carlos Garcia Campos.
1284
1285         * GNUmakefile.list.am: Move additional source files located in the platform layer under libPlatform.
1286         All moved sources are free of layering violations and thus ready for the migration.
1287
1288 2013-12-05  László Langó  <lango@inf.u-szeged.hu>
1289
1290         Remove bridge/testqtbindings.cpp.
1291         https://bugs.webkit.org/show_bug.cgi?id=125287
1292
1293         Reviewed by Alexey Proskuryakov.
1294
1295         * bridge/testqtbindings.cpp: Removed. There is no QT anymore.
1296         We don't need this file.
1297
1298 2013-12-04  Gurpreet Kaur  <k.gurpreet@samsung.com>
1299
1300         % unit heights don't work if parent block height is set in vh
1301         https://bugs.webkit.org/show_bug.cgi?id=118516
1302
1303         Reviewed by Simon Fraser.
1304
1305         From Blink r156449 by <srinivasa.ragavan.venkateswaran@intel.com>
1306
1307         An element having height as percentage needs to have the
1308         containingblock's height or availableheight to calculate its
1309         own height. The containing block having a height set in vh
1310         unit was not being considered for calculating the child's
1311         height.
1312
1313         Tests: fast/css/viewport-percentage-compute-box-height.html
1314                fast/css/viewport-percentage-compute-box-width.html
1315
1316         * rendering/RenderBox.cpp:
1317         (WebCore::RenderBox::computePercentageLogicalHeight):
1318         Correct child's height(in pecentage) was not being calculated
1319         incase of parent having height set in vh unit. Added condition
1320         to calculate the containing block height in terms of viewport size.
1321
1322 2013-12-04  Roger Fong  <roger_fong@apple.com>
1323
1324         [Windows] Unreviewed build fix. Copy headers from rendering/line to build directory.
1325
1326         * WebCore.vcxproj/copyForwardingHeaders.cmd:
1327
1328 2013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
1329
1330         bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
1331         https://bugs.webkit.org/show_bug.cgi?id=125208
1332
1333         Rubber-stamped by Anders Carlsson.
1334
1335         Address Darin's comment to use fastGetAttribute instead of getAttribute.
1336
1337         * html/HTMLDocument.cpp:
1338         (WebCore::HTMLDocument::bgColor):
1339         (WebCore::HTMLDocument::fgColor):
1340         (WebCore::HTMLDocument::alinkColor):
1341         (WebCore::HTMLDocument::linkColor):
1342         (WebCore::HTMLDocument::vlinkColor):
1343
1344 2013-12-04  Brian J. Burg  <burg@cs.washington.edu>
1345
1346         Consolidate various frame snapshot capabilities.
1347         https://bugs.webkit.org/show_bug.cgi?id=124325
1348
1349         Reviewed by Darin Adler.
1350
1351         Various snapshot creation methods had duplicated code and were split
1352         between Frame, DragImage, and platform-specific implementationss.
1353         This patch puts WebCore snapshot methods into FrameSnapshotting
1354         and removes platform implementations where possible.
1355
1356         DragImage methods reuse snapshot methods where possible. Inspector
1357         will be able to take snapshots without using drag images.
1358
1359         No new tests, this is a refactoring.
1360
1361         * CMakeLists.txt:
1362         * GNUmakefile.list.am:
1363         * WebCore.exp.in:
1364         * WebCore.vcxproj/WebCore.vcxproj:
1365         * WebCore.vcxproj/WebCore.vcxproj.filters:
1366         * WebCore.xcodeproj/project.pbxproj:
1367         * bindings/objc/DOM.mm:
1368         (-[DOMNode renderedImage]):
1369         (-[DOMRange renderedImageForcingBlackText:]):
1370         * dom/Clipboard.cpp:
1371         (WebCore::Clipboard::createDragImage):
1372         * dom/ClipboardMac.mm:
1373         (WebCore::Clipboard::createDragImage):
1374         * page/DragController.cpp:
1375         (WebCore::DragController::startDrag):
1376         * page/Frame.cpp:
1377         * page/Frame.h:
1378         * page/FrameSnapshotting.cpp: Added.
1379         (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
1380         (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
1381         (WebCore::snapshotFrameRect): Move most buffer logic to here.
1382         (WebCore::snapshotSelection): Moved from Frame.
1383         (WebCore::snapshotNode): Moved from Frame.
1384         * page/FrameSnapshotting.h: Added.
1385         * page/mac/FrameMac.mm: Removed.
1386         * page/mac/FrameSnapshottingMac.h: Removed.
1387         * page/mac/FrameSnapshottingMac.mm: Removed.
1388         * page/win/FrameWin.cpp: remove duplicate implementation.
1389         * page/win/FrameWin.h: Fix an incorrect parameter name.
1390         * platform/DragImage.cpp:
1391         (WebCore::ScopedNodeDragState::ScopedNodeDragState):
1392         (WebCore::ScopedNodeDragState::~ScopedNodeDragState):
1393         (WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
1394         (WebCore::createDragImageForNode):
1395         (WebCore::createDragImageForSelection):
1396         (WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
1397         (WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
1398         (WebCore::createDragImageForRange): Moved from Frame.
1399         (WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
1400         (WebCore::createDragImageForLink): use nullptr.
1401
1402 2013-12-04  Benjamin Poulain  <bpoulain@apple.com>
1403
1404         Remove spaces on a blank line to have ResourceHandleCFNet.cpp identical to iOS
1405
1406         Unreviewed.
1407
1408         * platform/network/cf/ResourceHandleCFNet.cpp:
1409         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
1410
1411 2013-12-04  Antti Koivisto  <antti@apple.com>
1412
1413         Move pseudo element construction out from Element
1414         https://bugs.webkit.org/show_bug.cgi?id=125257
1415
1416         Reviewed by Anders Carlsson.
1417
1418         This is logically part of the style resolve/render tree construction. This will make future
1419         refactoring easier.
1420
1421         * dom/Element.cpp:
1422         * dom/Element.h:
1423         * style/StyleResolveTree.cpp:
1424         (WebCore::Style::beforeOrAfterPseudoElement):
1425         (WebCore::Style::setBeforeOrAfterPseudoElement):
1426         (WebCore::Style::clearBeforeOrAfterPseudoElement):
1427         (WebCore::Style::needsPseudeElement):
1428         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
1429         (WebCore::Style::attachRenderTree):
1430         (WebCore::Style::updateBeforeOrAfterPseudoElement):
1431         (WebCore::Style::resolveTree):
1432
1433 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
1434
1435         Move TrailingObjects class into its own h/cpp
1436         https://bugs.webkit.org/show_bug.cgi?id=124956
1437
1438         Reviewed by David Hyatt.
1439
1440         Since I moved space-ignoring inline functions into MidpointState in r160074,
1441         I can nicely separate TrailingObjects class from BreakingContextInlineHeader.h.
1442         This change improves the readability, and it's part of the RenderBlockLineLayout
1443         refactoring campaign, which is tracked under bug #121261.
1444
1445         No new tests, no behavior change.
1446
1447         * CMakeLists.txt:
1448         * GNUmakefile.list.am:
1449         * WebCore.vcxproj/WebCore.vcxproj:
1450         * WebCore.xcodeproj/project.pbxproj:
1451         * rendering/RenderBlock.h:
1452         * rendering/RenderBlockFlow.h:
1453         * rendering/line/BreakingContextInlineHeaders.h:
1454         * rendering/line/TrailingObjects.cpp: Added.
1455         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
1456         * rendering/line/TrailingObjects.h: Added.
1457         (WebCore::TrailingObjects::TrailingObjects):
1458         (WebCore::TrailingObjects::setTrailingWhitespace):
1459         (WebCore::TrailingObjects::clear):
1460         (WebCore::TrailingObjects::appendBoxIfNeeded):
1461
1462 2013-12-04  Oliver Hunt  <oliver@apple.com>
1463
1464         Refactor static getter function prototype to include thisValue in addition to the base object
1465         https://bugs.webkit.org/show_bug.cgi?id=124461
1466
1467         Reviewed by Geoffrey Garen.
1468
1469         Change bindings codegen to produce static getter functions
1470         with the correct types.  Also update the many custom implementations
1471         to the new type.
1472
1473         No change in behaviour.
1474
1475         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1476         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
1477         (WebCore::cssPropertyGetterCallback):
1478         * bindings/js/JSDOMBinding.cpp:
1479         (WebCore::objectToStringFunctionGetter):
1480         * bindings/js/JSDOMBinding.h:
1481         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
1482         (WebCore::JSDOMMimeTypeArray::nameGetter):
1483         * bindings/js/JSDOMPluginArrayCustom.cpp:
1484         (WebCore::JSDOMPluginArray::nameGetter):
1485         * bindings/js/JSDOMPluginCustom.cpp:
1486         (WebCore::JSDOMPlugin::nameGetter):
1487         * bindings/js/JSDOMStringMapCustom.cpp:
1488         (WebCore::JSDOMStringMap::nameGetter):
1489         * bindings/js/JSDOMWindowCustom.cpp:
1490         (WebCore::nonCachingStaticFunctionGetter):
1491         (WebCore::childFrameGetter):
1492         (WebCore::indexGetter):
1493         (WebCore::namedItemGetter):
1494         * bindings/js/JSHTMLAllCollectionCustom.cpp:
1495         (WebCore::JSHTMLAllCollection::nameGetter):
1496         * bindings/js/JSHTMLCollectionCustom.cpp:
1497         (WebCore::JSHTMLCollection::nameGetter):
1498         * bindings/js/JSHTMLDocumentCustom.cpp:
1499         (WebCore::JSHTMLDocument::nameGetter):
1500         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
1501         (WebCore::JSHTMLFormControlsCollection::nameGetter):
1502         * bindings/js/JSHTMLFormElementCustom.cpp:
1503         (WebCore::JSHTMLFormElement::nameGetter):
1504         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
1505         (WebCore::JSHTMLFrameSetElement::nameGetter):
1506         * bindings/js/JSHistoryCustom.cpp:
1507         (WebCore::nonCachingStaticBackFunctionGetter):
1508         (WebCore::nonCachingStaticForwardFunctionGetter):
1509         (WebCore::nonCachingStaticGoFunctionGetter):
1510         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1511         (WebCore::JSJavaScriptCallFrame::scopeType):
1512         * bindings/js/JSLocationCustom.cpp:
1513         (WebCore::nonCachingStaticReplaceFunctionGetter):
1514         (WebCore::nonCachingStaticReloadFunctionGetter):
1515         (WebCore::nonCachingStaticAssignFunctionGetter):
1516         * bindings/js/JSNamedNodeMapCustom.cpp:
1517         (WebCore::JSNamedNodeMap::nameGetter):
1518         * bindings/js/JSNodeListCustom.cpp:
1519         (WebCore::JSNodeList::nameGetter):
1520         * bindings/js/JSPluginElementFunctions.cpp:
1521         (WebCore::pluginElementPropertyGetter):
1522         * bindings/js/JSPluginElementFunctions.h:
1523         * bindings/js/JSRTCStatsResponseCustom.cpp:
1524         (WebCore::JSRTCStatsResponse::nameGetter):
1525         * bindings/js/JSStorageCustom.cpp:
1526         (WebCore::JSStorage::nameGetter):
1527         * bindings/js/JSStyleSheetListCustom.cpp:
1528         (WebCore::JSStyleSheetList::nameGetter):
1529         * bindings/scripts/CodeGeneratorJS.pm:
1530         (GenerateHeader):
1531         (GenerateImplementation):
1532         (GenerateParametersCheck):
1533         * bridge/runtime_array.cpp:
1534         (JSC::RuntimeArray::lengthGetter):
1535         (JSC::RuntimeArray::indexGetter):
1536         * bridge/runtime_array.h:
1537         * bridge/runtime_method.cpp:
1538         (JSC::RuntimeMethod::lengthGetter):
1539         * bridge/runtime_method.h:
1540         * bridge/runtime_object.cpp:
1541         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
1542         (JSC::Bindings::RuntimeObject::fieldGetter):
1543         (JSC::Bindings::RuntimeObject::methodGetter):
1544         * bridge/runtime_object.h:
1545
1546 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
1547
1548         [CSS Shapes] Support inset for shape-outside
1549         <https://webkit.org/b/125112>
1550
1551         Reviewed by David Hyatt.
1552
1553         This patch adds inset support for shape-outside. Parsing has previously landed in r159968.
1554         Specification: http://dev.w3.org/csswg/css-shapes/#supported-basic-shapes
1555
1556         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html
1557                fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html
1558                fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html
1559                fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html
1560                fast/shapes/shape-outside-floats/shape-outside-floats-inset.html
1561
1562         * platform/LengthSize.h:
1563         (WebCore::LengthSize::floatSize): Add conversion to FloatSize.
1564         * rendering/shapes/Shape.cpp:
1565         (WebCore::Shape::createShape): Handle inset case.
1566
1567 2013-12-04  Bear Travis  <betravis@adobe.com>
1568
1569         Web Inspector: [CSS Shapes] Support raster shape visualizations
1570         https://bugs.webkit.org/show_bug.cgi?id=124080
1571
1572         Reviewed by Joseph Pecoraro.
1573
1574         Create an inspector visualization for a shape created from an image.
1575         The visualization takes each line of the image, combining where possible.
1576
1577         Test added to inspector-protocol/model/highlight-shape-outside.html
1578
1579         * rendering/shapes/RasterShape.cpp:
1580         (WebCore::RasterShapeIntervals::buildBoundsPath): Create a path representing the
1581         RasterShapeIntervals.
1582         * rendering/shapes/RasterShape.h:
1583
1584 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
1585
1586         [CSS Shapes] Remove explicit numbering from BasicShape::Type and CSSBasicShape::Type enums
1587         https://bugs.webkit.org/show_bug.cgi?id=125163
1588
1589         Reviewed by Rob Buis.
1590
1591         I don't see any reason to have explicit numbering for the Type enum in our [CSS]BasicShape classes.
1592         I removed numbering, which will decrease for instance the merge conflicts on Type changes.
1593
1594         No new tests, no behavior change.
1595
1596         * css/CSSBasicShapes.h:
1597         * rendering/style/BasicShapes.h:
1598
1599 2013-12-04  Myles C. Maxfield  <mmaxfield@apple.com>
1600
1601         Allow ImageBuffer to use an IOSurface that is larger than necessary
1602         https://bugs.webkit.org/show_bug.cgi?id=124626
1603
1604         Reviewed by Simon Fraser.
1605
1606         Because creating ImageBuffer's backing store can be so expensive, it
1607         would be beneficial to have a pool of pre-created backing stores
1608         available. However, this means that ImageBuffer might have to use a
1609         backing store that is larger than the exact dimensions that it needs.
1610         This patch adds a field, m_backingStoreSize, to CG's ImageBufferData
1611         class, and uses this new field when performing ImageBuffer operations
1612         to allow for larger-than-necessary backing stores. Content is always
1613         drawn in the top left corner of the backing store.
1614
1615         No new tests are necessary because there is no behavior change.
1616
1617         * platform/graphics/ImageBuffer.h:
1618         (WebCore::ImageBuffer::baseTransform): The base transform has to put
1619         content at the top left corner instead of bottom left
1620         * platform/graphics/cg/ImageBufferCG.cpp:
1621         (WebCore::createCroppedImageIfNecessary): Convenience function to figure out
1622         the dimensions of the backing texture in user space
1623         (WebCore::ImageBuffer::ImageBuffer): Set up new m_backingStoreSize member
1624         (WebCore::maybeCropToBounds): Some ImageBuffer API functions require
1625         outputting an image with logical size. This function performs the cropping
1626         (WebCore::ImageBuffer::copyImage): Updated for larger-than-necessary
1627         backing stores
1628         (WebCore::ImageBuffer::copyNativeImage): Ditto
1629         (WebCore::ImageBuffer::draw): Ditto
1630         (WebCore::ImageBuffer::clip): Ditto
1631         (WebCore::ImageBuffer::putByteArray): Ditto
1632         (WebCore::ImageBuffer::toDataURL): Ditto
1633         * platform/graphics/cg/ImageBufferDataCG.cpp:
1634         (WebCore::ImageBufferData::getData): Ditto
1635         (WebCore::ImageBufferData::putData): Ditto
1636         * platform/graphics/cg/ImageBufferDataCG.h: New m_backingStoreSize field
1637
1638 2013-12-03  Dean Jackson  <dino@apple.com>
1639
1640         [WebGL] Support for texImage2D of type HALF_FLOAT_OES
1641         https://bugs.webkit.org/show_bug.cgi?id=110936
1642
1643         Reviewed by Brent Fulgham.
1644
1645         Add support for the HALF_FLOAT_OES texture format from texImage2D
1646         and texSubImage2D.
1647
1648         A lot of this patch comes from the original patch on the bug
1649         by Nayan Kumar, and the Blink commit:
1650         https://codereview.chromium.org/13842017
1651
1652         Tests: fast/canvas/webgl/oes-texture-half-float-with-canvas.html
1653                fast/canvas/webgl/oes-texture-half-float-with-image.html
1654                fast/canvas/webgl/oes-texture-half-float-with-video.html
1655
1656         * html/canvas/OESTextureHalfFloat.idl: New HALF_FLOAT_OES constant value.
1657         * html/canvas/WebGLRenderingContext.cpp:
1658         (WebCore::WebGLRenderingContext::validateTexFunc): Remove the code that
1659         would bail if half-float values were used.
1660         * platform/graphics/GraphicsContext3D.cpp:
1661         - Return appropriate DataFormats for half floating point types.
1662         - Copy the float -> half-float code from Blink
1663         - New pack functions for half floats
1664         * platform/graphics/GraphicsContext3D.h: New format types.
1665         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1666         (WebCore::GraphicsContext3D::texSubImage2D): Use GL_HALF_FLOAT_ARB if we're passed
1667         a HALF_FLOAT_OES.
1668
1669 2013-12-04  Daniel Bates  <dabates@apple.com>
1670
1671         Fix the Apple Windows build after <http://trac.webkit.org/changeset/160113>
1672         (https://bugs.webkit.org/show_bug.cgi?id=125193)
1673
1674         * rendering/RenderThemeWin.cpp:
1675         (WebCore::RenderThemeWin::paintMenuList): Substitute paintInfo for i.
1676
1677 2013-12-04  Daniel Bates  <dabates@apple.com>
1678
1679         Rename RenderTheme::paintMenuListButton()
1680         https://bugs.webkit.org/show_bug.cgi?id=125193
1681
1682         Reviewed by Simon Fraser.
1683
1684         Towards upstreaming the iOS concept of render theme decorations we should rename
1685         RenderTheme::paintMenuListButton() to RenderTheme::paintMenuListButtonDecorations()
1686         to better describe its purpose.
1687
1688         Also, fix code style issues.
1689
1690         * platform/blackberry/RenderThemeBlackBerry.cpp:
1691         (WebCore::RenderThemeBlackBerry::paintMenuListButtonDecorations):
1692         * platform/blackberry/RenderThemeBlackBerry.h:
1693         * platform/efl/RenderThemeEfl.cpp:
1694         (WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
1695         * platform/efl/RenderThemeEfl.h:
1696         * platform/gtk/RenderThemeGtk.cpp:
1697         (WebCore::RenderThemeGtk::paintMenuListButtonDecorations):
1698         * platform/gtk/RenderThemeGtk.h:
1699         * platform/nix/RenderThemeNix.h:
1700         * rendering/RenderTheme.cpp:
1701         (WebCore::RenderTheme::paintDecorations): Rename argument o, r to renderer and rect, respectively.
1702         * rendering/RenderTheme.h:
1703         (WebCore::RenderTheme::paintMenuListButtonDecorations):
1704         * rendering/RenderThemeMac.h:
1705         * rendering/RenderThemeMac.mm:
1706         (WebCore::RenderThemeMac::paintMenuListButtonDecorations): Rename argument o, r to renderer and rect,
1707         respectively; also remove extraneous white space and substitute 1 for 1.0f.
1708         * rendering/RenderThemeSafari.cpp:
1709         (WebCore::RenderThemeSafari::paintMenuListButtonDecorations): Ditto.
1710         * rendering/RenderThemeSafari.h:
1711         * rendering/RenderThemeWin.cpp:
1712         (WebCore::RenderThemeWin::paintMenuList): Rename argument o, i, r to renderer, paintInfo, and rect,
1713         respectively.
1714         (WebCore::RenderThemeWin::paintMenuListButtonDecorations): Ditto.
1715         * rendering/RenderThemeWin.h:
1716         * rendering/RenderThemeWinCE.cpp:
1717         (WebCore::RenderThemeWinCE::paintMenuList): Ditto.
1718         (WebCore::RenderThemeWinCE::paintMenuListButtonDecorations): Ditto. 
1719         * rendering/RenderThemeWinCE.h:
1720
1721 2013-12-04  Andy Estes  <aestes@apple.com>
1722
1723         [iOS] Build projects with $(ARCHS_STANDARD_32_64_BIT)
1724         https://bugs.webkit.org/show_bug.cgi?id=125236
1725
1726         Reviewed by Sam Weinig.
1727
1728         $(ARCHS_STANDARD_32_64_BIT) is what we want for both device and simulator builds.
1729
1730         * Configurations/DebugRelease.xcconfig:
1731
1732 2013-12-04  Joseph Pecoraro  <pecoraro@apple.com>
1733
1734         Unreviewed Windows build fix attempt after r160099.
1735
1736         * WebCore.vcxproj/WebCore.vcxproj.filters:
1737         * WebCore.vcxproj/copyForwardingHeaders.cmd:
1738
1739 2013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
1740
1741         Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore
1742         https://bugs.webkit.org/show_bug.cgi?id=124613
1743
1744         Reviewed by Timothy Hatcher.
1745
1746         Make a WebCore::Page a "Web" Remote Debuggable.
1747
1748         * bindings/js/JSDOMGlobalObject.cpp:
1749         Disable JavaScript context inspection on JSGlobalObjects inside WebCore::Page's.
1750
1751         * page/Page.cpp:
1752         (WebCore::Page::Page):
1753         (WebCore::Page::remoteInspectionAllowed):
1754         (WebCore::Page::setRemoteInspectionAllowed):
1755         (WebCore::Page::remoteInspectorInformationDidChange):
1756         * page/Page.h:
1757         * page/PageDebuggable.h:
1758         * page/PageDebuggable.cpp: Added.
1759         (WebCore::PageDebuggable::PageDebuggable):
1760         (WebCore::PageDebuggable::name):
1761         (WebCore::PageDebuggable::url):
1762         (WebCore::PageDebuggable::hasLocalDebugger):
1763         (WebCore::PageDebuggable::connect):
1764         (WebCore::PageDebuggable::disconnect):
1765         (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
1766         (WebCore::PageDebuggable::setIndicating):
1767         Make a page a "Web" debuggable.
1768
1769         * GNUmakefile.list.am:
1770         * WebCore.exp.in:
1771         * WebCore.vcxproj/WebCore.vcxproj:
1772         * WebCore.vcxproj/WebCore.vcxproj.filters:
1773         * WebCore.xcodeproj/project.pbxproj:
1774         Misc.
1775
1776         * inspector/InspectorClient.h:
1777         (WebCore::InspectorClient::indicate):
1778         (WebCore::InspectorClient::hideIndicate):
1779         Forward indicate methods to WebKit clients.
1780
1781         * loader/FrameLoader.cpp:
1782         (WebCore::FrameLoader::didChangeTitle):
1783         (WebCore::FrameLoader::dispatchDidCommitLoad):
1784         Push updates when remote debuggable information like the Page's
1785         URL or title change.
1786
1787         * ForwardingHeaders/inspector/InspectorFrontendChannel.h:
1788         * inspector/InspectorForwarding.h:
1789         Re-export Inspector::InspectorFrontendChannel as WebCore::InspectorFrontendChannel
1790         to avoid needlessly updating code all over the place.
1791
1792         * inspector/CodeGeneratorInspectorStrings.py:
1793         * inspector/InspectorWorkerAgent.cpp:
1794         * inspector/WorkerInspectorController.cpp:
1795         * testing/Internals.cpp:
1796         Update include names.
1797
1798         * page/ContextMenuController.cpp:
1799         (WebCore::ContextMenuController::populate):
1800         Make the "Inspect Element" context menu work correctly when there is a
1801         remote inspector instead of a local inspector.
1802
1803 2013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
1804
1805         Web Inspector: Add missing folders and files to Xcode project
1806         https://bugs.webkit.org/show_bug.cgi?id=124802
1807
1808         Reviewed by Timothy Hatcher.
1809
1810         * WebCore.xcodeproj/project.pbxproj:
1811
1812 2013-12-04  José Dapena Paz  <jdapena@igalia.com>
1813
1814         [texmap] Borders on rotating images are hidden/wrongly rendered with edge distance antialiasing
1815         https://bugs.webkit.org/show_bug.cgi?id=124653
1816
1817         Reviewed by Noam Rosenthal.
1818
1819         Texture mapper edge distance antialiasing texture sampling was causing
1820         borders to be shaded (and made them almost disappear in some cases).
1821         This was because calculation of sampling happened on vertex shader, so
1822         the border of the texture would go to the border of the inflation area.
1823
1824         What algorithm should do is sampling the border pixel for all the
1825         inflation area (it is the closest pixel to all the samples in
1826         inflation area), and then use the standard sampling for the other
1827         parts of the texture.
1828
1829         No new test because this is already covered by test
1830         transforms/3d/point-mapping/3d-point-mapping.html
1831
1832         * platform/graphics/texmap/TextureMapperShaderProgram.cpp: fix edge
1833         distance antialiasing texture sampling.
1834
1835 2013-12-04  László Langó  <lango@inf.u-szeged.hu>
1836
1837         Typo fix after r160074 to fix debug builds.
1838
1839         Reviewed by Csaba Osztrogonác.
1840
1841         * platform/text/BidiResolver.h:
1842         (WebCore::MidpointState::stopIgnoringSpaces):
1843
1844 2013-12-04  Zoltan Horvath  <zoltan@webkit.org>
1845
1846         Move space-ignoring inline functions into MidpointState
1847         <https://webkit.org/b/124957>
1848
1849         Reviewed by David Hyatt.
1850
1851         Since:
1852          - The following inline functions were used only with a mandatory LineMidpointState argument:
1853            startIgnoringSpaces, stopIgnoringSpaces, ensureLineBoxInsideIgnoredSpaces, deprecatedAddMidpoint.
1854          - TrailingObjects class uses these functions. Since they're inline in BreakingContextInlineHeaders.h,
1855            it's hard to separate TrailingObjects into it's own file. (blocks bug #124956)
1856          I made these functions as a member of LineMidpointState, and I also updated the call sites.
1857
1858         No new tests, no behavior change.
1859
1860         * platform/text/BidiResolver.h:
1861         (WebCore::MidpointState::startIgnoringSpaces):
1862         (WebCore::MidpointState::stopIgnoringSpaces):
1863         (WebCore::MidpointState::ensureLineBoxInsideIgnoredSpaces):
1864         (WebCore::MidpointState::deprecatedAddMidpoint):
1865         * rendering/RenderBlock.h:
1866         * rendering/line/BreakingContextInlineHeaders.h:
1867         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
1868         (WebCore::BreakingContext::handleBR):
1869         (WebCore::BreakingContext::handleOutOfFlowPositioned):
1870         (WebCore::shouldSkipWhitespaceAfterStartObject):
1871         (WebCore::BreakingContext::handleEmptyInline):
1872         (WebCore::BreakingContext::handleReplaced):
1873         (WebCore::ensureCharacterGetsLineBox):
1874         (WebCore::BreakingContext::handleText):
1875
1876 2013-12-03  Zoltan Horvath  <zoltan@webkit.org>
1877
1878         Remove BreakingContext's friendship from RenderBlockFlow
1879         <https://webkit.org/b/124958>
1880
1881         Reviewed by David Hyatt.
1882
1883         BreakingContext uses only 2 functions from RenderBlockFlow: insertFloatingObject/positionNewFloatOnLine. I added helper
1884         functions to LineBreaker, what is already a friend of RenderBlockFlow, so BreakingContext doesn't need to be anymore.
1885  
1886         No new tests, no behavior change.
1887
1888         * rendering/RenderBlockFlow.h:
1889         * rendering/line/BreakingContextInlineHeaders.h:
1890         (WebCore::BreakingContext::handleFloat):
1891         * rendering/line/LineBreaker.h:
1892         (WebCore::LineBreaker::insertFloatingObject):
1893         (WebCore::LineBreaker::positionNewFloatOnLine):
1894
1895 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
1896
1897         bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
1898         https://bugs.webkit.org/show_bug.cgi?id=125208
1899
1900         Reviewed by Antti Koivisto.
1901
1902         Merge https://chromium.googlesource.com/chromium/blink/+/49b1eeabbbf573d5271288c66d2b566cf33a09cf
1903
1904         These member functions of HTMLBodyElement were only used by corresponding functions in HTMLDocument
1905         since they had the Reflect option specified in HTMLBodyElement.idl.
1906
1907         Removed the functions and directly called getAttribute and setAttribute in relevant functions in
1908         HTMLDocument. The optimization to avoid assignment is no longer needed here since we've added that
1909         optimization to setAttributeInternal a while ago.
1910
1911         * html/HTMLBodyElement.cpp:
1912         * html/HTMLBodyElement.h:
1913         * html/HTMLDocument.cpp:
1914         (WebCore::HTMLDocument::bgColor):
1915         (WebCore::HTMLDocument::setBgColor):
1916         (WebCore::HTMLDocument::fgColor):
1917         (WebCore::HTMLDocument::setFgColor):
1918         (WebCore::HTMLDocument::alinkColor):
1919         (WebCore::HTMLDocument::setAlinkColor):
1920         (WebCore::HTMLDocument::linkColor):
1921         (WebCore::HTMLDocument::setLinkColor):
1922         (WebCore::HTMLDocument::vlinkColor):
1923         (WebCore::HTMLDocument::setVlinkColor):
1924         * html/HTMLDocument.h:
1925
1926 2013-12-03  Andreas Kling  <akling@apple.com>
1927
1928         Add a CSSProperty::isDirectionAwareProperty() helper.
1929         <https://webkit.org/b/125202>
1930
1931         Move the block of case labels for checking whether a CSS property ID
1932         is a directional property into a separate function. Also removed an
1933         outdated comment about CSS variables.
1934
1935         Reviewed by Antti Koivisto.
1936
1937 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
1938
1939         Revert the inadvertently committed change.
1940
1941         * html/HTMLElement.idl:
1942
1943 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
1944
1945         Remove nodeIsDetachedFromDocument and visualWordMovementEnabled in FrameSelection
1946         https://bugs.webkit.org/show_bug.cgi?id=125210
1947
1948         Reviewed by Antti Koivisto.
1949
1950         Inspired by https://chromium.googlesource.com/chromium/blink/+/92409870f0ff8fafe31217830db0838a9e1ffb98
1951
1952         Removed some unused code.
1953
1954         * editing/FrameSelection.cpp:
1955         (WebCore::FrameSelection::textWasReplaced):
1956         * editing/FrameSelection.h:
1957         * page/Settings.in:
1958
1959 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
1960
1961         Potential crash in RenderView::selectionBounds and RenderView::repaintSelection
1962         https://bugs.webkit.org/show_bug.cgi?id=125207
1963
1964         Reviewed by Simon Fraser.
1965         
1966         Merge https://chromium.googlesource.com/chromium/blink/+/f9e6e288a5aa959f05c374806121aaf0fc52d440
1967
1968         Update style in FrameSelection instead of RenderView's member functions. These are the last two
1969         member functions of RenderView that updates the style.
1970
1971         * editing/FrameSelection.cpp:
1972         (WebCore::FrameSelection::focusedOrActiveStateChanged):
1973         (WebCore::FrameSelection::bounds):
1974         * rendering/RenderView.cpp:
1975         (WebCore::RenderView::selectionBounds):
1976         (WebCore::RenderView::repaintSelection):
1977
1978 2013-12-03  Mark Rowe  <mrowe@apple.com>
1979
1980         <https://webkit.org/b/125143> Improve the formatting in the generated Objective-C headers.
1981
1982         Add a space between @property and any parenthesized attributes.
1983         Prefer strong over retain when specifying memory management semantics.
1984
1985         Reviewed by Darin Adler.
1986
1987         * bindings/objc/PublicDOMInterfaces.h:
1988         * bindings/scripts/CodeGeneratorObjC.pm:
1989         (GetPropertyAttributes): Generate strong instead of retain. Include a
1990         space before the parenthesis.
1991         * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
1992         * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
1993         * bindings/scripts/test/ObjC/DOMTestException.h:
1994         * bindings/scripts/test/ObjC/DOMTestInterface.h:
1995         * bindings/scripts/test/ObjC/DOMTestObj.h:
1996         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
1997         * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
1998         * bindings/scripts/test/ObjC/DOMattribute.h:
1999
2000 2013-12-03  Alexey Proskuryakov  <ap@apple.com>
2001
2002         Update WebCrypto JWK mapping to newer proposal
2003         https://bugs.webkit.org/show_bug.cgi?id=124218
2004
2005         Reviewed by Anders Carlsson.
2006
2007         Tests: crypto/subtle/jwk-export-use-values.html
2008                crypto/subtle/jwk-import-use-values.html
2009
2010         1. "extractable" renamed to "ext" in JWK.
2011         2. New values for "use" mapping, which can now be combined into comma separated lists,
2012         and cover all possible WebCrypto usages.
2013
2014         * bindings/js/JSCryptoKeySerializationJWK.cpp:
2015         (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
2016         (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable):
2017         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
2018         (WebCore::processUseValue):
2019         (WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON):
2020         (WebCore::JSCryptoKeySerializationJWK::serialize):
2021
2022 2013-12-03  Simon Fraser  <simon.fraser@apple.com>
2023
2024         Remove some iOS-related documentScale code
2025         https://bugs.webkit.org/show_bug.cgi?id=125194
2026
2027         Reviewed by Enrica Casucci.
2028
2029         Remove exports of nonexistent documentScale-related functions on Frame.
2030
2031         * WebCore.exp.in:
2032
2033 2013-12-03  Eric Carlson  <eric.carlson@apple.com>
2034
2035         Fix regression caused by r158599
2036         https://bugs.webkit.org/show_bug.cgi?id=125188
2037
2038         Reviewed by Jer Noble.
2039
2040         * html/HTMLMediaElement.cpp:
2041         (HTMLMediaElement::clearMediaPlayer): Do not clear m_player when PLUGIN_PROXY_FOR_VIDEO
2042             is enabled.
2043
2044 2013-12-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2045
2046         Nix Upstream: Updating WebCore files
2047         https://bugs.webkit.org/show_bug.cgi?id=124981
2048
2049         Reviewed by Benjamin Poulain.
2050
2051         Just to sync our github repo files and the trunk, as part of the upstream process
2052
2053         No new tests needed.
2054
2055         * PlatformNix.cmake:
2056         * css/mediaControlsNix.css:
2057         (audio):
2058         (video::-webkit-media-controls):
2059         (audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
2060         (video::-webkit-media-controls-enclosure):
2061         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2062         (video:-webkit-full-page-media):
2063         (audio:-webkit-full-page-media, video:-webkit-full-page-media):
2064         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2065         (audio::-webkit-media-controls-overlay-play-button, video::-webkit-media-controls-overlay-play-button):
2066         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
2067         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
2068         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2069         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2070         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2071         (input[type="range"]::-webkit-media-slider-container):
2072         (input[type="range"]::-webkit-media-slider-container > div):
2073         (input[type="range"]::-webkit-media-slider-thumb):
2074         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
2075         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
2076         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
2077         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2078         (audio::-webkit-media-controls-fullscreen-volume-slider, video::-webkit-media-controls-fullscreen-volume-slider):
2079         (audio::-webkit-media-controls-fullscreen-volume-min-button, video::-webkit-media-controls-fullscreen-volume-min-button):
2080         (audio::-webkit-media-controls-fullscreen-volume-max-button, video::-webkit-media-controls-fullscreen-volume-max-button):
2081         (video::-webkit-media-text-track-container):
2082         (video::cue):
2083         (video::-webkit-media-text-track-region):
2084         (video::-webkit-media-text-track-region-container):
2085         (video::-webkit-media-text-track-region-container.scrolling):
2086         (video::-webkit-media-text-track-display):
2087         (video::cue(:future)):
2088         (video::-webkit-media-text-track-container b):
2089         (video::-webkit-media-text-track-container u):
2090         (video::-webkit-media-text-track-container i):
2091         * editing/Editor.cpp:
2092         (WebCore::Editor::cut):
2093         (WebCore::Editor::copy):
2094         (WebCore::Editor::copyImage):
2095         * editing/Editor.h:
2096         * html/HTMLCanvasElement.h:
2097         * platform/Cursor.h:
2098         * platform/audio/FFTFrame.h:
2099         * platform/audio/nix/AudioBusNix.cpp:
2100         (WebCore::AudioBus::loadPlatformResource):
2101         * platform/graphics/GLContext.h:
2102         * platform/nix/CursorNix.cpp:
2103         (WebCore::Cursor::ensurePlatformCursor):
2104         * platform/nix/GamepadsNix.cpp:
2105         (WebCore::sampleGamepads):
2106         * platform/nix/RenderThemeNix.cpp:
2107         (WebCore::toIntSize):
2108         (WebCore::toNixRect):
2109         (WebCore::RenderThemeNix::platformActiveSelectionBackgroundColor):
2110         (WebCore::RenderThemeNix::platformInactiveSelectionBackgroundColor):
2111         (WebCore::RenderThemeNix::platformActiveSelectionForegroundColor):
2112         (WebCore::RenderThemeNix::platformInactiveSelectionForegroundColor):
2113         (WebCore::RenderThemeNix::platformActiveListBoxSelectionBackgroundColor):
2114         (WebCore::RenderThemeNix::platformInactiveListBoxSelectionBackgroundColor):
2115         (WebCore::RenderThemeNix::platformActiveListBoxSelectionForegroundColor):
2116         (WebCore::RenderThemeNix::platformInactiveListBoxSelectionForegroundColor):
2117         (WebCore::RenderThemeNix::platformActiveTextSearchHighlightColor):
2118         (WebCore::RenderThemeNix::platformInactiveTextSearchHighlightColor):
2119         (WebCore::RenderThemeNix::platformFocusRingColor):
2120         (WebCore::RenderThemeNix::platformTapHighlightColor):
2121         (WebCore::RenderThemeNix::paintButton):
2122         (WebCore::RenderThemeNix::paintTextField):
2123         (WebCore::RenderThemeNix::paintCheckbox):
2124         (WebCore::RenderThemeNix::setCheckboxSize):
2125         (WebCore::RenderThemeNix::paintRadio):
2126         (WebCore::RenderThemeNix::setRadioSize):
2127         (WebCore::RenderThemeNix::paintMenuList):
2128         (WebCore::RenderThemeNix::paintProgressBar):
2129         (WebCore::RenderThemeNix::paintSliderTrack):
2130         (WebCore::RenderThemeNix::paintSliderThumb):
2131         (WebCore::RenderThemeNix::paintInnerSpinButton):
2132         (WebCore::RenderThemeNix::paintMeter):
2133         (WebCore::RenderThemeNix::extraMediaControlsStyleSheet):
2134         (WebCore::RenderThemeNix::paintMediaPlayButton):
2135         (WebCore::RenderThemeNix::paintMediaMuteButton):
2136         (WebCore::RenderThemeNix::paintMediaSeekBackButton):
2137         (WebCore::RenderThemeNix::paintMediaSeekForwardButton):
2138         (WebCore::RenderThemeNix::paintMediaSliderTrack):
2139         (WebCore::RenderThemeNix::paintMediaVolumeSliderContainer):
2140         (WebCore::RenderThemeNix::paintMediaVolumeSliderTrack):
2141         (WebCore::RenderThemeNix::paintMediaRewindButton):
2142         * platform/nix/RenderThemeNix.h:
2143         * rendering/SimpleLineLayout.cpp:
2144         (WebCore::SimpleLineLayout::canUseFor):
2145
2146 2013-12-03  Ralph Thomas  <ralpht@gmail.com>
2147
2148         Typo: FixedPositionConstaint -> FixedPositionConstraint
2149         https://bugs.webkit.org/show_bug.cgi?id=125171
2150
2151         Reviewed by Simon Fraser.
2152
2153         No new tests, no change in behavior.
2154
2155         * page/scrolling/ScrollingConstraints.h:
2156         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
2157         (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
2158         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2159         (WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
2160
2161 2013-12-03  Samuel White  <samuel_white@apple.com>
2162
2163         AXPress event coordinates are always sent as (0, 0)
2164         https://bugs.webkit.org/show_bug.cgi?id=76677
2165
2166         Reviewed by Simon Fraser.
2167
2168         Set the coordinates of a simulated press equal to the center of the target
2169         element when the simulated press does not have a related mouse event.
2170
2171         Test: accessibility/press-targets-center-point.html
2172
2173         * dom/Element.cpp:
2174         (WebCore::Element::clientRect):
2175         (WebCore::Element::screenRect):
2176         * dom/Element.h:
2177         * dom/EventDispatcher.cpp:
2178         (WebCore::EventDispatcher::dispatchSimulatedClick):
2179         * dom/MouseEvent.cpp:
2180         (WebCore::SimulatedMouseEvent::create):
2181         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
2182         * dom/MouseEvent.h:
2183
2184 2013-12-03  Dean Jackson  <dino@apple.com>
2185
2186         [WebGL] Implement OES texture float linear
2187         https://bugs.webkit.org/show_bug.cgi?id=124871
2188
2189         Reviewed by Brent Fulgham.
2190
2191         Implement the OES_texture_float_linear extension. Generally
2192         we'd also enable OES_texture_half_float_linear at the same
2193         time, but that's blocked on webkit.org/b/110936.
2194
2195         Test: fast/canvas/webgl/oes-texture-float-linear.html
2196
2197         * CMakeLists.txt: Add new files.
2198         * DerivedSources.cpp: Ditto.
2199         * DerivedSources.make: Generate new file from IDL.
2200         * GNUmakefile.list.am: Add new files.
2201         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2202         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2203         * WebCore.xcodeproj/project.pbxproj: New files for OESTextureFloatLinear.
2204
2205         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2206         (WebCore::toJS): Map the new name into the appropriate type.
2207
2208         * html/canvas/OESTextureFloatLinear.cpp: Added. This is a very simple class
2209         that's mostly empty.
2210         (WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
2211         (WebCore::OESTextureFloatLinear::~OESTextureFloatLinear):
2212         (WebCore::OESTextureFloatLinear::getName):
2213         (WebCore::OESTextureFloatLinear::create):
2214         * html/canvas/OESTextureFloatLinear.h: Added.
2215         * html/canvas/OESTextureFloatLinear.idl: Added.
2216
2217         * html/canvas/WebGLExtension.h: Declare the new name in the enum of extensions.
2218
2219         * html/canvas/WebGLRenderingContext.cpp:
2220         (WebCore::WebGLRenderingContext::drawArrays): Call new name.
2221         (WebCore::WebGLRenderingContext::drawElements): Call new name.
2222         (WebCore::WebGLRenderingContext::getExtension): Create the new extension if asked.
2223         (WebCore::WebGLRenderingContext::checkTextureCompleteness): Renamed from handleNPOTTextures. Now
2224         checks for the type of the texture too.
2225         * html/canvas/WebGLRenderingContext.h: Member variable for new extension.
2226
2227         * html/canvas/WebGLTexture.cpp:
2228         (WebCore::WebGLTexture::WebGLTexture):
2229         (WebCore::WebGLTexture::needToUseBlackTexture): Takes an extra parameter which indicates
2230         if it has an extension enabled.
2231         (WebCore::WebGLTexture::update): Note it is a float type when updating.
2232         * html/canvas/WebGLTexture.h: New flag to indicate float type.
2233
2234         * platform/graphics/Extensions3D.h: New flag type.
2235         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2236         (WebCore::Extensions3DOpenGL::supportsExtension): Add a comment about the extension.
2237
2238 2013-12-03  Alexey Proskuryakov  <ap@apple.com>
2239
2240         Support exporting private WebCrypto RSA keys
2241         https://bugs.webkit.org/show_bug.cgi?id=124483
2242
2243         Reviewed by Anders Carlsson.
2244
2245         Test: crypto/subtle/rsa-export-private-key.html
2246
2247         It might be better to have our own bignum implementation in WTF, but we currently
2248         don't, and the need for this computation is Common Crypto specific anyway.
2249
2250         * crypto/CommonCryptoUtilities.h:
2251         * crypto/CommonCryptoUtilities.cpp:
2252         (WebCore::CCBigNum::CCBigNum):
2253         (WebCore::CCBigNum::~CCBigNum):
2254         (WebCore::CCBigNum::operator=):
2255         (WebCore::CCBigNum::data):
2256         (WebCore::CCBigNum::operator-):
2257         (WebCore::CCBigNum::operator%):
2258         (WebCore::CCBigNum::inverse):
2259         Added a minimal wrapper around CommonCrypto BigNum.
2260
2261         * crypto/mac/CryptoKeyRSAMac.cpp:
2262         (WebCore::getPrivateKeyComponents): Compute missing parts using CCBigNum.
2263         (WebCore::CryptoKeyRSA::exportData): Implemented private key case.
2264
2265 2013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
2266
2267         XML fragment parsing algorithm doesn't use the context element's default namespace URI
2268         https://bugs.webkit.org/show_bug.cgi?id=125132
2269
2270         Reviewed by Darin Adler.
2271
2272         Always use the context element's namespace as the default namespace URI when one is not specified by xmlns.
2273
2274         The new behavior matches that of Internet Explorer and the specified behavior in HTML5:
2275         http://www.w3.org/TR/2013/CR-html5-20130806/the-xhtml-syntax.html#parsing-xhtml-fragments
2276
2277         "The default namespace is the namespace for which the DOM isDefaultNamespace() method on the element would
2278         return true."
2279
2280         Test: fast/parser/fragment-parsing-in-document-without-xmlns.html
2281
2282         * xml/parser/XMLDocumentParserLibxml2.cpp:
2283         (WebCore::XMLDocumentParser::XMLDocumentParser):
2284
2285 2013-12-03  Nick Diego Yamane  <nick.yamane@openbossa.org>
2286
2287         Remove some CSS Variables leftovers
2288         https://bugs.webkit.org/show_bug.cgi?id=125167
2289
2290         Reviewed by Darin Adler.
2291
2292         No new tests needed. Only removing leftover code.
2293
2294         * css/CSSBasicShapes.cpp:
2295         * css/CSSBasicShapes.h:
2296
2297 2013-12-03  Myles C. Maxfield  <mmaxfield@apple.com>
2298
2299         Checking second-to-last bit in address is a typo
2300         https://bugs.webkit.org/show_bug.cgi?id=125162
2301
2302         Reviewed by Darin Adler.
2303
2304         After talking with the original author of this line,
2305         is was a typo to make sure that the second-to-last bit
2306         in an address is 0. Instead, we want to make sure that
2307         the address is aligned to a 4-byte boundary
2308
2309         No behavior change, so no test is necessary
2310
2311         * platform/graphics/cg/ImageBufferCG.cpp:
2312         (WebCore::ImageBuffer::ImageBuffer):
2313
2314 2013-12-03  Radu Stavila  <stavila@adobe.com>
2315
2316         The overflow border of a relatively positioned element inside a region is not painted
2317         https://bugs.webkit.org/show_bug.cgi?id=124919
2318
2319         Relative positioned elements have self-painting layers that don't propagate the visual overflow
2320         so the layer's position should be used when determining the clipping rectangle for box decorations.
2321
2322         Reviewed by Mihnea Ovidenie.
2323
2324         Test: fast/regions/relative-borders-overflow.html
2325
2326         * rendering/RenderFlowThread.cpp:
2327         (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
2328
2329 2013-12-03  Seokju Kwon  <seokju@webkit.org>
2330
2331         Web Inspector: Get rid of 'hasFrontend()' in InspectorController and WorkerInspectorController
2332         https://bugs.webkit.org/show_bug.cgi?id=125135
2333
2334         Reviewed by Darin Adler.
2335
2336         Remove 'hasFrontend()' from InspectorController and WorkerInspectorController
2337         as it's never called.
2338
2339         No new tests, no behavior changes.
2340
2341         * inspector/InspectorController.h:
2342         * inspector/WorkerInspectorController.h:
2343
2344 2013-12-03  Seokju Kwon  <seokju@webkit.org>
2345
2346         Web Inspector: webViewResized() is not used anywhere in WebInspectorUI
2347         https://bugs.webkit.org/show_bug.cgi?id=125137
2348
2349         Reviewed by Darin Adler.
2350
2351         Remove leftover code.
2352
2353         No new tests, no behavior changes.
2354
2355         * inspector/InspectorController.cpp:
2356         * inspector/InspectorController.h:
2357         * inspector/InspectorOverlay.cpp:
2358         * inspector/InspectorOverlay.h:
2359         * inspector/InspectorPageAgent.cpp:
2360         * inspector/InspectorPageAgent.h:
2361
2362 2013-12-03  László Langó  <lango@inf.u-szeged.hu>
2363
2364         ASSERTION FAILED: !value || (value->isPrimitiveValue()) in WebCore::StyleProperties::getLayeredShorthandValue.
2365         https://bugs.webkit.org/show_bug.cgi?id=125146
2366
2367         Reviewed by Darin Adler.
2368
2369         Do not presume that |yValue| is primitive if |value| is implicit in StylePropertySerializer.
2370         An implicit y-value can become explicit if specified as a separate longhand.
2371         At the same time, its new value can be non-primitive.
2372
2373         Backported from Blink:
2374         http://src.chromium.org/viewvc/blink?view=rev&rev=153678
2375
2376         Test: fast/css/webkit-mask-crash-implicit.html
2377
2378         * css/StyleProperties.cpp:
2379         (WebCore::StyleProperties::getLayeredShorthandValue):
2380
2381 2013-12-03  Rob Buis  <rob.buis@samsung.com>
2382
2383         Fix build break after r160007.
2384
2385         * rendering/style/BasicShapes.cpp:
2386         (WebCore::BasicShape::canBlend):
2387
2388 2013-12-03  Rob Buis  <rob.buis@samsung.com>
2389
2390         [css shapes] layout for new ellipse syntax
2391         https://bugs.webkit.org/show_bug.cgi?id=124621
2392
2393         Reviewed by Dirk Schulze.
2394
2395         Implement support for doing layout with the new ellipse shape syntax,
2396         including basic animation support.
2397
2398         Test: fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html
2399
2400         * rendering/shapes/Shape.cpp:
2401         (WebCore::Shape::createShape): Convert new ellipse to a layout shape.
2402         * rendering/style/BasicShapes.cpp:
2403         (WebCore::BasicShape::canBlend): Ignore ellipses with values that
2404             cannot be interpolated.
2405         (WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Helper function to calculate
2406             either radiusX or radiusY, shared by clip-path and shape code paths.
2407         (WebCore::BasicShapeEllipse::path):
2408         * rendering/style/BasicShapes.h:
2409
2410 2013-12-03  Frédéric Wang  <fred.wang@free.fr>
2411
2412         Add an MathMLSelectElement class to implement <maction> and <semantics>.
2413         <https://webkit.org/b/120058>
2414
2415         Reviewed by Chris Fleizach.
2416
2417         Tests: mathml/presentation/maction-dynamic.html
2418                mathml/presentation/maction.html
2419                mathml/presentation/semantics.html
2420
2421         This adds a new MathMLSelectElement class to prepare the implementation
2422         of the <maction> and <semantics> elements, for which only one "selected"
2423         child is visible. We now simply display the first child of the
2424         <semantics> element instead of hiding the annotations and this allows to
2425         handle the use case of SVG-in-MathML as generated by Instiki when
2426         bug 124128 is fixed ; Gecko's selection algorithm will be implemented
2427         later (bug 100626). We now also rely on the @actiontype and @selection
2428         attributes to select the visible <maction> child ; It remains to deal
2429         with the user interaction (bug 85734).
2430
2431         * CMakeLists.txt: add the new files.
2432         * GNUmakefile.list.am: ditto
2433         * Target.pri: ditto
2434         * WebCore.vcxproj/WebCore.vcxproj: ditto
2435         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto
2436         * WebCore.xcodeproj/project.pbxproj: ditto
2437         * css/mathml.css: remove the CSS rule for annotation/annotation-xml.
2438         * mathml/MathMLAllInOne.cpp: add the new cpp file.
2439         * mathml/MathMLSelectElement.cpp: Added.
2440         (WebCore::MathMLSelectElement::MathMLSelectElement):
2441         (WebCore::MathMLSelectElement::create):
2442         (WebCore::MathMLSelectElement::createRenderer):
2443         (WebCore::MathMLSelectElement::childShouldCreateRenderer):
2444         (WebCore::MathMLSelectElement::finishParsingChildren):
2445         (WebCore::MathMLSelectElement::childrenChanged):
2446         (WebCore::MathMLSelectElement::attributeChanged):
2447         (WebCore::MathMLSelectElement::updateSelectedChild): basic implementation for maction, semantics, maction@actiontype and maction@selection.
2448         * mathml/MathMLSelectElement.h: Added.
2449         * mathml/mathattrs.in: add actiontype and selection attributes.
2450         * mathml/mathtags.in: set element classes for maction, semantics, annotation and annotation-xml.
2451
2452 2013-12-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2453
2454         Nix Upstream: Adding missing nix new files to WebCore
2455         https://bugs.webkit.org/show_bug.cgi?id=124987
2456
2457         Reviewed by Benjamin Poulain.
2458
2459         No new tests needed.
2460
2461         * PlatformNix.cmake:
2462         * platform/nix/ErrorsNix.cpp: Added.
2463         * platform/nix/ErrorsNix.h: Added.
2464         * platform/nix/FileSystemNix.cpp: Added.
2465         * platform/nix/MIMETypeRegistryNix.cpp: Added.
2466         * platform/nix/SharedTimerNix.cpp: Added.
2467         * platform/nix/TemporaryLinkStubs.cpp: Added.
2468
2469 2013-12-03  Tamas Gergely  <gertom@inf.u-szeged.hu>
2470
2471         Correct broken build on efl port with --no-netscape-plugin-api
2472         configuration.
2473         https://bugs.webkit.org/show_bug.cgi?id=123997
2474
2475         Reviewed by Zoltan Herczeg.
2476
2477         Build failed on efl port with --no-netscape-plugin-api configuration
2478         as ld did not found some methods. The configuration uses a minimal
2479         empty implementation of the class, which is now extended with empty
2480         method implementations.
2481
2482         * plugins/PluginPackageNone.cpp:
2483         (WebCore::PluginPackage::createPackage):
2484           Returns NULL pointer.
2485         (WebCore::PluginPackage::hash):
2486           Returns 0.
2487         (WebCore::PluginPackage::equal):
2488           Returns true (equals).
2489         (WebCore::PluginPackage::compare):
2490           Returns 0 (equals).
2491         (WebCore::PluginPackage::~PluginPackage):
2492           Do nothing.
2493
2494 2013-12-02  Andreas Kling  <akling@apple.com>
2495
2496         Avoid setting style twice for generated image content.
2497         <https://webkit.org/b/125128>
2498
2499         Take care of a FIXME I added in r158097 and avoid redundant work in
2500         ImageContentData::createRenderer().
2501
2502         I changed the inheritance helper RenderImage::setPseudoStyle() into
2503         a new createStyleInheritingFromPseudoStyle() function instead so it
2504         can be used from both PseudoElement and ImageContentData.
2505
2506         Reviewed by Antti Koivisto.
2507
2508 2013-12-02  Samuel White  <samuel_white@apple.com>
2509
2510         AX: Add AXUIElementCountForSearchPredicate parameterized attribute.
2511         https://bugs.webkit.org/show_bug.cgi?id=124561
2512
2513         Reviewed by Chris Fleizach.
2514
2515         Added ability to fetch the number of elements that match a specific criteria. This will enable VoiceOver
2516         to interface with WebKit much more dynamically. We can now get an idea of how many interesting elements
2517         exist on a page, and then fetch them in chunks as needed.
2518
2519         Test: platform/mac/accessibility/search-predicate-element-count.html
2520
2521         * accessibility/AccessibilityObject.cpp:
2522         (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
2523         * accessibility/AccessibilityObject.h:
2524         (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
2525         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2526         (accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
2527         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2528         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2529
2530 2013-12-02  Bem Jones-Bey  <bjonesbe@adobe.com>
2531
2532         [css shapes] Layout support for new circle shape syntax
2533         https://bugs.webkit.org/show_bug.cgi?id=124619
2534
2535         Reviewed by Dirk Schulze.
2536
2537         Implement support for doing layout with the new circle shape syntax,
2538         inclduing basic animation support.
2539
2540         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-circle-000.html
2541                fast/shapes/shape-outside-floats/shape-outside-floats-circle-001.html
2542                fast/shapes/shape-outside-floats/shape-outside-floats-circle-002.html
2543                fast/shapes/shape-outside-floats/shape-outside-floats-circle-003.html
2544                fast/shapes/shape-outside-floats/shape-outside-floats-circle-004.html
2545                fast/shapes/shape-outside-floats/shape-outside-floats-circle-005.html
2546
2547         * css/BasicShapeFunctions.cpp:
2548         (WebCore::floatValueForCenterCoordinate): Used by both the CSS Shapes
2549             layout code and the clip path code.
2550         * css/BasicShapeFunctions.h:
2551         * css/CSSBasicShapes.cpp:
2552         (WebCore::buildCircleString): Update to use appendLiteral, and remove
2553             call to reserveCapacity - if we find that it's actually slow when
2554             doing performance tests, we can hopefully do something smarter and
2555             less ugly than that.
2556         * css/CSSParser.cpp:
2557         (WebCore::CSSParser::parseShapeRadius): Fix a logic error that caused
2558             the radius keywords not to work properly.
2559         * rendering/shapes/Shape.cpp:
2560         (WebCore::Shape::createShape): Convert new circle to a layout shape.
2561         * rendering/style/BasicShapes.cpp:
2562         (WebCore::BasicShape::canBlend): Ignore circles with values that
2563             cannot be interpolated.
2564         (WebCore::BasicShapeCircle::floatValueForRadiusInBox): Convert circle
2565             radius keywords to a float value.
2566         (WebCore::BasicShapeCircle::path):
2567         (WebCore::BasicShapeCircle::blend):
2568         * rendering/style/BasicShapes.h:
2569         (WebCore::BasicShapeCenterCoordinate::canBlend):
2570         (WebCore::BasicShapeRadius::canBlend):
2571
2572 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
2573
2574         WebCrypto HMAC doesn't check key algorithm's hash
2575         https://bugs.webkit.org/show_bug.cgi?id=125114
2576
2577         Reviewed by Anders Carlsson.
2578
2579         Test: crypto/subtle/hmac-check-algorithm.html
2580
2581         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
2582         (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches): Check it.
2583
2584 2013-12-02  Brady Eidson  <beidson@apple.com>
2585
2586         Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
2587         https://bugs.webkit.org/show_bug.cgi?id=125110
2588
2589         Reviewed by Darin Adler.
2590
2591         FrameLoader::loadProgressingStatusChanged() might be called while the Frame has a null FrameView.
2592
2593         It’s unclear how to reproduce, but there’s no harm in a null check.
2594
2595         * loader/FrameLoader.cpp:
2596         (WebCore::FrameLoader::loadProgressingStatusChanged):
2597
2598 2013-12-02  Brady Eidson  <beidson@apple.com>
2599
2600         Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
2601         https://bugs.webkit.org/show_bug.cgi?id=125110
2602
2603         Reviewed by Darin Adler.
2604
2605         It’s possible to have a null m_originatingProgressFrame when the heartbeat timer fires.
2606
2607         On the surface this seems impossible because the only time m_originatingProgressFrame is cleared
2608         out the heartbeat timer is also stopped.
2609
2610         But there’s likely still a race condition in multi-threaded environments.
2611
2612         There’s no harm in null-checking m_originatingProgressFrame before accessing its loader.
2613
2614         * loader/ProgressTracker.cpp:
2615         (WebCore::ProgressTracker::progressHeartbeatTimerFired):
2616
2617 2013-12-02  Brady Eidson  <beidson@apple.com>
2618
2619         Add more CachedPage null checks
2620         https://bugs.webkit.org/show_bug.cgi?id=125106
2621
2622         Reviewed by Sam Weinig.
2623
2624         Only some functions in PageCache.cpp null-check the CachedPages in HistoryItems.
2625
2626         Every part that manipulates the CachedPage should.
2627
2628         * history/PageCache.cpp:
2629         (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
2630         (WebCore::PageCache::markPagesForFullStyleRecalc):
2631         (WebCore::PageCache::markPagesForDeviceScaleChanged):
2632         (WebCore::PageCache::markPagesForCaptionPreferencesChanged):
2633
2634 2013-12-02  Zoltan Horvath  <zoltan@webkit.org>
2635
2636         [CSS Shapes] Support inset parsing
2637         https://bugs.webkit.org/show_bug.cgi?id=124903
2638
2639         Reviewed by David Hyatt.
2640
2641         In this patch I added support for inset shape parsing for CSS Shapes. Inset is defined
2642         by CSS Shapes Level 1 (http://dev.w3.org/csswg/css-shapes-1/#supported-basic-shapes).
2643         Inset is going to be used by shape-outside (bug #124905), and eventually by shape-inside.
2644
2645         No new tests, I updated existing tests to cover the changes.
2646
2647         * css/BasicShapeFunctions.cpp:
2648         (WebCore::valueForBasicShape): Add support for inset.
2649         (WebCore::basicShapeForValue): Add support for inset.
2650         * css/CSSBasicShapes.cpp:
2651         (WebCore::buildInsetString): Create inset css string.
2652         (WebCore::CSSBasicShapeInset::cssText): Convert inset shape to a CSS string.
2653         (WebCore::CSSBasicShapeInset::equals): Compare two inset rectangles.
2654         (WebCore::CSSBasicShapeInset::serializeResolvingVariables): Create an inset string, with CSS variables resolved.
2655         (WebCore::CSSBasicShapeInset::hasVariableReference): Determine if this inset has any CSS Variable references.
2656         * css/CSSBasicShapes.h: Add inset class.
2657         (WebCore::CSSBasicShapeInset::create):
2658         (WebCore::CSSBasicShapeInset::top):
2659         (WebCore::CSSBasicShapeInset::right):
2660         (WebCore::CSSBasicShapeInset::bottom):
2661         (WebCore::CSSBasicShapeInset::left):
2662         (WebCore::CSSBasicShapeInset::topLeftRadius):
2663         (WebCore::CSSBasicShapeInset::topRightRadius):
2664         (WebCore::CSSBasicShapeInset::bottomRightRadius):
2665         (WebCore::CSSBasicShapeInset::bottomLeftRadius):
2666         (WebCore::CSSBasicShapeInset::setTop):
2667         (WebCore::CSSBasicShapeInset::setRight):
2668         (WebCore::CSSBasicShapeInset::setBottom):
2669         (WebCore::CSSBasicShapeInset::setLeft):
2670         (WebCore::CSSBasicShapeInset::setTopLeftRadius):
2671         (WebCore::CSSBasicShapeInset::setTopRightRadius):
2672         (WebCore::CSSBasicShapeInset::setBottomRightRadius):
2673         (WebCore::CSSBasicShapeInset::setBottomLeftRadius):
2674         (WebCore::CSSBasicShapeInset::CSSBasicShapeInset):
2675         * css/CSSParser.cpp:
2676         (WebCore::completeBorderRadii): Move static function before parseInsetBorderRadius.
2677         (WebCore::CSSParser::parseInsetRoundedCorners): I added this helper function for parsing the rounded corners
2678         (WebCore::CSSParser::parseBasicShapeInset): Parse inset.
2679         (WebCore::CSSParser::parseBasicShape): Add call to parse inset.
2680         * css/CSSParser.h:
2681         * css/CSSPrimitiveValue.cpp:
2682         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add constructor for LengthSize.
2683         (WebCore::CSSPrimitiveValue::init): Initialize LengthSize.
2684         * css/CSSPrimitiveValue.h:
2685         (WebCore::CSSPrimitiveValue::create): Add support for creating PrimitiveValue from LengthSize.
2686         * css/CSSValuePool.h:
2687         (WebCore::CSSValuePool::createValue): Add support for LengthSize.
2688         * platform/LengthSize.h:
2689         (WebCore::LengthSize::blend): Add blend for LengthSize.
2690         * rendering/shapes/ShapeInsideInfo.cpp:
2691         (WebCore::ShapeInsideInfo::isEnabledFor): Keep inset disabled for shape-inside now.
2692         * rendering/style/BasicShapes.cpp:
2693         (WebCore::BasicShapeInset::path): Calculate path for an inset.
2694         (WebCore::BasicShapeInset::blend): Blend two insets.
2695         * rendering/style/BasicShapes.h: Add higher level inset.
2696         (WebCore::BasicShapeInset::create):
2697         (WebCore::BasicShapeInset::top):
2698         (WebCore::BasicShapeInset::right):
2699         (WebCore::BasicShapeInset::bottom):
2700         (WebCore::BasicShapeInset::left):
2701         (WebCore::BasicShapeInset::topLeftRadius):
2702         (WebCore::BasicShapeInset::topRightRadius):
2703         (WebCore::BasicShapeInset::bottomRightRadius):
2704         (WebCore::BasicShapeInset::bottomLeftRadius):
2705         (WebCore::BasicShapeInset::setTop):
2706         (WebCore::BasicShapeInset::setRight):
2707         (WebCore::BasicShapeInset::setBottom):
2708         (WebCore::BasicShapeInset::setLeft):
2709         (WebCore::BasicShapeInset::setTopLeftRadius):
2710         (WebCore::BasicShapeInset::setTopRightRadius):
2711         (WebCore::BasicShapeInset::setBottomRightRadius):
2712         (WebCore::BasicShapeInset::setBottomLeftRadius):
2713         (WebCore::BasicShapeInset::BasicShapeInset):
2714
2715 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
2716
2717         Support WebCrypto AES-KW
2718         https://bugs.webkit.org/show_bug.cgi?id=125105
2719
2720         Reviewed by Sam Weinig.
2721
2722         Tests: crypto/subtle/aes-kw-key-manipulation.html
2723                crypto/subtle/aes-kw-wrap-unwrap-aes.html
2724
2725         * WebCore.xcodeproj/project.pbxproj: Added new files.
2726
2727         * crypto/CryptoAlgorithmIdentifier.h: (WebCore::CryptoAlgorithmIdentifier): Added AES-KW.
2728         It's not standardized yet, but there appears to be a consensus that it will be specified.
2729
2730         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2731         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
2732         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
2733         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
2734         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
2735         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
2736         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
2737         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
2738         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
2739         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
2740         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
2741         Added AES-KW cases everywhere.
2742
2743         * bindings/js/JSCryptoKeySerializationJWK.cpp:
2744         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
2745         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
2746         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
2747         Support importing/exporting AES-KW keys in JWK.
2748
2749         * bindings/js/JSSubtleCryptoCustom.cpp:
2750         (WebCore::JSSubtleCrypto::importKey):
2751         (WebCore::JSSubtleCrypto::exportKey):
2752         (WebCore::JSSubtleCrypto::wrapKey):
2753         (WebCore::JSSubtleCrypto::unwrapKey):
2754         Added some accidentally forgotten std::moves.
2755
2756         * crypto/algorithms/CryptoAlgorithmAES_KW.cpp: Added.
2757         * crypto/algorithms/CryptoAlgorithmAES_KW.h: Added.
2758         * crypto/mac/CryptoAlgorithmAES_KWMac.cpp: Added.
2759
2760         * crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::CryptoKeyAES): Allow AES-KW
2761         as valid algorithm for AES keys.
2762
2763         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
2764         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register AES-KW.
2765
2766 2013-12-02  Beth Dakin  <bdakin@apple.com>
2767
2768         Add a setting to opt into a mode where the background extends and fixed elements 
2769         don't move on rubber-band
2770         https://bugs.webkit.org/show_bug.cgi?id=124745
2771
2772         Reviewed by Tim Horton.
2773
2774         New setting backgroundShouldExtendBeyondPage() will cause the tile cache to have a 
2775         margin, and it will also cause fixed elements and backgrounds to stick to the 
2776         viewport on scroll instead of sticking to the document. 
2777
2778         * WebCore.exp.in:
2779         * page/FrameView.cpp:
2780         (WebCore::FrameView::scrollBehaviorForFixedElements):
2781         * page/Settings.in:
2782         * rendering/RenderLayerBacking.cpp:
2783         (WebCore::RenderLayerBacking::RenderLayerBacking):
2784
2785 2013-12-02  Roger Zanoni  <rogerzanoni@gmail.com>
2786
2787         [MediaStream] Use iterator-based loops instead of index-based loops
2788         https://bugs.webkit.org/show_bug.cgi?id=125021
2789
2790         Reviewed by Eric Carlson.
2791
2792         Also, changing iterator variable names from iter to it and
2793         initializing an 'end' variable in each loop instead of evaluating
2794         'collection.end()' multiple times.
2795
2796         No new tests, covered by existing ones.
2797
2798         * Modules/mediastream/MediaStream.cpp:
2799         (WebCore::MediaStream::cloneMediaStreamTrackVector):
2800         (WebCore::MediaStream::haveTrackWithSource):
2801         (WebCore::MediaStream::getTrackById):
2802         (WebCore::MediaStream::trackDidEnd):
2803         (WebCore::MediaStream::scheduledEventTimerFired):
2804
2805 2013-12-02  Rob Buis  <rob.buis@samsung.com>
2806
2807         [css shapes] Parse new ellipse shape syntax
2808         https://bugs.webkit.org/show_bug.cgi?id=124620
2809
2810         Reviewed by Dirk Schulze.
2811
2812         Implement parsing of the new ellipse shape syntax. This closely follows the patch
2813         for the new circle syntax (https://bugs.webkit.org/show_bug.cgi?id=124618), with
2814         some refactoring of functionality shared by both.
2815
2816         Updated existing parsing tests to cover this.
2817
2818         * css/BasicShapeFunctions.cpp:
2819         (WebCore::BasicShapeRadiusToCSSValue):
2820         (WebCore::valueForBasicShape):
2821         (WebCore::CSSValueToBasicShapeRadius):
2822         (WebCore::basicShapeForValue):
2823         * css/CSSBasicShapes.cpp:
2824         (WebCore::buildEllipseString):
2825         (WebCore::CSSBasicShapeEllipse::cssText):
2826         (WebCore::CSSBasicShapeEllipse::equals):
2827         (WebCore::buildDeprecatedEllipseString):
2828         (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
2829         (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
2830         * css/CSSBasicShapes.h:
2831         (WebCore::CSSDeprecatedBasicShapeEllipse::create):
2832         (WebCore::CSSDeprecatedBasicShapeEllipse::centerX):
2833         (WebCore::CSSDeprecatedBasicShapeEllipse::centerY):
2834         (WebCore::CSSDeprecatedBasicShapeEllipse::radiusX):
2835         (WebCore::CSSDeprecatedBasicShapeEllipse::radiusY):
2836         (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterX):
2837         (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterY):
2838         (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusX):
2839         (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusY):
2840         (WebCore::CSSDeprecatedBasicShapeEllipse::CSSDeprecatedBasicShapeEllipse):
2841         * css/CSSParser.cpp:
2842         (WebCore::CSSParser::parseBasicShapeEllipse):
2843         (WebCore::CSSParser::parseDeprecatedBasicShapeEllipse):
2844         (WebCore::CSSParser::parseBasicShape):
2845         * css/CSSParser.h:
2846         * rendering/shapes/Shape.cpp:
2847         (WebCore::Shape::createShape):
2848         * rendering/style/BasicShapes.cpp:
2849         (WebCore::DeprecatedBasicShapeEllipse::path):
2850         (WebCore::DeprecatedBasicShapeEllipse::blend):
2851         (WebCore::BasicShapeEllipse::path):
2852         (WebCore::BasicShapeEllipse::blend):
2853         * rendering/style/BasicShapes.h:
2854         (WebCore::BasicShapeEllipse::centerX):
2855         (WebCore::BasicShapeEllipse::centerY):
2856         (WebCore::BasicShapeEllipse::radiusX):
2857         (WebCore::BasicShapeEllipse::radiusY):
2858         (WebCore::BasicShapeEllipse::setCenterX):
2859         (WebCore::BasicShapeEllipse::setCenterY):
2860         (WebCore::BasicShapeEllipse::setRadiusX):
2861         (WebCore::BasicShapeEllipse::setRadiusY):
2862         (WebCore::BasicShapeEllipse::BasicShapeEllipse):
2863         (WebCore::DeprecatedBasicShapeEllipse::create):
2864         (WebCore::DeprecatedBasicShapeEllipse::DeprecatedBasicShapeEllipse):
2865
2866 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
2867
2868         Add support for WebCrypto RSA-OAEP
2869         https://bugs.webkit.org/show_bug.cgi?id=125084
2870
2871         Build fix.
2872
2873         * crypto/CommonCryptoUtilities.h:
2874         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
2875         * crypto/mac/CryptoKeyRSAMac.cpp:
2876
2877 2013-12-02  Brendan Long  <b.long@cablelabs.com>
2878
2879         Use GenericEventQueue in TrackListBase and reduce code duplication with scheduleTrackEvent()
2880         https://bugs.webkit.org/show_bug.cgi?id=124811
2881
2882         Reviewed by Eric Carlson.
2883
2884         No new tests because this is just refactoring.
2885
2886         * html/track/TrackListBase.cpp:
2887         (TrackListBase::TrackListBase): Replace event code with a GenericEventQueue.
2888         (TrackListBase::scheduleTrackEvent): Factor out duplicate code in schedule{Add,Remove}TrackEvent functions.
2889         (TrackListBase::scheduleAddTrackEvent): Same.
2890         (TrackListBase::scheduleRemoveTrackEvent): Same.
2891         (TrackListBase::scheduleChangeEvent): Use GenericEventQueue.
2892         * html/track/TrackListBase.h: Replace event code with GenericEventQueue.
2893
2894 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
2895
2896         Add support for WebCrypto RSA-OAEP
2897         https://bugs.webkit.org/show_bug.cgi?id=125084
2898
2899         Build fix.
2900
2901         * WebCore.xcodeproj/project.pbxproj: Fix an automatic merge failure by re-adding
2902         CryptoAlgorithmRsaOaepParams.h.
2903
2904 2013-12-02  Victor Jaquez  <vjaquez@igalia.com>
2905
2906         [Gstreamer] update webkitvideosink metadata
2907         https://bugs.webkit.org/show_bug.cgi?id=125082
2908
2909         Reviewed by Philippe Normand.
2910
2911         No new tests, no behavior changes.
2912
2913         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2914         (webkit_video_sink_class_init):
2915
2916 2013-12-02  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
2917
2918         Simplify MediaPlayerPrivateGStreamerBase::createVideoSink()
2919         https://bugs.webkit.org/show_bug.cgi?id=125077
2920
2921         Remove the method's unused parameter.
2922         Remove the GStreamer 0.10.22 run-time validation, since we are using
2923         GStreamer 1.0 officially.
2924         Remove the creation of a spurious Bin for the video sink, since
2925         either the fpssink or the webkitsink are valid sink elements.
2926         Change fpsink to a GRefPtr.
2927
2928         Now, createVideoSink() returns a simple pointer to the created sink
2929         element.
2930
2931         Reviewed by Philippe Normand.
2932
2933         No new tests, no behavior changes.
2934
2935         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2936         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2937         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2938         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
2939         (WebCore::MediaPlayerPrivateGStreamerBase::decodedFrameCount):
2940         (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount):
2941         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2942
2943 2013-12-02  Alexey Proskuryakov  <ap@apple.com>
2944
2945         Add support for WebCrypto RSA-OAEP
2946         https://bugs.webkit.org/show_bug.cgi?id=125084
2947
2948         Reviewed by Sam Weinig.
2949
2950         Tests: crypto/subtle/rsa-oaep-key-manipulation.html
2951                crypto/subtle/rsa-oaep-plaintext-length.html
2952                crypto/subtle/rsa-oaep-wrap-unwrap-aes.html
2953
2954         * WebCore.xcodeproj/project.pbxproj: Added new files.
2955
2956         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2957         (WebCore::createRsaOaepParams):
2958         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
2959         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
2960         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
2961         Added RSA-OAEP parameters.
2962
2963         * bindings/js/JSCryptoKeySerializationJWK.cpp:
2964         (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
2965         (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
2966         (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
2967         Support RSA-OAEP in JWK. It is more limited than general WebCrypto, as JWK only
2968         allows SHA-1 as hash.
2969
2970         * crypto/CommonCryptoUtilities.cpp: Added. (WebCore::getCommonCryptoDigestAlgorithm):
2971         * crypto/CommonCryptoUtilities.h: Added.
2972         Extracted some shared code and forward declarations for CommonCrypto.
2973
2974         * crypto/CryptoAlgorithmParameters.h: (WebCore::CryptoAlgorithmParameters::Class):
2975         * crypto/parameters/CryptoAlgorithmRsaOaepParams.h: Added.
2976         Added RsaOaepParams.
2977
2978         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp: Added.
2979         * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h: Added.
2980         * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: Added.
2981
2982         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
2983         (WebCore::getCommonCryptoHMACAlgorithm):
2984         (WebCore::CryptoAlgorithmHMAC::platformSign):
2985         (WebCore::CryptoAlgorithmHMAC::platformVerify):
2986         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
2987         * crypto/mac/CryptoKeyMac.cpp:
2988         * crypto/mac/CryptoKeyRSAMac.cpp:
2989         Use CommonCryptoUtilities.
2990
2991         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
2992         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register RSA-OAEP.
2993
2994 2013-12-02  Andres Gomez  <agomez@igalia.com>
2995
2996         [GTK] Fails to build with freetype 2.5.1
2997         https://bugs.webkit.org/show_bug.cgi?id=125074
2998
2999         Reviewed by Carlos Garcia Campos.
3000
3001         FreeType specifies a canonical way of including their own
3002         headers. Now, we are following this recommendation so the
3003         compilation won't be broken again due to an upgrade in FeeType's
3004         including paths.
3005
3006         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3007         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
3008         * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
3009
3010 2013-12-02  Chris Fleizach  <cfleizach@apple.com>
3011
3012         AX: Crash at WebCore::commonTreeScope
3013         https://bugs.webkit.org/show_bug.cgi?id=125042
3014
3015         Reviewed by Mario Sanchez Prada.
3016
3017         When an AX text marker that references a node in a detached document is used to create a text marker range, a crash occurs
3018         because the method to determine commonTreeScopes does not account for when there are no common tree scopes.
3019
3020         Test: platform/mac/accessibility/ordered-textmarker-crash.html
3021
3022         * accessibility/AccessibilityObject.cpp:
3023         (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
3024         * dom/TreeScope.cpp:
3025         (WebCore::commonTreeScope):
3026
3027 2013-12-02  Nick Diego Yamane  <nick.yamane@openbossa.org>
3028
3029         Fix a crash in the webaudio source provider when the audio track is going away.
3030         https://bugs.webkit.org/show_bug.cgi?id=124975
3031
3032         Reviewed by Philippe Normand.
3033
3034         Merged https://chromium.googlesource.com/chromium/blink/+/b21838b32bf11b1a972dfc449ddde71115490c23
3035
3036         Before this patch, it was hitting a use-after-free crash  when the audio
3037         track in the media stream is going away and the webaudio mediastreamsourcenode
3038         is still running.
3039
3040         * Modules/webaudio/AudioContext.cpp:
3041         (WebCore::AudioContext::createMediaStreamSource): Passing audio track
3042         pointer to MediaStreamAudioSourceNode constructor.
3043         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
3044         (WebCore::MediaStreamAudioSourceNode::create):
3045         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
3046         * Modules/webaudio/MediaStreamAudioSourceNode.h: Added
3047         MediaStreamTrack class variable and change the constructor to receive
3048         it as parameter.
3049
3050 2013-12-02  Andrzej Badowski  <a.badowski@samsung.com>
3051
3052         [ATK] Support active state for listbox elements.
3053         https://bugs.webkit.org/show_bug.cgi?id=125009
3054
3055         Reviewed by Chris Fleizach.
3056
3057         Added support for ATK_STATE_ACTIVE for listbox elements.
3058
3059         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3060         (setAtkStateSetFromCoreObject):
3061
3062 2013-12-02  Seokju Kwon  <seokju@webkit.org>
3063
3064         Web Inspector: Remove unused functions from InspectorAgent
3065         https://bugs.webkit.org/show_bug.cgi?id=125061
3066
3067         Reviewed by Antoine Quint.
3068
3069         Get rid of unused functions, redundant inclusion and forward declaration.
3070
3071         No new tests, no behavior changes.
3072
3073         * inspector/InspectorAgent.cpp:
3074         * inspector/InspectorAgent.h:
3075
3076 2013-12-02  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
3077
3078         Fix build warning in EventHandler.cpp
3079         https://bugs.webkit.org/show_bug.cgi?id=125010
3080
3081         Reviewed by Csaba Osztrogonác.
3082
3083         * page/EventHandler.cpp:
3084         (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
3085
3086 2013-12-02  Attila Dusnoki  <adusnoki@inf.u-szeged.hu>
3087
3088         HTML5 required attribute validation messages implemented.
3089         https://bugs.webkit.org/show_bug.cgi?id=125003
3090
3091         Reviewed by Gyuyoung Kim.
3092
3093         * platform/efl/LocalizedStringsEfl.cpp:
3094         (WebCore::validationMessagePatternMismatchText):
3095         (WebCore::validationMessageValueMissingText):
3096         (WebCore::validationMessageValueMissingForCheckboxText):
3097         (WebCore::validationMessageValueMissingForFileText):
3098         (WebCore::validationMessageValueMissingForMultipleFileText):
3099         (WebCore::validationMessageValueMissingForRadioText):
3100         (WebCore::validationMessageValueMissingForSelectText):
3101         (WebCore::validationMessageBadInputForNumberText):
3102
3103 2013-12-01  Andreas Kling  <akling@apple.com>
3104
3105         SVG: Intersection/enclosure checks should use RenderElement.
3106         <https://webkit.org/b/125058>
3107
3108         Make RenderSVGModelObject's checkIntersection() and checkEnclosure()
3109         take RenderElement* instead of RenderObject*. They are only ever
3110         called with SVGElement's renderers.
3111
3112         Reviewed by Sam Weinig.
3113
3114 2013-12-01  Andreas Kling  <akling@apple.com>
3115
3116         Remove unreachable labels for -webkit-margin-*-collapse properties.
3117         <https://webkit.org/b/125057>
3118
3119         The following properties are implemented in DeprecatedStyleBuilder
3120         and should not have case labels in the applyProperty() switch:
3121
3122             -webkit-margin-before-collapse
3123             -webkit-margin-top-collapse
3124             -webkit-margin-after-collapse
3125             -webkit-margin-bottom-collapse
3126
3127         This seems counter-intuitive, but they are actually *not* like other
3128         directional properties. In this case, before/after are only aliases
3129         for top/bottom, and do not depend on writing-mode or text-direction.
3130         See also r68561, where the aliases were originally added.
3131
3132         Reviewed by Anders Carlsson.
3133
3134 2013-12-01  Andreas Kling  <akling@apple.com>
3135
3136         CSSFunctionValue constructors should return PassRef.
3137         <https://webkit.org/b/125054>
3138
3139         Make CSSFunctionValue::create() helpers return PassRef instead of
3140         PassRefPtr since they will never return null.
3141
3142         Reviewed by Anders Carlsson.
3143
3144 2013-12-01  Commit Queue  <commit-queue@webkit.org>
3145
3146         Unreviewed, rolling out r159764.
3147         http://trac.webkit.org/changeset/159764
3148         https://bugs.webkit.org/show_bug.cgi?id=125055
3149
3150         appears to hurt html5-full-render times (Requested by kling on
3151         #webkit).
3152
3153         * html/parser/HTMLConstructionSite.cpp:
3154         (WebCore::HTMLConstructionSite::insertTextNode):
3155         * html/parser/HTMLConstructionSite.h:
3156
3157 2013-12-01  Andreas Kling  <akling@apple.com>
3158
3159         Make more computed style helpers return PassRef.
3160         <https://webkit.org/b/125043>
3161
3162         Reduce branchiness in computed style code by making more of the
3163         file-local helpers return PassRef instead of PassRefPtr.
3164
3165         Reviewed by Anders Carlsson.
3166
3167 2013-11-30  Ryuan Choi  <ryuan.choi@samsung.com>
3168
3169         [EFL] Implement scrollbarThickness for opaque scrollbar
3170         https://bugs.webkit.org/show_bug.cgi?id=125034
3171
3172         Reviewed by Gyuyoung Kim.
3173
3174         Implemented scrollbarThickness to support opaque scrollbar.
3175         Now, edj can decide whether to support opaque scrollbar by adding scrollbar.thickness.
3176         In addition, added OVERRIDE/FINAL keyword and removed unnecessary destructor
3177         in ScrollbarThemeEfl.cpp.
3178
3179         No new tests, no behavior changes with default theme.
3180
3181         * platform/efl/RenderThemeEfl.cpp:
3182         (WebCore::RenderThemeEfl::loadTheme):
3183         Update thickness of scrollbar when theme was loaded.
3184         * platform/efl/ScrollbarThemeEfl.cpp:
3185         * platform/efl/ScrollbarThemeEfl.h:
3186         (WebCore::ScrollbarThemeEfl::setScrollbarThickness):
3187         (WebCore::ScrollbarThemeEfl::scrollbarThickness):
3188         (WebCore::ScrollbarThemeEfl::registerScrollbar):
3189         (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
3190
3191 2013-11-29  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
3192
3193         Remove Symbian specific code.
3194         https://bugs.webkit.org/show_bug.cgi?id=124939
3195
3196         Reviewed by Zoltan Herczeg.
3197
3198         Symbian is not supported, remove leftover code.
3199
3200         * plugins/npapi.h:
3201
3202 2013-11-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3203
3204         Rename InlineIterator::m_obj and make it private
3205         https://bugs.webkit.org/show_bug.cgi?id=124837
3206
3207         Reviewed by Antti Koivisto.
3208
3209         InlineIterator has been exported m_obj as public though there is a getter function.
3210         Besides *object* name isn't ambigious. So, changed it with m_renderer and renderer().
3211         Additionally, setRenderer() is added as well.
3212
3213         No new tests, no behavior changes.
3214
3215         * rendering/InlineIterator.h:
3216         (WebCore::InlineIterator::setObject):
3217         (WebCore::operator==):
3218         (WebCore::operator!=):
3219         (WebCore::InlineBidiResolver::appendRun):
3220         * rendering/RenderBlockLineLayout.cpp:
3221         (WebCore::RenderBlockFlow::appendRunsForObject):
3222         (WebCore::constructBidiRunsForLine):
3223         (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
3224         (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
3225         (WebCore::RenderBlockFlow::matchedEndLine):
3226         * rendering/line/BreakingContextInlineHeaders.h:
3227         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
3228         (WebCore::BreakingContext::BreakingContext):
3229         (WebCore::BreakingContext::currentObject):
3230         (WebCore::BreakingContext::initializeForCurrentObject):
3231         (WebCore::BreakingContext::handleBR):
3232         (WebCore::BreakingContext::handleOutOfFlowPositioned):
3233         (WebCore::BreakingContext::handleFloat):
3234         (WebCore::BreakingContext::handleEmptyInline):
3235         (WebCore::BreakingContext::handleReplaced):
3236         (WebCore::iteratorIsBeyondEndOfRenderCombineText):
3237         (WebCore::ensureCharacterGetsLineBox):
3238         (WebCore::BreakingContext::handleText):
3239         (WebCore::BreakingContext::canBreakAtThisPosition):
3240         (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
3241         (WebCore::checkMidpoints):
3242         (WebCore::BreakingContext::handleEndOfLine):
3243         * rendering/line/LineBreaker.cpp:
3244         (WebCore::LineBreaker::skipTrailingWhitespace):
3245         (WebCore::LineBreaker::skipLeadingWhitespace):
3246         * rendering/line/LineInlineHeaders.h:
3247         (WebCore::skipNonBreakingSpace):
3248         (WebCore::requiresLineBox):
3249
3250 2013-11-28  Antti Koivisto  <antti@apple.com>
3251
3252         Rename StylePropertySet to StyleProperties
3253         https://bugs.webkit.org/show_bug.cgi?id=124990
3254         
3255         Reviewed by Andreas Kling.
3256
3257         "Set" does not add useful information here. Use less clunky plural name.
3258
3259 2013-11-28  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3260
3261         Nix Upstream: Adding EditorNix to WebCore
3262         https://bugs.webkit.org/show_bug.cgi?id=124984
3263
3264         Reviewed by Csaba Osztrogonác.
3265
3266         No new tests needed.
3267
3268         * PlatformNix.cmake:
3269         * editing/nix/EditorNix.cpp: Added.
3270
3271 2013-11-28  Zoltan Horvath  <zoltan@webkit.org>
3272
3273         [Win] Update vcxproj.filters, since LineInfo.h and LineLayoutState.h have been moved to rendering/line
3274         https://bugs.webkit.org/show_bug.cgi?id=124959
3275
3276         Reviewed by Brent Fulgham.
3277
3278         Update WebCore.vcxproj.filters, since LineInfo.h (r155628) and LineLayoutState.h (158121) have been moved to rendering/line.
3279
3280         No new tests, no behavior change.
3281
3282         * WebCore.vcxproj/WebCore.vcxproj.filters:
3283
3284 2013-11-28  Laszlo Vidacs  <lac@inf.u-szeged.hu>
3285
3286         RenderTableSection Blink merge asserting
3287         https://bugs.webkit.org/show_bug.cgi?id=124857
3288
3289         Reviewed by Csaba Osztrogonác.
3290
3291         Use border spacing at the end of all sections.
3292
3293         * rendering/RenderTableSection.cpp:
3294         (WebCore::RenderTableSection::calcRowLogicalHeight):
3295
3296 2013-11-28  Antti Koivisto  <antti@apple.com>
3297
3298         Remove feature: CSS variables
3299         https://bugs.webkit.org/show_bug.cgi?id=114119
3300
3301         Reviewed by Andreas Kling.
3302         
3303         The feature is unmaintained and it is getting in the way of refactoring. Code quality is not up to
3304         WebKit standards either.
3305
3306         * Configurations/FeatureDefines.xcconfig:
3307         * GNUmakefile.list.am:
3308         * WebCore.xcodeproj/project.pbxproj:
3309         * css/CSSBasicShapes.cpp:
3310         * css/CSSBasicShapes.h:
3311         * css/CSSCalculationValue.cpp:
3312         (WebCore::unitCategory):
3313         (WebCore::hasDoubleValue):
3314         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
3315         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
3316         (WebCore::determineCategory):
3317         (WebCore::CSSCalcBinaryOperation::primitiveType):
3318         * css/CSSCalculationValue.h:
3319         * css/CSSComputedStyleDeclaration.cpp:
3320         (WebCore::ComputedStyleExtractor::propertyValue):
3321         * css/CSSGrammar.y.in:
3322         * css/CSSParser.cpp:
3323         (WebCore::CSSParserContext::CSSParserContext):
3324         (WebCore::operator==):
3325         (WebCore::filterProperties):
3326         (WebCore::CSSParser::createStylePropertySet):
3327         (WebCore::CSSParser::addProperty):
3328         (WebCore::CSSParser::validCalculationUnit):
3329         (WebCore::CSSParser::validUnit):
3330         (WebCore::CSSParser::createPrimitiveNumericValue):
3331         (WebCore::CSSParser::parseValidPrimitive):
3332         (WebCore::CSSParser::parseValue):
3333         (WebCore::CSSParser::parseReflect):
3334         (WebCore::CSSParser::detectDashToken):
3335         (WebCore::CSSParser::realLex):
3336         * css/CSSParser.h:
3337         * css/CSSParserMode.h:
3338         * css/CSSParserValues.cpp:
3339         (WebCore::CSSParserValue::createCSSValue):
3340         * css/CSSParserValues.h:
3341         * css/CSSPrimitiveValue.cpp:
3342         (WebCore::isValidCSSUnitTypeForDoubleConversion):
3343         (WebCore::CSSPrimitiveValue::primitiveType):
3344         (WebCore::CSSPrimitiveValue::cleanup):
3345         (WebCore::CSSPrimitiveValue::getStringValue):
3346         (WebCore::CSSPrimitiveValue::customCSSText):
3347         (WebCore::CSSPrimitiveValue::equals):
3348         * css/CSSPrimitiveValue.h:
3349         * css/CSSPrimitiveValueMappings.h:
3350         (WebCore::CSSPrimitiveValue::convertToLength):
3351         * css/CSSProperty.cpp:
3352         * css/CSSProperty.h:
3353         (WebCore::CSSProperty::CSSProperty):
3354         * css/CSSReflectValue.cpp:
3355         * css/CSSReflectValue.h:
3356         * css/CSSValue.cpp:
3357         (WebCore::CSSValue::equals):
3358         (WebCore::CSSValue::cssText):
3359         (WebCore::CSSValue::destroy):
3360         * css/CSSValue.h:
3361         (WebCore::CSSValue::setCssText):
3362         * css/CSSValueList.cpp:
3363         * css/CSSValueList.h:
3364         * css/CSSVariableValue.h: Removed.
3365         * css/Pair.h:
3366         * css/Rect.h:
3367         * css/StylePropertySet.cpp:
3368         (WebCore::StylePropertySet::asText):
3369         (WebCore::StylePropertySet::PropertyReference::cssName):
3370         * css/StyleResolver.cpp:
3371         (WebCore::StyleResolver::styleForPage):
3372         (WebCore::StyleResolver::applyProperties):
3373         (WebCore::StyleResolver::applyMatchedProperties):
3374         (WebCore::StyleResolver::applyProperty):
3375         * css/StyleResolver.h:
3376         * css/WebKitCSSTransformValue.cpp:
3377         * css/WebKitCSSTransformValue.h:
3378         (WebCore::WebKitCSSTransformValue::equals):
3379         * css/makeprop.pl:
3380         * page/Settings.cpp:
3381         (WebCore::Settings::Settings):
3382         * page/Settings.h:
3383         * rendering/style/RenderStyle.h:
3384         * rendering/style/StyleRareInheritedData.cpp:
3385         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3386         (WebCore::StyleRareInheritedData::operator==):
3387         * rendering/style/StyleRareInheritedData.h:
3388         * rendering/style/StyleVariableData.h: Removed.
3389         * testing/InternalSettings.cpp:
3390         (WebCore::InternalSettings::Backup::Backup):
3391         (WebCore::InternalSettings::Backup::restoreTo):
3392         * testing/InternalSettings.h:
3393         * testing/InternalSettings.idl:
3394
3395 2013-11-28  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3396
3397         Updating RTCPeerConnectionHandlerMock after r159769
3398         https://bugs.webkit.org/show_bug.cgi?id=124947
3399
3400         Reviewed by Philippe Normand.
3401
3402         Adding its create function back, in order to run RTCPeerConnection LayoutTests.
3403
3404         No new tests needed.
3405
3406         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
3407         (WebCore::RTCPeerConnectionHandlerMock::create):
3408         * platform/mock/RTCPeerConnectionHandlerMock.h:
3409
3410 2013-11-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
3411
3412         [GTK] Support custom types for drag and drop data
3413         https://bugs.webkit.org/show_bug.cgi?id=124659
3414
3415         Reviewed by Martin Robinson.
3416
3417         Covered by fast/events/drag-customData.html.
3418
3419         * platform/gtk/DataObjectGtk.cpp:
3420         (WebCore::DataObjectGtk::unknownTypes): returns a hash map with all custom types set.
3421         (WebCore::DataObjectGtk::clearAllExceptFilenames): clear custom types.
3422         * platform/gtk/DataObjectGtk.h:
3423         (WebCore::DataObjectGtk::hasUnknownTypeData): returns whether custom types are set.
3424         (WebCore::DataObjectGtk::unknownTypeData): returns the data for a custom type.
3425         (WebCore::DataObjectGtk::setUnknownTypeData): sets the data for a custom type.
3426         * platform/gtk/PasteboardGtk.cpp:
3427         (WebCore::Pasteboard::writeString): handle unknown types as custom.
3428         (WebCore::Pasteboard::writePasteboard): ditto.
3429         (WebCore::Pasteboard::hasData): also check for custom types.
3430         (WebCore::Pasteboard::types): also obtain the list of custom types.
3431         (WebCore::Pasteboard::readString): handle unknown types as custom.
3432         * platform/gtk/PasteboardHelper.cpp:
3433         (WebCore::initGdkAtoms): new unknown atom.
3434         (WebCore::PasteboardHelper::PasteboardHelper): add custom type to the list of targets.
3435         (WebCore::PasteboardHelper::fillSelectionData): turns any custom types' data into a GVariant, which
3436         is in turn serialized to a single string for GtkSelectionData to hold.
3437         (WebCore::PasteboardHelper::targetListForDataObject): add custom data to the target list if any is
3438         set.
3439         (WebCore::PasteboardHelper::fillDataObjectFromDropData): retrieve the custom types and their data
3440         from the serialized GVariant string held by GtkSelectionData.
3441         (WebCore::PasteboardHelper::dropAtomsForContext): handle custom types.
3442
3443 2013-11-27  Eric Carlson  <eric.carlson@apple.com>
3444
3445         Allow the QuickTime plug-in to be replaced by script in an isolated word
3446         https://bugs.webkit.org/show_bug.cgi?id=124900
3447
3448         Reviewed by Dean Jackson.
3449
3450         Test: plugins/quicktime-plugin-replacement.html
3451
3452         * CMakeLists.txt: Add new Modules path.
3453         * DerivedSources.make: Add new files.
3454         * GNUmakefile.am: Add new Modules path.
3455         * GNUmakefile.list.am: Add new header.
3456         * WebCore.vcxproj/WebCore.vcxproj: Add new header.
3457         * WebCore.vcxproj/WebCoreCommon.props: Add new Modules path.
3458         * WebCore.xcodeproj/project.pbxproj: Add new files.
3459
3460         * Modules/plugins: Added.
3461         * Modules/plugins/PluginReplacement.h: Added. Defines the interface for a plug-in replacement.
3462
3463         Create a replacement for the QuickTime plug-in.
3464         * Modules/plugins/QuickTimePluginReplacement.cpp: Added.
3465         * Modules/plugins/QuickTimePluginReplacement.css: Added.
3466         * Modules/plugins/QuickTimePluginReplacement.h: Added.
3467         * Modules/plugins/QuickTimePluginReplacement.idl: Added.
3468         * Modules/plugins/QuickTimePluginReplacement.js: Added.
3469
3470         Allow plug-in replacement to be enabled at runtime.
3471         * bindings/generic/RuntimeEnabledFeatures.h:
3472         (WebCore::RuntimeEnabledFeatures::setPluginReplacementEnabled):
3473         (WebCore::RuntimeEnabledFeatures::pluginReplacementEnabled):
3474
3475         * bindings/js/JSDOMBinding.h:
3476         (WebCore::toJS): Add toJS(... const String& ...).
3477
3478         * bindings/js/JSPluginElementFunctions.cpp:
3479         (WebCore::pluginScriptObject): Give a plug-in replacement a first shot at defining the
3480             script interface.
3481
3482         * html/HTMLEmbedElement.cpp:
3483         (WebCore::HTMLEmbedElement::updateWidget): Call base class requestObject.
3484
3485         * html/HTMLMediaElement.cpp:
3486         (HTMLMediaElement::fileSize): New, passthrough to media engine.
3487         * html/HTMLMediaElement.h:
3488
3489         * html/HTMLObjectElement.cpp:
3490         (WebCore::HTMLObjectElement::updateWidget): Call base class requestObject.
3491
3492         Moved some logic that was previously used only for creating a plug-in snapshot to the base
3493         class so it can be shared by a plug-in replacement.
3494         * html/HTMLPlugInElement.cpp:
3495         (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize timer used to swap renderers.
3496         (WebCore::HTMLPlugInElement::createRenderer): Allow plug-in replacement to create the renderer.
3497         (WebCore::HTMLPlugInElement::swapRendererTimerFired): Create a shadow root.
3498         (WebCore::HTMLPlugInElement::setDisplayState): Set the new state, prime the swap renderer 
3499             timer if necessary.
3500         (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Tell the plug-in replacement to
3501             install itself in the new shadow DOM.
3502         (WebCore::registeredPluginReplacements): Return vector of all registered plug-in replacements.
3503         (WebCore::registerPluginReplacement): Add a plug-in replacement.
3504         (WebCore::pluginReplacementForType): Find a plug-in replacement for a MIME type.
3505         (WebCore::HTMLPlugInElement::requestObject): If there is a plug-in replacement for the MIME type,
3506             create it and set the display state.
3507         (WebCore::HTMLPlugInElement::scriptObjectForPluginReplacement): Return the script object for 
3508             the current plug-in replacement, if any.
3509         * html/HTMLPlugInElement.h:
3510
3511         Move some plug-in snapshot code into the base class.
3512         * html/HTMLPlugInImageElement.cpp:
3513         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): No need to initialize timer.
3514         (WebCore::HTMLPlugInImageElement::setDisplayState): Call base class.
3515         (WebCore::HTMLPlugInImageElement::createRenderer): Ditto.
3516         (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Ditto.
3517         (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Remove unnecessary class name.
3518         (WebCore::HTMLPlugInImageElement::requestObject): New.
3519         * html/HTMLPlugInImageElement.h:
3520
3521         * html/HTMLVideoElement.h: Make createRenderer public so the QuickTime plug-in replacement can
3522             call it.
3523
3524         * platform/graphics/MediaPlayer.cpp:
3525         (WebCore::MediaPlayer::fileSize): New.
3526         * platform/graphics/MediaPlayer.h:
3527         * platform/graphics/MediaPlayerPrivate.h:
3528
3529         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3530         (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): totalBytes returns an unsigned long long.
3531         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3532         (WebCore::MediaPlayerPrivateAVFoundation::fileSize):
3533
3534         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3535         (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes): Return an unsigned long long.
3536         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
3537
3538         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3539         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3540         (WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Ditto.
3541
3542         * testing/InternalSettings.cpp:
3543         (WebCore::InternalSettings::Backup::Backup): Backup the plug-in replacement runtime setting.
3544         (WebCore::InternalSettings::Backup::restoreTo): Restore it.
3545         (WebCore::InternalSettings::setPluginReplacementEnabled): Set it.
3546         * testing/InternalSettings.h:
3547         * testing/InternalSettings.idl:
3548
3549 2013-11-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3550
3551         Adding MediaConstraintsMock class
3552         https://bugs.webkit.org/show_bug.cgi?id=124902
3553
3554         Reviewed by Eric Carlson.
3555
3556         Validate constraints used in RTCPeerConnection LayoutTests
3557
3558         Existing test was updated.
3559
3560         * CMakeLists.txt:
3561         * GNUmakefile.list.am:
3562         * platform/mock/MediaConstraintsMock.cpp: Added.
3563         * platform/mock/MediaConstraintsMock.h: Added.
3564         * platform/mock/MockMediaStreamCenter.cpp:
3565         (WebCore::MockMediaStreamCenter::validateRequestConstraints): Now using MediaConstraintsMock
3566         (WebCore::MockMediaStreamCenter::createMediaStream): Ditto.
3567         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
3568         (WebCore::RTCPeerConnectionHandlerMock::initialize): Ditto.
3569
3570 2013-11-27  Bear Travis  <betravis@adobe.com>
3571
3572         [CSS Shapes] Shape-Inside Should Default to 'auto'
3573         https://bugs.webkit.org/show_bug.cgi?id=124851
3574
3575         Reviewed by Alexandru Chiculita.
3576
3577         The current shape-inside specification has the property default to the 'auto'
3578         value, not 'outside-shape'.
3579
3580         Updated tests are under fast/shapes.
3581
3582         * rendering/style/RenderStyle.cpp:
3583         * rendering/style/RenderStyle.h:
3584
3585 2013-11-27  Hans Muller  <hmuller@adobe.com>
3586
3587         [CSS Shapes] shape-inside rectangle layout can fail
3588         https://bugs.webkit.org/show_bug.cgi?id=124784
3589
3590         Reviewed by Andreas Kling.
3591
3592         Apply LayoutUnit::fromFloatCeil() consistently in RectangleShape::firstIncludedIntervalLogicalTop().
3593
3594         Test: fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html
3595
3596         * rendering/shapes/RectangleShape.cpp:
3597         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
3598
3599 2013-11-27  Nick Diego Yamane  <nick.yamane@openbossa.org>
3600
3601         Remove Qt-specific .qrc files
3602         https://bugs.webkit.org/show_bug.cgi?id=124944
3603
3604         Reviewed by Andreas Kling.
3605
3606         No new tests needed.
3607
3608         * WebCore.qrc: Removed.
3609
3610 2013-11-27  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3611
3612         [GStreamer] Invalid command line error when visiting www.chessbase.com
3613         https://bugs.webkit.org/show_bug.cgi?id=124715
3614
3615         Reviewed by Philippe Normand.
3616
3617         We were not handling the HTTP errors in the WebKit GStreamer
3618         source and therefore the 404 error page was being 'decoded'. As no
3619         decoder could be found (for obvious reasons), playback failed, but
3620         it should be failing for the source not being found instead of the
3621         decoding problem.
3622
3623         Test: http/tests/media/video-error-does-not-exist.html
3624
3625         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3626         (StreamingClient::handleResponseReceived): Handle HTTP errors in
3627         the source and raise a GStreamer error to the pipeline.
3628
3629 2013-11-14  Sergio Villar Senin  <svillar@igalia.com>
3630
3631         [CSS Grid Layout] Fix positioning of grid items with margins
3632         https://bugs.webkit.org/show_bug.cgi?id=124345
3633
3634         Reviewed by David Hyatt.
3635
3636         From Blink r157925 and r158041 by <jchaffraix@chromium.org>
3637
3638         Test: fast/css-grid-layout/grid-item-margin-resolution.html
3639
3640         Adds margin start/before to the positions of grid items (removing
3641         several FIXME's in the current code). This means calling
3642         findChildLogicalPosition() after the layout in order to have the
3643         right values for the margins.
3644
3645         In order to match flexbox and author's intents we're also
3646         including the margins of grid items in the intrinsic size of the
3647         grid. That's why flexbox's marginLogicalPositionForChild() is
3648         moved up to RenderBlock in order to share it with RenderGrid.
3649
3650         * rendering/RenderBlock.cpp:
3651         (WebCore::RenderBlock::marginIntrinsicLogicalWidthForChild): Moved
3652         from RenderFlexibleBox::marginLogicalWidthForChild().
3653         * rendering/RenderBlock.h:
3654         * rendering/RenderFlexibleBox.cpp:
3655         (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
3656         * rendering/RenderGrid.cpp:
3657         (WebCore::RenderGrid::computePreferredTrackWidth):
3658         (WebCore::RenderGrid::layoutGridItems):
3659         (WebCore::RenderGrid::findChildLogicalPosition):
3660
3661 2013-11-26  Sergio Villar Senin  <svillar@igalia.com>
3662
3663         [CSS Grid Layout] Support grid-definition-{rows|columns} repeat() syntax
3664         https://bugs.webkit.org/show_bug.cgi?id=103312
3665
3666         Reviewed by Andreas Kling.
3667
3668         Added support for the repeat() syntax inside
3669         grid-definition-{rows|columns} by just adding the repeated values
3670         to our list of column|row definitions.
3671
3672         The parsing of <track-name> was refactored in a new function as
3673         it's used now in three different places. The <track-size> parsing
3674         was also refactored to share it with the repeat() parsing.
3675
3676         Test: fast/css-grid-layout/grid-element-repeat-get-set.html
3677
3678         * css/CSSParser.cpp:
3679         (WebCore::CSSParser::parseValue):
3680         (WebCore::CSSParser::parseGridTrackNames):
3681         (WebCore::CSSParser::parseGridTrackList):
3682         (WebCore::CSSParser::parseGridTrackRepeatFunction):
3683         (WebCore::CSSParser::parseGridTrackSize):
3684         * css/CSSParser.h:
3685
3686 2013-11-26  Marcelo Lira  <marcelo.lira@openbossa.org>
3687
3688         Nix upstreaming - Adding build files and supporting scripts
3689         https://bugs.webkit.org/show_bug.cgi?id=118367
3690
3691         Reviewed by Ryosuke Niwa.
3692
3693         No new tests needed.
3694
3695         * CMakeLists.txt:
3696         * PlatformNix.cmake: Added.
3697
3698 2013-11-26  Tim Horton  <timothy_horton@apple.com>
3699
3700         Don't parent the TileController root layer in two places
3701         https://bugs.webkit.org/show_bug.cgi?id=124873
3702
3703         Reviewed by Brent Fulgham.
3704
3705         * platform/graphics/ca/mac/TileController.mm:
3706         (WebCore::TileController::TileController):
3707         The TileController's layer is already parented by callers of
3708         TileController::create, and in a special way. TileController
3709         shouldn't parent itself, anyway...
3710
3711 2013-11-26  Nick Diego Yamane  <nick.yamane@openbossa.org>
3712
3713         [MediaStream API] HTMLMediaElement should be able to use MediaStream as source
3714         https://bugs.webkit.org/show_bug.cgi?id=121943
3715
3716         Reviewed by Eric Carlson.
3717
3718         Implement MediaStream direct assignment to Media Elements using the new 'srcObject'
3719         attribute: http://www.w3.org/TR/mediacapture-streams/#direct-assignment-to-media-elements
3720
3721         Test: fast/mediastream/MediaStream-MediaElement-srcObject.html
3722
3723         * CMakeLists.txt: Added new HTMLMediaElementMediaStream.h and .cpp to cmake build.
3724         * DerivedSources.make: Added HTMLMediaElementMediaStream.idl.
3725         * GNUmakefile.list.am: Added new HTMLMediaElementMediaStream* to autotools build.
3726         * WebCore.xcodeproj/project.pbxproj: Added new files.
3727         * Modules/mediastream/HTMLMediaElementMediaStream.cpp: Added.
3728         (WebCore::HTMLMediaElementMediaStream::srcObject): implements srcObject getter.
3729         (WebCore::HTMLMediaElementMediaStream::setSrcObject): implements srcObject setter.
3730         * Modules/mediastream/HTMLMediaElementMediaStream.h: Added.
3731         * Modules/mediastream/HTMLMediaElementMediaStream.idl: Added.
3732         * html/HTMLMediaElement.cpp:
3733         (WebCore::HTMLMediaElement::setSrcObject): This is an initial implementation, and
3734         is still incomplete, that will be addressed in a separate bug: https://webkit.org/b/124896
3735         * html/HTMLMediaElement.h: Added m_mediaStreamSrcObject class variable
3736         and its corresponding getter.
3737
3738 2013-11-26  Andreas Kling  <akling@apple.com>
3739
3740         Use child iterator to find operators in RenderMathMLRow::layout().
3741         <https://webkit.org/b/124108>
3742
3743         Replace manual children walk with childrenOfType<RenderMathMLBlock>.
3744         Minor update to fix build.
3745
3746         Reviewed by Martin Robinson.
3747
3748 2013-11-26  Andreas Kling  <akling@apple.com>
3749
3750         RenderObject: Inline isBody() and isHR().
3751         <https://webkit.org/b/124901>
3752
3753         Together these account for ~0.3% of samples on HTML5-8266.
3754         Almost all of it is call overhead.
3755
3756         Reviewed by Anders Carlsson.
3757
3758 2013-11-26  Bear Travis  <betravis@adobe.com>
3759
3760         [CSS Shapes] Layout using [<box> || <shape>] value
3761         https://bugs.webkit.org/show_bug.cgi?id=124428
3762
3763         Reviewed by David Hyatt.
3764
3765         When a box value is supplied, use it to size and position the shape. Otherwise,
3766         use a default value (content-box for shape-inside, margin-box for shape-outside).
3767         This patch extends the sizing and positioning code used for the box patch (Bug 124227)
3768         to also apply to shapes. With this patch, we also no longer use the box-sizing
3769         property to size and position shapes.
3770
3771         Tests: fast/shapes/shape-outside-floats/shape-outside-shape-boxes-001.html
3772                fast/shapes/shape-outside-floats/shape-outside-shape-boxes-002.html
3773                fast/shapes/shape-outside-floats/shape-outside-shape-boxes-003.html
3774
3775         * css/CSSComputedStyleDeclaration.cpp:
3776         (WebCore::ComputedStyleExtractor::propertyValue): Adjust for ShapeValues storing
3777         BasicShape::ReferenceBox as their box value, rather than a CSSValueID.
3778         * css/DeprecatedStyleBuilder.cpp:
3779         (WebCore::ApplyPropertyShape::applyValue): Ditto.
3780         * rendering/shapes/ShapeInfo.h:
3781         (WebCore::ShapeInfo::setShapeSize): Adjust for BasicShapes with reference boxes
3782         as well as plain box values. Also, remove old box-sizing code.
3783         (WebCore::ShapeInfo::logicalTopOffset): Ditto.
3784         (WebCore::ShapeInfo::logicalLeftOffset): Ditto.
3785         * rendering/shapes/ShapeInsideInfo.h:
3786         * rendering/shapes/ShapeOutsideInfo.h:
3787         * rendering/style/ShapeValue.h:
3788         (WebCore::ShapeValue::createBoxValue): Adjust for boxes being stored as
3789         BasicShape::ReferenceBoxes.
3790         (WebCore::ShapeValue::box): Ditto.
3791         (WebCore::ShapeValue::ShapeValue): Ditto.
3792
3793 2013-11-26  Brian J. Burg  <burg@cs.washington.edu>
3794
3795         ImageBuffer::create should return a std::unique_ptr instead of OwnPtr.
3796         https://bugs.webkit.org/show_bug.cgi?id=124822
3797
3798         Reviewed by Andreas Kling.
3799
3800         Replace all uses of OwnPtr<ImageBuffer> and PassOwnPtr<ImageBuffer> with
3801         std::unique_ptr<ImageBuffer>. Replace calls to OwnPtr::clear() and
3802         OwnPtr::release() with reset() and std::move(). Remove unnecessary includes.
3803
3804         No new tests. This is a mechanical refactoring.
3805
3806         * css/CSSFilterImageValue.cpp:
3807         (WebCore::CSSFilterImageValue::image):
3808         * html/HTMLCanvasElement.cpp:
3809         (WebCore::HTMLCanvasElement::setSurfaceSize):
3810         * html/HTMLCanvasElement.h:
3811         * html/canvas/CanvasRenderingContext2D.cpp:
3812         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
3813         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
3814         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
3815         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3816         * html/canvas/CanvasRenderingContext2D.h:
3817         * html/canvas/WebGLRenderingContext.cpp:
3818         (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
3819         (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
3820         * html/canvas/WebGLRenderingContext.h:
3821         * html/shadow/MediaControlElements.cpp:
3822         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
3823         * page/Frame.cpp:
3824         (WebCore::Frame::nodeImage):
3825         (WebCore::Frame::dragImageForSelection):
3826         * platform/graphics/BitmapImage.cpp:
3827         (WebCore::BitmapImage::drawPattern):
3828         * platform/graphics/CrossfadeGeneratedImage.cpp:
3829         (WebCore::CrossfadeGeneratedImage::drawPattern):
3830         * platform/graphics/GradientImage.h:
3831         * platform/graphics/GraphicsContext.cpp:
3832         (WebCore::GraphicsContext::createCompatibleBuffer):
3833         * platform/graphics/GraphicsContext.h:
3834         * platform/graphics/ImageBuffer.cpp:
3835         (WebCore::ImageBuffer::createCompatibleBuffer):
3836         * platform/graphics/ImageBuffer.h:
3837         (WebCore::ImageBuffer::create):
3838         * platform/graphics/ShadowBlur.cpp:
3839         * platform/graphics/cg/ImageBufferCG.cpp:
3840         (WebCore::ImageBuffer::putByteArray):
3841         * platform/graphics/cg/PDFDocumentImage.h:
3842         * platform/graphics/filters/FETile.cpp:
3843         (WebCore::FETile::platformApplySoftware):
3844         * platform/graphics/filters/Filter.h:
3845         (WebCore::Filter::setSourceImage):
3846         * platform/graphics/filters/FilterEffect.cpp:
3847         (WebCore::FilterEffect::clearResult):
3848         * platform/graphics/filters/FilterEffect.h:
3849         * platform/graphics/texmap/TextureMapper.cpp:
3850         (WebCore::BitmapTexture::updateContents):
3851         * platform/graphics/texmap/TextureMapperImageBuffer.h:
3852         * rendering/InlineTextBox.cpp:
3853         (WebCore::InlineTextBox::paintDecoration):
3854         * rendering/RenderBoxModelObject.cpp:
3855         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3856         * rendering/RenderThemeMac.mm:
3857         (WebCore::RenderThemeMac::paintProgressBar):
3858         * rendering/shapes/Shape.cpp:
3859         (WebCore::Shape::createShape):
3860         * rendering/svg/RenderSVGImage.cpp:
3861         (WebCore::RenderSVGImage::invalidateBufferedForeground):
3862         * rendering/svg/RenderSVGImage.h:
3863         * rendering/svg/RenderSVGResourceClipper.cpp:
3864         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
3865         * rendering/svg/RenderSVGResourceClipper.h:
3866         * rendering/svg/RenderSVGResourceFilter.cpp:
3867         (WebCore::RenderSVGResourceFilter::applyResource):
3868         (WebCore::RenderSVGResourceFilter::postApplyResource):
3869         * rendering/svg/RenderSVGResourceFilter.h:
3870         * rendering/svg/RenderSVGResourceGradient.cpp: Remove method parameter wrapping/indentation.
3871         (WebCore::createMaskAndSwapContextForTextGradient):
3872         (WebCore::clipToTextMask):
3873         (WebCore::RenderSVGResourceGradient::applyResource):
3874         * rendering/svg/RenderSVGResourceGradient.h:
3875         * rendering/svg/RenderSVGResourceMasker.cpp:
3876         (WebCore::RenderSVGResourceMasker::applyResource):
3877         * rendering/svg/RenderSVGResourceMasker.h:
3878         * rendering/svg/RenderSVGResourcePattern.cpp: Remove method parameter wrapping/indentation.
3879         (WebCore::RenderSVGResourcePattern::buildPattern):
3880         (WebCore::RenderSVGResourcePattern::createTileImage):
3881         * rendering/svg/RenderSVGResourcePattern.h: Remove method parameter wrapping/indentation.
3882         * rendering/svg/SVGRenderingContext.cpp:
3883         (WebCore::SVGRenderingContext::createImageBuffer):
3884         (WebCore::SVGRenderingContext::createImageBufferForPattern):
3885         (WebCore::SVGRenderingContext::clipToImageBuffer):
3886         (WebCore::SVGRenderingContext::bufferForeground):
3887         * rendering/svg/SVGRenderingContext.h:
3888         * svg/graphics/SVGImage.cpp:
3889         (WebCore::SVGImage::nativeImageForCurrentFrame):
3890         (WebCore::SVGImage::drawPatternForContainer):
3891
3892 2013-11-26  Eric Carlson  <eric.carlson@apple.com>
3893
3894         video.currentSrc should return empty when no resource is loaded
3895         https://bugs.webkit.org/show_bug.cgi?id=124898
3896
3897         Reviewed by Dan Bernstein.
3898
3899         Test: media/video-currentsrc-cleared.html
3900
3901         * html/HTMLMediaElement.cpp:
3902         (WebCore::HTMLMediaElement::prepareForLoad): Set m_currentSrc to empty in 
3903             preparation for attempting to load a new url.
3904
3905 2013-11-26  Hans Muller  <hmuller@adobe.com>
3906
3907         [CSS Shapes] Support for shape-margin in BoxShape
3908         https://bugs.webkit.org/show_bug.cgi?id=124788
3909
3910         Reviewed by Andreas Kling.
3911
3912         Corrected BoxShape's internal shape-margin/padding bounds FloatRoundedRect
3913         initialization. Tests for the padding bounds will be added when the rest of
3914         shape-padding for box shapes implementation is ready.
3915
3916         Tests: fast/shapes/shape-outside-floats/shape-outside-margin-boxes-001.html
3917                fast/shapes/shape-outside-floats/shape-outside-margin-boxes-002.html
3918
3919         * rendering/shapes/BoxShape.cpp: Use constructor shape-margin,shape-padding parameters.
3920         (WebCore::BoxShape::BoxShape):
3921         * rendering/shapes/BoxShape.h:
3922         * rendering/shapes/Shape.cpp:
3923         (WebCore::createBoxShape): Pass the shape-margin and shape-padding values along to the BoxShape constructor.
3924         (WebCore::Shape::createShape): Ditto.
3925
3926 2013-11-26  Nick Diego Yamane  <nick.yamane@openbossa.org>
3927
3928         Remove unnecessary webaudio include from MediaStreamSource header
3929         https://bugs.webkit.org/show_bug.cgi?id=124897
3930
3931         Reviewed by Eric Carlson.
3932
3933         AudioDestinationConsumer.h is included but not used anywhere in
3934         MediaStreamSource implementation.
3935
3936         * platform/mediastream/MediaStreamSource.h:
3937
3938 2013-11-26  Andreas Kling  <akling@apple.com>
3939
3940         Avoid unnecessary copy-on-write in FillLayer style application.
3941         <https://webkit.org/b/124878>
3942
3943         We ended up with a lot of cloned StyleBackgroundData objects on
3944         HTML5-8266. This happened because we always forced a copy-on-write
3945         when applying background-image:inherit / background-image:initial.
3946
3947         This patch adds early returns to both functions. In the "inherit"
3948         case, we bail early if the target style already has the same fill
3949         layer data as its parent style.
3950
3951         In the "initial" case, we optimize for the single-FillLayer case
3952         and add an early return if the relevant value is either unset or
3953         equal to the templatized initial value.
3954
3955         2.46 MB progression on HTML5-8266 locally.
3956
3957         Reviewed by Antti Koivisto.
3958
3959 2013-11-26  Antoine Quint  <graouts@apple.com>
3960
3961         Web Inspector: Allow showing a context menu on all mouse events.
3962         https://bugs.webkit.org/show_bug.cgi?id=124747
3963
3964         Reviewed by Joseph Pecoraro.
3965
3966         Add a new InspectorFrontendHost::dispatchEventAsContextMenuEvent(Event*) method
3967         to let the inspector front-end dispatch a native contextmenu event that will allow
3968         for a context menu to be shown from within a non-contextmenu event handler.
3969
3970         * inspector/InspectorFrontendHost.cpp:
3971         (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
3972         Check that we're dealing with a mouse event, get the frame for the event target
3973         and the event's location to call ContextMenuController::showContextMenuAt()
3974         which will handle the new contextmenu event dispatch to the original event target.
3975
3976         * inspector/InspectorFrontendHost.h:
3977         * inspector/InspectorFrontendHost.idl:
3978
3979 2013-11-25  Sam Weinig  <sam@webkit.org>
3980
3981         Convert some Shape code to use references
3982         https://bugs.webkit.org/show_bug.cgi?id=124876
3983
3984         Reviewed by Andreas Kling.
3985
3986         * inspector/InspectorOverlay.cpp:
3987         * rendering/FloatingObjects.cpp:
3988         * rendering/LayoutState.cpp:
3989         * rendering/RenderBlock.cpp:
3990         * rendering/RenderBlock.h:
3991         * rendering/RenderBlockLineLayout.cpp:
3992         * rendering/RenderBox.cpp:
3993         * rendering/RenderBox.h:
3994         * rendering/line/BreakingContextInlineHeaders.h:
3995         * rendering/line/LineWidth.cpp:
3996         * rendering/shapes/ShapeInfo.cpp:
3997         * rendering/shapes/ShapeInfo.h:
3998         * rendering/shapes/ShapeInsideInfo.cpp:
3999         * rendering/shapes/ShapeInsideInfo.h:
4000         * rendering/shapes/ShapeOutsideInfo.cpp:
4001         * rendering/shapes/ShapeOutsideInfo.h:
4002         Replace yet more pointers with references.
4003
4004 2013-11-25  Simon Pena  <simon.pena@samsung.com>
4005
4006         [EFL] X11Helper::createPixmap doesn't initialise out value handleId
4007         https://bugs.webkit.org/show_bug.cgi?id=124722
4008
4009         Reviewed by Gyuyoung Kim.
4010
4011         The overloaded functions X11Helper::createPixmap don't initialise out
4012         value handleId, and they do early returns on error situations. Since
4013         the functions are void and they don't communicate their failure in any
4014         way, returning an out value without initialising it could make the
4015         error go farther unnoticed. With the variable being initialised, it can
4016         be reliably checked for errors when the function returns.
4017
4018         * platform/graphics/surfaces/glx/X11Helper.cpp:
4019         (WebCore::X11Helper::createPixmap): Initialise handleId to 0.
4020
4021 2013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
4022
4023         Mark URLRegistry's lookup() as const and its child classes as final
4024         https://bugs.webkit.org/show_bug.cgi?id=124865
4025
4026         Reviewed by Eric Carlson.
4027
4028         No new tests needed. No behavior changes.
4029
4030         * Modules/mediasource/MediaSourceRegistry.cpp:
4031         (WebCore::MediaSourceRegistry::lookup): marked as const.
4032         * Modules/mediasource/MediaSourceRegistry.h: MediaSourceRegistry
4033         marked as final.
4034         * Modules/mediastream/MediaStreamRegistry.cpp:
4035         (WebCore::MediaStreamRegistry::lookup): marked as const.
4036         * Modules/mediastream/MediaStreamRegistry.h: MediaStreamRegistry
4037         marked as final.
4038         * fileapi/Blob.cpp:
4039         * html/URLRegistry.h: lookup() marked as const.
4040         (WebCore::URLRegistry::lookup): marked as const.
4041
4042 2013-11-25  Sergio Correia  <sergio.correia@openbossa.org>
4043
4044         [MediaStream] Use std::unique_ptr instead of OwnPtr/PassOwnPtr
4045         https://bugs.webkit.org/show_bug.cgi?id=124858
4046
4047         Reviewed by Eric Carlson.
4048
4049         Another step of the OwnPtr/PassOwnPtr => std::unique_ptr conversion,
4050         now targeting mediastream-related code.
4051
4052         No new tests, covered by existing ones.