5254fb2ea5a919a7b4baca67006da46793cf01e7
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-01  Daniel Bates  <dabates@apple.com>
2
3         [iOS] WebCore fails to build with newer versions of clang
4         https://bugs.webkit.org/show_bug.cgi?id=122161
5
6         Reviewed by Darin Adler.
7
8         * editing/FrameSelection.cpp: Add ENABLE(TEXT_CARET)-guard around shouldStopBlinkingDueToTypingCommand().
9         * page/EventHandler.cpp: Add !PLATFORM(IOS)-guard around constants cursorUpdateInterval and maximumCursorSize;
10         also add touch event/gesture event guard around shouldGesturesTriggerActive().
11         * platform/network/cf/ResourceResponseCFNet.cpp: Remove unused function filenameHasSaneExtension.
12         * platform/network/mac/ResourceResponseMac.mm: Only define static variables commonHeaderFields when building
13         without CFNetwork; also remove variable numCommonHeaderFields, instead use WTF_ARRAY_LENGTH(commonHeaderFields)
14         to compute the size of the fixed-sized array commonHeaderFields.
15
16 2013-10-01  Brendan Long  <b.long@cablelabs.com>
17
18         [GStreamer] Support "chapter" text tracks
19         https://bugs.webkit.org/show_bug.cgi?id=122000
20
21         Reviewed by Eric Carlson.
22
23         Test: media/track/in-band/track-in-band-mkv-chapters.html
24
25         * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h: New class, needed for cues that aren't associated with GstPads.
26         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
27         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Check for table of contents messages.
28         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents): Parse table of contents messages into text tracks.
29         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry): Recursive method for parsing all of the TOC entries.
30         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Add the processTableOfContents functions.
31
32 2013-10-01  Allan Sandfeld Jensen  <allan.jensen@digia.com>
33
34         [Texmap] CSS filter not working on software composited layers
35         https://bugs.webkit.org/show_bug.cgi?id=122159
36
37         Reviewed by Noam Rosenthal.
38
39         Tell the rendering layer we do not support CSS filters when we do not. This
40         will make RenderLayer fall back to using its own software implementation.
41
42         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
43         (WebCore::GraphicsLayerTextureMapper::setFilters):
44         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
45         (WebCore::BitmapTextureImageBuffer::applyFilters):
46
47 2013-10-01  Darin Adler  <darin@apple.com>
48
49         Try to fix assertion failures seem on bots.
50
51         * css/StyleResolver.cpp:
52         (WebCore::StyleResolver::createFilterOperations): Rearrange code so this
53         won't try ot call toCSSPrimitiveValue on a non-primitive-value in the
54         DROP_SHADOW case.
55
56 2013-10-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
57
58         Generate toCSSFooValue for CSSPrimitiveValue
59         https://bugs.webkit.org/show_bug.cgi?id=122101
60
61         Reviewed by Antti Koivisto.
62
63         As a step of clean-up static_cast<> in CSSValues, this patch generates
64         toCSSFooPrimitiveValue() in order to detect bad casts as well as improves
65         code readability.
66
67         No new tests, no behavior changes.
68
69         * css/CSSFontSelector.cpp:
70         (WebCore::CSSFontSelector::addFontFaceRule):
71         * css/CSSImageGeneratorValue.cpp:
72         (WebCore::CSSImageGeneratorValue::subimageIsPending):
73         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
74         * css/CSSImageSetValue.cpp:
75         (WebCore::CSSImageSetValue::fillImageSet):
76         * css/CSSParser.cpp:
77         (WebCore::CSSParser::parseColor):
78         (WebCore::CSSParser::addProperty):
79         (WebCore::CSSParser::parse3ValuesFillPosition):
80         (WebCore::CSSParser::parseFillPosition):
81         (WebCore::CSSParser::parseFillRepeat):
82         (WebCore::CSSParser::parseDeprecatedRadialGradient):
83         (WebCore::CSSParser::parseRadialGradient):
84         * css/CSSPrimitiveValue.h:
85         * css/CSSToStyleMap.cpp:
86         (WebCore::CSSToStyleMap::mapFillAttachment):
87         (WebCore::CSSToStyleMap::mapFillClip):
88         (WebCore::CSSToStyleMap::mapFillComposite):
89         (WebCore::CSSToStyleMap::mapFillBlendMode):
90         (WebCore::CSSToStyleMap::mapFillOrigin):
91         (WebCore::CSSToStyleMap::mapFillRepeatX):
92         (WebCore::CSSToStyleMap::mapFillRepeatY):
93         (WebCore::CSSToStyleMap::mapFillSize):
94         (WebCore::CSSToStyleMap::mapFillXPosition):
95         (WebCore::CSSToStyleMap::mapFillYPosition):
96         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
97         (WebCore::CSSToStyleMap::mapAnimationDelay):
98         (WebCore::CSSToStyleMap::mapAnimationDirection):
99         (WebCore::CSSToStyleMap::mapAnimationDuration):
100         (WebCore::CSSToStyleMap::mapAnimationFillMode):
101         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
102         (WebCore::CSSToStyleMap::mapAnimationName):
103         (WebCore::CSSToStyleMap::mapAnimationPlayState):
104         (WebCore::CSSToStyleMap::mapAnimationProperty):
105         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
106         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
107         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
108         * css/CSSValue.cpp:
109         (WebCore::CSSValue::destroy):
110         * css/DeprecatedStyleBuilder.cpp:
111         (WebCore::ApplyPropertyDefault::applyValue):
112         (WebCore::ApplyPropertyNumber::applyValue):
113         (WebCore::ApplyPropertyAuto::applyValue):
114         (WebCore::ApplyPropertyClip::applyValue):
115         (WebCore::ApplyPropertyColor::applyValue):
116         (WebCore::ApplyPropertyLength::applyValue):
117         (WebCore::ApplyPropertyString::applyValue):
118         (WebCore::ApplyPropertyBorderRadius::applyValue):
119         (WebCore::ApplyPropertyComputeLength::applyValue):
120         (WebCore::ApplyPropertyFont::applyValue):
121         (WebCore::ApplyPropertyFontFamily::applyValue):
122         (WebCore::ApplyPropertyFontSize::applyValue):
123         (WebCore::ApplyPropertyFontWeight::applyValue):
124         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
125         (WebCore::ApplyPropertyCounter::applyValue):
126         (WebCore::ApplyPropertyCursor::applyValue):
127         (WebCore::ApplyPropertyTextAlign::applyValue):
128         (WebCore::ApplyPropertyTextDecoration::applyValue):
129         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
130         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
131         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
132         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
133         (WebCore::ApplyPropertyLineHeight::applyValue):
134         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
135         (WebCore::ApplyPropertyPageSize::applyValue):
136         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
137         (WebCore::ApplyPropertyResize::applyValue):
138         (WebCore::ApplyPropertyVerticalAlign::applyValue):
139         (WebCore::ApplyPropertyZoom::applyValue):
140         (WebCore::ApplyPropertyDisplay::applyValue):
141         (WebCore::ApplyPropertyClipPath::applyValue):
142         (WebCore::ApplyPropertyShape::applyValue):
143         (WebCore::ApplyPropertyImageResolution::applyValue):
144         (WebCore::ApplyPropertyTextIndent::applyValue):
145         * css/MediaList.cpp:
146         (WebCore::reportMediaQueryWarningIfNeeded):
147         * css/MediaQueryEvaluator.cpp:
148         (WebCore::numberValue):
149         (WebCore::orientationMediaFeatureEval):
150         (WebCore::evalResolution):
151         (WebCore::device_pixel_ratioMediaFeatureEval):
152         (WebCore::resolutionMediaFeatureEval):
153         (WebCore::computeLength):
154         (WebCore::view_modeMediaFeatureEval):
155         (WebCore::pointerMediaFeatureEval):
156         * css/SVGCSSStyleSelector.cpp:
157         (WebCore::StyleResolver::applySVGProperty):
158         * css/StylePropertySet.cpp:
159         (WebCore::StylePropertySet::getLayeredShorthandValue):
160         * css/StyleResolver.cpp:
161         (WebCore::createGridTrackSize):
162         (WebCore::createGridTrackList):
163         (WebCore::createGridPosition):
164         (WebCore::hasVariableReference):
165         (WebCore::StyleResolver::applyProperty):
166         (WebCore::StyleResolver::parseCustomFilterArrayParameter):
167         (WebCore::StyleResolver::parseCustomFilterColorParameter):
168         (WebCore::StyleResolver::parseCustomFilterNumberParameter):
169         (WebCore::StyleResolver::parseCustomFilterParameter):
170         (WebCore::StyleResolver::parseCustomFilterParameterList):
171         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
172         (WebCore::StyleResolver::createFilterOperations):
173         * css/TransformFunctions.cpp:
174         (WebCore::transformsForValue):
175         * css/ViewportStyleResolver.cpp:
176         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
177         * css/WebKitCSSMatrix.cpp:
178         (WebCore::WebKitCSSMatrix::setMatrixValue):
179         * editing/ApplyStyleCommand.cpp:
180         (WebCore::ApplyStyleCommand::computedFontSize):
181         * editing/EditingStyle.cpp:
182         (WebCore::identifierForStyleProperty):
183         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
184         (WebCore::cssValueToRGBA):
185         (WebCore::EditingStyle::extractFontSizeDelta):
186         (WebCore::EditingStyle::textDirection):
187         (WebCore::EditingStyle::prepareToApplyAt):
188         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
189         (WebCore::EditingStyle::legacyFontSize):
190         (WebCore::EditingStyle::textDirectionForSelection):
191         (WebCore::StyleChange::extractTextStyles):
192         (WebCore::fontWeightIsBold):
193         (WebCore::isTransparentColorValue):
194         * editing/markup.cpp:
195         (WebCore::propertyMissingOrEqualToNone):
196
197 2013-10-01  Darin Adler  <darin@apple.com>
198
199         Try to fix AVFoundation crashes seen on Lion bot.
200
201         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
202         Four AVFoundation string constants used in this file were new to 10.8.
203         For older versions of OS X, use hard-coded string constants instead.
204
205 2013-10-01  Zan Dobersek  <zdobersek@igalia.com>
206
207         [IndexedDB] Interfaces inheriting from EventTarget should generate JSC (un)wrapping functions
208         https://bugs.webkit.org/show_bug.cgi?id=122114
209
210         Reviewed by Darin Adler.
211
212         After r156590, four IndexedDB interfaces are inheriting from the EventTarget interface. Because of that,
213         they're now required to have interface-specific JSC wrapping and unwrapping functions generated since the
214         JSC wrapping and unwrapping functions for the EventTarget interface delegate these operations to these
215         interface-specific functions. If the functions are not generated and accessible, the EventTarget functions
216         end up recursively calling themselves.
217
218         * Modules/indexeddb/IDBDatabase.idl:
219         * Modules/indexeddb/IDBOpenDBRequest.idl:
220         * Modules/indexeddb/IDBRequest.idl:
221         * Modules/indexeddb/IDBTransaction.idl:
222
223 2013-09-30  Ryuan Choi  <ryuan.choi@samsung.com>
224
225         Build fix for EFL, Qt, Gtk port after r156688
226         https://bugs.webkit.org/show_bug.cgi?id=122139
227
228         Reviewed by Anders Carlsson.
229
230         Get rid of more uses of OwnPtr and PassOwnPtr.
231
232         * platform/graphics/surfaces/GraphicsSurface.cpp:
233         (WebCore::GraphicsSurface::beginPaint):
234         * platform/graphics/surfaces/GraphicsSurface.h:
235         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
236         (WebCore::GraphicsSurface::platformBeginPaint):
237         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
238         (WebCore::GraphicsSurface::platformBeginPaint):
239         * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
240         (WebCore::GraphicsSurface::platformBeginPaint):
241
242 2013-09-30  Sam White  <samuel_white@apple.com>
243
244         AX: Expose ARIA Busy Notifications
245         https://bugs.webkit.org/show_bug.cgi?id=121451
246
247         Reviewed by Chris Fleizach.
248
249         Added AXElementBusyChanged notification that posts when aria-busy is toggled. This
250         enables screen readers to detect busy states without polling the focused element.
251
252         Test: platform/mac/accessibility/element-busy-changed.html
253
254         * accessibility/AXObjectCache.cpp:
255         (WebCore::AXObjectCache::handleAttributeChanged):
256         * accessibility/AXObjectCache.h:
257         * accessibility/mac/AXObjectCacheMac.mm:
258         (WebCore::AXObjectCache::postPlatformNotification):
259
260 2013-09-30  Sam Weinig  <sam@webkit.org>
261
262         Fixing the build.
263
264         * GNUmakefile.list.am:
265
266 2013-09-30  Sam Weinig  <sam@webkit.org>
267
268         More build fixing.
269
270         * GNUmakefile.list.am:
271         * WebCore.vcxproj/WebCore.vcxproj.filters:
272         * inspector/InspectorAllInOne.cpp:
273         * inspector/InstrumentingAgents.h:
274
275 2013-09-30  Sam Weinig  <sam@webkit.org>
276
277         Fix the Efl and Gtk builds.
278
279         * GNUmakefile.list.am:
280         * PlatformEfl.cmake:
281         * PlatformGTK.cmake:
282
283 2013-09-30  Sam Weinig  <sam@webkit.org>
284
285         Remove support for DOMFileSystem
286         https://bugs.webkit.org/show_bug.cgi?id=122137
287
288         Reviewed by Anders Carlsson.
289
290         * Files elided *
291
292 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
293
294         [Windows] Build fix afer r156688.
295
296         * fileapi/ThreadableBlobRegistry.cpp:
297         (WebCore::ThreadableBlobRegistry::registerBlobURL): Switch to std::unique_ptr in
298         method implementation.
299
300 2013-09-30  Anders Carlsson  <andersca@apple.com>
301
302         Get rid of more uses of OwnPtr and PassOwnPtr
303         https://bugs.webkit.org/show_bug.cgi?id=122136
304
305         Reviewed by Antti Koivisto.
306
307         * Modules/websockets/WebSocket.cpp:
308         (WebCore::WebSocket::didReceiveBinaryData):
309         * WebCore.exp.in:
310         * fileapi/Blob.cpp:
311         (WebCore::Blob::Blob):
312         (WebCore::Blob::slice):
313         * fileapi/Blob.h:
314         (WebCore::Blob::create):
315         * fileapi/File.cpp:
316         (WebCore::createBlobDataForFileWithType):
317         (WebCore::createBlobDataForFile):
318         (WebCore::createBlobDataForFileWithName):
319         * fileapi/ThreadableBlobRegistry.cpp:
320         (WebCore::BlobRegistryContext::BlobRegistryContext):
321         (WebCore::registerBlobURLTask):
322         (WebCore::ThreadableBlobRegistry::registerBlobURL):
323         * fileapi/ThreadableBlobRegistry.h:
324         * fileapi/WebKitBlobBuilder.cpp:
325         (WebCore::BlobBuilder::getBlob):
326         * platform/network/BlobData.cpp:
327         (WebCore::BlobDataHandle::BlobDataHandle):
328         * platform/network/BlobData.h:
329         (WebCore::BlobData::BlobData):
330         (WebCore::BlobDataHandle::create):
331         * platform/network/BlobRegistry.h:
332         * platform/network/BlobRegistryImpl.cpp:
333         (WebCore::BlobRegistryImpl::registerBlobURL):
334         * platform/network/BlobRegistryImpl.h:
335         * xml/XMLHttpRequest.cpp:
336         (WebCore::XMLHttpRequest::responseBlob):
337
338 2013-09-30  Benjamin Poulain  <benjamin@webkit.org>
339
340         Remove the code guarded by STYLE_SCOPED
341         https://bugs.webkit.org/show_bug.cgi?id=122123
342
343         Reviewed by Anders Carlsson.
344
345         Start cleaning the code related to <style scoped>. This patch
346         only removes the code with #ifdef guards.
347
348         * Configurations/FeatureDefines.xcconfig:
349         * WebCore.exp.in:
350         * bindings/generic/RuntimeEnabledFeatures.cpp:
351         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
352         * bindings/generic/RuntimeEnabledFeatures.h:
353         * css/DocumentRuleSets.cpp:
354         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
355         * css/ElementRuleCollector.cpp:
356         (WebCore::ElementRuleCollector::matchScopedAuthorRules):
357         * css/StyleResolver.cpp:
358         (WebCore::StyleResolver::locateCousinList):
359         (WebCore::StyleResolver::canShareStyleWithElement):
360         (WebCore::StyleResolver::locateSharedStyle):
361         * css/StyleResolver.h:
362         (WebCore::StyleResolver::ensureScopeResolver):
363         * css/StyleScopeResolver.cpp:
364         * css/StyleScopeResolver.h:
365         * dom/Node.cpp:
366         * dom/Node.h:
367         * dom/ShadowRoot.cpp:
368         (WebCore::ShadowRoot::ShadowRoot):
369         * dom/ShadowRoot.h:
370         * html/HTMLStyleElement.cpp:
371         (WebCore::HTMLStyleElement::HTMLStyleElement):
372         (WebCore::HTMLStyleElement::parseAttribute):
373         (WebCore::HTMLStyleElement::insertedInto):
374         (WebCore::HTMLStyleElement::removedFrom):
375         * html/HTMLStyleElement.h:
376         * html/HTMLStyleElement.idl:
377         * testing/InternalSettings.cpp:
378         (WebCore::InternalSettings::Backup::Backup):
379         (WebCore::InternalSettings::Backup::restoreTo):
380         * testing/InternalSettings.h:
381         * testing/InternalSettings.idl:
382         * testing/Internals.cpp:
383         * testing/Internals.h:
384         * testing/Internals.idl:
385
386 2013-09-30  Drew Yao  <ayao@apple.com>
387
388         ASSERT(!m_hasBadParent) in InlineBox::parent() should be ASSERT_WITH_SECURITY_IMPLICATION
389         https://bugs.webkit.org/show_bug.cgi?id=122032
390
391         Reviewed by Andreas Kling.
392
393         Convert assertion to ASSERT_WITH_SECURITY_IMPLICATION to help catch use after free bugs.
394
395         No new tests needed.
396
397         * rendering/InlineBox.h:
398         (WebCore::InlineBox::parent):
399
400 2013-09-30  Yongjun Zhang  <yongjun_zhang@apple.com>
401
402         Don't attempt to destroy decoded frame if a BitmapImage doesn't have encoded raw data.
403         https://bugs.webkit.org/show_bug.cgi?id=122115
404
405         Reviewed by Daniel Bates.
406
407         With BitmapImage::create(PassNativeImagePtr, ImageObserver*), a BitmapImage could be created by
408         passing a native image.  If this image is added to memory cache, we shouldn't attempt to destroy
409         its decoded frames since there is no encoded raw data and we won't be able to reconstruct the image again.
410
411         No new tests for now. Currently there isn't a code path to add to the memory cache a BitmapImage
412         that was created by adopting a native image. We'll add such a code path in a subsequent patch.
413
414         * platform/graphics/BitmapImage.cpp:
415         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
416
417 2013-09-30  Brady Eidson  <beidson@apple.com>
418
419         Remove IDBTracing.h.
420         https://bugs.webkit.org/show_bug.cgi?id=122118
421
422         Reviewed by Alexey Proskuryakov.
423
424         Global replace of "IDB_TRACE" with "LOG(StorageAPI)", and remove all notions of this header.
425
426         * GNUmakefile.list.am:
427
428         * Modules/indexeddb/IDBCursor.cpp:
429         * Modules/indexeddb/IDBDatabase.cpp:
430         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
431         * Modules/indexeddb/IDBFactory.cpp:
432         * Modules/indexeddb/IDBIndex.cpp:
433         * Modules/indexeddb/IDBObjectStore.cpp:
434         * Modules/indexeddb/IDBOpenDBRequest.cpp:
435         * Modules/indexeddb/IDBRequest.cpp:
436         * Modules/indexeddb/IDBTracing.h: Removed.
437         * Modules/indexeddb/IDBTransaction.cpp:
438         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
439         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
440         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
441         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
442         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
443         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
444         * WebCore.xcodeproj/project.pbxproj:
445         * bindings/js/IDBBindingUtilities.cpp:
446
447 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
448
449         [Windows] Build fix after r156622. Build RenderLayerModelObject.cpp in a separate compilation unit
450         from the RenderLayerAllnOne file so that the scalar and vector destructors are visible to other
451         elements of WebCore during the build.
452
453         * WebCore.vcxproj/WebCore.vcxproj: Compile RenderLayerModelObject outside of the all-in-one file.
454         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
455         * rendering/RenderingAllInOne.cpp: Remove RenderLayerModelObject.cpp.
456
457 2013-09-30  Mark Rowe  <mrowe@apple.com>
458
459         Fix the build when building against an SDK.
460
461         Xcode helpfully prepends $(SDKROOT) to the paths in FRAMEWORK_SEARCH_PATHS when generating
462         the compiler command lines. It can't know to do this for the system framework search paths
463         we add manually via OTHER_CFLAGS though, so we need to prefix them with $(SDKROOT) ourself.
464
465         * Configurations/WebCore.xcconfig:
466
467 2013-09-30  Brent Fulgham  <bfulgham@apple.com>
468
469         [Windows] Unreviewed build fix.
470
471         * WebCore.vcxproj/WebCore.vcxproj.filters: Correct malformed XML in project files.
472
473 2013-09-30  Jer Noble  <jer.noble@apple.com>
474
475         Unreviewed, roll back in r156546 with rebaselined tests.
476         https://bugs.webkit.org/show_bug.cgi?id=122111
477
478         * Modules/mediacontrols/mediaControlsApple.js:
479         (Controller):
480         (Controller.prototype.addVideoListeners):
481         (Controller.prototype.removeVideoListeners):
482         (Controller.prototype.updateHasAudio):
483
484 2013-09-30  Commit Queue  <commit-queue@webkit.org>
485
486         Unreviewed, rolling out r156656.
487         http://trac.webkit.org/changeset/156656
488         https://bugs.webkit.org/show_bug.cgi?id=122111
489
490         Broke several media tests (Requested by ap on #webkit).
491
492         * Modules/mediacontrols/mediaControlsApple.js:
493         (Controller):
494         (Controller.prototype.addVideoListeners):
495         (Controller.prototype.removeVideoListeners):
496
497 2013-09-29  Sam Weinig  <sam@webkit.org>
498
499         Convert a bunch of OwnPtrs on Page to std::unique_ptrs
500         https://bugs.webkit.org/show_bug.cgi?id=122086
501
502         Reviewed by Darin Adler.
503
504         * loader/ProgressTracker.cpp:
505         * loader/ProgressTracker.h:
506         * page/Page.cpp:
507         (WebCore::Page::Page):
508         (WebCore::Page::setGroupName):
509         (WebCore::Page::initGroup):
510         * page/Page.h:
511         * page/PageGroup.cpp:
512         (WebCore::PageGroup::PageGroup):
513         * page/PageGroup.h:
514
515 2013-09-30  Antti Koivisto  <antti@apple.com>
516
517         Remove FontTranscoder
518         https://bugs.webkit.org/show_bug.cgi?id=122088
519
520         Reviewed by Andreas Kling.
521
522         This overly generic class just implements mapping of backslash to yen symbol for some legacy Japanese fonts.
523
524         * CMakeLists.txt:
525         * GNUmakefile.am:
526         * GNUmakefile.list.am:
527         * Target.pri:
528         * WebCore.pri:
529         * WebCore.vcxproj/WebCore.vcxproj:
530         * WebCore.xcodeproj/project.pbxproj:
531         * platform/graphics/Font.cpp:
532         (WebCore::useBackslashAsYenSignForFamily):
533         
534             Move the family set to Font.cpp.
535
536         (WebCore::Font::Font):
537         (WebCore::Font::operator=):
538         (WebCore::Font::update):
539         
540             Keep the cached boolean up to date.
541
542         * platform/graphics/Font.h:
543         (WebCore::Font::useBackslashAsYenSymbol):
544         
545             Use descriptive name instead of talking about "transcoding".
546
547         * platform/text/transcoder: Removed.
548         * platform/text/transcoder/FontTranscoder.cpp: Removed.
549         * platform/text/transcoder/FontTranscoder.h: Removed.
550         * rendering/RenderText.cpp:
551         (WebCore::RenderText::RenderText):
552         (WebCore::RenderText::computeUseBackslashAsYenSymbol):
553         
554             Rename for clarity. 
555             Avoid unnecessary hash lookup, just check the cached bit in Font.
556
557         (WebCore::RenderText::styleDidChange):
558         (WebCore::RenderText::setTextInternal):
559         
560             "Transcoding" here was just a simple character replacement.
561
562         (WebCore::RenderText::textWithoutConvertingBackslashToYenSymbol):
563         
564             Renamed.
565
566         * rendering/RenderText.h:
567
568 2013-09-27  Jer Noble  <jer.noble@apple.com>
569
570         REGRESSION(r156546): media/video-no-audio.html broken
571         https://bugs.webkit.org/show_bug.cgi?id=122049
572
573         Reviewed by Eric Carlson.
574
575         Now that our video elements have audio tracks, use their presence or
576         absense to show or hide the volume controls.
577
578         * Modules/mediacontrols/mediaControlsApple.js:
579         (Controller):
580         (Controller.prototype.addVideoListeners): Listen for audioTrack changes.
581         (Controller.prototype.removeVideoListeners): Stop listening to same.
582         (Controller.prototype.handleAudioTrackChange): Call this.updateHasAudio()
583         (Controller.prototype.handleAudioTrackAdd): Ditto.
584         (Controller.prototype.handleAudioTrackRemove): Ditto.
585         (Controller.prototype.updateHasAudio): Hide the volume controls if no
586             audioTracks are present, and vice versa.
587
588 2013-09-30  Jer Noble  <jer.noble@apple.com>
589
590         Unreviewed Mac-Lion build fix.
591
592         Use metadataItemsFromArray:withLocale: instead of
593         metadataItemsFromArray:filteredAndSortedAccordingToPreferredLanguages:
594         on Lion and earlier.
595
596         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
597         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack):
598
599 2013-09-27  Jer Noble  <jer.noble@apple.com>
600
601         [Mac] Add AudioTrack support to MediaPlayerPrivateAVFObC.
602         https://bugs.webkit.org/show_bug.cgi?id=122043
603
604         Reviewed by Eric Carlson.
605
606         Test: media/track/audio-track.html
607
608         Add a new class AudioTrackPrivateAVF and subclass AudioTrackPrivateAVFObjC
609         which are backed by a AVPlayerItemTrack. Create one of these tracks when
610         we are notified that the list of available tracks has changed.
611
612         * WebCore.xcodeproj/project.pbxproj:
613         * html/track/AudioTrack.cpp:
614         (WebCore::AudioTrack::setEnabled): Pass through to the AudioTrackPrivate
615             so that the underlying media track can be (dis|en)abled.
616         * platform/graphics/avfoundation/AudioTrackPrivateAVF.h: Added.
617         (WebCore::AudioTrackPrivateAVF::kind): Simple getter.
618         (WebCore::AudioTrackPrivateAVF::id): Ditto.
619         (WebCore::AudioTrackPrivateAVF::label): Ditto.
620         (WebCore::AudioTrackPrivateAVF::language): Ditto.
621         (WebCore::AudioTrackPrivateAVF::setKind): Simple Setter.
622         (WebCore::AudioTrackPrivateAVF::setId): Ditto.
623         (WebCore::AudioTrackPrivateAVF::setLabel): Ditto.
624         (WebCore::AudioTrackPrivateAVF::setLanguage): Ditto.
625         (WebCore::AudioTrackPrivateAVF::AudioTrackPrivateAVF): Simple constructor.
626         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h: Added.
627         (WebCore::AudioTrackPrivateAVFObjC::create): Simple factory.
628         (WebCore::AudioTrackPrivateAVFObjC::playerItemTrack): Simple getter.
629         * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm: Added.
630         (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC): Call resetPropertiesFromTrack.
631         (WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack): Fill out the values from 
632             the associated AVPlayerItemTrack and its AVAssetTrack.
633         (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack): Call resetPropertiesFromTrack.
634         (WebCore::AudioTrackPrivateAVFObjC::setEnabled): (En|Dis)able the AVPlayerItemTrack.
635         (WebCore::AudioTrackPrivateAVFObjC::languageForAVAssetTrack): Refactored from
636             MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack.
637         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
638         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
639         (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Determine which tracks
640             have been added or removed and notify the clients accordingly.
641         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Refactor into
642             AudioTrackPrivateAVFObjC::languageForAVAssetTrack.
643
644 2013-09-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
645
646         Generate toCSSCalcValue instead of using manual cast function
647         https://bugs.webkit.org/show_bug.cgi?id=122055
648
649         Reviewed by Antti Koivisto.
650
651         Generated type cast function supports more plenty functions rather than manual functions.
652         To use CSS_VALUE_TYPE_CAST, isCalculationValue() needs to be changed with isCalcValue().
653
654         No new tests, no behavior changes.
655
656         * css/CSSCalculationValue.h:
657         * css/CSSValue.cpp:
658         (WebCore::CSSValue::destroy):
659         * css/CSSValue.h:
660         (WebCore::CSSValue::isCalcValue):
661         * css/StyleResolver.cpp:
662         (WebCore::hasVariableReference):
663
664 2013-09-30  Antti Koivisto  <antti@apple.com>
665
666         Get rid of static map for marking ancestor line boxes dirty
667         https://bugs.webkit.org/show_bug.cgi?id=122080
668
669         Reviewed by Andreas Kling.
670         
671         This is ugly and shows up in profiles too. Use a bit in RenderElement instead.
672
673         * rendering/RenderBlock.h:
674         * rendering/RenderBlockFlow.h:
675         
676             Move dirtyLinesFromChangedChild down to RenderBlockFlow. It wouldn't do anything on other RenderBlocks.
677
678         * rendering/RenderElement.cpp:
679         (WebCore::RenderElement::RenderElement):
680         * rendering/RenderElement.h:
681         
682             Add m_ancestorLineBoxDirty bit. We have 32 unused bits here on 64bit systems.
683
684         (WebCore::RenderElement::dirtyLinesFromChangedChild):
685         (WebCore::RenderElement::ancestorLineBoxDirty):
686         (WebCore::RenderElement::setAncestorLineBoxDirty):
687         (WebCore::RenderObject::setNeedsLayout):
688         * rendering/RenderInline.h:
689         * rendering/RenderLineBoxList.cpp:
690         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
691             
692             Tighten the interface.
693
694         * rendering/RenderLineBoxList.h:
695         * rendering/RenderObject.cpp:
696         (WebCore::RenderObject::willBeDestroyed):
697         * rendering/RenderObject.h:
698         
699             Remove the static map.
700
701 2013-09-18  Sergio Villar Senin  <svillar@igalia.com>
702
703         [CSS Grid Layout] Implement the grid-area shorthand
704         https://bugs.webkit.org/show_bug.cgi?id=103334
705
706         Reviewed by Andreas Kling.
707
708         Based on Blink r151684 by <jchaffraix@chromium.org>
709
710         Test: fast/css-grid-layout/grid-item-area-get-set.html
711
712         Added support to specify grid positions using the
713         '-webkit-grid-area' shorthand. Named grid areas are still not
714         allowed, to be done in a follow up patch as it likely requires
715         '-webkit-grid-template' support.
716
717         * css/CSSComputedStyleDeclaration.cpp:
718         (WebCore::ComputedStyleExtractor::propertyValue):
719         * css/CSSParser.cpp:
720         (WebCore::CSSParser::parseValue):
721         (WebCore::CSSParser::parseGridItemPositionShorthand):
722         * css/CSSPropertyNames.in:
723         * css/StylePropertySet.cpp:
724         (WebCore::StylePropertySet::getPropertyValue):
725         * css/StylePropertyShorthand.cpp:
726         (WebCore::webkitGridAreaShorthand):
727         (WebCore::shorthandForProperty):
728         * css/StylePropertyShorthand.h:
729         * css/StyleResolver.cpp:
730         (WebCore::StyleResolver::applyProperty):
731
732 2013-09-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
733
734         Generate toCSSFooValue for CSSGradientValue, CSSLinearGradientValue and CSSRadialGradient
735         https://bugs.webkit.org/show_bug.cgi?id=122060
736
737         Reviewed by Antti Koivisto.
738
739         As a step to generate toCSSFooValue, toCSSGradientValuem toCSSLinearGradientValue and
740         toCSSRadialGradient are generated. isLinearGradient() and isRadialGradient() are moved
741         from each class to CSSValue in order to generate toCSSFooValue.
742
743         No new tests, no behavior change.
744
745         * css/CSSGradientValue.cpp:
746         (WebCore::CSSGradientValue::image):
747         (WebCore::CSSGradientValue::gradientWithStylesResolved):
748         * css/CSSGradientValue.h:
749         * css/CSSImageGeneratorValue.cpp:
750         (WebCore::CSSImageGeneratorValue::image):
751         (WebCore::CSSImageGeneratorValue::fixedSize):
752         (WebCore::CSSImageGeneratorValue::loadSubimages):
753         * css/CSSParser.cpp:
754         (WebCore::CSSParser::parseDeprecatedGradient):
755         * css/CSSValue.cpp:
756         (WebCore::CSSValue::destroy):
757         * css/CSSValue.h:
758         (WebCore::CSSValue::isLinearGradient):
759         (WebCore::CSSValue::isRadialGradient):
760         * css/StyleResolver.cpp:
761         (WebCore::StyleResolver::applyProperty):
762         (WebCore::StyleResolver::styleImage):
763
764 2013-09-30  Vani Hegde  <vani.hegde@samsung.com>
765
766         user-select: none cursor turns to I-beam on mouse dragging
767         https://bugs.webkit.org/show_bug.cgi?id=90159
768
769         Reviewed by Ryosuke Niwa.
770
771         When tried to select some text in an area that has style
772         cursor:default set, cursor type changes to text cursor ignoring
773         the cursor style that is explicitly set.
774
775         When the cursor style is explicitly set as default (or something else),
776         we should not change it to text cursor no matter what we are over
777         or what operation we are performing (be it hovering over the text
778         or selecting the text).
779
780         During text selection, changing the cursor type to text only when
781         there is no explicit cursor type set fixes the issue.
782
783         Test: editing/caret/selection-with-caret-type-progress.html
784
785         * page/EventHandler.cpp:
786         (WebCore::EventHandler::selectCursor):
787         During selection, set the cursor style to text only if there is no
788         explicit cursor style set.
789
790 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
791
792         Generate toCSSFooValue() for CSSCanvasValue
793         https://bugs.webkit.org/show_bug.cgi?id=122058
794
795         Reviewed by Antti Koivisto.
796
797         Generate toCSSFooValue() for CSSCanvasValue, and use it.
798         This type cast function will help to detect bad-casts.
799         isCanvasValue() is added in order to generate toCSSCanvasValue.
800
801         No new tests, no behavior change.
802
803         * css/CSSCanvasValue.h:
804         * css/CSSImageGeneratorValue.cpp:
805         (WebCore::CSSImageGeneratorValue::image):
806         (WebCore::CSSImageGeneratorValue::fixedSize):
807         (WebCore::CSSImageGeneratorValue::loadSubimages):
808         * css/CSSValue.cpp:
809         (WebCore::CSSValue::destroy):
810         * css/CSSValue.h:
811         (WebCore::CSSValue::isCanvasValue):
812
813 2013-09-29  Mark Rowe  <mrowe@apple.com>
814
815         Fix the Lion build.
816
817         Ensure that C++ and Objective-C++ files build with the right compiler flags.
818
819         * Configurations/WebCore.xcconfig:
820
821 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
822
823         Generate toCSSFooValue() for CSSLineBoxContainValue
824         https://bugs.webkit.org/show_bug.cgi?id=122054
825
826         Reviewed by Darin Adler.
827
828         As a step to use toCSSFooValue, toCSSLineBoxContainValue is generated by using
829         CSS_VALUE_TYPE_CASTS. To use it, isCSSLineBoxContainValue() is changed to
830         isLineBoxContatinValue(). Unnecessary local variable is removed by this patch.
831
832         No new tests, no behavior changes.
833
834         * css/CSSLineBoxContainValue.h:
835         * css/CSSValue.cpp:
836         (WebCore::CSSValue::destroy):
837         * css/CSSValue.h:
838         (WebCore::CSSValue::isLineBoxContainValue):
839         * css/StyleResolver.cpp:
840         (WebCore::StyleResolver::applyProperty):
841
842 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
843
844         Generate toCSSCrossfadeValue() instead of using manual function
845         https://bugs.webkit.org/show_bug.cgi?id=122057
846
847         Reviewed by Antti Koivisto.
848
849         Generated toCSSFooValue() supports more plenty functions rather than
850         to use manual cast function.
851
852         No new tests, no behavior changes.
853
854         * css/CSSCrossfadeValue.h:
855         * css/CSSImageGeneratorValue.cpp:
856         (WebCore::CSSImageGeneratorValue::image):
857         (WebCore::CSSImageGeneratorValue::fixedSize):
858         (WebCore::CSSImageGeneratorValue::loadSubimages):
859         * css/CSSValue.cpp:
860         (WebCore::CSSValue::destroy):
861
862 2013-09-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
863
864         Generate toCSSFooValue() for CSSFilterImageValue and CSSInitialValue
865         https://bugs.webkit.org/show_bug.cgi?id=122056
866
867         Reviewed by Antti Koivisto.
868
869         Generate toCSSFooValue() for CSSFilterImageValue and CSSInitialValue, and use it.
870         This type cast function will help to detect bad-casts.
871
872         No new tests, no behavior changes.
873
874         * css/CSSFilterImageValue.h:
875         * css/CSSImageGeneratorValue.cpp:
876         (WebCore::CSSImageGeneratorValue::image):
877         (WebCore::CSSImageGeneratorValue::fixedSize):
878         (WebCore::CSSImageGeneratorValue::loadSubimages):
879         * css/CSSInitialValue.h:
880         * css/CSSValue.cpp:
881         (WebCore::CSSValue::destroy):
882         * css/StyleResolver.cpp:
883         (WebCore::StyleResolver::generatedOrPendingFromValue):
884
885 2013-09-29  Darin Adler  <darin@apple.com>
886
887         Fix crashes caused by my recent attempt at a Windows build fix.
888
889         * bindings/js/WebCoreTypedArrayController.cpp:
890         (WebCore::WebCoreTypedArrayController::toJS): Added back the prefix for the call to
891         WebCore::toJS, otherwise this function just calls itself infinitely recursively.
892
893 2013-09-29  Sam Weinig  <sam@webkit.org>
894
895         Cleanup PageThrottler and PageConsole a bit
896         https://bugs.webkit.org/show_bug.cgi?id=122085
897
898         Reviewed by Anders Carlsson.
899
900         * html/HTMLMediaElement.h:
901         * loader/FrameLoader.cpp:
902         (WebCore::FrameLoader::completed):
903         * loader/FrameLoader.h:
904         * loader/SubresourceLoader.cpp:
905         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
906         (WebCore::SubresourceLoader::didFinishLoading):
907         (WebCore::SubresourceLoader::didFail):
908         (WebCore::SubresourceLoader::willCancel):
909         * loader/SubresourceLoader.h:
910         Store the PageActivityAssertionToken as a std::unique_ptr.
911
912         * page/Page.cpp:
913         (WebCore::Page::Page):
914         Use createOwned and pass this by reference for the PageThrottler and PageConsole.
915         (WebCore::Page::~Page):
916         Remove unnecessary clearing of an OwnPtr that is about to be destroyed.
917         * page/Page.h:
918         Make m_pageThrottler const and return it as a reference.
919
920         * page/PageActivityAssertionToken.cpp:
921         (WebCore::PageActivityAssertionToken::PageActivityAssertionToken):
922         (WebCore::PageActivityAssertionToken::~PageActivityAssertionToken):
923         * page/PageActivityAssertionToken.h:
924         Take the PageThrottler by reference in the constructor. It is never null.
925
926         * page/PageConsole.cpp:
927         (WebCore::PageConsole::PageConsole):
928         (WebCore::PageConsole::~PageConsole):
929         (WebCore::PageConsole::addMessage):
930         * page/PageConsole.h:
931         Pass and store the Page as a reference and remove an extraneous null check. Remove
932         the create function.
933
934         * page/PageThrottler.cpp:
935         (WebCore::PageThrottler::PageThrottler):
936         (WebCore::PageThrottler::~PageThrottler):
937         (WebCore::PageThrottler::createActivityToken):
938         (WebCore::PageThrottler::throttlePage):
939         (WebCore::PageThrottler::unthrottlePage):
940         (WebCore::PageThrottler::addActivityToken):
941         (WebCore::PageThrottler::removeActivityToken):
942         * page/PageThrottler.h:
943         Pass and store the Page as a reference. Move the creation of PageActivityAssertionToken here
944         to aid encapsulation.
945
946 2013-09-29  Darin Adler  <darin@apple.com>
947
948         Try to fix Windows build.
949
950         * bindings/js/WebCoreTypedArrayController.cpp: Windows has a symbol named Handle, so we need
951         to call JSC::Handle out by name. To fix that, I removed "using namespace JSC" entirely. And
952         just for fun, sort of "rewrote" this file.
953         (WebCore::WebCoreTypedArrayController::WebCoreTypedArrayController): Removed unneeded explicit
954         initialization of m_owner.
955         (WebCore::WebCoreTypedArrayController::~WebCoreTypedArrayController): Fixed formatting.
956         (WebCore::WebCoreTypedArrayController::toJS): Added lots of explicit JSC and got rid of local.
957         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::isReachableFromOpaqueRoots): Cut
958         down on locals, used auto& for type, and called it "wrapper" since that's what JSArrayBuffer is.
959         (WebCore::WebCoreTypedArrayController::JSArrayBufferOwner::finalize): More of the same.
960
961 2013-09-29  Darin Adler  <darin@apple.com>
962
963         Use RenderElement instead of RenderObject in many places
964         https://bugs.webkit.org/show_bug.cgi?id=122078
965
966         Reviewed by Andreas Kling.
967
968         * WebCore.exp.in: Updated for name changes.
969
970         * dom/ContainerNode.h: Moved renderer() here from Element.
971         * dom/Element.h: Moved renderer() from here to ContainerNode.
972         * render/RenderElement.h: Moved renderer() from Element to ContainerNode.
973
974         * accessibility/AccessibilityImageMapLink.cpp:
975         (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
976         (WebCore::AccessibilityImageMapLink::detachFromParent):
977         (WebCore::AccessibilityImageMapLink::elementPath):
978         (WebCore::AccessibilityImageMapLink::elementRect):
979         * accessibility/AccessibilityImageMapLink.h:
980         * accessibility/AccessibilityRenderObject.cpp:
981         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
982         * bindings/objc/DOM.mm:
983         (-[DOMElement image]):
984         (-[DOMElement _font]):
985         (-[DOMElement _imageTIFFRepresentation]):
986         * css/CSSCanvasValue.cpp:
987         (WebCore::CSSCanvasValue::canvasChanged):
988         (WebCore::CSSCanvasValue::canvasResized):
989         (WebCore::CSSCanvasValue::canvasDestroyed):
990         (WebCore::CSSCanvasValue::fixedSize):
991         (WebCore::CSSCanvasValue::image):
992         * css/CSSCanvasValue.h:
993         * css/CSSComputedStyleDeclaration.cpp:
994         (WebCore::computeRenderStyleForProperty):
995         * css/CSSCrossfadeValue.cpp:
996         (WebCore::subimageKnownToBeOpaque):
997         (WebCore::CSSCrossfadeValue::fixedSize):
998         (WebCore::CSSCrossfadeValue::knownToBeOpaque):
999         (WebCore::CSSCrossfadeValue::image):
1000         (WebCore::CSSCrossfadeValue::crossfadeChanged):
1001         * css/CSSCrossfadeValue.h:
1002         * css/CSSFilterImageValue.cpp:
1003         (WebCore::CSSFilterImageValue::fixedSize):
1004         (WebCore::CSSFilterImageValue::knownToBeOpaque):
1005         (WebCore::CSSFilterImageValue::image):
1006         (WebCore::CSSFilterImageValue::filterImageChanged):
1007         * css/CSSFilterImageValue.h:
1008         * css/CSSFontSelector.cpp:
1009         * css/CSSGradientValue.cpp:
1010         (WebCore::CSSGradientValue::image):
1011         (WebCore::CSSGradientValue::addStops):
1012         (WebCore::CSSGradientValue::knownToBeOpaque):
1013         (WebCore::CSSLinearGradientValue::createGradient):
1014         (WebCore::CSSRadialGradientValue::createGradient):
1015         * css/CSSGradientValue.h:
1016         (WebCore::CSSGradientValue::fixedSize):
1017         * css/CSSImageGeneratorValue.cpp:
1018         (WebCore::CSSImageGeneratorValue::addClient):
1019         (WebCore::CSSImageGeneratorValue::removeClient):
1020         (WebCore::CSSImageGeneratorValue::image):
1021         (WebCore::CSSImageGeneratorValue::fixedSize):
1022         (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
1023         * css/CSSImageGeneratorValue.h:
1024         (WebCore::CSSImageGeneratorValue::clients):
1025         * css/CSSImageValue.cpp:
1026         (WebCore::CSSImageValue::knownToBeOpaque):
1027         * css/CSSImageValue.h:
1028         * css/DeprecatedStyleBuilder.cpp:
1029         * dom/DocumentMarkerController.cpp:
1030         (WebCore::DocumentMarkerController::removeMarkersFromList):
1031         (WebCore::DocumentMarkerController::repaintMarkers):
1032         * dom/Element.cpp:
1033         (WebCore::localZoomForRenderer):
1034         (WebCore::adjustForLocalZoom):
1035         (WebCore::Element::offsetParent):
1036         (WebCore::Element::updateExistingPseudoElement):
1037         * dom/ElementRareData.h:
1038         (WebCore::ElementRareData::create):
1039         (WebCore::ElementRareData::ElementRareData):
1040         * dom/Node.cpp:
1041         (WebCore::Node::ensureRareData):
1042         * editing/DeleteButtonController.cpp:
1043         (WebCore::isDeletableElement):
1044         * editing/Editor.cpp:
1045         (WebCore::Editor::hasBidiSelection):
1046         (WebCore::Editor::baseWritingDirectionForSelectionStart):
1047         * editing/EditorCommand.cpp:
1048         (WebCore::verticalScrollDistance):
1049         * editing/htmlediting.cpp:
1050         (WebCore::directionOfEnclosingBlock):
1051         * editing/ios/EditorIOS.mm:
1052         (WebCore::Editor::fontForSelection):
1053         (WebCore::getImage):
1054         * editing/mac/EditorMac.mm:
1055         (WebCore::Editor::fontForSelection):
1056         (WebCore::getImage):
1057         * editing/markup.cpp:
1058         * html/HTMLAreaElement.cpp:
1059         (WebCore::HTMLAreaElement::computePath):
1060         (WebCore::HTMLAreaElement::computeRect):
1061         (WebCore::HTMLAreaElement::setFocus):
1062         * html/HTMLAreaElement.h:
1063         * html/HTMLCanvasElement.cpp:
1064         (WebCore::HTMLCanvasElement::reset):
1065         * html/HTMLElement.cpp:
1066         (WebCore::HTMLElement::setInnerText):
1067         * html/HTMLFormControlElement.cpp:
1068         (WebCore::updateFromElementCallback):
1069         * html/HTMLFormElement.cpp:
1070         (WebCore::HTMLFormElement::rendererIsNeeded):
1071         * html/HTMLFrameOwnerElement.h:
1072         * html/HTMLImageElement.cpp:
1073         (WebCore::HTMLImageElement::x):
1074         (WebCore::HTMLImageElement::y):
1075         (WebCore::HTMLImageElement::willRespondToMouseClickEvents):
1076         * html/HTMLMapElement.cpp:
1077         * html/HTMLMediaElement.cpp:
1078         (WebCore::HTMLMediaElement::defaultEventHandler):
1079         * html/HTMLMeterElement.cpp:
1080         (WebCore::HTMLMeterElement::renderMeter):
1081         * html/HTMLOptionElement.cpp:
1082         (WebCore::HTMLOptionElement::didRecalcStyle):
1083         * html/HTMLPlugInElement.cpp:
1084         (WebCore::HTMLPlugInElement::willRespondToMouseClickEvents):
1085         (WebCore::HTMLPlugInElement::defaultEventHandler):
1086         (WebCore::HTMLPlugInElement::isKeyboardFocusable):
1087         * html/HTMLPlugInImageElement.cpp:
1088         (WebCore::HTMLPlugInImageElement::defaultEventHandler):
1089         * html/HTMLProgressElement.cpp:
1090         (WebCore::HTMLProgressElement::renderProgress):
1091         * html/HTMLSelectElement.cpp:
1092         (WebCore::HTMLSelectElement::scrollToSelection):
1093         (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
1094         (WebCore::HTMLSelectElement::selectOption):
1095         * html/HTMLTableCellElement.cpp:
1096         (WebCore::HTMLTableCellElement::cellAbove):
1097         * html/HTMLTextFormControlElement.cpp:
1098         (WebCore::hasVisibleTextArea):
1099         (WebCore::HTMLTextFormControlElement::setSelectionRange):
1100         * html/InputType.h:
1101         * html/parser/HTMLResourcePreloader.cpp:
1102         * html/shadow/MediaControlElementTypes.cpp:
1103         (WebCore::MediaControlElement::setDisplayType):
1104         * html/shadow/MediaControlElements.cpp:
1105         (WebCore::MediaControlPanelElement::startDrag):
1106         (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
1107         * html/shadow/MeterShadowElement.cpp:
1108         (WebCore::MeterShadowElement::rendererIsNeeded):
1109         (WebCore::MeterInnerElement::rendererIsNeeded):
1110         * inspector/InspectorOverlay.cpp:
1111         * inspector/InspectorTimelineAgent.cpp:
1112         * inspector/InspectorTimelineAgent.h:
1113         * loader/ImageLoader.cpp:
1114         (WebCore::ImageLoader::renderImageResource):
1115         * loader/cache/CachedImage.cpp:
1116         (WebCore::CachedImage::currentFrameKnownToBeOpaque):
1117         * loader/cache/CachedImage.h:
1118         * mathml/MathMLElement.cpp:
1119         * page/ContextMenuController.cpp:
1120         * page/DragController.cpp:
1121         (WebCore::DragController::draggableElement):
1122         * page/EventHandler.cpp:
1123         (WebCore::EventHandler::EventHandler):
1124         (WebCore::EventHandler::clear):
1125         (WebCore::EventHandler::startPanScrolling):
1126         (WebCore::EventHandler::autoscrollRenderer):
1127         (WebCore::EventHandler::scrollOverflow):
1128         (WebCore::EventHandler::logicalScrollOverflow):
1129         (WebCore::EventHandler::subframeForTargetNode):
1130         (WebCore::EventHandler::selectCursor):
1131         (WebCore::layerForNode):
1132         (WebCore::EventHandler::handleWheelEvent):
1133         (WebCore::EventHandler::clearGestureScrollNodes):
1134         * page/EventHandler.h:
1135         * page/FocusController.cpp:
1136         * page/Frame.cpp:
1137         (WebCore::Frame::ownerRenderer):
1138         (WebCore::Frame::visiblePositionForPoint):
1139         (WebCore::Frame::nodeImage):
1140         * page/FrameView.cpp:
1141         (WebCore::FrameView::applyOverflowToViewport):
1142         (WebCore::FrameView::applyPaginationToViewport):
1143         (WebCore::FrameView::calculateScrollbarModesForLayout):
1144         (WebCore::FrameView::isEnclosedInCompositingLayer):
1145         (WebCore::FrameView::embeddedContentBox):
1146         (WebCore::FrameView::addSlowRepaintObject):
1147         (WebCore::FrameView::removeSlowRepaintObject):
1148         (WebCore::FrameView::addViewportConstrainedObject):
1149         (WebCore::FrameView::removeViewportConstrainedObject):
1150         (WebCore::FrameView::scrollContentsFastPath):
1151         (WebCore::FrameView::repaintSlowRepaintObjects):
1152         (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
1153         (WebCore::FrameView::updateOverflowStatus):
1154         (WebCore::FrameView::updateScrollCorner):
1155         (WebCore::FrameView::paintContents):
1156         (WebCore::FrameView::convertFromRenderer):
1157         (WebCore::FrameView::convertToRenderer):
1158         * page/FrameView.h:
1159         * page/PageSerializer.cpp:
1160         (WebCore::PageSerializer::addImageToResources):
1161         * page/PageSerializer.h:
1162         * page/animation/AnimationBase.cpp:
1163         (WebCore::AnimationBase::AnimationBase):
1164         (WebCore::AnimationBase::updateStateMachine):
1165         * page/animation/AnimationBase.h:
1166         (WebCore::AnimationBase::renderer):
1167         * page/animation/AnimationController.cpp:
1168         (WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
1169         (WebCore::AnimationControllerPrivate::clear):
1170         (WebCore::AnimationControllerPrivate::updateAnimations):
1171         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
1172         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
1173         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
1174         (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
1175         (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
1176         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
1177         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
1178         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
1179         (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
1180         (WebCore::AnimationController::cancelAnimations):
1181         (WebCore::AnimationController::updateAnimations):
1182         (WebCore::AnimationController::getAnimatedStyleForRenderer):
1183         (WebCore::AnimationController::notifyAnimationStarted):
1184         (WebCore::AnimationController::pauseAnimationAtTime):
1185         (WebCore::AnimationController::pauseTransitionAtTime):
1186         (WebCore::AnimationController::isRunningAnimationOnRenderer):
1187         (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
1188         * page/animation/AnimationController.h:
1189         * page/animation/AnimationControllerPrivate.h:
1190         * page/animation/CSSPropertyAnimation.cpp:
1191         (WebCore::crossfadeBlend):
1192         * page/animation/CompositeAnimation.cpp:
1193         (WebCore::CompositeAnimation::updateTransitions):
1194         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1195         (WebCore::CompositeAnimation::animate):
1196         * page/animation/CompositeAnimation.h:
1197         * page/animation/ImplicitAnimation.cpp:
1198         (WebCore::ImplicitAnimation::ImplicitAnimation):
1199         (WebCore::ImplicitAnimation::animate):
1200         (WebCore::ImplicitAnimation::pauseAnimation):
1201         (WebCore::ImplicitAnimation::sendTransitionEvent):
1202         * page/animation/ImplicitAnimation.h:
1203         (WebCore::ImplicitAnimation::create):
1204         * page/animation/KeyframeAnimation.cpp:
1205         (WebCore::KeyframeAnimation::KeyframeAnimation):
1206         (WebCore::KeyframeAnimation::animate):
1207         (WebCore::KeyframeAnimation::pauseAnimation):
1208         (WebCore::KeyframeAnimation::endAnimation):
1209         (WebCore::KeyframeAnimation::sendAnimationEvent):
1210         * page/animation/KeyframeAnimation.h:
1211         * page/mac/EventHandlerMac.mm:
1212         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
1213         (WebCore::EventHandler::passSubframeEventToSubframe):
1214         * page/mac/FrameSnapshottingMac.mm:
1215         (WebCore::snapshotDragImage):
1216         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1217         (WebCore::MediaPlayerPrivateQTKit::paint):
1218         * rendering/CounterNode.cpp:
1219         (WebCore::CounterNode::CounterNode):
1220         (WebCore::CounterNode::create):
1221         * rendering/CounterNode.h:
1222         (WebCore::CounterNode::owner):
1223         * rendering/FilterEffectRenderer.cpp:
1224         (WebCore::FilterEffectRenderer::buildReferenceFilter):
1225         (WebCore::FilterEffectRenderer::build):
1226         * rendering/FilterEffectRenderer.h:
1227         * rendering/HitTestResult.cpp:
1228         (WebCore::HitTestResult::spellingToolTip):
1229         (WebCore::HitTestResult::title):
1230         (WebCore::HitTestResult::innerTextIfTruncated):
1231         (WebCore::HitTestResult::image):
1232         * rendering/LayoutRepainter.cpp:
1233         (WebCore::LayoutRepainter::LayoutRepainter):
1234         * rendering/LayoutRepainter.h:
1235         * rendering/LayoutState.h:
1236         (WebCore::LayoutState::LayoutState):
1237         * rendering/LineWidth.h:
1238         * rendering/LogicalSelectionOffsetCaches.h:
1239         (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject):
1240         (WebCore::isNonRenderBlockInline):
1241         (WebCore::containingBlockForFixedPosition):
1242         (WebCore::containingBlockForAbsolutePosition):
1243         (WebCore::containingBlockForObjectInFlow):
1244         (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
1245         * rendering/PaintInfo.h:
1246         (WebCore::PaintInfo::PaintInfo):
1247         (WebCore::PaintInfo::updateSubtreePaintRootForChildren):
1248         * rendering/RenderBox.cpp:
1249         (WebCore::RenderBox::paintFillLayers):
1250         (WebCore::RenderBox::paintFillLayer):
1251         * rendering/RenderBox.h:
1252         * rendering/RenderBoxModelObject.cpp:
1253         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1254         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1255         * rendering/RenderBoxModelObject.h:
1256         * rendering/RenderCounter.cpp:
1257         (WebCore::nextInPreOrder):
1258         (WebCore::planCounter):
1259         (WebCore::makeCounterNode):
1260         (WebCore::RenderCounter::originalText):
1261         * rendering/RenderElement.cpp:
1262         (WebCore::RenderElement::~RenderElement):
1263         (WebCore::RenderElement::insertChildInternal):
1264         (WebCore::RenderElement::removeChildInternal):
1265         (WebCore::RenderElement::willBeDestroyed):
1266         (WebCore::RenderElement::rendererForRootBackground):
1267         * rendering/RenderImageResource.cpp:
1268         (WebCore::RenderImageResource::initialize):
1269         * rendering/RenderImageResource.h:
1270         * rendering/RenderImageResourceStyleImage.cpp:
1271         (WebCore::RenderImageResourceStyleImage::initialize):
1272         * rendering/RenderImageResourceStyleImage.h:
1273         (WebCore::RenderImageResourceStyleImage::create):
1274         * rendering/RenderLayerCompositor.cpp:
1275         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
1276         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
1277         (WebCore::RenderLayerCompositor::canBeComposited):
1278         (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
1279         (WebCore::RenderLayerCompositor::reasonsForCompositing):
1280         (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
1281         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
1282         (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
1283         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
1284         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
1285         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
1286         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
1287         (WebCore::RenderLayerCompositor::requiresCompositingForFilters):
1288         (WebCore::RenderLayerCompositor::requiresCompositingForBlending):
1289         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
1290         (WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
1291         * rendering/RenderLayerCompositor.h:
1292         * rendering/RenderObject.cpp:
1293         (WebCore::RenderObject::containingBlock):
1294         (WebCore::mustRepaintFillLayers):
1295         (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered):
1296         (WebCore::RenderObject::willBeDestroyed):
1297         * rendering/RenderScrollbarPart.cpp:
1298         (WebCore::RenderScrollbarPart::rendererOwningScrollbar):
1299         * rendering/RenderScrollbarPart.h:
1300         * rendering/RenderTableCell.cpp:
1301         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
1302         * rendering/RenderTableCell.h:
1303         * rendering/RenderView.cpp:
1304         (WebCore::RenderView::RenderView):
1305         * rendering/style/FillLayer.cpp:
1306         (WebCore::FillLayer::hasOpaqueImage):
1307         * rendering/style/FillLayer.h:
1308         * rendering/style/KeyframeList.h:
1309         (WebCore::KeyframeList::KeyframeList):
1310         * rendering/style/StyleCachedImage.cpp:
1311         (WebCore::StyleCachedImage::imageSize):
1312         (WebCore::StyleCachedImage::computeIntrinsicDimensions):
1313         (WebCore::StyleCachedImage::setContainerSizeForRenderer):
1314         (WebCore::StyleCachedImage::addClient):
1315         (WebCore::StyleCachedImage::removeClient):
1316         (WebCore::StyleCachedImage::image):
1317         (WebCore::StyleCachedImage::knownToBeOpaque):
1318         * rendering/style/StyleCachedImage.h:
1319         * rendering/style/StyleCachedImageSet.cpp:
1320         (WebCore::StyleCachedImageSet::imageSize):
1321         (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
1322         (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
1323         (WebCore::StyleCachedImageSet::addClient):
1324         (WebCore::StyleCachedImageSet::removeClient):
1325         (WebCore::StyleCachedImageSet::image):
1326         (WebCore::StyleCachedImageSet::knownToBeOpaque):
1327         * rendering/style/StyleCachedImageSet.h:
1328         * rendering/style/StyleGeneratedImage.cpp:
1329         (WebCore::StyleGeneratedImage::imageSize):
1330         (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
1331         (WebCore::StyleGeneratedImage::addClient):
1332         (WebCore::StyleGeneratedImage::removeClient):
1333         (WebCore::StyleGeneratedImage::image):
1334         (WebCore::StyleGeneratedImage::knownToBeOpaque):
1335         * rendering/style/StyleGeneratedImage.h:
1336         * rendering/style/StyleImage.h:
1337         (WebCore::StyleImage::imagesEquivalent):
1338         * rendering/style/StylePendingImage.h:
1339         (WebCore::StylePendingImage::cssImageValue):
1340         (WebCore::StylePendingImage::cssImageGeneratorValue):
1341         (WebCore::StylePendingImage::cssCursorImageValue):
1342         (WebCore::StylePendingImage::cssImageSetValue):
1343         (WebCore::StylePendingImage::computeIntrinsicDimensions):
1344         * testing/Internals.cpp:
1345         (WebCore::Internals::boundingBox):
1346         (WebCore::Internals::isSelectPopupVisible):
1347         (WebCore::Internals::isPluginUnavailabilityIndicatorObscured):
1348         Use RenderElement instead of RenderObject where it was easy to do so.
1349         For local variables holding the return value of renderer() functions,
1350         use auto instead, so the most-specific possible type will be used,
1351         without having to figure out what that is in each case. Also use some
1352         more OVERRIDE and FINAL and use nullptr instead of 0. And replace some
1353         cryptic short local variable names with words.
1354
1355 2013-09-29  Philip Rogers  <pdr@google.com>
1356
1357         Repaint borders and outlines on pseudo content changes
1358         https://bugs.webkit.org/show_bug.cgi?id=122070
1359
1360         Reviewed by Andreas Kling.
1361
1362         This patch fixes a regression from wkrev.com/150259 where pseudo content with
1363         borders or outlines would fail to repaint if the color property changed.
1364         The root bug is that border-color and outline-color properties use 'color' if
1365         no explicit border-color or outline-color are given, and changing color should
1366         repaint borders and outlines even if the text content is empty.
1367
1368         Relevant spec sections:
1369         border: http://www.w3.org/TR/CSS1/#border-color
1370         outline: http://www.w3.org/TR/CSS2/ui.html#propdef-outline-color
1371
1372         This patch also renames StyleDifferenceRepaintIfText to
1373         StyleDifferenceRepaintIfTextOrBorderOrOutline and updates the relevant functions.
1374
1375         Test: fast/repaint/hover-pseudo-borders.html
1376
1377         * rendering/RenderElement.cpp:
1378         (WebCore::RenderElement::hasImmediateNonWhitespaceTextChildOrBorderOrOutline):
1379
1380             This function has been renamed to reflect that it returns true for borders
1381             or outlines as well.
1382
1383         (WebCore::RenderElement::shouldRepaintForStyleDifference):
1384         * rendering/RenderElement.h:
1385         * rendering/style/RenderStyle.cpp:
1386         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
1387         (WebCore::RenderStyle::diff):
1388         * rendering/style/RenderStyle.h:
1389         * rendering/style/RenderStyleConstants.h:
1390         * rendering/svg/SVGResourcesCache.cpp:
1391         (WebCore::SVGResourcesCache::clientStyleChanged):
1392             These have also been renamed to reflect the new borders and outlines check.
1393
1394 2013-09-29  Antti Koivisto  <antti@apple.com>
1395
1396         Tighten typing in inline rendering
1397         https://bugs.webkit.org/show_bug.cgi?id=122076
1398
1399         Reviewed by Andreas Kling.
1400         
1401         More RenderElement, const, &, etc.
1402
1403         * dom/Position.cpp:
1404         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1405         * rendering/InlineFlowBox.cpp:
1406         (WebCore::isLastChildForRenderer):
1407         (WebCore::isAncestorAndWithinBlock):
1408         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1409         (WebCore::InlineFlowBox::nodeAtPoint):
1410         * rendering/InlineIterator.h:
1411         (WebCore::InlineIterator::InlineIterator):
1412         (WebCore::InlineIterator::root):
1413         (WebCore::isEmptyInline):
1414         (WebCore::bidiNextShared):
1415         (WebCore::bidiNextSkippingEmptyInlines):
1416         (WebCore::bidiNextIncludingEmptyInlines):
1417         (WebCore::bidiFirstSkippingEmptyInlines):
1418         * rendering/RenderBlockLineLayout.cpp:
1419         (WebCore::inlineLogicalWidth):
1420         (WebCore::alwaysRequiresLineBox):
1421         (WebCore::requiresLineBox):
1422         (WebCore::canBreakAtThisPosition):
1423         (WebCore::LineBreaker::nextSegmentBreak):
1424         * rendering/shapes/ShapeInsideInfo.h:
1425         (WebCore::LineSegmentIterator::LineSegmentIterator):
1426
1427 2013-09-28  Sam Weinig  <sam@webkit.org>
1428
1429         Merge ScriptControllerBase into ScriptController
1430         https://bugs.webkit.org/show_bug.cgi?id=122071
1431
1432         Reviewed by Antti Koivisto.
1433
1434         There is no need for ScriptControllerBase. Remove it.
1435
1436         * CMakeLists.txt:
1437         * GNUmakefile.list.am:
1438         * Target.pri:
1439         * WebCore.vcxproj/WebCore.vcxproj:
1440         * WebCore.vcxproj/WebCore.vcxproj.filters:
1441         * WebCore.xcodeproj/project.pbxproj:
1442         * bindings/ScriptControllerBase.cpp: Removed.
1443         * bindings/ScriptControllerBase.h: Removed.
1444         * bindings/js/ScriptController.cpp:
1445         (WebCore::ScriptController::canExecuteScripts):
1446         (WebCore::ScriptController::executeScript):
1447         (WebCore::ScriptController::executeIfJavaScriptURL):
1448         * bindings/js/ScriptController.h:
1449
1450 2013-09-28  Zan Dobersek  <zdobersek@igalia.com>
1451
1452         Unreviewed build fix after r156613 for ports enabling CSS3_TEXT.
1453
1454         * rendering/RenderBlockLineLayout.cpp:
1455         (WebCore::requiresIndent): Use the RenderStyle reference.
1456
1457 2013-09-28  Antti Koivisto  <antti@apple.com>
1458
1459         Switch inline boxes to use const RenderStyle&
1460         https://bugs.webkit.org/show_bug.cgi?id=122068
1461
1462         Reviewed by Sam Weinig.
1463
1464 2013-09-28  Antti Koivisto  <antti@apple.com>
1465
1466         Add first()/last() to ElementIteratorAdapters
1467         https://bugs.webkit.org/show_bug.cgi?id=122067
1468
1469         Reviewed by Darin Adler.
1470
1471         Add a convenient way for getting the first and last element if it exists.
1472         
1473         Use it in some places.
1474
1475         * accessibility/AccessibilityNodeObject.cpp:
1476         (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
1477         * css/CSSFontFaceSource.cpp:
1478         (WebCore::CSSFontFaceSource::getFontData):
1479         * dom/Document.cpp:
1480         (WebCore::Document::childrenChanged):
1481         (WebCore::Document::removeTitle):
1482         * dom/ElementChildIterator.h:
1483         (WebCore::::first):
1484         (WebCore::::last):
1485         * dom/ElementDescendantIterator.h:
1486         (WebCore::::first):
1487         (WebCore::::last):
1488         * html/HTMLFieldSetElement.cpp:
1489         (WebCore::HTMLFieldSetElement::legend):
1490         * html/HTMLLegendElement.cpp:
1491         (WebCore::HTMLLegendElement::associatedControl):
1492         * html/HTMLMediaElement.cpp:
1493         (WebCore::HTMLMediaElement::finishParsingChildren):
1494         (WebCore::HTMLMediaElement::selectMediaResource):
1495         * svg/SVGElement.cpp:
1496         (WebCore::SVGElement::title):
1497         * svg/SVGFontFaceElement.cpp:
1498         (WebCore::SVGFontFaceElement::rebuildFontFace):
1499         * svg/graphics/SVGImage.cpp:
1500         (WebCore::SVGImage::hasSingleSecurityOrigin):
1501
1502 2013-09-28  Mark Rowe  <mrowe@apple.com>
1503
1504         Fix some failures with newer versions of clang.
1505
1506         Some CoreGraphics headers generate warnings under newer versions of clang. Since they're system headers the warnings would
1507         usually be suppressed, but we're adding the frameworks to the non-system framework search path so they're no longer treated
1508         as system headers. We address this by removing the system paths from FRAMEWORK_SEARCH_PATHS and using the -iframework compiler
1509         flag in OTHER_CFLAGS to add the paths to the system framework search path. We have to set OTHER_CFLAGS at the target level
1510         in order for it to coexist with the ASAN-related OTHER_CFLAGS that's set in DebugRelease.xcconfig.
1511
1512         Reviewed by Dan Bernstein.
1513
1514         * Configurations/WebCore.xcconfig:
1515
1516 2013-09-28  Mark Rowe  <mrowe@apple.com>
1517
1518         Take Xcode's advice and enable some extra warnings.
1519
1520         Reviewed by Sam Weinig.
1521
1522         * Configurations/Base.xcconfig:
1523         * WebCore.xcodeproj/project.pbxproj:
1524         * dom/NamedNodeMap.cpp:
1525         (WebCore::NamedNodeMap::removeNamedItemNS): Use the correct constant.
1526
1527 2013-09-28  Sam Weinig  <sam@webkit.org>
1528
1529         CTTE: VisitedLinkState should hold a Document&
1530         https://bugs.webkit.org/show_bug.cgi?id=122066
1531
1532         Reviewed by Antti Koivisto.
1533
1534         The Document can never be null, so use a reference.
1535
1536 2013-09-27  Antti Koivisto  <antti@apple.com>
1537
1538         Clean up code for getting first line style
1539         https://bugs.webkit.org/show_bug.cgi?id=122037
1540
1541         Reviewed by Andreas Kling.
1542
1543         We have confusing RenderObject::style(bool firstLine). Get rid of it in favour of 
1544         just using RenderObject::firstLineStyle() where appropriate.
1545         
1546         Also switch to RenderStyle references in many places and move first line style caching
1547         code down to RenderElement.
1548
1549 2013-09-28  Darin Adler  <darin@apple.com>
1550
1551         Add Frame::mainFrame and Frame::isMainFrame
1552         https://bugs.webkit.org/show_bug.cgi?id=122064
1553
1554         Reviewed by Andreas Kling.
1555
1556         * WebCore.exp.in: Removed exports of FrameView::isMainFrameView and
1557         Page::frameIsMainFrame. Since the new isMainFrame function is inline, it
1558         does not need to be exported.
1559
1560         * history/PageCache.cpp:
1561         (WebCore::PageCache::markPagesForFullStyleRecalc):
1562         (WebCore::PageCache::markPagesForDeviceScaleChanged):
1563         These two were the only functions I found that really wanted the equivalent
1564         of Page::frameIsMainFrame, so wrote it out here instead of using a function
1565         call.
1566
1567         * inspector/InspectorAgent.cpp: Removed the unused isMainResourceLoader function.
1568         * inspector/InspectorAgent.h: Removed declarations of a few nonexistent or
1569         unused private member functions. Also removed the InjectedScriptForOriginMap
1570         typedef: It's mor readable to use the type directly
1571
1572         * loader/FrameLoader.h: Removed isLoadingMainFrame. It's not better than
1573         calling frame().isMainFrame() directly.
1574
1575         * page/Frame.cpp:
1576         (WebCore::Frame::Frame): Initialize m_mainFrame and call selfOnlyRef, keeping
1577         the MainFrame alive as long as any of its subframes is alive.
1578         (WebCore::Frame::~Frame): Call selfOnlyDeref.
1579         (WebCore::Frame::createView): Use isMainFrame.
1580         (WebCore::Frame::setPageAndTextZoomFactors): Ditto.
1581
1582         * page/Frame.h: Added Frame::mainFrame, Frame::isMainFrame, and Frame::m_mainFrame.
1583
1584         * page/FrameView.h: Removed the isMainFrameView function. It's not better than
1585         calling frame().isMainFrame() directly.
1586
1587         * page/MainFrame.cpp:
1588         (WebCore::MainFrame::MainFrame): Initialize m_selfOnlyRefCount to 0.
1589         (WebCore::MainFrame::selfOnlyRef): Added.
1590         (WebCore::MainFrame::selfOnlyDeref): Added.
1591         (WebCore::MainFrame::dropChildren): Added. Called when the self-only reference
1592         count reaches 0 to avoid a reference cycle with subframes.
1593
1594         * page/MainFrame.h: Added new data members as mentioned above. Also, the
1595         definition of the Frame::isMainFrame inline function goes here, since it can't
1596         compile without the MainFrame class definition. This means that callers of
1597         isMainFrame need to include MainFrame.h, which seems reasonable and is easy
1598         to do.
1599
1600         * page/Page.cpp:
1601         * page/Page.h: Added assertion to Page::mainFrame since it returns a reference.
1602         Removed Page::frameIsMainFrame since it's not better than calling isMainFrame
1603         on the frame.
1604
1605         * dom/Document.cpp:
1606         (WebCore::Document::setVisualUpdatesAllowed):
1607         (WebCore::Document::didBecomeCurrentDocumentInFrame):
1608         (WebCore::Document::updateViewportArguments):
1609         (WebCore::Document::setInPageCache):
1610         (WebCore::Document::ensurePlugInsInjectedScript):
1611         * history/CachedFrame.cpp:
1612         (WebCore::CachedFrame::CachedFrame):
1613         * history/CachedPage.cpp:
1614         (WebCore::CachedPage::restore):
1615         * html/HTMLPlugInImageElement.cpp:
1616         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
1617         * html/ImageDocument.cpp:
1618         (WebCore::ImageDocument::shouldShrinkToFit):
1619         * inspector/InspectorController.cpp:
1620         (WebCore::InspectorController::didClearWindowObjectInWorld):
1621         * inspector/InspectorInstrumentation.cpp:
1622         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1623         * inspector/InspectorPageAgent.cpp:
1624         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
1625         (WebCore::InspectorPageAgent::frameNavigated):
1626         * loader/DocumentLoader.cpp:
1627         (WebCore::DocumentLoader::willSendRequest):
1628         * loader/FrameLoader.cpp:
1629         (WebCore::FrameLoader::transitionToCommitted):
1630         (WebCore::FrameLoader::prepareForCachedPageRestore):
1631         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1632         (WebCore::FrameLoader::didLayout):
1633         (WebCore::FrameLoader::checkLoadComplete):
1634         (WebCore::FrameLoader::addExtraFieldsToRequest):
1635         (WebCore::FrameLoader::loadResourceSynchronously):
1636         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1637         (WebCore::FrameLoader::dispatchDidCommitLoad):
1638         (WebCore::FrameLoader::loadProgressingStatusChanged):
1639         * loader/HistoryController.cpp:
1640         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
1641         (WebCore::HistoryController::restoreScrollPositionAndViewState):
1642         (WebCore::HistoryController::updateForCommit):
1643         (WebCore::HistoryController::updateForSameDocumentNavigation):
1644         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
1645         (WebCore::HistoryController::pushState):
1646         * loader/icon/IconController.cpp:
1647         (WebCore::IconController::startLoader):
1648         * page/AutoscrollController.cpp:
1649         (WebCore::AutoscrollController::stopAutoscrollTimer):
1650         * page/ContextMenuController.cpp:
1651         (WebCore::ContextMenuController::populate):
1652         * page/DOMWindow.cpp:
1653         (WebCore::allowsBeforeUnloadListeners):
1654         (WebCore::DOMWindow::focus):
1655         (WebCore::DOMWindow::blur):
1656         (WebCore::DOMWindow::close):
1657         (WebCore::DOMWindow::allowedToChangeWindowGeometry):
1658         * page/EventHandler.cpp:
1659         (WebCore::EventHandler::hitTestResultAtPoint):
1660         (WebCore::EventHandler::selectCursor):
1661         (WebCore::EventHandler::handleMousePressEvent):
1662         (WebCore::EventHandler::keyEvent):
1663         * page/FrameTree.cpp:
1664         (WebCore::FrameTree::find):
1665         (WebCore::FrameTree::traverseNextWithWrap):
1666         * page/FrameView.cpp:
1667         (WebCore::FrameView::FrameView):
1668         (WebCore::FrameView::setFrameRect):
1669         (WebCore::FrameView::createScrollbar):
1670         (WebCore::FrameView::applyOverflowToViewport):
1671         (WebCore::FrameView::setHeaderHeight):
1672         (WebCore::FrameView::setFooterHeight):
1673         (WebCore::FrameView::minimumScrollPosition):
1674         (WebCore::FrameView::maximumScrollPosition):
1675         (WebCore::FrameView::shouldUpdateFixedElementsAfterScrolling):
1676         (WebCore::FrameView::beginDeferredRepaints):
1677         (WebCore::FrameView::endDeferredRepaints):
1678         (WebCore::FrameView::performPostLayoutTasks):
1679         (WebCore::FrameView::sendResizeEventIfNeeded):
1680         (WebCore::FrameView::pagination):
1681         (WebCore::FrameView::visibleContentScaleFactor):
1682         (WebCore::FrameView::setVisibleScrollerThumbRect):
1683         (WebCore::FrameView::scrollbarStyleChanged):
1684         (WebCore::FrameView::paintScrollCorner):
1685         (WebCore::FrameView::paintScrollbar):
1686         (WebCore::FrameView::paintOverhangAreas):
1687         * page/scrolling/ScrollingCoordinator.cpp:
1688         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
1689         * rendering/RenderLayerBacking.cpp:
1690         (WebCore::RenderLayerBacking::RenderLayerBacking):
1691         Use the new functions where possible instead of Page::frameIsMainFrame,
1692         Page::mainFrame, FrameLoader::isLoadingMainFrame, and FrameView::isMainFrameView.
1693
1694 2013-09-28  Gurpreet Kaur  <k.gurpreet@samsung.com>
1695
1696         filter: drop-shadow doesnot support viewport units
1697         https://bugs.webkit.org/show_bug.cgi?id=122053
1698
1699         Reviewed by Darin Adler.
1700
1701         drop-shadow properties were not applied incase its values
1702         were given in vh, vw, vmax, vmin units.
1703
1704         Tests: fast/css/drop-shadow-viewport-height.html
1705                fast/css/drop-shadow-viewport-vmax.html
1706                fast/css/drop-shadow-viewport-vmin.html
1707                fast/css/drop-shadow-viewport-width.html
1708
1709         * css/StyleResolver.cpp:
1710         (WebCore::StyleResolver::createFilterOperations):
1711         Calculating the drop-shadow values which has been specified in viewport
1712         units.The vh/vw units are calcultated as percent of viewport height and
1713         viewport width respectively. 1vmax: 1vw or 1vh, whatever is largest.
1714         1vmin: 1vw or 1vh, whatever is smallest.
1715
1716 2013-09-28  Gurpreet Kaur  <k.gurpreet@samsung.com>
1717
1718         REGRESSION (r154614): Setting the document scroll position isn't symmetric; can successfully set document.body.scrollTop, but can only read from document.documentElement.scrollTop
1719         https://bugs.webkit.org/show_bug.cgi?id=121876
1720
1721         Reviewed by Darin Adler.
1722
1723         Non-Quirks mode should set/get scrolltop/scrollleft through
1724         document.documentElement.scrollTop/document.documentElement.scrollLeft
1725         Quirks mode should set/get scrolltop/scrollleft through
1726         document.body.scrollTop/document.body.scrollLeft.
1727
1728         Tests: fast/dom/Element/body-scrollLeft-Quirks.html
1729                fast/dom/Element/body-scrollLeft.html
1730                fast/dom/Element/body-scrollTop-Quirks.html
1731                fast/dom/Element/body-scrollTop.html
1732                fast/dom/Element/documentElement-scrollLeft-Quirks.html
1733                fast/dom/Element/documentElement-scrollLeft.html
1734                fast/dom/Element/documentElement-scrollTop-Quirks.html
1735                fast/dom/Element/documentElement-scrollTop.html
1736
1737         * dom/Element.cpp:
1738         (WebCore::Element::setScrollLeft):
1739         (WebCore::Element::setScrollTop):
1740         * html/HTMLBodyElement.cpp:
1741         (WebCore::HTMLBodyElement::setScrollLeft):
1742         (WebCore::HTMLBodyElement::setScrollTop):
1743         Need to set the scrollTop and scrollLeft after checking if document
1744         is in quirks or non-quirks mode. Incase it is body.scrollLeft/
1745         body.scrollTop set only if document is in quirks mode. If document is
1746         non-quirks mode set documentElement.scrollLeft/documentElement.scrollTop.
1747
1748 2013-09-28  Andreas Kling  <akling@apple.com>
1749
1750         Pass VM instead of ExecState to JSFunction constructors.
1751         <https://webkit.org/b/122014>
1752
1753         Reviewed by Geoffrey Garen.
1754
1755         Updated for new JSFunction::create() signature.
1756
1757 2013-09-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1758
1759         Generate toCSSFooValue() for CSSImageValue 
1760         https://bugs.webkit.org/show_bug.cgi?id=122051
1761
1762         Reviewed by Andreas Kling.
1763
1764         Clean up static_cast<CSSImageValue*> type casts. It will help to
1765         detect bad cast as well as improve code readability.
1766
1767         Removed unnecessary local variables as well.
1768
1769         No new tests, no behavior changes.
1770
1771         * css/CSSCrossfadeValue.cpp:
1772         (WebCore::subimageKnownToBeOpaque):
1773         * css/CSSCursorImageValue.cpp:
1774         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
1775         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
1776         (WebCore::CSSCursorImageValue::cachedImage):
1777         (WebCore::CSSCursorImageValue::isSVGCursor):
1778         * css/CSSImageGeneratorValue.cpp:
1779         (WebCore::CSSImageGeneratorValue::subimageIsPending):
1780         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
1781         * css/CSSImageSetValue.cpp:
1782         (WebCore::CSSImageSetValue::fillImageSet):
1783         * css/CSSImageValue.h:
1784         * css/CSSValue.cpp:
1785         (WebCore::CSSValue::destroy):
1786         * css/StyleResolver.cpp:
1787         (WebCore::StyleResolver::applyProperty):
1788         (WebCore::StyleResolver::styleImage):
1789         * page/PageSerializer.cpp:
1790         (WebCore::PageSerializer::retrieveResourcesForProperties):
1791         * rendering/style/StylePendingImage.h:
1792         (WebCore::StylePendingImage::data):
1793         (WebCore::StylePendingImage::cssImageValue):
1794
1795 2013-09-28  Mark Rowe  <mrowe@apple.com>
1796
1797         WebCore fails to build with newer versions of clang.
1798
1799         Reviewed by Sam Weinig.
1800
1801         * Modules/indexeddb/IDBIndex.cpp: Remove an unused constant.
1802         * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
1803         * Modules/webaudio/AudioContext.cpp: Ditto.
1804         * Modules/webaudio/ScriptProcessorNode.cpp: Ditto.
1805         * Modules/webdatabase/SQLResultSet.cpp: Ditto.
1806         * Modules/webdatabase/SQLTransactionBackend.cpp: Ditto.
1807         * Modules/websockets/WebSocketHandshake.cpp: Ditto.
1808         * bindings/objc/DOM.mm: Disable a warning about overriding a protocol method in a cateogry around the one
1809         place we do it. I don't understand why this generates a warning, nor can I see a different approach that
1810         would not result in the warning being emitted.
1811         * css/CSSGrammar.y.in: #if a function that's only used inside an #if.
1812         * html/track/TextTrackCue.cpp: Remove an unused constant.
1813         * loader/TextResourceDecoder.cpp: Remove two unused functions.
1814         * page/ContentSecurityPolicy.cpp: Add #if's around constants and functions that are only used when CSP_NEXT is enabled.
1815         (WebCore::CSPDirectiveList::checkSourceAndReportViolation): Reorder the ifs slightly to make the #if'ing easier.
1816         * page/ContentSecurityPolicy.h: Add #if's around functions that are only used when CSP_NEXT is enabled.
1817         * page/DOMSecurityPolicy.cpp: Ditto.
1818         * page/DOMSecurityPolicy.h: Ditto.
1819         * page/animation/CSSPropertyAnimation.cpp: Remove an unused function.
1820         * platform/mac/DisplaySleepDisabler.cpp: Add an #if around a constant that's only used on iOS.
1821         * platform/mac/WebCoreFullScreenWarningView.mm: Remove three unused constants.
1822         * rendering/RenderLayer.cpp: Remove two unused constants.
1823         * rendering/RenderLayerCompositor.cpp:
1824         (WebCore::compositingLogEnabled): Move the #if around the function definition.
1825         * svg/SVGAnimatedAngle.cpp: Remove an unused function.
1826         * svg/SVGUseElement.cpp: #if a function that's only used inside an ASSERT.
1827         * xml/XPathStep.cpp: Ditto.
1828
1829 2013-09-27  Brady Eidson  <beidson@apple.com>
1830
1831         IndexedDB IDL Refactoring.
1832         https://bugs.webkit.org/show_bug.cgi?id=121996
1833
1834         Reviewed by Alexey Proskuryakov.
1835
1836         This includes:
1837         1 - Leveraging EventTarget.idl inheritance
1838         2 - Removing comments
1839         3 - Reordering to match the spec's IDLs
1840         4 - Removing nonstandard, WebKit-specific methods
1841         5 - Updating interfaces to match the spec (versions are only uint64_t's now...)
1842         6 - Updating implementation code as needed (versions are only uint64_t's now...)
1843
1844         IDL changes:
1845         * Modules/indexeddb/IDBCursor.idl:
1846         * Modules/indexeddb/IDBDatabase.idl:
1847         * Modules/indexeddb/IDBFactory.idl:
1848         * Modules/indexeddb/IDBIndex.idl:
1849         * Modules/indexeddb/IDBKeyRange.idl:
1850         * Modules/indexeddb/IDBObjectStore.idl:
1851         * Modules/indexeddb/IDBRequest.idl:
1852         * Modules/indexeddb/IDBTransaction.idl:
1853         * Modules/indexeddb/IDBVersionChangeEvent.idl:
1854
1855         * Modules/indexeddb/IndexedDB.h: Add new enum to represent version nullness.
1856
1857         Adapt to new IDLs, and also refactor representation of initial, null versioning:
1858         * Modules/indexeddb/IDBCallbacks.h:
1859         (WebCore::IDBCallbacks::onBlocked):
1860         (WebCore::IDBCallbacks::onUpgradeNeeded):
1861
1862         * Modules/indexeddb/IDBDatabase.cpp:
1863         (WebCore::IDBDatabase::version):
1864         (WebCore::IDBDatabase::onVersionChange):
1865         * Modules/indexeddb/IDBDatabase.h:
1866
1867         * Modules/indexeddb/IDBDatabaseCallbacks.h:
1868         * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp:
1869         (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
1870         * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
1871
1872         * Modules/indexeddb/IDBFactory.cpp:
1873         (WebCore::IDBFactory::open):
1874         (WebCore::IDBFactory::openInternal):
1875         (WebCore::IDBFactory::deleteDatabase):
1876         * Modules/indexeddb/IDBFactory.h:
1877
1878         * Modules/indexeddb/IDBMetadata.h:
1879         (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
1880
1881         * Modules/indexeddb/IDBOpenDBRequest.cpp:
1882         (WebCore::IDBOpenDBRequest::create):
1883         (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
1884         (WebCore::IDBOpenDBRequest::onBlocked):
1885         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
1886         * Modules/indexeddb/IDBOpenDBRequest.h:
1887
1888         * Modules/indexeddb/IDBRequest.cpp:
1889         * Modules/indexeddb/IDBRequest.h:
1890
1891         * Modules/indexeddb/IDBTransaction.cpp:
1892         * Modules/indexeddb/IDBTransaction.h:
1893
1894         * Modules/indexeddb/IDBVersionChangeEvent.cpp:
1895         (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
1896         * Modules/indexeddb/IDBVersionChangeEvent.h:
1897         (WebCore::IDBVersionChangeEvent::create):
1898         (WebCore::IDBVersionChangeEvent::oldVersion):
1899         (WebCore::IDBVersionChangeEvent::newVersion):
1900
1901         Keep leveldb building with minimal adaptations to the new IDLs,
1902         but note that the LevelDB implementation is now incompatible with the spec:
1903         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1904         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
1905         (WebCore::objectStoreCursorOptions):
1906         (WebCore::indexCursorOptions):
1907
1908         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
1909         (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
1910         (WebCore::IDBDatabaseBackendLevelDB::openInternal):
1911         (WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::perform):
1912         (WebCore::IDBDatabaseBackendLevelDB::processPendingCalls):
1913         (WebCore::IDBDatabaseBackendLevelDB::openConnection):
1914         (WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
1915         (WebCore::IDBDatabaseBackendLevelDB::deleteDatabase):
1916         (WebCore::IDBDatabaseBackendLevelDB::deleteDatabaseFinal):
1917         (WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::perform):
1918
1919         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
1920         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
1921
1922         * inspector/InspectorIndexedDBAgent.cpp: Update for metadata change.
1923
1924 2013-09-27  Enrica Casucci  <enrica@apple.com>
1925
1926         Upstream changes to Pasteboard implementation for iOS.
1927         https://bugs.webkit.org/show_bug.cgi?id=121818
1928
1929         Reviewed by Benjamin Poulain.
1930
1931         * WebCore.exp.in:
1932         * editing/Editor.cpp:
1933         (WebCore::Editor::dispatchCPPEvent):
1934         * editing/ios/EditorIOS.mm:
1935         (WebCore::Editor::WebContentReader::addFragment):
1936         (WebCore::Editor::WebContentReader::readWebArchive):
1937         (WebCore::Editor::WebContentReader::readFilenames):
1938         (WebCore::Editor::WebContentReader::readHTML):
1939         (WebCore::Editor::WebContentReader::readRTFD):
1940         (WebCore::Editor::WebContentReader::readRTF):
1941         (WebCore::uniqueURLWithRelativePart):
1942         (WebCore::Editor::WebContentReader::readImage):
1943         (WebCore::Editor::WebContentReader::readURL):
1944         (WebCore::Editor::WebContentReader::readPlainText):
1945         (WebCore::Editor::webContentFromPasteboard):
1946         (WebCore::Editor::pasteWithPasteboard):
1947         (WebCore::Editor::createFragmentAndAddResources):
1948         (WebCore::Editor::createFragmentForImageResourceAndAddResource):
1949         * platform/Pasteboard.h:
1950         * platform/PasteboardStrategy.h:
1951         * platform/PlatformPasteboard.h:
1952         * platform/ios/PasteboardIOS.mm:
1953         (WebCore::PasteboardWebContent::PasteboardWebContent):
1954         (WebCore::PasteboardWebContent::~PasteboardWebContent):
1955         (WebCore::PasteboardImage::PasteboardImage):
1956         (WebCore::PasteboardImage::~PasteboardImage):
1957         (WebCore::Pasteboard::Pasteboard):
1958         (WebCore::Pasteboard::clear):
1959         (WebCore::Pasteboard::readString):
1960         (WebCore::Pasteboard::writeString):
1961         (WebCore::Pasteboard::types):
1962         * platform/ios/PlatformPasteboardIOS.mm:
1963         (WebCore::PlatformPasteboard::changeCount):
1964         (WebCore::PlatformPasteboard::write):
1965         (WebCore::PlatformPasteboard::count):
1966         (WebCore::PlatformPasteboard::readBuffer):
1967         (WebCore::PlatformPasteboard::readString):
1968         (WebCore::PlatformPasteboard::readURL):
1969         * platform/mac/PasteboardMac.mm:
1970         (WebCore::PasteboardWebContent::PasteboardWebContent):
1971         (WebCore::PasteboardWebContent::~PasteboardWebContent):
1972         (WebCore::PasteboardImage::PasteboardImage):
1973         (WebCore::PasteboardImage::~PasteboardImage):
1974         * platform/mac/PlatformPasteboardMac.mm:
1975
1976 2013-09-27  Hans Muller  <hmuller@adobe.com>
1977
1978         Crash on shape-outside when using calc()
1979         https://bugs.webkit.org/show_bug.cgi?id=121020
1980
1981         Reviewed by Dirk Schulze.
1982
1983         This change prevents a crash caused by specifying a CSS Shape geometry
1984         Length attribute with a calc() expression. It adds support for converting
1985         Lengths to CSSPrimitive Values, in large part by migrating Blink changes
1986         made to the calc classes since the split. Doing so required a few supporting
1987         changes in some related classes, notably CSSPrimitiveValue.
1988
1989         Tests: fast/shapes/shape-inside/shape-inside-calc-crash.html
1990                css3/calc/simplification.html
1991
1992         * css/BasicShapeFunctions.cpp:
1993         (WebCore::convertToCSSPrimitiveValue): Effectively use the new CSSPrimtiveValue(length,style) constructor to convert Lengths to CSSValues.
1994         (WebCore::valueForBasicShape): Use the convertToCSSPrimitiveValue() function.
1995         (WebCore::convertToLength): Added the CalculatedConversion convertToLength() flag to enable support for calc() valued Length Shape attributes.
1996         * css/BasicShapeFunctions.h:
1997         * css/CSSCalculationValue.cpp:
1998         (WebCore::hasDoubleValue):
1999         (WebCore::buildCssText):
2000         (WebCore::CSSCalcValue::clampToPermittedRange):
2001         (WebCore::CSSCalcValue::doubleValue):
2002         (WebCore::CSSCalcExpressionNode::~CSSCalcExpressionNode):
2003         (WebCore::CSSCalcPrimitiveValue::create):
2004         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
2005         (WebCore::CSSCalcPrimitiveValue::doubleValue):
2006         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
2007         (WebCore::CSSCalcPrimitiveValue::primitiveType):
2008         (WebCore::CSSCalcPrimitiveValue::CSSCalcPrimitiveValue):
2009         (WebCore::determineCategory):
2010         (WebCore::isIntegerResult):
2011         (WebCore::CSSCalcBinaryOperation::create):
2012         (WebCore::CSSCalcBinaryOperation::createSimplified):
2013         (WebCore::CSSCalcBinaryOperation::doubleValue):
2014         (WebCore::CSSCalcBinaryOperation::buildCssText):
2015         (WebCore::CSSCalcBinaryOperation::primitiveType):
2016         (WebCore::CSSCalcBinaryOperation::CSSCalcBinaryOperation):
2017         (WebCore::CSSCalcBinaryOperation::getNumberSide):
2018         (WebCore::CSSCalcBinaryOperation::evaluate):
2019         (WebCore::CSSCalcBinaryOperation::evaluateOperator):
2020         (WebCore::CSSCalcExpressionNodeParser::parseValue):
2021         (WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
2022         (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
2023         (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
2024         (WebCore::CSSCalcValue::createExpressionNode):
2025         (WebCore::CSSCalcValue::create):
2026         * css/CSSCalculationValue.h:
2027         (WebCore::CSSCalcExpressionNode::category):
2028         (WebCore::CSSCalcValue::create):
2029         (WebCore::CSSCalcValue::isInt):
2030         (WebCore::CSSCalcValue::permittedValueRange):
2031         (WebCore::CSSCalcValue::expressionNode):
2032         (WebCore::CSSCalcValue::CSSCalcValue):
2033         (WebCore::toCSSCalcValue):
2034         * css/CSSComputedStyleDeclaration.cpp:
2035         (WebCore::ComputedStyleExtractor::propertyValue): Pass the style along to the new valueForBasicShape() function.
2036         * css/CSSPrimitiveValue.cpp:
2037         (WebCore::CSSPrimitiveValue::unitCategory): Made this function public so that CSSCalculationValue could use it.
2038         (WebCore::CSSPrimitiveValue::conversionToCanonicalUnitsScaleFactor): Ditto.
2039         (WebCore::CSSPrimitiveValue::primitiveType): Cleared trailing whitespace.
2040         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Construct a CSSPrimitiveValue from a Length and a RenderStyle*.
2041         (WebCore::CSSPrimitiveValue::init): The common part of the two Length CSSPrimitiveValue constructors.
2042         (WebCore::CSSPrimitiveValue::computeLengthDouble): Moved the case labels to the left per check-webkit-style.
2043         (WebCore::CSSPrimitiveValue::getStringValue): Ditto.
2044         (WebCore::CSSPrimitiveValue::getDoubleValue): Removed trailing whitespace.
2045         * css/CSSPrimitiveValue.h:
2046         (WebCore::CSSPrimitiveValue::create): Construct a CSSPrimitiveValue from a Length and a RenderStyle*.
2047         (WebCore::toCSSPrimitiveValue): Check the CSSValue*'s validity with ASSERT_WITH_SECURITY_IMPLICATION before casting to CSSPrimitiveValue*.
2048         * css/CSSValuePool.h:
2049         (WebCore::CSSValuePool::createValue): A new overload that delegates to the new CSSPrimitiveValue(length,style) constructor.
2050         * platform/CalculationValue.h:
2051         (WebCore::CalculationValue::operator==):
2052         (WebCore::CalculationValue::isNonNegative):
2053         (WebCore::CalculationValue::expression):
2054         (WebCore::CalcExpressionNumber::value):
2055         (WebCore::toCalcExpressionNumber):
2056         (WebCore::CalcExpressionLength::CalcExpressionLength):
2057         (WebCore::CalcExpressionLength::length):
2058         (WebCore::toCalcExpressionLength):
2059         (WebCore::CalcExpressionBinaryOperation::leftSide):
2060         (WebCore::CalcExpressionBinaryOperation::rightSide):
2061         (WebCore::CalcExpressionBinaryOperation::getOperator):
2062         (WebCore::toCalcExpressionBinaryOperation):
2063         (WebCore::CalcExpressionBlendLength::CalcExpressionBlendLength):
2064         (WebCore::CalcExpressionBlendLength::from):
2065         (WebCore::CalcExpressionBlendLength::to):
2066         (WebCore::CalcExpressionBlendLength::progress):
2067         (WebCore::toCalcExpressionBlendLength):
2068
2069 2013-09-27  Andreas Kling  <akling@apple.com>
2070
2071         REGRESSION(r154219): 30% more malloc memory used on html5-full-render.
2072         <https://webkit.org/b/122034>
2073
2074         Reviewed by Antti Koivisto.
2075
2076         canExecuteScripts() used to rely on Frame::settings() returning null
2077         when the Frame was disconnected from its Page, and giving Frame its
2078         own handle on the Settings broke this mechanism.
2079
2080         This caused us to hold on for some objects for a bit longer than we
2081         needed to in the run-perf-tests harness, showing up as a massive 30%
2082         regression in malloc memory use.
2083
2084         Fixed it by added an explicit null check of Frame::page().
2085
2086 2013-09-27  Alexey Proskuryakov  <ap@apple.com>
2087
2088         Updating bindings test results after KURL->URL rename.
2089
2090         Includes were now in the wrong order.
2091
2092         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp:
2093         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp:
2094         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp:
2095         * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp:
2096         * bindings/scripts/test/CPP/WebDOMTestException.cpp:
2097         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
2098         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2099         * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
2100         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2101         * bindings/scripts/test/JS/JSTestException.cpp:
2102         * bindings/scripts/test/JS/JSTestObj.cpp:
2103         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2104         * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm:
2105         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2106         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm:
2107         * bindings/scripts/test/ObjC/DOMTestEventConstructor.mm:
2108         * bindings/scripts/test/ObjC/DOMTestEventTarget.mm:
2109         * bindings/scripts/test/ObjC/DOMTestException.mm:
2110         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
2111         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2112         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
2113
2114 2013-09-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2115
2116         Get MediaStreamCenterGStreamer compiling again
2117         https://bugs.webkit.org/show_bug.cgi?id=122029
2118
2119         After MediaStream cleanup commit, it was not building anymore.
2120
2121         Reviewed by Eric Carlson.
2122
2123         No new tests needed.
2124
2125         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
2126
2127 2013-09-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2128
2129         Storing a reference to MediaStreamTrack in RTCStatsRequest
2130         https://bugs.webkit.org/show_bug.cgi?id=122030
2131
2132         Reviewed by Eric Carlson.
2133
2134         The spec[1] says that the stats is related to a MediaStreamTrack object.
2135         It also says: "Evaluate the need for other selectors than MediaStreamTrack".
2136         So a MediaStreamTrack object is more suitable in this case.
2137
2138         [1]http://dev.w3.org/2011/webrtc/editor/webrtc.html#stats-selector
2139
2140         No new tests needed.
2141
2142         * Modules/mediastream/RTCStatsRequestImpl.cpp:
2143         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
2144         (WebCore::RTCStatsRequestImpl::hasSelector):
2145         (WebCore::RTCStatsRequestImpl::track):
2146         * Modules/mediastream/RTCStatsRequestImpl.h:
2147         * platform/mediastream/RTCStatsRequest.h:
2148
2149 2013-09-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2150
2151         [Nix] Updating Nix trunk files
2152         https://bugs.webkit.org/show_bug.cgi?id=121752
2153
2154         Reviewed by Benjamin Poulain.
2155
2156         No new tests needed.
2157
2158         * page/nix/EventHandlerNix.cpp:
2159         (WebCore::EventHandler::focusDocumentView):
2160         (WebCore::EventHandler::passWheelEventToWidget):
2161         (WebCore::EventHandler::passMousePressEventToSubframe):
2162         (WebCore::EventHandler::passMouseMoveEventToSubframe):
2163         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2164         * platform/DragImage.h:
2165         * platform/graphics/GraphicsContext3D.h:
2166         * platform/nix/DragImageNix.cpp:
2167         (WebCore::createDragImageFromImage):
2168         * platform/nix/GamepadsNix.cpp:
2169         (WebCore::sampleGamepads):
2170         * platform/nix/LanguageNix.cpp:
2171         (WebCore::platformLanguage):
2172         * platform/nix/LocalizedStringsNix.cpp:
2173         (WebCore::unacceptableTLSCertificate):
2174         * platform/nix/PasteboardNix.cpp:
2175         (WebCore::Pasteboard::types):
2176         * platform/nix/RenderThemeNix.cpp:
2177         (WebCore::toColor):
2178         (WebCore::themeEngine):
2179         (WebCore::webCanvas):
2180         (WebCore::getWebThemeState):
2181         (WebCore::RenderThemeNix::paintButton):
2182         (WebCore::RenderThemeNix::paintTextField):
2183         (WebCore::RenderThemeNix::paintCheckbox):
2184         (WebCore::RenderThemeNix::paintRadio):
2185         (WebCore::RenderThemeNix::paintMenuList):
2186         (WebCore::RenderThemeNix::paintProgressBar):
2187         (WebCore::RenderThemeNix::paintInnerSpinButton):
2188         (WebCore::RenderThemeNix::paintMeter):
2189
2190 2013-09-27  Anders Carlsson  <andersca@apple.com>
2191
2192         Use std::unique_ptr for GraphicsLayer creation
2193         https://bugs.webkit.org/show_bug.cgi?id=122020
2194
2195         Reviewed by Antti Koivisto.
2196
2197         * platform/graphics/GraphicsLayer.h:
2198         * platform/graphics/GraphicsLayerFactory.h:
2199         * platform/graphics/ca/GraphicsLayerCA.cpp:
2200         (WebCore::GraphicsLayer::create):
2201         * platform/graphics/ca/GraphicsLayerCA.h:
2202         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
2203         (WebCore::CompositingCoordinator::createGraphicsLayer):
2204         * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
2205         * rendering/RenderLayerBacking.cpp:
2206         (WebCore::RenderLayerBacking::createGraphicsLayer):
2207         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2208         (WebCore::RenderLayerBacking::paintIntoLayer):
2209         * rendering/RenderLayerBacking.h:
2210         (WebCore::RenderLayerBacking::hasScrollingLayer):
2211         * rendering/RenderLayerCompositor.cpp:
2212         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
2213         * rendering/RenderLayerCompositor.h:
2214
2215 2013-09-27  Beth Dakin  <bdakin@apple.com>
2216
2217         ScrollbarPainterController should adopt the api to lock overlay scrollbar state
2218         https://bugs.webkit.org/show_bug.cgi?id=121928
2219
2220         Reviewed by Sam Weinig.
2221
2222         ScrollbarPainterController should adopt the api to lock overlay scrollbar state. 
2223         This will allow the ScrollbarPainterController and ScrollAnimatorMac to have 
2224         control over knowing whether or not the scrollbars are currently active, which 
2225         will allow us to remove a bunch of functions previously implemented in 
2226         ScrollableArea subclasses to answer that question.
2227
2228         ScrollableArea::scrollbarsCanBeActive() is not longer virtual. It used to 
2229         implemented on ScrollableArea subclasses, but now ScrollableArea can just get the 
2230         information from the ScrollAnimator.
2231         * WebCore.exp.in:
2232
2233         When ScrollableArea subclasses implemented scrollbarsCanBeActive(), they would 
2234         check to see if the document was in the page cache. Instead of that model, this 
2235         patch adopts a model where ScrollbarPainterController is told directly whether or 
2236         not it is active via shouldLockOverlayScrollbarsToHidden(bool).
2237         * dom/Document.cpp:
2238         (WebCore::Document::setInPageCache):
2239
2240         setAnimatorsAreActive() is no longer necessary. The functionality can be bundled 
2241         into shouldLockOverlayScrollbarsToHidden(bool).
2242         (WebCore::Document::documentDidResumeFromPageCache):
2243
2244         Remove implementations of scrollbarsCanBeActive(), setAnimatorsAreActive(), and 
2245         scrollbarAnimationsAreSuppressed(). 
2246         * page/FrameView.cpp:
2247         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
2248         * page/FrameView.h:
2249
2250         setShouldSuppressScrollbarAnimations(bool) now calls 
2251         setShouldLockOverlayScrollbars(bool). 
2252         * page/Page.cpp:
2253         (WebCore::Page::setShouldSuppressScrollbarAnimations):
2254         (WebCore::Page::setShouldLockOverlayScrollbars):
2255         * page/Page.h:
2256
2257         setIsActive() is now implemented in the ScrollAnimator instead of ScrollableArea 
2258         subclasses. finishCurrentScrollAnimations() is replaced by 
2259         lockOverlayScrollbarStateToHidden(bool).
2260         * platform/ScrollAnimator.h:
2261         (WebCore::ScrollAnimator::lockOverlayScrollbarStateToHidden):
2262         (WebCore::ScrollAnimator::scrollbarsCanBeActive):
2263
2264         New enum ScrollbarOverlayState.
2265         * platform/ScrollTypes.h:
2266
2267         Go to the animator for both of these functions.
2268         * platform/ScrollableArea.cpp:
2269         (WebCore::ScrollableArea::lockOverlayScrollbarStateToHidden):
2270         (WebCore::ScrollableArea::scrollbarsCanBeActive):
2271         * platform/ScrollableArea.h:
2272         (WebCore::ScrollableArea::setVisibleScrollerThumbRect):
2273
2274         Three new pieces of ScrollbarPainterController api.
2275         * platform/mac/NSScrollerImpDetails.h:
2276
2277         Instead of asking the ScrollableArea if scrollbars can be active, just find out if 
2278         the ScrollbarPaintController has been locked.
2279         * platform/mac/ScrollAnimatorMac.h:
2280         * platform/mac/ScrollAnimatorMac.mm:
2281         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
2282         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2283         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2284         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2285         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2286         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2287         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
2288         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
2289         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2290         (WebCore::ScrollAnimatorMac::contentsResized):
2291         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2292         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2293         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2294         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
2295         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
2296         (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
2297         (WebCore::ScrollAnimatorMac::lockOverlayScrollbarStateToHidden):
2298         (WebCore::ScrollAnimatorMac::scrollbarsCanBeActive):
2299         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
2300         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
2301
2302         Remove implementations of scrollbarsCanBeActive() and 
2303         scrollbarAnimationsAreSuppressed().
2304         * rendering/RenderLayer.cpp:
2305         * rendering/RenderLayer.h:
2306         * rendering/RenderListBox.cpp:
2307         * rendering/RenderListBox.h:
2308
2309 2013-09-27  David Hyatt  <hyatt@apple.com>
2310
2311         Move line grid functionality from RenderBlock into RenderBlockFlow.
2312         https://bugs.webkit.org/show_bug.cgi?id=121502
2313
2314         Reviewed by Dean Jackson.
2315
2316         * rendering/LayoutState.cpp:
2317         (WebCore::LayoutState::LayoutState):
2318         (WebCore::LayoutState::establishLineGrid):
2319         * rendering/LayoutState.h:
2320         (WebCore::LayoutState::lineGrid):
2321         * rendering/RenderBlock.cpp:
2322         (WebCore::RenderBlock::willBeDestroyed):
2323         * rendering/RenderBlock.h:
2324         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
2325         * rendering/RenderBlockFlow.cpp:
2326         (WebCore::RenderBlockFlow::willBeDestroyed):
2327         (WebCore::RenderBlockFlow::layoutLineGridBox):
2328         * rendering/RenderBlockFlow.h:
2329         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
2330         (WebCore::RenderBlockFlow::lineGridBox):
2331         (WebCore::RenderBlockFlow::setLineGridBox):
2332         * rendering/RenderBlockLineLayout.cpp:
2333         * rendering/RootInlineBox.cpp:
2334         (WebCore::RootInlineBox::lineSnapAdjustment):
2335
2336 2013-09-27  Andreas Kling  <akling@apple.com>
2337
2338         Re-indent Settings.h
2339
2340         Rubber-stamped by Anders Carlsson.
2341
2342 2013-09-27  Eric Carlson  <eric.carlson@apple.com>
2343
2344         [MediaStream API] update SourceInfo object to match spec
2345         https://bugs.webkit.org/show_bug.cgi?id=121941
2346
2347         Reviewed by Dean Jackson.
2348
2349         No new tests, existing test updated.
2350
2351         * Modules/mediastream/SourceInfo.cpp:
2352         (WebCore::SourceInfo::kind): Get rid of "none".
2353         * Modules/mediastream/SourceInfo.h:
2354         (WebCore::SourceInfo::sourceId): Renamed from "id".
2355         * Modules/mediastream/SourceInfo.idl:
2356
2357         * platform/mediastream/MediaStreamTrackSourcesRequestClient.h:
2358         (WebCore::TrackSourceInfo::create):
2359         (WebCore::TrackSourceInfo::kind):
2360         (WebCore::TrackSourceInfo::TrackSourceInfo):
2361
2362         * platform/mock/MockMediaStreamCenter.cpp:
2363         (WebCore::MockMediaStreamCenter::getMediaStreamTrackSources): "facing" isn't a part of sourceInfo.
2364             Return a non-NULL ID because a source must always have one.
2365
2366 2013-09-26  Dean Jackson  <dino@apple.com>
2367
2368         Provide 2D Matrix decomposition for animation
2369         https://bugs.webkit.org/show_bug.cgi?id=112824
2370         <rdar://problem/15091882>
2371
2372         Reviewed by Eric Carlson (and Ian Henderson offline).
2373
2374         Implement a new 2d matrix blend, which is triggered
2375         when animating between two affine 3d matrices. This
2376         is intended to be the official algorithm that gets
2377         put into the W3C Transforms specification.
2378
2379         The old code is renamed with a 4 prefix (indicating
2380         it is a blend between 3d matrices using quaternions),
2381         and new methods and structures for 2d blending were added.
2382
2383         I also took the opportunity to clean up a lot of
2384         bad WebKit style.
2385
2386         * platform/graphics/ca/GraphicsLayerCA.cpp:
2387         (WebCore::maxScaleFromTransform): Use 3d decomposition.
2388         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
2389         (WebCore::PerspectiveTransformOperation::blend): Ditto.
2390         * platform/graphics/transforms/RotateTransformOperation.cpp:
2391         (WebCore::RotateTransformOperation::blend): Ditto.
2392
2393         * platform/graphics/transforms/TransformationMatrix.cpp:
2394         (WebCore::decompose2): New method to decompose an affine 3d matrix
2395         into X/Y scale + translate, a rotation angle, plus some extracted
2396         a,b,c,d fields from the affine section.
2397         (WebCore::decompose4): New name for the old function.
2398         (WebCore::TransformationMatrix::blend2): Perform linear interpolation
2399         between two 2d decompositions.
2400         (WebCore::TransformationMatrix::blend4): New name for the old function.
2401         (WebCore::TransformationMatrix::blend): Call blend2 or blend4 depending
2402         on the type of matrix.
2403         (WebCore::TransformationMatrix::decompose2): Calls into the decompose2
2404         method above.
2405         (WebCore::TransformationMatrix::decompose4): New name.
2406         (WebCore::TransformationMatrix::recompose2): Recomposes a 3d matrix from
2407         a 2d decomposition.
2408         (WebCore::TransformationMatrix::recompose4): New name.
2409         * platform/graphics/transforms/TransformationMatrix.h: All the changes
2410         for the new methods above.
2411
2412 2013-09-26  Darin Adler  <darin@apple.com>
2413
2414         rename KURL to URL
2415         https://bugs.webkit.org/show_bug.cgi?id=16214
2416
2417         Reviewed by Andreas Kling.
2418
2419         * many files: Renamed, using script.
2420
2421 2013-09-06  Jer Noble  <jer.noble@apple.com>
2422
2423         [Mac] Implement the media controls in JavaScript.
2424         https://bugs.webkit.org/show_bug.cgi?id=120895
2425
2426         Reviewed by Dean Jackson.
2427
2428         Re-implement the existing MediaControls constellation of classes in JavaScript
2429         and CSS. This will allow different ports to configure their controls without
2430         dependencies on the layout requirements of any other port's controls.
2431
2432         Define and turn on ENABLE_MEDIA_CONTROLS_SCRIPT:
2433         * Configurations/FeatureDefines.xcconfig:
2434
2435         Add new source files to the project:
2436         * DerivedSources.cpp:
2437         * DerivedSources.make:
2438         * WebCore.vcxproj/WebCore.vcxproj:
2439         * WebCore.vcxproj/WebCore.vcxproj.filters:
2440         * WebCore.xcodeproj/project.pbxproj:
2441
2442         Add a new class MediaControlsHost which the script controls can use to
2443         communicate with the HTMLMediaElement without exposing private interfaces
2444         to web facing scripts:
2445         * Modules/mediacontrols/MediaControlsHost.cpp: Added.
2446         (WebCore::MediaControlsHost::automaticKeyword): Static method.
2447         (WebCore::MediaControlsHost::forcedOnlyKeyword): Ditto.
2448         (WebCore::MediaControlsHost::alwaysOnKeyword): Ditto.
2449         (WebCore::MediaControlsHost::create): Simple factory.
2450         (WebCore::MediaControlsHost::MediaControlsHost): Simple constructor.
2451         (WebCore::MediaControlsHost::~MediaControlsHost): Simple destructor.
2452         (WebCore::MediaControlsHost::sortedTrackListForMenu): Pass through to CaptionUserPreferences.
2453         (WebCore::MediaControlsHost::displayNameForTrack): Ditto.
2454         (WebCore::MediaControlsHost::captionMenuOffItem): Pass through to TextTrack.
2455         (WebCore::MediaControlsHost::captionMenuAutomaticItem): Ditto.
2456         (WebCore::MediaControlsHost::captionDisplayMode): Pass through to CaptionUserPreferences.
2457         (WebCore::MediaControlsHost::setSelectedTextTrack): Pass through to HTMLMediaElement.
2458         (WebCore::MediaControlsHost::textTrackContainer): Lazily create a MediaControlTextTrackContainerElement.
2459         (WebCore::MediaControlsHost::updateTextTrackContainer): Pass through to MediaControlTextTrackContainerElement.
2460         * Modules/mediacontrols/MediaControlsHost.h: Added.
2461         * Modules/mediacontrols/MediaControlsHost.idl: Added.
2462         * Modules/mediacontrols/mediaControlsApple.css: Added.
2463
2464         Add convenience methods for adding a MediaControlsHost to a VM.
2465         * bindings/js/ScriptObject.cpp:
2466         (WebCore::ScriptGlobalObject::set):
2467         * bindings/js/ScriptObject.h:
2468
2469         Add the new controller .js implementation:
2470         * Modules/mediacontrols/mediaControlsApple.js: Added.
2471         (createControls): Global method to create a new Controller object.
2472         (Controller): Constructor. Create and configure the default set of controls.
2473         (Controller.prototype.addListeners): Adds event listeners to the this.video object.
2474         (Controller.prototype.removeListeners): Removes listeners from same.
2475         (Controller.prototype.handleEvent): Makes Controller an EventHandler, making registration and
2476                 deregistration simpler.
2477         (Controller.prototype.createBase): Creates the base controls object and the text track container.
2478         (Controller.prototype.createControls): Creates the controls panel object and controller UI.
2479         (Controller.prototype.setControlsType): Switches between Full Screen and Inline style of controller.
2480         (Controller.prototype.disconnectControls): Disconnects all UI elements from the DOM.
2481         (Controller.prototype.configureInlineControls): Configures existing controls for Inline mode.
2482         (Controller.prototype.configureFullScreenControls): Ditto, for Full Screen Mode.
2483
2484         Add listeners for HTMLMediaElement events:
2485         (Controller.prototype.onloadstart): Update the status display.
2486         (Controller.prototype.onerror): Ditto.
2487         (Controller.prototype.onabort): Ditto.
2488         (Controller.prototype.onsuspend): Ditto.
2489         (Controller.prototype.onprogress): Ditto.
2490         (Controller.prototype.onstalled): Ditto.
2491         (Controller.prototype.onwaiting): Ditto.
2492         (Controller.prototype.onreadystatechange): Ditto.
2493         (Controller.prototype.ontimeupdate): Update the timeline and time displays.
2494         (Controller.prototype.ondurationchange): Ditto.
2495         (Controller.prototype.onplaying): Update the play button.
2496         (Controller.prototype.onplay): Ditto.
2497         (Controller.prototype.onpause): Ditto.
2498         (Controller.prototype.onratechange): Ditto.
2499         (Controller.prototype.onvolumechange): Update the volume and mute UI.
2500         (Controller.prototype.ontexttrackchange): Update the text track container and captions button.
2501         (Controller.prototype.ontexttrackadd): Ditto.
2502         (Controller.prototype.ontexttrackremove): Ditto.
2503         (Controller.prototype.ontexttrackcuechange): Ditto.
2504         (Controller.prototype.onfullscreenchange): Reconfigure the controls.
2505
2506         Add listeners for UI element events:
2507         (Controller.prototype.onwrappermousemove): Show the controls and start the hide timer.
2508         (Controller.prototype.onwrappermouseout): Hide the controls and stop the hide timer.
2509         (Controller.prototype.onrewindbuttonclicked): Rewind.
2510         (Controller.prototype.onplaybuttonclicked): Toggle pause.
2511         (Controller.prototype.ontimelinechange): Update the currentTime.
2512         (Controller.prototype.ontimelinedown):
2513         (Controller.prototype.ontimelineup):
2514         (Controller.prototype.ontimelinemouseover): Show the thumbnail view if available.
2515         (Controller.prototype.ontimelinemouseout): Hide same.
2516         (Controller.prototype.ontimelinemousemove): Move the thumbnail view.
2517         (Controller.prototype.onmutebuttonclicked): Mute audio.
2518         (Controller.prototype.onminbuttonclicked): Increase volume to max.
2519         (Controller.prototype.onmaxbuttonclicked): Decrease volume to min.
2520         (Controller.prototype.onvolumesliderchange): Update the current volume.
2521         (Controller.prototype.oncaptionbuttonclicked): Show or hide the track menu.
2522         (Controller.prototype.onfullscreenbuttonclicked): Enter or exit fullscreen.
2523         (Controller.prototype.oncontrolschange): Show or hide the controls panel.
2524         (Controller.prototype.onseekbackmousedown): Start seeking and enable the seek timer.
2525         (Controller.prototype.onseekbackmouseup): Stop seeking and disable the seek timer.
2526         (Controller.prototype.onseekforwardmousedown): Start seekind and enable the seek timer.
2527         (Controller.prototype.onseekforwardmouseup): Stop seekind and disable the seek timer.
2528
2529         Add action methods (which are mostly self explanatory):
2530         (Controller.prototype.updateDuration):
2531         (Controller.prototype.updatePlaying):
2532         (Controller.prototype.showControls): 
2533         (Controller.prototype.hideControls):
2534         (Controller.prototype.removeControls):
2535         (Controller.prototype.addControls):
2536         (Controller.prototype.updateTime):
2537         (Controller.prototype.updateReadyState):
2538         (Controller.prototype.setStatusHidden):        
2539         (Controller.prototype.updateThumbnailTrack):
2540         (Controller.prototype.updateCaptionButton):
2541         (Controller.prototype.updateCaptionContainer):
2542         (Controller.prototype.buildCaptionMenu):
2543         (Controller.prototype.captionItemSelected):
2544         (Controller.prototype.destroyCaptionMenu):
2545         (Controller.prototype.updateVolume):
2546
2547         Add utility methods:
2548         (Controller.prototype.isFullScreen):
2549         (Controller.prototype.canPlay):
2550         (Controller.prototype.nextRate):
2551         (Controller.prototype.seekBackFaster):
2552         (Controller.prototype.seekForwardFaster):
2553         (Controller.prototype.formatTime):
2554         (Controller.prototype.trackHasThumbnails):
2555
2556         Add the stylesheet for the javascript controls (which are mostly) copied from
2557         the (deleted) mediaControlsQuickTime.css and fullscreenQuickTime.css files:
2558         * Modules/mediacontrols/mediaControlsApple.css: Added.
2559         * css/fullscreenQuickTime.css: Removed.
2560         * css/mediaControlsQuickTime.css: Removed.
2561
2562         Inject new stylesheets into UA sheets:
2563         * css/CSSDefaultStyleSheets.cpp:
2564         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
2565
2566         Use the new javascript controls rather than MediaControls:
2567         * html/HTMLMediaElement.cpp:
2568         (WebCore::HTMLMediaElement::childShouldCreateRenderer): Use the javascript controls if available.
2569         (WebCore::HTMLMediaElement::updateTextTrackDisplay): Ditto.
2570         (WebCore::HTMLMediaElement::mediaControls): Ditto.
2571         (WebCore::HTMLMediaElement::hasMediaControls): Ditto.
2572         (WebCore::HTMLMediaElement::createMediaControls): Ditto.
2573         (WebCore::HTMLMediaElement::configureMediaControls): Ditto.
2574         (WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.
2575         (WebCore::HTMLMediaElement::ensureIsolatedWorld): Create a new VM for the controls script.
2576         (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): Inject the media controls script into the VM.
2577         (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Inject the MediaControlsHost into the VM and call
2578                 the scripts global factory function.
2579         * html/HTMLMediaElement.h:
2580
2581         Remove most of the drawing code from RenderThemeMac and RenderThemeWin and
2582         add accessors for the new .js and .css file data:
2583         * rendering/RenderTheme.h:
2584         (WebCore::RenderTheme::mediaControlsStyleSheet): Empty virtual method.
2585         (WebCore::RenderTheme::mediaControlsScript): Ditto.
2586         * rendering/RenderThemeMac.h:
2587         * rendering/RenderThemeMac.mm:
2588         (WebCore::RenderThemeMac::mediaControlsStyleSheet): Add accessor for mediaControlsApple.css.
2589         (WebCore::RenderThemeMac::mediaControlsScript): Add accessor for mediaControlsApple.js.
2590         (WebCore::RenderThemeMac::adjustSliderThumbSize): Remove the call to adjustMediaSliderThumbSize.
2591         * rendering/RenderThemeWin.cpp:
2592         (WebCore::RenderThemeWin::mediaControlsStyleSheet):
2593         (WebCore::RenderThemeWin::mediaControlsScript):
2594         * rendering/RenderThemeWin.h:
2595
2596 2013-09-27  Bem Jones-Bey  <bjonesbe@adobe.com>
2597
2598         [css-shapes] Shapes are not resolved the same way in shape-inside and clip-path
2599         https://bugs.webkit.org/show_bug.cgi?id=121922
2600
2601         Reviewed by Andreas Kling.
2602
2603         Fix computation of a percentage radius for circle shape-outside to
2604         match the CSS Shapes spec.
2605
2606         Test: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-circle-001.html
2607
2608         * rendering/shapes/Shape.cpp:
2609         (WebCore::Shape::createShape):
2610
2611 2013-09-27  Darin Adler  <darin@apple.com>
2612
2613         Add empty MainFrame class
2614         https://bugs.webkit.org/show_bug.cgi?id=121770
2615
2616         Reviewed by Andreas Kling.
2617
2618         For now, MainFrame simply derives from Frame and adds nothing.
2619         Next, we will make each Frame point back to its MainFrame.
2620
2621         * CMakeLists.txt: Added MainFrame.cpp/h.
2622         * GNUmakefile.list.am: Ditto.
2623         * Target.pri: Ditto.
2624         * WebCore.exp.in: Ditto.
2625         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2626         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2627         * WebCore.xcodeproj/project.pbxproj: Ditto.
2628
2629         * page/Frame.cpp:
2630         (WebCore::Frame::Frame): Use references instead of pointers for constructor.
2631         (WebCore::Frame::create): Pass references instead of pointers to constructor.
2632         * page/Frame.h: Made constructor protected instead of private, and marked
2633         destructor virtual explicitly. Also marked virtual functions OVERRIDE and FINAL.
2634
2635         * page/MainFrame.cpp: Added.
2636         * page/MainFrame.h: Added.
2637
2638         * page/Page.cpp:
2639         (WebCore::Page::Page): Use MainFrame::create instead of Frame::create.
2640         (WebCore::Page::frameIsMainFrame): Moved here, no longer inline.
2641         (WebCore::Page::renderTreeSize): Use const Frame* instead of Frame*.
2642         (WebCore::Page::checkSubframeCountConsistency): Ditto.
2643         * page/Page.h: Changed mainFrame() to return MainFrame& and m_mainFrame to
2644         be a RefPtr<MainFrame>.
2645
2646         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2647         * bindings/js/PageScriptDebugServer.cpp:
2648         * bindings/js/ScriptProfiler.cpp:
2649         * bindings/js/ScriptState.cpp:
2650         * css/MediaQueryEvaluator.cpp:
2651         * dom/Document.cpp:
2652         * history/CachedFrame.cpp:
2653         * history/CachedPage.cpp:
2654         * history/PageCache.cpp:
2655         * html/HTMLPlugInImageElement.cpp:
2656         * inspector/InspectorAgent.cpp:
2657         * inspector/InspectorCanvasAgent.cpp:
2658         * inspector/InspectorClient.cpp:
2659         * inspector/InspectorDOMAgent.cpp:
2660         * inspector/InspectorFrontendClientLocal.cpp:
2661         * inspector/InspectorFrontendHost.cpp:
2662         * inspector/InspectorInputAgent.cpp:
2663         * inspector/InspectorInstrumentation.cpp:
2664         * inspector/InspectorOverlay.cpp:
2665         * inspector/InspectorPageAgent.cpp:
2666         * inspector/PageRuntimeAgent.cpp:
2667         * loader/FrameLoader.cpp:
2668         * loader/HistoryController.cpp:
2669         * loader/archive/mhtml/MHTMLArchive.cpp:
2670         * page/AutoscrollController.cpp:
2671         * page/Chrome.cpp:
2672         * page/ContextMenuController.cpp:
2673         * page/DOMWindow.cpp:
2674         * page/DragController.cpp:
2675         * page/EventHandler.cpp:
2676         * page/FocusController.cpp:
2677         * page/FrameTree.cpp:
2678         * page/FrameView.cpp:
2679         * page/GestureTapHighlighter.cpp:
2680         * page/PageGroup.cpp:
2681         * page/PageGroupLoadDeferrer.cpp:
2682         * page/PageSerializer.cpp:
2683         * page/PageThrottler.cpp:
2684         * page/Settings.cpp:
2685         * page/SpatialNavigation.cpp:
2686         * page/mac/DragControllerMac.mm:
2687         * page/mac/PageMac.cpp:
2688         * page/scrolling/ScrollingCoordinator.cpp:
2689         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2690         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
2691         * plugins/DOMMimeType.cpp:
2692         * storage/StorageEventDispatcher.cpp:
2693         * svg/graphics/SVGImage.cpp:
2694         * testing/InternalSettings.cpp:
2695         * testing/Internals.cpp:
2696         Include MainFrame.h instead of Frame.h as needed.
2697
2698 2013-09-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2699
2700         Add toWebKitCSS*Value functions to cast from CSSValue
2701         https://bugs.webkit.org/show_bug.cgi?id=121776
2702
2703         Reviewed by Andreas Kling.
2704
2705         CSS_VALUE_TYPE_CASTS can't cover WebKitCSS*Value classes. So, this patch adds toWebKitCSS*Value manually.
2706
2707         No new tests, no behavior change.
2708
2709         * css/CSSValue.cpp:
2710         (WebCore::CSSValue::destroy):
2711         * css/StyleResolver.cpp:
2712         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2713         (WebCore::StyleResolver::createFilterOperations):
2714         * css/TransformFunctions.cpp:
2715         (WebCore::transformsForValue):
2716         * css/WebKitCSSArrayFunctionValue.h:
2717         (WebCore::toWebKitCSSArrayFunctionValue):
2718         * css/WebKitCSSFilterValue.h:
2719         (WebCore::toWebKitCSSFilterValue):
2720         * css/WebKitCSSMatFunctionValue.h:
2721         (WebCore::toWebKitCSSMatFunctionValue):
2722         * css/WebKitCSSMixFunctionValue.h:
2723         (WebCore::toWebKitCSSMixFunctionValue):
2724         * css/WebKitCSSSVGDocumentValue.h:
2725         (WebCore::toWebKitCSSSVGDocumentValue):
2726         * css/WebKitCSSShaderValue.h:
2727         (WebCore::toWebKitCSSShaderValue):
2728         * css/WebKitCSSTransformValue.h:
2729         (WebCore::toWebKitCSSTransformValue):
2730
2731 2013-09-27  Zalan Bujtas  <zalan@apple.com>
2732
2733         Unexpected word wrapping for wrapped content then raw content.
2734         https://bugs.webkit.org/show_bug.cgi?id=121130
2735
2736         Reviewed by Darin Adler.
2737
2738         When deciding whether a line is considered empty, we need to check if the current
2739         object is fully responsible for the currently uncommitted width. It helps differentiating
2740         <span></span><span>abcd</span> from <span>a</span><span>bcd</span>, where in the first
2741         case when we hit the second <span> the line is still considered empty, as opposed to the
2742         second example.
2743         This patch introduces a map to keep track of the uncommitted widths.
2744
2745         Test: fast/css/unexpected-word-wrapping-with-non-empty-spans.html
2746
2747         * rendering/LineWidth.cpp:
2748         (WebCore::LineWidth::uncommittedWidthForObject):
2749         (WebCore::LineWidth::addUncommittedWidth):
2750         * rendering/LineWidth.h:
2751         * rendering/RenderBlockLineLayout.cpp:
2752         (WebCore::LineBreaker::nextSegmentBreak):
2753
2754 2013-09-27  Mario Sanchez Prada  <mario.prada@samsung.com>
2755
2756         [ATK] Protect entry points in the ATK wrapper against outdated render trees
2757         https://bugs.webkit.org/show_bug.cgi?id=121558
2758
2759         Reviewed by Chris Fleizach.
2760
2761         Make sure that we protect every entry point in the ATK wrapper
2762         against outdated render trees, before using the WebCore's
2763         accessibility API, since that might lead to problems (and crashes)
2764         if the render and accessibility trees are not stable.
2765
2766         Thus, call AccessibilityObject::updateBackingStore() in those
2767         entry points and check whether the ATK wrapper is detached or not
2768         after that, to decide whether to continue or not.
2769
2770         Besides providing a new test to check that it WebKit does not
2771         crash in a given scenario (which actually triggered the
2772         investigation here), solving this situation also fixes other tests
2773         that were previously failing (aria-used-on-image-maps.html) or
2774         that were printing wrong results, not detected until now due to
2775         wrong platform specific expectations (file-upload-button-stringvalue
2776         and deleting-iframe-destroys-axcache).
2777
2778         Test: accessibility/heading-crash-after-hidden.html
2779
2780         * accessibility/atk/WebKitAccessibleUtil.h: Added two new macros
2781         to inject the needed code at the beginning of each entry point to
2782         allow gracefully exit those functions when the render tree is
2783         unstable. Inspired by g_return_if_fail and g_return_val_if_fail, we
2784         called them returnIfWebKitAccessibleIsInvalid and returnValIfWebKitAccessibleIsInvalid.
2785
2786         * accessibility/atk/WebKitAccessibleHyperlink.cpp:
2787         (webkitAccessibleHyperlinkActionDoAction): Protect entry point.
2788         (webkitAccessibleHyperlinkActionGetNActions): Ditto.
2789         (webkitAccessibleHyperlinkActionGetDescription): Ditto.
2790         (webkitAccessibleHyperlinkActionGetKeybinding): Ditto.
2791         (webkitAccessibleHyperlinkActionGetName): Ditto.
2792         (webkitAccessibleHyperlinkGetURI): Ditto.
2793         (webkitAccessibleHyperlinkGetObject): Ditto.
2794         (webkitAccessibleHyperlinkGetStartIndex): Ditto.
2795         (webkitAccessibleHyperlinkGetEndIndex): Ditto.
2796         (webkitAccessibleHyperlinkIsValid): Ditto.
2797         (webkitAccessibleHyperlinkGetNAnchors): Ditto.
2798         (webkitAccessibleHyperlinkIsSelectedLink): Ditto.
2799         * accessibility/atk/WebKitAccessibleInterfaceAction.cpp:
2800         (webkitAccessibleActionDoAction): Ditto.
2801         (webkitAccessibleActionGetNActions): Ditto.
2802         (webkitAccessibleActionGetDescription): Ditto.
2803         (webkitAccessibleActionGetKeybinding): Ditto.
2804         (webkitAccessibleActionGetName): Ditto.
2805         * accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
2806         (webkitAccessibleComponentRefAccessibleAtPoint): Ditto.
2807         (webkitAccessibleComponentGetExtents): Ditto.
2808         (webkitAccessibleComponentGrabFocus): Ditto.
2809         * accessibility/atk/WebKitAccessibleInterfaceDocument.cpp:
2810         (webkitAccessibleDocumentGetAttributeValue): Ditto.
2811         (webkitAccessibleDocumentGetAttributes): Ditto.
2812         (webkitAccessibleDocumentGetLocale): Ditto.
2813         * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
2814         (webkitAccessibleEditableTextSetRunAttributes): Ditto.
2815         (webkitAccessibleEditableTextSetTextContents): Ditto.
2816         (webkitAccessibleEditableTextInsertText): Ditto.
2817         (webkitAccessibleEditableTextCopyText): Ditto.
2818         (webkitAccessibleEditableTextCutText): Ditto.
2819         (webkitAccessibleEditableTextDeleteText): Ditto.
2820         (webkitAccessibleEditableTextPasteText): Ditto.
2821         * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
2822         (webkitAccessibleHypertextGetLink): Ditto.
2823         (webkitAccessibleHypertextGetNLinks): Ditto.
2824         (webkitAccessibleHypertextGetLinkIndex): Ditto.
2825         * accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
2826         (webkitAccessibleImageGetImagePosition): Ditto.
2827         (webkitAccessibleImageGetImageDescription): Ditto.
2828         (webkitAccessibleImageGetImageSize): Ditto.
2829         * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
2830         (webkitAccessibleSelectionAddSelection): Ditto.
2831         (webkitAccessibleSelectionClearSelection): Ditto.
2832         (webkitAccessibleSelectionRefSelection): Ditto.
2833         (webkitAccessibleSelectionGetSelectionCount): Ditto.
2834         (webkitAccessibleSelectionIsChildSelected): Ditto.
2835         (webkitAccessibleSelectionRemoveSelection): Ditto.
2836         (webkitAccessibleSelectionSelectAllSelection): Ditto.
2837         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
2838         (webkitAccessibleTableRefAt): Ditto.
2839         (webkitAccessibleTableGetIndexAt): Ditto.
2840         (webkitAccessibleTableGetColumnAtIndex): Ditto.
2841         (webkitAccessibleTableGetRowAtIndex): Ditto.
2842         (webkitAccessibleTableGetNColumns): Ditto.
2843         (webkitAccessibleTableGetNRows): Ditto.
2844         (webkitAccessibleTableGetColumnExtentAt): Ditto.
2845         (webkitAccessibleTableGetRowExtentAt): Ditto.
2846         (webkitAccessibleTableGetColumnHeader): Ditto.
2847         (webkitAccessibleTableGetRowHeader): Ditto.
2848         (webkitAccessibleTableGetCaption): Ditto.
2849         (webkitAccessibleTableGetColumnDescription): Ditto.
2850         (webkitAccessibleTableGetRowDescription): Ditto.
2851         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2852         (webkitAccessibleTextGetText): Ditto.
2853         (webkitAccessibleTextGetTextAfterOffset): Ditto.
2854         (webkitAccessibleTextGetTextAtOffset): Ditto.
2855         (webkitAccessibleTextGetTextBeforeOffset): Ditto.
2856         (webkitAccessibleTextGetCharacterAtOffset): Ditto.
2857         (webkitAccessibleTextGetCaretOffset): Ditto.
2858         (webkitAccessibleTextGetRunAttributes): Ditto.
2859         (webkitAccessibleTextGetDefaultAttributes): Ditto.
2860         (webkitAccessibleTextGetCharacterExtents): Ditto.
2861         (webkitAccessibleTextGetRangeExtents): Ditto.
2862         (webkitAccessibleTextGetCharacterCount): Ditto.
2863         (webkitAccessibleTextGetOffsetAtPoint): Ditto.
2864         (webkitAccessibleTextGetNSelections): Ditto.
2865         (webkitAccessibleTextGetSelection): Ditto.
2866         (webkitAccessibleTextAddSelection): Ditto.
2867         (webkitAccessibleTextSetSelection): Ditto.
2868         (webkitAccessibleTextRemoveSelection): Ditto.
2869         (webkitAccessibleTextSetCaretOffset): Ditto.
2870         * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
2871         (webkitAccessibleValueGetCurrentValue): Ditto.
2872         (webkitAccessibleValueGetMaximumValue): Ditto.
2873         (webkitAccessibleValueGetMinimumValue): Ditto.
2874         (webkitAccessibleValueSetCurrentValue): Ditto.
2875         (webkitAccessibleValueGetMinimumIncrement): Ditto.
2876         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2877         (core): Removed, as it's not actually needed.
2878         (webkitAccessibleGetName):  Protect entry point.
2879         (webkitAccessibleGetDescription): Ditto.
2880         (webkitAccessibleGetParent): Ditto.
2881         (webkitAccessibleGetNChildren): Ditto.
2882         (webkitAccessibleRefChild): Ditto.
2883         (webkitAccessibleGetIndexInParent): Ditto.
2884         (webkitAccessibleGetAttributes): Ditto.
2885         (webkitAccessibleGetRole): Ditto.
2886         (webkitAccessibleRefStateSet): Ditto.
2887         (webkitAccessibleRefRelationSet): Ditto.
2888         (webkitAccessibleGetObjectLocale): Ditto.
2889         (webkitAccessibleDetach): Ditto.
2890         (webkitAccessibleIsDetached): New helper function, to be used from
2891         the newly added macros. We need to check whether the wrapper is
2892         detached and not just the wrapper AccessibilityObject since once
2893         the detachment happens we can't trust anything but the AtkObject
2894         from the wrapper (the AccessibilityObject might be invalid).
2895         * accessibility/atk/WebKitAccessibleWrapperAtk.h:
2896
2897         Assert that the render tree is neither being updated nor in need
2898         of being updated before trying to compute the text under a given
2899         element, since that might lead to crashes due to the constructor
2900         of TextIterator calling updateLayoutIgnorePendingStylesheets().
2901
2902         * accessibility/AccessibilityNodeObject.cpp:
2903         (WebCore::AccessibilityNodeObject::textUnderElement): Assert that
2904         the render tree is neither being updated nor needing updating.
2905
2906 2013-09-27  Mario Sanchez Prada  <mario.prada@samsung.com>
2907
2908         [ATK] accessibility/aria-sort.html is failing after r156409
2909         https://bugs.webkit.org/show_bug.cgi?id=121947
2910
2911         Reviewed by Chris Fleizach.
2912
2913         The WAI-ARIA spec says to translate the value as is from the
2914         attribute, so do just that instead of mapping values from the
2915         AccessibilitySortDirection enumeration into strings.
2916         http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
2917
2918         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2919         (webkitAccessibleGetAttributes): Do the right mapping for aria-sort.
2920
2921 2013-09-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2922
2923         Sync toWebKitCSSShaderValue() behavior with other toCSSFooValue()
2924         https://bugs.webkit.org/show_bug.cgi?id=121886
2925
2926         Reviewed by Darin Adler.
2927
2928         toWebKitCSSShaderValue() behavior is different from other to CSSFooValue().
2929         It shouldn't return null. The type checking should be done before doing type cast.
2930
2931         * css/StyleResolver.cpp:
2932         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2933         * css/WebKitCSSShaderValue.h:
2934         (WebCore::toWebKitCSSShaderValue):
2935
2936 2013-09-26  Antti Koivisto  <antti@apple.com>
2937
2938         Move m_style to RenderElement
2939         https://bugs.webkit.org/show_bug.cgi?id=121936
2940
2941         Reviewed by Andreas Kling.
2942
2943         Text renderers always have the same style as their parent. They can get their style via the parent pointer
2944         rather than having a member of their own.
2945         
2946         This shrinks RenderText by a pointer.
2947
2948         * dom/PseudoElement.cpp:
2949         (WebCore::PseudoElement::didRecalcStyle):
2950         
2951             Text renderers have no independent style. No need to set it.
2952
2953         * editing/ApplyBlockElementCommand.cpp:
2954         * rendering/RenderBlock.cpp:
2955         (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
2956         
2957             Avoid getting style from text child before it is added to tree.
2958
2959         (WebCore::RenderBlock::updateFirstLetterStyle):
2960         (WebCore::RenderBlock::createFirstLetterRenderer):
2961         * rendering/RenderButton.cpp:
2962         (WebCore::RenderButton::styleDidChange):
2963         (WebCore::RenderButton::setText):
2964         * rendering/RenderCombineText.cpp:
2965         (WebCore::RenderCombineText::styleDidChange):
2966                 
2967             Don't set text style anymore.
2968
2969         * rendering/RenderElement.cpp:
2970         (WebCore::RenderElement::RenderElement):
2971         (WebCore::RenderElement::setStyle):
2972         
2973             Notify child text renderers of style change.
2974
2975         (WebCore::RenderElement::setAnimatableStyle):
2976         (WebCore::RenderElement::setPseudoStyle):
2977         
2978             Push down to RenderElement, remove text branches.
2979
2980         (WebCore::RenderElement::addChild):
2981         
2982             Notify text renderers of style change when added to tree.
2983
2984         (WebCore::RenderElement::propagateStyleToAnonymousChildren):
2985         * rendering/RenderElement.h:
2986         (WebCore::RenderElement::style):
2987         (WebCore::RenderElement::setStyleInternal):
2988         
2989             Move m_style from RenderObject.
2990
2991         (WebCore::RenderObject::style):
2992         
2993             Inline this in RenderElement.h instead of making it virtual.
2994
2995         * rendering/RenderInline.cpp:
2996         (WebCore::updateStyleOfAnonymousBlockContinuations):
2997         (WebCore::RenderInline::styleDidChange):
2998         
2999             Tighten typing to call RenderElement::setStyle.
3000
3001         (WebCore::RenderInline::clippedOverflowRectForRepaint):
3002         
3003             Change assert. This can get legitimately called during layout for the first letter renderers.
3004             This was previously avoided by luck.
3005
3006         * rendering/RenderMenuList.cpp:
3007         (WebCore::RenderMenuList::styleDidChange):
3008         (WebCore::RenderMenuList::setText):
3009         
3010             Don't set text style anymore.
3011
3012         * rendering/RenderObject.cpp:
3013         (WebCore::RenderObject::RenderObject):
3014         (WebCore::RenderObject::containingBlock):
3015         (WebCore::RenderObject::drawLineForBoxSide):
3016         (WebCore::RenderObject::hasEntirelyFixedBackground):
3017         (WebCore::RenderObject::container):
3018         (WebCore::RenderObject::cachedFirstLineStyle):
3019
3020             Switch to style(), avoid unnecessary repetition.
3021             Move code out.
3022
3023         * rendering/RenderObject.h:
3024         
3025             Move functions to RenderElement.
3026
3027         (WebCore::RenderObject::isBeforeContent):
3028         (WebCore::RenderObject::isAfterContent):
3029         
3030             Avoid accessing style for text renderers as these are called before the renderer
3031             is added to tree.
3032
3033         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
3034         * rendering/RenderRegion.cpp:
3035         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
3036         (WebCore::RenderRegion::setObjectStyleInRegion):
3037         * rendering/RenderSearchField.cpp:
3038         (WebCore::RenderSearchField::updateCancelButtonVisibility):
3039         * rendering/RenderText.cpp:
3040         * rendering/RenderText.h:
3041         
3042             Remove setStyle.
3043
3044         (WebCore::RenderText::style):
3045         
3046             Get style from parent.
3047
3048         * rendering/mathml/RenderMathMLOperator.cpp:
3049         (WebCore::RenderMathMLOperator::updateFromElement):
3050         (WebCore::RenderMathMLOperator::createGlyph):
3051         * rendering/style/ContentData.cpp:
3052         (WebCore::TextContentData::createRenderer):
3053         (WebCore::CounterContentData::createRenderer):
3054         (WebCore::QuoteContentData::createRenderer):
3055         
3056             Pseudo style for RenderText subclasses comes from parent without any explicit setting.
3057
3058         * style/StyleResolveTree.cpp:
3059         (WebCore::Style::createTextRendererIfNeeded):
3060         (WebCore::Style::resolveLocal):
3061         (WebCore::Style::updateTextStyle):
3062         (WebCore::Style::resolveShadowTree):
3063         (WebCore::Style::resolveTree):
3064         
3065             No need to set or update text renderer style separately.
3066
3067 2013-09-26  Eric Carlson  <eric.carlson@apple.com>
3068
3069         [MediaStream] make MediaStream testable
3070         https://bugs.webkit.org/show_bug.cgi?id=121967
3071
3072         Reviewed by Dean Jackson.
3073
3074         No new tests, existing tests updated.
3075
3076         * CMakeLists.txt: Add MockMediaStreamCenter.
3077         * GNUmakefile.list.am: Ditto.
3078
3079         * Modules/mediastream/MediaStreamTrack.idl: Add SkipVTableValidation.
3080         * Modules/mediastream/NavigatorUserMediaError.idl: Add JSGenerateToJSObject.
3081         * WebCore.exp.in: Export MockMediaStreamCenter::registerMockMediaStreamCenter.
3082
3083         * WebCore.xcodeproj/project.pbxproj: Add MockMediaStreamCenter.
3084         * dom/DOMError.h: Make the destructor virtual because it has a derived class.
3085         * dom/DOMError.idl:
3086
3087         * platform/mock/MockMediaStreamCenter.cpp: Added.
3088         * platform/mock/MockMediaStreamCenter.h: Added.
3089
3090         * testing/Internals.cpp: Register the mock stream center.
3091
3092 2013-09-26  Benjamin Poulain  <benjamin@webkit.org>
3093
3094         Move CSS MatchRequest from StyleResolver to a private definition in ElementRuleCollector
3095         https://bugs.webkit.org/show_bug.cgi?id=121986
3096
3097         Reviewed by Andreas Kling.
3098
3099         MatchRequest is an internal type of ElementRuleCollector now, move the definition
3100         to ElementRuleCollector.
3101
3102         * css/DocumentRuleSets.h:
3103         * css/ElementRuleCollector.h:
3104         (WebCore::ElementRuleCollector::MatchRequest::MatchRequest):
3105         * css/StyleResolver.h:
3106
3107 2013-09-26  Brent Fulgham  <bfulgham@apple.com>
3108
3109         [Windows] Unreviewed build fix after r156487.
3110
3111         Add explicit casting needed by MSVC to compile this code. Much
3112         of this could probably be removed when we move to VS2012 or newer.
3113
3114         * bindings/js/JSEventListener.cpp:
3115         (WebCore::JSEventListener::JSEventListener):
3116         * bindings/js/JSEventListener.h:
3117         (WebCore::JSEventListener::jsFunction):
3118         * bridge/jsc/BridgeJSC.cpp:
3119         (JSC::Bindings::Instance::createRuntimeObject):
3120
3121 2013-09-26  Commit Queue  <commit-queue@webkit.org>
3122
3123         Unreviewed, rolling out r156510.
3124         http://trac.webkit.org/changeset/156510
3125         https://bugs.webkit.org/show_bug.cgi?id=121989
3126
3127         Landed in-progress code along with build fix. (Requested by
3128         bfulgham on #webkit).
3129
3130         * bindings/js/JSEventListener.cpp:
3131         (WebCore::JSEventListener::JSEventListener):
3132         * bindings/js/JSEventListener.h:
3133         (WebCore::JSEventListener::jsFunction):
3134         * bridge/jsc/BridgeJSC.cpp:
3135         (JSC::Bindings::Instance::createRuntimeObject):
3136         * platform/graphics/filters/FEGaussianBlur.cpp:
3137         (WebCore::FEGaussianBlur::platformApplyGeneric):
3138         (WebCore::FEGaussianBlur::platformApply):
3139         * platform/graphics/win/DIBPixelData.cpp:
3140         (WebCore::DIBPixelData::writeToFile):
3141         * platform/graphics/win/DIBPixelData.h:
3142
3143 2013-09-26  Brent Fulgham  <bfulgham@apple.com>
3144
3145         [Windows] Unreviewed build fix after r156487.
3146
3147         Add explicit casting needed by MSVC to compile this code. Much
3148         of this could probably be removed when we move to VS2012 or newer.
3149
3150         * bindings/js/JSEventListener.cpp:
3151         (WebCore::JSEventListener::JSEventListener):
3152         * bindings/js/JSEventListener.h:
3153         (WebCore::JSEventListener::jsFunction):
3154         * bridge/jsc/BridgeJSC.cpp:
3155         (JSC::Bindings::Instance::createRuntimeObject):
3156         * platform/graphics/filters/FEGaussianBlur.cpp:
3157         (WebCore::FEGaussianBlur::platformApplyGeneric):
3158         (WebCore::FEGaussianBlur::platformApply):
3159         * platform/graphics/win/DIBPixelData.cpp:
3160         (WebCore::DIBPixelData::DIBPixelData):
3161         (WebCore::DIBPixelData::writeToFile):
3162         * platform/graphics/win/DIBPixelData.h:
3163
3164 2013-09-26  Dean Jackson  <dino@apple.com>
3165
3166         Expose a setting to disable hardware accelerated animations
3167         https://bugs.webkit.org/show_bug.cgi?id=121978
3168         <rdar://problem/15091284>
3169
3170         Reviewed by Eric Carlson.
3171
3172         Expose acceleratedCompositedAnimationsEnabled
3173         to disable CoreAnimation animations.
3174
3175         Test: LayoutTests/animations/transform-non-accelerated.html
3176
3177         * WebCore.exp.in: Export new method.
3178         * page/Settings.in: Add new setting.
3179         * rendering/RenderLayerBacking.cpp:
3180         (WebCore::RenderLayerBacking::startAnimation): Don't go
3181         to GraphicsLayer if the setting is false.
3182
3183 2013-09-26  Julien Brianceau  <jbriance@cisco.com>
3184
3185         [Qt] Fix build after r156487.
3186         https://bugs.webkit.org/show_bug.cgi?id=121984
3187
3188         Reviewed by Anders Carlsson.
3189
3190         * bridge/qt/qt_runtime.cpp:
3191         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
3192
3193 2013-09-26  Antti Koivisto  <antti@apple.com>
3194
3195         Don't mutate style in RenderCombineText
3196         https://bugs.webkit.org/show_bug.cgi?id=121979
3197
3198         Reviewed by Andreas Kling.
3199
3200         Text renderers should always have the same style as the parent.
3201
3202         * rendering/InlineTextBox.cpp:
3203         (WebCore::fontToUse):
3204         (WebCore::InlineTextBox::localSelectionRect):
3205         (WebCore::InlineTextBox::paint):
3206         (WebCore::InlineTextBox::offsetForPosition):
3207         (WebCore::InlineTextBox::positionForOffset):
3208         
3209             Select the modified font for text-combine.
3210
3211         * rendering/RenderCombineText.cpp:
3212         (WebCore::RenderCombineText::styleDidChange):
3213         (WebCore::RenderCombineText::combineText):
3214         * rendering/RenderCombineText.h:
3215         
3216             Move the text-combine specific font style to a member of its own.
3217
3218 2013-09-26  Anders Carlsson  <andersca@apple.com>
3219
3220         Remove PassWeak.h
3221         https://bugs.webkit.org/show_bug.cgi?id=121971
3222
3223         Reviewed by Geoffrey Garen.
3224
3225         * ForwardingHeaders/heap/PassWeak.h: Removed.
3226
3227 2013-09-26  Eric Carlson  <eric.carlson@apple.com>
3228
3229         [MediaStream API] implement VideoStreamTrack and AudioStreamTrack
3230         https://bugs.webkit.org/show_bug.cgi?id=121950
3231
3232         Reviewed by Dean Jackson.
3233
3234         No new tests, blocked by https://bugs.webkit.org/show_bug.cgi?id=121967
3235
3236         * CMakeLists.txt: Add new files.
3237         * DerivedSources.make: Ditto.
3238         * GNUmakefile.list.am: Ditto.
3239
3240         * Modules/mediastream/AudioStreamTrack.cpp: Added.
3241         * Modules/mediastream/AudioStreamTrack.h: Added.
3242         * Modules/mediastream/AudioStreamTrack.idl: Added.
3243
3244         * Modules/mediastream/MediaStream.cpp:
3245         (WebCore::MediaStream::MediaStream): Create an AudioStreamTrack or a VideoStreamTrack.
3246         (WebCore::MediaStream::addRemoteSource): Ditto.
3247
3248         * Modules/mediastream/MediaStreamTrack.cpp:
3249         (WebCore::MediaStreamTrack::create): Removed.
3250         * Modules/mediastream/MediaStreamTrack.h:
3251
3252         * Modules/mediastream/VideoStreamTrack.cpp: Added.
3253         * Modules/mediastream/VideoStreamTrack.h: Added.
3254         * Modules/mediastream/VideoStreamTrack.idl: Added.
3255
3256         * WebCore.xcodeproj/project.pbxproj: Add new files.
3257
3258 2013-09-26  Anders Carlsson  <andersca@apple.com>
3259
3260         Stop using PassWeak
3261         https://bugs.webkit.org/show_bug.cgi?id=121968
3262
3263         Reviewed by Sam Weinig.
3264
3265         Update for JavaScriptCore changes.
3266
3267         * bindings/js/JSDOMBinding.h:
3268         (WebCore::setInlineCachedWrapper):
3269         (WebCore::cacheWrapper):
3270         * bindings/js/JSEventListener.cpp:
3271         (WebCore::JSEventListener::JSEventListener):
3272         * bindings/js/JSEventListener.h:
3273         (WebCore::JSEventListener::setWrapper):
3274         (WebCore::JSEventListener::jsFunction):
3275         * bindings/js/JSMutationCallback.cpp:
3276         (WebCore::JSMutationCallback::JSMutationCallback):
3277         * bindings/js/JSNodeFilterCondition.cpp:
3278         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
3279         * bindings/js/ScriptWrappableInlines.h:
3280         (WebCore::ScriptWrappable::setWrapper):
3281         * bindings/js/WebCoreTypedArrayController.cpp:
3282         * bridge/jsc/BridgeJSC.cpp:
3283         (JSC::Bindings::Instance::createRuntimeObject):
3284         * bridge/runtime_root.cpp:
3285         (JSC::Bindings::RootObject::addRuntimeObject):
3286
3287 2013-09-25  Sam Weinig  <sam@webkit.org>
3288
3289         Pass a JSC::VM& to JS bindings object creation functions, rather than a JSC::ExecState*
3290         https://bugs.webkit.org/show_bug.cgi?id=121934
3291
3292         Reviewed by Geoffrey Garen.
3293
3294         Reduce unnecessary loads by passing the JSC::VM to object creation/access functions
3295         that don't need the ExecState.
3296
3297         * WebCore.exp.in:
3298         * bindings/js/JSDOMBinding.h:
3299         (WebCore::getDOMStructure):
3300         (WebCore::deprecatedGetDOMStructure):
3301         (WebCore::getDOMPrototype):
3302         (WebCore::setInlineCachedWrapper):
3303         (WebCore::createWrapper):
3304         * bindings/js/JSDOMGlobalObject.h:
3305         (WebCore::getDOMConstructor):
3306         * bindings/js/JSDOMWindowCustom.cpp:
3307         (WebCore::JSDOMWindow::image):
3308         * bindings/js/JSDocumentCustom.cpp:
3309         (WebCore::JSDocument::location):
3310         * bindings/js/JSImageConstructor.cpp:
3311         (WebCore::JSImageConstructor::finishCreation):
3312         * bindings/js/JSImageConstructor.h:
3313         (WebCore::JSImageConstructor::create):
3314         * bindings/js/ScriptWrappable.h:
3315         * bindings/js/ScriptWrappableInlines.h:
3316         (WebCore::ScriptWrappable::setWrapper):
3317         * bindings/scripts/CodeGeneratorJS.pm:
3318         (GenerateHeader):
3319         (GenerateImplementation):
3320         (GenerateConstructorDeclaration):
3321         (GenerateConstructorHelperMethods):
3322         * bridge/c/CRuntimeObject.cpp:
3323         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
3324         (JSC::Bindings::CRuntimeObject::finishCreation):
3325         * bridge/c/CRuntimeObject.h:
3326         (JSC::Bindings::CRuntimeObject::create):
3327         * bridge/c/c_instance.cpp:
3328         (JSC::Bindings::CInstance::newRuntimeObject):
3329         * bridge/jsc/BridgeJSC.cpp:
3330         (JSC::Bindings::Instance::newRuntimeObject):
3331         * bridge/objc/ObjCRuntimeObject.h:
3332         (JSC::Bindings::ObjCRuntimeObject::create):
3333         * bridge/objc/ObjCRuntimeObject.mm:
3334         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
3335         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
3336         * bridge/objc/objc_instance.mm:
3337         (ObjcInstance::newRuntimeObject):
3338         * bridge/objc/objc_runtime.h:
3339         (JSC::Bindings::ObjcFallbackObjectImp::createPrototype):
3340         * bridge/runtime_array.h:
3341         (JSC::RuntimeArray::createPrototype):
3342         * bridge/runtime_method.h:
3343         (JSC::RuntimeMethod::createPrototype):
3344         * bridge/runtime_object.cpp:
3345         (JSC::Bindings::RuntimeObject::RuntimeObject):
3346         (JSC::Bindings::RuntimeObject::finishCreation):
3347         * bridge/runtime_object.h:
3348         (JSC::Bindings::RuntimeObject::create):
3349         (JSC::Bindings::RuntimeObject::createPrototype):
3350
3351 2013-09-26  Commit Queue  <commit-queue@webkit.org>
3352
3353         Unreviewed, rolling out r156451.
3354         http://trac.webkit.org/changeset/156451
3355         https://bugs.webkit.org/show_bug.cgi?id=121965
3356
3357         Broke two fast/multicol tests. (Requested by kling on
3358         #webkit).
3359
3360         * rendering/FlowThreadController.cpp:
3361         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
3362         * rendering/RenderElement.cpp:
3363         (WebCore::RenderElement::propagateStyleToAnonymousChildren):
3364         * rendering/RenderFlowThread.cpp:
3365         (WebCore::RenderFlowThread::layout):
3366         (WebCore::RenderFlowThread::regionForCompositedLayer):
3367         (WebCore::RenderFlowThread::updateRegionForRenderLayer):
3368         (WebCore::RenderFlowThread::updateLayerToRegionMappings):
3369         * rendering/RenderFlowThread.h:
3370         * rendering/RenderGeometryMap.cpp:
3371         * rendering/RenderGeometryMap.h:
3372         * rendering/RenderLayer.cpp:
3373         (WebCore::RenderLayer::calculateLayerBounds):
3374         * rendering/RenderLayer.h:
3375         * rendering/RenderLayerBacking.cpp:
3376         (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
3377         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3378         * rendering/RenderLayerBacking.h:
3379         * rendering/RenderLayerCompositor.cpp:
3380         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3381         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
3382         (WebCore::RenderLayerCompositor::canBeComposited):
3383         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
3384         * rendering/RenderLayerCompositor.h:
3385         * rendering/RenderMultiColumnSet.cpp:
3386         * rendering/RenderMultiColumnSet.h:
3387         * rendering/RenderRegion.cpp:
3388         (WebCore::RenderRegion::setRequiresLayerForCompositing):
3389         * rendering/RenderRegion.h:
3390         * rendering/RenderRegionSet.h:
3391         * rendering/RenderTreeAsText.cpp:
3392         (WebCore::writeLayers):
3393
3394 2013-09-26  Eric Carlson  <eric.carlson@apple.com>
3395
3396         [MediaStream] Cleanup platform interface
3397         https://bugs.webkit.org/show_bug.cgi?id=121935
3398
3399         Reviewed by Jer Noble.
3400
3401         No new tests, tests will be updated in the next patch.
3402
3403         * CMakeLists.txt: Remove MediaStreamComponent.cpp.
3404         * GNUmakefile.list.am: Remove MediaStreamComponent.h|cpp and MediaStreamSourcesQueryClient.h. 
3405             Add MediaStreamConstraintsValidationClient.h and MediaStreamCreationClient.h.
3406
3407         * Modules/mediastream/MediaStream.cpp:
3408         (WebCore::processTrack): Duplicate MediaStreamSource when necessary to work around bug 121954.
3409         (WebCore::createFromSourceVectors): MediaStreamCenter::instance -> MediaStream::sharedStreamCenter.
3410         (WebCore::MediaStream::MediaStream): *Components -> *Streams.
3411         (WebCore::MediaStream::setEnded): New.
3412         (WebCore::MediaStream::stop):  MediaStreamCenter::instance -> MediaStream::sharedStreamCenter.
3413         (WebCore::MediaStream::addTrack): Append the track parameter rather than duplicating it, as per spec.
3414         (WebCore::MediaStream::removeTrack): *Components -> *Streams.
3415         (WebCore::MediaStream::trackDidEnd): Renamed from trackEnded.
3416         (WebCore::MediaStream::streamDidEnd): Renamed from streamEnded.
3417         (WebCore::MediaStream::addRemoteSource): Renamed from addRemoteTrack. *Components -> *Streams.
3418         (WebCore::MediaStream::removeRemoteSource): Renamed from removeRemoteTrack. *Components -> *Streams.
3419         * Modules/mediastream/MediaStream.h:
3420
3421         * Modules/mediastream/MediaStreamTrack.cpp:
3422         (WebCore::MediaStreamTrack::create): *Component -> *Stream.
3423         (WebCore::MediaStreamTrack::MediaStreamTrack): Don't assume source is valid.
3424         (WebCore::MediaStreamTrack::~MediaStreamTrack): Ditto.
3425         (WebCore::MediaStreamTrack::kind): Ditto. AtomicString -> const AtomicString&.
3426         (WebCore::MediaStreamTrack::setSource): Moved from .h file.
3427         (WebCore::MediaStreamTrack::id): Don't assume source is valid. Create ID when the source doesn't have one.
3428         (WebCore::MediaStreamTrack::label): Don't assume source is valid.
3429         (WebCore::MediaStreamTrack::enabled): 
3430         (WebCore::MediaStreamTrack::setEnabled): *Component -> *Stream. MediaStreamCenter::instance -> MediaStreamCenter::shared.
3431         (WebCore::MediaStreamTrack::readyState): "muted" is not a readyState, but "new" is.
3432         (WebCore::MediaStreamTrack::getSources): MediaStreamCenter::instance -> MediaStreamCenter::shared.
3433         (WebCore::MediaStreamTrack::ended): *Component -> *Stream.
3434         (WebCore::MediaStreamTrack::sourceChangedState): Dispatch "started" and "unmuted" events.
3435         (WebCore::MediaStreamTrack::trackDidEnd): Renamed from didEndTrack. m_component -> m_source.
3436         * Modules/mediastream/MediaStreamTrack.h:
3437
3438         * Modules/mediastream/RTCDTMFSender.cpp:
3439         (WebCore::RTCDTMFSender::create): track->component() -> track->source();
3440
3441         * Modules/mediastream/RTCPeerConnection.cpp:
3442         (WebCore::RTCPeerConnection::didRemoveRemoteStream): Ditto.
3443
3444         * Modules/mediastream/RTCStatsRequestImpl.cpp:
3445         (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl): Ditto.
3446         (WebCore::RTCStatsRequestImpl::component): Removed, it was unused.
3447         * Modules/mediastream/RTCStatsRequestImpl.h:
3448
3449         * Modules/mediastream/UserMediaClient.h:
3450         * Modules/mediastream/UserMediaController.h:
3451         (WebCore::UserMediaController::requestPermission): Renamed from requestUserMedia, get rid of source
3452             vector parameters.