c68a627005101379ee32bb644b040f2dd7fe56da
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-01-09  Benjamin Poulain  <bpoulain@apple.com>
2
3         Remove remaining blackberry files I could find in WebCore
4         https://bugs.webkit.org/show_bug.cgi?id=126715
5
6         Reviewed by Anders Carlsson.
7
8         * PlatformBlackBerry.cmake: Removed.
9         * Resources/blackberry: Removed.
10         * css/mediaControlsBlackBerry.css: Removed.
11         * css/mediaControlsBlackBerryFullscreen.css: Removed.
12         * css/themeBlackBerry.css: Removed.
13         * editing/blackberry: Removed.
14         * history/blackberry: Removed.
15         * html/shadow/MediaControlsBlackBerry.cpp: Removed.
16         * html/shadow/MediaControlsBlackBerry.h: Removed.
17         * page/blackberry: Removed.
18         * page/scrolling/blackberry: Removed.
19         * plugins/blackberry: Removed.
20
21 2014-01-09  Brent Fulgham  <bfulgham@apple.com>
22
23         [WebGL] Return filtered results for getProgramParameter for ACTIVE_ATTRIBUTES and ACTIVE_UNIFORMS
24         https://bugs.webkit.org/show_bug.cgi?id=126718
25         <rdar://problem/15202048>
26
27         Reviewed by Dean Jackson.
28
29         Covered by webgl/conformance/ogles/GL/biuDepthRange/biuDepthRange_001_to_002.html and
30         webgl/conformance/ogles/GL/gl_FragCoord/gl_FragCoord_001_to_003.html.
31
32         * html/canvas/WebGLRenderingContext.cpp:
33         (WebCore::WebGLRenderingContext::getActiveAttrib): Added loging.
34         (WebCore::WebGLRenderingContext::getActiveUniform): Added logging.
35         (WebCore::WebGLRenderingContext::getAttribLocation): Drive-by-fix. Return
36         -1 on link failure (an invalid location) rather than 0 (a valid
37         location) when link fails.
38         (WebCore::WebGLRenderingContext::getProgramParameter): Use new
39         method to return filtered count.
40         (WebCore::WebGLRenderingContext::getUniformLocation): Use nullptr
41         rather than returning 0.
42         * platform/graphics/GraphicsContext3D.h:
43         (WebCore::GraphicsContext3D::ActiveShaderSymbolCounts::ActiveShaderSymbolCounts):
44         (WebCore::GraphicsContext3D::ActiveShaderSymbolCounts::countForType):
45         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
46         (WebCore::GraphicsContext3D::precisionsMatch): Drive-by-fix. Don't
47         copy giant objects to read a single value.
48         (WebCore::GraphicsContext3D::compileShader): Release filtered count
49         when we change shader source code.
50         (WebCore::GraphicsContext3D::getActiveAttribImpl): Renamed from getActiveAttrib.
51         (WebCore::GraphicsContext3D::getActiveAttrib): Maps filtered indices to
52         real OpenGL indices.
53         (WebCore::GraphicsContext3D::getActiveUniformImpl): Renamed from getActiveUniform.
54         (WebCore::GraphicsContext3D::getActiveUniform): Maps filtered indices to
55         real OpenGL indices.
56         (WebCore::GraphicsContext3D::originalSymbolName): Use C++11 loop.
57         (WebCore::GraphicsContext3D::getAttribLocation): Added logging.
58         (WebCore::GraphicsContext3D::getNonBuiltinActiveSymbolCount): Added.
59         (WebCore::GraphicsContext3D::getShaderiv): Const correctness.
60         (WebCore::GraphicsContext3D::getShaderInfoLog): Ditto.
61         (WebCore::GraphicsContext3D::getShaderSource): Ditto.
62
63 2014-01-09  Zoltan Horvath  <zoltan@webkit.org>
64
65         [CSS Shapes] First line gets incorrectly adjusted in shape-inside due to rounding
66         https://bugs.webkit.org/show_bug.cgi?id=126601
67
68         Reviewed by Bem Jones-Bey.
69
70         In order to get consistent results of the first fit position of the content in shapes,
71         firstIncludedIntervalLogicalTop should take a FloatSize rather than LayoutSize for
72         minLogicalIntervalSize, because LayoutSize clamps the float value to int, when subpixel-layout
73         is disabled, thus firstIncludedIntervalLogicalTop could end up calculating with an unprecize
74         value. This change modifies firstIncludedIntervalLogicalTop to take FloatSize consistently.
75
76         Test: fast/shapes/shape-inside/shape-inside-polygon-rounded-first-fit.html
77
78         * rendering/shapes/BoxShape.cpp:
79         (WebCore::BoxShape::firstIncludedIntervalLogicalTop):
80         * rendering/shapes/BoxShape.h:
81         * rendering/shapes/PolygonShape.cpp:
82         (WebCore::PolygonShape::firstIncludedIntervalLogicalTop):
83         * rendering/shapes/PolygonShape.h:
84         * rendering/shapes/RasterShape.cpp:
85         (WebCore::RasterShape::firstIncludedIntervalLogicalTop):
86         * rendering/shapes/RasterShape.h:
87         * rendering/shapes/RectangleShape.cpp:
88         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
89         * rendering/shapes/RectangleShape.h:
90         * rendering/shapes/Shape.h:
91         * rendering/shapes/ShapeInsideInfo.cpp:
92         (WebCore::ShapeInsideInfo::adjustLogicalLineTop):
93         (WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat):
94
95 2014-01-09  Andy Estes  <aestes@apple.com>
96
97         [iOS] Upstream WAK
98         https://bugs.webkit.org/show_bug.cgi?id=126724
99
100         Reviewed by David Kilzer.
101
102         * Configurations/WebCore.xcconfig: Excluded new iOS-specific Private
103         headers on the Mac build.
104         * WebCore.xcodeproj/project.pbxproj: Added new files to the project.
105         * platform/ios/wak/WAKAppKitStubs.h: Added.
106         * platform/ios/wak/WAKAppKitStubs.m: Added.
107         * platform/ios/wak/WAKClipView.h: Added.
108         * platform/ios/wak/WAKClipView.m: Added.
109         * platform/ios/wak/WAKResponder.h: Added.
110         * platform/ios/wak/WAKResponder.m: Added.
111         * platform/ios/wak/WAKScrollView.h: Added.
112         * platform/ios/wak/WAKScrollView.mm: Added.
113         * platform/ios/wak/WAKView.h: Added.
114         * platform/ios/wak/WAKView.mm: Added.
115         * platform/ios/wak/WAKViewPrivate.h: Added.
116         * platform/ios/wak/WAKWindow.h: Added.
117         * platform/ios/wak/WAKWindow.mm: Added.
118         * platform/ios/wak/WKContentObservation.cpp: Added.
119         * platform/ios/wak/WKContentObservation.h: Added.
120         * platform/ios/wak/WKGraphics.h: Added.
121         * platform/ios/wak/WKGraphics.mm: Added.
122         * platform/ios/wak/WKTypes.h: Added.
123         * platform/ios/wak/WKUtilities.c: Added.
124         * platform/ios/wak/WKUtilities.h: Added.
125         * platform/ios/wak/WKView.h: Added.
126         * platform/ios/wak/WKView.mm: Added.
127         * platform/ios/wak/WKViewPrivate.h: Added.
128         * platform/ios/wak/WebCoreThread.h: Added.
129         * platform/ios/wak/WebCoreThread.mm: Added.
130         * platform/ios/wak/WebCoreThreadInternal.h: Added.
131         * platform/ios/wak/WebCoreThreadMessage.h: Added.
132         * platform/ios/wak/WebCoreThreadRun.cpp: Added.
133         * platform/ios/wak/WebCoreThreadRun.h: Added.
134         * platform/ios/wak/WebCoreThreadSafe.h: Added.
135         * platform/ios/wak/WebCoreThreadSystemInterface.cpp: Added.
136         * platform/ios/wak/WebCoreThreadSystemInterface.h: Added.
137
138 2014-01-09  Daniel Bates  <dabates@apple.com>
139
140         Another attempt to fix the Windows build following <http://trac.webkit.org/changeset/161589>
141         (https://bugs.webkit.org/show_bug.cgi?id=126654)
142
143         * platform/network/cf/ResourceRequest.h: Always declare ResourceRequest::updateFromDelegatePreservingOldHTTPBody()
144         instead of only declaring it when building without CFNetwork.
145
146 2014-01-09  Daniel Bates  <dabates@apple.com>
147
148         Attempt to fix the Windows build following <http://trac.webkit.org/changeset/161589>
149         (https://bugs.webkit.org/show_bug.cgi?id=126654)
150
151         For some reason, the Windows build is unhappy that NeverDestroyed<FontCache> calls the private constructor
152         FontCache::FontCache() despite being a friend class of FontCache. Use DEFINE_STATIC_LOCAL instead of
153         NeverDestroyed<> for now. I'll look to investigate this issue offline.
154
155         * platform/graphics/FontCache.cpp:
156         (WebCore::fontCache):
157         * platform/graphics/FontCache.h:
158
159 2014-01-09  Benjamin Poulain  <bpoulain@apple.com>
160
161         Remove blackberry from WebCore/platform
162         https://bugs.webkit.org/show_bug.cgi?id=126715
163
164         Reviewed by Anders Carlsson.
165
166         * platform/blackberry: Removed.
167         * platform/graphics/blackberry: Removed.
168         * platform/graphics/filters/blackberry: Removed.
169         * platform/image-decoders/blackberry: Removed.
170         * platform/mediastream/blackberry: Removed.
171         * platform/network/blackberry: Removed.
172         * platform/text/blackberry: Removed.
173
174 2014-01-09  Alexey Proskuryakov  <ap@apple.com>
175
176         Fix a copy-paste mistake in an include guard.
177
178         Rubber-stamped by Sam Weinig.
179
180         * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h:
181
182 2014-01-09  Anders Carlsson  <andersca@apple.com>
183
184         History::StateObjectType should be a strong enum
185         https://bugs.webkit.org/show_bug.cgi?id=126725
186
187         Reviewed by Beth Dakin.
188
189         * bindings/js/JSHistoryCustom.cpp:
190         (WebCore::JSHistory::pushState):
191         (WebCore::JSHistory::replaceState):
192         * loader/HistoryController.cpp:
193         (WebCore::HistoryController::pushState):
194         * page/History.cpp:
195         (WebCore::History::stateObjectAdded):
196         * page/History.h:
197
198 2014-01-09  Daniel Bates  <dabates@apple.com>
199
200         Attempt to fix the Mountain Lion Release (32-bit) build following <http://trac.webkit.org/changeset/161589>
201         (https://bugs.webkit.org/show_bug.cgi?id=126654)
202
203         * platform/ios/WebEvent.h:
204         * platform/ios/WebEvent.mm:
205
206 2014-01-09  Daniel Bates  <dabates@apple.com>
207
208         [iOS] Upstream WebCore/platform changes
209         https://bugs.webkit.org/show_bug.cgi?id=126654
210
211         Rubber-stamped by David Kilzer.
212
213         * WebCore.exp.in:
214         * WebCore.xcodeproj/project.pbxproj:
215         * platform/ContentFilter.h:
216         * platform/DragData.h:
217         * platform/FileChooser.cpp:
218         (WebCore::FileChooser::chooseMediaFiles):
219         * platform/FileChooser.h:
220         * platform/FileSystem.cpp:
221         (WebCore::setMetadataURL):
222         * platform/FileSystem.h:
223         * platform/KillRingNone.cpp:
224         * platform/LocalizedStrings.cpp:
225         (WebCore::fileButtonChooseMediaFileLabel):
226         (WebCore::fileButtonChooseMultipleMediaFilesLabel):
227         (WebCore::fileButtonNoMediaFileSelectedLabel):
228         (WebCore::fileButtonNoMediaFilesSelectedLabel):
229         * platform/LocalizedStrings.h:
230         * platform/Logging.h:
231         * platform/MIMETypeRegistry.cpp:
232         (WebCore::initializeSupportedImageMIMETypes):
233         (WebCore::initializeSupportedNonImageMimeTypes):
234         (WebCore::initializeUnsupportedTextMIMETypes):
235         * platform/MemoryPressureHandler.cpp:
236         (WebCore::MemoryPressureHandler::MemoryPressureHandler):
237         * platform/MemoryPressureHandler.h:
238         * platform/PlatformKeyboardEvent.h:
239         (WebCore::PlatformKeyboardEvent::event):
240         * platform/PlatformMouseEvent.h:
241         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
242         * platform/PlatformScreen.h:
243         * platform/RuntimeApplicationChecks.cpp:
244         (WebCore::mainBundleIsEqualTo):
245         * platform/RuntimeApplicationChecksIOS.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
246         * platform/RuntimeApplicationChecksIOS.mm: Added.
247         * platform/ScrollAnimator.cpp:
248         (WebCore::ScrollAnimator::handleTouchEvent):
249         * platform/ScrollAnimator.h:
250         * platform/ScrollTypes.h:
251         * platform/ScrollView.cpp:
252         (WebCore::ScrollView::unscaledVisibleContentSize):
253         (WebCore::ScrollView::visibleContentRect):
254         * platform/ScrollView.h:
255         (WebCore::ScrollView::actualScrollX):
256         (WebCore::ScrollView::actualScrollY):
257         * platform/ScrollableArea.cpp:
258         (WebCore::ScrollableArea::handleTouchEvent):
259         (WebCore::ScrollableArea::isPinnedInBothDirections):
260         (WebCore::ScrollableArea::isPinnedHorizontallyInDirection):
261         (WebCore::ScrollableArea::isPinnedVerticallyInDirection):
262         * platform/ScrollableArea.h:
263         (WebCore::ScrollableArea::isTouchScrollable):
264         (WebCore::ScrollableArea::isOverflowScroll):
265         (WebCore::ScrollableArea::didStartScroll):
266         (WebCore::ScrollableArea::didEndScroll):
267         (WebCore::ScrollableArea::didUpdateScroll):
268         (WebCore::ScrollableArea::setIsUserScroll):
269         (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMinimumPosition):
270         (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMaximumPosition):
271         (WebCore::ScrollableArea::isVerticalScrollerPinnedToMinimumPosition):
272         (WebCore::ScrollableArea::isVerticalScrollerPinnedToMaximumPosition):
273         * platform/Scrollbar.cpp:
274         * platform/Scrollbar.h:
275         * platform/SharedBuffer.cpp:
276         (WebCore::SharedBuffer::SharedBuffer):
277         (WebCore::SharedBuffer::createPurgeableBuffer):
278         (WebCore::SharedBuffer::data):
279         * platform/SharedBuffer.h:
280         (WebCore::SharedBuffer::shouldUsePurgeableMemory):
281         * platform/SuddenTermination.h:
282         * platform/Supplementable.h:
283         (WebCore::Supplementable::provideSupplement):
284         (WebCore::Supplementable::removeSupplement):
285         (WebCore::Supplementable::requireSupplement):
286         * platform/SystemMemory.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
287         * platform/ThreadCheck.h:
288         * platform/ThreadGlobalData.cpp:
289         (WebCore::ThreadGlobalData::ThreadGlobalData):
290         (WebCore::ThreadGlobalData::destroy):
291         (WebCore::ThreadGlobalData::setWebCoreThreadData):
292         (WebCore::threadGlobalData):
293         * platform/ThreadGlobalData.h:
294         * platform/ThreadTimers.cpp:
295         (WebCore::ThreadTimers::ThreadTimers):
296         (WebCore::ThreadTimers::sharedTimerFiredInternal):
297         * platform/Timer.cpp:
298         (WebCore::TimerBase::start):
299         (WebCore::TimerBase::stop):
300         (WebCore::TimerBase::setNextFireTime):
301         * platform/Timer.h:
302         (WebCore::TimerBase::isActive):
303         * platform/URL.cpp:
304         (WebCore::enableURLSchemeCanonicalization):
305         (WebCore::equal):
306         (WebCore::URL::parse):
307         * platform/URL.h:
308         * platform/Widget.h:
309         * platform/audio/ios/AudioDestinationIOS.cpp:
310         * platform/audio/ios/AudioDestinationIOS.h:
311         * platform/audio/ios/AudioFileReaderIOS.cpp: Copied from Source/WebCore/platform/audio/mac/AudioFileReaderMac.cpp.
312         (WebCore::createAudioBufferList):
313         (WebCore::destroyAudioBufferList):
314         (WebCore::AudioFileReader::AudioFileReader):
315         (WebCore::AudioFileReader::~AudioFileReader):
316         (WebCore::AudioFileReader::readProc):
317         (WebCore::AudioFileReader::getSizeProc):
318         (WebCore::AudioFileReader::createBus):
319         (WebCore::createBusFromAudioFile):
320         (WebCore::createBusFromInMemoryAudioFile):
321         * platform/audio/ios/AudioFileReaderIOS.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
322         (WebCore::AudioFileReader::data):
323         (WebCore::AudioFileReader::dataSize):
324         * platform/audio/ios/AudioSessionIOS.mm:
325         (SOFT_LINK_POINTER):
326         (-[WebAudioSessionHelper initWithCallback:WebCore::]):
327         (-[WebAudioSessionHelper dealloc]):
328         (-[WebAudioSessionHelper interruption:]):
329         (WebCore::AudioSession::setCategory):
330         * platform/audio/mac/AudioDestinationMac.cpp:
331         * platform/audio/mac/AudioFileReaderMac.cpp:
332         (WebCore::AudioFileReader::AudioFileReader):
333         (WebCore::createBusFromAudioFile):
334         (WebCore::createBusFromInMemoryAudioFile):
335         * platform/audio/mac/AudioSessionMac.cpp:
336         * platform/audio/mac/MediaSessionManagerMac.cpp:
337         (MediaSessionManager::updateSessionState):
338         * platform/cf/SharedBufferCF.cpp:
339         (WebCore::SharedBuffer::SharedBuffer):
340         * platform/cf/URLCF.cpp:
341         * platform/cocoa/KeyEventCocoa.mm:
342         (WebCore::windowsKeyCodeForCharCode):
343         * platform/graphics/BitmapImage.cpp:
344         (WebCore::BitmapImage::BitmapImage):
345         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
346         (WebCore::BitmapImage::cacheFrame):
347         (WebCore::BitmapImage::cacheFrameInfo):
348         (WebCore::BitmapImage::updateSize):
349         (WebCore::BitmapImage::originalSize):
350         (WebCore::BitmapImage::originalSizeRespectingOrientation):
351         (WebCore::BitmapImage::dataChanged):
352         (WebCore::BitmapImage::ensureFrameInfoIsCached):
353         (WebCore::BitmapImage::frameAtIndex):
354         (WebCore::BitmapImage::frameIsCompleteAtIndex):
355         (WebCore::BitmapImage::frameDurationAtIndex):
356         (WebCore::BitmapImage::frameHasAlphaAtIndex):
357         (WebCore::BitmapImage::frameOrientationAtIndex):
358         (WebCore::BitmapImage::startAnimation):
359         (WebCore::BitmapImage::internalAdvanceAnimation):
360         * platform/graphics/BitmapImage.h:
361         (WebCore::FrameData::FrameData):
362         * platform/graphics/Color.cpp:
363         (WebCore::Color::isDark):
364         * platform/graphics/Color.h:
365         * platform/graphics/DisplayRefreshMonitor.h:
366         * platform/graphics/FloatPoint.h:
367         * platform/graphics/FloatRect.h:
368         * platform/graphics/FloatSize.h:
369         * platform/graphics/Font.cpp:
370         (WebCore::Font::drawText):
371         (WebCore::Font::width):
372         * platform/graphics/Font.h:
373         * platform/graphics/FontCache.cpp:
374         (initFontCacheLockOnce):
375         (FontLocker::FontLocker):
376         (FontLocker::~FontLocker):
377         (WebCore::fontCache):
378         (WebCore::FontCache::getCachedFontPlatformData):
379         (WebCore::FontCache::getCachedFontData):
380         (WebCore::FontCache::releaseFontData):
381         (WebCore::FontCache::purgeInactiveFontDataIfNeeded):
382         (WebCore::FontCache::purgeInactiveFontData):
383         * platform/graphics/FontCache.h:
384         * platform/graphics/FontFastPath.cpp:
385         (WebCore::Font::drawSimpleText):
386         (WebCore::Font::drawGlyphBuffer):
387         * platform/graphics/FontGlyphs.h:
388         * platform/graphics/FontPlatformData.cpp:
389         (WebCore::FontPlatformData::FontPlatformData):
390         * platform/graphics/FontPlatformData.h:
391         (WebCore::FontPlatformData::font):
392         (WebCore::FontPlatformData::roundsGlyphAdvances):
393         (WebCore::FontPlatformData::hash):
394         (WebCore::FontPlatformData::hashTableDeletedFontValue):
395         * platform/graphics/GlyphPageTreeNode.cpp:
396         (WebCore::GlyphPageTreeNode::initializePage):
397         * platform/graphics/GraphicsContext.cpp:
398         (WebCore::GraphicsContext::GraphicsContext):
399         (WebCore::GraphicsContext::drawRaisedEllipse):
400         (WebCore::GraphicsContext::drawText):
401         (WebCore::GraphicsContext::drawBidiText):
402         (WebCore::GraphicsContext::clipRoundedRect):
403         (WebCore::GraphicsContext::emojiDrawingEnabled):
404         (WebCore::GraphicsContext::setEmojiDrawingEnabled):
405         * platform/graphics/GraphicsContext.h:
406         (WebCore::GraphicsContextState::GraphicsContextState):
407         * platform/graphics/GraphicsContext3D.h:
408         * platform/graphics/GraphicsLayer.cpp:
409         (WebCore::GraphicsLayer::willBeDestroyed):
410         * platform/graphics/GraphicsLayer.h:
411         (WebCore::GraphicsLayer::contentsLayerForMedia):
412         (WebCore::GraphicsLayer::pixelAlignmentOffset):
413         (WebCore::GraphicsLayer::hasFlattenedPerspectiveTransform):
414         * platform/graphics/Icon.h:
415         * platform/graphics/Image.cpp:
416         (WebCore::Image::drawTiled):
417         * platform/graphics/ImageSource.h:
418         (WebCore::ImageSource::isSubsampled):
419         * platform/graphics/IntPoint.h:
420         * platform/graphics/IntRect.h:
421         * platform/graphics/IntSize.h:
422         * platform/graphics/MediaPlayer.cpp:
423         (WebCore::installedMediaEngines):
424         (WebCore::MediaPlayer::isCurrentPlaybackTargetWireless):
425         (WebCore::MediaPlayer::showPlaybackTargetPicker):
426         (WebCore::MediaPlayer::hasWirelessPlaybackTargets):
427         (WebCore::MediaPlayer::wirelessVideoPlaybackDisabled):
428         (WebCore::MediaPlayer::setWirelessVideoPlaybackDisabled):
429         (WebCore::MediaPlayer::setHasPlaybackTargetAvailabilityListeners):
430         (WebCore::MediaPlayer::currentPlaybackTargetIsWirelessChanged):
431         (WebCore::MediaPlayer::playbackTargetAvailabilityChanged):
432         (WebCore::MediaPlayer::attributeChanged):
433         (WebCore::MediaPlayer::readyForPlayback):
434         (WebCore::MediaPlayer::volumeChanged):
435         * platform/graphics/MediaPlayer.h:
436         (WebCore::MediaPlayerClient::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
437         (WebCore::MediaPlayerClient::mediaPlayerPlaybackTargetAvailabilityChanged):
438         * platform/graphics/MediaPlayerPrivate.h:
439         (WebCore::MediaPlayerPrivateInterface::volume):
440         (WebCore::MediaPlayerPrivateInterface::isCurrentPlaybackTargetWireless):
441         (WebCore::MediaPlayerPrivateInterface::showPlaybackTargetPicker):
442         (WebCore::MediaPlayerPrivateInterface::hasWirelessPlaybackTargets):
443         (WebCore::MediaPlayerPrivateInterface::wirelessVideoPlaybackDisabled):
444         (WebCore::MediaPlayerPrivateInterface::setWirelessVideoPlaybackDisabled):
445         (WebCore::MediaPlayerPrivateInterface::setHasPlaybackTargetAvailabilityListeners):
446         (WebCore::MediaPlayerPrivateInterface::attributeChanged):
447         (WebCore::MediaPlayerPrivateInterface::readyForPlayback):
448         * platform/graphics/SimpleFontData.cpp:
449         (WebCore::SimpleFontData::SimpleFontData):
450         * platform/graphics/SimpleFontData.h:
451         * platform/graphics/StringTruncator.cpp:
452         (WebCore::centerTruncateToBuffer):
453         (WebCore::rightTruncateToBuffer):
454         (WebCore::rightClipToCharacterBuffer):
455         (WebCore::rightClipToWordBuffer):
456         (WebCore::leftTruncateToBuffer):
457         (WebCore::truncateString):
458         (WebCore::StringTruncator::centerTruncate):
459         (WebCore::StringTruncator::rightTruncate):
460         (WebCore::StringTruncator::leftTruncate):
461         (WebCore::StringTruncator::rightClipToCharacter):
462         (WebCore::StringTruncator::rightClipToWord):
463         * platform/graphics/StringTruncator.h:
464         * platform/graphics/TextTrackRepresentation.cpp:
465         * platform/graphics/WidthIterator.h:
466         (WebCore::WidthIterator::supportsTypesettingFeatures):
467         * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
468         (WebCore::AVTrackPrivateAVFObjCImpl::label):
469         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
470         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded):
471         (WebCore::wkAVAssetResolvedURL):
472         * platform/graphics/blackberry/FontBlackBerry.cpp:
473         (WebCore::Font::drawComplexText):
474         * platform/graphics/ca/GraphicsLayerCA.cpp:
475         (WebCore::supportsAcceleratedFilterAnimations):
476         (WebCore::GraphicsLayerCA::setContentsToImage):
477         (WebCore::GraphicsLayerCA::contentsLayerForMedia):
478         (WebCore::GraphicsLayerCA::computeVisibleRect):
479         (WebCore::GraphicsLayerCA::updateGeometry):
480         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
481         (WebCore::GraphicsLayerCA::updateContentsRects):
482         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
483         (WebCore::GraphicsLayerCA::setupContentsLayer):
484         (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread):
485         (WebCore::GraphicsLayerCA::computePixelAlignment):
486         * platform/graphics/ca/GraphicsLayerCA.h:
487         * platform/graphics/ca/PlatformCAFilters.h:
488         * platform/graphics/ca/PlatformCALayer.h:
489         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
490         (WebCore::currentRunLoop):
491         (WebCore::LayerFlushScheduler::schedule):
492         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
493         (-[WebAnimationDelegate animationDidStart:]):
494         (PlatformCALayerMac::setContentsScale):
495         (PlatformCALayer::isWebLayer):
496         (PlatformCALayer::setBoundsOnMainThread):
497         (PlatformCALayer::setPositionOnMainThread):
498         (PlatformCALayer::setAnchorPointOnMainThread):
499         (PlatformCALayer::setTileSize):
500         * platform/graphics/ca/mac/TileController.mm:
501         (WebCore::TileController::platformCALayerPaintContents):
502         (WebCore::TileController::removeAllTiles):
503         (WebCore::TileController::removeAllSecondaryTiles):
504         (WebCore::TileController::removeTilesInCohort):
505         (WebCore::TileController::revalidateTiles):
506         (WebCore::TileController::createTileLayer):
507         * platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
508         (WebCore::Font::drawComplexText):
509         * platform/graphics/cg/BitmapImageCG.cpp:
510         (WebCore::FrameData::clear):
511         (WebCore::BitmapImage::BitmapImage):
512         (WebCore::BitmapImage::checkForSolidColor):
513         (WebCore::BitmapImage::draw):
514         (WebCore::BitmapImage::copyUnscaledFrameAtIndex):
515         * platform/graphics/cg/ColorCG.cpp:
516         (WebCore::createCGColorWithDeviceWhite):
517         (WebCore::createCGColorWithDeviceRGBA):
518         (WebCore::Color::Color):
519         * platform/graphics/cg/FloatPointCG.cpp:
520         * platform/graphics/cg/FloatRectCG.cpp:
521         * platform/graphics/cg/FloatSizeCG.cpp:
522         * platform/graphics/cg/GradientCG.cpp:
523         * platform/graphics/cg/GraphicsContextCG.cpp:
524         (WebCore::sRGBColorSpaceRef):
525         (WebCore::setStrokeAndFillColor):
526         (WebCore::GraphicsContext::platformInit):
527         * platform/graphics/cg/ImageBufferCG.cpp:
528         (WebCore::createIOSurface):
529         (WebCore::ImageBuffer::ImageBuffer):
530         (WebCore::ImageBuffer::draw):
531         (WebCore::jpegUTI):
532         (WebCore::utiFromMIMEType):
533         * platform/graphics/cg/ImageBufferDataCG.cpp:
534         (WebCore::ImageBufferData::getData):
535         (WebCore::ImageBufferData::putData):
536         * platform/graphics/cg/ImageBufferDataCG.h:
537         * platform/graphics/cg/ImageCG.cpp:
538         (WebCore::drawPatternCallback):
539         (WebCore::Image::drawPattern):
540         * platform/graphics/cg/ImageSourceCG.cpp:
541         (WebCore::ImageSource::ImageSource):
542         (WebCore::imageSourceOptions):
543         (WebCore::ImageSource::imageSourceOptions):
544         (WebCore::ImageSource::frameSizeAtIndex):
545         (WebCore::ImageSource::originalSize):
546         (WebCore::ImageSource::createFrameAtIndex):
547         * platform/graphics/cg/ImageSourceCGMac.mm:
548         * platform/graphics/cg/IntPointCG.cpp:
549         * platform/graphics/cg/IntRectCG.cpp:
550         * platform/graphics/cg/IntSizeCG.cpp:
551         * platform/graphics/cg/PDFDocumentImage.cpp:
552         * platform/graphics/cg/PathCG.cpp:
553         * platform/graphics/cg/PatternCG.cpp:
554         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
555         (WebCore::FontPlatformData::FontPlatformData):
556         (WebCore::FontPlatformData::~FontPlatformData):
557         (WebCore::FontPlatformData::platformDataInit):
558         (WebCore::FontPlatformData::platformDataAssign):
559         (WebCore::FontPlatformData::platformIsEqual):
560         (WebCore::FontPlatformData::setFont):
561         (WebCore::FontPlatformData::allowsLigatures):
562         (WebCore::FontPlatformData::ctFont):
563         * platform/graphics/ios/DisplayRefreshMonitorIOS.mm: Added.
564         (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
565         (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
566         (WebCore::DisplayRefreshMonitor::displayLinkFired):
567         * platform/graphics/ios/FontCacheIOS.mm: Added.
568         * platform/graphics/ios/FontServicesIOS.h: Added.
569         * platform/graphics/ios/FontServicesIOS.mm: Added.
570         (WebCore::FontServicesIOS::FontServicesIOS):
571         * platform/graphics/ios/GraphicsContext3DIOS.h: Added.
572         * platform/graphics/ios/IconIOS.mm: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.cpp.
573         * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: Copied from Source/WebCore/platform/graphics/cg/ImageBufferDataCG.h.
574         (WebCore::InbandTextTrackPrivateAVFIOS::create):
575         (WebCore::InbandTextTrackPrivateAVFIOS::internalID):
576         * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.mm: Copied from Source/WebCore/platform/graphics/mac/IntRectMac.mm.
577         (WebCore::InbandTextTrackPrivateAVFIOS::InbandTextTrackPrivateAVFIOS):
578         (WebCore::InbandTextTrackPrivateAVFIOS::~InbandTextTrackPrivateAVFIOS):
579         (WebCore::InbandTextTrackPrivateAVFIOS::kind):
580         * platform/graphics/ios/MediaPlayerPrivateIOS.h: Added.
581         * platform/graphics/ios/MediaPlayerPrivateIOS.mm: Added.
582         * platform/graphics/ios/SimpleFontDataIOS.mm: Added.
583         (WebCore::fontFamilyShouldNotBeUsedForArabic):
584         (WebCore::fontHasVerticalGlyphs):
585         (WebCore::SimpleFontData::platformInit):
586         (WebCore::SimpleFontData::platformCharWidthInit):
587         (WebCore::SimpleFontData::platformCreateScaledFontData):
588         (WebCore::SimpleFontData::containsCharacters):
589         (WebCore::SimpleFontData::determinePitch):
590         (WebCore::SimpleFontData::platformWidthForGlyph):
591         * platform/graphics/ios/TextTrackRepresentationIOS.h: Copied from Source/WebCore/platform/graphics/TextTrackRepresentation.cpp.
592         * platform/graphics/ios/TextTrackRepresentationIOS.mm: Added.
593         * platform/graphics/mac/ColorMac.h:
594         * platform/graphics/mac/ComplexTextController.cpp:
595         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
596         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
597         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
598         * platform/graphics/mac/FloatPointMac.mm:
599         * platform/graphics/mac/FloatRectMac.mm:
600         * platform/graphics/mac/FloatSizeMac.mm:
601         * platform/graphics/mac/FontCacheMac.mm:
602         * platform/graphics/mac/FontComplexTextMac.cpp:
603         (WebCore::Font::drawComplexText):
604         (WebCore::Font::fontDataForCombiningCharacterSequence):
605         * platform/graphics/mac/FontCustomPlatformData.cpp:
606         * platform/graphics/mac/FontMac.mm:
607         (WebCore::showLetterpressedGlyphsWithAdvances):
608         (WebCore::Font::drawGlyphs):
609         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
610         (WebCore::GlyphPage::fill):
611         * platform/graphics/mac/GraphicsContext3DMac.mm:
612         (WebCore::GraphicsContext3D::GraphicsContext3D):
613         (WebCore::GraphicsContext3D::~GraphicsContext3D):
614         (WebCore::GraphicsContext3D::setRenderbufferStorageFromDrawable):
615         (WebCore::GraphicsContext3D::makeContextCurrent):
616         (WebCore::GraphicsContext3D::endPaint):
617         * platform/graphics/mac/GraphicsContextMac.mm:
618         (WebCore::GraphicsContext::drawFocusRing):
619         (WebCore::createDotPattern):
620         (WebCore::GraphicsContext::drawLineForDocumentMarker):
621         * platform/graphics/mac/IconMac.mm:
622         * platform/graphics/mac/ImageMac.mm:
623         (WebCore::BitmapImage::invalidatePlatformData):
624         * platform/graphics/mac/IntPointMac.mm:
625         * platform/graphics/mac/IntRectMac.mm:
626         * platform/graphics/mac/IntSizeMac.mm:
627         * platform/graphics/mac/MediaPlayerProxy.h:
628         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
629         * platform/graphics/mac/SimpleFontDataMac.mm:
630         * platform/graphics/mac/WebGLLayer.h:
631         * platform/graphics/mac/WebGLLayer.mm:
632         (-[WebGLLayer copyImageSnapshotWithColorSpace:]):
633         (-[WebGLLayer display]):
634         * platform/graphics/mac/WebLayer.mm:
635         (WebCore::drawLayerContents):
636         (-[WebSimpleLayer display]):
637         (-[WebSimpleLayer drawInContext:]):
638         * platform/graphics/mac/WebTiledLayer.mm:
639         (+[WebTiledLayer shouldDrawOnMainThread]):
640         (-[WebTiledLayer display]):
641         (-[WebTiledLayer drawInContext:]):
642         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
643         (WebCore::Extensions3DOpenGL::blitFramebuffer):
644         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
645         (WebCore::Extensions3DOpenGL::supportsExtension):
646         (WebCore::Extensions3DOpenGL::drawBuffersEXT):
647         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
648         (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
649         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
650         (WebCore::GraphicsContext3D::reshapeFBOs):
651         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
652         (WebCore::GraphicsContext3D::renderbufferStorage):
653         (WebCore::GraphicsContext3D::getIntegerv):
654         (WebCore::GraphicsContext3D::texImage2D):
655         (WebCore::GraphicsContext3D::depthRange):
656         (WebCore::GraphicsContext3D::clearDepth):
657         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
658         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
659         * platform/graphics/transforms/TransformationMatrix.cpp:
660         (WebCore::TransformationMatrix::multiply):
661         * platform/graphics/win/FontWin.cpp:
662         (WebCore::Font::drawComplexText):
663         * platform/graphics/wince/FontWinCE.cpp:
664         (WebCore::Font::drawComplexText):
665         * platform/ios/ContentFilterIOS.mm: Copied from Source/WebCore/platform/ContentFilter.h.
666         * platform/ios/DeviceMotionClientIOS.h: Added.
667         (WebCore::DeviceMotionClientIOS::create):
668         * platform/ios/DeviceMotionClientIOS.mm: Added.
669         * platform/ios/DeviceOrientationClientIOS.h: Added.
670         (WebCore::DeviceOrientationClientIOS::create):
671         * platform/ios/DeviceOrientationClientIOS.mm: Added.
672         * platform/ios/KeyEventIOS.mm:
673         * platform/ios/MIMETypeRegistryIOS.mm: Copied from Source/WebCore/platform/network/mac/CredentialStorageMac.mm.
674         * platform/ios/MemoryPressureHandlerIOS.mm: Added.
675         * platform/ios/PasteboardIOS.mm:
676         (WebCore::Pasteboard::write):
677         (WebCore::Pasteboard::resourceMIMEType):
678         (WebCore::Pasteboard::writePlainText):
679         (WebCore::Pasteboard::read):
680         (WebCore::supportedImageTypes):
681         (WebCore::Pasteboard::supportedPasteboardTypes):
682         (WebCore::Pasteboard::hasData):
683         (WebCore::Pasteboard::readString):
684         * platform/ios/PlatformEventFactoryIOS.h: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
685         * platform/ios/PlatformEventFactoryIOS.mm: Added.
686         * platform/ios/PlatformPasteboardIOS.mm:
687         (WebCore::PlatformPasteboard::write):
688         * platform/ios/PlatformScreenIOS.mm: Added.
689         * platform/ios/PlatformSpeechSynthesizerIOS.mm: Added.
690         * platform/ios/SSLKeyGeneratorIOS.cpp: Added.
691         * platform/ios/ScrollAnimatorIOS.h: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
692         * platform/ios/ScrollAnimatorIOS.mm: Added.
693         * platform/ios/ScrollViewIOS.mm: Added.
694         * platform/ios/ScrollbarThemeIOS.h: Added.
695         * platform/ios/ScrollbarThemeIOS.mm: Added.
696         * platform/ios/SelectionRect.cpp: Added.
697         * platform/ios/SelectionRect.h: Added.
698         * platform/ios/SoundIOS.mm: Copied from Source/WebCore/platform/text/mac/CharsetData.h.
699         * platform/ios/SystemMemoryIOS.cpp: Added.
700         * platform/ios/ThemeIOS.h: Copied from Source/WebCore/platform/KillRingNone.cpp.
701         * platform/ios/ThemeIOS.mm: Copied from Source/WebCore/platform/KillRingNone.cpp.
702         * platform/ios/TileCache.h: Added.
703         (WebCore::TileCache::isSpeculativeTileCreationEnabled):
704         * platform/ios/TileCache.mm: Added.
705         * platform/ios/TileGrid.h: Added.
706         * platform/ios/TileGrid.mm: Added.
707         * platform/ios/TileGridTile.h: Copied from Source/WebCore/platform/ContentFilter.h.
708         * platform/ios/TileGridTile.mm: Added.
709         * platform/ios/TileLayer.h: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
710         * platform/ios/TileLayer.mm: Added.
711         * platform/ios/TileLayerPool.mm: Added.
712         * platform/ios/WebCoreMotionManager.h: Copied from Source/WebCore/platform/KillRingNone.cpp.
713         * platform/ios/WebCoreMotionManager.mm: Added.
714         * platform/ios/WebCoreSystemInterfaceIOS.h: Added.
715         * platform/ios/WebCoreSystemInterfaceIOS.mm: Added.
716         * platform/ios/WebEvent.h: Added.
717         * platform/ios/WebEvent.mm: Added.
718         * platform/ios/WidgetIOS.mm: Added.
719         * platform/mac/DisplaySleepDisabler.cpp:
720         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
721         (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
722         * platform/mac/DisplaySleepDisabler.h:
723         * platform/mac/FileSystemMac.mm:
724         * platform/mac/KillRingMac.mm:
725         * platform/mac/MemoryPressureHandlerMac.mm:
726         (WebCore::MemoryPressureHandler::install):
727         (WebCore::MemoryPressureHandler::releaseMemory):
728         * platform/mac/PlatformClockCM.mm:
729         (PlatformClockCM::PlatformClockCM):
730         * platform/mac/SoftLinking.h:
731         * platform/mac/SystemVersionMac.mm:
732         * platform/mac/WebCoreFullScreenPlaceholderView.h:
733         * platform/mac/WebCoreFullScreenPlaceholderView.mm:
734         * platform/mac/WebCoreFullScreenWarningView.h:
735         * platform/mac/WebCoreFullScreenWarningView.mm:
736         * platform/mac/WebCoreFullScreenWindow.h:
737         * platform/mac/WebCoreFullScreenWindow.mm:
738         * platform/mac/WebCoreNSCellExtras.h:
739         * platform/mac/WebCoreNSCellExtras.m:
740         * platform/mac/WebCoreSystemInterface.h:
741         * platform/mac/WebFontCache.mm:
742         (+[WebFontCache fontWithFamily:traits:size:]):
743         * platform/network/BlobRegistry.cpp:
744         * platform/network/BlobRegistryImpl.cpp:
745         * platform/network/Credential.h:
746         * platform/network/CredentialStorage.cpp:
747         (WebCore::CredentialStorage::set):
748         (WebCore::CredentialStorage::clearCredentials):
749         * platform/network/CredentialStorage.h:
750         * platform/network/NetworkStateNotifier.h:
751         * platform/network/ResourceHandle.cpp:
752         (WebCore::builtinResourceHandleConstructorMap):
753         (WebCore::ResourceHandle::continueWillSendRequest):
754         (WebCore::ResourceHandle::continueDidReceiveResponse):
755         (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
756         (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
757         * platform/network/ResourceRequestBase.cpp:
758         (WebCore::ResourceRequestBase::setDefaultAllowCookies):
759         (WebCore::ResourceRequestBase::defaultAllowCookies):
760         * platform/network/ResourceRequestBase.h:
761         (WebCore::ResourceRequestBase::ResourceRequestBase):
762         * platform/network/cf/CredentialStorageCFNet.cpp:
763         (WebCore::CredentialStorage::saveToPersistentStorage):
764         * platform/network/cf/DNSCFNet.cpp:
765         * platform/network/cf/ProxyServerCFNet.cpp:
766         * platform/network/cf/ResourceRequest.h:
767         (WebCore::ResourceRequest::ResourceRequest):
768         (WebCore::ResourceRequest::setMainResourceRequest):
769         (WebCore::ResourceRequest::isMainResourceRequest):
770         * platform/network/cf/ResourceRequestCFNet.cpp:
771         (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody):
772         (WebCore::ResourceRequest::doUpdateResourceRequest):
773         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
774         (WebCore::initializeHTTPConnectionSettingsOnStartup):
775         * platform/network/cf/SocketStreamHandleCFNet.cpp:
776         (WebCore::SocketStreamHandle::reportErrorToClient):
777         * platform/network/ios/NetworkStateNotifierIOS.cpp: Copied from Source/WebCore/platform/KillRingNone.cpp.
778         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
779         (WebCore::NetworkStateNotifier::setIsOnLine):
780         * platform/network/ios/QuickLook.h: Added.
781         * platform/network/ios/QuickLook.mm: Added.
782         * platform/network/ios/ResourceHandleIOS.mm: Added.
783         * platform/network/ios/WebCoreURLResponseIOS.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
784         * platform/network/ios/WebCoreURLResponseIOS.mm: Added.
785         * platform/network/mac/AuthenticationMac.mm:
786         (WebCore::mac):
787         * platform/network/mac/CredentialStorageMac.mm:
788         (WebCore::CredentialStorage::saveToPersistentStorage):
789         * platform/network/mac/ResourceErrorMac.mm:
790         (dictionaryThatCanCode):
791         (-[WebCustomNSURLError encodeWithCoder:]):
792         (NSErrorFromCFError):
793         (WebCore::ResourceError::nsError):
794         * platform/network/mac/ResourceHandleMac.mm:
795         (WebCore::synchronousWillSendRequestEnabled):
796         (WebCore::ResourceHandle::createNSURLConnection):
797         (WebCore::ResourceHandle::start):
798         (WebCore::ResourceHandle::schedule):
799         (WebCore::ResourceHandle::unschedule):
800         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
801         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
802         * platform/network/mac/ResourceRequestMac.mm:
803         (WebCore::ResourceRequest::ResourceRequest):
804         (WebCore::ResourceRequest::updateNSURLRequest):
805         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
806         (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks):
807         * platform/network/mac/UTIUtilities.mm:
808         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
809         (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]):
810         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
811         (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
812         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
813         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
814         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
815         * platform/sql/SQLiteDatabase.h:
816         (WebCore::SQLiteDatabase::sqlite3Handle):
817         * platform/sql/SQLiteFileSystem.cpp:
818         (WebCore::SQLiteFileSystem::truncateDatabaseFile):
819         * platform/sql/SQLiteFileSystem.h:
820         * platform/sql/SQLiteTransaction.cpp:
821         (WebCore::SQLiteTransaction::begin):
822         (WebCore::SQLiteTransaction::commit):
823         (WebCore::SQLiteTransaction::rollback):
824         (WebCore::SQLiteTransaction::stop):
825         * platform/sql/ios/SQLiteDatabaseTracker.cpp: Added.
826         * platform/sql/ios/SQLiteDatabaseTracker.h: Copied from Source/WebCore/platform/MemoryPressureHandler.cpp.
827         * platform/sql/ios/SQLiteDatabaseTrackerClient.h: Copied from Source/WebCore/platform/KillRingNone.cpp.
828         * platform/text/PlatformLocale.cpp:
829         * platform/text/PlatformLocale.h:
830         * platform/text/TextBreakIteratorICU.cpp:
831         (WebCore::cursorMovementIterator):
832         * platform/text/TextCodecICU.cpp:
833         (WebCore::TextCodecICU::registerEncodingNames):
834         (WebCore::TextCodecICU::registerCodecs):
835         * platform/text/TextEncodingRegistry.cpp:
836         (WebCore::extendTextCodecMaps):
837         * platform/text/cf/HyphenationCF.cpp:
838         (WebCore::canHyphenate):
839         * platform/text/ios/LocalizedDateCache.h: Copied from Source/WebCore/platform/MemoryPressureHandler.h.
840         * platform/text/ios/LocalizedDateCache.mm: Added.
841         * platform/text/mac/CharsetData.h:
842         * platform/text/mac/LocaleMac.h:
843         * platform/text/mac/LocaleMac.mm:
844         (WebCore::LocaleMac::formatDateTime):
845         (WebCore::LocaleMac::maximumWidthForDateType):
846         * platform/text/mac/TextBoundaries.mm:
847         (WebCore::isSkipCharacter):
848         (WebCore::isWhitespaceCharacter):
849         (WebCore::isWordDelimitingCharacter):
850         (WebCore::isSymbolCharacter):
851         (WebCore::isAmbiguousBoundaryCharacter):
852         (WebCore::tokenizerForString):
853         (WebCore::findSimpleWordBoundary):
854         (WebCore::findComplexWordBoundary):
855         (WebCore::findWordBoundary):
856         (WebCore::findNextWordFromIndex):
857         * platform/text/mac/TextCodecMac.cpp:
858         * platform/text/mac/TextCodecMac.h:
859
860 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
861
862         Web Inspector: Consolidate developerExtrasEnabled to just InspectorEnvironment
863         https://bugs.webkit.org/show_bug.cgi?id=126717
864
865         Reviewed by Timothy Hatcher.
866
867         They all route to InspectorEnvironment::developerExtrasEnabled, so make
868         InspectorEnvironment available to all agents through InstrumentingAgents
869         and use that where needed.
870
871         * inspector/InspectorAgent.cpp:
872         (WebCore::InspectorAgent::InspectorAgent):
873         * inspector/InspectorAgent.h:
874         (WebCore::InspectorAgent::create):
875         * inspector/InspectorConsoleAgent.cpp:
876         (WebCore::InspectorConsoleAgent::addMessageToConsole):
877         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
878         (WebCore::InspectorConsoleAgent::didReceiveResponse):
879         (WebCore::InspectorConsoleAgent::didFailLoading):
880         (WebCore::InspectorConsoleAgent::addConsoleMessage):
881         * inspector/InspectorConsoleAgent.h:
882         * inspector/InspectorController.cpp:
883         (WebCore::InspectorController::InspectorController):
884         (WebCore::InspectorController::enabled):
885         * inspector/InspectorInstrumentation.cpp:
886         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
887         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
888         (WebCore::InspectorInstrumentation::frameDocumentUpdatedImpl):
889         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
890         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
891         * inspector/InstrumentingAgents.cpp:
892         (WebCore::InstrumentingAgents::InstrumentingAgents):
893         * inspector/InstrumentingAgents.h:
894         (WebCore::InstrumentingAgents::create):
895         (WebCore::InstrumentingAgents::inspectorEnvironment):
896         * inspector/PageConsoleAgent.cpp:
897         * inspector/PageConsoleAgent.h:
898         * inspector/WorkerConsoleAgent.cpp:
899         * inspector/WorkerConsoleAgent.h:
900         * inspector/WorkerInspectorController.cpp:
901         (WebCore::WorkerInspectorController::WorkerInspectorController):
902
903 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
904
905         Web Inspector: Remove Unnecessary InspectorAgent parameters
906         https://bugs.webkit.org/show_bug.cgi?id=126712
907
908         Reviewed by Timothy Hatcher.
909
910         * inspector/InspectorController.cpp:
911         (WebCore::InspectorController::InspectorController):
912         * inspector/InspectorDOMDebuggerAgent.cpp:
913         (WebCore::InspectorDOMDebuggerAgent::create):
914         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
915         * inspector/InspectorDOMDebuggerAgent.h:
916         * inspector/InspectorPageAgent.cpp:
917         (WebCore::InspectorPageAgent::create):
918         (WebCore::InspectorPageAgent::InspectorPageAgent):
919         * inspector/InspectorPageAgent.h:
920
921 2014-01-09  Antti Koivisto  <antti@apple.com>
922
923         Remove an accidentally left-behind static_cast.
924
925         * dom/ElementDescendantIterator.h:
926         (WebCore::ElementDescendantIteratorAdapter<ElementType>::beginAt):
927
928 2014-01-09  Antti Koivisto  <antti@apple.com>
929
930         Replace ElementIteratorAdapter find() with beginAt()
931         https://bugs.webkit.org/show_bug.cgi?id=126714
932
933         Reviewed by Andreas Kling.
934
935         ElementIteratorAdapter find() would return iterator for the argument element if it was
936         of correct type and in the right subtree. This is not really what you would expect from find()
937         so replace it with a simple beginAt() iterator construction function.
938
939         * dom/DocumentOrderedMap.cpp:
940         (WebCore::DocumentOrderedMap::getAllElementsById):
941         * dom/ElementChildIterator.h:
942         (WebCore::ElementChildIteratorAdapter<ElementType>::beginAt):
943         (WebCore::ElementChildConstIteratorAdapter<ElementType>::beginAt):
944         * dom/ElementDescendantIterator.h:
945         (WebCore::ElementDescendantIteratorAdapter<ElementType>::beginAt):
946         (WebCore::ElementDescendantConstIteratorAdapter<ElementType>::beginAt):
947         * html/HTMLFormElement.cpp:
948         (WebCore::HTMLFormElement::formElementIndex):
949         * html/HTMLTableRowsCollection.cpp:
950         (WebCore::HTMLTableRowsCollection::rowAfter):
951
952 2014-01-09  Brian Burg  <bburg@apple.com>
953
954         REGRESSION (r160152): Selection drag snapshot doesn't appear or has the wrong content on Retina
955         https://bugs.webkit.org/show_bug.cgi?id=125375
956
957         Reviewed by Darin Adler.
958
959         Move scaling of drag images by the device scale factor out of DragClient
960         and into WebCore. This removes several redundant copies and scaling operations.
961
962         Fix scaling bugs that were cancelled out by over-allocating the backing store.
963
964         * page/DragController.cpp:
965         (WebCore::DragController::startDrag): Scale the drag image for a link
966         according to the device scale factor before giving it to the OS.
967
968         (WebCore::DragController::doImageDrag): Scale the drag image for an image
969         according to the device scale factor before giving it to the OS.
970
971         * page/FrameSnapshotting.cpp:
972         (WebCore::snapshotFrameRect): Don't pre-scale or clip the snapshot. The
973         ImageBuffer does this already.
974
975         * platform/DragImage.cpp:
976         (WebCore::createDragImageFromSnapshot): Don't scale the backing store
977         when copying an ImageBuffer into an Image.
978
979         * platform/graphics/cg/ImageBufferCG.cpp:
980         (WebCore::ImageBuffer::copyImage): Draw the image in user-space coordinates,
981         not in backing-store coordinates. Remove unnecessary assertions. Crop the
982         buffer before drawing the image into it.
983
984 2014-01-09  Myles C. Maxfield  <mmaxfield@apple.com>
985
986         Narrow underlines are too tall
987         https://bugs.webkit.org/show_bug.cgi?id=126708
988
989         Reviewed by Simon Fraser.
990
991         I made a typo in r158392 and used was settings the line rect's
992         height equal to its width. No one noticed because of the subsequent
993         if statement.
994
995         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-tall-underlines.html
996
997         * platform/graphics/cg/GraphicsContextCG.cpp:
998         (WebCore::computeLineBoundsAndAntialiasingModeForText):
999
1000 2014-01-09  Antti Koivisto  <antti@apple.com>
1001
1002         DocumentOrderedMap should use iterator
1003         https://bugs.webkit.org/show_bug.cgi?id=126696
1004
1005         Reviewed by Andreas Kling.
1006
1007         * dom/DocumentOrderedMap.cpp:
1008         (WebCore::keyMatchesId):
1009         (WebCore::keyMatchesName):
1010         (WebCore::keyMatchesMapName):
1011         (WebCore::keyMatchesLowercasedMapName):
1012         (WebCore::keyMatchesLowercasedUsemap):
1013         (WebCore::keyMatchesLabelForAttribute):
1014         (WebCore::keyMatchesWindowNamedItem):
1015         (WebCore::keyMatchesDocumentNamedItem):
1016         
1017             Switch to Element references.
1018
1019         (WebCore::DocumentOrderedMap::add):
1020         (WebCore::DocumentOrderedMap::remove):
1021         (WebCore::DocumentOrderedMap::get):
1022         (WebCore::DocumentOrderedMap::getAllElementsById):
1023         
1024              Use element iterator instead of ElementTraversal.
1025
1026         * dom/DocumentOrderedMap.h:
1027
1028 2014-01-09  Beth Dakin  <bdakin@apple.com>
1029
1030         Margin tiles are not repainted when background color changes
1031         https://bugs.webkit.org/show_bug.cgi?id=126541
1032         -and corresponding-
1033         <rdar://problem/15578131>
1034
1035         Reviewed by Simon Fraser.
1036
1037         This patch adds an optional parameter to GraphicsLayer::setNeedsDisplayInRect, 
1038         RenderLayerBacking::setContentsNeedDisplay(), and 
1039         RenderLayer::setBackingNeedsRepaint() that is used to determine whether or not to 
1040         clip the invalidation rect to the size of the layer. Then whenever the margin 
1041         needs to be repainted, we can call setNeedsDisplayInRect() with a rect that 
1042         includes the margin, and also indicate that it should not be clipped.
1043
1044         GraphicsLayer now takes an optional parameter which is an enum called 
1045         ShouldClipToLayer.
1046         * WebCore.exp.in:
1047         * platform/graphics/GraphicsLayer.h:
1048         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
1049         (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
1050         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
1051         * platform/graphics/ca/GraphicsLayerCA.cpp:
1052         (WebCore::GraphicsLayerCA::setNeedsDisplayInRect):
1053         * platform/graphics/ca/GraphicsLayerCA.h:
1054         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1055         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
1056         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1057         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1058         (WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):
1059         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1060
1061         Make TileController::bounds() a virtual function, and declare it on TiledBacking 
1062         so that we can call it from RenderLayerBacking.
1063         * platform/graphics/TiledBacking.h:
1064         * platform/graphics/ca/mac/TileController.h:
1065
1066         RenderLayer also now takes an optional parameter which is an enum called 
1067         ShouldClipToLayer.
1068         * rendering/RenderLayer.cpp:
1069         (WebCore::RenderLayer::calculateClipRects):
1070         * rendering/RenderLayer.h:
1071
1072         If the margin needs to be repainted, call GraphicsLayer::setNeedsDisplayInRect 
1073         with a big enough rect and a ShouldClipToLayer value of DoNotClipToLayer.
1074         * rendering/RenderLayerBacking.cpp:
1075         (WebCore::RenderLayerBacking::setContentsNeedDisplay):
1076         * rendering/RenderLayerBacking.h:
1077
1078         Whenever all of the root contents need to be repainted the margin will also need 
1079         to be repainted, so call setBackingNeedsRepaint() with the new parameter 
1080         indicating the the invalidation should NOT be clipped to the layer size.
1081         * rendering/RenderView.cpp:
1082         (WebCore::RenderView::repaintRootContents):
1083
1084 2014-01-09  Bear Travis  <betravis@adobe.com>
1085
1086         [CSS Shapes] Factor the ReferenceBox type out of BasicShapes
1087         https://bugs.webkit.org/show_bug.cgi?id=126648
1088
1089         Reviewed by Dirk Schulze.
1090
1091         Moving ReferenceBox out of BasicShapes and into RenderStyleConstants
1092         as the LayoutBox enum. Most of the changes are removing the BasicShape
1093         namespace.
1094
1095         Refactoring, no new tests.
1096
1097         * css/BasicShapeFunctions.cpp:
1098         (WebCore::valueForBox):
1099         (WebCore::boxForValue):
1100         (WebCore::valueForBasicShape):
1101         (WebCore::basicShapeForValue):
1102         * css/BasicShapeFunctions.h:
1103         * css/CSSBasicShapes.cpp:
1104         (WebCore::CSSBasicShapeRectangle::cssText):
1105         (WebCore::CSSBasicShapeRectangle::equals):
1106         (WebCore::CSSBasicShapeCircle::cssText):
1107         (WebCore::CSSBasicShapeCircle::equals):
1108         (WebCore::CSSDeprecatedBasicShapeCircle::cssText):
1109         (WebCore::CSSDeprecatedBasicShapeCircle::equals):
1110         (WebCore::CSSBasicShapeEllipse::cssText):
1111         (WebCore::CSSBasicShapeEllipse::equals):
1112         (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
1113         (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
1114         (WebCore::CSSBasicShapePolygon::cssText):
1115         (WebCore::CSSBasicShapePolygon::equals):
1116         (WebCore::CSSBasicShapeInsetRectangle::cssText):
1117         (WebCore::CSSBasicShapeInsetRectangle::equals):
1118         (WebCore::CSSBasicShapeInset::cssText):
1119         * css/CSSBasicShapes.h:
1120         (WebCore::CSSBasicShape::layoutBox):
1121         (WebCore::CSSBasicShape::setLayoutBox):
1122         * css/CSSComputedStyleDeclaration.cpp:
1123         (WebCore::ComputedStyleExtractor::propertyValue):
1124         * css/CSSParser.cpp:
1125         (WebCore::CSSParser::parseShapeProperty):
1126         * css/DeprecatedStyleBuilder.cpp:
1127         (WebCore::ApplyPropertyClipPath::applyValue):
1128         (WebCore::ApplyPropertyShape::applyValue):
1129         * rendering/ClipPathOperation.h:
1130         (WebCore::ShapeClipPathOperation::setReferenceBox):
1131         (WebCore::ShapeClipPathOperation::referenceBox):
1132         (WebCore::ShapeClipPathOperation::ShapeClipPathOperation):
1133         (WebCore::BoxClipPathOperation::create):
1134         (WebCore::BoxClipPathOperation::referenceBox):
1135         (WebCore::BoxClipPathOperation::BoxClipPathOperation):
1136         * rendering/shapes/Shape.cpp:
1137         (WebCore::Shape::createLayoutBoxShape):
1138         * rendering/shapes/Shape.h:
1139         * rendering/shapes/ShapeInfo.cpp:
1140         (WebCore::ShapeInfo<RenderType>::computedShape):
1141         * rendering/shapes/ShapeInfo.h:
1142         (WebCore::ShapeInfo::setShapeSize):
1143         (WebCore::ShapeInfo::logicalTopOffset):
1144         (WebCore::ShapeInfo::logicalLeftOffset):
1145         * rendering/shapes/ShapeInsideInfo.h:
1146         * rendering/shapes/ShapeOutsideInfo.h:
1147         * rendering/style/BasicShapes.cpp:
1148         (WebCore::BasicShape::canBlend):
1149         (WebCore::BasicShape::referenceBoxSize):
1150         * rendering/style/BasicShapes.h:
1151         (WebCore::BasicShape::layoutBox):
1152         (WebCore::BasicShape::setLayoutBox):
1153         (WebCore::BasicShape::BasicShape):
1154         * rendering/style/RenderStyleConstants.h:
1155         * rendering/style/ShapeValue.h:
1156         (WebCore::ShapeValue::createLayoutBoxValue):
1157         (WebCore::ShapeValue::layoutBox):
1158         (WebCore::ShapeValue::ShapeValue):
1159
1160 2014-01-09  Tim Horton  <timothy_horton@apple.com>
1161
1162         PDFDocumentImage can be very slow to do the initial paint
1163         https://bugs.webkit.org/show_bug.cgi?id=126633
1164         <rdar://problem/15770980>
1165
1166         Reviewed by Simon Fraser.
1167
1168         * platform/graphics/cg/PDFDocumentImage.cpp:
1169         (WebCore::PDFDocumentImage::PDFDocumentImage):
1170         (WebCore::PDFDocumentImage::size):
1171         (WebCore::transformContextForPainting):
1172         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
1173         (WebCore::applyRotationForPainting):
1174         (WebCore::PDFDocumentImage::drawPDFPage):
1175         * platform/graphics/cg/PDFDocumentImage.h:
1176         * platform/graphics/mac/PDFDocumentImageMac.mm:
1177         (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
1178         Store rotation from the PDF in degrees, since it can
1179         only be 0, 90, 180, or 270, and don't do any trig to
1180         perform the rotation, to avoid introducing minor rounding
1181         issues in the size.
1182
1183         Once we're going to paint, if the difference between the
1184         computed scale for each axis is due only to integer rounding
1185         of the image size, use the same scale for both axes, to avoid
1186         a CG slow-path which occurs whenever the scale is nonuniform.
1187
1188 2014-01-09  Antti Koivisto  <antti@apple.com>
1189
1190         Disconnect child frames iteratively
1191         https://bugs.webkit.org/show_bug.cgi?id=126700
1192
1193         Reviewed by Andreas Kling.
1194
1195         Use descendant iterator instead of recursion for traversal.
1196
1197         * dom/ContainerNode.cpp:
1198         (WebCore::willRemoveChild):
1199         (WebCore::willRemoveChildren):
1200         (WebCore::ContainerNode::disconnectDescendantFrames):
1201         * dom/ContainerNodeAlgorithms.cpp:
1202         (WebCore::assertConnectedSubrameCountIsConsistent):
1203         (WebCore::collectFrameOwners):
1204         (WebCore::disconnectSubframes):
1205         
1206             Get rid of the strange ChildFrameDisconnector class in favor of a function.
1207
1208         * dom/ContainerNodeAlgorithms.h:
1209         (WebCore::disconnectSubframesIfNeeded):
1210
1211 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
1212
1213         Unreviewed Windows build fix for r161563.
1214
1215         Remove reference to removed file.
1216
1217         * bindings/js/JSBindingsAllInOne.cpp:
1218
1219 2014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
1220
1221         Web Inspector: Move InjectedScript classes into JavaScriptCore
1222         https://bugs.webkit.org/show_bug.cgi?id=126598
1223
1224         Part 6: Put it all together. Make WebCore use the JavaScriptCore InjectedScript files.
1225
1226         Reviewed by Timothy Hatcher.
1227
1228         * CMakeLists.txt:
1229         * DerivedSources.cpp:
1230         * DerivedSources.make:
1231         * GNUmakefile.list.am:
1232         * UseJSC.cmake:
1233         * WebCore.vcxproj/WebCore.vcxproj:
1234         * WebCore.vcxproj/WebCore.vcxproj.filters:
1235         * WebCore.xcodeproj/project.pbxproj:
1236         Remove old InjectedScript files.
1237
1238         * ForwardingHeaders/inspector/InjectedScript.h: Added.
1239         * ForwardingHeaders/inspector/InjectedScriptBase.h: Added.
1240         * ForwardingHeaders/inspector/InjectedScriptHost.h: Added.
1241         * ForwardingHeaders/inspector/InjectedScriptManager.h: Added.
1242         * ForwardingHeaders/inspector/InjectedScriptModule.h: Added.
1243         * ForwardingHeaders/inspector/InspectorEnvironment.h: Added.
1244         Expose headers to WebCore.
1245
1246         * inspector/InspectorController.h:
1247         * inspector/InspectorController.cpp:
1248         (WebCore::InspectorController::InspectorController):
1249         (WebCore::InspectorController::developerExtrasEnabled):
1250         (WebCore::InspectorController::canAccessInspectedScriptState):
1251         (WebCore::InspectorController::functionCallHandler):
1252         (WebCore::InspectorController::evaluateHandler):
1253         (WebCore::InspectorController::willCallInjectedScriptFunction):
1254         (WebCore::InspectorController::didCallInjectedScriptFunction):
1255         * inspector/WorkerInspectorController.h:
1256         * inspector/WorkerInspectorController.cpp:
1257         (WebCore::WorkerInspectorController::WorkerInspectorController):
1258         (WebCore::WorkerInspectorController::functionCallHandler):
1259         (WebCore::WorkerInspectorController::evaluateHandler):
1260         (WebCore::WorkerInspectorController::willCallInjectedScriptFunction):
1261         (WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
1262         Make both InspectorControllers in WebCore be InspectorEnvironments.
1263
1264         * bindings/js/JSMainThreadExecState.h:
1265         * bindings/js/JSMainThreadExecState.cpp:
1266         (WebCore::evaluateHandlerFromAnyThread):
1267         Make JSC::evaluate wrapper like the existing JSC::call wrapper.
1268         These will be the ScriptFunctionCall implementations when debugging
1269         a WebCore::Page or worker, instead of the pure JSC versions.
1270
1271         * inspector/PageInjectedScriptHost.h: Copied from Source/WebCore/inspector/CommandLineAPIModule.h.
1272         * inspector/PageInjectedScriptHost.cpp: Copied from Source/WebCore/inspector/PageInjectedScriptManager.cpp.
1273         (WebCore::PageInjectedScriptHost::type):
1274         (WebCore::PageInjectedScriptHost::isHTMLAllCollection):
1275         WebCore InjectedScriptHost implementation for DOM type handling.
1276
1277         * inspector/PageInjectedScriptManager.h:
1278         * inspector/PageInjectedScriptManager.cpp:
1279         (WebCore::PageInjectedScriptManager::PageInjectedScriptManager):
1280         (WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):
1281         WebCore InjectedScriptManager implementation for CommandLineAPI and
1282         specialized DOMWindow injected script management.
1283
1284         * bindings/js/JSBindingsAllInOne.cpp:
1285         * inspector/CommandLineAPIHost.cpp:
1286         * inspector/CommandLineAPIHost.h:
1287         * inspector/CommandLineAPIModule.cpp:
1288         (WebCore::CommandLineAPIModule::host):
1289         * inspector/CommandLineAPIModule.h:
1290         * inspector/ConsoleMessage.cpp:
1291         (WebCore::ConsoleMessage::addToFrontend):
1292         * inspector/ConsoleMessage.h:
1293         * inspector/InjectedScriptCanvasModule.cpp:
1294         (WebCore::InjectedScriptCanvasModule::InjectedScriptCanvasModule):
1295         * inspector/InjectedScriptCanvasModule.h:
1296         * inspector/InspectorAllInOne.cpp:
1297         * inspector/InspectorCanvasAgent.cpp:
1298         * inspector/InspectorCanvasAgent.h:
1299         (WebCore::InspectorCanvasAgent::create):
1300         * inspector/InspectorConsoleAgent.cpp:
1301         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1302         * inspector/InspectorConsoleAgent.h:
1303         * inspector/InspectorDOMAgent.cpp:
1304         * inspector/InspectorDOMAgent.h:
1305         (WebCore::InspectorDOMAgent::create):
1306         * inspector/InspectorDebuggerAgent.cpp:
1307         * inspector/InspectorDebuggerAgent.h:
1308         (WebCore::InspectorDebuggerAgent::injectedScriptManager):
1309         * inspector/InspectorHeapProfilerAgent.cpp:
1310         (WebCore::InspectorHeapProfilerAgent::create):
1311         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
1312         * inspector/InspectorHeapProfilerAgent.h:
1313         * inspector/InspectorIndexedDBAgent.cpp:
1314         * inspector/InspectorIndexedDBAgent.h:
1315         (WebCore::InspectorIndexedDBAgent::create):
1316         * inspector/InspectorPageAgent.cpp:
1317         * inspector/InspectorPageAgent.h:
1318         * inspector/InspectorProfilerAgent.cpp:
1319         (WebCore::PageProfilerAgent::PageProfilerAgent):
1320         (WebCore::InspectorProfilerAgent::create):
1321         (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
1322         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1323         * inspector/InspectorProfilerAgent.h:
1324         * inspector/InspectorRuntimeAgent.cpp:
1325         * inspector/InspectorRuntimeAgent.h:
1326         (WebCore::InspectorRuntimeAgent::injectedScriptManager):
1327         * inspector/PageConsoleAgent.cpp:
1328         (WebCore::PageConsoleAgent::PageConsoleAgent):
1329         * inspector/PageConsoleAgent.h:
1330         (WebCore::PageConsoleAgent::create):
1331         * inspector/PageDebuggerAgent.cpp:
1332         * inspector/PageDebuggerAgent.h:
1333         * inspector/PageRuntimeAgent.cpp:
1334         * inspector/PageRuntimeAgent.h:
1335         (WebCore::PageRuntimeAgent::create):
1336         * inspector/WorkerConsoleAgent.cpp:
1337         (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
1338         * inspector/WorkerConsoleAgent.h:
1339         (WebCore::WorkerConsoleAgent::create):
1340         * inspector/WorkerDebuggerAgent.cpp:
1341         * inspector/WorkerDebuggerAgent.h:
1342         * inspector/WorkerRuntimeAgent.cpp:
1343         * inspector/WorkerRuntimeAgent.h:
1344         (WebCore::WorkerRuntimeAgent::create):
1345         Switch to using the Inspector namespace and JSC InjectedScript files.
1346
1347         * bindings/js/JSInjectedScriptManager.cpp: Removed.
1348         * inspector/InjectedScript.h: Removed.
1349         * inspector/InjectedScriptHost.cpp: Removed.
1350         * inspector/InjectedScriptHost.h: Removed.
1351         * inspector/InjectedScriptHost.idl: Removed.
1352
1353
1354         Part 4: Move all inspector scripts into JavaScriptCore and update generators.
1355
1356         With the updated location switch to using the appropriate INSPECTOR_SCRIPTS_DIR
1357         variable which defines where the scripts are.
1358
1359         * CMakeLists.txt:
1360         * DerivedSources.make:
1361         * GNUmakefile.am:
1362         * GNUmakefile.list.am:
1363         * WebCore.vcxproj/WebCore.vcxproj:
1364         * WebCore.vcxproj/WebCore.vcxproj.filters:
1365         * WebCore.xcodeproj/project.pbxproj:
1366
1367
1368         Part 1: Extract InspectorInstrumentationCookie class from InspectorInstrumentation.
1369
1370         Currently InjectedScriptBase uses InspectorInstrumentation directly
1371         to track calling into JavaScript for timeline purposes. We will remove
1372         the direct call from InjectedScriptBase and extracting the Cookie class
1373         will make that easier.
1374
1375         * CMakeLists.txt:
1376         * GNUmakefile.list.am:
1377         * WebCore.vcxproj/WebCore.vcxproj:
1378         * WebCore.vcxproj/WebCore.vcxproj.filters:
1379         * WebCore.xcodeproj/project.pbxproj:
1380         * inspector/InspectorAllInOne.cpp:
1381         * inspector/InspectorInstrumentation.cpp:
1382         * inspector/InspectorInstrumentation.h:
1383         * inspector/InspectorInstrumentationCookie.cpp: Added.
1384         (WebCore::InspectorInstrumentationCookie::InspectorInstrumentationCookie):
1385         (WebCore::InspectorInstrumentationCookie::operator=):
1386         (WebCore::InspectorInstrumentationCookie::~InspectorInstrumentationCookie):
1387         * inspector/InspectorInstrumentationCookie.h: Added.
1388         (WebCore::InspectorInstrumentationCookie::isValid):
1389         (WebCore::InspectorInstrumentationCookie::instrumentingAgents):
1390         (WebCore::InspectorInstrumentationCookie::hasMatchingTimelineAgentId):
1391
1392 2014-01-09  Pascal Jacquemart  <p.jacquemart@samsung.com>
1393
1394         Cannot select multiple non-adjacent items in a multiple select control with the keyboard only
1395         https://bugs.webkit.org/show_bug.cgi?id=15816
1396
1397         Reviewed by Chris Fleizach.
1398
1399         Test: fast/forms/listbox-non-contiguous-keyboard-selection.html
1400
1401         * html/HTMLSelectElement.cpp:
1402         (WebCore::HTMLSelectElement::HTMLSelectElement):
1403         New member m_allowsNonContiguousSelection defaults to false
1404         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
1405         Tracking CTRL modifier to start multiple non contiguous selection
1406         * html/HTMLSelectElement.h: New member m_allowsNonContiguousSelection
1407         (WebCore::HTMLSelectElement::allowsNonContiguousSelection): New getter
1408         * rendering/RenderListBox.cpp:
1409         (WebCore::RenderListBox::addFocusRingRects):
1410         Following implementation made for spatial navigation
1411
1412 2014-01-09  Seokju Kwon  <seokju@webkit.org>
1413
1414         Web Inspector: Remove unused overriding protocols.
1415         https://bugs.webkit.org/show_bug.cgi?id=126630
1416
1417         Reviewed by Timothy Hatcher.
1418
1419         No new tests, No change in behavior.
1420
1421         Remove unused overriding protocols as these are not used anymore in Frontned.
1422         -Page.setGeolocationOverride
1423         -Page.clearGeolocationOverride
1424         -Page.canOverrideGeolocation
1425         -Page.setDeviceOrientationOverride
1426         -Page.clearDeviceOrientationOverride
1427         -Page.canOverrideGeolocation
1428         -Network.setUserAgentOverride
1429
1430         * Modules/geolocation/GeolocationController.cpp:
1431         (WebCore::GeolocationController::GeolocationController):
1432         (WebCore::GeolocationController::create):
1433         (WebCore::GeolocationController::positionChanged):
1434         (WebCore::provideGeolocationTo):
1435         * Modules/geolocation/GeolocationController.h:
1436         * dom/DeviceOrientationController.cpp:
1437         (WebCore::DeviceOrientationController::DeviceOrientationController):
1438         (WebCore::DeviceOrientationController::create):
1439         (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
1440         (WebCore::provideDeviceOrientationTo):
1441         * dom/DeviceOrientationController.h:
1442         * inspector/InspectorInstrumentation.cpp:
1443         * inspector/InspectorInstrumentation.h:
1444         * inspector/InspectorPageAgent.cpp:
1445         (WebCore::InspectorPageAgent::InspectorPageAgent):
1446         * inspector/InspectorPageAgent.h:
1447         * inspector/InspectorResourceAgent.cpp:
1448         (WebCore::InspectorResourceAgent::disable):
1449         * inspector/InspectorResourceAgent.h:
1450         * inspector/protocol/Network.json:
1451         * inspector/protocol/Page.json:
1452         * loader/FrameLoader.cpp:
1453         (WebCore::FrameLoader::userAgent):
1454
1455 2014-01-09  Andrei Bucur  <abucur@adobe.com>
1456
1457         [CSSRegions] Move regions auto-size code into RenderNamedFlowFragment
1458         https://bugs.webkit.org/show_bug.cgi?id=122959
1459
1460         Reviewed by Mihnea Ovidenie.
1461
1462         Move the auto-height logic from RenderRegion to RenderNamedFlowFragment because it's
1463         used only by the CSS Regions implementation.
1464
1465         Bug 126642 covers the auto-height logic move from RenderFlowThread to RenderNamedFlowThread.
1466
1467         Tests: No new tests, just refactorings.
1468
1469         * rendering/RenderFlowThread.cpp:
1470         (WebCore::RenderFlowThread::styleDidChange):
1471         (WebCore::RenderFlowThread::validateRegions):
1472         (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
1473         (WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
1474         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
1475         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
1476         (WebCore::RenderFlowThread::addForcedRegionBreak):
1477         * rendering/RenderMultiColumnSet.h:
1478         * rendering/RenderNamedFlowFragment.cpp:
1479         (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
1480         (WebCore::RenderNamedFlowFragment::styleDidChange):
1481         (WebCore::RenderNamedFlowFragment::incrementAutoLogicalHeightCount):
1482         (WebCore::RenderNamedFlowFragment::decrementAutoLogicalHeightCount):
1483         (WebCore::RenderNamedFlowFragment::updateRegionHasAutoLogicalHeightFlag):
1484         (WebCore::RenderNamedFlowFragment::updateLogicalHeight):
1485         (WebCore::RenderNamedFlowFragment::pageLogicalHeight):
1486         (WebCore::RenderNamedFlowFragment::layoutBlock):
1487         (WebCore::RenderNamedFlowFragment::attachRegion):
1488         (WebCore::RenderNamedFlowFragment::detachRegion):
1489         * rendering/RenderNamedFlowFragment.h:
1490         * rendering/RenderRegion.cpp:
1491         (WebCore::RenderRegion::RenderRegion):
1492         (WebCore::RenderRegion::pageLogicalHeight):
1493         (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
1494         (WebCore::RenderRegion::isLastRegion):
1495         (WebCore::RenderRegion::styleDidChange):
1496         (WebCore::RenderRegion::attachRegion):
1497         (WebCore::RenderRegion::detachRegion):
1498         * rendering/RenderRegion.h:
1499         * rendering/RenderRegionSet.h:
1500         * rendering/RenderTreeAsText.cpp:
1501         (WebCore::writeRenderRegionList):
1502
1503 2014-01-09  Antti Koivisto  <antti@apple.com>
1504
1505         Switch HTMLTableRowsCollection from Traversal<> to iterators
1506         https://bugs.webkit.org/show_bug.cgi?id=126684
1507
1508         Reviewed by Andreas Kling.
1509
1510         This is the last remaining client of Traversal<> outside the iterator implementation.
1511
1512         * dom/ElementChildIterator.h:
1513         (WebCore::ElementChildIteratorAdapter<ElementType>::find):
1514         (WebCore::ElementChildConstIteratorAdapter<ElementType>::find):
1515         
1516             Add find with the same semantics as ElementDescendantIterator::find.
1517
1518         * html/HTMLTableRowsCollection.cpp:
1519         (WebCore::HTMLTableRowsCollection::rowAfter):
1520         (WebCore::HTMLTableRowsCollection::lastRow):
1521
1522 2014-01-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1523
1524         REGRESSION(r161176): http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html is failing on GTK
1525         https://bugs.webkit.org/show_bug.cgi?id=126518
1526
1527         Reviewed by Martin Robinson.
1528
1529         Clear the credentials before calling willSendRequest on the client
1530         to avoid sending the credentials to the API layer, but apply them
1531         again to the request right before creating the new SoupRequest.
1532
1533         * platform/network/soup/ResourceHandleSoup.cpp:
1534         (WebCore::continueAfterWillSendRequest):
1535         (WebCore::doRedirect):
1536
1537 2014-01-08  Commit Queue  <commit-queue@webkit.org>
1538
1539         Unreviewed, rolling out r161532.
1540         http://trac.webkit.org/changeset/161532
1541         https://bugs.webkit.org/show_bug.cgi?id=126677
1542
1543         Caused lots of assertion failures (Requested by ap on
1544         #webkit).
1545
1546         * xml/XMLHttpRequest.cpp:
1547         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1548         (WebCore::XMLHttpRequest::createRequest):
1549         (WebCore::XMLHttpRequest::abort):
1550         (WebCore::XMLHttpRequest::networkError):
1551         (WebCore::XMLHttpRequest::abortError):
1552         (WebCore::XMLHttpRequest::didSendData):
1553         (WebCore::XMLHttpRequest::didReceiveData):
1554         (WebCore::XMLHttpRequest::didTimeout):
1555         * xml/XMLHttpRequest.h:
1556         * xml/XMLHttpRequestProgressEventThrottle.cpp:
1557         (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
1558         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
1559         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadEnd):
1560         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
1561         (WebCore::XMLHttpRequestProgressEventThrottle::fired):
1562         (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
1563         (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
1564         * xml/XMLHttpRequestProgressEventThrottle.h:
1565         * xml/XMLHttpRequestUpload.cpp:
1566         (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
1567         (WebCore::XMLHttpRequestUpload::dispatchEventAndLoadEnd):
1568         * xml/XMLHttpRequestUpload.h:
1569
1570 2014-01-08  Brian Burg  <bburg@apple.com>
1571
1572         Clean up confusing names and calculations in image-dragging functions
1573         https://bugs.webkit.org/show_bug.cgi?id=126661
1574
1575         Reviewed by Timothy Hatcher.
1576
1577         No new tests.
1578
1579         * page/DragController.cpp:
1580         (WebCore::DragController::doImageDrag): rename variables and
1581         simplify the calculation of the image's scaled origin.
1582
1583         * platform/DragImage.cpp:
1584         (WebCore::fitDragImageToMaxSize): rename variables.
1585
1586 2014-01-08  Seokju Kwon  <seokju@webkit.org>
1587
1588         Web Inspector: Remove InspectorClient::captureScreenshot()
1589         https://bugs.webkit.org/show_bug.cgi?id=126616
1590
1591         Reviewed by Joseph Pecoraro.
1592
1593         No new tests, No change in behavior.
1594
1595         Remove leftover mothod as Page.captureScreenshot API was removed in r160202.
1596
1597         * inspector/InspectorClient.h:
1598
1599 2014-01-08  Youenn Fablet  <youennf@gmail.com>
1600
1601         Correctly set XHR loadend attributes (loaded and total).
1602         https://bugs.webkit.org/show_bug.cgi?id=120828
1603
1604         Reviewed by Alexey Proskuryakov.
1605         
1606         Added correct initialization of lengthComputable, loaded and total attributes 
1607         to XHR ProgressEvent events (load, loadstart, loadend, abort, error and timeout).
1608
1609         XMLHttpRequestProgressEventThrottle and XMLHttpRequestUpload now keep persistent knowledge 
1610         of m_loaded and m_total values with this patch.
1611         
1612         Code refactoring to handle event dispatching in case of error in a single manner.
1613         XMLHttpRequestProgressEventThrottle::dispatchProgressEvent is renamed as dispatchThrottledProgressEvent
1614         XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadend is replaced by dispatchProgressEvent(const AtomicString&)
1615
1616         Tests: http/tests/xmlhttprequest/loadstart-event-init.html
1617                http/tests/xmlhttprequest/onabort-progressevent-attributes.html
1618                http/tests/xmlhttprequest/onload-progressevent-attributes.html
1619                http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html
1620                http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html
1621
1622         * xml/XMLHttpRequest.cpp:
1623         (WebCore::XMLHttpRequest::callReadyStateChangeListener): changed readystatechange event from ProgressEvent to Event (not cancellable, not bubblable) to better match the spec 
1624         (WebCore::XMLHttpRequest::createRequest):
1625         (WebCore::XMLHttpRequest::abort): code refactoring to handle error event dispatching in a single way
1626         (WebCore::XMLHttpRequest::networkError): code refactoring to handle error event dispatching in a single way
1627         (WebCore::XMLHttpRequest::abortError): code refactoring to handle error event dispatching in a single way
1628         (WebCore::XMLHttpRequest::didSendData):
1629         (WebCore::XMLHttpRequest::didReceiveData):
1630         (WebCore::XMLHttpRequest::dispatchErrorEvents): dispatch progress events in case of error
1631         (WebCore::XMLHttpRequest::didTimeout): code refactoring to handle error event dispatching in a single way
1632         * xml/XMLHttpRequest.h:
1633         * xml/XMLHttpRequestProgressEventThrottle.cpp: before the patch, the fact that a progress event is being throttled is stored indirectly (m_loaded or m_total not equal to zero). With the patch, this information is stored in m_hasThrottledProgressEvent. The m_loaded and m_total values are no longer set back to zero after a progress event is dispatched. This allows using these values to correctly initialize other ProgressEvent events (in particular loadend, abort, timeout...) 
1634         (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
1635         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent): always update the new m_loaded and m_total values. If progress event is not sent as part of the function call, store the fact that a progress event is being throttled through m_hasThrottledProgressEvent. 
1636         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): used to send any ProgressEvent event that is not be throttled
1637         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): after the call, no progress event is throttled anymore
1638         (WebCore::XMLHttpRequestProgressEventThrottle::fired): after the call, no progress event is throttled anymore
1639         (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
1640         (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
1641         * xml/XMLHttpRequestProgressEventThrottle.h: introduced m_hasThrottledProgressEvent which stores whether a progress event is being throttled and m_computableLength which is used to initialize ProgressEvent computableLength
1642         * xml/XMLHttpRequestUpload.cpp:
1643         (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
1644         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
1645         * xml/XMLHttpRequestUpload.h: introduced m_loaded, m_total and m_lengthComputable, similarly to XMLHttpRequestProgressEventThrottle
1646
1647 2014-01-08  Tim Horton  <timothy_horton@apple.com>
1648
1649         TileController can fail to receive exposedRect from the drawing area if set at the wrong time
1650         https://bugs.webkit.org/show_bug.cgi?id=126536
1651
1652         Reviewed by Simon Fraser.
1653
1654         * WebCore.exp.in:
1655         Export some things.
1656
1657         * page/FrameView.cpp:
1658         (WebCore::FrameView::FrameView):
1659         (WebCore::FrameView::setExposedRect):
1660         Store the exposed rect on FrameView. When it changes, if the main frame
1661         has a TiledBacking, inform it of the change.
1662
1663         * page/FrameView.h:
1664         * platform/graphics/TiledBacking.h:
1665         * platform/graphics/ca/mac/TileController.h:
1666         * platform/graphics/ca/mac/TileController.mm:
1667         (WebCore::TileController::TileController):
1668         (WebCore::TileController::tilesWouldChangeForVisibleRect):
1669         (WebCore::TileController::computeTileCoverageRect):
1670         (WebCore::TileController::revalidateTiles):
1671         (WebCore::TileController::updateTileCoverageMap):
1672         Make use of the fact that we can test if a rect is infinite
1673         instead of having a separate boolean property for that.
1674
1675         * rendering/RenderLayerBacking.cpp:
1676         (WebCore::RenderLayerBacking::RenderLayerBacking):
1677         (WebCore::computeTileCoverage):
1678         Push the FrameView's cached exposed rect down into the TiledBacking when it is created.
1679         We only support clipping for the main frame TileController for now.
1680
1681 2014-01-07  Myles C. Maxfield  <mmaxfield@apple.com>
1682
1683         a fractional value of the css letter-spacing property is not rendered as expected
1684         https://bugs.webkit.org/show_bug.cgi?id=20606
1685
1686         Reviewed by Simon Fraser.
1687
1688         This turns on fractional letter-spacing and word-spacing CSS values.
1689         It is taken mostly from Blink r153727 and iOS. Updating the relevant
1690         types is all that is necessary
1691
1692         Existing tests have been updated.
1693
1694         * css/DeprecatedStyleBuilder.cpp:
1695         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1696         * page/animation/CSSPropertyAnimation.cpp:
1697         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
1698         * platform/graphics/Font.cpp:
1699         (WebCore::Font::Font):
1700         (WebCore::Font::width):
1701         * platform/graphics/Font.h:
1702         (WebCore::Font::wordSpacing):
1703         (WebCore::Font::letterSpacing):
1704         (WebCore::Font::setWordSpacing):
1705         (WebCore::Font::setLetterSpacing):
1706         * rendering/style/RenderStyle.cpp:
1707         (WebCore::RenderStyle::wordSpacing):
1708         (WebCore::RenderStyle::letterSpacing):
1709         (WebCore::RenderStyle::setWordSpacing):
1710         (WebCore::RenderStyle::setLetterSpacing):
1711         * rendering/style/RenderStyle.h:
1712
1713 2014-01-08  Anders Carlsson  <andersca@apple.com>
1714
1715         Add WTF::StringView and use it for grammar checking
1716         https://bugs.webkit.org/show_bug.cgi?id=126644
1717
1718         Reviewed by Antti Koivisto.
1719
1720         Use a StringView in TextCheckerClient::checkTextOfParagraph to avoid upconverting strings unnecessarily.
1721
1722         * editing/TextCheckingHelper.cpp:
1723         (WebCore::checkTextOfParagraph):
1724         Pass a StringView to TextCheckerClient::checkTextOfParagraph.
1725         
1726         * loader/EmptyClients.h:
1727         Update for TextCheckerClient changes.
1728
1729         * platform/text/TextCheckerClient.h:
1730         Change TextCheckerClient::checkTextOfParagraph to take a StringView.
1731         
1732 2014-01-08  Eric Carlson  <eric.carlson@apple.com>
1733
1734         Unreviewed Windows build fix attempt after r161481.
1735
1736         * WebCore.vcxproj/copyForwardingHeaders.cmd:
1737
1738 2014-01-08  Andreas Kling  <akling@apple.com>
1739
1740         Deploy RenderPtr in RenderMathMLOperator::updateFromElement().
1741         <https://webkit.org/b/126628>
1742
1743         Reviewed by Antti Koivisto.
1744
1745         * rendering/mathml/RenderMathMLOperator.cpp:
1746         (WebCore::RenderMathMLOperator::updateFromElement):
1747
1748             Use RenderPtr/createRenderer for renderer creation.
1749             Removed an unnecessary null check (text is always created.)
1750             Also use RenderStyle::createAnonymousStyleWithDisplay()
1751             helper to shorten down the code a bit.
1752
1753 2014-01-08  Alberto Garcia  <berto@igalia.com>
1754
1755         Fix some compilation warnings
1756         https://bugs.webkit.org/show_bug.cgi?id=126635
1757
1758         Reviewed by Csaba Osztrogonác.
1759
1760         Remove code that is no longer being used.
1761
1762         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1763         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1764         * platform/gtk/PopupMenuGtk.cpp:
1765         * platform/gtk/RedirectedXCompositeWindow.h:
1766
1767 2014-01-08  Zan Dobersek  <zdobersek@igalia.com>
1768
1769         [Automake] Scripts for generated build targets do not necessarily produce their output
1770         https://bugs.webkit.org/show_bug.cgi?id=126378
1771
1772         Reviewed by Carlos Garcia Campos.
1773
1774         * GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
1775         assure the output is generated every time the script is invoked, most commonly due to unchanged
1776         * bindings/gobject/GNUmakefile.am: Simply move the gdom-gen-symbols file into the output file
1777         instead of copying it if the contents differ and removing it. This again ensures that the output
1778         file is always newer than its dependencies, even if the input hasn't changed.
1779
1780 2014-01-08  Frédéric Wang  <fred.wang@free.fr>
1781
1782         Remove invalid comments from mathtags.ing
1783         https://bugs.webkit.org/show_bug.cgi?id=126629
1784
1785         Reviewed by Chris Fleizach.
1786
1787         * mathml/mathtags.in:
1788
1789 2014-01-08  Andreas Kling  <akling@apple.com>
1790
1791         RenderMathMLRow::createAnonymousWithParentRenderer() should return RenderPtr.
1792         <https://webkit.org/b/126631>
1793
1794         Reviewed by Antti Koivisto.
1795
1796         * rendering/mathml/RenderMathMLRow.h:
1797         * rendering/mathml/RenderMathMLRow.cpp:
1798         (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
1799
1800             Tweak to return RenderPtr<RenderMathMLRow> and removed comment(!)
1801             about how this should return a smart pointer. Also take the
1802             parent renderer as a RenderMathMLRoot& instead of a RenderObject*
1803             since that's all we ever pass.
1804
1805         * rendering/mathml/RenderMathMLRoot.cpp:
1806         (WebCore::RenderMathMLRoot::addChild):
1807
1808             Updated for new createAnonymousWithParentRenderer() signature.
1809
1810 2014-01-08  Mario Sanchez Prada  <mario.prada@samsung.com>
1811
1812         AX: Make roleValue() return DescriptionListRole for <dl> elements
1813         https://bugs.webkit.org/show_bug.cgi?id=126579
1814
1815         Reviewed by Chris Fleizach.
1816
1817         Implement AccessibilityList::roleValue() so it will return
1818         ListRole or DescriptionListRole depending on the type of list.
1819
1820         No new tests needed, as no new functionality was added and ports
1821         should still be exposing the right role for <dl> elements
1822
1823         * accessibility/AccessibilityList.cpp:
1824         (WebCore::AccessibilityList::roleValue): Implemented.
1825         * accessibility/AccessibilityList.h:
1826
1827         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1828         (atkRole): Removed extra checks for objects with ListRole role.
1829
1830 2014-01-08  Andreas Kling  <akling@apple.com>
1831
1832         createMathMLOperator() should return RenderPtr.
1833         <https://webkit.org/b/126622>
1834
1835         Reviewed by Antti Koivisto.
1836
1837         * rendering/mathml/RenderMathMLFenced.h:
1838         * rendering/mathml/RenderMathMLFenced.cpp:
1839         (WebCore::RenderMathMLFenced::createMathMLOperator):
1840
1841             Make this return a RenderPtr<RenderMathMLOperator>.
1842
1843         (WebCore::RenderMathMLFenced::makeFences):
1844         (WebCore::RenderMathMLFenced::addChild):
1845
1846             Updated for the new createMathMLOperator() signature.
1847
1848 2014-01-07  Antti Koivisto  <antti@apple.com>
1849
1850         REGRESSION (r161195): Acid2 regression tests frequently fail
1851         https://bugs.webkit.org/show_bug.cgi?id=126432
1852
1853         Reviewed by Anders Carlsson.
1854         
1855         We would occasionally dump the render tree before the actual last resource on the page was loaded.
1856         The problematic resource is an image loaded by an <object> tag nested as fallback of another <object>.
1857
1858         * html/HTMLObjectElement.cpp:
1859         (WebCore::HTMLObjectElement::renderFallbackContent):
1860         
1861             Force style recalc when rendering fallback content. The current mechanism for triggering the fallback content load
1862             requires a style recalc.
1863
1864 2014-01-07  Andreas Kling  <akling@apple.com>
1865
1866         createAnonymousMathMLBlock() should return RenderPtr.
1867         <https://webkit.org/b/126583>
1868
1869         Reviewed by Antti Koivisto.
1870
1871         * rendering/mathml/RenderMathMLBlock.h:
1872         * rendering/mathml/RenderMathMLBlock.cpp:
1873         (WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
1874
1875             Make this return a RenderPtr<RenderMathMLBlock> and removed the
1876             EDisplay argument since it was always using the default (FLEX.)
1877
1878         * rendering/mathml/RenderMathMLFraction.cpp:
1879         (WebCore::RenderMathMLFraction::addChild):
1880
1881             Updated for the new createAnonymousMathMLBlock() signature.
1882
1883 2014-01-07  Eric Carlson  <eric.carlson@apple.com>
1884
1885         Teach MediaSessionManager to manage interruptions
1886         https://bugs.webkit.org/show_bug.cgi?id=126530
1887
1888         Reviewed by Sam Weinig.
1889
1890         Tests: media/video-interruption-active-when-element-created.html
1891                media/video-interruption-with-resume-allowing-play.html
1892                media/video-interruption-with-resume-not-allowing-play.html
1893
1894         * WebCore.exp.in: Export functions needed by Internals.
1895
1896         Add MediaSession and MediaSessionManager.
1897         * CMakeLists.txt:
1898         * GNUmakefile.list.am:
1899         * WebCore.vcxproj/WebCore.vcxproj:
1900         * WebCore.vcxproj/WebCore.vcxproj.filters:
1901         * WebCore.xcodeproj/project.pbxproj:
1902
1903         Automatically pause/play for interruptions. Move media restriction management to a MediaSession.
1904         * html/HTMLMediaElement.cpp:
1905         (WebCore::HTMLMediaElement::HTMLMediaElement): Get rid of m_loadInitiatedByUserGesture and m_userStartedPlayback,
1906             they aren't needed.
1907         (WebCore::HTMLMediaElement::load): Ditto.
1908         (WebCore::HTMLMediaElement::loadInternal): Use the media session to manage restrictions.
1909         (WebCore::HTMLMediaElement::play): Remove redundant iOS code. Postpone playback if called 
1910             during an interruption.
1911         (WebCore::HTMLMediaElement::pause): Remember to not resume playback when it ends if called during
1912             an interruption.
1913         (WebCore::HTMLMediaElement::potentiallyPlaying): Rearrange code to make it easier to understand.
1914         (WebCore::HTMLMediaElement::couldPlayIfEnoughData): Ditto.
1915         (WebCore::HTMLMediaElement::pausedForUserInteraction): Return true if paused because of an interruption.
1916         (WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Be explicit about
1917             which restrictions are removed.
1918         (WebCore::HTMLMediaElement::mediaType): MediaSessionManager::<Type> -> MediaSession::<Type>.
1919         (WebCore::HTMLMediaElement::beginInterruption): New.
1920         (WebCore::HTMLMediaElement::endInterruption): Ditto.
1921         * html/HTMLMediaElement.h:
1922
1923         Pulled MediaSessionManagerToken out of MediaSessionManager.cpp, added functionality to manage interruptions.
1924         * platform/audio/MediaSession.cpp: Added.
1925         (WebCore::MediaSession::create):
1926         (WebCore::MediaSession::MediaSession):
1927         (WebCore::MediaSession::~MediaSession):
1928         (WebCore::MediaSession::beginInterruption): Inform client of interruption state change.
1929         (WebCore::MediaSession::endInterruption): Ditto.
1930         * platform/audio/MediaSession.h: Added.
1931
1932         * platform/audio/MediaSessionManager.cpp:
1933         (WebCore::MediaSessionManager::MediaSessionManager): Initialize interruption counter.
1934         (WebCore::MediaSessionManager::has): MediaType is defined in MediaSession.
1935         (WebCore::MediaSessionManager::count): Ditto.
1936         (WebCore::MediaSessionManager::beginInterruption): Inform all clients of interruption start if
1937             not already in an interruption.
1938         (WebCore::MediaSessionManager::endInterruption): Inform all clients if interruption has ended.
1939         (WebCore::MediaSessionManager::addSession): Renamed from addToken. Set session interruption state.
1940         (WebCore::MediaSessionManager::removeSession): Renamed from removeToken.
1941         * platform/audio/MediaSessionManager.h:
1942
1943         * platform/audio/mac/AudioDestinationMac.cpp:
1944         (WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken -> MediaSession.
1945         * platform/audio/mac/AudioDestinationMac.h:
1946
1947         * platform/audio/mac/MediaSessionManagerMac.cpp:
1948         (MediaSessionManager::updateSessionState): Ditto.
1949
1950         Make it possible for tests to begin and end interruptions.
1951         * testing/Internals.cpp:
1952         (WebCore::Internals::beginMediaSessionInterruption):
1953         (WebCore::Internals::endMediaSessionInterruption):
1954         * testing/Internals.h:
1955         * testing/Internals.idl:
1956
1957 2014-01-07  Seokju Kwon  <seokju@webkit.org>
1958
1959         Web Inspector: Remove leftover 'device metrics' code
1960         https://bugs.webkit.org/show_bug.cgi?id=126607
1961
1962         Reviewed by Joseph Pecoraro.
1963
1964         No new tests, No changes in behavior.
1965
1966         Removes unused code related to 'device metrics'.
1967
1968         * css/MediaQueryEvaluator.cpp:
1969         (WebCore::device_heightMediaFeatureEval):
1970         (WebCore::device_widthMediaFeatureEval):
1971         * inspector/InspectorClient.h:
1972         * inspector/InspectorInstrumentation.cpp:
1973         * inspector/InspectorInstrumentation.h:
1974         * inspector/InspectorPageAgent.cpp:
1975         (WebCore::InspectorPageAgent::InspectorPageAgent):
1976         (WebCore::InspectorPageAgent::disable):
1977         (WebCore::InspectorPageAgent::didLayout):
1978         * inspector/InspectorPageAgent.h:
1979         * page/DOMWindow.cpp:
1980         (WebCore::DOMWindow::innerHeight):
1981         (WebCore::DOMWindow::innerWidth):
1982         * page/Screen.cpp:
1983         (WebCore::Screen::height):
1984         (WebCore::Screen::width):
1985         * rendering/TextAutosizer.cpp:
1986         (WebCore::TextAutosizer::processSubtree):
1987
1988 2014-01-02  Andy Estes  <aestes@apple.com>
1989
1990         [iOS] Upstream remainder of minimal-ui viewport changes
1991         https://bugs.webkit.org/show_bug.cgi?id=126410
1992
1993         Reviewed by Sam Weinig.
1994
1995         * dom/ViewportArguments.h:
1996
1997 2014-01-07  Victor Costan  <costan@gmail.com>
1998
1999         createElementNS handles element name 'xmlns' correctly.
2000         https://bugs.webkit.org/show_bug.cgi?id=126553
2001
2002         Reviewed by Alexey Proskuryakov.
2003
2004         Tests: fast/dom/createElementNS-namespace-errors.html
2005                fast/dom/setAttributeNS-namespace-errors.html
2006
2007         * dom/Document.cpp:
2008         (WebCore::Document::hasValidNamespaceForElements): updated to match DOM3/DOM4 spec.
2009         (WebCore::Document::hasValidNamespaceForAttributes): updated to match DOM3/DOM4 spec.
2010
2011 2014-01-07  Jer Noble  <jer.noble@apple.com>
2012
2013         PlatformLayer containing scrollbars does not disappear when setting overflow:hidden on page root, until resize.
2014         https://bugs.webkit.org/show_bug.cgi?id=116051
2015
2016         Reviewed by Simon Fraser.
2017
2018         Move the pre-existing call to addedOrRemovedScrollbar() outside of the else-statement
2019         in updateScrollbars() so that changes made in the if-statement cause the scrollbar
2020         layers to be updated. The scrollbarAddedOrRemoved local variable guarding access to
2021         addedOrRemovedScrollbar() is already being set (but never checked) inside the if-statement.
2022
2023         * platform/ScrollView.cpp:
2024         (WebCore::ScrollView::updateScrollbars):
2025
2026 2014-01-06  Jer Noble  <jer.noble@apple.com>
2027
2028         HTML5 video tag Does Not Load in Apache htaccess/htpasswd Protected Directory
2029         https://bugs.webkit.org/show_bug.cgi?id=40382
2030
2031         Reviewed by Eric Carlson.
2032
2033         Test: http/tests/media/video-auth.html
2034
2035         Adopt a new AVFoundation API to handle authentication challenge generated while loading
2036         media through an AVAsset. The authentication request comes through as a
2037         NSURLAuthenticationChallenge, and is wrapped in a WebCore::AuthenticationChallenge
2038         by MediaPlayerPrivateAVFoundationObjC, and is sent up to the HTMLMediaElement to handle.
2039         The HTMLMediaElement creates a ResourceRequest, and passes the challenge up to the
2040         ResourceLoadNotifier.
2041
2042         To allow the HTMLMediaElement to initiate handling an AuthenticationChallenge without
2043         actually creating a ResourceLoader, allow ResourceLoaderDelegate to accept a unique
2044         identifier and a DocumentLoader in lieu of a ResourceLoader.
2045
2046         * html/HTMLMediaElement.cpp:
2047         (WebCore::HTMLMediaElement::parseAttribute):
2048         * html/HTMLMediaElement.h:
2049         * loader/ResourceLoadNotifier.cpp:
2050         (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
2051         (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
2052         * loader/ResourceLoadNotifier.h:
2053         * platform/graphics/MediaPlayer.cpp:
2054         (WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
2055         * platform/graphics/MediaPlayer.h:
2056         (WebCore::MediaPlayerClient::mediaPlayerShouldWaitForResponseToAuthenticationChallenge):
2057         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2058         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2059         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):
2060         (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
2061
2062 2014-01-07  Commit Queue  <commit-queue@webkit.org>
2063
2064         Unreviewed, rolling out r161447.
2065         http://trac.webkit.org/changeset/161447
2066         https://bugs.webkit.org/show_bug.cgi?id=126592
2067
2068         needs some more work (Requested by thorton on #webkit).
2069
2070         * WebCore.exp.in:
2071         * page/FrameView.cpp:
2072         (WebCore::FrameView::FrameView):
2073         * page/FrameView.h:
2074         * platform/graphics/GraphicsLayerClient.h:
2075         * platform/graphics/TiledBacking.h:
2076         * platform/graphics/ca/GraphicsLayerCA.h:
2077         * platform/graphics/ca/PlatformCALayerClient.h:
2078         * platform/graphics/ca/mac/TileController.h:
2079         * platform/graphics/ca/mac/TileController.mm:
2080         (WebCore::TileController::TileController):
2081         (WebCore::TileController::tilesWouldChangeForVisibleRect):
2082         (WebCore::TileController::setExposedRect):
2083         (WebCore::TileController::setClipsToExposedRect):
2084         (WebCore::TileController::computeTileCoverageRect):
2085         (WebCore::TileController::revalidateTiles):
2086         (WebCore::TileController::updateTileCoverageMap):
2087         * rendering/RenderLayerBacking.cpp:
2088         (WebCore::computeTileCoverage):
2089         * rendering/RenderLayerBacking.h:
2090
2091 2014-01-07  Tim Horton  <timothy_horton@apple.com>
2092
2093         TileController can fail to receive exposedRect from the drawing area if set at the wrong time
2094         https://bugs.webkit.org/show_bug.cgi?id=126536
2095
2096         Reviewed by Anders Carlsson.
2097
2098         Move exposedRect to FrameView so it can be pushed in from WebKit before we have
2099         a TiledBacking, and can be retrieved by the TiledBacking when it needs to.
2100
2101         * WebCore.exp.in:
2102         Export some things.
2103
2104         * page/FrameView.cpp:
2105         (WebCore::FrameView::FrameView):
2106         (WebCore::FrameView::setExposedRect):
2107         * page/FrameView.h:
2108         Store the exposed rect on FrameView. When it changes, if the main frame
2109         has a TiledBacking, inform it of the change.
2110
2111         * platform/graphics/GraphicsLayerClient.h:
2112         (WebCore::GraphicsLayerClient::exposedRect):
2113         * platform/graphics/TiledBacking.h:
2114         * platform/graphics/ca/GraphicsLayerCA.h:
2115         * platform/graphics/ca/PlatformCALayerClient.h:
2116         Plumbing so that TileController can retrieve the exposedRect from FrameView.
2117
2118         * platform/graphics/ca/mac/TileController.h:
2119         * platform/graphics/ca/mac/TileController.mm:
2120         (WebCore::TileController::TileController):
2121         (WebCore::TileController::platformCALayerExposedRect):
2122         (WebCore::TileController::tilesWouldChangeForVisibleRect):
2123         (WebCore::TileController::exposedRectDidChange):
2124         (WebCore::TileController::computeTileCoverageRect):
2125         (WebCore::TileController::revalidateTiles):
2126         (WebCore::TileController::updateTileCoverageMap):
2127         Don't store the exposed rect or clipsToExposedRect on TileController.
2128         Instead, retrieve it from our client.
2129         Make use of the fact that we can test if a rect is infinite
2130         instead of having a separate boolean property for that.
2131
2132         * rendering/RenderLayerBacking.cpp:
2133         (WebCore::computeTileCoverage):
2134         (WebCore::RenderLayerBacking::exposedRect):
2135         Hand the FrameView's exposedRect back to our GraphicsLayer.
2136         We only support clipping for the main frame TileController for now.
2137
2138         * rendering/RenderLayerBacking.h:
2139
2140 2014-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
2141
2142         REGRESSION(r161381): [GTK] Rendering is broken in GTK after r161381
2143         https://bugs.webkit.org/show_bug.cgi?id=126570
2144
2145         Reviewed by Tim Horton.
2146
2147         Use LayoutRect::infiniteRect() instead of IntRect::infiniteRect()
2148         when a LayoutRect is expected.
2149
2150         * rendering/RenderFlowThread.cpp:
2151         (WebCore::RenderFlowThread::fragmentsBoundingBox):
2152         * rendering/RenderLayer.cpp:
2153         (WebCore::RenderLayer::collectFragments):
2154         (WebCore::RenderLayer::calculateClipRects):
2155         * rendering/RenderLayerBacking.cpp:
2156         (WebCore::clipBox):
2157         * rendering/RenderLayerCompositor.cpp:
2158         (WebCore::RenderLayerCompositor::clippedByAncestor):
2159
2160 2014-01-07  Bear Travis  <betravis@adobe.com>
2161
2162         [CSS Shapes] Change default value from 'auto' to 'none'
2163         https://bugs.webkit.org/show_bug.cgi?id=126544
2164
2165         Reviewed by Sam Weinig.
2166
2167         Update the CSS infrastructure to accept 'none' as the default value
2168         for shape-inside and shape-outside.
2169
2170         Updated existing parsing tests.
2171
2172         * css/CSSComputedStyleDeclaration.cpp:
2173         (WebCore::ComputedStyleExtractor::propertyValue):
2174         * css/CSSParser.cpp:
2175         (WebCore::CSSParser::parseShapeProperty):
2176         * rendering/style/ShapeValue.h:
2177
2178 2014-01-07  Hans Muller  <hmuller@adobe.com>
2179
2180         [CSS Shapes] shape-outside layout incorrect when line spans rounded box rounded corners
2181         https://bugs.webkit.org/show_bug.cgi?id=126528
2182
2183         Reviewed by Andreas Kling.
2184
2185         BoxShape::getExcludedIntervals() now checks for the special case where the line spans the
2186         top and bottom rounded corners - which implies that the excluded interval is the box's
2187         horizontal extent.
2188
2189         Test: fast/shapes/shape-outside-floats/shape-outside-line-spans-box-corners.html
2190
2191         * rendering/shapes/BoxShape.cpp:
2192         (WebCore::BoxShape::getExcludedIntervals):
2193
2194 2014-01-07  Alexey Proskuryakov  <ap@apple.com>
2195
2196         Debug biuld fix.
2197
2198         Replace actionTag with mactionTag in assertions.
2199
2200         * mathml/MathMLSelectElement.cpp:
2201         (WebCore::MathMLSelectElement::getSelectedActionChildAndIndex):
2202         (WebCore::MathMLSelectElement::getSelectedActionChild):
2203
2204 2014-01-07  Frédéric Wang  <fred.wang@free.fr>
2205
2206         Add Support for the semantics element.
2207         https://bugs.webkit.org/show_bug.cgi?id=100626
2208
2209         Reviewed by Chris Fleizach.
2210
2211         Tests: mathml/presentation/semantics-2.html
2212                mathml/presentation/semantics-3.html
2213                mathml/presentation/semantics-4.html
2214
2215         This provides a complete support for the semantics element. When the first child is a content MathML, an annotation can be selected and displayed. The selection algorithm is identical to Gecko's one. The recognized annotations are text (e.g. LaTeX), presentation MathML, SVG and HTML.
2216
2217         * mathml/MathMLElement.cpp:
2218         (WebCore::MathMLElement::childShouldCreateRenderer):
2219         (WebCore::MathMLElement::attributeChanged):
2220         (WebCore::MathMLElement::isPresentationMathML):
2221         * mathml/MathMLElement.h:
2222         (WebCore::MathMLElement::isMathMLToken):
2223         (WebCore::MathMLElement::isSemanticAnnotation):
2224         (WebCore::MathMLElement::isPresentationMathML):
2225         (WebCore::MathMLElement::updateSelectedChild):
2226         * mathml/MathMLInlineContainerElement.h:
2227         * mathml/MathMLSelectElement.cpp:
2228         (WebCore::MathMLSelectElement::getSelectedActionChildAndIndex):
2229         (WebCore::MathMLSelectElement::getSelectedActionChild):
2230         (WebCore::MathMLSelectElement::getSelectedSemanticsChild):
2231         (WebCore::MathMLSelectElement::updateSelectedChild):
2232         (WebCore::MathMLSelectElement::toggle):
2233         * mathml/MathMLSelectElement.h:
2234         * mathml/MathMLTextElement.h:
2235         * mathml/mathattrs.in:
2236         * mathml/mathtags.in:
2237
2238 2014-01-07  Pascal Jacquemart  <p.jacquemart@samsung.com>
2239
2240         Fix compilation issue with GLES2 after http://webkit.org/b/126548
2241         https://bugs.webkit.org/show_bug.cgi?id=126578
2242
2243         Reviewed by  Brent Fulgham
2244
2245         * platform/graphics/opengl/TemporaryOpenGLSetting.cpp: added GLES2/gl2.h include
2246
2247 2014-01-07  László Langó  <llango.u-szeged@partner.samsung.com>
2248
2249         Remove some extra includes from XML.
2250         https://bugs.webkit.org/show_bug.cgi?id=126572
2251
2252         Reviewed by Anders Carlsson.
2253
2254         No new tests, no functionality changed.
2255
2256         * xml/XMLHttpRequest.cpp:
2257         * xml/XMLHttpRequestUpload.cpp:
2258         * xml/XMLHttpRequestUpload.h:
2259         * xml/XPathEvaluator.cpp:
2260         * xml/XPathExpression.cpp:
2261         * xml/XPathExpressionNode.cpp:
2262         * xml/XPathFunctions.cpp:
2263         * xml/XPathNodeSet.cpp:
2264         * xml/XPathParser.cpp:
2265         * xml/XPathPath.cpp:
2266         * xml/XPathPredicate.cpp:
2267         * xml/XPathPredicate.h:
2268         * xml/XPathResult.cpp:
2269         * xml/XPathValue.cpp:
2270         * xml/XPathVariableReference.cpp:
2271         * xml/XSLImportRule.cpp:
2272         * xml/XSLStyleSheetLibxslt.cpp:
2273         * xml/XSLTProcessorLibxslt.cpp:
2274         * xml/parser/XMLDocumentParser.cpp:
2275         * xml/parser/XMLDocumentParserLibxml2.cpp:
2276
2277 2014-01-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2278
2279         Add toHTMLTableSectionElement() functions, and use it
2280         https://bugs.webkit.org/show_bug.cgi?id=126418
2281
2282         Reviewed by Andreas Kling.
2283
2284         HTMLTableSectionElement covers tbody, tfoot, and thead tags. So, we can't
2285         generate isHTMLTableSectionElement() by using template. This patch add
2286         toHTMLTableSectionElement() manually in order to cleanup static_cast<>.
2287
2288         No new tests, no behavior change.
2289
2290         * html/HTMLTableElement.cpp:
2291         (WebCore::HTMLTableElement::tHead):
2292         (WebCore::HTMLTableElement::tFoot):
2293         (WebCore::HTMLTableElement::lastBody):
2294         * html/HTMLTableRowElement.cpp:
2295         (WebCore::HTMLTableRowElement::rowIndex):
2296         * html/HTMLTableSectionElement.h:
2297         * html/HTMLTagNames.in:
2298
2299 2014-01-07  László Langó  <llango.u-szeged@partner.samsung.com>
2300
2301         Remove some extra includes from SVG.
2302         https://bugs.webkit.org/show_bug.cgi?id=126565
2303
2304         Reviewed by Dirk Schulze.
2305
2306         No new tests, no functionality changed.
2307
2308         * rendering/svg/RenderSVGBlock.cpp:
2309         * rendering/svg/RenderSVGContainer.cpp:
2310         * rendering/svg/RenderSVGEllipse.cpp:
2311         * rendering/svg/RenderSVGEllipse.h:
2312         * rendering/svg/RenderSVGHiddenContainer.cpp:
2313         * rendering/svg/RenderSVGImage.cpp:
2314         * rendering/svg/RenderSVGImage.h:
2315         * rendering/svg/RenderSVGInlineText.cpp:
2316         * rendering/svg/RenderSVGModelObject.cpp:
2317         * rendering/svg/RenderSVGPath.cpp:
2318         * rendering/svg/RenderSVGRect.cpp:
2319         * rendering/svg/RenderSVGResource.cpp:
2320         * rendering/svg/RenderSVGResourceClipper.cpp:
2321         * rendering/svg/RenderSVGResourceClipper.h:
2322         * rendering/svg/RenderSVGResourceContainer.cpp:
2323         * rendering/svg/RenderSVGResourceFilter.cpp:
2324         * rendering/svg/RenderSVGResourceFilter.h:
2325         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
2326         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
2327         * rendering/svg/RenderSVGResourceGradient.cpp:
2328         * rendering/svg/RenderSVGResourceGradient.h:
2329         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
2330         * rendering/svg/RenderSVGResourceMarker.cpp:
2331         * rendering/svg/RenderSVGResourceMarker.h:
2332         * rendering/svg/RenderSVGResourceMasker.cpp:
2333         * rendering/svg/RenderSVGResourceMasker.h:
2334         * rendering/svg/RenderSVGResourcePattern.cpp:
2335         * rendering/svg/RenderSVGResourcePattern.h:
2336         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
2337         * rendering/svg/RenderSVGResourceSolidColor.cpp:
2338         * rendering/svg/RenderSVGResourceSolidColor.h:
2339         * rendering/svg/RenderSVGRoot.cpp:
2340         * rendering/svg/RenderSVGShape.cpp:
2341         * rendering/svg/RenderSVGText.cpp:
2342         * rendering/svg/RenderSVGTransformableContainer.cpp:
2343         * rendering/svg/SVGInlineFlowBox.cpp:
2344         * rendering/svg/SVGInlineTextBox.cpp:
2345         * rendering/svg/SVGRenderSupport.cpp:
2346         * rendering/svg/SVGRenderTreeAsText.cpp:
2347         * rendering/svg/SVGRenderingContext.cpp:
2348         * rendering/svg/SVGResources.cpp:
2349         * rendering/svg/SVGResourcesCache.cpp:
2350         * rendering/svg/SVGResourcesCycleSolver.cpp:
2351         * rendering/svg/SVGRootInlineBox.cpp:
2352         * rendering/svg/SVGTextChunk.cpp:
2353         * rendering/svg/SVGTextChunkBuilder.cpp:
2354         * rendering/svg/SVGTextLayoutAttributes.h:
2355         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
2356         * rendering/svg/SVGTextLayoutEngine.cpp:
2357         * rendering/svg/SVGTextLayoutEngine.h:
2358         * rendering/svg/SVGTextMetricsBuilder.h:
2359         * rendering/svg/SVGTextQuery.cpp:
2360         * rendering/svg/SVGTextRunRenderingContext.cpp:
2361
2362 2014-01-07  Krzysztof Czech  <k.czech@samsung.com>
2363
2364         [ATK] Expose aria-checked mixed state as ATK_STATE_INDETERMINATE
2365         https://bugs.webkit.org/show_bug.cgi?id=125855
2366
2367         Reviewed by Mario Sanchez Prada.
2368
2369         Test: accessibility/aria-checked-mixed-value.html
2370
2371         Expose ATK_STATE_INDETERMINATE to support aria-checked mixed state
2372         for radio and checkbox types.
2373
2374         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2375         (setAtkStateSetFromCoreObject):
2376
2377 2014-01-07  Mark Rowe  <mrowe@apple.com>
2378
2379         <https://webkit.org/b/126562> DOMProgressEvent has unspecified availability
2380
2381         Reviewed by Ryosuke Niwa.
2382
2383         * bindings/objc/PublicDOMInterfaces.h: Add DOMProgressEvent. It first appeared in 10.6.
2384
2385 2014-01-07  Mark Rowe  <mrowe@apple.com>
2386
2387         Another Mountain Lion build fix.
2388
2389         The Mountain Lion version of NS_DEPRECATED_MAC generates a reference to a nonexistent
2390         availability macro when the introduced and deprecated versions are the same. Follow
2391         AppKit's lead in working around this by defining the macros that will be referenced
2392         for the various possible OS version numbers. This isn't an issue on newer versions of
2393         OS X as the Foundation availability macros expand directly in to __attributes__ rather
2394         than in to the legacy availability maros.
2395
2396         * bindings/objc/WebKitAvailability.h:
2397
2398 2014-01-06  Mark Rowe  <mrowe@apple.com>
2399
2400         Mountain Lion build fix.
2401
2402         * bindings/objc/WebKitAvailability.h: #define __AVAILABILITY_INTERNAL__MAC_TBD so that
2403         the TBD version works on Mountain Lion. Newer OS versions use a slightly different set
2404         of macros that already support this version. Add a missing #include so that defintions
2405         of the Foundation availability macros can be found even if no other Foundation headers
2406         were included first.
2407
2408 2014-01-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2409
2410         Unreviewed, rolling out r161401.
2411         http://trac.webkit.org/changeset/161401
2412         https://bugs.webkit.org/show_bug.cgi?id=126418
2413
2414         REGRESSION(r161401): Break layout test on mac-wk1(Debug)
2415
2416         * html/HTMLTableElement.cpp:
2417         (WebCore::HTMLTableElement::tHead):
2418         (WebCore::HTMLTableElement::tFoot):
2419         (WebCore::HTMLTableElement::lastBody):
2420         * html/HTMLTableRowElement.cpp:
2421         (WebCore::HTMLTableRowElement::rowIndex):
2422         * html/HTMLTableSectionElement.h:
2423
2424 2014-01-05  Mark Rowe  <mrowe@apple.com>
2425
2426         <https://webkit.org/b/126500> Move Objective-C DOM bindings off the legacy WebKit availability macros
2427
2428         The legacy WebKit availability macros are verbose, confusing, and provide no benefit
2429         over using the system availability macros directly. The original vision was that
2430         they'd serve a cross-platform purpose but that never came to be.
2431
2432         The OS X version used in the new availability macros is based on the mapping in
2433         JavaScriptCore/WebKitAvailability.h.
2434
2435         Part of <rdar://problem/15512304>.
2436
2437         Reviewed by Sam Weinig.
2438
2439         * bindings/objc/DOMCSS.h:
2440         * bindings/objc/DOMEventException.h:
2441         * bindings/objc/DOMException.h:
2442         * bindings/objc/DOMExtensions.h:
2443         * bindings/objc/DOMObject.h:
2444         * bindings/objc/DOMRangeException.h:
2445         * bindings/objc/DOMXPathException.h:
2446         * bindings/objc/PublicDOMInterfaces.h:
2447         * bindings/objc/WebScriptObject.h:
2448         * bindings/scripts/CodeGeneratorObjC.pm:
2449         (ReadPublicInterfaces):
2450         (GenerateHeader): Tag enums with WK_ENUM_AVAILABLE_MAC and classes with WEBKIT_CLASS_AVAILABLE_MAC.
2451         Remove the #ifs that we were previously generating now that enums are appropriately tagged.
2452         * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
2453         * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
2454         * bindings/scripts/test/ObjC/DOMTestCallback.h:
2455         * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
2456         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
2457         * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
2458         * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
2459         * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
2460         * bindings/scripts/test/ObjC/DOMTestEventTarget.h:
2461         * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
2462         * bindings/scripts/test/ObjC/DOMTestException.h:
2463         * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
2464         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
2465         * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h:
2466         * bindings/scripts/test/ObjC/DOMTestInterface.h:
2467         * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
2468         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
2469         * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
2470         * bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
2471         * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
2472         * bindings/scripts/test/ObjC/DOMTestNode.h:
2473         * bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
2474         * bindings/scripts/test/ObjC/DOMTestObj.h:
2475         * bindings/scripts/test/ObjC/DOMTestObjInternal.h:
2476         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
2477         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
2478         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
2479         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
2480         * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
2481         * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
2482         * bindings/scripts/test/ObjC/DOMattribute.h:
2483         * bindings/scripts/test/ObjC/DOMattributeInternal.h:
2484         * bindings/scripts/test/ObjC/DOMreadonly.h:
2485         * bindings/scripts/test/ObjC/DOMreadonlyInternal.h:
2486
2487 2014-01-06  Ryosuke Niwa  <rniwa@webkit.org>
2488
2489         REGRESSION(r157851): trailing space inside an editable region could be erroneously collapsed
2490         https://bugs.webkit.org/show_bug.cgi?id=126549
2491
2492         Reviewed by Sam Weinig.
2493
2494         The regression was caused by erroneous use of m_currentCharacterIsSpace in place of m_currentCharacterIsWS.
2495
2496         See the following two lines before the refactoring:
2497         http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3074
2498         http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3198
2499
2500         I've also cross-checked other places where m_currentCharacterIsSpace and m_currentCharacterIsWS are used.
2501
2502         Test: editing/inserting/inserting-trailing-space-and-letter.html
2503
2504         * rendering/line/BreakingContextInlineHeaders.h:
2505         (WebCore::BreakingContext::handleText):
2506
2507 2014-01-06  Seokju Kwon  <seokju@webkit.org>
2508
2509         Web Inspector: Remove canOverrideDeviceMetrics and setDeviceMetricsOverride from protocol
2510         https://bugs.webkit.org/show_bug.cgi?id=126149
2511
2512         Reviewed by Joseph Pecoraro.
2513
2514         No new tests, No changes in behavior.
2515
2516         These are not used anywhere in WebInspectorUI.
2517         So, it removes unused Protocols and APIs.
2518
2519         * inspector/InspectorClient.h:
2520         * inspector/InspectorPageAgent.cpp:
2521         (WebCore::InspectorPageAgent::InspectorPageAgent):
2522         (WebCore::InspectorPageAgent::disable):
2523         * inspector/InspectorPageAgent.h:
2524         * inspector/protocol/Page.json:
2525
2526 2014-01-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2527
2528         Add toHTMLTableSectionElement() functions, and use it
2529         https://bugs.webkit.org/show_bug.cgi?id=126418
2530
2531         Reviewed by Anders Carlsson.
2532
2533         HTMLTableSectionElement covers tbody, tfoot, and thead tags. So, we can't
2534         generate isHTMLTableSectionElement() by using template. This patch add
2535         toHTMLTableSectionElement() manually in order to cleanup static_cast<>.
2536
2537         No new tests, no behavior change.
2538
2539         * html/HTMLTableElement.cpp:
2540         (WebCore::HTMLTableElement::tHead):
2541         (WebCore::HTMLTableElement::tFoot):
2542         (WebCore::HTMLTableElement::lastBody):
2543         * html/HTMLTableRowElement.cpp:
2544         (WebCore::HTMLTableRowElement::rowIndex):
2545         * html/HTMLTableSectionElement.h:
2546         * html/HTMLTagNames.in:
2547
2548 2014-01-06  Mark Rowe  <mrowe@apple.com>
2549
2550         <https://webkit.org/b/126559> Be more correct in dealing with NSControlSize
2551
2552         Reviewed by Ryosuke Niwa.
2553
2554         * platform/mac/ScrollbarThemeMac.mm:
2555         (WebCore::scrollbarControlSizeToNSControlSize): Helper function to map from ScrollbarControlSize
2556         to NSControlSize.
2557         (WebCore::ScrollbarThemeMac::registerScrollbar): Use the helper rather than casting.
2558         (WebCore::ScrollbarThemeMac::scrollbarThickness): Use the helper.
2559         * rendering/RenderThemeMac.mm:
2560         (WebCore::RenderThemeMac::progressBarRectForBounds): Update the type of the local to NSControlSize.
2561         (WebCore::RenderThemeMac::paintProgressBar): Ditto.
2562
2563 2014-01-06  Brent Fulgham  <bfulgham@apple.com>
2564
2565         [WebGL] Be safer about toggling OpenGL state by using a scoped object to control setting lifetime.
2566         https://bugs.webkit.org/show_bug.cgi?id=126548
2567
2568         Reviewed by Anders Carlsson.
2569
2570         No new tests since there is no change in behavior.
2571
2572         * GNUmakefile.list.am: Updated to build new TemporaryOpenGLSetting files.
2573         * PlatformBlackBerry.cmake: Ditto
2574         * PlatformEfl.cmake: Ditto
2575         * PlatformGTK.cmake: Ditto
2576         * PlatformNix.cmake: Ditto
2577         * WebCore.vcxproj/WebCore.vcxproj: Ditto
2578         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
2579         * WebCore.xcodeproj/project.pbxproj: Ditto
2580         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2581         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Use new object.
2582         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2583         (WebCore::GraphicsContext3D::prepareTexture): Ditto
2584         (WebCore::GraphicsContext3D::reshape): Ditto
2585         * platform/graphics/opengl/TemporaryOpenGLSetting.cpp: Added.
2586         (WebCore::TemporaryOpenGLSetting::TemporaryOpenGLSetting):
2587         (WebCore::TemporaryOpenGLSetting::~TemporaryOpenGLSetting):
2588         * platform/graphics/opengl/TemporaryOpenGLSetting.h: Added.
2589
2590 2014-01-06  Simon Fraser  <simon.fraser@apple.com>
2591
2592         Hook up the RemoteScrollingCoordinator
2593         https://bugs.webkit.org/show_bug.cgi?id=126547
2594
2595         Reviewed by Tim Horton.
2596
2597         Export lots of scrolling-related symbols for use by WebKit2.
2598
2599         * WebCore.exp.in:
2600
2601 2014-01-06  Seokju Kwon  <seokju@webkit.org>
2602
2603         Web Inspector: Remove support for FileSystem in Frontend.
2604         https://bugs.webkit.org/show_bug.cgi?id=126369
2605
2606         Reviewed by Joseph Pecoraro.
2607
2608         No new tests, No change in behavior.
2609
2610         Remove leftover codes from protocol after r156692.
2611
2612         * CMakeLists.txt:
2613         * DerivedSources.make:
2614         * GNUmakefile.am:
2615         * inspector/InspectorFrontendClient.h:
2616         * inspector/InspectorFrontendClientLocal.h:
2617         * inspector/InspectorFrontendHost.cpp:
2618         * inspector/InspectorFrontendHost.h:
2619         * inspector/InspectorFrontendHost.idl:
2620         * inspector/protocol/FileSystem.json: Removed.
2621
2622 2014-01-06  Zoltan Horvath  <zoltan@webkit.org>
2623
2624         [CSS Regions][CSS Shapes] ASSERTION FAILED: m_segmentRanges.size() < m_segments.size()
2625         https://bugs.webkit.org/show_bug.cgi?id=125770
2626
2627         Reviewed by Bem Jones-Bey.
2628
2629         When we have an e.g. up-side-down triangle, when the content doesn't fit in the bottom part of the shape,
2630         and the adjusted content flows into the next region with a shape, we need to update the actual shape
2631         and region. Since it wasn't updated, it led to a shape mismatch, which led to assert/layout error.
2632
2633         Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment.html
2634
2635         * rendering/RenderBlockLineLayout.cpp:
2636         (WebiCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread): Update current shape
2637         and region, when adjustment occured.
2638
2639 2014-01-06  Seokju Kwon  <seokju@webkit.org>
2640
2641         Web Inspector: Get rid of Inspector/BindingVisitors.h
2642         https://bugs.webkit.org/show_bug.cgi?id=126374
2643
2644         Reviewed by Joseph Pecoraro.
2645
2646         No new tests, No change in behavior.
2647
2648         In r161204, methods related to BindingVisitors was removed.
2649
2650         * GNUmakefile.list.am:
2651         * WebCore.vcxproj/WebCore.vcxproj:
2652         * WebCore.vcxproj/WebCore.vcxproj.filters:
2653         * WebCore.xcodeproj/project.pbxproj:
2654         * bindings/js/ScriptProfiler.h:
2655         * inspector/BindingVisitors.h: Removed.
2656         * inspector/InspectorCanvasAgent.cpp:
2657         * inspector/InspectorMemoryAgent.cpp:
2658
2659 2014-01-06  Tim Horton  <timothy_horton@apple.com>
2660
2661         Add {IntRect, FloatRect}::infiniteRect() and ::isInfinite()
2662         https://bugs.webkit.org/show_bug.cgi?id=126537
2663
2664         Reviewed by Simon Fraser.
2665
2666         * platform/graphics/FloatRect.h:
2667         (WebCore::FloatRect::infiniteRect):
2668         (WebCore::FloatRect::isInfinite):
2669         * platform/graphics/IntRect.h:
2670         (WebCore::IntRect::infiniteRect):
2671         (WebCore::IntRect::isInfinite):
2672         Add infiniteRect() and isInfinite() to FloatRect and IntRect.
2673
2674         * platform/graphics/ca/GraphicsLayerCA.cpp:
2675         (WebCore::GraphicsLayerCA::setNeedsDisplay):
2676         * rendering/PaintInfo.h:
2677         (WebCore::PaintInfo::applyTransform):
2678         * rendering/RenderFlowThread.cpp:
2679         (WebCore::RenderFlowThread::fragmentsBoundingBox):
2680         * rendering/RenderLayer.cpp:
2681         (WebCore::RenderLayer::collectFragments):
2682         (WebCore::RenderLayer::calculateClipRects):
2683         * rendering/RenderLayerBacking.cpp:
2684         (WebCore::clipBox):
2685         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2686         * rendering/RenderLayerCompositor.cpp:
2687         (WebCore::RenderLayerCompositor::clippedByAncestor):
2688         * rendering/svg/SVGRenderingContext.cpp:
2689         (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
2690         Adopt the new functions.
2691
2692 2014-01-06  Seokju Kwon  <seokju@webkit.org>
2693
2694         Web Inspector: Get rid of DOM.setFileInputFiles from Protocol
2695         https://bugs.webkit.org/show_bug.cgi?id=126312
2696
2697         Reviewed by Joseph Pecoraro.
2698
2699         No new tests, No changes in behavior.
2700
2701         It is a dead code as all ports in WebKit don't support it.
2702         And this patch removes all things related to DOM.setFileInputFiles in Frontend.
2703
2704         * inspector/InspectorClient.h:
2705         * inspector/InspectorController.cpp:
2706         (WebCore::InspectorController::InspectorController):
2707         * inspector/InspectorDOMAgent.cpp:
2708         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2709         * inspector/InspectorDOMAgent.h:
2710         (WebCore::InspectorDOMAgent::create):
2711         * inspector/protocol/DOM.json:
2712
2713 2014-01-06  Brent Fulgham  <bfulgham@apple.com>
2714
2715         [WebGL] Revise String Concatenation (Follow-up to r161247)
2716         https://bugs.webkit.org/show_bug.cgi?id=126411
2717
2718         Reviewed by Dean Jackson.
2719
2720         * html/canvas/WebGLRenderingContext.cpp:
2721         (WebCore::WebGLRenderingContext::getUniformLocation): Use more efficient string
2722         concatenation per Darin Adler's suggestion.
2723
2724 2014-01-06  Brent Fulgham  <bfulgham@apple.com>
2725
2726         [WebGL] FBO Depth Buffer Attachment Function Improperly Clearing with 0
2727         https://bugs.webkit.org/show_bug.cgi?id=126538
2728         <rdar://problem/15201336>
2729
2730         Reviewed by Dean Jackson.
2731
2732         Tested by webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html
2733
2734         * html/canvas/WebGLFramebuffer.cpp:
2735         (WebCore::WebGLFramebuffer::initializeAttachments): Clear depth buffer with 1.0f (rather than 0), to match expected
2736         default (clear) buffer state for OpenGL. Using 0 would require us to flip the clear mask for the depth attachment
2737         type.
2738
2739 2014-01-06  Simon Fraser  <simon.fraser@apple.com>
2740
2741         Add new files for UI-side scrolling
2742         https://bugs.webkit.org/show_bug.cgi?id=126532
2743
2744         Reviewed by Anders Carlson.
2745
2746         * WebCore.xcodeproj/project.pbxproj: Make lots of scrolling-related headers Private
2747         so WebKit2 can include them.
2748         * page/scrolling/ScrollingCoordinator.cpp:
2749         (WebCore::ScrollingCoordinator::scheduleUpdateScrollPositionForNode): Callback that
2750         indicates that the given node has been scrolled asynchronously. Currently only
2751         handles the main frame.
2752         * page/scrolling/ScrollingCoordinator.h: Add support for type-casts of a remote subclass
2753         in another namespace.
2754         (WebCore::ScrollingCoordinator::isRemoteScrollingCoordinator):
2755         * page/scrolling/ScrollingTree.h:
2756         (WebCore::ScrollingTree::isRemoteScrollingTree):
2757
2758 2014-01-06  Gavin Barraclough  <barraclough@apple.com>
2759
2760         Move ViewState to WebCore
2761         https://bugs.webkit.org/show_bug.cgi?id=126488
2762
2763         Reviewed by Anders Carlson.
2764
2765         This change also partial reverts handling of LayerHostingMode, making this
2766         a separate message again. With hindsight the new way of doing this wasn't
2767         in all ways simpler, and it won't make sense to move this to WebCore.
2768
2769         * WebCore.xcodeproj/project.pbxproj:
2770         * page/ViewState.h: Added.
2771             - Moved from WebKit2, will be used by Page & FocusController.
2772
2773 2014-01-06  Martin Robinson  <mrobinson@igalia.com>
2774
2775         [CMake] [GTK] Fix the build for the WebKitGTK+ developer configuration
2776         https://bugs.webkit.org/show_bug.cgi?id=126505
2777
2778         Reviewed by Gustavo Noronha Silva.
2779
2780         * CMakeLists.txt: Add missing IDLS and source files to the lists.
2781         * PlatformGTK.cmake: Add missing include directories and source files to the lists.
2782         Use the GeoClue, GUdev, and gio-unix include paths and libraries and sort the list
2783         of WebCore include directories.
2784         * UseJSC.cmake: Align the sourced list with the contents of the bindings/js directory.
2785
2786 2014-01-06  Gavin Barraclough  <barraclough@apple.com>
2787
2788         Refactor NSActivity handling code from ChildProcess to UserActivity
2789         https://bugs.webkit.org/show_bug.cgi?id=126330
2790
2791         Unreviewed speculative Windows build fix.
2792
2793         * WebCore.vcxproj/WebCore.vcxproj:
2794             - Added UserActivity.cpp/.h.
2795
2796 2014-01-06  peavo@outlook.com  <peavo@outlook.com>
2797
2798         [Win] Link error.
2799         https://bugs.webkit.org/show_bug.cgi?id=126526
2800
2801         Reviewed by Brent Fulgham.
2802
2803         * WebCore.vcxproj/WebCore.vcxproj: Include UserActivity files in build.
2804         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2805
2806 2014-01-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2807
2808         [Nix] Adding screenRect implementation to PlatformScreenNix
2809         https://bugs.webkit.org/show_bug.cgi?id=126231
2810
2811         Reviewed by Csaba Osztrogonác.
2812
2813         No new tests needed.
2814
2815         * platform/nix/PlatformScreenNix.cpp:
2816         (WebCore::screenRect):
2817
2818 2014-01-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2819
2820         [Nix] Adding missing platform #ifs to WebCore files
2821         https://bugs.webkit.org/show_bug.cgi?id=126227
2822
2823         Reviewed by Csaba Osztrogonác.
2824
2825         No new tests needed.
2826
2827         * loader/EmptyClients.h:
2828         * page/ChromeClient.h:
2829         * page/DragController.cpp:
2830         (WebCore::DragController::startDrag):
2831         * platform/LocalizedStrings.h:
2832
2833 2014-01-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2834
2835         [Nix] Adding new strings to LocalizedStringsNix
2836         https://bugs.webkit.org/show_bug.cgi?id=126228
2837
2838         Reviewed by Csaba Osztrogonác.
2839
2840         No new tests needed.
2841
2842         * platform/nix/LocalizedStringsNix.cpp:
2843         (WebCore::submitButtonDefaultLabel):
2844         (WebCore::inputElementAltText):
2845         (WebCore::resetButtonDefaultLabel):
2846         (WebCore::defaultDetailsSummaryText):
2847         (WebCore::searchableIndexIntroduction):
2848         (WebCore::fileButtonChooseFileLabel):
2849         (WebCore::fileButtonChooseMultipleFilesLabel):
2850         (WebCore::fileButtonNoFileSelectedLabel):
2851         (WebCore::fileButtonNoFilesSelectedLabel):
2852         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
2853         (WebCore::contextMenuItemTagDownloadLinkToDisk):
2854         (WebCore::contextMenuItemTagCopyLinkToClipboard):
2855         (WebCore::contextMenuItemTagOpenImageInNewWindow):
2856         (WebCore::contextMenuItemTagDownloadImageToDisk):
2857         (WebCore::contextMenuItemTagCopyImageToClipboard):
2858         (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
2859         (WebCore::contextMenuItemTagOpenVideoInNewWindow):
2860         (WebCore::contextMenuItemTagOpenAudioInNewWindow):
2861         (WebCore::contextMenuItemTagDownloadVideoToDisk):
2862         (WebCore::contextMenuItemTagDownloadAudioToDisk):
2863         (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
2864         (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
2865         (WebCore::contextMenuItemTagToggleMediaControls):
2866         (WebCore::contextMenuItemTagShowMediaControls):
2867         (WebCore::contextMenuitemTagHideMediaControls):
2868         (WebCore::contextMenuItemTagToggleMediaLoop):
2869         (WebCore::contextMenuItemTagEnterVideoFullscreen):
2870         (WebCore::contextMenuItemTagMediaPlay):
2871         (WebCore::contextMenuItemTagMediaPause):
2872         (WebCore::contextMenuItemTagMediaMute):
2873         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
2874         (WebCore::contextMenuItemTagCopy):
2875         (WebCore::contextMenuItemTagDelete):
2876         (WebCore::contextMenuItemTagSelectAll):
2877         (WebCore::contextMenuItemTagUnicode):
2878         (WebCore::contextMenuItemTagInputMethods):
2879         (WebCore::contextMenuItemTagGoBack):
2880         (WebCore::contextMenuItemTagGoForward):
2881         (WebCore::contextMenuItemTagStop):
2882         (WebCore::contextMenuItemTagReload):
2883         (WebCore::contextMenuItemTagCut):
2884         (WebCore::contextMenuItemTagPaste):
2885         (WebCore::contextMenuItemTagNoGuessesFound):
2886         (WebCore::contextMenuItemTagIgnoreSpelling):
2887         (WebCore::contextMenuItemTagLearnSpelling):
2888         (WebCore::contextMenuItemTagSearchWeb):
2889         (WebCore::contextMenuItemTagLookUpInDictionary):
2890         (WebCore::contextMenuItemTagOpenLink):
2891         (WebCore::contextMenuItemTagIgnoreGrammar):
2892         (WebCore::contextMenuItemTagSpellingMenu):
2893         (WebCore::contextMenuItemTagShowSpellingPanel):
2894         (WebCore::contextMenuItemTagCheckSpelling):
2895         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
2896         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2897         (WebCore::contextMenuItemTagFontMenu):
2898         (WebCore::contextMenuItemTagBold):
2899         (WebCore::contextMenuItemTagItalic):
2900         (WebCore::contextMenuItemTagUnderline):
2901         (WebCore::contextMenuItemTagOutline):
2902         (WebCore::contextMenuItemTagInspectElement):
2903         (WebCore::contextMenuItemTagRightToLeft):
2904         (WebCore::contextMenuItemTagLeftToRight):
2905         (WebCore::contextMenuItemTagWritingDirectionMenu):
2906         (WebCore::contextMenuItemTagTextDirectionMenu):
2907         (WebCore::contextMenuItemTagDefaultDirection):
2908         (WebCore::searchMenuNoRecentSearchesText):
2909         (WebCore::searchMenuRecentSearchesText):
2910         (WebCore::searchMenuClearRecentSearchesText):
2911         (WebCore::AXDefinitionText):
2912         (WebCore::AXDescriptionListText):
2913         (WebCore::AXDescriptionListTermText):
2914         (WebCore::AXDescriptionListDetailText):
2915         (WebCore::AXFooterRoleDescriptionText):
2916         (WebCore::AXSearchFieldCancelButtonText):
2917         (WebCore::AXButtonActionVerb):
2918         (WebCore::AXRadioButtonActionVerb):
2919         (WebCore::AXTextFieldActionVerb):
2920         (WebCore::AXCheckedCheckBoxActionVerb):
2921         (WebCore::AXUncheckedCheckBoxActionVerb):
2922         (WebCore::AXLinkActionVerb):
2923         (WebCore::unknownFileSizeText):
2924         (WebCore::imageTitle):
2925         (WebCore::AXListItemActionVerb):
2926         (WebCore::localizedMediaControlElementString):
2927         (WebCore::localizedMediaControlElementHelpText):
2928         (WebCore::localizedMediaTimeDescription):
2929         (WebCore::mediaElementLoadingStateText):
2930         (WebCore::mediaElementLiveBroadcastStateText):
2931         (WebCore::validationMessagePatternMismatchText):
2932         (WebCore::validationMessageRangeOverflowText):
2933         (WebCore::validationMessageRangeUnderflowText):
2934         (WebCore::validationMessageStepMismatchText):
2935         (WebCore::validationMessageTooLongText):
2936         (WebCore::validationMessageTypeMismatchText):
2937         (WebCore::validationMessageTypeMismatchForEmailText):
2938         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2939         (WebCore::validationMessageTypeMismatchForURLText):
2940         (WebCore::validationMessageValueMissingText):
2941         (WebCore::validationMessageValueMissingForCheckboxText):
2942         (WebCore::validationMessageValueMissingForFileText):
2943         (WebCore::validationMessageValueMissingForMultipleFileText):
2944         (WebCore::validationMessageValueMissingForRadioText):
2945         (WebCore::validationMessageValueMissingForSelectText):
2946         (WebCore::validationMessageBadInputForNumberText):
2947         (WebCore::missingPluginText):
2948         (WebCore::AXMenuListPopupActionVerb):
2949         (WebCore::AXMenuListActionVerb):
2950         (WebCore::multipleFileUploadText):
2951         (WebCore::crashedPluginText):
2952         (WebCore::blockedPluginByContentSecurityPolicyText):
2953         (WebCore::insecurePluginVersionText):
2954         (WebCore::inactivePluginText):
2955         (WebCore::unacceptableTLSCertificate):
2956         (WebCore::textTrackClosedCaptionsText):
2957         (WebCore::textTrackSubtitlesText):
2958         (WebCore::textTrackOffMenuItemText):
2959         (WebCore::textTrackAutomaticMenuItemText):
2960         (WebCore::textTrackNoLabelText):
2961         (WebCore::snapshottedPlugInLabelTitle):
2962         (WebCore::snapshottedPlugInLabelSubtitle):
2963
2964 2014-01-06  László Langó  <lango@inf.u-szeged.hu>
2965
2966         Use unsigned consistently, and check for invalid casts when calling into SharedBuffer from other code.
2967         https://bugs.webkit.org/show_bug.cgi?id=124579
2968
2969         Reviewed by Anders Carlsson.
2970
2971         * WebCore.exp.in:
2972         * loader/NetscapePlugInStreamLoader.cpp:
2973         (WebCore::NetscapePlugInStreamLoader::didReceiveData):
2974         * loader/NetscapePlugInStreamLoader.h:
2975         * loader/PingLoader.h:
2976         * loader/ResourceBuffer.cpp:
2977         (WebCore::ResourceBuffer::ResourceBuffer):
2978         * loader/ResourceBuffer.h:
2979         (WebCore::ResourceBuffer::create):
2980         * loader/ResourceLoader.cpp:
2981         (WebCore::ResourceLoader::addDataOrBuffer):
2982         (WebCore::ResourceLoader::didReceiveData):
2983         (WebCore::ResourceLoader::didReceiveDataOrBuffer):
2984         (WebCore::ResourceLoader::willStopBufferingData):
2985         * loader/ResourceLoader.h:
2986         * loader/SubresourceLoader.cpp:
2987         (WebCore::SubresourceLoader::didReceiveData):
2988         * loader/SubresourceLoader.h:
2989         * loader/appcache/ApplicationCacheGroup.cpp:
2990         (WebCore::ApplicationCacheGroup::didReceiveData):
2991         * loader/appcache/ApplicationCacheGroup.h:
2992         * loader/mac/ResourceLoaderMac.mm:
2993         (WebCore::ResourceLoader::didReceiveDataArray):
2994         * platform/SharedBuffer.cpp:
2995         (WebCore::SharedBuffer::SharedBuffer):
2996         * platform/SharedBuffer.h:
2997         (WebCore::SharedBuffer::create):
2998         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2999         (ResourceHandleStreamingClient::didReceiveData):
3000         * platform/network/BlobResourceHandle.cpp:
3001         * platform/network/ResourceHandleClient.h:
3002         (WebCore::ResourceHandleClient::didReceiveData):
3003         (WebCore::ResourceHandleClient::willStopBufferingData):
3004         * platform/network/SynchronousLoaderClient.cpp:
3005         (WebCore::SynchronousLoaderClient::didReceiveData):
3006         * platform/network/SynchronousLoaderClient.h:
3007         * platform/network/blackberry/BlobStream.cpp:
3008         (WebCore::BlobStream::didReceiveData):
3009         * platform/network/blackberry/BlobStream.h:
3010         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
3011         (WebCore::WebCoreSynchronousLoader::didReceiveData):
3012         * platform/network/curl/ResourceHandleCurl.cpp:
3013         (WebCore::WebCoreSynchronousLoader::didReceiveData):
3014         * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
3015         (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
3016         * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
3017         (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willStopBufferingData:]):
3018         * platform/network/soup/ResourceHandleSoup.cpp:
3019         (WebCore::WebCoreSynchronousLoader::didReceiveData):
3020         * platform/network/win/ResourceHandleWin.cpp:
3021         (WebCore::WebCoreSynchronousLoader::didReceiveData):
3022
3023 2014-01-06  Andreas Kling  <akling@apple.com>
3024
3025         RenderBlock::clone() should return RenderPtr.
3026         <https://webkit.org/b/126513>
3027
3028         Reviewed by Antti Koivisto.
3029
3030         * rendering/RenderBlock.h:
3031         * rendering/RenderBlock.cpp:
3032         (WebCore::RenderBlock::clone):
3033
3034             Tweaked to return RenderPtr<RenderBlock>.
3035
3036         (WebCore::RenderBlock::splitBlocks):
3037
3038             Store cloned RenderBlocks in RenderPtrs. Use leakPtr() to sink
3039             them into ownership-taking APIs that still use raw pointers.
3040
3041         * rendering/RenderPtr.h:
3042
3043             Add a simple static_pointer_cast for RenderPtr&&.
3044
3045 2014-01-06  Andreas Kling  <akling@apple.com>
3046
3047         RenderInline::clone() should return RenderPtr.
3048         <https://webkit.org/b/126514>
3049
3050         Reviewed by Antti Koivisto.
3051
3052         * rendering/RenderInline.h:
3053         * rendering/RenderInline.cpp:
3054         (WebCore::RenderInline::clone):
3055
3056             Tweaked to return RenderPtr<RenderInline>.
3057
3058         (WebCore::RenderInline::splitInlines):
3059
3060             Store cloned RenderInlines in RenderPtrs. Use leakPtr() to sink
3061             them into ownership-taking APIs that still use raw pointers.
3062
3063 2014-01-06  Gurpreet Kaur  <k.gurpreet@samsung.com>
3064
3065         <hr> appears gray instead of green because of color attribute is defined followed by noshade attribute
3066         https://bugs.webkit.org/show_bug.cgi?id=17674
3067
3068         Reviewed by Simon Fraser.
3069
3070         The noshade attribute is a boolean attribute and when set on hr element
3071         it shows a gray color. When there is color attribute the default gray
3072         color should be replaced by the color mentioned by the color attribute.
3073         Firefox and IE show the same behaviour but Webkit is different. Making
3074         the behaviour of Webkit similiar to Firefox and IE's behaviour.
3075
3076         Test: fast/dom/HTMLHrElement/hr-color-noshade-attribute.html
3077
3078         * html/HTMLHRElement.cpp:
3079         (WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
3080         When the color attribute is present that value is applied and the 
3081         default gray color is ignored. Incase of no color attribute the default
3082         gray color is applied.
3083
3084 2014-01-06  Mark Rowe  <mrowe@apple.com>
3085
3086         <https://webkit.org/b/126499> Move WebKit off the legacy WebKit availability macros
3087
3088         The legacy WebKit availability macros are verbose, confusing, and provide no benefit
3089         over using the system availability macros directly. The original vision was that
3090         they'd serve a cross-platform purpose but that never came to be.
3091
3092         Since WebKit1 is API on OS X but SPI on iOS, some indirection is still needed in the
3093         availability macros to allow the headers to advertise the API as unavailable on OS X
3094         without interfering with the ability to build on iOS. This is achieved by defining
3095         WEBKIT-prefixed versions of the Foundation availability macros that are defined to
3096         their NS-prefixed equivalents. The installed headers are post-processed to map these
3097         macros back to their Foundation equivalents.
3098
3099         Part of <rdar://problem/15512304>.
3100
3101         Reviewed by Sam Weinig.
3102
3103         * WebCore.xcodeproj/project.pbxproj:
3104         * bindings/objc/WebKitAvailability.h: Added. This lives at the WebCore level since it
3105         will be needed by the Objective-C DOM bindings.
3106
3107 2014-01-05  Simon Fraser  <simon.fraser@apple.com>
3108
3109         Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea
3110         https://bugs.webkit.org/show_bug.cgi?id=126501
3111
3112         Reviewed by Sam Weinig.
3113
3114         Add type-safe casting to GraphicsLayer.
3115
3116         * platform/graphics/GraphicsLayer.h:
3117         (WebCore::GraphicsLayer::isGraphicsLayerCA):
3118         (WebCore::GraphicsLayer::isGraphicsLayerCARemote):
3119         * platform/graphics/ca/GraphicsLayerCA.h:
3120         (WebCore::GraphicsLayerCA::isGraphicsLayerCA):
3121
3122 2014-01-05  Martin Robinson  <mrobinson@igalia.com>
3123
3124         [GTK] [CMake] Ensure that the autotools build and the CMake install the same files
3125         https://bugs.webkit.org/show_bug.cgi?id=116379
3126
3127         Reviewed by Gustavo Noronha Silva.
3128
3129         * PlatformGTK.cmake: Reformat some install directives to be consistent with the rest of them.
3130         Install the GObject DOM bindings headers.
3131
3132 2014-01-05  Andreas Kling  <akling@apple.com>
3133
3134         Use lineageOfType to simplify two rendering helpers.
3135         <https://webkit.org/b/126498>
3136
3137         Reviewed by Antti Koivisto.
3138
3139         * rendering/RenderRuby.cpp:
3140         (WebCore::findRubyRunParent):
3141         * rendering/svg/SVGRenderSupport.cpp:
3142         (WebCore::SVGRenderSupport::findTreeRootObject):
3143
3144             Simplify two functions that walk their parent chain to find the
3145             closest ancestor of a certain type.
3146
3147         * rendering/RenderRubyRun.h:
3148
3149             Add requisite isRendererOfType<RenderRubyRun>().
3150
3151 2014-01-05  Csaba Osztrogonác  <ossy@webkit.org>
3152
3153         Fix the Mac build too.
3154
3155         * page/PageThrottler.h:
3156
3157 2014-01-05  Csaba Osztrogonác  <ossy@webkit.org>
3158
3159         Weekend URTBF after r161319 to make non Mac builds work again.
3160
3161         * page/PageThrottler.h:
3162
3163 2014-01-05  Gavin Barraclough  <barraclough@apple.com>
3164
3165         Move process suppression of WebProcess to Page (from UIProcess)
3166         https://bugs.webkit.org/show_bug.cgi?id=126480
3167
3168         Reviewed by Sam Weinig.
3169
3170         Let each page take a UserActivity rather than having to coalesce this state, and take different activity
3171         tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed.
3172
3173         * WebCore.exp.in:
3174         * page/Page.cpp:
3175         (WebCore::Page::setIsVisuallyIdle):
3176         * page/Page.h:
3177             - setThrottled -> setIsVisuallyIdle.
3178         * page/PageThrottler.cpp:
3179         (WebCore::PageThrottler::PageThrottler):
3180             - Initialize m_visuallyNonIdle.
3181         (WebCore::PageThrottler::~PageThrottler):
3182             - setThrottled -> setIsVisuallyIdle.
3183         (WebCore::PageThrottler::setIsVisuallyIdle):
3184             - Use m_visuallyNonIdle to disable supression when the page is not visually idle.
3185         * page/PageThrottler.h:
3186             - setThrottled -> setIsVisuallyIdle, added m_visuallyNonIdle.
3187
3188 2014-01-04  Sam Weinig  <sam@webkit.org>
3189
3190         Move a few more functions from RenderBlock to RenderBlockFlow
3191         https://bugs.webkit.org/show_bug.cgi?id=126494
3192
3193         Reviewed by Andreas Kling.
3194
3195         * rendering/RenderBlock.h:
3196         * rendering/RenderBlockFlow.h:
3197         (WebCore::RenderBlockFlow::adjustInlineDirectionLineBounds):
3198         * rendering/RenderBlockLineLayout.cpp:
3199         (WebCore::RenderBlockFlow::textAlignmentForLine):
3200         (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
3201         (WebCore::RenderBlockFlow::startAlignedOffsetForLine):
3202         These are only used by RenderBlockFlow, so move them there.
3203
3204 2014-01-04  Simon Fraser  <simon.fraser@apple.com>
3205
3206         Prepare the ScrollingTree for remote use
3207         https://bugs.webkit.org/show_bug.cgi?id=126493
3208
3209         Reviewed by Sam Weinig.
3210
3211         When committing the scrolling tree, we clone the ScrollingStateTree
3212         to hand off to another thread, or (in future) to encode to send to the
3213         UI process. During this cloning process, two types of layer transformations
3214         take place: for threaded scrolling, we replace GraphicsLayer with PlatformLayers.
3215         For remote scrolling, we'll replace GraphicsLayers with PlatformLayerIDs.
3216         Allow the ScrollingCoordinator to specify which type of transformation occurs
3217         by giving ScrollingStateTree a LayerRepresentation::Type member,
3218         which is consulted during ScrollingStateNode cloning.
3219         
3220         Also only copy layers that have changed to avoid setting dirty bits.
3221         
3222         Expose some other stuff on ScrollingStateTree which will be needed for
3223         remote scrolling.
3224
3225         * page/scrolling/ScrollingStateFixedNode.cpp:
3226         (WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
3227         * page/scrolling/ScrollingStateNode.cpp:
3228         (WebCore::ScrollingStateNode::ScrollingStateNode):
3229         * page/scrolling/ScrollingStateNode.h:
3230         (WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
3231         (WebCore::LayerRepresentation::toRepresentation):
3232         (WebCore::ScrollingStateNode::changedProperties):
3233         (WebCore::ScrollingStateNode::setChangedProperties):
3234         (WebCore::ScrollingStateNode::parentNodeID):
3235         * page/scrolling/ScrollingStateScrollingNode.cpp:
3236         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
3237         * page/scrolling/ScrollingStateStickyNode.cpp:
3238         (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
3239         * page/scrolling/ScrollingStateTree.cpp:
3240         (WebCore::ScrollingStateTree::ScrollingStateTree):
3241         (WebCore::ScrollingStateTree::commit):
3242         (WebCore::ScrollingStateTree::setRemovedNodes):
3243         (WebCore::ScrollingStateTree::stateNodeForID):
3244         * page/scrolling/ScrollingStateTree.h:
3245         (WebCore::ScrollingStateTree::nodeCount):
3246         (WebCore::ScrollingStateTree::nodeMap):
3247         (WebCore::ScrollingStateTree::preferredLayerRepresentation):
3248         (WebCore::ScrollingStateTree::setPreferredLayerRepresentation):
3249         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3250         (WebCore::ScrollingCoordinatorMac::commitTreeState):
3251
3252 2014-01-04  Sam Weinig  <sam@webkit.org>
3253
3254         Move LineBreaker functions to LineBreaker.cpp
3255         https://bugs.webkit.org/show_bug.cgi?id=126491
3256
3257         Reviewed by Simon Fraser.
3258
3259         - Moves LineBreaker::nextLineBreak() and LineBreaker::nextSegmentBreak() to
3260           LineBreaker.cpp from RenderBlockLineLayout.cpp
3261         - Moves requiresIndent() to LineWidth.h/cpp from RenderBlockLineLayout.cpp
3262           so it can be shared.
3263         - Adds missing inline specifier to BreakingContext::handleEndOfLine() to avoid
3264           duplicate symbols.
3265
3266         * rendering/RenderBlockLineLayout.cpp:
3267         (WebCore::updateLogicalInlinePositions):
3268         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
3269         * rendering/line/BreakingContextInlineHeaders.h:
3270         (WebCore::BreakingContext::handleEndOfLine):
3271         * rendering/line/LineBreaker.cpp:
3272         (WebCore::LineBreaker::nextLineBreak):
3273         (WebCore::LineBreaker::nextSegmentBreak):
3274         * rendering/line/LineWidth.cpp:
3275         (WebCore::requiresIndent):
3276         * rendering/line/LineWidth.h:
3277
3278 2014-01-04  Martin Robinson  <mrobinson@igalia.com>
3279
3280         [GTK] [CMake] Fix the video and audio build
3281         https://bugs.webkit.org/show_bug.cgi?id=126464
3282
3283         Reviewed by Philippe Normand.
3284
3285         * PlatformGTK.cmake: Complete the audio and video source lists.
3286
3287 2014-01-04  Zan Dobersek  <zdobersek@igalia.com>
3288
3289         Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
3290         https://bugs.webkit.org/show_bug.cgi?id=126439
3291
3292         Reviewed by Andreas Kling.
3293
3294         Instead of relying on std::pair and std::make_pair symbols being present in the current scope
3295         through the pair and make_pair symbols, the std:: specifier should be used explicitly.
3296
3297         * Modules/webdatabase/DatabaseTracker.cpp:
3298         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
3299         * accessibility/AXObjectCache.h:
3300         * accessibility/AccessibilityARIAGridCell.cpp:
3301         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
3302         (WebCore::AccessibilityARIAGridCell::columnIndexRange):
3303         * accessibility/AccessibilityARIAGridCell.h:
3304         * accessibility/AccessibilityObject.h:
3305         * accessibility/AccessibilityRenderObject.cpp:
3306         (WebCore::AccessibilityRenderObject::mathPrescripts):
3307         (WebCore::AccessibilityRenderObject::mathPostscripts):
3308         * accessibility/AccessibilityTable.cpp:
3309         (WebCore::AccessibilityTable::cellForColumnAndRow):
3310         * accessibility/AccessibilityTableCell.cpp:
3311         (WebCore::AccessibilityTableCell::rowIndexRange):
3312         (WebCore::AccessibilityTableCell::columnIndexRange):
3313         * accessibility/AccessibilityTableCell.h:
3314         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
3315         (webkitAccessibleTableGetColumnAtIndex):
3316         (webkitAccessibleTableGetRowAtIndex):
3317         (webkitAccessibleTableGetColumnExtentAt):
3318         (webkitAccessibleTableGetRowExtentAt):
3319         (webkitAccessibleTableGetColumnHeader):
3320         (webkitAccessibleTableGetRowHeader):
3321         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
3322         (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
3323         (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
3324         (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
3325         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
3326         (convertMathPairsToNSArray):
3327         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3328         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3329         * bindings/js/SerializedScriptValue.cpp:
3330         * dom/ContainerNode.cpp:
3331         * dom/StyledElement.cpp:
3332         (WebCore::attributeNameSort):
3333         * html/MediaFragmentURIParser.cpp:
3334         (WebCore::MediaFragmentURIParser::parseTimeFragment):
3335         * html/parser/HTMLMetaCharsetParser.h:
3336         * inspector/ContentSearchUtils.cpp:
3337         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
3338         (WebCore::ContentSearchUtils::searchInTextByLines):
3339         * inspector/DOMPatchSupport.cpp:
3340         (WebCore::DOMPatchSupport::diff):
3341         (WebCore::DOMPatchSupport::innerPatchChildren):
3342         * inspector/DOMPatchSupport.h:
3343         * inspector/InspectorAgent.cpp:
3344         (WebCore::InspectorAgent::enable):
3345         (WebCore::InspectorAgent::evaluateForTestInFrontend):
3346         * inspector/InspectorAgent.h:
3347         * loader/FormSubmission.cpp:
3348         (WebCore::FormSubmission::create):
3349         * loader/cache/CachedImage.cpp:
3350         (WebCore::CachedImage::brokenImage):
3351         * loader/cache/CachedImage.h:
3352         * platform/URL.cpp:
3353         (WebCore::findHostnamesInMailToURL):
3354         (WebCore::encodeHostnames):
3355         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
3356         * platform/graphics/FontCache.cpp:
3357         (WebCore::FontCache::getCachedFontData):
3358         * platform/graphics/WidthIterator.cpp:
3359         * platform/network/HTTPHeaderMap.cpp:
3360         (WebCore::HTTPHeaderMap::adopt):
3361         * platform/network/ResourceResponseBase.cpp:
3362         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
3363         (WebCore::parseCacheHeader):
3364         * platform/text/AtomicStringKeyedMRUCache.h:
3365         * platform/text/LineBreakIteratorPoolICU.h:
3366         * rendering/InlineFlowBox.h:
3367         * rendering/RenderImage.cpp:
3368         (WebCore::RenderImage::imageSizeForError):
3369         (WebCore::RenderImage::paintReplaced):
3370         * rendering/RenderTableSection.cpp:
3371         (WebCore::RenderTableSection::cachedCollapsedBorder):
3372         * rendering/RenderTableSection.h:
3373         * rendering/svg/SVGTextRunRenderingContext.cpp:
3374         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
3375         * svg/SVGAnimatedAngle.cpp:
3376         (WebCore::SVGAnimatedAngleAnimator::constructFromString):
3377         (WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
3378         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
3379         * svg/SVGAnimatedIntegerOptionalInteger.cpp:
3380         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
3381         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
3382         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
3383         * svg/SVGAnimatedNumberOptionalNumber.cpp:
3384         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
3385         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
3386         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
3387         * svg/SVGAnimatedType.cpp:
3388         (WebCore::SVGAnimatedType::createIntegerOptionalInteger):
3389         (WebCore::SVGAnimatedType::createNumberOptionalNumber):
3390         * svg/SVGAnimatedType.h:
3391         (WebCore::SVGAnimatedType::integerOptionalInteger):
3392         (WebCore::SVGAnimatedType::numberOptionalNumber):
3393         * svg/SVGAnimatedTypeAnimator.h:
3394         (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
3395         (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
3396         * svg/SVGParserUtilities.h:
3397         * svg/animation/SMILTimeContainer.h:
3398
3399 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
3400
3401         Attempt to fix EFL build.
3402
3403         * page/scrolling/ScrollingStateTree.cpp:
3404         (WebCore::ScrollingStateTree::setHasChangedProperties):
3405
3406 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
3407
3408         Clean up the means of committing the scrolling state tree
3409         https://bugs.webkit.org/show_bug.cgi?id=126482
3410
3411         Reviewed by Tim Horton.
3412
3413         ScrollingStateNodes would manually call scrollingStateTree().setHasChangedProperties()
3414         after setPropertyChanged() in lots of places, which was repetitive, and
3415         AsyncScrollingCoordinator manually called scheduleTreeStateCommit() in many places.
3416         
3417         Clean up both of these with a clearer trigger for state tree commits.
3418         ScrollingStateNodes::setPropertyChanged() calls ScrollingStateTree::setHasChangedProperties(),
3419         which turns around and tells the ScrollingCoordinator that the state tree became dirty.
3420
3421         * page/scrolling/AsyncScrollingCoordinator.cpp:
3422         (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
3423         (WebCore::AsyncScrollingCoordinator::scrollingStateTreePropertiesChanged):
3424         (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
3425         (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
3426         (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
3427         (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
3428         (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
3429         (WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
3430         (WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
3431         (WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
3432         (WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
3433         (WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
3434         (WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
3435         (WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
3436         (WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
3437         * page/scrolling/AsyncScrollingCoordinator.h:
3438         * page/scrolling/ScrollingStateFixedNode.cpp:
3439         (WebCore::ScrollingStateFixedNode::updateConstraints):
3440         * page/scrolling/ScrollingStateNode.cpp:
3441         (WebCore::ScrollingStateNode::setPropertyChanged):
3442         (WebCore::ScrollingStateNode::setLayer):
3443         * page/scrolling/ScrollingStateNode.h:
3444         * page/scrolling/ScrollingStateScrollingNode.cpp:
3445         (WebCore::ScrollingStateScrollingNode::setViewportRect):
3446         (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
3447         (WebCore::ScrollingStateScrollingNode::setScrollOrigin):
3448         (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
3449         (WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
3450         (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
3451         (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
3452         (WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
3453         (WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
3454         (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
3455         (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
3456         (WebCore::ScrollingStateScrollingNode::setFooterHeight):
3457         (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
3458         (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
3459         (WebCore::ScrollingStateScrollingNode::setFooterLayer):
3460         * page/scrolling/ScrollingStateStickyNode.cpp:
3461         (WebCore::ScrollingStateStickyNode::updateConstraints):
3462         * page/scrolling/ScrollingStateTree.cpp:
3463         (WebCore::ScrollingStateTree::create):
3464         (WebCore::ScrollingStateTree::ScrollingStateTree):
3465         (WebCore::ScrollingStateTree::setHasChangedProperties):
3466         (WebCore::ScrollingStateTree::didRemoveNode):
3467         * page/scrolling/ScrollingStateTree.h:
3468         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3469         (WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
3470         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
3471         (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
3472
3473 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
3474
3475         Try to fix CoordinatedGraphics build after r161303. Remove implementations
3476         which are now in the cross-platform file.
3477
3478         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
3479         (WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
3480         (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
3481         * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:
3482         * page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp:
3483
3484 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
3485
3486         Simplify ScrollingStateNode references to various layer types
3487         https://bugs.webkit.org/show_bug.cgi?id=126477
3488
3489         Reviewed by Tim Horton.
3490         
3491         ScrollingStateNodes referenced both GraphicsLayer and PlatformLayers, in
3492         confusing ways. In the main thread they have a GraphicsLayer*, but need
3493         to check to see if the underlying PlatformLayer changed. Then, when
3494         cloned to commit to the scrolling thread, they drop the GraphicsLayer
3495         and store a PlatformLayer.
3496         
3497         Hide the complexity (and prepare for the future) by adding LayerRepresentation,
3498         which wraps various different flavors of layers, and knows how to check whether
3499         the PlatformLayer underlying a GraphicsLayer changed.
3500         
3501         ScrollingStateNode layer setters then just take and compare LayerRepresentations.
3502         Copy constructors convert to a PlatformLayer representation (though not really
3503         in the right place currently), and ScrollingTreeNodes get PlatformLayers.
3504
3505         * page/scrolling/AsyncScrollingCoordinator.cpp:
3506         (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
3507         (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
3508         * page/scrolling/ScrollingStateFixedNode.cpp:
3509         (WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
3510         * page/scrolling/ScrollingStateNode.cpp:
3511         (WebCore::ScrollingStateNode::ScrollingStateNode):
3512         (WebCore::ScrollingStateNode::setLayer):
3513         * page/scrolling/ScrollingStateNode.h:
3514         (WebCore::LayerRepresentation::LayerRepresentation):
3515         (WebCore::LayerRepresentation::operator GraphicsLayer*):
3516         (WebCore::LayerRepresentation::operator PlatformLayer*):
3517         (WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
3518         (WebCore::LayerRepresentation::operator ==):
3519         (WebCore::LayerRepresentation::toPlatformLayer):
3520         (WebCore::LayerRepresentation::representsGraphicsLayer):
3521         (WebCore::LayerRepresentation::representsPlatformLayer):
3522         (WebCore::LayerRepresentation::representsPlatformLayerID):
3523         (WebCore::ScrollingStateNode::layer):
3524         * page/scrolling/ScrollingStateScrollingNode.cpp:
3525         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
3526         (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
3527         (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
3528         (WebCore::ScrollingStateScrollingNode::setFooterLayer):
3529         * page/scrolling/ScrollingStateScrollingNode.h:
3530         * page/scrolling/ScrollingStateStickyNode.cpp:
3531         (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
3532         * page/scrolling/mac/ScrollingStateNodeMac.mm:
3533         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
3534         * page/scrolling/mac/ScrollingTreeFixedNode.mm:
3535         (WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
3536         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3537         (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
3538         * page/scrolling/mac/ScrollingTreeStickyNode.mm:
3539         (WebCore::ScrollingTreeStickyNode::updateBeforeChildren):
3540
3541 2014-01-03  Brent Fulgham  <bfulgham@apple.com>
3542
3543         [WebGL] Blit operation from Multisample FBO to rendering FBO must ignore GL_SCISSOR test
3544         https://bugs.webkit.org/show_bug.cgi?id=126470
3545         <rdar://problem/15201370>
3546
3547         Reviewed by Dean Jackson.
3548
3549         Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html
3550
3551         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3552         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Temporarily deactivate the GL_SCISSOR
3553         test while we do our blit, then reactivate if necessary.
3554
3555 2014-01-03  Brent Fulgham  <bfulgham@apple.com>
3556
3557         [WebGL] CGLPixelFormat should specify SampleBuffer and Sample count when using MSAA
3558         https://bugs.webkit.org/show_bug.cgi?id=126468
3559
3560         Reviewed by Dean Jackson.
3561
3562         Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html
3563
3564         * platform/graphics/mac/GraphicsContext3DMac.mm:
3565         (WebCore::setPixelFormat): Add kCGLPFAMultisample, kCGLPFASampleBuffers (and count), and
3566         kCGLPFASamples (and count) to our pixel format when 'antialias=true'.
3567         (WebCore::GraphicsContext3D::GraphicsContext3D): Pass a new 'antialias' flag to the setPixelFormat
3568         method so we can turn on MSAA features when needed.
3569
3570 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
3571
3572         Give all PlatformCALayers a PlatformLayerID, not just remote ones
3573         https://bugs.webkit.org/show_bug.cgi?id=126466
3574
3575         Reviewed by Tim Horton.
3576
3577         The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
3578         which is confusing, and is necessary because the underlying PlatformLayer
3579         inside a GraphicsLayer can change. In order to hide some of this complexity,
3580         expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
3581         can hold onto to test for underlying layer swapping.
3582         
3583         Also constify LayerType m_layerType on PlatformCALayer, which required
3584         cleaning up the construction of PlatformCALayerMac in the case where a
3585         PlatformCALayerMac is wrapping an existing CALayer (which happens for video).
3586
3587         * WebCore.exp.in:
3588         * platform/graphics/GraphicsLayer.h:
3589         (WebCore::GraphicsLayer::primaryLayerID):
3590         * platform/graphics/ca/GraphicsLayerCA.cpp:
3591         (WebCore::GraphicsLayerCA::primaryLayerID):
3592         * platform/graphics/ca/GraphicsLayerCA.h:
3593         * platform/graphics/ca/PlatformCALayer.cpp:
3594         (WebCore::generateLayerID):
3595         (WebCore::PlatformCALayer::PlatformCALayer):
3596         * platform/graphics/ca/PlatformCALayer.h:
3597         (WebCore::PlatformCALayer::layerID):
3598         * platform/graphics/ca/mac/PlatformCALayerMac.h:
3599         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3600         (PlatformCALayerMac::create):
3601         (PlatformCALayerMac::PlatformCALayerMac):
3602         (PlatformCALayerMac::commonInit):
3603
3604 2014-01-03  Andreas Kling  <akling@apple.com>
3605
3606         Add lineageOfType renderer iterator and start using it.
3607         <https://webkit.org/b/126456>
3608
3609         Add a convenient way to iterate over a renderers ancestry *including*
3610         the starting point renderer (if it meets the type criteria.)
3611
3612         This works just like lineageOfType for Elements.
3613
3614         Reviewed by Geoffrey Garen.
3615
3616         * rendering/RenderAncestorIterator.h:
3617         (WebCore::lineageOfType):
3618
3619             Added. Returns an adapter for walking a renderer's entire lineage
3620             matching any renderer of the given type.
3621
3622         * rendering/RenderBoxModelObject.h:
3623         * rendering/RenderLayerModelObject.h:
3624
3625             Add the requisite isRendererOfType<T> helpers.
3626
3627         * rendering/RenderBox.cpp:
3628         (WebCore::RenderBox::enclosingFloatPaintingLayer):
3629         * rendering/RenderObject.cpp:
3630         (WebCore::RenderObject::enclosingLayer):
3631         (WebCore::RenderObject::enclosingBox):
3632         (WebCore::RenderObject::enclosingBoxModelObject):
3633
3634             Simplify with lineageOfType. Added some FIXMEs about functions
3635             that should return references instead of pointers.
3636
3637 2014-01-03  Martin Robinson  <mrobinson@igalia.com>
3638
3639         Small build fix for the GTK+ CMake port
3640
3641         * PlatformGTK.cmake: Add an IDL file that is missing from the list of IDLs
3642         used to generate GObject DOM bindings.
3643
3644 2014-01-03  Daniel Bates  <dabates@apple.com>
3645
3646         [iOS] Upstream WebCore/css changes
3647         https://bugs.webkit.org/show_bug.cgi?id=126237
3648
3649         Reviewed by Simon Fraser.
3650
3651         * css/CSSComputedStyleDeclaration.cpp:
3652         (WebCore::ComputedStyleExtractor::propertyValue): Added iOS-specific code and FIXME comment.
3653         * css/CSSParser.cpp:
3654         (WebCore::CSSParserContext::CSSParserContext): Ditto.
3655         (WebCore::CSSParser::parseValue): Ditto.
3656         * css/CSSPropertyNames.in: Added property -webkit-composition-fill-color. Also added FIXME comment.
3657         * css/CSSValueKeywords.in: Added iOS-specific -apple-system-* values.
3658         * css/DeprecatedStyleBuilder.cpp:
3659         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Added iOS-specific code and FIXME comments.
3660         * css/MediaFeatureNames.h: Added media feature -webkit-video-playable-inline.
3661         * css/MediaQueryEvaluator.cpp:
3662         (WebCore::isRunningOnIPhoneOrIPod): Added. Also added FIXME comment.
3663         (WebCore::video_playable_inlineMediaFeatureEval): Added.
3664         * css/StyleResolver.cpp:
3665         (WebCore::StyleResolver::canShareStyleWithElement): Substitute toHTMLMediaElement() for toMediaElement().
3666         (WebCore::StyleResolver::applyProperty): Added iOS-specific code and FIXME comment.
3667         * css/html.css: Added iOS-specific CSS styles.
3668         (input, textarea, keygen, select, button, isindex):
3669         (isindex):
3670         (input[type="date"]):
3671         (input[type="datetime"]):
3672         (input[type="datetime-local"]):
3673         (input[type="month"]):
3674         (input[type="time"]):
3675         (textarea):
3676         (input:-webkit-autofill):
3677         (input[type="radio"], input[type="checkbox"]):
3678         (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
3679         (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
3680         (input[type="range"]::-webkit-slider-thumb:active):
3681         (input:disabled, textarea:disabled):
3682         (input[readonly], textarea[readonly]):
3683         (textarea::-webkit-input-placeholder):
3684         (input[type="checkbox"]):
3685         (input[type="radio"]):
3686         (input[type="checkbox"]:checked, input[type="radio"]:checked):
3687         (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled):
3688         (select:focus):
3689         (select):
3690         * css/mathml.css: Added iOS-specific CSS styles.
3691         (math, mfenced > *):
3692         (mo, mfenced):
3693         * css/mediaControlsiOS.css: Added.
3694         * css/svg.css: Added iOS-specific CSS styles.
3695         (text, tspan, tref):
3696
3697 2014-01-03  Brent Fulgham  <bfulgham@apple.com>
3698
3699         [WebGL] glScissor test is not accounted for when generating internal rendering textures.
3700         https://bugs.webkit.org/show_bug.cgi?id=126455
3701         <rdar://problem/15744206>
3702
3703         Reviewed by Dean Jackson.
3704
3705         Covered by webgl/1.0.2/conformance/rendering/gl-scissor-test.html
3706
3707         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3708         (WebCore::GraphicsContext3D::prepareTexture): Check state of GL_SCISSOR_TEST and GL_DITHER, deactivate them during
3709         our internal drawing, then turn them back on for further processing.
3710
3711 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
3712
3713         Maybe fix Windows build.
3714
3715         * WebCore.vcxproj/copyForwardingHeaders.cmd:
3716
3717 2014-01-03  Jer Noble  <jer.noble@apple.com>
3718
3719         [MediaControls][iOS] Enable JavaScript Media Controls on iOS.
3720         https://bugs.webkit.org/show_bug.cgi?id=126440
3721
3722         Reviewed by Eric Carlson.
3723
3724         Drive-by misspelling fix, and add a convenience function to check if the
3725         controls are currently hidden:
3726         * Modules/mediacontrols/mediaControlsApple.js:
3727         (Controller.prototype.handleWrapperMouseMove):
3728         (Controller.prototype.handleWrapperMouseOut):
3729         (Controller.prototype.updatePlaying):
3730         (Controller.prototype.controlsAreHidden): Added.
3731
3732         Add a new subclass of Controller for iOS and a matching CSS:
3733         * Modules/mediacontrols/mediaControlsiOS.css: Added.
3734         * Modules/mediacontrols/mediaControlsiOS.js: Added.
3735         (createControls): Override the createControls() in mediaControlsApple.js.
3736         (ControllerIOS): Define a new class.
3737         (ControllerIOS.prototype.inheritFrom): Convenience method to mixin parent
3738             prototype methods.
3739         (ControllerIOS.prototype.createBase): Override, listen for touches instead of mouse events.
3740         (ControllerIOS.prototype.createControls): Ditto.
3741         (ControllerIOS.prototype.configureInlineControls): Override, only add play, timeline, and full
3742             screen butttons.
3743         (ControllerIOS.prototype.configureFullScreenControls): Override, and add no buttons.
3744         (ControllerIOS.prototype.handlePlayButtonTouchStart): Activate.
3745         (ControllerIOS.prototype.handlePlayButtonTouchEnd): De-activate and do action.
3746         (ControllerIOS.prototype.handlePlayButtonTouchCancel): De-activate and cancel.
3747         (ControllerIOS.prototype.handleWrapperTouchStart): Show controls.
3748         (ControllerIOS.prototype.handlePanelTouchStart): Disable video selection.
3749         (ControllerIOS.prototype.handlePanelTouchEnd): Re-enable video selection.
3750         (ControllerIOS.prototype.handlePanelTouchCancel): Ditto.
3751
3752         Drive-by fix to enable the JavaScript controls when the plugin is disabled:
3753         * html/HTMLMediaElement.cpp:
3754         (WebCore::HTMLMediaElement::parseAttribute):
3755
3756         Add the iOS JavaScript by appending it to the generic (Apple) JavaScript:
3757         * rendering/RenderThemeIOS.mm:
3758         (WebCore::RenderThemeIOS::mediaControlsScript):
3759
3760         Add new files to project:
3761         * DerivedSources.make:
3762         * WebCore.xcodeproj/project.pbxproj:
3763
3764 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
3765
3766         Allow the ChromeClient to provide a custom ScrollingCoordinator
3767         https://bugs.webkit.org/show_bug.cgi?id=126450
3768
3769         Reviewed by Tim Horton.
3770         
3771         Some platforms will want to provide a custom ScrollingCoordinator, so let
3772         them do so by asking ChromeClient first for one.
3773
3774         * page/ChromeClient.h:
3775         (WebCore::ChromeClient::createScrollingCoordinator):
3776         * page/Page.cpp:
3777         (WebCore::Page::scrollingCoordinator):
3778
3779 2014-01-03  Andreas Kling  <akling@apple.com>
3780
3781         Deploy more child renderer iterators in RenderBlockFlow.
3782         <https://webkit.org/b/126434>
3783
3784         Reviewed by Sam Weinig.
3785
3786         * rendering/RenderBlockFlow.cpp:
3787         (WebCore::shouldCheckLines):
3788
3789             Make this helper take a RenderBlockFlow instead of a RenderObject
3790             and simplified it a bit. RenderDeprecatedFlexibleBox does not
3791             derive from RenderBlockFlow so those checks can be omitted.
3792
3793         (WebCore::RenderBlockFlow::layoutBlock):
3794         (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
3795         (WebCore::RenderBlockFlow::lineAtIndex):
3796         (WebCore::RenderBlockFlow::lineCount):
3797         (WebCore::RenderBlockFlow::clearTruncation):
3798
3799             Use childrenOfType to iterate over block and block-flow children.
3800             Tweaked some early return/continue to reduce nesting.
3801
3802 2014-01-03  Simon Fraser  <simon.fraser@apple.com>
3803
3804         Allow different types of ScrollingTrees to have different types of ScrollingTreeNode subclasses
3805         https://bugs.webkit.org/show_bug.cgi?id=126445
3806
3807         Reviewed by Tim Horton.
3808         
3809         Make it possible to have ScrollingTree subclasses with different subclasses of ScrollingTreeNodes,
3810         by giving ScrollingTree a pure virtual createNode() function. ThreadedScrollingTree implements
3811         this, and then delegates node creation to its AsyncScrollingCoordinator (since we have
3812         a ScrollingCoordinatorMac but no real need for a ThreadedScrollingTreeMac).
3813         
3814         Also made ThreadedScrollingTree's m_scrollingCoordinator an AsyncScrollingCoordinator,
3815         since by definition a threaded scrolling tree uses an async coordinator.
3816
3817         * page/scrolling/AsyncScrollingCoordinator.h:
3818         * page/scrolling/ScrollingTree.cpp:
3819         (WebCore::ScrollingTree::updateTreeFromStateNode):
3820         * page/scrolling/ScrollingTree.h:
3821         * page/scrolling/ScrollingTreeScrollingNode.h:
3822         * page/scrolling/ThreadedScrollingTree.cpp:
3823         (WebCore::ThreadedScrollingTree::create):
3824         (WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
3825         (WebCore::ThreadedScrollingTree::createNode):
3826         * page/scrolling/ThreadedScrollingTree.h:
3827         * page/scrolling/mac/ScrollingCoordinatorMac.h:
3828         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3829         (WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):
3830         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
3831         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3832         (WebCore::ScrollingTreeScrollingNodeMac::create):
3833
3834 2014-01-03  Gavin Barraclough  <barraclough@apple.com>
3835
3836         Refactor NSActivity handling code from ChildProcess to UserActivity
3837         https://bugs.webkit.org/show_bug.cgi?id=126330
3838
3839         Unreviewed build fix.
3840
3841         * platform/UserActivity.h:
3842             - case fix.
3843
3844 2014-01-02  Gavin Barraclough  <barraclough@apple.com>
3845
3846         Refactor NSActivity handling code from ChildProcess to UserActivity
3847         https://bugs.webkit.org/show_bug.cgi?id=126330
3848
3849         Reviewed by Sam Weinig.
3850
3851         UserActivity is a mechanism to express to the operating system (where appropriate)
3852         that a user initiated activity is taking place, and as such that resources should be
3853         made available to the process accordingly.
3854
3855         Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
3856         to hold different activity tokens for different user actions (which simplifies the
3857         handling, and aides debugging since the token can more accurately express the activity
3858         taking place), and also will allow us to avoid the layering difficulty of calling back
3859         up the stack to WebKit to register that an activity is taking place.
3860
3861         * WebCore.xcodeproj/project.pbxproj:
3862             - added new files.
3863         * platform/UserActivity.cpp: Added.
3864         (WebCore::UserActivity::UserActivity):
3865             - nop implementation - ignore description.
3866         (WebCore::UserActivity::beginActivity):
3867         (WebCore::UserActivity::endActivity):
3868             - nop implementation - just inc/dec m_count.
3869         * platform/UserActivity.h: Added.
3870         (WebCore::UserActivity::isActive):
3871             - returns true if one or more instance of this activity is in progress.
3872         * platform/mac/UserActivityMac.mm: Added.
3873         (WebCore::UserActivity::UserActivity):
3874             - constructor accepts one argument, a description string.
3875         (WebCore::UserActivity::isValid):
3876             - used by assertions.
3877         (WebCore::UserActivity::beginActivity):
3878         (WebCore::UserActivity::endActivity):
3879             - track start/end of an activity - calls to these methods should be balanced.
3880         (WebCore::UserActivity::hysteresisTimerFired):
3881               - used to implement hysteresis in releasing  NSActivity.
3882
3883 2014-01-03  Alexey Proskuryakov  <ap@apple.com>
3884
3885         Line ending conversion should be able to handle strings with null chars
3886         https://bugs.webkit.org/show_bug.cgi?id=126202
3887
3888         This is a merge from Blink.
3889
3890         Reviewed by Alexey Proskuryakov.
3891
3892         Test: http/tests/local/formdata/send-form-data-with-string-containing-null.html
3893
3894         * platform/text/LineEnding.cpp: (WebCore::normalizeToCROrLF): Do it right.
3895
3896 2014-01-03  Alberto Garcia  <berto@igalia.com>
3897
3898         WebKit-GTK 1.8.1 does not build on OS X 10.7
3899         https://bugs.webkit.org/show_bug.cgi?id=88407
3900
3901         Reviewed by Carlos Garcia Campos.
3902
3903         Replace non-portable 'echo -n' with 'true'.
3904
3905         * GNUmakefile.am:
3906
3907 2014-01-03  peavo@outlook.com  <peavo@outlook.com>
3908
3909         [WinCairo] Compile error.
3910         https://bugs.webkit.org/show_bug.cgi?id=126428
3911
3912         Reviewed by Brent Fulgham.
3913
3914         The NativeImagePtr type is not an CGImageRef on WinCairo, cannot use CFRetain.
3915
3916         * loader/cache/MemoryCache.cpp: Replace USE(CF) with USE(CG).
3917         * loader/cache/MemoryCache.h: Ditto.
3918
3919 2014-01-03  Hans Muller  <hmuller@adobe.com>
3920
3921         [CSS Shapes] Simplify FloatRoundedRect, BoxShape construction
3922         https://bugs.webkit.org/show_bug.cgi?id=125995
3923
3924         Reviewed by Andreas Kling.
3925
3926         Cleanup of various internal Shape issues:
3927         - Removed unnecessary Shape() initialization list entries in Shape subclasses
3928           per https://bugs.webkit.org/show_bug.cgi?id=125548#c2.
3929         - Used const references instead of pointers for non-deprecated Shape:createShape() logic.
3930         - Replaced createShape() overloads for Rasters and Boxes with functions named
3931           createRasterShape() and createBoxShape().
3932         - Added a FloatRoundedRect::Radii() constructor to reduce the parameter list
3933           length of the FloatRoundedRect constructor in createBoxShape().
3934
3935         There are no new tests, this is just internal refactoring.
3936
3937         * platform/graphics/FloatRoundedRect.h:
3938         (WebCore::FloatRoundedRect::Radii::Radii):
3939         * rendering/shapes/BoxShape.h:
3940         (WebCore::BoxShape::BoxShape):
3941         * rendering/shapes/PolygonShape.h:
3942         (WebCore::PolygonShape::PolygonShape):
3943         * rendering/shapes/RasterShape.h:
3944         (WebCore::RasterShape::RasterShape):
3945         * rendering/shapes/RectangleShape.h:
3946         (WebCore::RectangleShape::RectangleShape):
3947         * rendering/shapes/Shape.cpp:
3948         (WebCore::createInsetShape):
3949         (WebCore::Shape::createShape):
3950         (WebCore::Shape::createRasterShape):
3951         (WebCore::Shape::createBoxShape):
3952         * rendering/shapes/Shape.h:
3953         * rendering/shapes/ShapeInfo.cpp:
3954         (WebCore::ShapeInfo<RenderType>::computedShape):
3955
3956 2014-01-03  Andreas Kling  <akling@apple.com>
3957
3958         Remove unused Document::openSearchDescriptionURL().
3959         <https://webkit.org/b/126419>
3960
3961         Reviewed by Antti Koivisto.
3962
3963         * dom/Document.h:
3964         * dom/Document.cpp:
3965
3966             Scrub leftovers from the defunct Chromium port.
3967
3968 2014-01-03  Jinwoo Song  <jinwoo7.song@samsung.com>
3969
3970         VibrationPattern should allocate an single vector instance for single integer input
3971         https://bugs.webkit.org/show_bug.cgi?id=126417
3972
3973         Reviewed by Gyuyoung Kim.
3974
3975         When the Vibration pattern is set with a single integer, the VibrationPattern should
3976         be set with this integer as a vibration time. But the VibrationPattern(unsigned vector) was
3977         initialized with a single parameter, the vibration time, so the time was used to set
3978         the size of vector.
3979
3980         * Modules/vibration/NavigatorVibration.cpp:
3981         (WebCore::NavigatorVibration::vibrate):
3982
3983 2014-01-02  Jaehun Lim  <ljaehun.lim@samsung.com>
3984
3985         IconController.cpp needs to include <wtf/text/CString.h>
3986         https://bugs.webkit.org/show_bug.cgi?id=126415
3987
3988         Reviewed by Gyuyoung Kim.
3989
3990         Build fails in IconController.cpp when ICONDATABASE is disabled.
3991         WebKit/Source/WebCore/loader/icon/IconController.cpp:124:110: error: invalid use of incomplete type ‘class WTF::CString’
3992         IconController.cpp needs #include <wtf/text/CString.h>.
3993
3994         No new tests. Just build fix.
3995
3996         * loader/icon/IconController.cpp: Add #include statement.
3997
3998 2014-01-02  Ryuan Choi  <ryuan.choi@samsung.com>
3999
4000         [EFL] Previous scrollbar is remained sometimes
4001         https://bugs.webkit.org/show_bug.cgi?id=126414
4002
4003         Reviewed by Gyuyoung Kim.
4004
4005         * platform/efl/ScrollbarEfl.cpp:
4006         (ScrollbarEfl::invalidate):
4007         Updated scrollbar visibility in Scrollbar::invalidate().
4008         * platform/efl/ScrollbarEfl.h:
4009         Removed show()/hide() which never been called() for scrollbar.
4010
4011 2014-01-02  Brent Fulgham  <bfulgham@apple.com>
4012
4013         [WebGL] Correct symbol lookup logic to handle 1-element arrays
4014         https://bugs.webkit.org/show_bug.cgi?id=126411
4015         <rdar://problem/15394564>
4016
4017         Reviewed by Dean Jackson.
4018
4019         Tested by revisions to webgl/1.0.2/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html
4020
4021         * html/canvas/WebGLRenderingContext.cpp:
4022         (WebCore::WebGLRenderingContext::getUniformLocation): Revise to
4023         handle access to zeroeth element of the array.
4024
4025 2014-01-02  Myles C. Maxfield  <mmaxfield@apple.com>
4026
4027         Crash in WebCore::translateIntersectionPointsToSkipInkBoundaries
4028         https://bugs.webkit.org/show_bug.cgi?id=126252
4029
4030         Reviewed by Alexey Proskuryakov.
4031
4032