f5560a60fe152ac9b2417f033180b9c126f112f7
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
2
3         EFL build fix attempt after r163662.
4
5         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
6         (WebCore::IDBLevelDBCoding::encodeIDBKey):
7
8 2014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
9
10         FrameSelection's destructor shouldn't notify accessibility
11         https://bugs.webkit.org/show_bug.cgi?id=128421
12
13         Reviewed by Benjamin Poulain.
14
15         Extracted setSelectionWithoutUpdatingAppearance out of setSelection and called it in prepareForDestruction
16         instead of setting DoNotUpdateAppearance option. This new function doesn't reveal selection or notify
17         accessibility code in addition to not updating appearance.
18
19         Note that all implementations of notifyAccessibilityForSelectionChange in FrameSelectionAtk.cpp and
20         FrameSelectionMac.mm exit early when the selection type is not caret or either start or end is null,
21         which is already the case inside FrameSelection's destructor. In addition, revealSelection is never called
22         when selection change was not triggered by user so there should be no behavioral change from this patch.
23
24         * editing/FrameSelection.cpp:
25         (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
26         (WebCore::FrameSelection::setSelection):
27         (WebCore::FrameSelection::prepareForDestruction):
28         * editing/FrameSelection.h:
29         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Added the trivial implementation in the case
30         accessibility is disabled to tidy up call sites.
31
32 2014-02-07  Martin Robinson  <mrobinson@igalia.com>
33
34         Build fix for the GTK+ CMake build
35
36         * PlatformGTK.cmake: VTTCue.idl was unintentionally added to the list of GObject DOM bindings
37         output files. Remove it.
38
39 2014-02-07  Dirk Schulze  <krit@webkit.org>
40
41         Per CSSOM, computed rect() function values must be comma separated
42         https://bugs.webkit.org/show_bug.cgi?id=128401
43
44         Reviewed by Simon Fraser.
45
46         Updated tests.
47
48         * css/Rect.h:
49         (WebCore::Rect::generateCSSString):
50
51 2014-02-07  Gavin Barraclough  <barraclough@apple.com>
52
53         Remove isInitialState flag from Page::setViewState
54         https://bugs.webkit.org/show_bug.cgi?id=128428
55
56         Reviewed by Sam Weinig.
57
58         * WebCore.exp.in:
59             - removed isInitialState.
60         * page/Page.cpp:
61         (WebCore::Page::setViewState):
62             - removed isInitialState.
63         (WebCore::Page::setIsVisible):
64             - removed isInitialState.
65         (WebCore::Page::setIsVisibleInternal):
66             - removed isInitialState.
67         * page/Page.h:
68             - removed isInitialState.
69
70 2014-02-07  Simon Fraser  <simon.fraser@apple.com>
71
72         Encode requestedScrollPosition on ScrollingStateScrollingNodes to send to the UI process
73         https://bugs.webkit.org/show_bug.cgi?id=128416
74
75         Reviewed by Tim Horton.
76         
77         Change requestedScrollPosition() to be a FloatPoint, and export
78         ScrollingStateScrollingNode::setRequestedScrollPosition(WebCore::FloatPoint const&, bool)
79         for WK2.
80
81         * WebCore.exp.in:
82         * page/scrolling/ScrollingStateScrollingNode.cpp:
83         (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
84         * page/scrolling/ScrollingStateScrollingNode.h:
85
86 2014-02-07  Beth Dakin  <bdakin@apple.com>
87
88         Should get rid of TileController's CoverageForSlowScrolling mode
89         https://bugs.webkit.org/show_bug.cgi?id=128339
90
91         Reviewed by Simon Fraser.
92
93         This patch gets rid of CoverageForSlowScrolling in the TileController. It also 
94         makes sure that margin tiles are properly invalidated on pages with slow repaint 
95         objects that cause slow scrolling. 
96
97         When we invalidate because of slow scrolling, don’t clip the update rect to the 
98         layer bounds.
99         * page/FrameView.cpp:
100         (WebCore::FrameView::scrollContentsSlowPath):
101
102         Call new RenderObject paint function repaintSlowRepaintObject() instead of the 
103         more-generic repaint().
104         (WebCore::FrameView::repaintSlowRepaintObjects):
105
106         Remove CoverageForSlowScrolling.
107         * platform/graphics/TiledBacking.h:
108         * platform/graphics/ca/mac/TileController.h:
109         * platform/graphics/ca/mac/TileController.mm:
110         (WebCore::TileController::tilesWouldChangeForVisibleRect):
111         (WebCore::TileController::computeTileCoverageRect):
112         (WebCore::TileController::revalidateTiles):
113         * rendering/RenderLayerBacking.cpp:
114         (WebCore::computeTileCoverage):
115
116         Handle repainting a slow repaint object. Don’t clip when we shouldn’t, use the 
117         RenderView’s backgroundRect as a repaintRect when this is the root background 
118         since that will take the extended background rect into consideration.
119         * rendering/RenderObject.cpp:
120         (WebCore::RenderObject::repaintSlowRepaintObject):
121         * rendering/RenderObject.h:
122
123 2014-02-06  Filip Pizlo  <fpizlo@apple.com>
124
125         More FTL build scaffolding
126         https://bugs.webkit.org/show_bug.cgi?id=128330
127
128         Reviewed by Geoffrey Garen.
129
130         The FTL already has tests.
131
132         * Configurations/FeatureDefines.xcconfig:
133
134 2014-02-07  Alexey Proskuryakov  <ap@apple.com>
135
136         Remove some unused functions from SerializedScriptValue
137         https://bugs.webkit.org/show_bug.cgi?id=128407
138
139         Reviewed by Anders Carlsson.
140
141         * bindings/js/SerializedScriptValue.cpp:
142         (WebCore::SerializedScriptValue::undefinedValue):
143         (WebCore::SerializedScriptValue::nullValue):
144         * bindings/js/SerializedScriptValue.h:
145
146 2014-02-07  Brady Eidson  <beidson@apple.com>
147
148         IDB: Some Mozilla cursor mutation tests fail
149         <rdar://problem/16011680> and https://bugs.webkit.org/show_bug.cgi?id=128374
150
151         Reviewed by Sam Weinig.
152
153         Tested by:
154         storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html
155         storage/indexeddb/mozilla/cursor-mutation.html
156
157         The previous comment about LevelDB was wrong.
158         Apparently calling onSuccess() with a null SharedBuffer means the cursor reached the end.
159         Update to distinguish between an error and reaching the end:
160         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
161         (WebCore::CursorAdvanceOperation::perform):
162         (WebCore::CursorIterationOperation::perform):
163  
164         Add a new IDBKey type - Maximum - To be used in comparisons between keys.
165         This will allow the DatabaseProcess to operate on the range of all keys:
166         * Modules/indexeddb/IDBKey.cpp:
167         (WebCore::IDBKey::compare):
168         * Modules/indexeddb/IDBKey.h:
169
170         * Modules/indexeddb/IDBKeyData.cpp:
171         (WebCore::IDBKeyData::IDBKeyData):
172         (WebCore::IDBKeyData::maybeCreateIDBKey):
173         (WebCore::IDBKeyData::isolatedCopy):
174         (WebCore::IDBKeyData::encode):
175         (WebCore::IDBKeyData::decode):
176         (WebCore::IDBKeyData::compare):
177         (WebCore::IDBKeyData::loggingString):
178         * Modules/indexeddb/IDBKeyData.h:
179         (WebCore::IDBKeyData::minimum):
180         (WebCore::IDBKeyData::maximum):
181
182         * bindings/js/IDBBindingUtilities.cpp:
183         (WebCore::idbKeyToJSValue):
184
185         Remove an unused callback:
186         * Modules/indexeddb/IDBCallbacks.h:
187         * Modules/indexeddb/IDBRequest.h:
188
189 2014-02-07  Roger Fong  <roger_fong@apple.com>
190
191         CGContextGetUserSpaceToDeviceSpaceTransform returns the wrong value on Windows.
192         https://bugs.webkit.org/show_bug.cgi?id=128395.
193         
194         Rubberstamped by Zalan Bujtas.
195
196         The call essentially returns 0 and causes an assertion failure when running many layout tests.
197
198         * platform/graphics/cg/GraphicsContextCG.cpp: Don't make the call on Windows. We default to 1.
199         (WebCore::GraphicsContext::platformInit):
200
201 2014-02-07  Dan Bernstein  <mitz@apple.com>
202
203         iOS build fix.
204
205         * platform/PlatformKeyboardEvent.h: Fixed a typo.
206
207 2014-02-07  Dan Bernstein  <mitz@apple.com>
208
209         Stop using PLATFORM(MAC) in WebCore/platform except where it means “OS X but not iOS”
210         https://bugs.webkit.org/show_bug.cgi?id=128404
211
212         Reviewed by Anders Carlsson.
213
214         * Configurations/WebCore.xcconfig: Removed KeyEventMac.mm from
215         EXCLUDED_SOURCE_FILE_NAMES_iphoneos, because that file contains !PLATFORM(IOS) guards.
216         Removed WheelEventMac.mm from the same definition, because that file no longer exists.
217         * platform/ContentFilter.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
218         * platform/ContextMenu.h: Ditto.
219         * platform/ContextMenuItem.h: Ditto.
220         * platform/Cursor.cpp: Ditto.
221         * platform/Cursor.h: Ditto.
222         * platform/DragData.cpp: Ditto.
223         * platform/DragImage.cpp: Ditto.
224         * platform/Language.cpp:
225         (WebCore::displayNameForLanguageLocale): Changed PLATFORM(MAC) to USE(CF) && !PLATFORM(WIN).
226         * platform/LocalizedStrings.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
227         (WebCore::contextMenuItemTagSearchWeb):
228         * platform/LocalizedStrings.h: Ditto.
229         * platform/MIMETypeRegistry.cpp: Ditto.
230         (WebCore::initializeSupportedImageMIMETypesForEncoding):
231         * platform/PasteboardStrategy.h: Ditto.
232         * platform/PlatformKeyboardEvent.h: Ditto.
233         * platform/PlatformMenuDescription.h: Ditto.
234         * platform/PlatformSpeechSynthesizer.h: Ditto.
235         * platform/PlatformWheelEvent.h: Ditto.
236         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
237         * platform/SchemeRegistry.cpp: Ditto.
238         (WebCore::localURLSchemes):
239         (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
240         (WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely):
241         * platform/ScrollAnimator.cpp: Ditto.
242         (WebCore::ScrollAnimator::handleWheelEvent):
243         * platform/ScrollAnimator.h: Ditto.
244         * platform/ScrollView.cpp: Ditto.
245         * platform/ScrollView.h: Ditto.
246         * platform/ScrollbarThemeComposite.h: Ditto.
247         * platform/SharedBuffer.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around NSData-related
248         code.
249         * platform/URL.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around NSURL-related code.
250         * platform/Widget.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
251         * platform/Widget.h: Ditto.
252         * platform/audio/AudioSession.cpp: Changed !PLATFORM(MAC) && !PLATFORM(IOS) to
253         !PLATFORM(COCOA).
254         * platform/audio/HRTFElevation.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
255         * platform/audio/MediaSessionManager.cpp: Ditto.
256         * platform/audio/mac/AudioSessionMac.cpp: Updated comment.
257         * platform/audio/mac/MediaSessionManagerMac.cpp: Removed PLATFORM(MAC) from Cocoa-only file.
258         * platform/cf/SharedBufferCF.cpp: Changed !PLATFORM(MAC) to !USE(FOUNDATION) and updated
259         comment.
260         * platform/cf/URLCF.cpp: Changed !PLATFORM(MAC) to !USE(FOUNDATION).
261         * platform/graphics/BitmapImage.h: Changed one instance of PLATFORM(MAC) to
262         USE(CG) || USE(APPKIT), and another to PLATFORM(COCOA).
263         * platform/graphics/DisplayRefreshMonitor.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
264         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
265         * platform/graphics/DisplayRefreshMonitor.h: Ditto.
266         * platform/graphics/FloatPoint.h: Collapsed nested #ifs into a single #if.
267         * platform/graphics/FloatRect.h: Ditto.
268         * platform/graphics/FloatSize.h: Ditto.
269         * platform/graphics/Font.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
270         * platform/graphics/Font.h: Ditto.
271         * platform/graphics/FontCache.cpp: Ditto.
272         (WebCore::FontCache::getFontData):
273         * platform/graphics/FontCache.h: Ditto. Also removed redundant friend class declaration.
274         * platform/graphics/FontGlyphs.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
275         (WebCore::FontGlyphs::glyphDataAndPageForCharacter):
276         * platform/graphics/GlyphPage.h: Ditto.
277         * platform/graphics/GraphicsContext3D.h: Ditto.
278         * platform/graphics/Image.h: Changed PLATFORM(MAC) to USE(APPKIT) around use of NSImage.
279         Changed another PLATFORM(MAC) to PLATFORM(COCOA).
280         * platform/graphics/IntRect.h: Collapsed nested #ifs into a single #if.
281         * platform/graphics/IntSize.h: Ditto.
282         * platform/graphics/MediaPlayer.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
283         (WebCore::installedMediaEngines):
284         (WebCore::MediaPlayer::supportsType):
285         * platform/graphics/SimpleFontData.cpp: Ditto.
286         (WebCore::SimpleFontData::nonSyntheticItalicFontData):
287         (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
288         * platform/graphics/SimpleFontData.h: Ditto.
289         * platform/graphics/TiledBacking.h: Ditto.
290         * platform/graphics/ca/GraphicsLayerCA.cpp: Ditto.
291         (WebCore::GraphicsLayerCA::filtersCanBeComposited):
292         (WebCore::GraphicsLayerCA::createPlatformCALayer):
293         * platform/graphics/ca/LayerFlushScheduler.h: Ditto.
294         * platform/graphics/ca/PlatformCAAnimation.h: Ditto.
295         * platform/graphics/ca/PlatformCAFilters.h: Ditto.
296         * platform/graphics/ca/PlatformCALayer.h: Ditto.
297         * platform/graphics/cg/BitmapImageCG.cpp: Ditto.
298         * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
299         (WebCore::GraphicsContext::setAllowsFontSmoothing):
300         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Ditto.
301         * platform/graphics/cg/ImageBufferCG.cpp: Ditto.
302         * platform/graphics/cg/ImageBufferDataCG.h: Ditto.
303         * platform/graphics/cg/ImageCG.cpp: Ditto.
304         * platform/graphics/cg/ImageSourceCG.cpp: Ditto.
305         (WebCore::ImageSource::setData):
306         * platform/graphics/cg/ImageSourceCG.h: Ditto.
307         * platform/graphics/cg/PathCG.cpp: Ditto.
308         (WebCore::Path::platformAddPathForRoundedRect):
309         * platform/graphics/cg/PatternCG.cpp: Ditto.
310         * platform/graphics/gpu/DrawingBuffer.h: Ditto.
311         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
312         (WebCore::MediaPlayerPrivateQTKit::createQTMovieView): Removed PLATFORM(MAC) guards, since
313         this file is only used on Mac and iOS.
314         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
315         (WebCore::Extensions3DOpenGL::supportsExtension): Changed the GL_EXT_draw_buffers check to
316         match the implementation.
317         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Changed PLATFORM(MAC) to
318         PLATFORM(COCOA).
319         * platform/mac/KeyEventMac.mm: Added !PLATFORM(IOS).
320         * platform/mac/PlatformEventFactoryMac.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
321         * platform/mac/WebCoreSystemInterface.h: Ditto. Removed redundant check for PLATFORM(MAC).
322         * platform/mac/WebCoreSystemInterface.mm: Removed redundant check for PLATFORM(MAC).
323         * platform/network/Credential.h: Changed PLATFORM(IOS) || PLATFORM(MAC) to PLATFORM(COCOA).
324         * platform/network/NetworkStateNotifier.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
325         * platform/network/NetworkStorageSession.h: Ditto.
326         * platform/network/NetworkingContext.h: Ditto.
327         * platform/network/ProtectionSpace.cpp: Ditto.
328         (WebCore::ProtectionSpace::receivesCredentialSecurely):
329         * platform/network/ResourceHandle.cpp: Ditto.
330         (WebCore::ResourceHandle::clearAuthentication):
331         (WebCore::ResourceHandle::shouldContentSniffURL):
332         * platform/network/ResourceHandle.h: Ditto.
333         * platform/network/ResourceHandleClient.cpp: Ditto.
334         * platform/network/ResourceHandleClient.h: Ditto.
335         * platform/network/ResourceHandleInternal.h: Ditto.
336         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
337         * platform/network/ResourceRequestBase.cpp: Ditto.
338         * platform/network/cf/AuthenticationCF.h: Ditto.
339         * platform/network/cf/CookieStorageCFNet.cpp: Ditto.
340         * platform/network/cf/CredentialStorageCFNet.cpp: Ditto.
341         * platform/network/cf/FormDataStreamCFNet.cpp: Ditto.
342         * platform/network/cf/NetworkStorageSessionCFNet.cpp: Ditto.
343         (WebCore::NetworkStorageSession::switchToNewTestingSession):
344         (WebCore::NetworkStorageSession::createPrivateBrowsingSession):
345         * platform/network/cf/ResourceError.h: Ditto.
346         * platform/network/cf/ResourceHandleCFNet.cpp: Ditto.
347         (WebCore::ResourceHandle::createCFURLConnection):
348         * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
349         * platform/network/cf/ResourceRequest.h: Ditto.
350         (WebCore::ResourceRequest::ResourceRequest):
351         * platform/network/cf/ResourceRequestCFNet.cpp: Ditto.
352         (WebCore::ResourceRequest::doUpdatePlatformRequest):
353         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
354         (WebCore::ResourceRequest::setStorageSession):
355         * platform/network/cf/ResourceResponse.h: Ditto.
356         * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
357         (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
358         * platform/network/mac/ResourceResponseMac.mm: Ditto.
359         * platform/posix/FileSystemPOSIX.cpp: Changed PLATFORM(MAC) to OS(DARWIN) &&
360         !PLATFORM(EFL) && !PLATFORM(GTK).
361         * platform/text/TextBoundaries.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
362
363 2014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
364
365         Revert r154384 and r154674 as they broke selection rect computations for text with ligatures.
366
367         * platform/graphics/Font.cpp:
368         (WebCore::Font::drawText):
369         (WebCore::Font::drawEmphasisMarks):
370         (WebCore::Font::selectionRectForText):
371         (WebCore::Font::offsetForPosition):
372         * platform/graphics/FontFastPath.cpp:
373         (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
374         (WebCore::Font::selectionRectForSimpleText):
375         (WebCore::Font::offsetForPositionForSimpleText):
376         * platform/graphics/GlyphBuffer.h:
377         * platform/graphics/WidthIterator.cpp:
378         (WebCore::WidthIterator::WidthIterator):
379         (WebCore::WidthIterator::advanceInternal):
380         (WebCore::WidthIterator::advanceOneCharacter):
381         * platform/graphics/WidthIterator.h:
382
383 2014-02-07  Benjamin Poulain  <bpoulain@apple.com>
384
385         [WK2] Add support for text document viewport configuration
386         https://bugs.webkit.org/show_bug.cgi?id=128359
387
388         Reviewed by Simon Fraser.
389
390         Define a set of ViewportParameters suitable for displaying text documents.
391         Add a documents class for text document to differentiate them from other type of documents.
392
393         * WebCore.exp.in:
394         * dom/Document.h:
395         (WebCore::Document::isTextDocument):
396         * html/TextDocument.cpp:
397         (WebCore::TextDocument::TextDocument):
398         * page/ViewportConfiguration.cpp:
399         (WebCore::ViewportConfiguration::ViewportConfiguration):
400         (WebCore::ViewportConfiguration::webpageParameters):
401         (WebCore::ViewportConfiguration::plainTextParameters):
402         * page/ViewportConfiguration.h:
403
404 2014-02-07  Bem Jones-Bey  <bjonesbe@adobe.com>
405
406         FloatingObject::unsafeClone should not copy m_originatingLine
407         https://bugs.webkit.org/show_bug.cgi?id=128381
408
409         Reviewed by Andreas Kling.
410
411         Copying the originatingLine allows to break the invariant that the
412         floating object must only contain lines that are owned by the renderer
413         it is attached to.
414
415         * rendering/FloatingObjects.cpp:
416         (WebCore::FloatingObject::unsafeClone):
417
418 2014-02-07  Brendan Long  <b.long@cablelabs.com>
419
420         Update TextTrack API to current spec
421         https://bugs.webkit.org/show_bug.cgi?id=122218
422
423         Refactoring VTTCue out of TextTrackCue.
424
425         Reviewed by Eric Carlson.
426
427         Test: media/track/track-vttcue.html
428
429         * CMakeLists.txt: Add VTTCue and rename RenderTextTrackCue to RenderVTTCue.
430         * DerivedSources.cpp: Same.
431         * DerivedSources.make: Same.
432         * GNUmakefile.list.am: Same.
433         * PlatformGTK.cmake:  Same.
434         * WebCore.vcxproj/WebCore.vcxproj: Same.
435         * WebCore.vcxproj/WebCore.vcxproj.filters: Same.
436         * WebCore.xcodeproj/project.pbxproj: Same.
437         * bindings/js/JSTextTrackCueCustom.cpp:
438         (WebCore::toJS): Use VTTCue DOM wrapper for VTTCue and its subclasses.
439         * html/HTMLMediaElement.cpp:
440         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Convert to VTTCue as needed.
441         (WebCore::HTMLMediaElement::textTrackRemoveCue): Same.
442         * html/HTMLMediaElement.h: Only print cue.text in debug output if the cue type has a .text attribute
443         * html/shadow/MediaControlElements.cpp:
444         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Convert to VTTCue as needed, and fix TextTrackCueBox to VTTCueBox.
445         (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Convert to VTTCue as needed.
446         * html/track/InbandGenericTextTrack.cpp:
447         (WebCore::InbandGenericTextTrack::addGenericCue): Use refactored VTTCue attributes.
448         * html/track/InbandWebVTTTextTrack.cpp:
449         (WebCore::InbandWebVTTTextTrack::newCuesParsed): Use VTTCue's constructor instead of deprecated TextTrackCue constructor.
450         * html/track/TextTrack.cpp:
451         (WebCore::TextTrack::setMode): Convert to VTTCue as needed.
452         (WebCore::TextTrack::hasCue): Make this function only accept VTTCues, since it's only used for them anyway, and convert existing cues to VTTCues as needed.
453         * html/track/TextTrack.h: Same as hasCue above.
454         * html/track/TextTrackCue.cpp: Refactor a lot of code out. Everything that was removed went to VTTCue.cpp.
455         (WebCore::TextTrackCue::create): For backwards compatibility, just call VTTCue::create().
456         (WebCore::TextTrackCue::TextTrackCue): Refactor a lot of code out.
457         (WebCore::TextTrackCue::~TextTrackCue): Same.
458         (WebCore::TextTrackCue::didChange): Same.
459         (WebCore::TextTrackCue::setIsActive): Same.
460         * html/track/TextTrackCue.h: Same.
461         * html/track/TextTrackCue.idl: Remove VTTCue attributes and add custom toJS function.
462         * html/track/TextTrackCueGeneric.cpp: Use VTTCue instead of TextTrackCue.
463         * html/track/TextTrackCueGeneric.h: Same.
464         * html/track/VTTCue.cpp: Copied from Source/WebCore/html/track/TextTrackCue.cpp.
465         * html/track/VTTCue.h: Copied from Source/WebCore/html/track/TextTrackCue.h.
466         * html/track/VTTCue.idl: Copied from Source/WebCore/html/track/TextTrackCue.idl.
467         * loader/TextTrackLoader.cpp:
468         (WebCore::TextTrackLoader::getNewCues): Use VTTCue instead of TextTrackCue.
469         * page/CaptionUserPreferencesMediaAF.cpp:
470         (WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride): Use VTTCueBox instead of TextTrackCueBox.
471         * rendering/RenderVTTCue.cpp: Renamed from Source/WebCore/rendering/RenderTextTrackCue.cpp. Changed to use VTTCue instead of TextTrackCue.
472         * rendering/RenderVTTCue.h: Renamed from Source/WebCore/rendering/RenderTextTrackCue.h. Changed to use VTTCue instead of TextTrackCue.
473         * rendering/RenderingAllInOne.cpp: Rename RenderTextTrackCue to RenderVTTCue.
474
475 2014-02-07  Gavin Barraclough  <barraclough@apple.com>
476
477         Should report user input to PageThrottler
478         https://bugs.webkit.org/show_bug.cgi?id=128398
479
480         Reviewed by Tim Horton.
481
482         Make sure we wake from AppNap if there is user interaction.
483
484         * page/PageThrottler.h:
485         (WebCore::PageThrottler::didReceiveUserInput):
486         (WebCore::PageThrottler::pluginDidEvaluate):
487             - added, these call reportInterestingEvent()
488
489 2014-02-07  Jer Noble  <jer.noble@apple.com>
490
491         Unreviewed build fix for 32-bit iOS.
492
493         Use magic ? values to allow the exported symbol to be different on 32- and 64-bit builds.
494
495         * WebCore.exp.in:
496
497 2014-02-07  Anders Carlsson  <andersca@apple.com>
498
499         Convert ProgressTracker to std::chrono
500         https://bugs.webkit.org/show_bug.cgi?id=128377
501
502         Reviewed by Andreas Kling.
503
504         * loader/ProgressTracker.cpp:
505         (WebCore::ProgressTracker::ProgressTracker):
506         (WebCore::ProgressTracker::reset):
507         (WebCore::ProgressTracker::progressStarted):
508         (WebCore::ProgressTracker::finalProgressComplete):
509         (WebCore::ProgressTracker::incrementProgress):
510         * loader/ProgressTracker.h:
511
512 2014-02-07  Alexey Proskuryakov  <ap@apple.com>
513
514         32-bit build fix.
515
516         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
517         (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):
518
519 2014-02-07  Mihai Tica  <mitica@adobe.com>
520
521         [CSS Background Blending] Unprefix the -webkit-background-blend-mode property
522
523         https://bugs.webkit.org/show_bug.cgi?id=128270
524
525         Reviewed by Dean Jackson.
526
527         This patch consist of unprefixing the -webkit-background-blend-mode.
528         The property now changes to background-blend-mode.
529
530         * css/CSSComputedStyleDeclaration.cpp:
531         (WebCore::ComputedStyleExtractor::propertyValue):
532         * css/CSSParser.cpp:
533         (WebCore::CSSParser::parseValue):
534         (WebCore::CSSParser::parseFillProperty):
535         * css/CSSPropertyNames.in:
536         * css/DeprecatedStyleBuilder.cpp:
537         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
538
539 2014-02-07  Samuel White  <samuel_white@apple.com>
540
541         AX: Find and select text with respect to insertion point using accessibility API.
542         https://bugs.webkit.org/show_bug.cgi?id=128026
543
544         Reviewed by Chris Fleizach.
545
546         Added facilities to support semi-ambiguous text selection through the accessibility API. All
547         requests are handled with respect to the current selection. The requests are disambiguated in
548         WebCore using passed parameters such as: SelectStringAfterSelection , ..Before.., ..ClosestTo...,
549         etc. Callers can also supply an array of strings to select and the closest that matches the
550         disambiguation criteria will be used.
551
552         Test: platform/mac/accessibility/select-text.html
553
554         * accessibility/AccessibilityObject.cpp:
555         (WebCore::AccessibilityObject::rangeClosestToRange):
556         (WebCore::AccessibilityObject::rangeOfStringClosestToRangeInDirection):
557         (WebCore::AccessibilityObject::selectionRange):
558         (WebCore::AccessibilityObject::selectText):
559         (WebCore::AccessibilityObject::frame):
560         * accessibility/AccessibilityObject.h:
561         (WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):
562         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
563         (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):
564         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
565         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
566         * dom/Position.cpp:
567         (WebCore::Position::positionCountBetweenPositions):
568         * dom/Position.h:
569
570 2014-02-07  Bem Jones-Bey  <bjonesbe@adobe.com>
571
572         FloatingObject m_paginationStrut should be LayoutUnit
573         https://bugs.webkit.org/show_bug.cgi?id=119808
574
575         Reviewed by Andreas Kling.
576
577         Make the paginationStrut in FloatingObject have the same type as all
578         of the other paginationStruts in the code.
579
580         * rendering/FloatingObjects.h:
581         (WebCore::FloatingObject::paginationStrut):
582         (WebCore::FloatingObject::setPaginationStrut):
583         * rendering/RenderBlockLineLayout.cpp:
584         (WebCore::RenderBlockFlow::positionNewFloatOnLine):
585
586 2014-02-06  Brady Eidson  <beidson@apple.com>
587
588         IDB: storage/indexeddb/create-index-with-integer-keys.html fails
589         <rdar://problem/16002857> and https://bugs.webkit.org/show_bug.cgi?id=128316
590
591         Reviewed by Geoff Garen.
592
593         Tested by storage/indexeddb/create-index-with-integer-keys.html (and probably some others)
594
595         * Modules/indexeddb/IDBCursor.cpp:
596         (WebCore::IDBCursor::update): Update createIDBKeyFromScriptValueAndKeyPath usage.
597         (WebCore::IDBCursor::setValueReady): Update createIDBKeyFromScriptValueAndKeyPath usage.
598
599         * Modules/indexeddb/IDBObjectStore.cpp:
600         (WebCore::IDBObjectStore::put): Update usage of binding utilities.
601
602         * Modules/indexeddb/IDBRequest.cpp:
603         (WebCore::IDBRequest::onSuccess): Update createIDBKeyFromScriptValueAndKeyPath usage.
604
605         * bindings/js/IDBBindingUtilities.cpp:
606         (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
607         (WebCore::createIDBKeyFromScriptValueAndKeyPath): Changed to take an ExecState*.
608         (WebCore::deserializeIDBValueBuffer): Added new version that starts with ExecState* and Vector<uint8_t>
609           instead of RequestState and SharedBuffer.
610         (WebCore::generateIndexKeysForValue): Moved from IDBObjectStore.cpp and changed to take an ExecState*
611         * bindings/js/IDBBindingUtilities.h:
612
613         Added new blob fetcher that works with uint8_t buffers:
614         * platform/sql/SQLiteStatement.cpp:
615         (WebCore::SQLiteStatement::getColumnBlobAsVector):
616         * platform/sql/SQLiteStatement.h:
617
618         * WebCore.exp.in:
619
620 2014-02-07  Frédéric Wang  <fred.wang@free.fr>
621
622         childShouldCreateRenderer should return false for the mspace element
623         https://bugs.webkit.org/show_bug.cgi?id=128325
624
625         Reviewed by Chris Fleizach.
626
627         The mspace element can not have children so this makes its
628         childShouldCreateRenderer always return false.
629
630         Test: mathml/presentation/mspace-children.html
631
632         * mathml/MathMLTextElement.cpp:
633         (WebCore::MathMLTextElement::childShouldCreateRenderer):
634
635 2014-02-07  Javier Fernandez  <jfernandez@igalia.com>
636
637         [CSS Grid Layout] Rename grid-definition-{columns|rows} to match the new syntax
638         https://bugs.webkit.org/show_bug.cgi?id=127989
639
640         Reviewed by Andreas Kling.
641
642         In the latest WD, grid-definition-{columns|rows} were renamed to grid-template-{columns|rows}.
643
644         * css/CSSComputedStyleDeclaration.cpp:
645         (WebCore::isLayoutDependent):
646         (WebCore::ComputedStyleExtractor::propertyValue):
647         * css/CSSParser.cpp:
648         (WebCore::CSSParser::parseValue):
649         * css/CSSPropertyNames.in:
650         * css/StyleResolver.cpp:
651         (WebCore::StyleResolver::applyProperty):
652
653 2014-02-07  Andreas Kling  <akling@apple.com>
654
655         CTTE: DocumentThreadableLoader always has a Document.
656         <https://webkit.org/b/128364>
657
658         DocumentThreadableLoader always has an "owner" Document, so store
659         that as a reference instead of a pointer. Removed some unnecessary
660         assertions exposed by this change.
661
662         Reviewed by Antti Koivisto.
663
664         * loader/DocumentThreadableLoader.cpp:
665         (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
666         (WebCore::DocumentThreadableLoader::create):
667         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
668         (WebCore::DocumentThreadableLoader::didReceiveResponse):
669         (WebCore::DocumentThreadableLoader::didReceiveData):
670         (WebCore::DocumentThreadableLoader::didFinishLoading):
671         (WebCore::DocumentThreadableLoader::didFail):
672         (WebCore::DocumentThreadableLoader::preflightFailure):
673         (WebCore::DocumentThreadableLoader::loadRequest):
674         (WebCore::DocumentThreadableLoader::securityOrigin):
675         * loader/DocumentThreadableLoader.h:
676         * loader/ThreadableLoader.cpp:
677         (WebCore::ThreadableLoader::create):
678         (WebCore::ThreadableLoader::loadResourceSynchronously):
679         * loader/WorkerThreadableLoader.cpp:
680         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
681
682 2014-02-07  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
683
684         Vector-effect updates require a re-layout
685         https://bugs.webkit.org/show_bug.cgi?id=127553
686
687         Reviewed by Andreas Kling.
688
689         As noted in the stale SVGRenderStyle::diff() comment, now that layout() observes vector-effect
690         we need to trigger a re-layout on attribute changes.
691
692         Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152570&view=revision
693
694         Tests: svg/custom/non-scaling-stroke-update-expected.svg
695                svg/custom/non-scaling-stroke-update.svg
696
697         * rendering/style/SVGRenderStyle.cpp:
698         (WebCore::SVGRenderStyle::diff):
699
700 2014-02-07  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>
701
702         Renaming isTableElement() to isRenderedTable() as per the FIXME comment
703         https://bugs.webkit.org/show_bug.cgi?id=127769
704
705         Reviewed by Andreas Kling.
706
707         Rename method and use IsTable() instead of local type checking.
708
709         * dom/Position.cpp:
710         (WebCore::Position::parentAnchoredEquivalent):
711         (WebCore::Position::upstream):
712         (WebCore::Position::downstream):
713         (WebCore::Position::isCandidate):
714         * dom/PositionIterator.cpp:
715         (WebCore::PositionIterator::isCandidate):
716         * editing/CompositeEditCommand.cpp:
717         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
718         (WebCore::CompositeEditCommand::moveParagraphWithClones):
719         * editing/FrameSelection.cpp:
720         (WebCore::caretRendersInsideNode):
721         * editing/VisibleUnits.cpp:
722         (WebCore::startOfParagraph):
723         (WebCore::endOfParagraph):
724         * editing/htmlediting.cpp:
725         (WebCore::firstInSpecialElement):
726         (WebCore::lastInSpecialElement):
727         (WebCore::isRenderedTable):
728         * editing/htmlediting.h:
729         * rendering/RenderBox.cpp:
730         (WebCore::RenderBox::localCaretRect):
731
732 2014-02-06  Brady Eidson  <beidson@apple.com>
733
734         IDB: Remove the entirely unnecessary "Value Key" concept
735         https://bugs.webkit.org/show_bug.cgi?id=128360
736
737         Reviewed by Dan Bernstein.
738
739         No new tests (No change in behavior)
740
741         All cursor operations were set up to pass a value key parameter around, but it was:
742         1 - Entirely unused
743         2 - The same thing that the primary key is supposed to be
744
745         * Modules/indexeddb/IDBCallbacks.h:
746
747         * Modules/indexeddb/IDBCursorBackend.cpp:
748         (WebCore::IDBCursorBackend::updateCursorData):
749         (WebCore::IDBCursorBackend::clear):
750         * Modules/indexeddb/IDBCursorBackend.h:
751
752         * Modules/indexeddb/IDBCursorBackendOperations.cpp:
753         (WebCore::CursorAdvanceOperation::perform):
754         (WebCore::CursorIterationOperation::perform):
755
756         * Modules/indexeddb/IDBRequest.cpp:
757         (WebCore::IDBRequest::onSuccess):
758         * Modules/indexeddb/IDBRequest.h:
759
760         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
761         (WebCore::OpenCursorOperation::perform):
762
763         * Modules/indexeddb/IDBServerConnection.h:
764         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
765         (WebCore::IDBServerConnectionLevelDB::openCursor):
766         (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
767         (WebCore::IDBServerConnectionLevelDB::cursorIterate):
768         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
769
770 2014-02-06  Jeremy Jones  <jeremyj@apple.com>
771
772         Add support for AVKit fullscreen to WebKit2
773         https://bugs.webkit.org/show_bug.cgi?id=128143
774
775         Reviewed by Simon Fraser.
776
777         Rename overloaded functions to prevent ambiguous template parameter
778         compile error in generated code.
779
780         Rename overloaded exitFullscreen to exitFullscreenWithCompletionHandler.
781         Rename overloaded enterFullscreen to enterFullscreenWithCompletionHandler.
782
783         * WebCore.exp.in:
784         * WebCore.xcodeproj/project.pbxproj:
785         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
786         (-[WebVideoFullscreenController exitFullscreen]):
787         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
788         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
789         (WebVideoFullscreenInterfaceAVKit::enterFullscreenWithCompletionHandler):
790         (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
791         (WebVideoFullscreenInterfaceAVKit::exitFullscreenWithCompletionHandler):
792         (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
793         * platform/ios/WebVideoFullscreenModelMediaElement.h:
794
795 2014-02-06  Jeffrey Pfau  <jpfau@apple.com>
796
797         loadSubframe can return null in SubframeLoader::loadOrRedirectSubframe
798         https://bugs.webkit.org/show_bug.cgi?id=128344
799
800         Reviewed by Ryosuke Niwa.
801
802         * loader/SubframeLoader.cpp:
803         (WebCore::SubframeLoader::loadOrRedirectSubframe):
804
805 2014-02-06  Andreas Kling  <akling@apple.com>
806
807         Use child iterator in HTMLDetailsElement::findMainSummary().
808         <https://webkit.org/b/128335>
809
810         Reviewed by Antti Koivisto.
811
812         * html/HTMLDetailsElement.h:
813         * html/HTMLDetailsElement.cpp:
814         (WebCore::HTMLDetailsElement::findMainSummary):
815
816 2014-02-06  Antti Koivisto  <antti@apple.com>
817
818         Add missing &.
819
820         * css/StyleInvalidationAnalysis.cpp:
821         (WebCore::shouldDirtyAllStyle):
822
823 2014-02-06  Antti Koivisto  <antti@apple.com>
824
825         Check selectors exactly when invalidating style
826         https://bugs.webkit.org/show_bug.cgi?id=128321
827
828         Reviewed by Andreas Kling.
829         
830         Selectors are now really fast to match with the JIT. Take advantage of this by invalidating
831         the document style exactly when a new stylesheet arrives (instead of using heuristics).
832         
833         This reduces need for large style recalculations in some common cases.
834
835         * css/ElementRuleCollector.cpp:
836         (WebCore::ElementRuleCollector::clearMatchedRules):
837         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
838         * css/ElementRuleCollector.h:
839         (WebCore::ElementRuleCollector::hasMatchedRules):
840         * css/RuleSet.h:
841         (WebCore::RuleSet::hasShadowPseudoElementRules):
842         * css/SelectorChecker.cpp:
843         (WebCore::SelectorChecker::matchRecursively):
844         * css/SelectorChecker.h:
845         
846             Add new mode where all pseudo elements match so we can invalidate their element.
847
848         * css/StyleInvalidationAnalysis.cpp:
849         (WebCore::shouldDirtyAllStyle):
850         (WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
851         (WebCore::invalidateStyleRecursively):
852         (WebCore::StyleInvalidationAnalysis::invalidateStyle):
853         
854             Switch to real selector checker.
855
856         * css/StyleInvalidationAnalysis.h:
857         * css/StyleResolver.cpp:
858         (WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
859         * css/StyleResolver.h:
860         (WebCore::StyleResolver::mediaQueryEvaluator):
861         * dom/DocumentStyleSheetCollection.cpp:
862         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
863
864 2014-02-06  Gavin Barraclough  <barraclough@apple.com>
865
866         Remove ChildProcess::m_activeTasks
867         https://bugs.webkit.org/show_bug.cgi?id=128342
868
869         Reviewed by Anders Carlson.
870
871         Currently we funnel a number of different user activities
872         to a single UserActivity object, which requires a call down
873         from WebCore to WebKit2. Split these out so we can track
874         them separately.
875
876         * page/ChromeClient.h:
877             - removed [inc|dec]rementActivePageCount
878         * page/PageThrottler.cpp:
879         (WebCore::PageThrottler::PageThrottler):
880             - incrementActivePageCount -> beginActivity
881         (WebCore::PageThrottler::~PageThrottler):
882             - decrementActivePageCount -> endActivity
883         (WebCore::PageThrottler::throttlePage):
884             - decrementActivePageCount -> endActivity
885         (WebCore::PageThrottler::unthrottlePage):
886             - incrementActivePageCount -> beginActivity
887         * page/PageThrottler.h:
888             - Added m_pageActivity.
889
890 2014-02-06  Commit Queue  <commit-queue@webkit.org>
891
892         Unreviewed, rolling out r163558.
893         http://trac.webkit.org/changeset/163558
894         https://bugs.webkit.org/show_bug.cgi?id=128350
895
896         Breaks scrolling on certain websites (Requested by bfulgham on
897         #webkit).
898
899         * page/EventHandler.cpp:
900         (WebCore::EventHandler::handleWheelEvent):
901         * page/WheelEventDeltaTracker.h:
902
903 2014-02-06  Chris Fleizach  <cfleizach@apple.com>
904
905         AX: Crash in WebCore::AXObjectCache::computedObjectAttributeCache
906         https://bugs.webkit.org/show_bug.cgi?id=128310
907
908         Reviewed by Alexey Proskuryakov.
909
910         Be more careful about using axObjectCache() directly since it can return null.
911         I audited the usage cases of this method and ensured the ptr was not null in cases
912         where I thought we might get hit by this.
913
914         * accessibility/AccessibilityNodeObject.cpp:
915         (WebCore::AccessibilityNodeObject::parentObject):
916         (WebCore::AccessibilityNodeObject::menuForMenuButton):
917         (WebCore::AccessibilityNodeObject::menuButtonForMenu):
918         * accessibility/AccessibilityObject.cpp:
919         (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
920         (WebCore::AccessibilityObject::findMatchingObjects):
921         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
922         (WebCore::AccessibilityObject::axObjectCache):
923         (WebCore::AccessibilityObject::notifyIfIgnoredValueChanged):
924         (WebCore::AccessibilityObject::accessibilityIsIgnored):
925         * accessibility/AccessibilityRenderObject.cpp:
926         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
927         (WebCore::AccessibilityRenderObject::parentObject):
928         (WebCore::AccessibilityRenderObject::anchorElement):
929         (WebCore::AccessibilityRenderObject::isTabItemSelected):
930         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
931         (WebCore::AccessibilityRenderObject::nodeIsTextControl):
932         (WebCore::AccessibilityRenderObject::activeDescendant):
933         (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
934         (WebCore::AccessibilityRenderObject::observableObject):
935         (WebCore::AccessibilityRenderObject::textChanged):
936         * accessibility/AccessibilityScrollView.cpp:
937         (WebCore::AccessibilityScrollView::addChildScrollbar):
938         (WebCore::AccessibilityScrollView::webAreaObject):
939         (WebCore::AccessibilityScrollView::parentObject):
940         (WebCore::AccessibilityScrollView::parentObjectIfExists):
941
942 2014-02-06  Zoltan Horvath  <zoltan@webkit.org>
943
944         [CSS Shapes] Rounded Insets Let Content Overlap Shape
945         https://bugs.webkit.org/show_bug.cgi?id=127852
946
947         Reviewed by Bem Jones-Bey.
948
949         Using LengthSize to FloatSize conversion from LengthSize.h lead to miscalculated
950         inset border radius, when the border radius was defined by percentages. This patch
951         fixes the behavior and removes the incorrect conversion.
952
953         Test: fast/shapes/shape-outside-floats/shape-outside-rounded-inset.html
954
955         * css/LengthFunctions.cpp:
956         (WebCore::floatSizeForLengthSize): Add new helper function for LengthSize to FloatSize conversion.
957         * css/LengthFunctions.h:
958         * platform/LengthSize.h: Remove floatSize conversion.
959         * rendering/shapes/Shape.cpp:
960         (WebCore::Shape::createShape): Use new helper function to calculate the right with for the inset border radius.
961
962 2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
963
964         Regenerate JSTestObj now that ScriptArguments moved. Generator knows what to do.
965
966         Rubber-stamped by Zalan Bujtas.
967
968         * bindings/scripts/test/JS/JSTestObj.cpp:
969         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
970
971 2014-02-04  Jeffrey Pfau  <jpfau@apple.com>
972
973         Make adoption agency use the task queue
974         https://bugs.webkit.org/show_bug.cgi?id=109445
975
976         Reviewed by Ryosuke Niwa.
977
978         Tests: fast/parser/adoption-agency-crash-01.html
979                fast/parser/adoption-agency-crash-02.html
980                fast/parser/adoption-agency-crash-03.html
981
982         * html/parser/HTMLConstructionSite.cpp:
983         (WebCore::insert):
984         (WebCore::executeInsertTask):
985         (WebCore::executeReparentTask):
986         (WebCore::executeInsertAlreadyParsedChildTask):
987         (WebCore::executeTakeAllChildrenTask):
988         (WebCore::executeTask):
989         (WebCore::HTMLConstructionSite::attachLater):
990         (WebCore::HTMLConstructionSite::executeQueuedTasks):
991         (WebCore::HTMLConstructionSite::insertTextNode):
992         (WebCore::HTMLConstructionSite::reparent):
993         (WebCore::HTMLConstructionSite::insertAlreadyParsedChild):
994         (WebCore::HTMLConstructionSite::takeAllChildren):
995         (WebCore::HTMLConstructionSite::fosterParent):
996         * html/parser/HTMLConstructionSite.h:
997         (WebCore::HTMLConstructionSiteTask::HTMLConstructionSiteTask):
998         (WebCore::HTMLConstructionSiteTask::oldParent):
999         * html/parser/HTMLTreeBuilder.cpp:
1000         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1001
1002 2014-02-06  Mark Hahnenberg  <mhahnenberg@apple.com>
1003
1004         Heap::writeBarrier shouldn't be static
1005         https://bugs.webkit.org/show_bug.cgi?id=127807
1006
1007         Reviewed by Geoffrey Garen.
1008
1009         Currently it looks up the Heap in which to fire the write barrier by using 
1010         the cell passed to it. Almost every call site already has a reference to the 
1011         VM or the Heap itself. It seems wasteful to look it up all over again.
1012
1013         * bindings/js/JSEventListener.cpp:
1014         (WebCore::JSEventListener::JSEventListener):
1015         * bindings/js/JSEventListener.h:
1016         (WebCore::JSEventListener::jsFunction):
1017
1018 2014-02-06  Jaehun Lim  <ljaehun.lim@samsung.com>
1019
1020         Unreviewed, fix build error on 64bit debug build
1021
1022         Apply static_cast<long long> to int64_t variable when '%lli' is used.
1023
1024         * Modules/indexeddb/IDBDatabaseBackend.cpp:
1025         (WebCore::IDBDatabaseBackend::clearObjectStore):
1026         * Modules/indexeddb/IDBTransaction.cpp:
1027         (WebCore::IDBTransaction::setActive):
1028
1029 2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
1030
1031         Web Inspector: Add Console support to JSContext Inspection
1032         https://bugs.webkit.org/show_bug.cgi?id=127941
1033
1034         Reviewed by Geoffrey Garen.
1035
1036           - Move InspectorConsoleAgent and dependencies to JavaScriptCore
1037             and into the Inspector namespace.
1038           - Update Console Message enum types to enum classes and update
1039             all users to the new, simpler names.
1040           - Since we are updating addConsoleMessage callsites anyways, add
1041             ASCIILiteral where appropriate.
1042           - Add WebConsoleAgent base of Page/Worker ConsoleAgent to implement
1043             what could not be pushed into JavaScriptCore.
1044
1045         * CMakeLists.txt:
1046         * DerivedSources.make:
1047         * ForwardingHeaders/inspector/ConsoleMessage.h: Added.
1048         * ForwardingHeaders/inspector/ConsoleTypes.h: Added.
1049         * ForwardingHeaders/inspector/IdentifiersFactory.h: Added.
1050         * ForwardingHeaders/inspector/ScriptArguments.h: Added.
1051         * ForwardingHeaders/inspector/ScriptCallFrame.h: Added.
1052         * ForwardingHeaders/inspector/ScriptCallStack.h: Added.
1053         * ForwardingHeaders/inspector/ScriptCallStackFactory.h: Added.
1054         * ForwardingHeaders/inspector/agents/InspectorConsoleAgent.h: Added.
1055         * GNUmakefile.am:
1056         * GNUmakefile.list.am:
1057         Add / remove files from builds.
1058
1059         * inspector/WebConsoleAgent.h:
1060         * inspector/WebConsoleAgent.cpp: Added.
1061         (WebCore::WebConsoleAgent::WebConsoleAgent):
1062         (WebCore::WebConsoleAgent::setMonitoringXHREnabled):
1063         (WebCore::WebConsoleAgent::frameWindowDiscarded):
1064         (WebCore::WebConsoleAgent::didFinishXHRLoading):
1065         (WebCore::WebConsoleAgent::didReceiveResponse):
1066         (WebCore::WebConsoleAgent::didFailLoading):
1067         (WebCore::WebConsoleAgent::addInspectedHeapObject):
1068         Implement what could not be pushed down into JavaScriptCore.
1069
1070         * inspector/InstrumentingAgents.h:
1071         (WebCore::InstrumentingAgents::webConsoleAgent):
1072         (WebCore::InstrumentingAgents::setWebConsoleAgent):
1073         Hold a WebConsoleAgent instead of InspectorConsoleAgent.
1074
1075         * Modules/indexeddb/IDBCursor.cpp:
1076         * Modules/indexeddb/IDBDatabase.cpp:
1077         * Modules/indexeddb/IDBTransaction.cpp:
1078         * Modules/quota/DOMWindowQuota.cpp:
1079         (WebCore::DOMWindowQuota::webkitStorageInfo):
1080         * Modules/webaudio/AudioBufferSourceNode.cpp:
1081         (WebCore::AudioBufferSourceNode::looping):
1082         (WebCore::AudioBufferSourceNode::setLooping):
1083         * Modules/webaudio/AudioContext.cpp:
1084         * Modules/webaudio/PannerNode.cpp:
1085         (WebCore::PannerNode::setPanningModel):
1086         * Modules/webdatabase/DatabaseBase.cpp:
1087         (WebCore::DatabaseBase::logErrorMessage):
1088         * Modules/webdatabase/DatabaseManager.cpp:
1089         (WebCore::DatabaseManager::logErrorMessage):
1090         * Modules/websockets/WebSocket.cpp:
1091         (WebCore::WebSocket::connect):
1092         (WebCore::WebSocket::send):
1093         (WebCore::WebSocket::close):
1094         (WebCore::WebSocket::setBinaryType):
1095         * Modules/websockets/WebSocketChannel.cpp:
1096         (WebCore::WebSocketChannel::fail):
1097         (WebCore::WebSocketChannel::didFailSocketStream):
1098         * Modules/websockets/WebSocketHandshake.cpp:
1099         * WebCore.exp.in:
1100         * WebCore.vcxproj/WebCore.vcxproj:
1101         * WebCore.vcxproj/WebCore.vcxproj.filters:
1102         * WebCore.xcodeproj/project.pbxproj:
1103         * bindings/js/JSAudioContextCustom.cpp:
1104         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
1105         * bindings/js/JSCustomXPathNSResolver.cpp:
1106         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1107         * bindings/js/JSDOMBinding.cpp:
1108         * bindings/js/JSSubtleCryptoCustom.cpp:
1109         (WebCore::JSSubtleCrypto::encrypt):
1110         (WebCore::JSSubtleCrypto::decrypt):
1111         (WebCore::JSSubtleCrypto::sign):
1112         (WebCore::JSSubtleCrypto::verify):
1113         (WebCore::JSSubtleCrypto::wrapKey):
1114         (WebCore::JSSubtleCrypto::unwrapKey):
1115         * bindings/js/ScriptController.cpp:
1116         (WebCore::ScriptController::canExecuteScripts):
1117         * bindings/scripts/CodeGeneratorJS.pm:
1118         (GenerateCallWith):
1119         * bindings/scripts/test/JS/JSTestObj.cpp:
1120         * css/CSSParser.cpp:
1121         (WebCore::CSSParser::logError):
1122         * css/MediaList.cpp:
1123         (WebCore::addResolutionWarningMessageToConsole):
1124         * dom/Document.cpp:
1125         (WebCore::Document::logExceptionToConsole):
1126         (WebCore::Document::processHttpEquiv):
1127         (WebCore::Document::addMessage):
1128         * dom/Document.h:
1129         * dom/ScriptElement.cpp:
1130         (WebCore::ScriptElement::executeScript):
1131         (WebCore::ScriptElement::notifyFinished):
1132         * dom/ScriptExecutionContext.cpp:
1133         * dom/ScriptExecutionContext.h:
1134         * dom/ViewportArguments.cpp:
1135         (WebCore::viewportErrorMessageLevel):
1136         (WebCore::reportViewportWarning):
1137         * fileapi/Blob.cpp:
1138         * fileapi/WebKitBlobBuilder.cpp:
1139         * html/HTMLFormControlElement.cpp:
1140         (WebCore::shouldAutofocus):
1141         * html/HTMLFormElement.cpp:
1142         (WebCore::HTMLFormElement::validateInteractively):
1143         * html/HTMLIFrameElement.cpp:
1144         (WebCore::HTMLIFrameElement::parseAttribute):
1145         * html/HTMLMediaElement.cpp:
1146         (WebCore::HTMLMediaElement::parseAttribute):
1147         * html/canvas/CanvasRenderingContext2D.cpp:
1148         (WebCore::CanvasRenderingContext2D::getImageData):
1149         * html/canvas/WebGLRenderingContext.cpp:
1150         (WebCore::WebGLRenderingContext::printWarningToConsole):
1151         * html/parser/XSSAuditor.cpp:
1152         (WebCore::XSSAuditor::init):
1153         * html/parser/XSSAuditorDelegate.cpp:
1154         (WebCore::XSSAuditorDelegate::didBlockScript):
1155         * inspector/CommandLineAPIHost.cpp:
1156         * inspector/CommandLineAPIHost.h:
1157         (WebCore::CommandLineAPIHost::init):
1158         * inspector/InspectorAllInOne.cpp:
1159         * inspector/InspectorConsoleAgent.h: Removed.
1160         * inspector/InspectorConsoleInstrumentation.h:
1161         (WebCore::InspectorInstrumentation::addMessageToConsole):
1162         (WebCore::InspectorInstrumentation::consoleCount):
1163         (WebCore::InspectorInstrumentation::stopConsoleTiming):
1164         (WebCore::InspectorInstrumentation::consoleTimeStamp):
1165         (WebCore::InspectorInstrumentation::addProfile):
1166         * inspector/InspectorController.cpp:
1167         (WebCore::InspectorController::InspectorController):
1168         * inspector/InspectorDOMAgent.cpp:
1169         * inspector/InspectorFrontendHost.h:
1170         * inspector/InspectorInstrumentation.cpp:
1171         (WebCore::InspectorInstrumentation::frameWindowDiscardedImpl):
1172         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
1173         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
1174         (WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
1175         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1176         (WebCore::isConsoleAssertMessage):
1177         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1178         (WebCore::InspectorInstrumentation::consoleCountImpl):
1179         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
1180         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
1181         (WebCore::InspectorInstrumentation::consoleAgentEnabled):
1182         * inspector/InspectorInstrumentation.h:
1183         * inspector/InspectorLayerTreeAgent.cpp:
1184         * inspector/InspectorPageAgent.cpp:
1185         * inspector/InspectorProfilerAgent.cpp:
1186         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
1187         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
1188         * inspector/InspectorProfilerAgent.h:
1189         * inspector/InspectorResourceAgent.cpp:
1190         (WebCore::InspectorResourceAgent::buildInitiatorObject):
1191         * inspector/InspectorTimelineAgent.cpp:
1192         * inspector/InstrumentingAgents.cpp:
1193         (WebCore::InstrumentingAgents::InstrumentingAgents):
1194         (WebCore::InstrumentingAgents::reset):
1195         * inspector/PageConsoleAgent.cpp:
1196         (WebCore::PageConsoleAgent::PageConsoleAgent):
1197         (WebCore::PageConsoleAgent::clearMessages):
1198         (WebCore::PageConsoleAgent::addInspectedNode):
1199         * inspector/PageConsoleAgent.h:
1200         * inspector/PageDebuggerAgent.cpp:
1201         (WebCore::PageDebuggerAgent::breakpointActionLog):
1202         * inspector/PageInjectedScriptHost.h:
1203         * inspector/PageInjectedScriptManager.h:
1204         * inspector/TimelineRecordFactory.cpp:
1205         (WebCore::TimelineRecordFactory::createGenericRecord):
1206         (WebCore::WebConsoleAgent::~WebConsoleAgent):
1207         * inspector/WorkerConsoleAgent.cpp:
1208         (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
1209         (WebCore::WorkerConsoleAgent::addInspectedNode):
1210         * inspector/WorkerConsoleAgent.h:
1211         * inspector/WorkerDebuggerAgent.cpp:
1212         (WebCore::WorkerDebuggerAgent::breakpointActionLog):
1213         * inspector/WorkerInspectorController.cpp:
1214         (WebCore::WorkerInspectorController::WorkerInspectorController):
1215         * loader/DocumentLoader.cpp:
1216         (WebCore::DocumentLoader::responseReceived):
1217         * loader/FrameLoader.cpp:
1218         (WebCore::FrameLoader::submitForm):
1219         (WebCore::FrameLoader::reportLocalLoadFailed):
1220         (WebCore::FrameLoader::handleBeforeUnloadEvent):
1221         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
1222         (WebCore::createWindow):
1223         * loader/ImageLoader.cpp:
1224         (WebCore::ImageLoader::notifyFinished):
1225         * loader/MixedContentChecker.cpp:
1226         (WebCore::MixedContentChecker::logWarning):
1227         * loader/TextTrackLoader.cpp:
1228         (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
1229         * loader/appcache/ApplicationCacheGroup.cpp:
1230         (WebCore::ApplicationCacheGroup::abort):
1231         (WebCore::ApplicationCacheGroup::didReceiveResponse):
1232         (WebCore::ApplicationCacheGroup::didFinishLoading):
1233         (WebCore::ApplicationCacheGroup::didFail):
1234         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
1235         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1236         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
1237         * loader/cache/CachedResourceLoader.cpp:
1238         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
1239         * page/ChromeClient.h:
1240         * page/Console.cpp:
1241         (WebCore::internalAddMessage):
1242         (WebCore::Console::debug):
1243         (WebCore::Console::error):
1244         (WebCore::Console::log):
1245         (WebCore::Console::warn):
1246         (WebCore::Console::dir):
1247         (WebCore::Console::dirxml):
1248         (WebCore::Console::table):
1249         (WebCore::Console::clear):
1250         (WebCore::Console::trace):
1251         (WebCore::Console::assertCondition):
1252         (WebCore::Console::group):
1253         (WebCore::Console::groupCollapsed):
1254         (WebCore::Console::groupEnd):
1255         * page/Console.h:
1256         * page/ConsoleTypes.h: Removed.
1257         * page/ContentSecurityPolicy.cpp:
1258         (WebCore::ContentSecurityPolicy::reportViolation):
1259         (WebCore::ContentSecurityPolicy::logToConsole):
1260         * page/DOMSecurityPolicy.cpp:
1261         * page/DOMWindow.cpp:
1262         (WebCore::DOMWindow::postMessage):
1263         (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
1264         (WebCore::DOMWindow::close):
1265         (WebCore::DOMWindow::printErrorMessage):
1266         * page/DOMWindow.h:
1267         * page/EventSource.cpp:
1268         (WebCore::EventSource::didReceiveResponse):
1269         (WebCore::EventSource::didFailAccessControlCheck):
1270         * page/PageConsole.cpp:
1271         (WebCore::PageConsole::printMessageSourceAndLevelPrefix):
1272         (WebCore::PageConsole::addMessage):
1273         * page/PageConsole.h:
1274         * page/PointerLockController.cpp:
1275         (WebCore::PointerLockController::requestPointerLock):
1276         * platform/CrossThreadCopier.h:
1277         * rendering/shapes/ShapeInfo.cpp:
1278         (WebCore::checkShapeImageOrigin):
1279         * svg/SVGDocumentExtensions.cpp:
1280         (WebCore::reportMessage):
1281         (WebCore::SVGDocumentExtensions::reportWarning):
1282         (WebCore::SVGDocumentExtensions::reportError):
1283         * testing/Internals.cpp:
1284         (WebCore::Internals::consoleMessageArgumentCounts):
1285         * workers/DefaultSharedWorkerRepository.cpp:
1286         * workers/SharedWorkerGlobalScope.cpp:
1287         (WebCore::SharedWorkerGlobalScope::logExceptionToConsole):
1288         * workers/SharedWorkerGlobalScope.h:
1289         * workers/WorkerGlobalScope.cpp:
1290         (WebCore::WorkerGlobalScope::addMessageToWorkerConsole):
1291         * workers/WorkerGlobalScope.h:
1292         * workers/WorkerMessagingProxy.cpp:
1293         * workers/WorkerReportingProxy.h:
1294         * xml/XMLHttpRequest.cpp:
1295         (WebCore::logConsoleError):
1296         (WebCore::XMLHttpRequest::send):
1297         * xml/XSLTProcessorLibxslt.cpp:
1298         (WebCore::XSLTProcessor::parseErrorFunc):
1299
1300 2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
1301
1302         Convert a parameter to PassRefPtr
1303         https://bugs.webkit.org/show_bug.cgi?id=128327
1304
1305         Reviewed by Timothy Hatcher.
1306
1307         * inspector/InspectorConsoleInstrumentation.h:
1308         (WebCore::InspectorInstrumentation::addProfile):
1309         * inspector/InspectorInstrumentation.h:
1310
1311 2014-01-30  Oliver Hunt  <oliver@apple.com>
1312
1313         Push DOM attributes into the prototype chain
1314         https://bugs.webkit.org/show_bug.cgi?id=127969
1315
1316         Reviewed by Mark Lam.
1317
1318         This patch does the actual work of moving dom attributes up the
1319         prototype chain. There are still a few class and edge cases
1320         where we can't do this without impacting existing behaviour,
1321         but they can be fixed separately in later patches.
1322
1323         * bindings/js/JSDOMBinding.h:
1324         (WebCore::getStaticPropertySlotEntryWithoutCaching):
1325         (WebCore::getStaticPropertySlotEntryWithoutCaching<JSDOMWrapper>):
1326         * bindings/scripts/CodeGeneratorJS.pm:
1327         (GenerateGetOwnPropertySlotBody):
1328         (HasComplexGetOwnProperty):
1329         (ConstructorShouldBeOnInstance):
1330         (AttributeShouldBeOnInstance):
1331         (InstanceAttributeCount):
1332         (PrototypeAttributeCount):
1333         (InstanceOverridesGetOwnPropertySlot):
1334         (PrototypeOverridesGetOwnPropertySlot):
1335         (GenerateAttributesHashTable):
1336         (GenerateImplementation):
1337
1338 2014-02-06  Andreas Kling  <akling@apple.com>
1339
1340         Remove display:run-in support.
1341         <https://webkit.org/b/127874>
1342         <rdar://problem/15926949>
1343
1344         Remove support for the "run-in" display type. Blink recently removed
1345         this and Gecko never supported in the first place.
1346
1347         Rubber-stamped by Anders Carlsson.
1348
1349         * css/CSSParser.cpp:
1350         (WebCore::isValidKeywordPropertyAndValue):
1351         * css/CSSPrimitiveValueMappings.h:
1352         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1353         * css/CSSValueKeywords.in:
1354         * css/StyleResolver.cpp:
1355         (WebCore::equivalentBlockDisplay):
1356         (WebCore::doesNotInheritTextDecoration):
1357         * rendering/RenderBlock.cpp:
1358         (WebCore::RenderBlock::willBeDestroyed):
1359         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1360         (WebCore::RenderBlock::makeChildrenNonInline):
1361         (WebCore::canMergeContiguousAnonymousBlocks):
1362         (WebCore::RenderBlock::renderName):
1363         * rendering/RenderBlock.h:
1364         * rendering/RenderBlockFlow.cpp:
1365         (WebCore::RenderBlockFlow::willBeDestroyed):
1366         (WebCore::shouldCheckLines):
1367         (WebCore::getHeightForLineCount):
1368         * rendering/RenderElement.cpp:
1369         (WebCore::RenderElement::createFor):
1370         (WebCore::RenderElement::destroyLeftoverChildren):
1371         * rendering/RenderFileUploadControl.cpp:
1372         * rendering/RenderFileUploadControl.h:
1373         * rendering/RenderInline.cpp:
1374         (WebCore::RenderInline::updateFromStyle):
1375         (WebCore::RenderInline::renderName):
1376         (WebCore::RenderInline::clippedOverflowRectForRepaint):
1377         * rendering/RenderListBox.cpp:
1378         * rendering/RenderListBox.h:
1379         * rendering/RenderMenuList.cpp:
1380         * rendering/RenderMenuList.h:
1381         * rendering/RenderObject.cpp:
1382         * rendering/RenderObject.h:
1383         * rendering/RenderProgress.cpp:
1384         * rendering/RenderProgress.h:
1385         * rendering/RenderSlider.cpp:
1386         * rendering/RenderSlider.h:
1387         * rendering/RenderTextControl.cpp:
1388         * rendering/RenderTextControl.h:
1389         * rendering/RenderTheme.cpp:
1390         (WebCore::RenderTheme::adjustStyle):
1391         * rendering/style/RenderStyleConstants.h:
1392
1393 2014-02-06  Andreas Kling  <akling@apple.com>
1394
1395         Remove leftover cruft from scoped stylesheet implementation.
1396         <https://webkit.org/b/128139>
1397
1398         Kill some pointless non-null checks that were left behind by the
1399         removed <style scoped> code. Also pruned outdated comments and
1400         FIXME's about such scopes.
1401
1402         Reviewed by Antti Koivisto.
1403
1404         * css/ElementRuleCollector.cpp:
1405         (WebCore::ElementRuleCollector::collectMatchingRules):
1406         * css/RuleSet.cpp:
1407         (WebCore::RuleSet::addChildRules):
1408         (WebCore::RuleSet::addRulesFromSheet):
1409         * css/RuleSet.h:
1410         * css/StyleResolver.cpp:
1411         (WebCore::StyleResolver::checkRegionStyle):
1412
1413 2014-02-05  Brent Fulgham  <bfulgham@apple.com>
1414
1415         Wheel events don't latch to inner scrollable elements 
1416         https://bugs.webkit.org/show_bug.cgi?id=128225
1417
1418         Reviewed by Beth Dakin.
1419
1420         * page/EventHandler.cpp:
1421         (WebCore::EventHandler::handleWheelEvent): Identify the case
1422         where we have hit the end of a scroll, and treat that as a
1423         valid 'handled' case. If the scroll event is just starting,
1424         treat end-of-scroll as unhandled so the parent element can
1425         handle things.
1426         * page/WheelEventDeltaTracker.h:
1427         (WebCore::WheelEventDeltaTracker::isFirstWheelEvent): Added.
1428
1429 2014-02-06  Commit Queue  <commit-queue@webkit.org>
1430
1431         Unreviewed, rolling out r163542.
1432         http://trac.webkit.org/changeset/163542
1433         https://bugs.webkit.org/show_bug.cgi?id=128324
1434
1435         Caused many assertion failures (Requested by ap on #webkit).
1436
1437         * bindings/js/JSEventListener.cpp:
1438         (WebCore::JSEventListener::JSEventListener):
1439         * bindings/js/JSEventListener.h:
1440         (WebCore::JSEventListener::jsFunction):
1441
1442 2014-02-06  Frédéric Wang  <fred.wang@free.fr>
1443
1444         Do not draw multi-characters <mi> in italic.
1445         https://bugs.webkit.org/show_bug.cgi?id=44208
1446
1447         Reviewed by Chris Fleizach.
1448
1449         This test prevents multi-char <mi> to be drawn in italic and prepare
1450         further improvements to MathML token and mfenced elements (bugs 124838
1451         and bug 99620).
1452
1453         Test: mathml/presentation/tokenElements-dynamic.html
1454
1455         * CMakeLists.txt:
1456         * GNUmakefile.list.am:
1457         * WebCore.vcxproj/WebCore.vcxproj:
1458         * WebCore.vcxproj/WebCore.vcxproj.filters:
1459         * WebCore.xcodeproj/project.pbxproj:
1460         * css/mathml.css:
1461         (mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
1462         * mathml/MathMLTextElement.cpp:
1463         (WebCore::MathMLTextElement::didAttachRenderers):
1464         (WebCore::MathMLTextElement::childrenChanged):
1465         (WebCore::MathMLTextElement::createElementRenderer):
1466         * rendering/RenderObject.h:
1467         (WebCore::RenderObject::isRenderMathMLToken):
1468         * rendering/mathml/RenderMathMLToken.cpp: Added.
1469         (WebCore::RenderMathMLToken::RenderMathMLToken):
1470         (WebCore::RenderMathMLToken::addChild):
1471         (WebCore::RenderMathMLToken::createWrapperIfNeeded):
1472         (WebCore::RenderMathMLToken::updateTokenContent):
1473         (WebCore::RenderMathMLToken::updateStyle):
1474         (WebCore::RenderMathMLToken::styleDidChange):
1475         (WebCore::RenderMathMLToken::updateFromElement):
1476         * rendering/mathml/RenderMathMLToken.h: Added.
1477         (WebCore::RenderMathMLToken::element):
1478         (WebCore::RenderMathMLToken>):
1479
1480 2014-02-06  Zoltan Horvath  <zoltan@webkit.org>
1481
1482         [CSS Shapes] Simplify BasicShapeInset creation
1483         https://bugs.webkit.org/show_bug.cgi?id=128314
1484
1485         Reviewed by David Hyatt.
1486
1487         Introduce convertToLengthSize helper function in order to simplify and make BasicShapeInset more readable.
1488
1489         No new tests, no behavior change.
1490
1491         * css/BasicShapeFunctions.cpp:
1492         (WebCore::convertToLengthSize):
1493         (WebCore::basicShapeForValue):
1494
1495 2014-02-06  Anders Carlsson  <andersca@apple.com>
1496
1497         Try to fix the Windows build.
1498
1499         * loader/DocumentThreadableLoader.cpp:
1500         (WebCore::DocumentThreadableLoader::didReceiveResponse):
1501
1502 2014-01-29  Sergio Villar Senin  <svillar@igalia.com>
1503
1504         [CSS Grid Layout] getComputedStyle() is wrong for grid-definition-{columns|rows}
1505         https://bugs.webkit.org/show_bug.cgi?id=127033
1506
1507         Reviewed by Andreas Kling.
1508
1509         Tests: fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html
1510                fast/css-grid-layout/non-grid-columns-rows-get-set.html
1511                fast/css-grid-layout/non-grid-element-repeat-get-set.html
1512                fast/css-grid-layout/non-named-grid-line-get-set.html
1513
1514         According to the specs getComputedStyle() should return the used
1515         values instead of the resolved values for compatibility with early
1516         implementations. This means that grid-definition-{columns|rows}
1517         are now layout dependent as we need to compute the used values for
1518         grid track sizes.
1519
1520         Updated the outcome of existing tests and added a bunch of new
1521         ones that check the behavior of the different properties outside
1522         grid containers.
1523
1524         * css/CSSComputedStyleDeclaration.cpp:
1525         (WebCore::specifiedValueForGridTrackSize):
1526         (WebCore::valueForGridTrackList):
1527         (WebCore::isLayoutDependent):
1528         (WebCore::ComputedStyleExtractor::propertyValue):
1529         * rendering/RenderGrid.cpp:
1530         (WebCore::RenderGrid::GridIterator::GridIterator):
1531         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
1532         (WebCore::RenderGrid::computeUsedBreadthOfMinLength):
1533         (WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
1534         (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
1535         (WebCore::RenderGrid::computeNormalizedFractionBreadth):
1536         (WebCore::RenderGrid::gridTrackSize):
1537         (WebCore::RenderGrid::minContentForChild):
1538         (WebCore::RenderGrid::maxContentForChild):
1539         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
1540         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
1541         (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
1542         (WebCore::RenderGrid::growGrid):
1543         (WebCore::RenderGrid::autoPlacementMajorAxisDirection):
1544         (WebCore::RenderGrid::autoPlacementMinorAxisDirection):
1545         (WebCore::RenderGrid::layoutGridItems):
1546         (WebCore::RenderGrid::resolveGridPositionsFromAutoPlacementPosition):
1547         (WebCore::RenderGrid::resolveGridPositionsFromStyle):
1548         (WebCore::RenderGrid::gridAreaBreadthForChild):
1549         (WebCore::RenderGrid::populateGridPositions):
1550         (WebCore::RenderGrid::findChildLogicalPosition):
1551         * rendering/RenderGrid.h:
1552
1553 2014-02-06  Anders Carlsson  <andersca@apple.com>
1554
1555         Modernize CrossOriginPreflightResultCache
1556         https://bugs.webkit.org/show_bug.cgi?id=128309
1557
1558         Reviewed by Antti Koivisto.
1559
1560         Use std::chrono::steady_clock instead of currentTime() for determining when
1561         cache items expire, Use std::unique_ptr instead of OwnPtr, use NeverDestroyed,
1562         get rid of unnecessary container typedefs now that we have auto. Finally,
1563         de-indent the entire class declaration.
1564
1565         * loader/CrossOriginPreflightResultCache.cpp:
1566         (WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache):
1567         (WebCore::parseAccessControlMaxAge):
1568         (WebCore::CrossOriginPreflightResultCacheItem::parse):
1569         (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
1570         (WebCore::CrossOriginPreflightResultCache::shared):
1571         (WebCore::CrossOriginPreflightResultCache::appendEntry):
1572         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
1573         * loader/CrossOriginPreflightResultCache.h:
1574         (WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):
1575         * loader/DocumentThreadableLoader.cpp:
1576         (WebCore::DocumentThreadableLoader::didReceiveResponse):
1577
1578 2014-02-06  Gurpreet Kaur  <k.gurpreet@samsung.com>
1579
1580         Menclose with no notation attribute does not display anything.
1581         https://bugs.webkit.org/show_bug.cgi?id=127889
1582
1583         Reviewed by Chris Fleizach.
1584
1585         Menclose with no notation attribute should behave same as menclose with
1586         notation attribute with value as longdiv. By default the division
1587         symbol should be displayed. For empty and invalid notation attribute
1588         nothing should be displayed.
1589
1590         Tests: mathml/presentation/menclose-notation-default-longdiv.html
1591                mathml/presentation/menclose-notation-invalid-empty.html
1592
1593         * mathml/MathMLMencloseElement.h:
1594         * rendering/mathml/RenderMathMLMenclose.cpp:
1595         (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
1596         (WebCore::RenderMathMLMenclose::paint):
1597         Added style for menclose with no notation attribute and handled this
1598         condition in paint also where for longdiv we are explicitly drawing
1599         the division symbol.
1600
1601 2014-02-05  Mark Hahnenberg  <mhahnenberg@apple.com>
1602
1603         Heap::writeBarrier shouldn't be static
1604         https://bugs.webkit.org/show_bug.cgi?id=127807
1605
1606         Reviewed by Geoffrey Garen.
1607
1608         Currently it looks up the Heap in which to fire the write barrier by using 
1609         the cell passed to it. Almost every call site already has a reference to the 
1610         VM or the Heap itself. It seems wasteful to look it up all over again.
1611
1612         * bindings/js/JSEventListener.cpp:
1613         (WebCore::JSEventListener::JSEventListener):
1614         * bindings/js/JSEventListener.h:
1615         (WebCore::JSEventListener::jsFunction):
1616
1617 2014-02-06  Brady Eidson  <beidson@apple.com>
1618
1619         IDB: storage/indexeddb/mozilla/clear.html fails
1620         <rdar://problem/15997155> and https://bugs.webkit.org/show_bug.cgi?id=128282
1621
1622         Reviewed by David Kilzer.
1623
1624         Covered by storage/indexeddb/mozilla/clear.html (and probably others)
1625
1626         Update the value deserializer to take into account whether or not there was an IDBKey:
1627         * bindings/js/IDBBindingUtilities.cpp:
1628         (WebCore::deserializeIDBValueBuffer):
1629         * bindings/js/IDBBindingUtilities.h:
1630
1631         * Modules/indexeddb/IDBRequest.cpp:
1632         (WebCore::IDBRequest::onSuccess): Call the new form of deserializeIDBValueBuffer.
1633
1634         * Modules/indexeddb/IDBDatabaseBackend.cpp:
1635         (WebCore::IDBDatabaseBackend::clearObjectStore): Update logging.
1636
1637         * Modules/indexeddb/IDBTransaction.cpp:
1638         (WebCore::IDBTransaction::setActive): Update logging.
1639
1640         * Modules/indexeddb/IDBTransactionBackend.cpp:
1641         (WebCore::IDBTransactionBackend::commit): Fix ASSERTs to reflect multi-process worlds.
1642
1643 2014-02-06  Csaba Osztrogonác  <ossy@webkit.org>
1644
1645         Re-enable simple line layout on non-Mac platforms
1646         https://bugs.webkit.org/show_bug.cgi?id=123338
1647
1648         Reviewed by Anders Carlsson.
1649
1650         * rendering/SimpleLineLayout.cpp:
1651         (WebCore::SimpleLineLayout::canUseFor):
1652
1653 2014-02-06  Koop Mast <kwm@FreeBSD.org>
1654
1655         Use system default compiler instead of gcc, as final fall through.
1656         https://bugs.webkit.org/show_bug.cgi?id=126773
1657
1658         Reviewed by Alexey Proskuryakov.
1659
1660         * dom/make_names.pl:
1661
1662 2014-02-06  Eric Carlson  <eric.carlson@apple.com>
1663
1664         No need to enterFullscreen() when already in fullscreen
1665         https://bugs.webkit.org/show_bug.cgi?id=128276
1666
1667         Reviewed by Jer Noble.
1668
1669         No new tests, this is just cleanup.
1670
1671         * html/HTMLMediaElement.cpp:
1672         (WebCore::HTMLMediaElement::updatePlayState): Don't call enterFullscreen() if already there.
1673         (WebCore::HTMLMediaElement::enterFullscreen): Return early if m_isFullscreen is already true.
1674
1675 2014-02-06  Radu Stavila  <stavila@adobe.com>
1676
1677         [CSS Regions] Null dereference applying animation with CSS regions
1678         https://bugs.webkit.org/show_bug.cgi?id=128218
1679
1680         Reviewed by Andrei Bucur.
1681
1682         The first issue (the null dereference) was caused by the checkForZoomChange method
1683         not guarding against a null parentStyle parameter, as the checkForGenericFamilyChange 
1684         method does, which in the crashing scenario is called just before the faulty
1685         checkForZoomChange method.
1686         The second issue was an assert which was caused by the fact that detaching is performed
1687         in a certain situation if the element has a renderer or if it's inside a named flow.
1688         However, when reattaching and asserting the element has no renderer, the 
1689         "inside named flow" condition was no longer considered.
1690
1691         Test: fast/regions/animation-element-in-region-flowed-to-other-thread.html
1692
1693         * css/StyleResolver.cpp:
1694         (WebCore::StyleResolver::checkForZoomChange):
1695         * style/StyleResolveTree.cpp:
1696         (WebCore::Style::attachChildren):
1697
1698 2014-02-06  László Langó  <llango.u-szeged@partner.samsung.com>
1699
1700         Create a HTMLUnknownElement when using createElement('image')
1701         https://bugs.webkit.org/show_bug.cgi?id=125896
1702
1703         Reviewed by Antti Koivisto.
1704
1705         Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/fd8a7b65f3300fb9245db24d5ed240c80b7f76ad
1706
1707         * html/HTMLTagNames.in:
1708
1709 2014-02-06  Youenn Fablet  <youennf@gmail.com>
1710
1711         [XHR] Ensure response return null when error flag is set for blob and arraybuffer
1712         https://bugs.webkit.org/show_bug.cgi?id=127050
1713
1714         Reviewed by Alexey Proskuryakov.
1715
1716         Added a check in JSXMLHttpRequest::response to ensure response return null when error flag is set for blob and arraybuffer
1717         This check also applies to document and json response types (no change in behavior for those types but code path change)
1718         Added assertions in the related XMLHttpRequest blob and array buffer getters
1719         Minor code clean-up.
1720         The test cases check all four response types in case of timeout and abort
1721
1722         Tests: http/tests/xmlhttprequest/onabort-response-getters.html
1723                http/tests/xmlhttprequest/ontimeout-response-getters.html
1724
1725         * bindings/js/JSXMLHttpRequestCustom.cpp:
1726         (WebCore::JSXMLHttpRequest::response):
1727         * xml/XMLHttpRequest.cpp:
1728         (WebCore::XMLHttpRequest::didCacheResponseJSON):
1729         (WebCore::XMLHttpRequest::responseXML):
1730         (WebCore::XMLHttpRequest::responseBlob):
1731         (WebCore::XMLHttpRequest::responseArrayBuffer):
1732
1733 2014-02-05  Gavin Barraclough  <barraclough@apple.com>
1734
1735         Change Page, FocusController to use ViewState
1736         https://bugs.webkit.org/show_bug.cgi?id=126533
1737
1738         Reviewed by Tim Horton.
1739
1740         These classes currently maintain a set of separate fields to represent the view state;
1741         combine these into a single field, and allow WebPage to send the combined update rather
1742         than individual changes.
1743
1744         Maintain existing interface for WebKit1 clients.
1745
1746         * WebCore.exp.in:
1747             - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
1748         * page/FocusController.cpp:
1749         (WebCore::FocusController::FocusController):
1750             - Initialize combined m_viewState.
1751         (WebCore::FocusController::setFocused):
1752             - Calls setViewState.
1753         (WebCore::FocusController::setFocusedInternal):
1754             - setFocused -> setFocusedInternal.
1755         (WebCore::FocusController::setViewState):
1756             - Added, update all ViewState flags.
1757         (WebCore::FocusController::setActive):
1758             - Calls setViewState.
1759         (WebCore::FocusController::setActiveInternal):
1760             - setActive -> setActiveInternal.
1761         (WebCore::FocusController::setContentIsVisible):
1762             - Calls setViewState.
1763         (WebCore::FocusController::setContentIsVisibleInternal):
1764             - setContentIsVisible -> setContentIsVisibleInternal.
1765         * page/FocusController.h:
1766         (WebCore::FocusController::isActive):
1767         (WebCore::FocusController::isFocused):
1768         (WebCore::FocusController::contentIsVisible):
1769             - Implemented in terms of ViewState.
1770         * page/Page.cpp:
1771         (WebCore::Page::Page):
1772             - Initialize using PageInitialViewState.
1773         (WebCore::Page::setIsInWindow):
1774             - Calls setViewState.
1775         (WebCore::Page::setIsInWindowInternal):
1776             - setIsInWindow -> setIsInWindowInternal.
1777         (WebCore::Page::setIsVisuallyIdleInternal):
1778             - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
1779         (WebCore::Page::setViewState):
1780             - Added, update all ViewState flags, including FocusController.
1781         (WebCore::Page::setIsVisible):
1782             - Calls setViewState.
1783         (WebCore::Page::setIsVisibleInternal):
1784             - setIsVisible -> setIsVisibleInternal.
1785         (WebCore::Page::visibilityState):
1786             - m_isVisible -> isVisible()
1787         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
1788             - m_isVisible -> isVisible()
1789         * page/Page.h:
1790         (WebCore::Page::isVisible):
1791         (WebCore::Page::isInWindow):
1792             - Implemented in terms of ViewState.
1793         (WebCore::Page::scriptedAnimationsSuspended):
1794             - Combined member fields into ViewState::Flags.
1795
1796 2014-02-05  Simon Fraser  <simon.fraser@apple.com>
1797
1798         Transfer the non-fast-scrollable region to the UI process for iOS
1799         https://bugs.webkit.org/show_bug.cgi?id=128293
1800
1801         Reviewed by Benjamin Poulain.
1802
1803         Two main changes to support sending the non-fast scrollable region
1804         to the UI process for iOS:
1805         
1806         1. Add ScrollingCoordinator::frameViewNonFastScrollableRegionChanged(),
1807         which is called when we've updated the touch event region (this can happen
1808         independenly of layout). When called we just scheduled a scrolling tree
1809         commit with the new region.
1810         
1811         2. Avoid thinking that we have a new root node with every remote scrolling
1812         transaction. This was a side-effect of reconstructing the scrolling state
1813         tree in the UI process, and caused us to try to grab a nonFastScrollableRegion
1814         from a node which never had one set.
1815
1816         * WebCore.exp.in:
1817         * page/scrolling/AsyncScrollingCoordinator.cpp:
1818         (WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
1819         * page/scrolling/AsyncScrollingCoordinator.h:
1820         * page/scrolling/ScrollingCoordinator.cpp:
1821         (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
1822         * page/scrolling/ScrollingCoordinator.h:
1823         (WebCore::ScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
1824         * page/scrolling/ScrollingStateTree.h:
1825         (WebCore::ScrollingStateTree::setHasNewRootStateNode):
1826         * page/scrolling/ScrollingTree.cpp:
1827         (WebCore::ScrollingTree::commitNewTreeState):
1828         (WebCore::ScrollingTree::isPointInNonFastScrollableRegion):
1829         * page/scrolling/ScrollingTree.h:
1830
1831 2014-02-05  Benjamin Poulain  <benjamin@webkit.org>
1832
1833         [iOS] Synchronize the WKContentView and UIScrollView updates with the tiles being commited
1834         https://bugs.webkit.org/show_bug.cgi?id=127886
1835
1836         Reviewed by Simon Fraser.
1837
1838         The updates of the views on the UIProcess side was completely disconnected
1839         from the tiles updates from the DrawingArea. There is a non-negligible time
1840         between the size/scale update and the new tiles coming, which causes
1841         visual glitches.
1842
1843         There are three main cases where the tiles and content would be out of sync
1844         with the UIViews:
1845         -When loading a new page with different content width of a different viewport.
1846         -When a page changes its viewport.
1847         -When the viewport-constrainted viewport size changes.
1848
1849         To fix the issue, WKView is modified to maintain the old state of WKContentView
1850         and UIScrollView until the new tiles are available.
1851
1852         Geometry/scale update are split in two phases:
1853         1) A source (the page or the user) changes parameters of the geometry. The WebProcess updates
1854            its layout accordingly.
1855            At this point, the UIViews are unchanged and are left with the old parameters.
1856         2) Eventually, new tiles come and commitLayerTree() is called on the drawing area proxy.
1857            At that point, WKContentView and its UIScrollView are updated to match the committed
1858            size and scale for the page.
1859
1860         * WebCore.exp.in:
1861         * WebCore.xcodeproj/project.pbxproj:
1862         * page/ViewportConfiguration.cpp: Added.
1863         (WebCore::constraintsAreAllRelative):
1864         (WebCore::ViewportConfiguration::ViewportConfiguration):
1865         (WebCore::ViewportConfiguration::setDefaultConfiguration):
1866         (WebCore::ViewportConfiguration::setContentsSize):
1867         (WebCore::ViewportConfiguration::setMinimumLayoutSize):
1868         (WebCore::ViewportConfiguration::setViewportArguments):
1869         (WebCore::ViewportConfiguration::layoutSize):
1870         (WebCore::ViewportConfiguration::initialScale):
1871         (WebCore::ViewportConfiguration::minimumScale):
1872         (WebCore::ViewportConfiguration::maximumScale):
1873         (WebCore::ViewportConfiguration::allowsUserScaling):
1874         (WebCore::viewportArgumentValueIsValid):
1875         (WebCore::applyViewportArgument):
1876         (WebCore::ViewportConfiguration::updateConfiguration):
1877         (WebCore::ViewportConfiguration::layoutWidth):
1878         (WebCore::ViewportConfiguration::layoutHeight):
1879         * page/ViewportConfiguration.h: Added.
1880         (WebCore::ViewportConfigurationConfiguration::ViewportConfigurationConfiguration):
1881         (WebCore::ViewportConfiguration::defaultConfiguration):
1882         (WebCore::ViewportConfiguration::contentsSize):
1883         (WebCore::ViewportConfiguration::minimumLayoutSize):
1884         (WebCore::ViewportConfiguration::viewportArguments):
1885
1886 2014-02-05  Benjamin Poulain  <benjamin@webkit.org>
1887
1888         SelectorCodeGenerator::generateElementHasTagName should match the local name before the namespace
1889         https://bugs.webkit.org/show_bug.cgi?id=128167
1890
1891         Reviewed by Sam Weinig.
1892
1893         The local name is a stricter filter than the namespace, it should always run first.
1894
1895         * cssjit/SelectorCompiler.cpp:
1896         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName):
1897
1898 2014-02-05  Benjamin Poulain  <benjamin@webkit.org>
1899
1900         Add HTMLNames::classAttr as a regular name in SVGElement::isAnimatableAttribute
1901         https://bugs.webkit.org/show_bug.cgi?id=128166
1902
1903         Reviewed by Sam Weinig.
1904
1905         For historical reasons, classAttr was treated separately. There is no reasons for that anymore.
1906
1907         * svg/SVGElement.cpp:
1908         (WebCore::SVGElement::isAnimatableAttribute):
1909
1910 2014-02-05  Simon Fraser  <simon.fraser@apple.com>
1911
1912         Support encoding and decoding of Regions
1913         https://bugs.webkit.org/show_bug.cgi?id=128284
1914
1915         Reviewed by Anders Carlsson.
1916
1917         Region changes to make it encodable:
1918         
1919         Make Region::Span public and give it a default constructor.
1920         Allow getting and setting of Shape internals, and a way to update
1921         the Region bounds after changing the shape. Also add a way to test
1922         for valid spans and segments.
1923
1924         * platform/graphics/Region.cpp:
1925         (WebCore::Region::Shape::isValid):
1926         (WebCore::Region::updateBoundsFromShape):
1927         * platform/graphics/Region.h:
1928         (WebCore::Region::isValid):
1929         (WebCore::Region::Span::Span):
1930         (WebCore::Region::shapeSegments):
1931         (WebCore::Region::shapeSpans):
1932         (WebCore::Region::setShapeSegments):
1933         (WebCore::Region::setShapeSpans):
1934         (WebCore::Region::Shape::segments):
1935         (WebCore::Region::Shape::spans):
1936         (WebCore::Region::Shape::setSegments):
1937         (WebCore::Region::Shape::setSpans):
1938
1939 2014-02-05  Andreas Kling  <akling@apple.com>
1940
1941         Rebaseline the bindings tests after Oliver's hackery.
1942
1943         * bindings/scripts/test/JS/:
1944
1945 2014-02-05  Ryuan Choi  <ryuan.choi@samsung.com>
1946
1947         [EFL][GTK] Share plugin's implementation between EFL and Gtk ports.
1948         https://bugs.webkit.org/show_bug.cgi?id=70592
1949
1950         Reviewed by Gyuyoung Kim.
1951
1952         Merge common logics of PluginViewGtk.cpp and PluginViewEfl.cpp to PluginViewX11.cpp.
1953         So, this patch improves the windowless plugin support for the EFL port.
1954
1955         * GNUmakefile.am: Add include path for gtk2xtbin.h header file.
1956         * GNUmakefile.list.am: Added PluginViewX11.cpp into source lists.
1957         * PlatformEfl.cmake: Ditto.
1958         * PlatformGTK.cmake: Ditto.
1959         * plugins/PluginView.h: Added getRootWindow and getPluginDisply which implement platform specific code.
1960         * plugins/efl/PluginViewEfl.cpp:
1961         (WebCore::PluginView::getRootWindow):
1962         (WebCore::PluginView::platformGetValueStatic): Turn on NPNVSupportsWindowless support.
1963         (WebCore::PluginView::getPluginDisplay):
1964         (WebCore::PluginView::platformStart):
1965         * plugins/gtk/PluginViewGtk.cpp:
1966         (WebCore::PluginView::getRootWindow):
1967         (WebCore::setXButtonEventSpecificFields):
1968         (WebCore::setXMotionEventSpecificFields):
1969         (WebCore::setXCrossingEventSpecificFields):
1970         (WebCore::PluginView::getPluginDisplay):
1971         (WebCore::PluginView::platformStart):
1972         * plugins/x11/PluginViewX11.cpp: Moved common logics from PluginViewGtk.cpp
1973         (WebCore::PluginView::dispatchNPEvent):
1974         (WebCore::PluginView::updatePluginWidget):
1975         (WebCore::PluginView::handleFocusInEvent):
1976         (WebCore::PluginView::invalidateRect):
1977         (WebCore::PluginView::invalidateRegion):
1978         (WebCore::PluginView::handleFocusOutEvent):
1979         (WebCore::PluginView::initXEvent):
1980         (WebCore::PluginView::paint):
1981         (WebCore::PluginView::setParent):
1982         (WebCore::PluginView::setNPWindowRect):
1983         (WebCore::PluginView::setNPWindowIfNeeded):
1984
1985 2014-02-05  Anders Carlsson  <andersca@apple.com>
1986
1987         Fix a warning.
1988
1989         * platform/mac/ContentFilterMac.mm:
1990         (WebCore::ContentFilter::ContentFilter):
1991         Remove an unnecessary comparison.
1992
1993 2014-02-05  Csaba Osztrogonác  <ossy@webkit.org>
1994
1995         Fix the !ENABLE(PAGE_VISIBILITY_API) build
1996         https://bugs.webkit.org/show_bug.cgi?id=127907
1997
1998         Reviewed by Brent Fulgham.
1999
2000         * page/Page.cpp:
2001         (WebCore::Page::setIsVisible):
2002
2003 2014-02-05  Oliver Hunt  <oliver@apple.com>
2004
2005         Change custom getter signature to make the base reference an object pointer
2006         https://bugs.webkit.org/show_bug.cgi?id=128279
2007
2008         Reviewed by Geoffrey Garen.
2009
2010         Update everything to the new calling convention.
2011
2012         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2013         (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
2014         (WebCore::cssPropertyGetterCallback):
2015         * bindings/js/JSDOMBinding.cpp:
2016         (WebCore::objectToStringFunctionGetter):
2017         * bindings/js/JSDOMBinding.h:
2018         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
2019         (WebCore::JSDOMMimeTypeArray::nameGetter):
2020         * bindings/js/JSDOMPluginArrayCustom.cpp:
2021         (WebCore::JSDOMPluginArray::nameGetter):
2022         * bindings/js/JSDOMPluginCustom.cpp:
2023         (WebCore::JSDOMPlugin::nameGetter):
2024         * bindings/js/JSDOMWindowCustom.cpp:
2025         (WebCore::nonCachingStaticFunctionGetter):
2026         (WebCore::childFrameGetter):
2027         (WebCore::indexGetter):
2028         (WebCore::namedItemGetter):
2029         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2030         (WebCore::JSHTMLAllCollection::nameGetter):
2031         * bindings/js/JSHTMLCollectionCustom.cpp:
2032         (WebCore::JSHTMLCollection::nameGetter):
2033         * bindings/js/JSHTMLDocumentCustom.cpp:
2034         (WebCore::JSHTMLDocument::nameGetter):
2035         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
2036         (WebCore::JSHTMLFormControlsCollection::nameGetter):
2037         * bindings/js/JSHTMLFormElementCustom.cpp:
2038         (WebCore::JSHTMLFormElement::nameGetter):
2039         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2040         (WebCore::JSHTMLFrameSetElement::nameGetter):
2041         * bindings/js/JSHistoryCustom.cpp:
2042         (WebCore::nonCachingStaticBackFunctionGetter):
2043         (WebCore::nonCachingStaticForwardFunctionGetter):
2044         (WebCore::nonCachingStaticGoFunctionGetter):
2045         * bindings/js/JSLocationCustom.cpp:
2046         (WebCore::nonCachingStaticReplaceFunctionGetter):
2047         (WebCore::nonCachingStaticReloadFunctionGetter):
2048         (WebCore::nonCachingStaticAssignFunctionGetter):
2049         * bindings/js/JSNamedNodeMapCustom.cpp:
2050         (WebCore::JSNamedNodeMap::nameGetter):
2051         * bindings/js/JSPluginElementFunctions.cpp:
2052         (WebCore::pluginElementPropertyGetter):
2053         * bindings/js/JSPluginElementFunctions.h:
2054         * bindings/js/JSRTCStatsResponseCustom.cpp:
2055         (WebCore::JSRTCStatsResponse::nameGetter):
2056         * bindings/js/JSStorageCustom.cpp:
2057         (WebCore::JSStorage::nameGetter):
2058         * bindings/js/JSStyleSheetListCustom.cpp:
2059         (WebCore::JSStyleSheetList::nameGetter):
2060         * bindings/scripts/CodeGeneratorJS.pm:
2061         (GenerateHeader):
2062         (GenerateImplementation):
2063         * bridge/runtime_array.cpp:
2064         (JSC::RuntimeArray::lengthGetter):
2065         (JSC::RuntimeArray::indexGetter):
2066         * bridge/runtime_array.h:
2067         * bridge/runtime_method.cpp:
2068         (JSC::RuntimeMethod::lengthGetter):
2069         * bridge/runtime_method.h:
2070         * bridge/runtime_object.cpp:
2071         (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
2072         (JSC::Bindings::RuntimeObject::fieldGetter):
2073         (JSC::Bindings::RuntimeObject::methodGetter):
2074         * bridge/runtime_object.h:
2075
2076 2014-02-04  Andy Estes  <aestes@apple.com>
2077
2078         Buffer incoming data in ContentFilter when using NEFilterSource
2079         https://bugs.webkit.org/show_bug.cgi?id=127979
2080
2081         Reviewed by Sam Weinig.
2082
2083         WebFilterEvaluator buffers incoming data and returns it to us as
2084         replacement data if the load is allowed. NEFilterSource doesn't do
2085         this, so we need to do our own buffering.
2086
2087         * platform/ContentFilter.h: Forward-declared NSMutableData and added
2088         m_originalData.
2089         * platform/mac/ContentFilterMac.mm:
2090         (WebCore::ContentFilter::ContentFilter): Constructed m_originalData
2091         with an initial capacity (if we know the expected content size).
2092         (WebCore::ContentFilter::addData): Buffered incoming data if we are
2093         using NEFilterSource.
2094         (WebCore::ContentFilter::finishedAddingData):
2095         (WebCore::ContentFilter::getReplacementData): Returned m_originalData
2096         if the load wasn't blocked.
2097
2098 2014-02-05  Andreas Kling  <akling@apple.com>
2099
2100         Remove ENABLE(DIRECTORY_UPLOAD).
2101         <https://webkit.org/b/128275>
2102
2103         This is a non-standard Chrome extension that none of the WebKit
2104         ports have even been building.
2105
2106         Rubber-stamped by Ryosuke Niwa.
2107
2108         * Configurations/FeatureDefines.xcconfig:
2109         * fileapi/File.cpp:
2110         * fileapi/File.h:
2111         * fileapi/File.idl:
2112         * html/FileInputType.cpp:
2113         (WebCore::FileInputType::handleDOMActivateEvent):
2114         (WebCore::FileInputType::createFileList):
2115         (WebCore::FileInputType::receiveDroppedFiles):
2116         * html/FileInputType.h:
2117         * html/HTMLAttributeNames.in:
2118         * html/HTMLInputElement.cpp:
2119         (WebCore::HTMLInputElement::parseAttribute):
2120         * html/HTMLInputElement.idl:
2121         * loader/EmptyClients.h:
2122         * page/Chrome.cpp:
2123         * page/Chrome.h:
2124         * page/ChromeClient.h:
2125         * platform/FileChooser.h:
2126         * platform/network/FormData.cpp:
2127         (WebCore::FormData::appendKeyValuePairItems):
2128
2129 2014-02-05  Brady Eidson  <beidson@apple.com>
2130
2131         IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails
2132         https://bugs.webkit.org/show_bug.cgi?id=128257
2133
2134         Reviewed by Sam Weinig.
2135
2136         Tests: storage/indexeddb/mozilla/autoincrement-indexes.html
2137
2138         Add some IDBKeyData utility methods for WK2 to use:
2139         * Modules/indexeddb/IDBKeyData.cpp:
2140         (WebCore::IDBKeyData::setArrayValue):
2141         (WebCore::IDBKeyData::setStringValue):
2142         (WebCore::IDBKeyData::setDateValue):
2143         (WebCore::IDBKeyData::setNumberValue):
2144         * Modules/indexeddb/IDBKeyData.h:
2145
2146         * WebCore.exp.in:
2147
2148 2014-02-05  Andreas Kling  <akling@apple.com>
2149
2150         Turn on ENABLE(8BIT_TEXTRUN) for everyone.
2151         <https://webkit.org/b/128273>
2152
2153         Reviewed by Anders Carlsson.
2154
2155         * platform/graphics/TextRun.h:
2156         (WebCore::TextRun::TextRun):
2157         (WebCore::TextRun::subRun):
2158         * rendering/RenderBlock.cpp:
2159         (WebCore::RenderBlock::constructTextRun):
2160         * rendering/RenderBlock.h:
2161
2162 2014-02-05  Enrica Casucci  <enrica@apple.com>
2163
2164         WK2: Caret, selections and autocorrection bubbles are incorrectly positioned when inside an iframe.
2165         https://bugs.webkit.org/show_bug.cgi?id=128264
2166         <rdar://problem/15986954>
2167
2168         Reviewed by Simon Fraser.
2169
2170         Adding new exported function.
2171
2172         * WebCore.exp.in:
2173
2174 2014-02-05  Antti Koivisto  <antti@apple.com>
2175
2176         ElementRuleCollector should not use StyleResolver::State
2177         https://bugs.webkit.org/show_bug.cgi?id=128247
2178
2179         Reviewed by Andreas Kling.
2180         
2181         Make ElementRuleCollector more reusable.
2182
2183         * css/ElementRuleCollector.cpp:
2184         (WebCore::ElementRuleCollector::collectMatchingRules):
2185         (WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
2186         (WebCore::ElementRuleCollector::matchAuthorRules):
2187         (WebCore::ElementRuleCollector::matchUARules):
2188         (WebCore::ElementRuleCollector::ruleMatches):
2189         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
2190         (WebCore::ElementRuleCollector::matchAllRules):
2191         * css/ElementRuleCollector.h:
2192         (WebCore::ElementRuleCollector::ElementRuleCollector):
2193         
2194             Pass the objects that are actually needed rather than the entire State.
2195
2196 2014-02-05  Brent Fulgham  <bfulgham@apple.com>
2197
2198         [Mac] Correct copy/paste error in scrolling code.
2199         https://bugs.webkit.org/show_bug.cgi?id=128258
2200
2201         Reviewed by Anders Carlsson.
2202
2203         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2204         (WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection): Use
2205         'setWidth' when dealing with width metrics.
2206
2207 2014-02-05  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
2208
2209         Ruby base oddly justify its text when the text is ideograph and it contains <br> on Mac.
2210         https://bugs.webkit.org/show_bug.cgi?id=106417
2211
2212         Reviewed by David Hyatt.
2213
2214         Ruby base always justify even if a line have hard break.
2215         Even if next leaf child is line break, InlineTextBox allow trailing expansion.
2216         This make <br> expanded, and there is odd space at the end of the line.
2217
2218         Test: fast/text/ruby-justification-br.html
2219
2220         * rendering/InlineTextBox.h:
2221         (WebCore::InlineTextBox::expansionBehavior):
2222          - If next leaf child is line break, we should forbid trailing expansion.
2223
2224 2014-02-05  Andreas Kling  <akling@apple.com>
2225
2226         FrameLoader::stateMachine() should return a reference.
2227         <https://webkit.org/b/128263>
2228
2229         There is always a FrameLoaderStateMatchine, so return it by
2230         reference since it can never be null.
2231
2232         Reviewed by Anders Carlsson.
2233
2234         * history/PageCache.cpp:
2235         (WebCore::logCanCachePageDecision):
2236         * loader/DocumentLoader.cpp:
2237         (WebCore::DocumentLoader::finishedLoading):
2238         (WebCore::DocumentLoader::commitData):
2239         (WebCore::DocumentLoader::maybeLoadEmpty):
2240         * loader/DocumentWriter.cpp:
2241         (WebCore::DocumentWriter::createDocument):
2242         (WebCore::DocumentWriter::begin):
2243         * loader/FrameLoader.cpp:
2244         (WebCore::FrameLoader::prepareForHistoryNavigation):
2245         * loader/FrameLoader.h:
2246         (WebCore::FrameLoader::stateMachine):
2247         * loader/HistoryController.cpp:
2248         (WebCore::HistoryController::restoreScrollPositionAndViewState):
2249         (WebCore::HistoryController::saveDocumentState):
2250         * loader/NavigationScheduler.cpp:
2251         (WebCore::NavigationScheduler::scheduleLocationChange):
2252         (WebCore::NavigationScheduler::scheduleFormSubmission):
2253         * loader/ProgressTracker.cpp:
2254         (WebCore::ProgressTracker::incrementProgress):
2255         * loader/cache/CachedResourceLoader.cpp:
2256         (WebCore::CachedResourceLoader::storeResourceTimingInitiatorInformation):
2257         * page/Frame.cpp:
2258         (WebCore::Frame::injectUserScripts):
2259         * page/FrameView.cpp:
2260         (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
2261
2262 2014-02-04  Myles C. Maxfield  <mmaxfield@apple.com>
2263
2264         Move characterAt index checks from InlineIterator to RenderText
2265         https://bugs.webkit.org/show_bug.cgi?id=128224
2266
2267         Reviewed by Simon Fraser.
2268
2269         Move characterAt index checks from InlineIterator to RenderText
2270         so that all RenderText calls are covered. Few safe instances are
2271         now covered with uncheckedCharacterAt.
2272
2273         Merged from Blink:
2274         http://src.chromium.org/viewvc/blink?view=revision&revision=150830
2275
2276         Test: fast/text/character-at-crash.html
2277
2278         * rendering/InlineIterator.h:
2279         (WebCore::InlineIterator::characterAt):
2280         * rendering/RenderText.cpp:
2281         (WebCore::RenderText::computePreferredLogicalWidths):
2282         * rendering/RenderText.h:
2283         (WebCore::RenderText::operator[]):
2284         (WebCore::RenderText::uncheckedCharacterAt):
2285         (WebCore::RenderText::characterAt):
2286
2287 2014-02-05  Andreas Kling  <akling@apple.com>
2288
2289         Remove leftover seamless iframe logic from containerForRepaint().
2290         <https://webkit.org/b/128235>
2291
2292         The parent-flow-thread-in-different-document case is no longer
2293         relevant after <iframe seamless> was removed.
2294
2295         Reviewed by David Hyatt.
2296
2297         * rendering/RenderObject.cpp:
2298         (WebCore::RenderObject::containerForRepaint):
2299
2300 2014-02-05  Hans Muller  <hmuller@adobe.com>
2301
2302         [CSS Shapes] Dynamically created element with image valued shape-outside doesn't update automatically
2303         https://bugs.webkit.org/show_bug.cgi?id=128187
2304
2305         Reviewed by Dean Jackson.
2306
2307         Corrected the way shape-outside handles the completion of an image load. Move
2308         the shape-outside imageChanged() logic from RenderBlock to RenderBox and call
2309         markShapeOutsideDependentsForLayout() instead of parent()->setNeedsLayoutAndPrefWidthsRecalc().
2310         The latter did not deal with descendants of the shape element's siblings correctly and it
2311         failed when the shape element was inserted dynamically. The markShapeOutsideDependentsForLayout()
2312         method can't be called during layout, so the imageChanged() code checks for that. The only
2313         scenario where imageChanged() can be called during layout (that I've discovered so far anyway)
2314         is when an SVG Image is renderered  with drawImage(). The Shape::createRasterShape() does this,
2315         and the corresponding imageChanged() notification can be safely ignored.
2316
2317         Test: fast/shapes/shape-outside-floats/shape-outside-insert-svg-shape.html
2318
2319         * rendering/RenderBlock.cpp:
2320         (WebCore::RenderBlock::imageChanged):
2321         * rendering/RenderBox.cpp:
2322         (WebCore::RenderBox::imageChanged):
2323
2324 2014-02-05  Andreas Kling  <akling@apple.com>
2325
2326         CTTE: ImageLoader is always owned by an Element.
2327         <https://webkit.org/b/128254>
2328
2329         - Codify this by making the constructor take Element& or better.
2330         - Make element() return Element&.
2331         - Marked HTMLImageLoader and SVGImageLoader final.
2332         - Made the ImageLoader constructor protected.
2333
2334         Reviewed by Sam Weinig.
2335
2336         * html/HTMLEmbedElement.cpp:
2337         (WebCore::HTMLEmbedElement::parseAttribute):
2338         * html/HTMLImageElement.cpp:
2339         (WebCore::HTMLImageElement::HTMLImageElement):
2340         * html/HTMLImageLoader.cpp:
2341         (WebCore::HTMLImageLoader::HTMLImageLoader):
2342         (WebCore::HTMLImageLoader::dispatchLoadEvent):
2343         (WebCore::HTMLImageLoader::sourceURI):
2344         (WebCore::HTMLImageLoader::notifyFinished):
2345         * html/HTMLImageLoader.h:
2346         * html/HTMLInputElement.cpp:
2347         (WebCore::HTMLInputElement::imageLoader):
2348         * html/HTMLObjectElement.cpp:
2349         (WebCore::HTMLObjectElement::parseAttribute):
2350         * html/HTMLPlugInImageElement.cpp:
2351         (WebCore::HTMLPlugInImageElement::startLoadingImage):
2352         * html/HTMLVideoElement.cpp:
2353         (WebCore::HTMLVideoElement::didAttachRenderers):
2354         (WebCore::HTMLVideoElement::parseAttribute):
2355         * loader/ImageLoader.cpp:
2356         (WebCore::ImageLoader::ImageLoader):
2357         (WebCore::ImageLoader::~ImageLoader):
2358         (WebCore::ImageLoader::updateFromElement):
2359         (WebCore::ImageLoader::notifyFinished):
2360         (WebCore::ImageLoader::renderImageResource):
2361         (WebCore::ImageLoader::updatedHasPendingEvent):
2362         (WebCore::ImageLoader::timerFired):
2363         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
2364         (WebCore::ImageLoader::dispatchPendingLoadEvent):
2365         (WebCore::ImageLoader::dispatchPendingErrorEvent):
2366         * loader/ImageLoader.h:
2367         (WebCore::ImageLoader::element):
2368         * svg/SVGImageElement.cpp:
2369         (WebCore::SVGImageElement::SVGImageElement):
2370         * svg/SVGImageLoader.cpp:
2371         (WebCore::SVGImageLoader::SVGImageLoader):
2372         (WebCore::SVGImageLoader::~SVGImageLoader):
2373         (WebCore::SVGImageLoader::dispatchLoadEvent):
2374         (WebCore::SVGImageLoader::sourceURI):
2375         * svg/SVGImageLoader.h:
2376
2377 2014-02-05  Sergio Correia  <sergio.correia@openbossa.org>
2378
2379         SVG preserveAspectRatio=none is not honored.
2380         https://bugs.webkit.org/show_bug.cgi?id=111402
2381
2382         Reviewed by Andreas Kling.
2383
2384         Previously, preserveAspectRatio=none had no effect on SVG images. This change fixes this so
2385         we follow the special handling of preserveAspectRatio on images as defined in the spec:
2386         http://www.w3.org/TR/SVG/single-page.html, 7.8 The ‘preserveAspectRatio’ attribute.
2387
2388         Images that depend on a container size (such as SVG images) require a call to
2389         setContainerSizeForRenderer(...) to set this size. By passing the image's intrinsic size
2390         as the container size, the non-uniform scaling defined in the spec will be achieved.
2391
2392         Merged from Blink: https://chromiumcodereview.appspot.com/14964004
2393
2394         Test: svg/custom/image-with-preserveAspectRatio-none.html
2395
2396         * rendering/svg/RenderSVGImage.cpp:
2397         (WebCore::RenderSVGImage::updateImageViewport):
2398
2399 2014-02-05  Zoltan Horvath  <zoltan@webkit.org>
2400
2401         [CSS Shapes] Simplify CSSBasicShapeInset::cssText
2402         https://bugs.webkit.org/show_bug.cgi?id=127841
2403
2404         Reviewed by David Hyatt.
2405
2406         I introduced the updateCornerRadiusWidthAndHeight helper function, which makes the code of cssText method clearer.
2407
2408         No new tests, no behavior change.
2409
2410         * css/CSSBasicShapes.cpp:
2411         (WebCore::updateCornerRadiusWidthAndHeight): Add helper function.
2412         (WebCore::CSSBasicShapeInset::cssText):
2413
2414 2014-02-05  Zoltan Horvath  <zoltan@webkit.org>
2415
2416         [CSS Shapes] Simplify BasicShapeInset::path
2417         https://bugs.webkit.org/show_bug.cgi?id=127920
2418
2419         Reviewed by David Hyatt.
2420
2421         I introduced a new static helper function called floatSizeForLengthSize
2422         in order to simplify BasicShapeInset::path method.
2423
2424         No new tests, no behavior change.
2425
2426         * rendering/style/BasicShapes.cpp:
2427         (WebCore::floatSizeForLengthSize): New helper function.
2428         (WebCore::BasicShapeInset::path):
2429
2430 2014-02-05  Wojciech Bielawski  <w.bielawski@samsung.com>
2431
2432         XMLHttpRequest performs too many copies for ArrayBuffer results
2433         https://bugs.webkit.org/show_bug.cgi?id=117458
2434
2435         Reviewed by Alexey Proskuryakov.
2436
2437         Based on blink change: https://chromium.googlesource.com/chromium/blink/+/bed266aa5a43f7c080c87e527bd35e2b80ecc7b7
2438
2439         Add SharedBuffer::createArrayBuffer() and use it to create XMLHttpRequest's response in ArrayBuffer
2440         This cuts
2441             - two memsets (in ArrayBuffer::create and SharedBuffer::m_buffer::resize)
2442             - one copy (SharedBuffer::m_buffer to ArrayBufferContents::m_data)
2443             - one allocation (SharedBuffer::m_buffer)
2444
2445         No new tests. WebKit desn't provide test mechanism similar to blink's one.
2446
2447         * platform/SharedBuffer.cpp:
2448         (WebCore::SharedBuffer::createArrayBuffer):
2449         * platform/SharedBuffer.h:
2450         * xml/XMLHttpRequest.cpp:
2451         (WebCore::XMLHttpRequest::responseArrayBuffer):
2452
2453 2014-02-05  Csaba Osztrogonác  <ossy@webkit.org>
2454
2455         Remove ENABLE(SVG) guards
2456         https://bugs.webkit.org/show_bug.cgi?id=127991
2457
2458         Reviewed by Sam Weinig.
2459
2460         * CMakeLists.txt:
2461         * Configurations/FeatureDefines.xcconfig:
2462         * DerivedSources.make:
2463         * GNUmakefile.am:
2464         * UseJSC.cmake:
2465         * WebCore.exp.in:
2466         * accessibility/AXObjectCache.cpp:
2467         (WebCore::createFromRenderer):
2468         * accessibility/AccessibilityNodeObject.cpp:
2469         (WebCore::AccessibilityNodeObject::alternativeText):
2470         (WebCore::AccessibilityNodeObject::accessibilityDescription):
2471         * accessibility/AccessibilityRenderObject.cpp:
2472         (WebCore::AccessibilityRenderObject::boundingBoxRect):
2473         (WebCore::AccessibilityRenderObject::supportsPath):
2474         (WebCore::AccessibilityRenderObject::elementPath):
2475         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2476         (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
2477         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2478         (-[WebAccessibilityObjectWrapper isSVGGroupElement]):
2479         * bindings/gobject/GNUmakefile.am:
2480         * bindings/js/JSCSSValueCustom.cpp:
2481         (WebCore::toJS):
2482         * bindings/js/JSDocumentCustom.cpp:
2483         (WebCore::toJS):
2484         * bindings/js/JSElementCustom.cpp:
2485         (WebCore::toJSNewlyCreated):
2486         * bindings/js/JSExceptionBase.cpp:
2487         (WebCore::toExceptionBase):
2488         * bindings/js/JSNodeCustom.cpp:
2489         (WebCore::createWrapperInline):
2490         * bindings/js/JSSVGElementInstanceCustom.cpp:
2491         * bindings/js/JSSVGLengthCustom.cpp:
2492         * bindings/js/JSSVGPathSegCustom.cpp:
2493         * css/CSSComputedStyleDeclaration.cpp:
2494         (WebCore::ComputedStyleExtractor::propertyValue):
2495         * css/CSSComputedStyleDeclaration.h:
2496         * css/CSSCursorImageValue.cpp:
2497         (WebCore::resourceReferencedByCursorElement):
2498         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
2499         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2500         (WebCore::CSSCursorImageValue::cachedImage):
2501         (WebCore::CSSCursorImageValue::removeReferencedElement):
2502         * css/CSSCursorImageValue.h:
2503         * css/CSSDefaultStyleSheets.cpp:
2504         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
2505         * css/CSSFontSelector.cpp:
2506         * css/CSSParser.cpp:
2507         (WebCore::CSSParser::parseValue):
2508         (WebCore::CSSParser::parseClipPath):
2509         (WebCore::CSSParser::parseShadow):
2510         (WebCore::CSSParser::parseFilter):
2511         (WebCore::CSSParser::realLex):
2512         * css/CSSParser.h:
2513         * css/CSSPrimitiveValueMappings.h:
2514         * css/CSSStyleSheet.cpp:
2515         (WebCore::isAcceptableCSSStyleSheetParent):
2516         * css/CSSValue.cpp:
2517         (WebCore::CSSValue::equals):
2518         (WebCore::CSSValue::cssText):
2519         (WebCore::CSSValue::destroy):
2520         (WebCore::CSSValue::cloneForCSSOM):
2521         * css/CSSValue.h:
2522         (WebCore::CSSValue::isSubtypeExposedToCSSOM):
2523         * css/CSSValueKeywords.in:
2524         * css/DeprecatedStyleBuilder.cpp:
2525         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
2526         (WebCore::ApplyPropertyClipPath::applyValue):
2527         * css/ElementRuleCollector.cpp:
2528         (WebCore::ElementRuleCollector::matchAllRules):
2529         * css/SVGCSSComputedStyleDeclaration.cpp:
2530         * css/SVGCSSParser.cpp:
2531         * css/SVGCSSPropertyNames.in:
2532         * css/SVGCSSStyleSelector.cpp:
2533         * css/StyleProperties.cpp:
2534         (WebCore::StyleProperties::getPropertyValue):
2535         * css/StylePropertyShorthand.cpp:
2536         (WebCore::markerShorthand):
2537         (WebCore::shorthandForProperty):
2538         (WebCore::matchingShorthandsForLonghand):
2539         * css/StylePropertyShorthand.h:
2540         * css/StyleResolver.cpp:
2541         (WebCore::StyleResolver::State::clear):
2542         (WebCore::StyleResolver::locateCousinList):
2543         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
2544         (WebCore::StyleResolver::canShareStyleWithElement):
2545         (WebCore::StyleResolver::locateSharedStyle):
2546         (WebCore::StyleResolver::adjustRenderStyle):
2547         (WebCore::isValidVisitedLinkProperty):
2548         (WebCore::StyleResolver::applyProperty):
2549         (WebCore::StyleResolver::loadPendingSVGDocuments):
2550         (WebCore::StyleResolver::createFilterOperations):
2551         (WebCore::StyleResolver::loadPendingResources):
2552         * css/StyleResolver.h:
2553         * dom/DOMExceptions.in:
2554         * dom/DOMImplementation.cpp:
2555         (WebCore::addString):
2556         (WebCore::isSupportedSVG11Feature):
2557         (WebCore::DOMImplementation::hasFeature):
2558         (WebCore::DOMImplementation::createDocument):
2559         * dom/Document.cpp:
2560         (WebCore::Document::commonTeardown):
2561         (WebCore::Document::createElement):
2562         (WebCore::Document::implicitClose):
2563         (WebCore::Document::hasSVGRootNode):
2564         * dom/Document.h:
2565         * dom/DocumentStyleSheetCollection.cpp:
2566         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
2567         * dom/Element.cpp:
2568         (WebCore::Element::~Element):
2569         (WebCore::Element::synchronizeAllAttributes):
2570         (WebCore::Element::synchronizeAttribute):
2571         (WebCore::Element::boundsInRootViewSpace):
2572         (WebCore::Element::getBoundingClientRect):
2573         (WebCore::Element::removedFrom):
2574         (WebCore::Element::childShouldCreateRenderer):
2575         (WebCore::Element::fastAttributeLookupAllowed):
2576         (WebCore::Element::clearHasPendingResources):
2577         * dom/Element.h:
2578         * dom/ElementData.h:
2579         * dom/ElementRareData.h:
2580         (WebCore::ElementRareData::ElementRareData):
2581         * dom/EventDispatcher.cpp:
2582         (WebCore::eventTargetRespectingTargetRules):
2583         * dom/EventListenerMap.cpp:
2584         * dom/EventListenerMap.h:
2585         * dom/EventNames.in:
2586         * dom/EventTargetFactory.in:
2587         * dom/QualifiedName.cpp:
2588         * dom/ScriptElement.cpp:
2589         (WebCore::toScriptElementIfPossible):
2590         * dom/Text.cpp:
2591         (WebCore::isSVGText):
2592         (WebCore::Text::createTextRenderer):
2593         * history/CachedFrame.cpp:
2594         (WebCore::CachedFrameBase::restore):
2595         * html/HTMLAnchorElement.cpp:
2596         (WebCore::shouldProhibitLinks):
2597         * html/HTMLEmbedElement.idl:
2598         * html/HTMLFrameElement.idl:
2599         * html/HTMLFrameOwnerElement.cpp:
2600         (WebCore::HTMLFrameOwnerElement::getSVGDocument):
2601         * html/HTMLFrameOwnerElement.h:
2602         * html/HTMLIFrameElement.idl:
2603         * html/HTMLObjectElement.idl:
2604         * html/canvas/DOMPath.h:
2605         (WebCore::DOMPath::create):
2606         * html/canvas/DOMPath.idl:
2607         * html/parser/XSSAuditor.cpp:
2608         (WebCore::isSemicolonSeparatedAttribute):
2609         * inspector/DOMPatchSupport.cpp:
2610         (WebCore::DOMPatchSupport::patchDocument):
2611         * inspector/InspectorCSSAgent.cpp:
2612         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
2613         * inspector/InspectorDOMAgent.cpp:
2614         (WebCore::InspectorDOMAgent::setOuterHTML):
2615         * inspector/InspectorOverlay.cpp:
2616         * inspector/InspectorStyleSheet.cpp:
2617         (WebCore::InspectorStyleSheet::inlineStyleSheetText):
2618         * loader/FrameLoader.cpp:
2619         * loader/ImageLoader.cpp:
2620         (WebCore::ImageLoader::renderImageResource):
2621         * loader/cache/CachedImage.cpp:
2622         (WebCore::CachedImage::didRemoveClient):
2623         (WebCore::CachedImage::imageForRenderer):
2624         (WebCore::CachedImage::setContainerSizeForRenderer):
2625         (WebCore::CachedImage::imageSizeForRenderer):
2626         (WebCore::CachedImage::createImage):
2627         * loader/cache/CachedImage.h:
2628         * loader/cache/CachedResource.cpp:
2629         (WebCore::defaultPriorityForResourceType):
2630         * loader/cache/CachedResource.h:
2631         * loader/cache/CachedResourceClient.h:
2632         * loader/cache/CachedResourceLoader.cpp:
2633         (WebCore::createResource):
2634         (WebCore::CachedResourceLoader::requestSVGDocument):
2635         (WebCore::CachedResourceLoader::checkInsecureContent):
2636         (WebCore::CachedResourceLoader::canRequest):
2637         * loader/cache/CachedResourceLoader.h:
2638         * loader/cache/CachedSVGDocument.cpp:
2639         * loader/cache/CachedSVGDocument.h:
2640         * loader/cache/CachedSVGDocumentClient.h:
2641         * loader/cache/CachedSVGDocumentReference.cpp:
2642         * loader/cache/CachedSVGDocumentReference.h:
2643         * page/EventHandler.cpp:
2644         (WebCore::EventHandler::EventHandler):
2645         (WebCore::EventHandler::clear):
2646         (WebCore::EventHandler::handleMousePressEvent):
2647         (WebCore::EventHandler::updateSelectionForMouseDrag):
2648         (WebCore::EventHandler::handleMouseMoveEvent):
2649         (WebCore::EventHandler::handleMouseReleaseEvent):
2650         (WebCore::instanceAssociatedWithShadowTreeElement):
2651         (WebCore::EventHandler::updateMouseEventTargetNode):
2652         * page/EventHandler.h:
2653         * page/Frame.cpp:
2654         (WebCore::Frame::setPageAndTextZoomFactors):
2655         * page/FrameView.cpp:
2656         (WebCore::FrameView::applyOverflowToViewport):
2657         (WebCore::FrameView::forceLayoutParentViewIfNeeded):
2658         (WebCore::FrameView::embeddedContentBox):
2659         (WebCore::FrameView::scrollToAnchor):
2660         * page/animation/CSSPropertyAnimation.cpp:
2661         (WebCore::blendFunc):
2662         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
2663         * platform/MIMETypeRegistry.cpp:
2664         (WebCore::initializeSupportedNonImageMimeTypes):
2665         * platform/graphics/TextRun.cpp:
2666         * platform/graphics/TextRun.h:
2667         (WebCore::TextRun::TextRun):
2668         * platform/graphics/WidthIterator.cpp:
2669         (WebCore::WidthIterator::advanceInternal):
2670         * platform/graphics/filters/FETile.cpp:
2671         (WebCore::FETile::platformApplySoftware):
2672         * platform/graphics/filters/FilterOperation.cpp:
2673         (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
2674         * platform/graphics/filters/FilterOperation.h:
2675         * platform/gtk/PasteboardGtk.cpp:
2676         (WebCore::getURLForImageElement):
2677         * rendering/FilterEffectRenderer.cpp:
2678         (WebCore::FilterEffectRenderer::buildReferenceFilter):
2679         * rendering/HitTestLocation.cpp:
2680         * rendering/HitTestResult.cpp:
2681         (WebCore::HitTestResult::absoluteImageURL):
2682         (WebCore::HitTestResult::absoluteLinkURL):
2683         (WebCore::HitTestResult::isLiveLink):
2684         * rendering/InlineBox.h:
2685         * rendering/LogicalSelectionOffsetCaches.h:
2686         (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject):
2687         * rendering/PaintInfo.h:
2688         (WebCore::PaintInfo::applyTransform):
2689         * rendering/RenderBlockLineLayout.cpp:
2690         (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
2691         * rendering/RenderBoxModelObject.cpp:
2692         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2693         * rendering/RenderElement.cpp:
2694         (WebCore::RenderElement::addChild):
2695         (WebCore::RenderElement::layerCreationAllowedForSubtree):
2696         (WebCore::RenderElement::styleDidChange):
2697         * rendering/RenderGeometryMap.cpp:
2698         (WebCore::canMapBetweenRenderers):
2699         * rendering/RenderImage.cpp:
2700         (WebCore::RenderImage::embeddedContentBox):
2701         * rendering/RenderLayer.cpp:
2702         (WebCore::RenderLayer::isTransparent):
2703         (WebCore::RenderLayer::setupClipPath):
2704         (WebCore::RenderLayer::calculateClipRects):
2705         * rendering/RenderLayer.h:
2706         * rendering/RenderLayerFilterInfo.cpp:
2707         (WebCore::RenderLayer::FilterInfo::~FilterInfo):
2708         * rendering/RenderLayerFilterInfo.h:
2709         * rendering/RenderNamedFlowThread.cpp:
2710         (WebCore::nextNodeInsideContentElement):
2711         * rendering/RenderObject.cpp:
2712         (WebCore::objectIsRelayoutBoundary):
2713         (WebCore::RenderObject::container):
2714         (WebCore::RenderObject::willBeRemovedFromTree):
2715         * rendering/RenderObject.h:
2716         (WebCore::RenderObject::canContainFixedPositionObjects):
2717         (WebCore::RenderObject::preservesNewline):
2718         * rendering/RenderTreeAsText.cpp:
2719         (WebCore::write):
2720         * rendering/RenderView.cpp:
2721         (WebCore::RenderView::layout):
2722         * rendering/RootInlineBox.cpp:
2723         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2724         * rendering/SimpleLineLayout.cpp:
2725         (WebCore::SimpleLineLayout::canUseFor):
2726         * rendering/line/BreakingContextInlineHeaders.h:
2727         (WebCore::BreakingContext::initializeForCurrentObject):
2728         (WebCore::BreakingContext::handleText):
2729         * rendering/style/RenderStyle.cpp:
2730         (WebCore::RenderStyle::RenderStyle):
2731         (WebCore::RenderStyle::inheritFrom):
2732         (WebCore::RenderStyle::copyNonInheritedFrom):
2733         (WebCore::RenderStyle::operator==):
2734         (WebCore::RenderStyle::inheritedNotEqual):
2735         (WebCore::RenderStyle::inheritedDataShared):
2736         (WebCore::RenderStyle::diff):
2737         * rendering/style/RenderStyle.h:
2738         * rendering/style/SVGRenderStyle.cpp:
2739         * rendering/style/SVGRenderStyle.h:
2740         * rendering/style/SVGRenderStyleDefs.cpp:
2741         * rendering/style/SVGRenderStyleDefs.h:
2742         * rendering/svg/RenderSVGBlock.cpp:
2743         * rendering/svg/RenderSVGBlock.h:
2744         * rendering/svg/RenderSVGContainer.cpp:
2745         * rendering/svg/RenderSVGContainer.h:
2746         * rendering/svg/RenderSVGEllipse.cpp:
2747         * rendering/svg/RenderSVGEllipse.h:
2748         * rendering/svg/RenderSVGForeignObject.cpp:
2749         * rendering/svg/RenderSVGForeignObject.h:
2750         * rendering/svg/RenderSVGGradientStop.cpp:
2751         * rendering/svg/RenderSVGGradientStop.h:
2752         * rendering/svg/RenderSVGHiddenContainer.cpp:
2753         * rendering/svg/RenderSVGHiddenContainer.h:
2754         * rendering/svg/RenderSVGImage.cpp:
2755         * rendering/svg/RenderSVGImage.h:
2756         * rendering/svg/RenderSVGInline.cpp:
2757         * rendering/svg/RenderSVGInline.h:
2758         * rendering/svg/RenderSVGInlineText.cpp:
2759         * rendering/svg/RenderSVGInlineText.h:
2760         * rendering/svg/RenderSVGModelObject.cpp:
2761         * rendering/svg/RenderSVGModelObject.h:
2762         * rendering/svg/RenderSVGPath.cpp:
2763         * rendering/svg/RenderSVGPath.h:
2764         * rendering/svg/RenderSVGRect.cpp:
2765         * rendering/svg/RenderSVGRect.h:
2766         * rendering/svg/RenderSVGResource.cpp:
2767         * rendering/svg/RenderSVGResource.h:
2768         * rendering/svg/RenderSVGResourceClipper.cpp:
2769         * rendering/svg/RenderSVGResourceClipper.h:
2770         * rendering/svg/RenderSVGResourceContainer.cpp:
2771         * rendering/svg/RenderSVGResourceContainer.h:
2772         * rendering/svg/RenderSVGResourceFilter.cpp:
2773         * rendering/svg/RenderSVGResourceFilter.h:
2774         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
2775         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
2776         * rendering/svg/RenderSVGResourceGradient.cpp:
2777         (WebCore::RenderSVGResourceGradient::applyResource):
2778         * rendering/svg/RenderSVGResourceGradient.h:
2779         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
2780         * rendering/svg/RenderSVGResourceLinearGradient.h:
2781         * rendering/svg/RenderSVGResourceMarker.cpp:
2782         * rendering/svg/RenderSVGResourceMarker.h:
2783         * rendering/svg/RenderSVGResourceMasker.cpp:
2784         * rendering/svg/RenderSVGResourceMasker.h:
2785         * rendering/svg/RenderSVGResourcePattern.cpp:
2786         * rendering/svg/RenderSVGResourcePattern.h:
2787         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
2788         * rendering/svg/RenderSVGResourceRadialGradient.h:
2789         * rendering/svg/RenderSVGResourceSolidColor.cpp:
2790         * rendering/svg/RenderSVGResourceSolidColor.h:
2791         * rendering/svg/RenderSVGRoot.cpp:
2792         * rendering/svg/RenderSVGRoot.h:
2793         * rendering/svg/RenderSVGShape.cpp:
2794         * rendering/svg/RenderSVGShape.h:
2795         * rendering/svg/RenderSVGTSpan.h:
2796         * rendering/svg/RenderSVGText.cpp:
2797         * rendering/svg/RenderSVGText.h:
2798         * rendering/svg/RenderSVGTextPath.cpp:
2799         * rendering/svg/RenderSVGTextPath.h:
2800         * rendering/svg/RenderSVGTransformableContainer.cpp:
2801         * rendering/svg/RenderSVGTransformableContainer.h:
2802         * rendering/svg/RenderSVGViewportContainer.cpp:
2803         * rendering/svg/RenderSVGViewportContainer.h:
2804         * rendering/svg/SVGInlineFlowBox.cpp:
2805         * rendering/svg/SVGInlineFlowBox.h:
2806         * rendering/svg/SVGInlineTextBox.cpp:
2807         * rendering/svg/SVGInlineTextBox.h:
2808         * rendering/svg/SVGMarkerData.h:
2809         * rendering/svg/SVGPathData.cpp:
2810         * rendering/svg/SVGPathData.h:
2811         * rendering/svg/SVGRenderSupport.cpp:
2812         * rendering/svg/SVGRenderSupport.h:
2813         * rendering/svg/SVGRenderTreeAsText.cpp:
2814         * rendering/svg/SVGRenderTreeAsText.h:
2815         * rendering/svg/SVGRenderingContext.cpp:
2816         * rendering/svg/SVGRenderingContext.h:
2817         * rendering/svg/SVGResources.cpp:
2818         * rendering/svg/SVGResources.h:
2819         * rendering/svg/SVGResourcesCache.cpp:
2820         * rendering/svg/SVGResourcesCache.h:
2821         * rendering/svg/SVGResourcesCycleSolver.cpp:
2822         * rendering/svg/SVGResourcesCycleSolver.h:
2823         * rendering/svg/SVGRootInlineBox.cpp:
2824         * rendering/svg/SVGRootInlineBox.h:
2825         * rendering/svg/SVGSubpathData.h:
2826         * rendering/svg/SVGTextChunk.cpp:
2827         * rendering/svg/SVGTextChunk.h:
2828         * rendering/svg/SVGTextChunkBuilder.cpp:
2829         * rendering/svg/SVGTextChunkBuilder.h:
2830         * rendering/svg/SVGTextFragment.h:
2831         * rendering/svg/SVGTextLayoutAttributes.cpp:
2832         * rendering/svg/SVGTextLayoutAttributes.h:
2833         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
2834         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
2835         * rendering/svg/SVGTextLayoutEngine.cpp:
2836         * rendering/svg/SVGTextLayoutEngine.h:
2837         * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
2838         * rendering/svg/SVGTextLayoutEngineBaseline.h:
2839         * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
2840         * rendering/svg/SVGTextLayoutEngineSpacing.h:
2841         * rendering/svg/SVGTextMetrics.cpp:
2842         * rendering/svg/SVGTextMetrics.h:
2843         * rendering/svg/SVGTextMetricsBuilder.cpp:
2844         * rendering/svg/SVGTextMetricsBuilder.h:
2845         * rendering/svg/SVGTextQuery.cpp:
2846         * rendering/svg/SVGTextQuery.h:
2847         * svg/ColorDistance.cpp:
2848         * svg/ColorDistance.h:
2849         * svg/GradientAttributes.h:
2850         * svg/LinearGradientAttributes.h:
2851         * svg/PatternAttributes.h:
2852         * svg/RadialGradientAttributes.h:
2853         * svg/SVGAElement.cpp:
2854         * svg/SVGAElement.h:
2855         * svg/SVGAElement.idl:
2856         * svg/SVGAltGlyphDefElement.cpp:
2857         * svg/SVGAltGlyphDefElement.h:
2858         * svg/SVGAltGlyphDefElement.idl:
2859         * svg/SVGAltGlyphElement.cpp:
2860         * svg/SVGAltGlyphElement.h:
2861         * svg/SVGAltGlyphElement.idl:
2862         * svg/SVGAltGlyphItemElement.cpp:
2863         * svg/SVGAltGlyphItemElement.h:
2864         * svg/SVGAltGlyphItemElement.idl:
2865         * svg/SVGAngle.cpp:
2866         * svg/SVGAngle.h:
2867         * svg/SVGAngle.idl:
2868         * svg/SVGAnimateColorElement.cpp:
2869         * svg/SVGAnimateColorElement.h:
2870         * svg/SVGAnimateColorElement.idl:
2871         * svg/SVGAnimateElement.cpp:
2872         * svg/SVGAnimateElement.h:
2873         * svg/SVGAnimateElement.idl:
2874         * svg/SVGAnimateMotionElement.cpp:
2875         * svg/SVGAnimateMotionElement.h:
2876         * svg/SVGAnimateMotionElement.idl:
2877         * svg/SVGAnimateTransformElement.cpp:
2878         * svg/SVGAnimateTransformElement.h:
2879         * svg/SVGAnimateTransformElement.idl:
2880         * svg/SVGAnimatedAngle.cpp:
2881         * svg/SVGAnimatedAngle.h:
2882         * svg/SVGAnimatedAngle.idl:
2883         * svg/SVGAnimatedBoolean.cpp:
2884         * svg/SVGAnimatedBoolean.h:
2885         * svg/SVGAnimatedBoolean.idl:
2886         * svg/SVGAnimatedColor.cpp:
2887         * svg/SVGAnimatedColor.h:
2888         * svg/SVGAnimatedEnumeration.cpp:
2889         * svg/SVGAnimatedEnumeration.h:
2890         * svg/SVGAnimatedEnumeration.idl:
2891         * svg/SVGAnimatedInteger.cpp:
2892         * svg/SVGAnimatedInteger.h:
2893         * svg/SVGAnimatedInteger.idl:
2894         * svg/SVGAnimatedIntegerOptionalInteger.cpp:
2895         * svg/SVGAnimatedIntegerOptionalInteger.h:
2896         * svg/SVGAnimatedLength.cpp:
2897         * svg/SVGAnimatedLength.h:
2898         * svg/SVGAnimatedLength.idl:
2899         * svg/SVGAnimatedLengthList.cpp:
2900         * svg/SVGAnimatedLengthList.h:
2901         * svg/SVGAnimatedLengthList.idl:
2902         * svg/SVGAnimatedNumber.cpp:
2903         * svg/SVGAnimatedNumber.h:
2904         * svg/SVGAnimatedNumber.idl:
2905         * svg/SVGAnimatedNumberList.cpp:
2906         * svg/SVGAnimatedNumberList.h:
2907         * svg/SVGAnimatedNumberList.idl:
2908         * svg/SVGAnimatedNumberOptionalNumber.cpp:
2909         * svg/SVGAnimatedNumberOptionalNumber.h:
2910         * svg/SVGAnimatedPath.cpp:
2911         * svg/SVGAnimatedPath.h:
2912         * svg/SVGAnimatedPointList.cpp:
2913         * svg/SVGAnimatedPointList.h:
2914         * svg/SVGAnimatedPreserveAspectRatio.cpp:
2915         * svg/SVGAnimatedPreserveAspectRatio.h:
2916         * svg/SVGAnimatedPreserveAspectRatio.idl:
2917         * svg/SVGAnimatedRect.cpp:
2918         * svg/SVGAnimatedRect.h:
2919         * svg/SVGAnimatedRect.idl:
2920         * svg/SVGAnimatedString.cpp:
2921         * svg/SVGAnimatedString.h:
2922         * svg/SVGAnimatedString.idl:
2923         * svg/SVGAnimatedTransformList.cpp:
2924         * svg/SVGAnimatedTransformList.h:
2925         * svg/SVGAnimatedTransformList.idl:
2926         * svg/SVGAnimatedType.cpp:
2927         * svg/SVGAnimatedType.h:
2928         * svg/SVGAnimatedTypeAnimator.cpp:
2929         * svg/SVGAnimatedTypeAnimator.h:
2930         * svg/SVGAnimationElement.cpp:
2931         * svg/SVGAnimationElement.h:
2932         * svg/SVGAnimationElement.idl:
2933         * svg/SVGAnimatorFactory.h:
2934         * svg/SVGCircleElement.cpp:
2935         * svg/SVGCircleElement.h:
2936         * svg/SVGCircleElement.idl:
2937         * svg/SVGClipPathElement.cpp:
2938         * svg/SVGClipPathElement.h:
2939         * svg/SVGClipPathElement.idl:
2940         * svg/SVGColor.cpp:
2941         * svg/SVGColor.h:
2942         * svg/SVGColor.idl:
2943         * svg/SVGComponentTransferFunctionElement.cpp:
2944         * svg/SVGComponentTransferFunctionElement.h:
2945         * svg/SVGComponentTransferFunctionElement.idl:
2946         * svg/SVGCursorElement.cpp:
2947         * svg/SVGCursorElement.h:
2948         * svg/SVGCursorElement.idl:
2949         * svg/SVGDefsElement.cpp:
2950         * svg/SVGDefsElement.h:
2951         * svg/SVGDefsElement.idl:
2952         * svg/SVGDescElement.cpp:
2953         * svg/SVGDescElement.h:
2954         * svg/SVGDescElement.idl:
2955         * svg/SVGDocument.cpp:
2956         * svg/SVGDocument.h:
2957         * svg/SVGDocument.idl:
2958         * svg/SVGDocumentExtensions.cpp:
2959         * svg/SVGDocumentExtensions.h:
2960         * svg/SVGElement.cpp:
2961         * svg/SVGElement.h:
2962         * svg/SVGElement.idl:
2963         * svg/SVGElementInstance.cpp:
2964         * svg/SVGElementInstance.h:
2965         * svg/SVGElementInstance.idl:
2966         * svg/SVGElementInstanceList.cpp:
2967         * svg/SVGElementInstanceList.h:
2968         * svg/SVGElementInstanceList.idl:
2969         * svg/SVGEllipseElement.cpp:
2970         * svg/SVGEllipseElement.h:
2971         * svg/SVGEllipseElement.idl:
2972         * svg/SVGException.cpp:
2973         * svg/SVGException.h:
2974         * svg/SVGException.idl:
2975         * svg/SVGExternalResourcesRequired.cpp:
2976         * svg/SVGExternalResourcesRequired.h:
2977         * svg/SVGExternalResourcesRequired.idl:
2978         * svg/SVGFEBlendElement.cpp:
2979         * svg/SVGFEBlendElement.h:
2980         * svg/SVGFEBlendElement.idl:
2981         * svg/SVGFEColorMatrixElement.cpp:
2982         * svg/SVGFEColorMatrixElement.h:
2983         * svg/SVGFEColorMatrixElement.idl:
2984         * svg/SVGFEComponentTransferElement.cpp:
2985         * svg/SVGFEComponentTransferElement.h:
2986         * svg/SVGFEComponentTransferElement.idl:
2987         * svg/SVGFECompositeElement.cpp:
2988         * svg/SVGFECompositeElement.h:
2989         * svg/SVGFECompositeElement.idl:
2990         * svg/SVGFEConvolveMatrixElement.cpp:
2991         * svg/SVGFEConvolveMatrixElement.h:
2992         * svg/SVGFEConvolveMatrixElement.idl:
2993         * svg/SVGFEDiffuseLightingElement.cpp:
2994         * svg/SVGFEDiffuseLightingElement.h:
2995         * svg/SVGFEDiffuseLightingElement.idl:
2996         * svg/SVGFEDisplacementMapElement.cpp:
2997         * svg/SVGFEDisplacementMapElement.h:
2998         * svg/SVGFEDisplacementMapElement.idl:
2999         * svg/SVGFEDistantLightElement.cpp:
3000         * svg/SVGFEDistantLightElement.h:
3001         * svg/SVGFEDistantLightElement.idl:
3002         * svg/SVGFEDropShadowElement.cpp:
3003         * svg/SVGFEDropShadowElement.h:
3004         * svg/SVGFEDropShadowElement.idl:
3005         * svg/SVGFEFloodElement.cpp:
3006         * svg/SVGFEFloodElement.h:
3007         * svg/SVGFEFloodElement.idl:
3008         * svg/SVGFEFuncAElement.cpp:
3009         * svg/SVGFEFuncAElement.h:
3010         * svg/SVGFEFuncAElement.idl:
3011         * svg/SVGFEFuncBElement.cpp:
3012         * svg/SVGFEFuncBElement.h:
3013         * svg/SVGFEFuncBElement.idl:
3014         * svg/SVGFEFuncGElement.cpp:
3015         * svg/SVGFEFuncGElement.h:
3016         * svg/SVGFEFuncGElement.idl:
3017         * svg/SVGFEFuncRElement.cpp:
3018         * svg/SVGFEFuncRElement.h:
3019         * svg/SVGFEFuncRElement.idl:
3020         * svg/SVGFEGaussianBlurElement.cpp:
3021         * svg/SVGFEGaussianBlurElement.h:
3022         * svg/SVGFEGaussianBlurElement.idl:
3023         * svg/SVGFEImageElement.cpp:
3024         * svg/SVGFEImageElement.h:
3025         * svg/SVGFEImageElement.idl:
3026         * svg/SVGFELightElement.cpp:
3027         * svg/SVGFELightElement.h:
3028         * svg/SVGFEMergeElement.cpp:
3029         * svg/SVGFEMergeElement.h:
3030         * svg/SVGFEMergeElement.idl:
3031         * svg/SVGFEMergeNodeElement.cpp:
3032         * svg/SVGFEMergeNodeElement.h:
3033         * svg/SVGFEMergeNodeElement.idl:
3034         * svg/SVGFEMorphologyElement.cpp:
3035         * svg/SVGFEMorphologyElement.h:
3036         * svg/SVGFEMorphologyElement.idl:
3037         * svg/SVGFEOffsetElement.cpp:
3038         * svg/SVGFEOffsetElement.h:
3039         * svg/SVGFEOffsetElement.idl:
3040         * svg/SVGFEPointLightElement.cpp:
3041         * svg/SVGFEPointLightElement.h:
3042         * svg/SVGFEPointLightElement.idl:
3043         * svg/SVGFESpecularLightingElement.cpp:
3044         * svg/SVGFESpecularLightingElement.h:
3045         * svg/SVGFESpecularLightingElement.idl:
3046         * svg/SVGFESpotLightElement.cpp:
3047         * svg/SVGFESpotLightElement.h:
3048         * svg/SVGFESpotLightElement.idl:
3049         * svg/SVGFETileElement.cpp:
3050         * svg/SVGFETileElement.h:
3051         * svg/SVGFETileElement.idl:
3052         * svg/SVGFETurbulenceElement.cpp:
3053         * svg/SVGFETurbulenceElement.h:
3054         * svg/SVGFETurbulenceElement.idl:
3055         * svg/SVGFilterElement.cpp:
3056         * svg/SVGFilterElement.h:
3057         * svg/SVGFilterElement.idl:
3058         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3059         * svg/SVGFilterPrimitiveStandardAttributes.h:
3060         * svg/SVGFilterPrimitiveStandardAttributes.idl:
3061         * svg/SVGFitToViewBox.cpp:
3062         * svg/SVGFitToViewBox.h:
3063         * svg/SVGFitToViewBox.idl:
3064         * svg/SVGFontElement.idl:
3065         * svg/SVGFontFaceElement.idl:
3066         * svg/SVGFontFaceFormatElement.idl:
3067         * svg/SVGFontFaceNameElement.cpp:
3068         * svg/SVGFontFaceNameElement.idl:
3069         * svg/SVGFontFaceSrcElement.idl:
3070         * svg/SVGFontFaceUriElement.idl:
3071         * svg/SVGForeignObjectElement.cpp:
3072         * svg/SVGForeignObjectElement.h:
3073         * svg/SVGForeignObjectElement.idl:
3074         * svg/SVGGElement.cpp:
3075         * svg/SVGGElement.h:
3076         * svg/SVGGElement.idl:
3077         * svg/SVGGlyphElement.idl:
3078         * svg/SVGGlyphRefElement.cpp:
3079         * svg/SVGGlyphRefElement.h:
3080         * svg/SVGGlyphRefElement.idl:
3081         * svg/SVGGradientElement.cpp:
3082         * svg/SVGGradientElement.h:
3083         * svg/SVGGradientElement.idl:
3084         * svg/SVGGraphicsElement.cpp:
3085         * svg/SVGGraphicsElement.h:
3086         * svg/SVGGraphicsElement.idl:
3087         * svg/SVGHKernElement.idl:
3088         * svg/SVGImageElement.cpp:
3089         * svg/SVGImageElement.h:
3090         * svg/SVGImageElement.idl:
3091         * svg/SVGImageLoader.cpp:
3092         * svg/SVGImageLoader.h:
3093         * svg/SVGLangSpace.cpp:
3094         * svg/SVGLangSpace.h:
3095         * svg/SVGLength.cpp:
3096         * svg/SVGLength.h:
3097         * svg/SVGLength.idl:
3098         * svg/SVGLengthContext.cpp:
3099         * svg/SVGLengthContext.h:
3100         * svg/SVGLengthList.cpp:
3101         * svg/SVGLengthList.h:
3102         * svg/SVGLengthList.idl:
3103         * svg/SVGLineElement.cpp:
3104         * svg/SVGLineElement.h:
3105         * svg/SVGLineElement.idl:
3106         * svg/SVGLinearGradientElement.cpp:
3107         * svg/SVGLinearGradientElement.h:
3108         * svg/SVGLinearGradientElement.idl:
3109         * svg/SVGLocatable.cpp:
3110         * svg/SVGLocatable.h:
3111         * svg/SVGMPathElement.cpp:
3112         * svg/SVGMPathElement.h:
3113         * svg/SVGMPathElement.idl:
3114         * svg/SVGMarkerElement.cpp:
3115         * svg/SVGMarkerElement.h:
3116         * svg/SVGMarkerElement.idl:
3117         * svg/SVGMaskElement.cpp:
3118         * svg/SVGMaskElement.h:
3119         * svg/SVGMaskElement.idl:
3120         * svg/SVGMatrix.h:
3121         * svg/SVGMatrix.idl:
3122         * svg/SVGMetadataElement.cpp:
3123         * svg/SVGMetadataElement.h:
3124         * svg/SVGMetadataElement.idl:
3125         * svg/SVGMissingGlyphElement.idl:
3126         * svg/SVGNumber.idl:
3127         * svg/SVGNumberList.cpp:
3128         * svg/SVGNumberList.h:
3129         * svg/SVGNumberList.idl:
3130         * svg/SVGPaint.cpp:
3131         * svg/SVGPaint.h:
3132         * svg/SVGPaint.idl:
3133         * svg/SVGParserUtilities.cpp:
3134         * svg/SVGParserUtilities.h:
3135         * svg/SVGParsingError.h:
3136         * svg/SVGPathBlender.cpp:
3137         * svg/SVGPathBlender.h:
3138         * svg/SVGPathBuilder.cpp:
3139         * svg/SVGPathBuilder.h:
3140         * svg/SVGPathByteStream.h:
3141         * svg/SVGPathByteStreamBuilder.cpp:
3142         * svg/SVGPathByteStreamBuilder.h:
3143         * svg/SVGPathByteStreamSource.cpp:
3144         * svg/SVGPathByteStreamSource.h:
3145         * svg/SVGPathConsumer.h:
3146         * svg/SVGPathElement.cpp:
3147         * svg/SVGPathElement.h:
3148         * svg/SVGPathElement.idl:
3149         * svg/SVGPathParser.cpp:
3150         * svg/SVGPathParser.h:
3151         * svg/SVGPathSeg.h:
3152         * svg/SVGPathSeg.idl:
3153         * svg/SVGPathSegArc.h:
3154         * svg/SVGPathSegArcAbs.h:
3155         * svg/SVGPathSegArcAbs.idl:
3156         * svg/SVGPathSegArcRel.h:
3157         * svg/SVGPathSegArcRel.idl:
3158         * svg/SVGPathSegClosePath.h:
3159         * svg/SVGPathSegClosePath.idl:
3160         * svg/SVGPathSegCurvetoCubic.h:
3161         * svg/SVGPathSegCurvetoCubicAbs.h:
3162         * svg/SVGPathSegCurvetoCubicAbs.idl:
3163         * svg/SVGPathSegCurvetoCubicRel.h:
3164         * svg/SVGPathSegCurvetoCubicRel.idl:
3165         * svg/SVGPathSegCurvetoCubicSmooth.h:
3166         * svg/SVGPathSegCurvetoCubicSmoothAbs.h:
3167         * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
3168         * svg/SVGPathSegCurvetoCubicSmoothRel.h:
3169         * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
3170         * svg/SVGPathSegCurvetoQuadratic.h:
3171         * svg/SVGPathSegCurvetoQuadraticAbs.h:
3172         * svg/SVGPathSegCurvetoQuadraticAbs.idl:
3173         * svg/SVGPathSegCurvetoQuadraticRel.h:
3174         * svg/SVGPathSegCurvetoQuadraticRel.idl:
3175         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:
3176         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
3177         * svg/SVGPathSegCurvetoQuadraticSmoothRel.h:
3178         * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
3179         * svg/SVGPathSegLinetoAbs.h:
3180         * svg/SVGPathSegLinetoAbs.idl:
3181         * svg/SVGPathSegLinetoHorizontal.h:
3182         * svg/SVGPathSegLinetoHorizontalAbs.h:
3183         * svg/SVGPathSegLinetoHorizontalAbs.idl:
3184         * svg/SVGPathSegLinetoHorizontalRel.h:
3185         * svg/SVGPathSegLinetoHorizontalRel.idl:
3186         * svg/SVGPathSegLinetoRel.h:
3187         * svg/SVGPathSegLinetoRel.idl:
3188         * svg/SVGPathSegLinetoVertical.h:
3189         * svg/SVGPathSegLinetoVerticalAbs.h:
3190         * svg/SVGPathSegLinetoVerticalAbs.idl:
3191         * svg/SVGPathSegLinetoVerticalRel.h:
3192         * svg/SVGPathSegLinetoVerticalRel.idl:
3193         * svg/SVGPathSegList.cpp:
3194         * svg/SVGPathSegList.h:
3195         * svg/SVGPathSegList.idl:
3196         * svg/SVGPathSegListBuilder.cpp:
3197         * svg/SVGPathSegListBuilder.h:
3198         * svg/SVGPathSegListSource.cpp:
3199         * svg/SVGPathSegListSource.h:
3200         * svg/SVGPathSegMovetoAbs.h:
3201         * svg/SVGPathSegMovetoAbs.idl:
3202         * svg/SVGPathSegMovetoRel.h:
3203         * svg/SVGPathSegMovetoRel.idl:
3204         * svg/SVGPathSegWithContext.h:
3205         * svg/SVGPathSource.h:
3206         * svg/SVGPathStringBuilder.cpp:
3207         * svg/SVGPathStringBuilder.h:
3208         * svg/SVGPathStringSource.cpp:
3209         * svg/SVGPathStringSource.h:
3210         * svg/SVGPathTraversalStateBuilder.cpp:
3211         * svg/SVGPathTraversalStateBuilder.h:
3212         * svg/SVGPathUtilities.cpp:
3213         * svg/SVGPathUtilities.h:
3214         * svg/SVGPatternElement.cpp:
3215         * svg/SVGPatternElement.h:
3216         * svg/SVGPatternElement.idl:
3217         * svg/SVGPoint.h:
3218         * svg/SVGPoint.idl:
3219         * svg/SVGPointList.cpp:
3220         * svg/SVGPointList.h:
3221         * svg/SVGPointList.idl:
3222         * svg/SVGPolyElement.cpp:
3223         * svg/SVGPolyElement.h:
3224         * svg/SVGPolygonElement.cpp:
3225         * svg/SVGPolygonElement.h:
3226         * svg/SVGPolygonElement.idl:
3227         * svg/SVGPolylineElement.cpp:
3228         * svg/SVGPolylineElement.h:
3229         * svg/SVGPolylineElement.idl:
3230         * svg/SVGPreserveAspectRatio.cpp:
3231         * svg/SVGPreserveAspectRatio.h:
3232         * svg/SVGPreserveAspectRatio.idl:
3233         * svg/SVGRadialGradientElement.cpp:
3234         * svg/SVGRadialGradientElement.h:
3235         * svg/SVGRadialGradientElement.idl:
3236         * svg/SVGRect.h:
3237         * svg/SVGRect.idl:
3238         * svg/SVGRectElement.cpp:
3239         * svg/SVGRectElement.h:
3240         * svg/SVGRectElement.idl:
3241         * svg/SVGRenderingIntent.h:
3242         * svg/SVGRenderingIntent.idl:
3243         * svg/SVGSVGElement.cpp:
3244         * svg/SVGSVGElement.h:
3245         * svg/SVGSVGElement.idl:
3246         * svg/SVGScriptElement.cpp:
3247         * svg/SVGScriptElement.h:
3248         * svg/SVGScriptElement.idl:
3249         * svg/SVGSetElement.cpp:
3250         * svg/SVGSetElement.h:
3251         * svg/SVGSetElement.idl:
3252         * svg/SVGStopElement.cpp:
3253         * svg/SVGStopElement.h:
3254         * svg/SVGStopElement.idl:
3255         * svg/SVGStringList.cpp:
3256         * svg/SVGStringList.h:
3257         * svg/SVGStringList.idl:
3258         * svg/SVGStyleElement.cpp:
3259         * svg/SVGStyleElement.h:
3260         * svg/SVGStyleElement.idl:
3261         * svg/SVGSwitchElement.cpp:
3262         * svg/SVGSwitchElement.h:
3263         * svg/SVGSwitchElement.idl:
3264         * svg/SVGSymbolElement.cpp:
3265         * svg/SVGSymbolElement.h:
3266         * svg/SVGSymbolElement.idl:
3267         * svg/SVGTRefElement.cpp:
3268         * svg/SVGTRefElement.h:
3269         * svg/SVGTRefElement.idl:
3270         * svg/SVGTSpanElement.cpp:
3271         * svg/SVGTSpanElement.h:
3272         * svg/SVGTSpanElement.idl:
3273         * svg/SVGTests.cpp:
3274         * svg/SVGTests.h:
3275         * svg/SVGTests.idl:
3276         * svg/SVGTextContentElement.cpp:
3277         * svg/SVGTextContentElement.h:
3278         * svg/SVGTextContentElement.idl:
3279         * svg/SVGTextElement.cpp:
3280         * svg/SVGTextElement.h:
3281         * svg/SVGTextElement.idl:
3282         * svg/SVGTextPathElement.cpp:
3283         * svg/SVGTextPathElement.h:
3284         * svg/SVGTextPathElement.idl:
3285         * svg/SVGTextPositioningElement.cpp:
3286         * svg/SVGTextPositioningElement.h:
3287         * svg/SVGTextPositioningElement.idl:
3288         * svg/SVGTitleElement.cpp:
3289         * svg/SVGTitleElement.h:
3290         * svg/SVGTitleElement.idl:
3291         * svg/SVGTransform.cpp:
3292         * svg/SVGTransform.h:
3293         * svg/SVGTransform.idl:
3294         * svg/SVGTransformDistance.cpp:
3295         * svg/SVGTransformDistance.h:
3296         * svg/SVGTransformList.cpp:
3297         * svg/SVGTransformList.h:
3298         * svg/SVGTransformList.idl:
3299         * svg/SVGTransformable.cpp:
3300         * svg/SVGTransformable.h:
3301         * svg/SVGURIReference.cpp:
3302         * svg/SVGURIReference.h:
3303         * svg/SVGURIReference.idl:
3304         * svg/SVGUnitTypes.h:
3305         * svg/SVGUnitTypes.idl:
3306         * svg/SVGUnknownElement.h:
3307         * svg/SVGUseElement.cpp:
3308         * svg/SVGUseElement.h:
3309         * svg/SVGUseElement.idl:
3310         * svg/SVGVKernElement.idl:
3311         * svg/SVGViewElement.cpp:
3312         * svg/SVGViewElement.h:
3313         * svg/SVGViewElement.idl:
3314         * svg/SVGViewSpec.cpp:
3315         * svg/SVGViewSpec.h:
3316         * svg/SVGViewSpec.idl:
3317         * svg/SVGZoomAndPan.cpp:
3318         * svg/SVGZoomAndPan.h:
3319         * svg/SVGZoomAndPan.idl:
3320         * svg/SVGZoomEvent.cpp:
3321         * svg/SVGZoomEvent.h:
3322         * svg/SVGZoomEvent.idl:
3323         * svg/animation/SMILTime.cpp:
3324         (WebCore::operator*):
3325         * svg/animation/SMILTime.h:
3326         * svg/animation/SMILTimeContainer.cpp:
3327         * svg/animation/SMILTimeContainer.h:
3328         * svg/animation/SVGSMILElement.cpp:
3329         * svg/animation/SVGSMILElement.h:
3330         * svg/graphics/SVGImage.cpp:
3331         * svg/graphics/SVGImage.h:
3332         * svg/graphics/SVGImageCache.cpp:
3333         * svg/graphics/SVGImageCache.h:
3334         * svg/graphics/SVGImageChromeClient.h:
3335         * svg/graphics/SVGImageForContainer.cpp:
3336         * svg/graphics/SVGImageForContainer.h:
3337         * svg/graphics/filters/SVGFEImage.cpp:
3338         * svg/graphics/filters/SVGFEImage.h:
3339         * svg/graphics/filters/SVGFilter.cpp:
3340         * svg/graphics/filters/SVGFilter.h:
3341         * svg/graphics/filters/SVGFilterBuilder.cpp:
3342         * svg/graphics/filters/SVGFilterBuilder.h:
3343         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
3344         * svg/properties/SVGAnimatedListPropertyTearOff.h:
3345         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
3346         * svg/properties/SVGAnimatedProperty.cpp:
3347         * svg/properties/SVGAnimatedProperty.h:
3348         * svg/properties/SVGAnimatedPropertyDescription.h:
3349         * svg/properties/SVGAnimatedPropertyMacros.h:
3350         * svg/properties/SVGAnimatedPropertyTearOff.h:
3351         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
3352         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
3353         * svg/properties/SVGAttributeToPropertyMap.cpp:
3354         * svg/properties/SVGAttributeToPropertyMap.h:
3355         * svg/properties/SVGListProperty.h:
3356         * svg/properties/SVGListPropertyTearOff.h:
3357         * svg/properties/SVGPathSegListPropertyTearOff.cpp:
3358         * svg/properties/SVGPathSegListPropertyTearOff.h:
3359         * svg/properties/SVGProperty.h:
3360         * svg/properties/SVGPropertyInfo.cpp:
3361         * svg/properties/SVGPropertyInfo.h:
3362         * svg/properties/SVGPropertyTearOff.h:
3363         * svg/properties/SVGPropertyTraits.h:
3364         * svg/properties/SVGStaticListPropertyTearOff.h:
3365         * svg/properties/SVGStaticPropertyTearOff.h:
3366         * svg/properties/SVGStaticPropertyWithParentTearOff.h:
3367         * svg/properties/SVGTransformListPropertyTearOff.h:
3368         * svg/svgattrs.in:
3369         * svg/svgtags.in:
3370         * xml/XMLErrors.cpp:
3371         (WebCore::XMLErrors::insertErrorMessageBlock):
3372         * xml/parser/XMLDocumentParser.cpp:
3373
3374 2014-02-05  Zan Dobersek  <zdobersek@igalia.com>
3375
3376         Manage CalcExpressionNode and derived classes through std::unique_ptr instead of OwnPtr
3377         https://bugs.webkit.org/show_bug.cgi?id=128118
3378
3379         Reviewed by Darin Adler.
3380
3381         Replace uses of OwnPtr for CalcExpressionNode and derived classes with std::unique_ptr.
3382
3383         * css/CSSCalculationValue.cpp:
3384         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
3385         (WebCore::CSSCalcBinaryOperation::toCalcValue):
3386         * css/CSSCalculationValue.h:
3387         * platform/CalculationValue.cpp:
3388         (WebCore::CalculationValue::create):
3389         * platform/CalculationValue.h:
3390         (WebCore::CalculationValue::CalculationValue):
3391         (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
3392         * platform/Length.cpp:
3393         (WebCore::Length::blendMixedTypes):
3394         * rendering/style/BasicShapes.cpp:
3395         (WebCore::BasicShapeCenterCoordinate::updateComputedLength):
3396
3397 2014-02-05  Zan Dobersek  <zdobersek@igalia.com>
3398
3399         Remove CLASS_IF_GCC workarounds
3400         https://bugs.webkit.org/show_bug.cgi?id=128207
3401
3402         Reviewed by Anders Carlsson.
3403
3404         Remove the CLASS_IF_GCC macro that was defined to 'class' when using the GCC compiler.
3405         The macro was then used in class friendship declarations for templated classes to avoid
3406         corner-case compiler failures on both GCC pre-4.7 and MSVC pre-2013. The problematic
3407         versions of both compilers are no longer supported, so this macro is good to go.
3408
3409         * bindings/generic/RuntimeEnabledFeatures.h:
3410
3411 2014-02-05  Ryuan Choi  <ryuan.choi@samsung.com>
3412
3413         MediaPlayerPrivateGStreamerBase should have virtual destructor
3414         https://bugs.webkit.org/show_bug.cgi?id=128238
3415
3416         Reviewed by Carlos Garcia Campos.
3417
3418         MediaPlayerPrivateGStreamer inherit MediaPlayerPrivateGStreamerBase.
3419         So MediaPlayerPrivateGStreamerBase should have virtual destructor.
3420
3421         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Made destructor as virtual.
3422
3423 2014-02-04  Andreas Kling  <akling@apple.com>
3424
3425         Remove <iframe seamless> support.
3426         <https://webkit.org/b/128213>
3427
3428         Seamless iframes were behind a runtime flag that we never enabled,
3429         and the only other engine that implemented them (Blink) recently
3430         removed them. Since the feature is very invasive, let's take it
3431         out for now.
3432
3433         Rubber-stamped by Antti Koivisto.
3434
3435         * Configurations/FeatureDefines.xcconfig:
3436         * accessibility/AccessibilityObject.h:
3437         * accessibility/AccessibilityRenderObject.cpp:
3438         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
3439         (WebCore::AccessibilityRenderObject::parentObject):
3440         (WebCore::AccessibilityRenderObject::boundingBoxRect):
3441         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3442         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3443         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3444         (createAccessibilityRoleMap):
3445         * bindings/generic/RuntimeEnabledFeatures.cpp:
3446         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
3447         * bindings/generic/RuntimeEnabledFeatures.h:
3448         * css/CSSComputedStyleDeclaration.cpp:
3449         (WebCore::ComputedStyleExtractor::propertyValue):
3450         * css/CSSSelector.cpp:
3451         (WebCore::CSSSelector::pseudoId):
3452         (WebCore::populatePseudoTypeByNameMap):
3453         (WebCore::CSSSelector::extractPseudoType):
3454         * css/CSSSelector.h:
3455         * css/SelectorChecker.cpp:
3456         (WebCore::SelectorChecker::checkOne):
3457         * css/StyleResolver.cpp:
3458         (WebCore::StyleResolver::adjustRenderStyle):
3459         * css/html.css:
3460         (iframe):
3461         * dom/Document.cpp:
3462         (WebCore::Document::scheduleStyleRecalc):
3463         (WebCore::Document::implicitOpen):
3464         (WebCore::Document::initSecurityContext):
3465         * dom/Document.h:
3466         * dom/DocumentStyleSheetCollection.cpp:
3467         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3468         * dom/SecurityContext.cpp:
3469         (WebCore::SecurityContext::SecurityContext):
3470         * dom/SecurityContext.h:
3471         * html/HTMLAttributeNames.in:
3472         * html/HTMLIFrameElement.cpp:
3473         (WebCore::HTMLIFrameElement::HTMLIFrameElement):
3474         (WebCore::HTMLIFrameElement::isPresentationAttribute):
3475         (WebCore::HTMLIFrameElement::parseAttribute):
3476         * html/HTMLIFrameElement.h:
3477         * html/HTMLIFrameElement.idl:
3478         * loader/FrameLoader.cpp:
3479         (WebCore::FrameLoader::findFrameForNavigation):
3480         * page/FrameView.cpp:
3481         (WebCore::FrameView::calculateScrollbarModesForLayout):
3482         (WebCore::FrameView::isInChildFrameWithFrameFlattening):
3483         * page/Location.cpp:
3484         (WebCore::Location::setLocation):
3485         * rendering/RenderBox.h:
3486         (WebCore::RenderBox::stretchesToViewport):
3487         * rendering/RenderIFrame.cpp:
3488         (WebCore::RenderIFrame::shouldComputeSizeAsReplaced):
3489         (WebCore::RenderIFrame::isInlineBlockOrInlineTable):
3490         (WebCore::RenderIFrame::flattenFrame):
3491         (WebCore::RenderIFrame::layout):
3492         * rendering/RenderIFrame.h:
3493         * rendering/RenderView.cpp:
3494         (WebCore::RenderView::initializeLayoutState):
3495         (WebCore::RenderView::layout):
3496         * rendering/RenderView.h:
3497         * style/StyleResolveForDocument.cpp:
3498         (WebCore::Style::resolveForDocument):
3499         * style/StyleResolveTree.cpp:
3500         (WebCore::Style::resolveTree):
3501
3502 2014-02-04  Tim Horton  <timothy_horton@apple.com>
3503
3504         [iOS][wk2] Make development builds of WebKit work on device
3505         https://bugs.webkit.org/show_bug.cgi?id=128230
3506
3507         Reviewed by Anders Carlsson.
3508
3509         * platform/RuntimeApplicationChecksIOS.mm:
3510         (WebCore::applicationIsWebProcess):
3511         Add WebContent.Development as an additional name for the WebContent process.
3512
3513 2014-02-04  Brady Eidson  <beidson@apple.com>
3514
3515         IDB: indexeddb/mozilla/add-twice-failure.html fails
3516         <rdar://problem/15982569> and https://bugs.webkit.org/show_bug.cgi?id=128208
3517
3518         Reviewed by Tim Horton.
3519
3520         Covered specifically by indexeddb/mozilla/add-twice-failure.html and a handful of others.
3521
3522         * Modules/indexeddb/IDBRequest.cpp:
3523         (WebCore::IDBRequest::onError): Improve logging.
3524
3525         * Modules/indexeddb/IDBTransactionBackend.cpp:
3526         (WebCore::IDBTransactionBackend::abort): Improve logging.
3527
3528         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
3529         (WebCore::PutOperation::perform): Don’t abort the transaction when an error occurred.
3530
3531         * WebCore.exp.in:
3532
3533 2014-02-04  Yoav Weiss  <yoav@yoav.ws>
3534
3535         Use srcset's pixel density to determine intrinsic size
3536         https://bugs.webkit.org/show_bug.cgi?id=123832
3537
3538         Reviewed by Dean Jackson.
3539
3540         The patch is a port of a similar Blink patch: https://codereview.chromium.org/25105004
3541         According to the spec "When an img element has a current pixel density that is not 1.0,
3542         the element's image data must be treated as if its resolution, in device pixels per CSS pixels,
3543         was the current pixel density."
3544
3545         I've added that support using the following changes:
3546         - bestFitSourceForImageAttributes now returns the image candidate to HTMLImageElement.
3547         - HTMLImageElement passes the devicePixelRatio data to RenderImage, which stores it.
3548         - Bitmap images are scaled using the devicePixelRatio at RenderImageResource's intrinsicSize() and imageSize().
3549         - SVG images are scaled using the devicePixelRatio at RenderReplaced::computeAspectRatioInformationForRenderBox.
3550         - Canvas support added at CanvasRenderingContext2D::size.
3551
3552         Tests: fast/hidpi/image-srcset-intrinsic-size.html
3553                fast/hidpi/image-srcset-png-canvas.html
3554                fast/hidpi/image-srcset-png.html
3555                fast/hidpi/image-srcset-relative-svg-canvas-2x.html
3556                fast/hidpi/image-srcset-relative-svg.html
3557                fast/hidpi/image-srcset-space-left-nomodifier.html
3558                fast/hidpi/image-srcset-svg-canvas-2x.html
3559                fast/hidpi/image-srcset-svg-canvas.html
3560                fast/hidpi/image-srcset-svg.html
3561                fast/hidpi/image-srcset-svg2.html
3562
3563         * html/HTMLImageElement.cpp:
3564         (WebCore::HTMLImageElement::HTMLImageElement):
3565         (WebCore::HTMLImageElement::parseAttribute):
3566         (WebCore::HTMLImageElement::createRenderer):
3567         * html/HTMLImageElement.h:
3568         * html/canvas/CanvasRenderingContext2D.cpp:
3569         (WebCore::size):
3570         (WebCore::CanvasRenderingContext2D::drawImage):
3571         * html/parser/HTMLParserIdioms.cpp:
3572         (WebCore::compareByScaleFactor):
3573         (WebCore::parseImagesWithScaleFromSrcsetAttribute):
3574         (WebCore::bestFitSourceForImageAttributes):
3575         * html/parser/HTMLParserIdioms.h:
3576         (WebCore::ImageWithScale::ImageWithScale):
3577         (WebCore::ImageWithScale::imageURL):
3578         (WebCore::ImageWithScale::scaleFactor):
3579         * html/parser/HTMLPreloadScanner.cpp:
3580         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
3581         * rendering/RenderImage.cpp:
3582         (WebCore::RenderImage::RenderImage):
3583         * rendering/RenderImage.h:
3584         (WebCore::RenderImage::setImageDevicePixelRatio):
3585         (WebCore::RenderImage::imageDevicePixelRatio):
3586         * rendering/RenderImageResource.cpp:
3587         (WebCore::RenderImageResource::imageSize):
3588         (WebCore::RenderImageResource::intrinsicSize):
3589         (WebCore::RenderImageResource::getImageSize):
3590         * rendering/RenderImageResource.h:
3591         * rendering/RenderReplaced.cpp:
3592         (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
3593
3594 2014-02-04  Geoffrey Garen  <ggaren@apple.com>
3595
3596         Rolled out <http://trac.webkit.org/changeset/163280>:
3597
3598             Push DOM attributes into the prototype chain
3599             ​https://bugs.webkit.org/show_bug.cgi?id=127969
3600
3601         It caused performance regressions, and broken websites on iOS.
3602
3603         Reviewed by Geoffrey Garen.
3604
3605         * bindings/js/JSDOMBinding.h:
3606         (WebCore::getStaticValueSlotEntryWithoutCaching):
3607         * bindings/js/JSStorageCustom.cpp:
3608         (WebCore::JSStorage::nameGetter):
3609         (WebCore::JSStorage::deleteProperty):
3610         (WebCore::JSStorage::putDelegate):
3611         * bindings/scripts/CodeGeneratorJS.pm:
3612         (GenerateGetOwnPropertySlotBody):
3613         (InstanceOverridesGetOwnPropertySlot):
3614         (PrototypeOverridesGetOwnPropertySlot):
3615         (GenerateAttributesHashTable):
3616         (GenerateImplementation):
3617         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3618         (WebCore::jsTestActiveDOMObjectConstructor):
3619         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3620         (WebCore::jsTestCustomNamedGetterConstructor):
3621         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
3622         (WebCore::JSTestEventConstructor::getOwnPropertySlot):
3623         (WebCore::jsTestEventConstructorConstructor):
3624         * bindings/scripts/test/JS/JSTestEventConstructor.h:
3625         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3626         (WebCore::jsTestEventTargetConstructor):
3627         * bindings/scripts/test/JS/JSTestException.cpp:
3628         (WebCore::jsTestExceptionConstructor):
3629         * bindings/scripts/test/JS/JSTestException.h:
3630         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
3631         (WebCore::JSTestGenerateIsReachable::getOwnPropertySlot):
3632         (WebCore::jsTestGenerateIsReachableConstructor):
3633         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
3634         * bindings/scripts/test/JS/JSTestInterface.cpp:
3635         (WebCore::jsTestInterfaceConstructor):
3636         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3637         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
3638         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
3639         (WebCore::jsTestMediaQueryListListenerConstructor):
3640         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3641         (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
3642         (WebCore::jsTestNamedConstructorConstructor):
3643         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
3644         * bindings/scripts/test/JS/JSTestNode.cpp:
3645         (WebCore::JSTestNode::getOwnPropertySlot):
3646         (WebCore::jsTestNodeConstructor):
3647         * bindings/scripts/test/JS/JSTestNode.h:
3648         * bindings/scripts/test/JS/JSTestObj.cpp:
3649         (WebCore::jsTestObjConstructor):
3650         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
3651         (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
3652         (WebCore::jsTestOverloadedConstructorsConstructor):
3653         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
3654         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3655         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
3656         (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
3657         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3658         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3659         (WebCore::JSTestTypedefsPrototype::getOwnPropertySlot):
3660         (WebCore::jsTestTypedefsConstructor):
3661         * bindings/scripts/test/JS/JSattribute.cpp:
3662         (WebCore::JSattribute::getOwnPropertySlot):
3663         (WebCore::jsattributeConstructor):
3664         * bindings/scripts/test/JS/JSattribute.h:
3665         * bindings/scripts/test/JS/JSreadonly.cpp:
3666         (WebCore::JSreadonly::getOwnPropertySlot):
3667         (WebCore::jsreadonlyConstructor):
3668         * bindings/scripts/test/JS/JSreadonly.h:
3669
3670 2014-02-04  Alexey Proskuryakov  <ap@apple.com>
3671
3672         WebCrypto HMAC verification uses a non-constant-time memcmp
3673         https://bugs.webkit.org/show_bug.cgi?id=128198
3674         <rdar://problem/15976961>
3675
3676         Reviewed by Oliver Hunt.
3677
3678         * crypto/mac/CryptoAlgorithmHMACMac.cpp: (WebCore::CryptoAlgorithmHMAC::platformVerify):
3679         Use a constant time memcmp.
3680
3681 2014-02-04  Simon Fraser  <simon.fraser@apple.com>
3682
3683         Add WK2 event handling path for iOS, and make Mac and iOS code more similar
3684         https://bugs.webkit.org/show_bug.cgi?id=128199
3685
3686         Reviewed by Sam Weinig.
3687
3688         EventHandlerIOS need some changes for WebKit2, where we have no native
3689         widget. Merge those changes from EventHandlerMac.
3690         
3691         Make a few drive-by changes to match EventHandlerMac behavior.
3692         
3693         Clean up EventHandlerMac, removing trailing whitespace and fixing
3694         the odd comment.
3695
3696         * page/ios/EventHandlerIOS.mm:
3697         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
3698         (WebCore::EventHandler::passMouseDownEventToWidget):
3699         (WebCore::EventHandler::passSubframeEventToSubframe):
3700         (WebCore::EventHandler::passWheelEventToWidget):
3701         (WebCore::EventHandler::mouseDown):
3702         (WebCore::EventHandler::mouseMoved):
3703         (WebCore::frameHasPlatformWidget):
3704         (WebCore::EventHandler::passMousePressEventToSubframe):
3705         (WebCore::EventHandler::passMouseMoveEventToSubframe):
3706         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
3707         * page/mac/EventHandlerMac.mm:
3708         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
3709         (WebCore::EventHandler::passMouseDownEventToWidget):
3710         (WebCore::findViewInSubviews):
3711         (WebCore::EventHandler::eventLoopHandleMouseUp):
3712         (WebCore::EventHandler::passWheelEventToWidget):
3713         (WebCore::EventHandler::mouseMoved):
3714
3715 2014-02-04  Benjamin Poulain  <bpoulain@apple.com>
3716
3717         [OSX] Limit progress bar's dimensions to ushort
3718         https://bugs.webkit.org/show_bug.cgi?id=128019
3719
3720         Wordaround a crash in Quartz until <rdar://problem/15855086> is fixed.
3721
3722         Reviewed by Sam Weinig.
3723
3724         * rendering/RenderThemeMac.mm:
3725         (WebCore::RenderThemeMac::progressBarRectForBounds):
3726
3727 2014-02-04  Anders Carlsson  <andersca@apple.com>
3728
3729         Rename StringImpl::getCharacters to StringImpl::characters
3730         https://bugs.webkit.org/show_bug.cgi?id=128205
3731
3732         Reviewed by Antti Koivisto.
3733
3734         Update for WTF changes.
3735
3736         * rendering/SimpleLineLayout.cpp:
3737         (WebCore::SimpleLineLayout::createTextRuns):
3738
3739 2014-02-04  Anders Carlsson  <andersca@apple.com>
3740
3741         Rename equalNonNull to equal and make it take const StringImpl& instead
3742         https://bugs.webkit.org/show_bug.cgi?id=128206
3743
3744         Reviewed by Andreas Kling.
3745
3746         * html/parser/HTMLParserIdioms.cpp:
3747         (WebCore::threadSafeEqual):
3748         (WebCore::threadSafeMatch):
3749
3750 2014-02-04  Anders Carlsson  <andersca@apple.com>
3751
3752         Rename String::getCharacters to String::characters
3753         https://bugs.webkit.org/show_bug.cgi?id=128196
3754
3755         Reviewed by Andreas Kling.
3756
3757         Update for WTF::String changes.
3758
3759         * dom/Document.cpp:
3760         (WebCore::canonicalizedTitle):
3761
3762 2014-02-04  Eric Carlson  <eric.carlson@apple.com>
3763
3764         Fix Release build after r163390.
3765
3766         * platform/audio/MediaSession.cpp: Add "#if !LOG_DISABLED" around logging-only function.
3767
3768 2014-02-04  Eric Carlson  <eric.carlson@apple.com>
3769
3770         Refine MediaSession interruptions
3771         https://bugs.webkit.org/show_bug.cgi?id=128125
3772
3773         Reviewed by Jer Noble.
3774
3775         Test: media/video-background-playback.html
3776
3777         * WebCore.exp.in: Export applicationWillEnterForeground and applicationWillEnterBackground for
3778             Internals.
3779
3780         * html/HTMLMediaElement.cpp:
3781         (WebCore::HTMLMediaElement::play): Ask the media session if playback is allowed instead of check
3782             to see if it is interrupted directly.
3783         (WebCore::HTMLMediaElement::pause): Ask the media session if pausing is allowed instead of check
3784             to see if it is interrupted directly.
3785         (WebCore::HTMLMediaElement::mediaType): Return media type based on media characteristics once
3786             the information is available.
3787         (WebCore::HTMLMediaElement::resumePlayback): New.
3788         * html/HTMLMediaElement.h:
3789
3790         * html/HTMLMediaSession.cpp:
3791         (WebCore::restrictionName): New, use for logging only.
3792         (WebCore::HTMLMediaSession::addBehaviorRestriction): Log  restriction changes.
3793         (WebCore::HTMLMediaSession::removeBehaviorRestriction): Ditto.
3794         * html/HTMLMediaSession.h:
3795
3796         * platform/audio/MediaSession.cpp:
3797         (WebCore::stateName): New, used for logging.
3798         (WebCore::MediaSession::MediaSession): Don't cache client media type because it can change.
3799         (WebCore::MediaSession::setState): Log state changes.
3800         (WebCore::MediaSession::beginInterruption): Remember the current state in case we want to use it
3801             to restore state when the interruption ends.
3802         (WebCore::MediaSession::endInterruption): Resume playback if appropriate.
3803         (WebCore::MediaSession::clientWillBeginPlayback): Track the client's playback state.
3804         (WebCore::MediaSession::clientWillPausePlayback): Ditto.
3805         (WebCore::MediaSession::mediaType): Ask client for state.
3806         * platform/audio/MediaSession.h:
3807
3808         * platform/audio/MediaSessionManager.cpp:
3809         (WebCore::MediaSessionManager::MediaSessionManager): m_interruptions -> m_interrupted.
3810         (WebCore::MediaSessionManager::beginInterruption): Don't assume interruptions are always balanced.
3811         (WebCore::MediaSessionManager::endInterruption): Ditto.
3812         (WebCore::MediaSessionManager::addSession): 
3813         (WebCore::MediaSessionManager::applicationWillEnterBackground): Interrupt client if it is not
3814             allowed to play in the background.
3815         (WebCore::MediaSessionManager::applicationWillEnterForeground): End client interruption if it
3816             was stopped by an interruption.
3817         * platform/audio/MediaSessionManager.h:
3818
3819         * platform/audio/ios/MediaSessionManagerIOS.h:
3820         * platform/audio/ios/MediaSessionManagerIOS.mm:
3821         (WebCore::MediaSessionManageriOS::~MediaSessionManageriOS): Clear the helper callback.
3822         (WebCore::MediaSessionManageriOS::resetRestrictions): Mark video as not allowed to play
3823             while the application is in the background. Register for application suspend/resume
3824             notifications.
3825         (-[WebMediaSessionHelper clearCallback]): Set _callback to nil.
3826         (-[WebMediaSessionHelper applicationWillEnterForeground:]): New, notify client of application 
3827             state change.
3828         (-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.
3829
3830         * platform/audio/mac/AudioDestinationMac.h: Add resumePlayback.
3831
3832         * testing/Internals.cpp:
3833         (WebCore::Internals::applicationWillEnterForeground): New, simulate application context switch.
3834         (WebCore::Internals::applicationWillEnterBackground): Ditto.
3835         (WebCore::Internals::setMediaSessionRestrictions): Add "BackgroundPlaybackNotPermitted" restriction.
3836         * testing/Internals.h:
3837         * testing/Internals.idl:
3838
3839 2014-02-04  Andreas Kling  <akling@apple.com>
3840
3841         Remove CPP bindings generator.
3842         <https://webkit.org/b/128189>
3843
3844         Scrub out some leftover Blackberry gunk.
3845
3846         Reviewed by Anders Carlsson.
3847
3848         * Modules/webdatabase/SQLResultSet.idl:
3849         * bindings/cpp/WebDOMCString.cpp: Removed.
3850         * bindings/cpp/WebDOMCString.h: Removed.
3851         * bindings/cpp/WebDOMDOMWindowCustom.cpp: Removed.
3852         * bindings/cpp/WebDOMEventListenerCustom.cpp: Removed.
3853         * bindings/cpp/WebDOMEventTarget.cpp: Removed.
3854         * bindings/cpp/WebDOMEventTarget.h: Removed.
3855         * bindings/cpp/WebDOMHTMLCollectionCustom.cpp: Removed.
3856         * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Removed.
3857         * bindings/cpp/WebDOMHTMLOptionsCollectionCustom.cpp: Removed.
3858         * bindings/cpp/WebDOMNodeCustom.cpp: Removed.
3859         * bindings/cpp/WebDOMNodeFilterCustom.cpp: Removed.
3860         * bindings/cpp/WebDOMObject.h: Removed.
3861         * bindings/cpp/WebDOMString.cpp: Removed.
3862         * bindings/cpp/WebDOMString.h: Removed.
3863         * bindings/cpp/WebExceptionHandler.cpp: Removed.
3864         * bindings/cpp/WebExceptionHandler.h: Removed.
3865         * bindings/cpp/WebNativeEventListener.cpp: Removed.
3866         * bindings/cpp/WebNativeEventListener.h: Removed.
3867         * bindings/cpp/WebNativeNodeFilterCondition.cpp: Removed.
3868         * bindings/cpp/WebNativeNodeFilterCondition.h: Removed.
3869         * bindings/scripts/CodeGeneratorCPP.pm: Removed.
3870         * bindings/scripts/test/CPP/CPPTestSupplemental.cpp: Removed.
3871         * bindings/scripts/test/CPP/CPPTestSupplemental.h: Removed.
3872         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp: Removed.
3873         * bindings/scripts/test/CPP/WebDOMFloat64Array.h: Removed.
3874         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp: Removed.
3875         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.h: Removed.
3876         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Removed.
3877         * bindings/scripts/test/CPP/WebDOMTestCallback.h: Removed.
3878         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Removed.
3879         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Removed.
3880         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp: Removed.
3881         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.h: Removed.
3882         * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp: Removed.
3883         * bindings/scripts/test/CPP/WebDOMTestEventTarget.h: Removed.
3884         * bindings/scripts/test/CPP/WebDOMTestException.cpp: Removed.
3885         * bindings/scripts/test/CPP/WebDOMTestException.h: Removed.
3886         * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.cpp: Removed.
3887         * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.h: Removed.
3888         * bindings/scripts/test/CPP/WebDOMTestImplements.cpp: Removed.
3889         * bindings/scripts/test/CPP/WebDOMTestImplements.h: Removed.
3890         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Removed.
3891         * bindings/scripts/test/CPP/WebDOMTestInterface.h: Removed.
3892         * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp: Removed.
3893         * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.h: Removed.
3894         * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp: Removed.
3895         * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.h: Removed.
3896         * bindings/scripts/test/CPP/WebDOMTestNode.cpp: Removed.
3897         * bindings/scripts/test/CPP/WebDOMTestNode.h: Removed.
3898         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Removed.
3899         * bindings/scripts/test/CPP/WebDOMTestObj.h: Removed.
3900         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp: Removed.
3901         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.h: Removed.
3902         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Removed.
3903         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Removed.
3904         * bindings/scripts/test/CPP/WebDOMTestSupplemental.cpp: Removed.
3905         * bindings/scripts/test/CPP/WebDOMTestSupplemental.h: Removed.
3906         * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp: Removed.
3907         * bindings/scripts/test/CPP/WebDOMTestTypedefs.h: Removed.
3908         * bindings/scripts/test/CPP/WebDOMattribute.cpp: Removed.
3909         * bindings/scripts/test/CPP/WebDOMattribute.h: Removed.
3910         * bindings/scripts/test/CPP/WebDOMreadonly.cpp: Removed.
3911         * bindings/scripts/test/CPP/WebDOMreadonly.h: Removed.
3912         * css/StyleSheet.idl:
3913         * dom/CustomEvent.idl:
3914         * dom/Document.idl:
3915         * dom/Event.idl:
3916         * dom/Node.idl:
3917         * dom/PopStateEvent.idl:
3918         * html/HTMLCanvasElement.idl:
3919         * html/HTMLInputElement.idl:
3920         * html/canvas/CanvasRenderingContext2D.idl:
3921         * page/DOMWindow.idl:
3922         * page/Location.idl:
3923         * workers/DedicatedWorkerGlobalScope.idl:
3924
3925 2014-02-04  Dan Bernstein  <mitz@apple.com>
3926
3927         iOS build fix.
3928
3929         * platform/graphics/cg/GraphicsContextCG.cpp:
3930         (WebCore::GraphicsContext::platformInit):
3931
3932 2014-02-03  Zan Dobersek  <zdobersek@igalia.com>
3933
3934         Manage MediaQuery and MediaQueryExp classes through std::unique_ptr instead of OwnPtr
3935         https://bugs.webkit.org/show_bug.cgi?id=128117
3936
3937         Reviewed by Darin Adler.
3938
3939         Replace uses of OwnPtr for the MediaQuery and MediaQueryExp classes with std::unique_ptr.
3940
3941         * css/CSSGrammar.y.in:
3942         * css/CSSParser.cpp:
3943         (WebCore::CSSParser::parseMediaQuery):
3944         * css/CSSParser.h:
3945         * css/MediaList.cpp:
3946         (WebCore::MediaQuerySet::parse):
3947         (WebCore::MediaQuerySet::add):
3948         (WebCore::MediaQuerySet::remove):
3949         (WebCore::MediaQuerySet::addMediaQuery):
3950         (WebCore::MediaList::item):
3951         (WebCore::reportMediaQueryWarningIfNeeded):
3952         * css/MediaList.h:
3953         (WebCore::MediaQuerySet::queryVector):
3954         * css/MediaQuery.cpp:
3955         (WebCore::MediaQuery::MediaQuery):
3956         * css/MediaQuery.h:
3957         (WebCore::MediaQuery::expressions):
3958         (WebCore::MediaQuery::copy):
3959         * css/MediaQueryEvaluator.cpp:
3960         (WebCore::MediaQueryEvaluator::eval):
3961         * css/MediaQueryExp.cpp:
3962         (WebCore::MediaQueryExp::MediaQueryExp):
3963         * css/MediaQueryExp.h:
3964         (WebCore::MediaQueryExp::copy):
3965
3966 2014-02-04  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
3967
3968         Remove SVG_DOM_OBJC_BINDINGS after r161638.
3969         https://bugs.webkit.org/show_bug.cgi?id=128182
3970
3971         Reviewed by Andreas Kling.
3972
3973         Removed ENABLE(SVG_DOM_OBJC_BINDINGS).
3974
3975         No tests required.
3976
3977         * bindings/objc/DOMUIKitExtensions.mm:
3978         (-[DOMNode boundingBoxes]):
3979         (-[DOMNode absoluteQuads]):
3980
3981 2014-02-04  Radu Stavila  <stavila@adobe.com>
3982
3983         REGRESSION (r159609): Images are corrupted when hovering over buttons @ github.com
3984         https://bugs.webkit.org/show_bug.cgi?id=127729
3985
3986         Reviewed by Antti Koivisto.
3987
3988         When clipping a rect, the RenderLayer would not properly save the context when
3989         the clipping rect is the same as the paint rect and the clipping rect
3990         has radius.
3991
3992         Test: fast/regions/repaint/hover-border-radius.html
3993
3994         * rendering/RenderLayer.cpp:
3995         (WebCore::RenderLayer::clipToRect):
3996         (WebCore::RenderLayer::restoreClip):
3997
3998 2014-02-04  Ryuan Choi  <ryuan.choi@samsung.com>
3999
4000         [CMAKE] Remove workaround for GCC 4.6
4001         https://bugs.webkit.org/show_bug.cgi?id=128176
4002
4003         Reviewed by Csaba Osztrogonác.
4004
4005         Since r162126, WebKit requires at least 4.7.
4006
4007         * CMakeLists.txt:
4008
4009 2014-02-04  Zan Dobersek  <zdobersek@igalia.com>
4010
4011         Manage RuleSet and RuleData classes through std::unique_ptr instead of OwnPtr
4012         https://bugs.webkit.org/show_bug.cgi?id=128116
4013
4014         Reviewed by Darin Adler.
4015
4016         Replace uses of OwnPtr for the RuleSet and RuleData classes with std::unique_ptr.
4017
4018         * css/CSSDefaultStyleSheets.cpp:
4019         (WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
4020         (WebCore::CSSDefaultStyleSheets::loadSimpleDefaultStyle):
4021         (WebCore::CSSDefaultStyleSheets::viewSourceStyle):
4022         * css/DocumentRuleSets.cpp:
4023         (WebCore::DocumentRuleSets::initUserStyle):
4024         (WebCore::makeRuleSet):
4025         (WebCore::DocumentRuleSets::resetAuthorStyle):
4026         * css/DocumentRuleSets.h:
4027         * css/RuleSet.cpp:
4028         (WebCore::RuleSet::addToRuleSet):
4029         (WebCore::RuleSet::addRegionRule):
4030         * css/RuleSet.h:
4031         (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
4032
4033 2014-02-04  Commit Queue  <commit-queue@webkit.org>
4034
4035         Unreviewed, rolling out r163376.
4036         http://trac.webkit.org/changeset/163376
4037         https://bugs.webkit.org/show_bug.cgi?id=128184
4038
4039         Unexpected test failures. (Requested by eric_carlson on
4040         #webkit).
4041
4042         * WebCore.exp.in:
4043         * html/HTMLMediaElement.cpp:
4044         (WebCore::HTMLMediaElement::parseAttribute):
4045         * html/HTMLMediaElement.h:
4046         * html/HTMLMediaSession.cpp:
4047         (WebCore::HTMLMediaSession::addBehaviorRestriction):
4048         (WebCore::HTMLMediaSession::removeBehaviorRestriction):
4049         (WebCore::HTMLMediaSession::clientWillBeginPlayback):
4050         * html/HTMLMediaSession.h:
4051         * platform/audio/MediaSession.cpp:
4052         (WebCore::MediaSession::MediaSession):
4053         (WebCore::MediaSession::beginInterruption):
4054         (WebCore::MediaSession::endInterruption):
4055         * platform/audio/MediaSession.h:
4056         (WebCore::MediaSession::mediaType):
4057         (WebCore::MediaSession::setState):
4058         (WebCore::MediaSessionClient::beginInterruption):
4059         (WebCore::MediaSessionClient::endInterruption):
4060         * platform/audio/MediaSessionManager.cpp:
4061         (WebCore::MediaSessionManager::MediaSessionManager):
4062         (WebCore::MediaSessionManager::beginInterruption):
4063         (WebCore::MediaSessionManager::endInterruption):
4064         (WebCore::MediaSessionManager::addSession):
4065         * platform/audio/MediaSessionManager.h:
4066         * platform/audio/ios/MediaSessionManagerIOS.h:
4067         (WebCore::MediaSessionManageriOS::~MediaSessionManageriOS):
4068         * platform/audio/ios/MediaSessionManagerIOS.mm:
4069         (WebCore::MediaSessionManageriOS::resetRestrictions):
4070         (-[WebMediaSessionHelper initWithCallback:]):
4071         * platform/audio/mac/AudioDestinationMac.h: