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