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