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