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