../JavaScriptCore: [Win] Update project and solution files for 64-bit builds.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-01-22  Brent Fulgham  <bfulgham@apple.com>
2
3         [Win] Update project and solution files for 64-bit builds
4         https://bugs.webkit.org/show_bug.cgi?id=127457
5
6         Reviewed by Eric Carlson.
7
8         * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Update for VS2013
9         * WebCore.vcxproj/WebCore.submit.sln: Add x64 targets
10         * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013. Also exclude 32-bit specific
11         assembly when building 64-bit target.
12         * WebCore.vcxproj/WebCore.vcxproj.filters: Update for VS2013
13         * config.h: Handle 64-bit type definitions.
14         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
15         (PlatformCAAnimation::setFromValue): Use CGFloat to support 64-bit builds
16         (PlatformCAAnimation::setToValue): Ditto
17         (PlatformCAAnimation::setValues): Ditto
18         * platform/graphics/win/FontCustomPlatformData.cpp:
19         (WebCore::FontCustomPlatformData::fontPlatformData): Add cast to
20         support 32- and 64-bit targets.
21         * platform/graphics/win/GraphicsContextCGWin.cpp:
22         (WebCore::GraphicsContext::drawLineForDocumentMarker): Use CGFloat to
23         support 64-bit builds.
24         * platform/win/PasteboardWin.cpp:
25         (WebCore::Pasteboard::writeURLToDataObject): Specialize std::min to
26         work on 32- and 64-bit code.
27         (WebCore::createGlobalImageFileDescriptor): Ditto
28         * platform/win/StructuredExceptionHandlerSuppressor.cpp:
29         (WebCore::StructuredExceptionHandlerSuppressor::StructuredExceptionHandlerSuppressor):
30         Comment out 32-bit inline assembly.
31         (WebCore::StructuredExceptionHandlerSuppressor::~StructuredExceptionHandlerSuppressor):
32         Ditto
33
34 2014-01-23  Brady Eidson  <beidson@apple.com>
35
36         Make IDBGetResult work with IDBKeyData instead of IDBKey.
37         https://bugs.webkit.org/show_bug.cgi?id=127493
38
39         Reviewed by Eric Carlson.
40
41         Also break it into its own header to work better with IPC messages.
42
43         * Modules/indexeddb/IDBGetResult.h: Added.
44         (WebCore::IDBGetResult::IDBGetResult):
45
46         * Modules/indexeddb/IDBServerConnection.h:
47
48         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
49         (WebCore::GetOperation::perform):
50
51         * WebCore.xcodeproj/project.pbxproj:
52
53 2014-01-23  Mátyás Mustoha  <mmatyas@inf.u-szeged.hu>
54
55         [curl] Add storage limit to cache manager
56         https://bugs.webkit.org/show_bug.cgi?id=125779
57
58         Reviewed by Brent Fulgham.
59
60         Sets a local disc storage size limit for the cache manager
61         used by the curl network backend.
62
63         * platform/network/curl/CurlCacheEntry.cpp:
64         (WebCore::CurlCacheEntry::CurlCacheEntry):
65         (WebCore::CurlCacheEntry::isCached):
66         (WebCore::CurlCacheEntry::saveCachedData):
67         (WebCore::CurlCacheEntry::readCachedData):
68         (WebCore::CurlCacheEntry::didFail):
69         (WebCore::CurlCacheEntry::didFinishLoading):
70         (WebCore::CurlCacheEntry::loadFileToBuffer):
71         (WebCore::CurlCacheEntry::parseResponseHeaders):
72         (WebCore::CurlCacheEntry::entrySize):
73         * platform/network/curl/CurlCacheEntry.h:
74         (WebCore::CurlCacheEntry::requestHeaders):
75         * platform/network/curl/CurlCacheManager.cpp:
76         (WebCore::CurlCacheManager::CurlCacheManager):
77         (WebCore::CurlCacheManager::setStorageSizeLimit):
78         (WebCore::CurlCacheManager::loadIndex):
79         (WebCore::CurlCacheManager::saveIndex):
80         (WebCore::CurlCacheManager::makeRoomForNewEntry):
81         (WebCore::CurlCacheManager::didReceiveResponse):
82         (WebCore::CurlCacheManager::didReceiveData):
83         (WebCore::CurlCacheManager::invalidateCacheEntry):
84         (WebCore::CurlCacheManager::readCachedData):
85         * platform/network/curl/CurlCacheManager.h:
86         (WebCore::CurlCacheManager::cacheDirectory):
87
88 2014-01-23  Carlos Garcia Campos  <cgarcia@igalia.com>
89
90         Unreviewed. Fix automake warning.
91
92         * GNUmakefile.list.am: Remove trailing whitespaces.
93
94 2014-01-23  Mihai Maerean  <mmaerean@adobe.com>
95
96         [CSS Regions] Fix positioning composited layers when the region has overflow:hidden
97         https://bugs.webkit.org/show_bug.cgi?id=124042
98
99         Reviewed by Mihnea Ovidenie.
100
101         If there's a clipping GraphicsLayer on the hierarchy, substract its offset, since it's its
102         parent that positions us.
103
104         Tests: compositing/regions/position-layer-inside-region-overflow-hidden.html
105                compositing/regions/position-layer-inside-overflow-hidden.html
106                compositing/regions/position-layers-inside-region-overflow-hidden.html
107                compositing/regions/position-layers-inside-regions-overflow-hidden.html
108
109         * rendering/RenderLayerBacking.cpp:
110         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): The position
111         must also be correct when the region has box-shadow that inflates the region's layer. The
112         composited layers from the flow thread should be rendered in the same position whether the
113         associated region has clipping or not.
114         Using the position of the clipping layer instead of the location of the clipbox makes it
115         also work with box-shadow that inflates the region's graphics layer.
116
117 2014-01-23  Andrei Bucur  <abucur@adobe.com>
118
119         [CSS Regions] Convert regions iterator loops to range-based loops
120         https://bugs.webkit.org/show_bug.cgi?id=127464
121
122         Reviewed by Antti Koivisto.
123
124         Replace most of the iterator loops in the region implementation with
125         range based for loops. The for loops that iterate only over subsets
126         of collections have not been changed.
127
128         Tests: no new tests, this is a refactoring patch.
129
130         * dom/WebKitNamedFlow.cpp:
131         (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
132         (WebCore::WebKitNamedFlow::getRegionsByContent):
133         (WebCore::WebKitNamedFlow::getRegions):
134         (WebCore::WebKitNamedFlow::getContent):
135         * inspector/InspectorOverlay.cpp:
136         (WebCore::buildObjectForCSSRegionsHighlight):
137         * rendering/RenderFlowThread.cpp:
138         (WebCore::RenderFlowThread::validateRegions):
139         (WebCore::RenderFlowThread::updateLogicalWidth):
140         (WebCore::RenderFlowThread::computeLogicalHeight):
141         (WebCore::RenderFlowThread::repaintRectangleInRegions):
142         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
143         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
144         (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
145         (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
146         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
147         (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
148         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
149         (WebCore::RenderFlowThread::collectLayerFragments):
150         (WebCore::RenderFlowThread::fragmentsBoundingBox):
151         * rendering/RenderNamedFlowFragment.cpp:
152         (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
153         (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
154         * rendering/RenderNamedFlowThread.cpp:
155         (WebCore::RenderNamedFlowThread::clearContentElements):
156         (WebCore::RenderNamedFlowThread::nextRendererForNode):
157         (WebCore::RenderNamedFlowThread::dependsOn):
158         (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
159         (WebCore::RenderNamedFlowThread::checkInvalidRegions):
160         (WebCore::RenderNamedFlowThread::pushDependencies):
161         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
162         (WebCore::isContainedInElements):
163         (WebCore::RenderNamedFlowThread::getRanges):
164         (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
165         (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
166         * rendering/RenderTreeAsText.cpp:
167         (WebCore::writeRenderRegionList):
168
169 2014-01-23  László Langó  <llango.u-szeged@partner.samsung.com>
170
171         Range should be constructable.
172         https://bugs.webkit.org/show_bug.cgi?id=115639
173
174         Reviewed by Ryosuke Niwa.
175
176         http://www.w3.org/TR/2013/WD-dom-20131107/#interface-range
177         Now we can do `new Range()` instead of `document.createRange()`.
178
179         Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/47ca40efdf58a4787aa33aa75a35778899b1c002%5E%21
180
181         Test: fast/dom/Range/range-constructor.html
182
183         * dom/Range.cpp:
184         (WebCore::Range::create):
185         * dom/Range.h:
186         * dom/Range.idl:
187
188 2014-01-23  ChangSeok Oh  <changseok.oh@collabora.com>
189
190         Unreviewed build fix for gles after r162565. Add missing definitions.
191
192         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
193         (WebCore::GraphicsContext3D::drawArraysInstanced):
194         (WebCore::GraphicsContext3D::drawElementsInstanced):
195         (WebCore::GraphicsContext3D::vertexAttribDivisor):
196
197 2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
198
199         [GLIB] Use GUniquePtr instead of GOwnPtr
200         https://bugs.webkit.org/show_bug.cgi?id=127431
201
202         Reviewed by Martin Robinson.
203
204         GUniquePtr is a template alias of std::unique_ptr with a custom
205         deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
206         where the output pointer is needed, but it will also be replaced soon.
207
208         * GNUmakefile.list.am:
209         * PlatformGTK.cmake:
210         * accessibility/atk/AXObjectCacheAtk.cpp:
211         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
212         (getAttributeSetForAccessibilityObject):
213         (accessibilityObjectLength):
214         (textExtents):
215         (webkitAccessibleTextGetChar):
216         (numberOfReplacedElementsBeforeOffset):
217         * page/ContextMenuController.cpp:
218         * platform/SharedBuffer.h:
219         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
220         (webKitWebAudioSrcConstructed):
221         (webKitWebAudioSrcLoop):
222         * platform/audio/gtk/AudioBusGtk.cpp:
223         (WebCore::AudioBus::loadPlatformResource):
224         * platform/geoclue/GeolocationProviderGeoclue.cpp:
225         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
226         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
227         (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
228         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
229         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
230         (webKitMediaSrcAddSrc):
231         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
232         (webKitWebSrcStart):
233         (ResourceHandleStreamingClient::wasBlocked):
234         (ResourceHandleStreamingClient::cannotShowURL):
235         * platform/graphics/gtk/ImageBufferGtk.cpp:
236         (WebCore::encodeImage):
237         (WebCore::ImageBuffer::toDataURL):
238         * platform/graphics/gtk/ImageGtk.cpp:
239         (WebCore::getThemeIconFileName):
240         (WebCore::Image::loadPlatformResource):
241         * platform/gtk/ContextMenuGtk.cpp:
242         (WebCore::ContextMenu::itemCount):
243         (WebCore::contextMenuItemVector):
244         * platform/gtk/ContextMenuItemGtk.cpp:
245         (WebCore::createPlatformMenuItemDescription):
246         * platform/gtk/DataObjectGtk.cpp:
247         (WebCore::DataObjectGtk::setURIList):
248         (WebCore::DataObjectGtk::setURL):
249         * platform/gtk/FileSystemGtk.cpp:
250         (WebCore::filenameToString):
251         (WebCore::fileSystemRepresentation):
252         (WebCore::filenameForDisplay):
253         (WebCore::pathGetFileName):
254         (WebCore::applicationDirectoryPath):
255         (WebCore::sharedResourcesPath):
256         (WebCore::directoryName):
257         (WebCore::listDirectory):
258         (WebCore::openTemporaryFile):
259         * platform/gtk/GOwnPtrGtk.cpp: Removed.
260         * platform/gtk/GOwnPtrGtk.h: Removed.
261         * platform/gtk/GUniquePtrGtk.h: Added.
262         * platform/gtk/GamepadsGtk.cpp:
263         (WebCore::GamepadsGtk::GamepadsGtk):
264         * platform/gtk/GtkClickCounter.cpp:
265         (WebCore::GtkClickCounter::shouldProcessButtonEvent):
266         * platform/gtk/GtkInputMethodFilter.cpp:
267         (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
268         * platform/gtk/GtkPopupMenu.cpp:
269         (WebCore::GtkPopupMenu::popUp):
270         (WebCore::GtkPopupMenu::typeAheadFind):
271         * platform/gtk/LanguageGtk.cpp:
272         (WebCore::platformLanguage):
273         * platform/gtk/LocalizedStringsGtk.cpp:
274         (WebCore::imageTitle):
275         (WebCore::localizedMediaTimeDescription):
276         * platform/gtk/PasteboardHelper.cpp:
277         (WebCore::selectionDataToUTF8String):
278         (WebCore::PasteboardHelper::getClipboardContents):
279         (WebCore::PasteboardHelper::fillSelectionData):
280         * platform/gtk/PopupMenuGtk.cpp:
281         (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
282         (WebCore::PopupMenuGtk::show):
283         * platform/gtk/WebKitAuthenticationWidget.cpp:
284         (webkitAuthenticationWidgetInitialize):
285         * platform/network/ResourceHandleInternal.h:
286         * platform/network/gtk/CredentialBackingStore.cpp:
287         (WebCore::credentialForChallengeAsyncReadyCallback):
288         * platform/network/soup/CookieJarSoup.cpp:
289         (WebCore::setCookiesFromDOM):
290         (WebCore::cookiesForSession):
291         (WebCore::getRawCookies):
292         (WebCore::deleteCookie):
293         (WebCore::getHostnamesWithCookies):
294         (WebCore::deleteCookiesForHostname):
295         (WebCore::deleteAllCookies):
296         * platform/network/soup/DNSSoup.cpp:
297         * platform/network/soup/GUniquePtrSoup.h: Added.
298         * platform/network/soup/ResourceErrorSoup.cpp:
299         (WebCore::failingURI):
300         * platform/network/soup/ResourceHandleSoup.cpp:
301         (WebCore::ResourceHandle::ensureReadBuffer):
302         (WebCore::cleanupSoupRequestOperation):
303         (WebCore::createSoupRequestAndMessageForHandle):
304         * platform/network/soup/ResourceRequestSoup.cpp:
305         (WebCore::ResourceRequest::updateSoupMessageMembers):
306         (WebCore::ResourceRequest::updateSoupMessage):
307         * platform/network/soup/ResourceResponseSoup.cpp:
308         * platform/network/soup/SoupURIUtils.cpp:
309         (WebCore::soupURIToKURL):
310         * platform/soup/SharedBufferSoup.cpp:
311         (WebCore::SharedBuffer::SharedBuffer):
312         (WebCore::SharedBuffer::clearPlatformData):
313         (WebCore::SharedBuffer::maybeTransferPlatformData):
314         (WebCore::SharedBuffer::hasPlatformData):
315         * plugins/gtk/PluginPackageGtk.cpp:
316         (WebCore::PluginPackage::fetchInfo):
317         (WebCore::PluginPackage::load):
318
319 2014-01-22  Simon Fraser  <simon.fraser@apple.com>
320
321         Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
322         https://bugs.webkit.org/show_bug.cgi?id=127461
323
324         Reviewed by Andreas Kling.
325
326         The "fixedVisibleContentRect" code path is only used by platforms
327         which enabled TILED_BACKING_STORE, so to reduce confusion, surround
328         this code with #if USE(TILED_BACKING_STORE).
329
330         * page/Frame.cpp:
331         (WebCore::Frame::createView):
332         * page/FrameView.cpp:
333         * page/FrameView.h:
334         * platform/ScrollView.cpp:
335         (WebCore::ScrollView::unscaledVisibleContentSize):
336         (WebCore::ScrollView::visibleContentRect):
337         * platform/ScrollView.h:
338         (WebCore::ScrollView::visibleSize):
339
340 2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
341
342         ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
343         https://bugs.webkit.org/show_bug.cgi?id=126987
344
345         Reviewed by Simon Fraser.
346
347         When "inherit" is specified and there is no parent, Length values have an "Auto" type
348
349         Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html
350
351         * rendering/style/RenderStyle.cpp:
352         (WebCore::RenderStyle::setWordSpacing):
353
354 2014-01-22  Samuel White  <samuel_white@apple.com>
355
356         AX: Can't always increment web sliders.
357         https://bugs.webkit.org/show_bug.cgi?id=127451
358
359         Reviewed by Chris Fleizach.
360
361         Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).
362
363         Test: accessibility/range-alter-by-percent.html
364
365         * accessibility/AccessibilityNodeObject.cpp:
366         (WebCore::AccessibilityNodeObject::changeValueByPercent):
367
368 2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
369
370         Remove CSS3_TEXT_DECORATION define
371         https://bugs.webkit.org/show_bug.cgi?id=127333
372
373         Reviewed by Simon Fraser.
374
375         This is required for unprefixing the text-decoration-* CSS properties.
376
377         No new tests are necessary becase the flag was already on by default.
378
379         * Configurations/FeatureDefines.xcconfig:
380         * css/CSSComputedStyleDeclaration.cpp:
381         (WebCore::renderTextDecorationSkipFlagsToCSSValue):
382         (WebCore::ComputedStyleExtractor::propertyValue):
383         * css/CSSParser.cpp:
384         (WebCore::isColorPropertyID):
385         (WebCore::CSSParser::parseValue):
386         (WebCore::CSSParser::addTextDecorationProperty):
387         (WebCore::CSSParser::parseTextUnderlinePosition):
388         * css/CSSParser.h:
389         * css/CSSPrimitiveValueMappings.h:
390         (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
391         * css/CSSPropertyNames.in:
392         * css/CSSValueKeywords.in:
393         * css/DeprecatedStyleBuilder.cpp:
394         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
395         * css/StylePropertyShorthand.cpp:
396         (WebCore::webkitTextDecorationShorthand):
397         (WebCore::shorthandForProperty):
398         (WebCore::matchingShorthandsForLonghand):
399         * css/StylePropertyShorthand.h:
400         * css/StyleResolver.cpp:
401         (WebCore::shouldApplyPropertyInParseOrder):
402         (WebCore::isValidVisitedLinkProperty):
403         (WebCore::StyleResolver::applyProperty):
404         * platform/graphics/GraphicsContext.h:
405         * platform/graphics/cairo/GraphicsContextCairo.cpp:
406         (WebCore::GraphicsContext::setPlatformStrokeStyle):
407         * platform/graphics/cg/GraphicsContextCG.cpp:
408         (WebCore::GraphicsContext::platformInit):
409         * platform/graphics/wince/GraphicsContextWinCE.cpp:
410         (WebCore::createPen):
411         * rendering/InlineFlowBox.cpp:
412         (WebCore::InlineFlowBox::computeMaxLogicalTop):
413         * rendering/InlineFlowBox.h:
414         * rendering/InlineTextBox.cpp:
415         (WebCore::textDecorationStyleToStrokeStyle):
416         (WebCore::boundingBoxForAllActiveDecorations):
417         (WebCore::InlineTextBox::paintDecoration):
418         * rendering/RenderObject.cpp:
419         (WebCore::decorationColor):
420         * rendering/RootInlineBox.cpp:
421         (WebCore::RootInlineBox::maxLogicalTop):
422         * rendering/RootInlineBox.h:
423         * rendering/style/RenderStyle.cpp:
424         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
425         (WebCore::RenderStyle::colorIncludingFallback):
426         (WebCore::RenderStyle::visitedDependentColor):
427         * rendering/style/RenderStyle.h:
428         * rendering/style/RenderStyleConstants.h:
429         * rendering/style/StyleRareInheritedData.cpp:
430         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
431         (WebCore::StyleRareInheritedData::operator==):
432         * rendering/style/StyleRareInheritedData.h:
433         * rendering/style/StyleRareNonInheritedData.cpp:
434         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
435         (WebCore::StyleRareNonInheritedData::operator==):
436         * rendering/style/StyleRareNonInheritedData.h:
437
438 2014-01-22  Chris Fleizach  <cfleizach@apple.com>
439
440         AX: Do not return an accessible name for an object just because it has tabindex=0
441         https://bugs.webkit.org/show_bug.cgi?id=126914
442
443         Reviewed by Mario Sanchez Prada.
444
445         WebKit has code to return an accessible name for any object that is "generically" focusable (ie. tabindex=0).
446         This behavior, which is not supported in ARIA, has caused many problems for VoiceOver. Often VoiceOver will
447         speak all the text underneath any type of group.
448
449         I think we need to revert this behavior and follow the ARIA spec more closely.
450
451         Test: accessibility/aria-describedby-ensures-visibility.html
452
453         * accessibility/AccessibilityNodeObject.cpp:
454         (WebCore::AccessibilityNodeObject::visibleText):
455         (WebCore::AccessibilityNodeObject::title):
456
457 2014-01-22  Brady Eidson  <beidson@apple.com>
458
459         The IDB backing store get() method shouldn't call IDB callbacks directly
460         https://bugs.webkit.org/show_bug.cgi?id=127453
461
462         Reviewed by Beth Dakin.
463
464         * Modules/indexeddb/IDBServerConnection.h:
465         (WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the
466           possible results of a get() call.
467
468         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
469         (WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.
470           Instead, return the GetResult to the GetOperation which will make IDBCallbacks.
471         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
472
473         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
474         (WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback
475           make the appropriate IDBCallback.
476         * Modules/indexeddb/IDBTransactionBackendOperations.h:
477
478 2014-01-22  Dean Jackson  <dino@apple.com>
479
480         Unreviewed attempt to fix 32-bit builds.
481
482         Use long long rather than GC3Dintptr.
483
484         * html/canvas/ANGLEInstancedArrays.cpp:
485         (WebCore::ANGLEInstancedArrays::drawElementsInstancedANGLE):
486         * html/canvas/ANGLEInstancedArrays.h:
487         * html/canvas/WebGLRenderingContext.cpp:
488         (WebCore::WebGLRenderingContext::drawElementsInstanced):
489         * html/canvas/WebGLRenderingContext.h:
490
491 2014-01-21  Brady Eidson  <beidson@apple.com>
492
493         IDB: "Put" support
494         <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
495
496         Reviewed by Alexey Proskuryakov.
497
498         Add persistent encode/decode for storage to the database:
499         * Modules/indexeddb/IDBKey.cpp:
500         (WebCore::IDBKey::encode):
501         (WebCore::IDBKey::decode):
502         * Modules/indexeddb/IDBKey.h:
503
504         Add a data class to represent IDBKey suitable for crossing IPC:
505         * Modules/indexeddb/IDBKeyData.cpp: Added.
506         (WebCore::IDBKeyData::IDBKeyData):
507         (WebCore::IDBKeyData::maybeCreateIDBKey):
508         (WebCore::IDBKeyData::isolatedCopy):
509         * Modules/indexeddb/IDBKeyData.h: Added.
510         (WebCore::IDBKeyData::IDBKeyData):
511
512         * platform/CrossThreadCopier.cpp:
513         (WebCore::IDBKeyData>::copy):
514         * platform/CrossThreadCopier.h:
515
516         * WebCore.exp.in:
517         * WebCore.xcodeproj/project.pbxproj:
518
519 2014-01-22  Dean Jackson  <dino@apple.com>
520
521         [WebGL] Implement ANGLE_instanced_arrays
522         https://bugs.webkit.org/show_bug.cgi?id=127257
523
524         Reviewed by Brent Fulgham.
525
526         Implement the instanced drawing WebGL extension,
527         ANGLE_instanced_arrays. This is currently Mac-only,
528         but should be portable to other platforms if their
529         OpenGL exposes the functions. It's also done in a way
530         that will make exposing it to WebGL2 simple.
531
532         Test: fast/canvas/webgl/angle-instanced-arrays.html
533
534         * CMakeLists.txt:
535         * DerivedSources.cpp:
536         * DerivedSources.make:
537         * GNUmakefile.list.am:
538         * WebCore.vcxproj/WebCore.vcxproj:
539         * WebCore.vcxproj/WebCore.vcxproj.filters:
540         * WebCore.xcodeproj/project.pbxproj:
541         Add the new files to all the build systems.
542
543         * bindings/js/JSWebGLRenderingContextCustom.cpp:
544         (WebCore::toJS): Link JS side to C++ side.
545
546         * html/canvas/ANGLEInstancedArrays.cpp: Added.
547         (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
548         * html/canvas/ANGLEInstancedArrays.h: Added.
549         * html/canvas/ANGLEInstancedArrays.idl: Added.
550         New boilerplate files that expose the extension methods.
551
552         * html/canvas/WebGLExtension.h: New extension enum.
553
554         * html/canvas/WebGLRenderingContext.cpp:
555         (WebCore::WebGLRenderingContext::validateVertexAttributes): Add an optional
556         parameter representing the number of instance primitives we are asked
557         to draw. Use that for the draw count if looking at an instanced attribute.
558         Also make sure we see at least one non-instanced attribute.
559         (WebCore::WebGLRenderingContext::validateDrawArrays): Update this so it could
560         be used from either drawArrays or drawArraysInstanced.
561         (WebCore::WebGLRenderingContext::drawArrays):
562         (WebCore::WebGLRenderingContext::validateDrawElements): Same here, now can be
563         used by the instanced and non-instanced versions.
564         (WebCore::WebGLRenderingContext::drawElements):
565         (WebCore::WebGLRenderingContext::getExtension): Create and return the new extension.
566         (WebCore::WebGLRenderingContext::getSupportedExtensions): Add new extension to the list.
567         (WebCore::WebGLRenderingContext::getVertexAttrib): Intercept a query to the divisor
568         attribute and return the value we kept in the state.
569         (WebCore::WebGLRenderingContext::drawArraysInstanced): Call the GC3D method.
570         (WebCore::WebGLRenderingContext::drawElementsInstanced): Ditto.
571         (WebCore::WebGLRenderingContext::vertexAttribDivisor): Ditto.
572
573         * html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.
574
575         * html/canvas/WebGLVertexArrayObjectOES.cpp:
576         (WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Keep a record of the
577         divisor if we set it.
578         * html/canvas/WebGLVertexArrayObjectOES.h:
579         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
580
581         * platform/graphics/GraphicsContext3D.h: New enum.
582         * platform/graphics/mac/GraphicsContext3DMac.mm:
583         (WebCore::GraphicsContext3D::drawArraysInstanced): The actual calls into OpenGL.
584         (WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
585         (WebCore::GraphicsContext3D::vertexAttribDivisor): Ditto.
586
587         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations
588         for non-mac platforms.
589
590         * platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the
591         functions.
592
593 2014-01-22  Zalan Bujtas  <zalan@apple.com>
594
595         [CSS Shapes] shape-inside rectangle layout can fail
596         https://bugs.webkit.org/show_bug.cgi?id=124784
597
598         Reviewed by Darin Adler.
599
600         Early subpixel rounding/flooring/ceiling can have unwanted
601         side effect on the final pixel value. Delay pixel
602         conversions as much as possible.
603
604         Existing test is changed to reflect subpixel functionality.
605
606         * rendering/shapes/RectangleShape.cpp:
607         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
608
609 2014-01-22  Jochen Eisinger  <jochen@chromium.org>
610
611         Add protocolIsInHTTPFamily for strings and use it where appropriate
612         https://bugs.webkit.org/show_bug.cgi?id=127336
613
614         Reviewed by Alexey Proskuryakov.
615
616         * html/HTMLAnchorElement.cpp:
617         (WebCore::HTMLAnchorElement::parseAttribute):
618         * page/ContentSecurityPolicy.cpp:
619         (WebCore::CSPSource::schemeMatches):
620         * page/SecurityPolicy.cpp:
621         (WebCore::SecurityPolicy::generateReferrerHeader):
622         * platform/URL.cpp:
623         (WebCore::protocolIsInHTTPFamily):
624         * platform/URL.h:
625
626 2014-01-22  Zalan Bujtas  <zalan@apple.com>
627
628         Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
629         https://bugs.webkit.org/show_bug.cgi?id=127404
630
631         Reviewed by Antti Koivisto.
632
633         In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
634         round line positions to CSS (integral) position similarly to InlineFlowBox.
635
636         Existing tests cover it.
637
638         * rendering/SimpleLineLayoutResolver.h:
639         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
640         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
641
642 2014-01-22  Joseph Pecoraro  <pecoraro@apple.com>
643
644         Unreviewed rollout of r162534, this caused inspector test failures.
645
646         * bindings/js/PageScriptDebugServer.cpp:
647         (WebCore::PageScriptDebugServer::addListener):
648         (WebCore::PageScriptDebugServer::removeListener):
649         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
650         (WebCore::PageScriptDebugServer::didRemoveLastListener):
651         * bindings/js/PageScriptDebugServer.h:
652         * bindings/js/ScriptDebugServer.cpp:
653         (WebCore::ScriptDebugServer::ScriptDebugServer):
654         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
655         (WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
656         * bindings/js/ScriptDebugServer.h:
657         * bindings/js/WorkerScriptDebugServer.cpp:
658         (WebCore::WorkerScriptDebugServer::addListener):
659         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
660         (WebCore::WorkerScriptDebugServer::removeListener):
661         * inspector/InspectorProfilerAgent.cpp:
662
663 2014-01-22  peavo@outlook.com  <peavo@outlook.com>
664
665         Crashes in setTextForIterator
666         https://bugs.webkit.org/show_bug.cgi?id=127424
667
668         Reviewed by Brent Fulgham.
669
670         * platform/text/icu/UTextProviderLatin1.cpp:
671         (WebCore::uTextLatin1Clone): Provide correct buffer size in utext_setup function call.
672         (WebCore::uTextLatin1Access): Give correct buffer size to memset call.
673         (WebCore::openLatin1UTextProvider): Ditto.
674
675 2014-01-22  Jer Noble  <jer.noble@apple.com>
676
677         [Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
678         https://bugs.webkit.org/show_bug.cgi?id=127430
679
680         Reviewed by Eric Carlson.
681
682         When other registered media engines cannot load a URL, the engine selection
683         will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
684         the URL. Instead of ASSERTing here, simply reject the URL by setting the
685         network state to FormatError.
686
687         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
688         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
689
690 2014-01-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
691
692         [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
693         https://bugs.webkit.org/show_bug.cgi?id=127119
694
695         Reviewed by Mario Sanchez Prada.
696
697         At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
698         ACCESSIBILITY is not enabled, fixing that.
699         Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.
700
701         * accessibility/AXObjectCache.h:
702         (WebCore::AXObjectCache::AXObjectCache):
703         * accessibility/AccessibilityObject.h:
704
705 2014-01-22  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
706
707         Refactor calculation of hasRx and hasRy values in SVGPathData
708         https://bugs.webkit.org/show_bug.cgi?id=127423
709
710         Reviewed by Darin Adler.
711
712         This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337
713
714         * rendering/svg/SVGPathData.cpp:
715         (WebCore::updatePathFromRectElement):
716
717 2014-01-21  Joseph Pecoraro  <pecoraro@apple.com>
718
719         Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
720         https://bugs.webkit.org/show_bug.cgi?id=127409
721
722         Reviewed by Timothy Hatcher.
723
724         * bindings/js/ScriptDebugServer.h:
725         * bindings/js/ScriptDebugServer.cpp:
726         (WebCore::ScriptDebugServer::ScriptDebugServer):
727         Remove m_recompileTimer and the recompile soon function.
728         We can just recompile immediately in all existing cases.
729
730         * bindings/js/PageScriptDebugServer.h:
731         * bindings/js/PageScriptDebugServer.cpp:
732         (WebCore::PageScriptDebugServer::addListener):
733         (WebCore::PageScriptDebugServer::removeListener):
734         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
735         (WebCore::PageScriptDebugServer::didAddFirstListener):
736         (WebCore::PageScriptDebugServer::didRemoveLastListener):
737         Add a "didAddFirstListener" to match "didRemoveLastListener".
738         Only recompile functions when we attach the debugger and when
739         we detach the last listener.
740
741         * bindings/js/WorkerScriptDebugServer.cpp:
742         (WebCore::WorkerScriptDebugServer::addListener):
743         (WebCore::WorkerScriptDebugServer::removeListener):
744         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
745         Same thing. Also rearrange the functions to read better.
746
747         * inspector/InspectorProfilerAgent.cpp:
748         Use the direct recompile function instead of the removed "soon" version.
749
750 2014-01-22  Robert Sipka  <sipka@inf.u-szeged.hu>
751
752         [curl] Improve detecting and handling of SSL client certificate
753         https://bugs.webkit.org/show_bug.cgi?id=125006
754
755         Reviewed by Brent Fulgham.
756
757         Add client certificate handling.
758
759         * platform/network/ResourceHandle.h:
760         * platform/network/curl/ResourceError.h:
761         (WebCore::ResourceError::hasSSLConnectError):
762         * platform/network/curl/ResourceHandleCurl.cpp:
763         (WebCore::ResourceHandle::setClientCertificateInfo):
764         * platform/network/curl/ResourceHandleManager.cpp:
765         (WebCore::ResourceHandleManager::initializeHandle):
766         * platform/network/curl/SSLHandle.cpp:
767         (WebCore::addAllowedClientCertificate):
768         (WebCore::setSSLClientCertificate):
769         * platform/network/curl/SSLHandle.h:
770
771 2014-01-22  Mihai Maerean  <mmaerean@adobe.com>
772
773         [CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
774         https://bugs.webkit.org/show_bug.cgi?id=127343
775
776         Reviewed by Sam Weinig.
777
778         RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
779         contexts which create layers.
780
781         No new tests, no functional change.
782
783         * rendering/RenderFlowThread.cpp:
784         (WebCore::RenderFlowThread::hasCompositingRegionDescendant):
785         * rendering/RenderLayer.cpp:
786         (WebCore::RenderLayer::calculateClipRects):
787         * rendering/RenderLayerBacking.cpp:
788         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
789         * rendering/RenderLayerCompositor.cpp:
790         (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
791         * rendering/RenderNamedFlowFragment.h:
792
793 2014-01-22  Antti Koivisto  <antti@apple.com>
794
795         Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
796         https://bugs.webkit.org/show_bug.cgi?id=127426
797
798         Reviewed by Anders Carlsson.
799         
800         * rendering/RenderLayerCompositor.cpp:
801         (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
802         (WebCore::RenderLayerCompositor::frameViewDidScroll):
803
804             Factor scroll layer position update to a function.
805
806         (WebCore::RenderLayerCompositor::ensureRootLayer):
807         
808             Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
809             directly. This avoid unthrottled layer flush that is done when the view actually scrolls.
810
811         * rendering/RenderLayerCompositor.h:
812
813 2014-01-22  Mihai Tica  <mitica@adobe.com>
814
815         [CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
816         https://bugs.webkit.org/show_bug.cgi?id=127350
817
818         Reviewed by Dirk Schulze.
819
820         The graphics context of the SVG inherits the blend mode set
821         on the background layer. Fix consists in drawing the SVG
822         in a transparency layer.
823
824         Test: css3/compositing/background-blend-mode-svg.html
825
826         * svg/graphics/SVGImage.cpp:
827         (WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.
828
829 2014-01-22  Antti Koivisto  <antti@apple.com>
830
831         Update overlay scrollbars in single pass
832         https://bugs.webkit.org/show_bug.cgi?id=127289
833
834         Reviewed by Anders Carlsson.
835
836         * platform/ScrollView.cpp:
837         (WebCore::ScrollView::updateScrollbars):
838         
839             Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
840
841 2014-01-22  Mihnea Ovidenie  <mihnea@adobe.com>
842
843         [CSSRegions] Incorrect layout of a region pseudo children
844         https://bugs.webkit.org/show_bug.cgi?id=126146
845
846         Reviewed by David Hyatt.
847
848         Test: fast/regions/collapse-anonymous-region.html
849
850         A region behaviour, styled using -webkit-flow-from, is modeled using an anonymous
851         block created to fragment the named flow content inside the region. We have to prevent
852         the behaviour of anonymous children collapsing for this block to make sure that the
853         region element children are still laid out properly when the region element becomes an ordinary
854         element.
855
856         * rendering/RenderBlockFlow.h:
857
858 2014-01-21  Ryuan Choi  <ryuan.choi@samsung.com>
859
860         Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
861         https://bugs.webkit.org/show_bug.cgi?id=127402
862
863         Reviewed by Anders Carlsson.
864
865         compositing/iframes/iframe-composited-scrolling.html is updated because
866         there are no usages in WebCore.
867
868         * page/Settings.in:
869
870 2014-01-21  Alex Christensen  <achristensen@webkit.org>
871
872         Compile fix for using libsoup on Windows.
873         https://bugs.webkit.org/show_bug.cgi?id=127377
874
875         Reviewed by Daniel Bates.
876
877         * platform/network/soup/ProxyResolverSoup.cpp:
878         (soupProxyResolverWkSetProperty):
879         (soupProxyResolverWkGetProperty):
880         (soupProxyResolverWkGetProxyURISync):
881         Replaced uint with unsigned.
882
883 2014-01-21  Daniel Bates  <dabates@apple.com>
884
885         Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()
886
887         Following up after <http://trac.webkit.org/changeset/162473>, we should break up
888         the assertion into two assertions as suggested by Darin Adler. Separating the single
889         assertion into two assertions makes it straightforward to determine the conjunct that
890         failed among other benefits.
891
892         * html/HTMLMediaElement.cpp:
893         (WebCore::HTMLMediaElement::parseAttribute):
894
895 2014-01-21  Brady Eidson  <beidson@apple.com>
896
897         The IDB backing store put() method shouldn't call IDB callbacks directly
898         https://bugs.webkit.org/show_bug.cgi?id=127399
899
900         Reviewed by Beth Dakin.
901
902         Refactor the put() callback to take a resulting key or an error.
903         * Modules/indexeddb/IDBServerConnection.h:
904
905         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
906         (WebCore::PutOperation::perform): Call to the backing store, then perform the
907           appropriate IDB callback whether a key or an error was returned.
908         * Modules/indexeddb/IDBTransactionBackendOperations.h:
909
910         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
911         (WebCore::IDBServerConnectionLevelDB::put): Don’t call IDB callbacks directly.
912           Instead, pass the resulting key/error back to the PutOperation.
913         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
914
915 2014-01-21  Jae Hyun Park  <jae.park@company100.net>
916
917         Use nullptr in HTMLCanvasElement
918         https://bugs.webkit.org/show_bug.cgi?id=127388
919
920         Reviewed by Gyuyoung Kim.
921
922         * html/HTMLCanvasElement.cpp:
923         (WebCore::HTMLCanvasElement::getContext):
924         (WebCore::HTMLCanvasElement::drawingContext):
925         (WebCore::HTMLCanvasElement::existingDrawingContext):
926
927 2014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>
928
929         Assertion failure in Range::nodeWillBeRemoved
930         https://bugs.webkit.org/show_bug.cgi?id=121694
931
932         Reviewed by Ryosuke Niwa.
933
934         Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa
935
936         This patch fix an assertion failure. Range::nodeWillBeRemoved() might
937         be called with removed node in ContainerNode, when DOMNodeRemovedFromDocument
938         event handler calls removeChild(), for node being removed.
939
940         Test: fast/dom/Range/remove-twice-crash.html
941
942         * dom/ContainerNode.cpp:
943         (WebCore::ContainerNode::willRemoveChild):
944         * dom/ContainerNode.h:
945
946 2014-01-21  Tim Horton  <timothy_horton@apple.com>
947
948         REGRESSION (r161580): Some PDFs render outside their <img>
949         https://bugs.webkit.org/show_bug.cgi?id=127381
950         <rdar://problem/15872168>
951
952         Reviewed by Simon Fraser.
953
954         * platform/graphics/cg/PDFDocumentImage.cpp:
955         (WebCore::transformContextForPainting):
956         Only try to make the scale uniform if it isn't already, and use the minimum
957         of the two original scales when doing so, so that it is absolutely certain
958         to fit inside space allocated for the image during layout.
959
960 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
961
962         Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
963         https://bugs.webkit.org/show_bug.cgi?id=127373
964
965         Reviewed by Beth Dakin.
966
967         Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
968         move the #ifdef inside viewportConstrainedVisibleContentRect().
969         
970         The one call site that needs special handling is RenderLayerBacking::updateCompositedBounds(),
971         which needs to avoid clipping fixed layers to the custom fixed position rect, but instead to
972         visibleContentRect() (which is really the document bounds on iOS). This ensures that the
973         fixed layers aren't clipped when zooming out.
974
975         * page/FrameView.cpp:
976         (WebCore::FrameView::viewportConstrainedVisibleContentRect):
977         * rendering/RenderBoxModelObject.cpp:
978         (WebCore::RenderBoxModelObject::stickyPositionOffset):
979         * rendering/RenderLayerBacking.cpp:
980         (WebCore::RenderLayerBacking::updateCompositedBounds):
981         * rendering/RenderLayerCompositor.cpp:
982         (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
983         (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
984         (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
985
986 2014-01-21  Andy Estes  <aestes@apple.com>
987
988         [iOS] Allow all clients to link against WebCore
989         https://bugs.webkit.org/show_bug.cgi?id=127372
990         
991         Reviewed by Dan Bernstein.
992
993         * Configurations/WebCore.xcconfig:
994
995 2014-01-21  Bear Travis  <betravis@adobe.com>
996
997         [CSS Shapes] Preserve box-shape order when serializing shape values
998         https://bugs.webkit.org/show_bug.cgi?id=127200
999
1000         Reviewed by Dirk Schulze.
1001
1002         Convert the parsed shape-box pair to a CSSValueList rather than directly
1003         adding the box value to BasicShape. The CSSValueList preserves the
1004         shape-box ordering, and cleans up a little bit of the code shared between
1005         clip and shape values.
1006
1007         Modifying existing parsing tests.
1008
1009         * css/CSSComputedStyleDeclaration.cpp:
1010         (WebCore::shapePropertyValue): Factor out code common to generating shape
1011         values.
1012         (WebCore::ComputedStyleExtractor::propertyValue): Generate a CSSValueList when
1013         you have both a shape and a box.
1014         * css/CSSParser.cpp:
1015         (WebCore::CSSParser::parseBasicShapeAndOrBox): Factor out code common to clip
1016         paths and shape properties that parses the [basic-shape || box] syntax from
1017         the CSS Shapes spec.
1018         (WebCore::CSSParser::parseShapeProperty): Parse shape-box pairs as a CSSValueList.
1019         * css/DeprecatedStyleBuilder.cpp:
1020         (WebCore::ApplyPropertyShape::applyValue): Use the CSSValueList for shape-box pairs.
1021         * css/CSSValueList.h:
1022         (WebCore::CSSValueList::itemWithoutBoundsCheck): Add a const version.
1023         * page/animation/CSSPropertyAnimation.cpp:
1024         (WebCore::blendFunc): Specify a box when blending.
1025         * rendering/style/ShapeValue.h:
1026         (WebCore::ShapeValue::createShapeValue): Add a box parameter.
1027         (WebCore::ShapeValue::ShapeValue): Ditto.
1028
1029 2014-01-21  Daniel Bates  <dabates@apple.com>
1030
1031         Fix the iOS Simulator release build
1032
1033         Substitute ASSERT_UNUSED() for ASSERT() to resolve a compiler warning
1034         that the argument platformLayer is unused. The argument platformLayer
1035         is only used in the asserted condition, which isn't compiled in a
1036         release build; => the argument is unused in a release build.
1037
1038         * html/HTMLMediaElement.cpp:
1039         (WebCore::HTMLMediaElement::parseAttribute):
1040
1041 2014-01-21  Zoltan Horvath  <zoltan@webkit.org>
1042
1043         Since MidpointState is a class, it should behave like a class
1044         https://bugs.webkit.org/show_bug.cgi?id=127154
1045
1046         Reviewed by David Hyatt.
1047
1048         I modified MidpointState to behave like a class, updated the call sites also.
1049
1050         No new tests, no behavior change.
1051
1052         * platform/text/BidiResolver.h:
1053         (WebCore::MidpointState::reset):
1054         (WebCore::MidpointState::startIgnoringSpaces):
1055         (WebCore::MidpointState::stopIgnoringSpaces):
1056         (WebCore::MidpointState::midpoints):
1057         (WebCore::MidpointState::numMidpoints):
1058         (WebCore::MidpointState::currentMidpoint):
1059         (WebCore::MidpointState::incrementCurrentMidpoint):
1060         (WebCore::MidpointState::decreaseNumMidpoints):
1061         (WebCore::MidpointState::betweenMidpoints):
1062         (WebCore::MidpointState::setBetweenMidpoints):
1063         (WebCore::MidpointState::addMidpoint): Renamed from deprecatedAddMidpoint, since now
1064         its private, we no longer need to discourage callers from using it.
1065         * rendering/InlineIterator.h:
1066         (WebCore::IsolateTracker::addFakeRunIfNecessary):
1067         * rendering/RenderBlockLineLayout.cpp:
1068         (WebCore::RenderBlockFlow::appendRunsForObject):
1069         (WebCore::constructBidiRunsForLine):
1070         * rendering/line/BreakingContextInlineHeaders.h:
1071         (WebCore::checkMidpoints):
1072         * rendering/line/TrailingObjects.cpp:
1073         (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
1074
1075 2014-01-21  Commit Queue  <commit-queue@webkit.org>
1076
1077         Unreviewed, rolling out r162452.
1078         http://trac.webkit.org/changeset/162452
1079         https://bugs.webkit.org/show_bug.cgi?id=127366
1080
1081         broke a few tests on all Mac WebKit1 bots (Requested by
1082         thorton on #webkit).
1083
1084         * WebCore.exp.in:
1085         * page/FocusController.cpp:
1086         (WebCore::FocusController::FocusController):
1087         (WebCore::FocusController::setFocused):
1088         (WebCore::FocusController::setActive):
1089         (WebCore::FocusController::setContentIsVisible):
1090         * page/FocusController.h:
1091         (WebCore::FocusController::isActive):
1092         (WebCore::FocusController::isFocused):
1093         * page/Page.cpp:
1094         (WebCore::Page::Page):
1095         (WebCore::Page::setIsInWindow):
1096         (WebCore::Page::setIsVisuallyIdle):
1097         (WebCore::Page::setIsVisible):
1098         (WebCore::Page::visibilityState):
1099         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
1100         * page/Page.h:
1101         (WebCore::Page::isVisible):
1102         (WebCore::Page::isInWindow):
1103
1104 2014-01-21  Chris Fleizach  <cfleizach@apple.com>
1105
1106         AX: Mac: Expose the visible text of a password field to AX
1107         https://bugs.webkit.org/show_bug.cgi?id=127353
1108
1109         Reviewed by Brent Fulgham.
1110
1111         The Mac platform should now expose the rendered value of password fields through AX.
1112
1113         Test: accessibility/password-field-value.html
1114
1115         * accessibility/AccessibilityRenderObject.cpp:
1116         (WebCore::AccessibilityRenderObject::textLength):
1117         (WebCore::AccessibilityRenderObject::passwordFieldValue):
1118
1119 2014-01-21  Robert Sipka  <sipka@inf.u-szeged.hu>
1120
1121         Support SSL error handling in case of synchronous job.
1122         https://bugs.webkit.org/show_bug.cgi?id=125301
1123
1124         Reviewed by Brent Fulgham.
1125
1126         Set ssl error informations for the users.
1127
1128         * platform/network/curl/ResourceHandleManager.cpp:
1129         (WebCore::ResourceHandleManager::dispatchSynchronousJob):
1130
1131 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
1132
1133         Export systemTotalMemory() and systemMemoryLevel() for MobileSafari
1134         https://bugs.webkit.org/show_bug.cgi?id=127360
1135
1136         Reviewed by Andy Estes.
1137         
1138         MobileSafari inappropriately calls these WebCore functions directly,
1139         so export them.
1140
1141         * WebCore.exp.in:
1142
1143 2014-01-21  Simon Fraser  <simon.fraser@apple.com>
1144
1145         Clean up PLATFORM(IOS) code related to the custom fixed position layout rect
1146         https://bugs.webkit.org/show_bug.cgi?id=127362
1147
1148         Reviewed by Dave Hyatt.
1149
1150         Various platforms customize the rect used to layout position:fixed elements,
1151         and each modified RenderBox::availableLogicalHeight/WidthUsing() in different
1152         ways.
1153         
1154         Clean this up by adding RenderView::clientLogicalWidth/HeightForFixedPosition(),
1155         and moving the platform hacks into it.
1156
1157         * rendering/RenderBox.cpp:
1158         (WebCore::RenderBox::availableLogicalHeightUsing):
1159         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
1160         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
1161         * rendering/RenderView.cpp:
1162         (WebCore::RenderView::clientLogicalWidthForFixedPosition):
1163         (WebCore::RenderView::clientLogicalHeightForFixedPosition):
1164         * rendering/RenderView.h:
1165
1166 2014-01-21  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
1167
1168         ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
1169         <https://webkit.org/b/108184>
1170
1171         Reviewed by Philip Rogers.
1172
1173         In the case a SMILElement timing had a syncbase dependency on an indefinite value
1174         the assert were raised. The assert has been removed and a check has been added
1175         instead that prevents the addition of indefinite times to the time list.
1176
1177         Test: svg/animations/smil-syncbase-self-dependency.svg
1178
1179         * svg/animation/SVGSMILElement.cpp:
1180         (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
1181           ASSERT removed.
1182
1183 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1184
1185         Address late review naming comments after r162453.
1186
1187         * WebCore.xcodeproj/project.pbxproj:
1188         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1189         * platform/graphics/mac/CALayerWebAdditions.h: Removed.
1190         * platform/graphics/mac/CALayerWebAdditions.mm: Removed.
1191         * platform/graphics/mac/WebCoreCALayerExtras.h: Added.
1192         * platform/graphics/mac/WebCoreCALayerExtras.mm: Added.
1193         (-[CALayer web_disableAllActions]):
1194
1195 2014-01-21  Tim Horton  <timothy_horton@apple.com>
1196
1197         Keep CALayer implicit animation disabling code in a single place
1198         https://bugs.webkit.org/show_bug.cgi?id=127355
1199
1200         Reviewed by Simon Fraser.
1201
1202         * WebCore.xcodeproj/project.pbxproj:
1203         Add CALayerWebAdditions.{h,mm}.
1204
1205         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1206         (PlatformCALayerMac::commonInit):
1207         Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.
1208
1209         * platform/graphics/mac/CALayerWebAdditions.h: Added.
1210         * platform/graphics/mac/CALayerWebAdditions.mm: Added.
1211         (-[CALayer web_disableAllActions]):
1212         Added. Disable all implicit actions on the layer.
1213
1214 2014-01-21  Gavin Barraclough  <barraclough@apple.com>
1215
1216         Change Page, FocusController to use ViewState
1217         https://bugs.webkit.org/show_bug.cgi?id=126533
1218
1219         Reviewed by Tim Horton.
1220
1221         These classes currently maintain a set of separate fields to represent the view state;
1222         combine these into a single field, and allow WebPage to send the combined update rather
1223         than individual changes.
1224
1225         Maintain existing interface for WebKit1 clients.
1226
1227         * WebCore.exp.in:
1228             - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
1229         * page/FocusController.cpp:
1230         (WebCore::FocusController::FocusController):
1231             - Initialize combined m_viewState.
1232         (WebCore::FocusController::setFocused):
1233             - Calls setViewState.
1234         (WebCore::FocusController::setFocusedInternal):
1235             - setFocused -> setFocusedInternal.
1236         (WebCore::FocusController::setViewState):
1237             - Added, update all ViewState flags.
1238         (WebCore::FocusController::setActive):
1239             - Calls setViewState.
1240         (WebCore::FocusController::setActiveInternal):
1241             - setActive -> setActiveInternal.
1242         (WebCore::FocusController::setContentIsVisible):
1243             - Calls setViewState.
1244         (WebCore::FocusController::setContentIsVisibleInternal):
1245             - setContentIsVisible -> setContentIsVisibleInternal.
1246         * page/FocusController.h:
1247         (WebCore::FocusController::isActive):
1248         (WebCore::FocusController::isFocused):
1249         (WebCore::FocusController::contentIsVisible):
1250             - Implemented in terms of ViewState.
1251         * page/Page.cpp:
1252         (WebCore::Page::Page):
1253             - Initialize using PageInitialViewState.
1254         (WebCore::Page::setIsInWindow):
1255             - Calls setViewState.
1256         (WebCore::Page::setIsInWindowInternal):
1257             - setIsInWindow -> setIsInWindowInternal.
1258         (WebCore::Page::setIsVisuallyIdleInternal):
1259             - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
1260         (WebCore::Page::setViewState):
1261             - Added, update all ViewState flags, including FocusController.
1262         (WebCore::Page::setIsVisible):
1263             - Calls setViewState.
1264         (WebCore::Page::setIsVisibleInternal):
1265             - setIsVisible -> setIsVisibleInternal.
1266         (WebCore::Page::visibilityState):
1267             - m_isVisible -> isVisible()
1268         (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
1269             - m_isVisible -> isVisible()
1270         * page/Page.h:
1271         (WebCore::Page::isVisible):
1272         (WebCore::Page::isInWindow):
1273             - Implemented in terms of ViewState.
1274         (WebCore::Page::scriptedAnimationsSuspended):
1275             - Combined member fields into ViewState::Flags.
1276
1277 2014-01-21  Lauro Neto  <lauro.neto@openbossa.org>
1278
1279         Remove PLATFORM(NIX) from WebCore
1280         https://bugs.webkit.org/show_bug.cgi?id=127299
1281
1282         Reviewed by Anders Carlsson.
1283
1284         * editing/Editor.cpp:
1285         (WebCore::Editor::cut):
1286         (WebCore::Editor::copy):
1287         (WebCore::Editor::copyImage):
1288         * editing/Editor.h:
1289         * html/HTMLCanvasElement.h:
1290         * loader/EmptyClients.h:
1291         * loader/FrameLoader.cpp:
1292         (WebCore::FrameLoader::defaultObjectContentType):
1293         * page/ChromeClient.h:
1294         * page/DragController.cpp:
1295         (WebCore::DragController::startDrag):
1296         * platform/Cursor.h:
1297         * platform/DragData.h:
1298         * platform/DragImage.h:
1299         * platform/FileSystem.h:
1300         * platform/LocalizedStrings.h:
1301         * platform/Widget.h:
1302         * platform/audio/FFTFrame.h:
1303         * platform/audio/HRTFElevation.cpp:
1304         * platform/cairo/WidgetBackingStore.h:
1305         * platform/graphics/ANGLEWebKitBridge.h:
1306         * platform/graphics/FontPlatformData.h:
1307         * platform/graphics/GLContext.cpp:
1308         (WebCore::GLContext::createContextForWindow):
1309         * platform/graphics/GLContext.h:
1310         * platform/graphics/GraphicsContext3D.h:
1311         * platform/graphics/GraphicsContext3DPrivate.cpp:
1312         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
1313         * platform/graphics/OpenGLESShims.h:
1314         * platform/graphics/OpenGLShims.cpp:
1315         (WebCore::getProcAddress):
1316         * platform/graphics/OpenGLShims.h:
1317         * platform/graphics/PlatformLayer.h:
1318         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1319         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1320         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
1321         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
1322         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
1323         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
1324         (WebCore::Extensions3DOpenGL::supportsExtension):
1325         * platform/graphics/opengl/Extensions3DOpenGL.h:
1326         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1327         * platform/graphics/opengl/Extensions3DOpenGLES.h:
1328         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1329         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1330         (WebCore::GraphicsContext3D::reshape):
1331         * platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
1332         * platform/graphics/texmap/TextureMapper.h:
1333         * platform/network/ResourceHandle.h:
1334         * plugins/PluginPackage.cpp:
1335         * plugins/PluginView.cpp:
1336         (WebCore::PluginView::PluginView):
1337         * plugins/PluginView.h:
1338         * plugins/PluginViewNone.cpp:
1339         * rendering/SimpleLineLayout.cpp:
1340         (WebCore::SimpleLineLayout::canUseFor):
1341
1342 2014-01-21  Eric Carlson  <eric.carlson@apple.com>
1343
1344         Add &lrm; &rlm; and &nbsp; to WebVTT parser
1345         https://bugs.webkit.org/show_bug.cgi?id=85112
1346
1347         Reviewed by Jer Noble.
1348
1349         No new tests, track-webvtt-tc022-entities.html was updated to test this.
1350
1351         * html/track/WebVTTTokenizer.cpp:
1352         (WebCore::WebVTTTokenizer::nextToken): Support RLM, LRM, and NBSP entities.
1353
1354 2014-01-21  Commit Queue  <commit-queue@webkit.org>
1355
1356         Unreviewed, rolling out r162354.
1357         http://trac.webkit.org/changeset/162354
1358         https://bugs.webkit.org/show_bug.cgi?id=127354
1359
1360         Appears to have broken accessibility in a non-trivial way
1361         (Requested by ap on #webkit).
1362
1363         * platform/ScrollView.cpp:
1364         (WebCore::ScrollView::updateScrollbars):
1365
1366 2014-01-21  Commit Queue  <commit-queue@webkit.org>
1367
1368         Unreviewed, rolling out r162445.
1369         http://trac.webkit.org/changeset/162445
1370         https://bugs.webkit.org/show_bug.cgi?id=127351
1371
1372         It broke the 32 bit GTK build (Requested by Ossy on #webkit).
1373
1374         * rendering/style/StyleRareInheritedData.cpp:
1375
1376 2014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>
1377
1378         Wrong struct size when CSS_IMAGE_ORIENTATION and CSS3_TEXT_DECORATION are enabled.
1379         https://bugs.webkit.org/show_bug.cgi?id=127346
1380
1381         Efl build fix.
1382
1383         Reviewed by Csaba Osztrogonác.
1384
1385         * rendering/style/StyleRareInheritedData.cpp:
1386
1387 2014-01-21  Antti Koivisto  <antti@apple.com>
1388
1389         Delay initial layer flush during loading on all platforms
1390         https://bugs.webkit.org/show_bug.cgi?id=127347
1391
1392         Reviewed by Andreas Kling.
1393
1394         To reduce unnecessary repaints enable the same behaviour as iOS already has.
1395
1396         * rendering/RenderLayerCompositor.cpp:
1397         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1398         
1399             Set the initial state of m_layerFlushThrottlingEnabled correctly.
1400
1401         (WebCore::RenderLayerCompositor::scheduleLayerFlush):
1402         (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded):
1403         * rendering/RenderLayerCompositor.h:
1404         
1405             Enable initial layer flush delay on all platforms.
1406
1407 2014-01-21  Mihai Tica  <mitica@adobe.com>
1408
1409         If you set a tiled cross-faded-image or a tiled gradient as
1410         a background layer, -webkit-background-blend-mode doesn't work.
1411         The problem consists in the blendMode parameter not being set
1412         for these specific drawing paths.
1413
1414         https://bugs.webkit.org/show_bug.cgi?id=126888
1415         Reviewed by Dirk Schulze.
1416
1417         Test: css3/compositing/background-blend-mode-tiled-layers.html
1418
1419         * platform/graphics/CrossfadeGeneratedImage.cpp:
1420         (WebCore::CrossfadeGeneratedImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
1421         * platform/graphics/GradientImage.cpp:
1422         (WebCore::GradientImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
1423         * platform/graphics/ImageBuffer.h: Add a BlendMode parameter to the drawPattern method.
1424         * platform/graphics/cairo/ImageBufferCairo.cpp:
1425         (WebCore::ImageBuffer::drawPattern): Add the default BlendMode parameter to the method declaration.
1426         * platform/graphics/cg/ImageBufferCG.cpp:
1427         (WebCore::ImageBuffer::drawPattern): Add and use the blendMode parameter for all the code paths.
1428         * platform/graphics/wince/ImageBufferWinCE.cpp:
1429         (WebCore::BufferedImage::drawPattern): Add the default BlendMode parameter to the method declaration.
1430
1431 2014-01-21  Gurpreet Kaur  <k.gurpreet@samsung.com>
1432
1433         The WebCore.vcxproj.filters doesnot apply
1434         https://bugs.webkit.org/show_bug.cgi?id=127338
1435
1436         Reviewed by Csaba Osztrogonác.
1437
1438         * WebCore.vcxproj/WebCore.vcxproj.filters:
1439         Modified the WebCore.vcxproj.filters so that it is applied when loading
1440         WebCore.vcxproj file.
1441
1442 2014-01-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
1443
1444         Fix SVG animations which set rx or ry attributes
1445         https://bugs.webkit.org/show_bug.cgi?id=127337
1446
1447         Reviewed by Dirk Schulze.
1448
1449         Test: svg/stroke/animated-non-scaling-rxry.html
1450
1451         Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision
1452
1453         * rendering/svg/RenderSVGRect.cpp:
1454         (WebCore::RenderSVGRect::updateShapeFromElement):
1455         * rendering/svg/SVGPathData.cpp:
1456         (WebCore::updatePathFromRectElement):
1457
1458 2014-01-21  Krzysztof Czech  <k.czech@samsung.com>
1459
1460         [ATK] Expose aria-flowto through ATK_RELATION_FLOWS_TO
1461         https://bugs.webkit.org/show_bug.cgi?id=127291
1462
1463         Reviewed by Mario Sanchez Prada.
1464
1465         Test: accessibility/aria-flowto.html
1466
1467         Expose aria-flowto through ATK_RELATION_FLOWS_TO according to
1468         http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
1469
1470         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1471         (setAtkRelationSetFromCoreObject):
1472
1473 2014-01-20  Ryuan Choi  <ryuan.choi@samsung.com>
1474
1475         [CMAKE] Remove Nix from CMake scripts
1476         https://bugs.webkit.org/show_bug.cgi?id=127264
1477
1478         Reviewed by Anders Carlsson.
1479
1480         * CMakeLists.txt:
1481
1482 2014-01-20  Anders Carlsson  <andersca@apple.com>
1483
1484         Remove an unused PageGroup function
1485         https://bugs.webkit.org/show_bug.cgi?id=127327
1486
1487         Reviewed by Andreas Kling.
1488
1489         * WebCore.exp.in:
1490         * page/PageGroup.cpp:
1491         * page/PageGroup.h:
1492
1493 2014-01-20  Anders Carlsson  <andersca@apple.com>
1494
1495         Move user style sheet handling to UserContentController
1496         https://bugs.webkit.org/show_bug.cgi?id=127322
1497         <rdar://problem/15861296>
1498
1499         Reviewed by Andreas Kling.
1500
1501         * dom/DocumentStyleSheetCollection.cpp:
1502         (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
1503         * page/PageGroup.cpp:
1504         (WebCore::PageGroup::addUserStyleSheetToWorld):
1505         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
1506         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
1507         (WebCore::PageGroup::removeAllUserContent):
1508         * page/PageGroup.h:
1509         * page/UserContentController.cpp:
1510         (WebCore::UserContentController::addUserStyleSheet):
1511         (WebCore::UserContentController::removeUserStyleSheet):
1512         (WebCore::UserContentController::removeUserStyleSheets):
1513         (WebCore::UserContentController::removeAllUserContent):
1514         (WebCore::UserContentController::invalidateInjectedStyleSheetCacheInAllFrames):
1515         * page/UserContentController.h:
1516         (WebCore::UserContentController::userStyleSheets):
1517
1518 2014-01-20  Benjamin Poulain  <benjamin@webkit.org>
1519
1520         Add a nicer way to iterate over all the attributes of an element
1521         https://bugs.webkit.org/show_bug.cgi?id=127266
1522
1523         Reviewed by Geoffrey Garen.
1524
1525         When using Element::attributeAt() in a loop, the compiler had to generate two kinds of
1526         accessor:
1527         -If the element data is unique, the length and data comes from the attribute Vector.
1528         -If the element data is shared, the data comes from the tail of elementData itself.
1529
1530         The choice was done for every access, which caused the assembly to be a little
1531         hard to follow.
1532         This patch unify the data access by doing everything as a array pointer with offset (getting
1533         that data from Vector when necessary).
1534
1535         To make it easier to do the right thing, a new iterator was added so that range-based loops
1536         can replace all the faulty cases.
1537
1538         * css/SelectorChecker.cpp:
1539         (WebCore::anyAttributeMatches):
1540         * css/SelectorChecker.h:
1541         (WebCore::SelectorChecker::checkExactAttribute):
1542         * dom/DatasetDOMStringMap.cpp:
1543         (WebCore::DatasetDOMStringMap::getNames):
1544         (WebCore::DatasetDOMStringMap::item):
1545         (WebCore::DatasetDOMStringMap::contains):
1546         * dom/Element.cpp:
1547         (WebCore::Element::normalizeAttributes):
1548         (WebCore::Element::detachAllAttrNodesFromElement):
1549         (WebCore::Element::cloneAttributesFromElement):
1550         * dom/Element.h:
1551         (WebCore::Element::attributesIterator):
1552         * dom/ElementData.cpp:
1553         (WebCore::ElementData::isEquivalent):
1554         (WebCore::ElementData::findAttributeIndexByNameSlowCase):
1555         * dom/ElementData.h:
1556         (WebCore::AttributeConstIterator::AttributeConstIterator):
1557         (WebCore::AttributeConstIterator::operator*):
1558         (WebCore::AttributeConstIterator::operator->):
1559         (WebCore::AttributeConstIterator::operator++):
1560         (WebCore::AttributeConstIterator::operator==):
1561         (WebCore::AttributeConstIterator::operator!=):
1562         (WebCore::AttributeIteratorAccessor::AttributeIteratorAccessor):
1563         (WebCore::AttributeIteratorAccessor::begin):
1564         (WebCore::AttributeIteratorAccessor::end):
1565         (WebCore::ElementData::attributesIterator):
1566         * dom/Node.cpp:
1567         (WebCore::Node::isDefaultNamespace):
1568         (WebCore::Node::lookupNamespaceURI):
1569         (WebCore::Node::lookupNamespacePrefix):
1570         (WebCore::Node::compareDocumentPosition):
1571         * dom/StyledElement.cpp:
1572         (WebCore::StyledElement::makePresentationAttributeCacheKey):
1573         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1574         * editing/MarkupAccumulator.cpp:
1575         (WebCore::MarkupAccumulator::appendElement):
1576         * editing/markup.cpp:
1577         (WebCore::completeURLs):
1578         (WebCore::StyledMarkupAccumulator::appendElement):
1579         * html/HTMLEmbedElement.cpp:
1580         (WebCore::HTMLEmbedElement::parametersForPlugin):
1581         * html/HTMLObjectElement.cpp:
1582         (WebCore::HTMLObjectElement::parametersForPlugin):
1583         * inspector/DOMPatchSupport.cpp:
1584         (WebCore::DOMPatchSupport::innerPatchNode):
1585         (WebCore::DOMPatchSupport::createDigest):
1586         * inspector/InspectorDOMAgent.cpp:
1587         (WebCore::InspectorDOMAgent::setAttributesAsText):
1588         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
1589         * inspector/InspectorNodeFinder.cpp:
1590         (WebCore::InspectorNodeFinder::matchesElement):
1591         * page/PageSerializer.cpp:
1592         (WebCore::isCharsetSpecifyingNode):
1593         * xml/XPathNodeSet.cpp:
1594         (WebCore::XPath::NodeSet::traversalSort):
1595         * xml/XPathStep.cpp:
1596         (WebCore::XPath::Step::nodesInAxis):
1597         * xml/parser/XMLDocumentParserLibxml2.cpp:
1598         (WebCore::XMLDocumentParser::XMLDocumentParser):
1599
1600 2014-01-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1601
1602         Do refactor in collectGradientAttributes() and renderStyleForLengthResolve()
1603         https://bugs.webkit.org/show_bug.cgi?id=126869
1604
1605         Reviewed by Dirk Schulze.
1606
1607         Some SVG functions have done a first iteration by using a boolean flag. This is
1608         one of poor implementations. This patch fix it by extracting a logic into a new method.
1609         Additionally it would be good to use do-while() loop instead of using while() in
1610         renderStyleForLengthResolving() because a first condition is always true.
1611
1612         Merge r165358 from blink.
1613
1614         * svg/SVGLengthContext.cpp:
1615         (WebCore::renderStyleForLengthResolving):
1616         * svg/SVGLinearGradientElement.cpp:
1617         (WebCore::setGradientAttributes):
1618         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
1619         * svg/SVGRadialGradientElement.cpp:
1620         (WebCore::setGradientAttributes):
1621         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
1622
1623 2014-01-20  Anders Carlsson  <andersca@apple.com>
1624
1625         UserContentController should keep track of user scripts
1626         https://bugs.webkit.org/show_bug.cgi?id=127317
1627         <rdar://problem/15861296>
1628
1629         Reviewed by Andreas Kling.
1630
1631         Move handling of user scripts from PageGroup to UserContentController.
1632
1633         * page/Frame.cpp:
1634         (WebCore::Frame::injectUserScripts):
1635         * page/PageGroup.cpp:
1636         (WebCore::PageGroup::addUserScriptToWorld):
1637         (WebCore::PageGroup::removeUserScriptFromWorld):
1638         (WebCore::PageGroup::removeUserScriptsFromWorld):
1639         (WebCore::PageGroup::removeAllUserContent):
1640         * page/PageGroup.h:
1641         * page/UserContentController.cpp:
1642         (WebCore::UserContentController::addUserScript):
1643         (WebCore::UserContentController::removeUserScript):
1644         (WebCore::UserContentController::removeUserScripts):
1645         (WebCore::UserContentController::removeAllUserContent):
1646         * page/UserContentController.h:
1647         (WebCore::UserContentController::userScripts):
1648
1649 2014-01-20  Anders Carlsson  <andersca@apple.com>
1650
1651         Give each page a UserContentController
1652         https://bugs.webkit.org/show_bug.cgi?id=127315
1653         <rdar://problem/15861296>
1654
1655         Reviewed by Andreas Kling.
1656
1657         Add a UserContentController object to PageGroup and have the page group set it on any
1658         pages that are added to the page group.
1659
1660         This is another step towards moving handling of user content away from PageGroup and make it
1661         possible for each page to have different user content.
1662
1663         * page/Page.cpp:
1664         (WebCore::Page::~Page):
1665         (WebCore::Page::setUserContentController):
1666         * page/Page.h:
1667         (WebCore::Page::userContentController):
1668         * page/PageGroup.cpp:
1669         (WebCore::PageGroup::PageGroup):
1670         (WebCore::PageGroup::addPage):
1671         (WebCore::PageGroup::removePage):
1672         * page/PageGroup.h:
1673         * page/UserContentController.cpp:
1674         (WebCore::UserContentController::addPage):
1675         (WebCore::UserContentController::removePage):
1676         * page/UserContentController.h:
1677
1678 2014-01-20  Jeremy Jones  <jeremyj@apple.com>
1679
1680         Add AVKit fullscreen video interface.
1681         https://bugs.webkit.org/show_bug.cgi?id=126818
1682
1683         Reviewed by Eric Carlson.
1684
1685         No new tests, no observable change in functionality.
1686
1687         * WebCore.exp.in:
1688         * WebCore.xcodeproj/project.pbxproj:
1689         * html/HTMLMediaElement.cpp:
1690         (WebCore::HTMLMediaElement::parseAttribute):
1691         * html/HTMLMediaElement.h:
1692         Add ability for fullscreen to borrow the AVPlayerLayer.
1693         * page/Settings.cpp:
1694         * page/Settings.h:
1695         (WebCore::Settings::setMediaPlaybackFullscreenAVKit):
1696         (WebCore::Settings::mediaPlaybackFullscreenAVKit):
1697         Add a disabled setting.
1698         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1699         (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
1700         Enabled fullscreen for iOS.
1701         * platform/ios/WebVideoFullscreenControllerAVKit.h: Added.
1702         * platform/ios/WebVideoFullscreenControllerAVKit.mm: Added.
1703         (-[WebAVPlayerController init]):
1704         (-[WebAVPlayerController dealloc]):
1705         (-[WebAVPlayerController forwardingTargetForSelector:]):
1706         (-[WebAVPlayerController shouldDismissForDone]):
1707         (-[WebAVPlayerController play:]):
1708         (-[WebAVPlayerController pause:]):
1709         (-[WebAVPlayerController togglePlayback:]):
1710         (-[WebAVPlayerController isPlaying]):
1711         (-[WebAVPlayerController setPlaying:]):
1712         (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
1713         (-[WebAVPlayerController seekToTime:]):
1714         (-[WebAVPlayerController updateTimingWithCurrentTime:]):
1715         (-[WebAVPlayerController effectiveRate]):
1716         (-[WebAVPlayerController setMediaElement:]):
1717         (-[WebAVPlayerController handleEvent:]):
1718         (-[WebVideoFullscreenController init]):
1719         (-[WebVideoFullscreenController dealloc]):
1720         (-[WebVideoFullscreenController setMediaElement:]):
1721         (-[WebVideoFullscreenController mediaElement]):
1722         (-[WebVideoFullscreenController enterFullscreen:]):
1723         (-[WebVideoFullscreenController exitFullscreen]):
1724         Add WebAVPlayerController for HTMLMediaElememt to interface with AVPlayerViewController.
1725
1726 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
1727
1728         Replace uses of std::forward<T>(), std::unique_ptr<T>::clear() that landed in r162368
1729         https://bugs.webkit.org/show_bug.cgi?id=127306
1730
1731         Reviewed by Darin Adler.
1732
1733         Address the post-landing reviews of the r162368 commit that moved WebAudio source code to using std::unique_ptr.
1734         std::move() should be used instead of std::forward<T>() in HRTFKernel::create().
1735         Instead of calling std::unique_ptr<T>::reset(), nullptr should be assigned to that smart pointer to reset it.
1736
1737         * Modules/webaudio/ConvolverNode.cpp:
1738         (WebCore::ConvolverNode::uninitialize):
1739         * Modules/webaudio/DynamicsCompressorNode.cpp:
1740         (WebCore::DynamicsCompressorNode::uninitialize):
1741         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
1742         (WebCore::MediaElementAudioSourceNode::setFormat):
1743         * Modules/webaudio/PannerNode.cpp:
1744         (WebCore::PannerNode::uninitialize):
1745         * platform/audio/AudioChannel.h:
1746         (WebCore::AudioChannel::set):
1747         * platform/audio/HRTFDatabaseLoader.cpp:
1748         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
1749         * platform/audio/HRTFKernel.h:
1750         (WebCore::HRTFKernel::create):
1751
1752 2014-01-20  Joseph Pecoraro  <pecoraro@apple.com>
1753
1754         Modernize WebCore/inspector with nullptr
1755         https://bugs.webkit.org/show_bug.cgi?id=127303
1756
1757         Reviewed by Anders Carlsson.
1758
1759         Ran clang-modernize -use-nullptr over WebCore/inspector.
1760
1761         * inspector/ConsoleMessage.cpp:
1762         (WebCore::ConsoleMessage::ConsoleMessage):
1763         * inspector/ConsoleMessage.h:
1764         * inspector/ContentSearchUtils.cpp:
1765         (WebCore::ContentSearchUtils::findMagicComment):
1766         * inspector/DOMEditor.cpp:
1767         (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
1768         * inspector/DOMPatchSupport.cpp:
1769         (WebCore::DOMPatchSupport::patchDocument):
1770         (WebCore::DOMPatchSupport::patchNode):
1771         (WebCore::DOMPatchSupport::diff):
1772         (WebCore::DOMPatchSupport::innerPatchChildren):
1773         * inspector/InspectorApplicationCacheAgent.cpp:
1774         (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
1775         (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
1776         * inspector/InspectorCanvasAgent.cpp:
1777         (WebCore::InspectorCanvasAgent::disable):
1778         (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
1779         (WebCore::InspectorCanvasAgent::frameNavigated):
1780         * inspector/InspectorConsoleAgent.cpp:
1781         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1782         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1783         (WebCore::InspectorConsoleAgent::clearMessages):
1784         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
1785         (WebCore::InspectorConsoleAgent::didReceiveResponse):
1786         (WebCore::InspectorConsoleAgent::didFailLoading):
1787         * inspector/InspectorConsoleAgent.h:
1788         * inspector/InspectorController.cpp:
1789         (WebCore::InspectorController::inspectedPageDestroyed):
1790         * inspector/InspectorDOMDebuggerAgent.cpp:
1791         (WebCore::InspectorDOMDebuggerAgent::disable):
1792         (WebCore::InspectorDOMDebuggerAgent::discardAgent):
1793         * inspector/InspectorDOMStorageAgent.cpp:
1794         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
1795         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
1796         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
1797         (WebCore::InspectorDOMStorageAgent::findStorageArea):
1798         * inspector/InspectorDatabaseAgent.cpp:
1799         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
1800         (WebCore::InspectorDatabaseAgent::findByFileName):
1801         (WebCore::InspectorDatabaseAgent::databaseForId):
1802         * inspector/InspectorDebuggerAgent.cpp:
1803         (WebCore::InspectorDebuggerAgent::addMessageToConsole):
1804         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1805         (WebCore::InspectorDebuggerAgent::didParseSource):
1806         (WebCore::InspectorDebuggerAgent::didContinue):
1807         (WebCore::InspectorDebuggerAgent::clearBreakDetails):
1808         * inspector/InspectorFrontendHost.cpp:
1809         (WebCore::FrontendMenuProvider::disconnect):
1810         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
1811         (WebCore::InspectorFrontendHost::disconnectClient):
1812         * inspector/InspectorHeapProfilerAgent.cpp:
1813         (WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
1814         * inspector/InspectorIndexedDBAgent.cpp:
1815         (WebCore::assertDocument):
1816         (WebCore::assertIDBFactory):
1817         (WebCore::InspectorIndexedDBAgent::requestData):
1818         * inspector/InspectorInstrumentation.cpp:
1819         (WebCore::frameForScriptExecutionContext):
1820         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
1821         (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
1822         (WebCore::InspectorInstrumentation::consoleAgentEnabled):
1823         (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
1824         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
1825         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
1826         (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
1827         (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
1828         * inspector/InspectorInstrumentation.h:
1829         (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
1830         (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
1831         (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
1832         * inspector/InspectorLayerTreeAgent.cpp:
1833         (WebCore::InspectorLayerTreeAgent::disable):
1834         * inspector/InspectorNodeFinder.cpp:
1835         (WebCore::InspectorNodeFinder::searchUsingXPath):
1836         * inspector/InspectorOverlay.cpp:
1837         (WebCore::buildObjectForElementInfo):
1838         * inspector/InspectorPageAgent.cpp:
1839         (WebCore::InspectorPageAgent::cachedResourceContent):
1840         (WebCore::InspectorPageAgent::sharedBufferContent):
1841         (WebCore::InspectorPageAgent::disable):
1842         (WebCore::InspectorPageAgent::frameForId):
1843         (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
1844         * inspector/InspectorProfilerAgent.cpp:
1845         (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
1846         * inspector/InspectorProfilerAgent.h:
1847         * inspector/InspectorResourceAgent.cpp:
1848         (WebCore::buildObjectForResourceResponse):
1849         (WebCore::InspectorResourceAgent::willSendRequest):
1850         (WebCore::InspectorResourceAgent::didReceiveResponse):
1851         (WebCore::InspectorResourceAgent::didFinishLoading):
1852         (WebCore::InspectorResourceAgent::didFailLoading):
1853         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1854         (WebCore::InspectorResourceAgent::disable):
1855         * inspector/InspectorRuntimeAgent.cpp:
1856         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1857         * inspector/InspectorStyleSheet.cpp:
1858         (ParsedStyleSheet::ruleSourceDataAt):
1859         (WebCore::buildSourceRangeObject):
1860         (WebCore::asCSSRuleList):
1861         (WebCore::fillMediaListChain):
1862         (WebCore::InspectorStyle::setPropertyText):
1863         (WebCore::InspectorStyle::populateAllProperties):
1864         (WebCore::InspectorStyle::extractSourceData):
1865         (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
1866         (WebCore::InspectorStyleSheet::addRule):
1867         (WebCore::InspectorStyleSheet::ruleForId):
1868         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
1869         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
1870         (WebCore::InspectorStyleSheet::buildObjectForRule):
1871         (WebCore::InspectorStyleSheet::styleForId):
1872         (WebCore::InspectorStyleSheet::inspectorStyleForId):
1873         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
1874         * inspector/InspectorStyleSheet.h:
1875         (WebCore::InspectorCSSId::asProtocolValue):
1876         * inspector/InspectorTimelineAgent.cpp:
1877         (WebCore::InspectorTimelineAgent::stop):
1878         (WebCore::InspectorTimelineAgent::willComposite):
1879         (WebCore::InspectorTimelineAgent::page):
1880         * inspector/InspectorWorkerAgent.cpp:
1881         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
1882         * inspector/InstrumentingAgents.cpp:
1883         (WebCore::InstrumentingAgents::InstrumentingAgents):
1884         (WebCore::InstrumentingAgents::reset):
1885         * inspector/NetworkResourcesData.cpp:
1886         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
1887         (WebCore::NetworkResourcesData::xhrReplayData):
1888         (WebCore::NetworkResourcesData::removeCachedResource):
1889         (WebCore::NetworkResourcesData::resourceDataForRequestId):
1890         * inspector/PageConsoleAgent.cpp:
1891         (WebCore::PageConsoleAgent::~PageConsoleAgent):
1892         * inspector/PageDebuggerAgent.cpp:
1893         (WebCore::PageDebuggerAgent::disable):
1894         * inspector/PageRuntimeAgent.cpp:
1895         (WebCore::PageRuntimeAgent::~PageRuntimeAgent):
1896         (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
1897         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
1898         * inspector/ScriptArguments.cpp:
1899         (WebCore::ScriptArguments::globalState):
1900         * inspector/WorkerRuntimeAgent.cpp:
1901         (WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):
1902
1903 2014-01-20  Anders Carlsson  <andersca@apple.com>
1904
1905         Add empty UserContentController class
1906         https://bugs.webkit.org/show_bug.cgi?id=127300
1907         <rdar://problem/15861296>
1908
1909         Reviewed by Dan Bernstein.
1910
1911         This is the first step towards moving handling of user scripts and style sheets from
1912         the page group to a separate objects and ultimately make them be settable per page instead of per page group.
1913
1914         * CMakeLists.txt:
1915         * GNUmakefile.list.am:
1916         * WebCore.vcxproj/WebCore.vcxproj:
1917         * WebCore.vcxproj/WebCore.vcxproj.filters:
1918         * WebCore.xcodeproj/project.pbxproj:
1919         * page/UserContentController.cpp: Added.
1920         (WebCore::UserContentController::create):
1921         (WebCore::UserContentController::UserContentController):
1922         (WebCore::UserContentController::~UserContentController):
1923         * page/UserContentController.h: Added.
1924
1925 2014-01-20  Joseph Pecoraro  <pecoraro@apple.com>
1926
1927         Run clang-modernize and let it add a bunch of missing overrides in WebCore/inspector
1928         https://bugs.webkit.org/show_bug.cgi?id=127206
1929
1930         Reviewed by Anders Carlsson.
1931
1932         Let clang-modernize add overrides.
1933
1934         * inspector/DOMEditor.cpp:
1935         * inspector/InspectorApplicationCacheAgent.h:
1936         * inspector/InspectorCSSAgent.h:
1937         * inspector/InspectorCanvasAgent.h:
1938         * inspector/InspectorConsoleAgent.h:
1939         * inspector/InspectorDOMAgent.h:
1940         * inspector/InspectorDOMDebuggerAgent.h:
1941         * inspector/InspectorDOMStorageAgent.h:
1942         * inspector/InspectorDatabaseAgent.cpp:
1943         * inspector/InspectorDatabaseAgent.h:
1944         * inspector/InspectorDebuggerAgent.h:
1945         * inspector/InspectorFrontendHost.cpp:
1946         * inspector/InspectorHeapProfilerAgent.cpp:
1947         (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
1948         (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
1949         * inspector/InspectorHeapProfilerAgent.h:
1950         * inspector/InspectorHistory.cpp:
1951         * inspector/InspectorIndexedDBAgent.cpp:
1952         * inspector/InspectorIndexedDBAgent.h:
1953         * inspector/InspectorInputAgent.h:
1954         * inspector/InspectorLayerTreeAgent.h:
1955         * inspector/InspectorMemoryAgent.h:
1956         * inspector/InspectorPageAgent.h:
1957         * inspector/InspectorProfilerAgent.cpp:
1958         * inspector/InspectorProfilerAgent.h:
1959         * inspector/InspectorResourceAgent.h:
1960         * inspector/InspectorRuntimeAgent.h:
1961         * inspector/InspectorStyleSheet.h:
1962         * inspector/InspectorTimelineAgent.h:
1963         * inspector/InspectorWorkerAgent.cpp:
1964         * inspector/InspectorWorkerAgent.h:
1965         * inspector/PageConsoleAgent.h:
1966         * inspector/PageDebuggerAgent.h:
1967         * inspector/PageRuntimeAgent.h:
1968         * inspector/WorkerConsoleAgent.h:
1969         * inspector/WorkerDebuggerAgent.cpp:
1970         * inspector/WorkerInspectorController.cpp:
1971         * inspector/WorkerRuntimeAgent.h:
1972
1973 2014-01-20  Zan Dobersek  <zdobersek@igalia.com>
1974
1975         Move WebAudio source code to std::unique_ptr
1976         https://bugs.webkit.org/show_bug.cgi?id=127274
1977
1978         Reviewed by Eric Carlson.
1979
1980         Move from using OwnPtr and PassOwnPtr to using std::unique_ptr and move semantics
1981         in the WebAudio module and the WebAudio code in the platform layer.
1982
1983         * Modules/webaudio/AsyncAudioDecoder.cpp:
1984         * Modules/webaudio/AsyncAudioDecoder.h:
1985         * Modules/webaudio/AudioBasicInspectorNode.cpp:
1986         (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
1987         * Modules/webaudio/AudioBasicProcessorNode.cpp:
1988         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
1989         * Modules/webaudio/AudioBasicProcessorNode.h:
1990         * Modules/webaudio/AudioBufferSourceNode.cpp:
1991         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
1992         * Modules/webaudio/AudioContext.cpp:
1993         * Modules/webaudio/AudioContext.h:
1994         * Modules/webaudio/AudioDestinationNode.cpp:
1995         (WebCore::AudioDestinationNode::AudioDestinationNode):
1996         * Modules/webaudio/AudioNode.cpp:
1997         (WebCore::AudioNode::addInput):
1998         (WebCore::AudioNode::addOutput):
1999         (WebCore::AudioNode::checkNumberOfChannelsForInput):
2000         * Modules/webaudio/AudioNode.h:
2001         * Modules/webaudio/BiquadFilterNode.cpp:
2002         (WebCore::BiquadFilterNode::BiquadFilterNode):
2003         * Modules/webaudio/BiquadProcessor.cpp:
2004         (WebCore::BiquadProcessor::createKernel):
2005         (WebCore::BiquadProcessor::getFrequencyResponse):
2006         * Modules/webaudio/BiquadProcessor.h:
2007         * Modules/webaudio/ChannelMergerNode.cpp:
2008         (WebCore::ChannelMergerNode::ChannelMergerNode):
2009         * Modules/webaudio/ChannelSplitterNode.cpp:
2010         (WebCore::ChannelSplitterNode::ChannelSplitterNode):
2011         * Modules/webaudio/ConvolverNode.cpp:
2012         (WebCore::ConvolverNode::ConvolverNode):
2013         (WebCore::ConvolverNode::uninitialize):
2014         (WebCore::ConvolverNode::setBuffer):
2015         * Modules/webaudio/ConvolverNode.h:
2016         * Modules/webaudio/DefaultAudioDestinationNode.h:
2017         * Modules/webaudio/DelayNode.cpp:
2018         (WebCore::DelayNode::DelayNode):
2019         * Modules/webaudio/DelayProcessor.cpp:
2020         (WebCore::DelayProcessor::createKernel):
2021         * Modules/webaudio/DelayProcessor.h:
2022         * Modules/webaudio/DynamicsCompressorNode.cpp:
2023         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2024         (WebCore::DynamicsCompressorNode::initialize):
2025         (WebCore::DynamicsCompressorNode::uninitialize):
2026         * Modules/webaudio/DynamicsCompressorNode.h:
2027         * Modules/webaudio/GainNode.cpp:
2028         (WebCore::GainNode::GainNode):
2029         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
2030         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
2031         (WebCore::MediaElementAudioSourceNode::setFormat):
2032         * Modules/webaudio/MediaElementAudioSourceNode.h:
2033         * Modules/webaudio/MediaStreamAudioDestinationNode.h:
2034         * Modules/webaudio/MediaStreamAudioSource.cpp:
2035         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
2036         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
2037         * Modules/webaudio/MediaStreamAudioSourceNode.h:
2038         * Modules/webaudio/OscillatorNode.cpp:
2039         (WebCore::OscillatorNode::OscillatorNode):
2040         * Modules/webaudio/PannerNode.cpp:
2041         (WebCore::PannerNode::PannerNode):
2042         (WebCore::PannerNode::uninitialize):
2043         (WebCore::PannerNode::setPanningModel):
2044         * Modules/webaudio/PannerNode.h:
2045         * Modules/webaudio/PeriodicWave.cpp:
2046         (WebCore::PeriodicWave::createBandLimitedTables):
2047         * Modules/webaudio/PeriodicWave.h:
2048         * Modules/webaudio/RealtimeAnalyser.cpp:
2049         (WebCore::RealtimeAnalyser::RealtimeAnalyser):
2050         (WebCore::RealtimeAnalyser::setFftSize):
2051         * Modules/webaudio/RealtimeAnalyser.h:
2052         * Modules/webaudio/ScriptProcessorNode.cpp:
2053         (WebCore::ScriptProcessorNode::ScriptProcessorNode):
2054         * Modules/webaudio/WaveShaperDSPKernel.cpp:
2055         (WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
2056         * Modules/webaudio/WaveShaperDSPKernel.h:
2057         * Modules/webaudio/WaveShaperNode.cpp:
2058         (WebCore::WaveShaperNode::WaveShaperNode):
2059         * Modules/webaudio/WaveShaperProcessor.cpp:
2060         (WebCore::WaveShaperProcessor::createKernel):
2061         * Modules/webaudio/WaveShaperProcessor.h:
2062         * platform/audio/AudioBus.cpp:
2063         (WebCore::AudioBus::AudioBus):
2064         (WebCore::AudioBus::copyWithGainFrom):
2065         * platform/audio/AudioBus.h:
2066         * platform/audio/AudioChannel.cpp:
2067         * platform/audio/AudioChannel.h:
2068         (WebCore::AudioChannel::AudioChannel):
2069         (WebCore::AudioChannel::set):
2070         * platform/audio/AudioDSPKernelProcessor.h:
2071         * platform/audio/AudioDestination.h:
2072         * platform/audio/AudioResampler.cpp:
2073         (WebCore::AudioResampler::AudioResampler):
2074         (WebCore::AudioResampler::configureChannels):
2075         * platform/audio/AudioResampler.h:
2076         * platform/audio/AudioSession.h:
2077         * platform/audio/DynamicsCompressor.cpp:
2078         (WebCore::DynamicsCompressor::setNumberOfChannels):
2079         * platform/audio/DynamicsCompressor.h:
2080         * platform/audio/DynamicsCompressorKernel.cpp:
2081         (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
2082         * platform/audio/DynamicsCompressorKernel.h:
2083         * platform/audio/FFTFrame.cpp:
2084         (WebCore::FFTFrame::createInterpolatedFrame):
2085         * platform/audio/FFTFrame.h:
2086         * platform/audio/HRTFDatabase.cpp:
2087         (WebCore::HRTFDatabase::HRTFDatabase):
2088         * platform/audio/HRTFDatabase.h:
2089         * platform/audio/HRTFDatabaseLoader.cpp:
2090         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
2091         (WebCore::HRTFDatabaseLoader::load):
2092         * platform/audio/HRTFDatabaseLoader.h:
2093         * platform/audio/HRTFElevation.cpp:
2094         (WebCore::HRTFElevation::createForSubject):
2095         (WebCore::HRTFElevation::createByInterpolatingSlices):
2096         * platform/audio/HRTFElevation.h:
2097         (WebCore::HRTFElevation::HRTFElevation):
2098         * platform/audio/HRTFKernel.cpp:
2099         (WebCore::HRTFKernel::HRTFKernel):
2100         (WebCore::HRTFKernel::createImpulseResponse):
2101         (WebCore::HRTFKernel::createInterpolatedKernel):
2102         * platform/audio/HRTFKernel.h:
2103         (WebCore::HRTFKernel::create):
2104         (WebCore::HRTFKernel::HRTFKernel):
2105         * platform/audio/MultiChannelResampler.cpp:
2106         (WebCore::MultiChannelResampler::MultiChannelResampler):
2107         * platform/audio/MultiChannelResampler.h:
2108         * platform/audio/Panner.cpp:
2109         (WebCore::Panner::create):
2110         * platform/audio/Panner.h:
2111         * platform/audio/Reverb.cpp:
2112         (WebCore::Reverb::initialize):
2113         * platform/audio/Reverb.h:
2114         * platform/audio/ReverbConvolver.h:
2115         * platform/audio/ReverbConvolverStage.cpp:
2116         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
2117         * platform/audio/ReverbConvolverStage.h:
2118         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2119         (WebCore::AudioDestination::create):
2120         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2121         * platform/audio/ios/AudioDestinationIOS.cpp:
2122         (WebCore::AudioDestination::create):
2123         * platform/audio/ios/AudioSessionIOS.mm:
2124         (WebCore::AudioSession::AudioSession):
2125         * platform/audio/mac/AudioDestinationMac.cpp:
2126         (WebCore::AudioDestination::create):
2127         * platform/audio/mac/AudioDestinationMac.h:
2128         * platform/audio/mac/AudioSessionMac.cpp:
2129         (WebCore::AudioSession::AudioSession):
2130
2131 2014-01-20  Morten Stenshorne  <mstensho@opera.com>
2132
2133         Region based multicol: support explicit column breaks
2134         https://bugs.webkit.org/show_bug.cgi?id=123993
2135
2136         Reviewed by David Hyatt.
2137
2138         Merely supporting insertion of explicit (forced) column breaks in
2139         the region based multicol implementation is really simple: just
2140         hook up with what the CSS regions code is already doing.
2141
2142         However, there is one complication: column balancing. In order to
2143         balance columns as nicely as possible when there are explicit
2144         breaks, we need to figure out between which explicit breaks the
2145         implicit breaks will occur (if there's room for any at all).
2146
2147         Tests: fast/multicol/newmulticol/break-after.html
2148                fast/multicol/newmulticol/break-before.html
2149                fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html
2150                fast/multicol/newmulticol/breaks-2-columns-3.html
2151                fast/multicol/newmulticol/breaks-3-columns-3.html
2152                fast/multicol/newmulticol/fixed-height-fill-balance-2.html
2153
2154         * rendering/RenderBlockFlow.cpp:
2155         (WebCore::RenderBlockFlow::applyBeforeBreak):
2156         (WebCore::RenderBlockFlow::applyAfterBreak): Use the already
2157         existing region breaking code when inserting breaks in region
2158         based multicol.
2159         * rendering/RenderFlowThread.h:
2160         * rendering/RenderMultiColumnBlock.cpp:
2161         (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
2162         (WebCore::RenderMultiColumnBlock::relayoutForPagination): Avoid
2163         re-balancing if the multicol's contents were not laid out. Apart
2164         from being good for performance, this is now necessary because of
2165         how explicit breaks are implemented.
2166         (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
2167         Detect if the contents are going to be laid out, or skipped, so
2168         that we can tell if we need to (re-)balance the columns
2169         afterwards.
2170         * rendering/RenderMultiColumnBlock.h:
2171         * rendering/RenderMultiColumnFlowThread.cpp:
2172         (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
2173         Locate the appropriate multi-column set and call its
2174         addForcedBreak().
2175         * rendering/RenderMultiColumnFlowThread.h:
2176         * rendering/RenderMultiColumnSet.cpp:
2177         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
2178         (WebCore::RenderMultiColumnSet::findRunWithTallestColumns):
2179         (WebCore::RenderMultiColumnSet::distributeImplicitBreaks): Figure
2180         out how many implicit breaks each single "content run" should
2181         contain. The taller the content run, the more implicit breaks.
2182         (WebCore::RenderMultiColumnSet::calculateBalancedHeight): This is
2183         now a const method that only does half of what the old
2184         calculateBalancedHeight() did. The rest (such as actually storing
2185         the new column height) is done by recalculateBalancedHeight().
2186         (WebCore::RenderMultiColumnSet::clearForcedBreaks): Needs to be
2187         called between each layout pass, to clear the list of "content
2188         runs".
2189         (WebCore::RenderMultiColumnSet::addForcedBreak): Only useful when
2190         columns are to be balanced. It receives explicit (forced) breaks
2191         and stores them as "content runs". When layout is done, we'll go
2192         through the list of content runs, and see where implicit breaks
2193         should be inserted (if there's room for any). The goal is to
2194         insert implicit breaks in such a way that the final columns become
2195         as short as possible.
2196         (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
2197         Calculates and sets a new balanced column height. This used to be
2198         done directly in calculateBalancedHeight(), but that method is now
2199         const and it now only calculates the new height and returns it.
2200         (WebCore::RenderMultiColumnSet::prepareForLayout):
2201         * rendering/RenderMultiColumnSet.h: Remove old data members
2202         intended for forced breaks (they were unused), and introduce a
2203         "content run" vector instead. A new content run is triggered by an
2204         explicit break. This is only used when column balancing is
2205         enabled. When not balanced, RenderMultiColumnSet doesn't need to
2206         do anything when explicit breaks are inserted.
2207
2208 2014-01-20  Eric Carlson  <eric.carlson@apple.com>
2209
2210         Allow MediaSessionManager to restrict 'preload' behavior
2211         https://bugs.webkit.org/show_bug.cgi?id=127297
2212
2213         Reviewed by Jer Noble.
2214
2215         Tests: media/video-restricted-no-preload-auto.html
2216                media/video-restricted-no-preload-metadata.html
2217
2218         * html/HTMLMediaElement.cpp:
2219         (WebCore::HTMLMediaElement::parseAttribute): Apply restrictions to preload attribute before
2220             passing to media engine.
2221         (WebCore::HTMLMediaElement::loadResource): Ditto.
2222
2223         * html/HTMLMediaSession.cpp:
2224         (WebCore::HTMLMediaSession::effectivePreloadForElement): New, limit preload according to restrictions.
2225         * html/HTMLMediaSession.h:
2226
2227         * platform/audio/MediaSessionManager.h:
2228         * platform/audio/ios/MediaSessionManagerIOS.mm:
2229         (WebCore::MediaSessionManageriOS::resetRestrictions): Limit preload to metadata only. Drive-by
2230             static deviceClass initialization cleanup.
2231
2232         * testing/Internals.cpp:
2233         (WebCore::Internals::setMediaSessionRestrictions): Support MetadataPreloadingNotPermitted and
2234             AutoPreloadingNotPermitted.
2235
2236 2014-01-20  Andreas Kling  <akling@apple.com>
2237
2238         Let RenderImage construct its RenderImageResource.
2239         <https://webkit.org/b/127290>
2240
2241         Everyone who creates a RenderImage immediately follows up with
2242         creating a RenderImageResource and assigning it to the image.
2243
2244         Let the RenderImage constructor do this instead, and make the
2245         imageResource() accessors return references. This exposed a
2246         number of unnecessary null checks.
2247
2248         Also modernized the touched code with std::unique_ptr.
2249
2250         Reviewed by Antti Koivisto.
2251
2252         * html/HTMLImageElement.cpp:
2253         (WebCore::HTMLImageElement::createElementRenderer):
2254         (WebCore::HTMLImageElement::didAttachRenderers):
2255         * html/HTMLPlugInImageElement.cpp:
2256         (WebCore::HTMLPlugInImageElement::createElementRenderer):
2257         * html/HTMLVideoElement.cpp:
2258         (WebCore::HTMLVideoElement::didAttachRenderers):
2259         (WebCore::HTMLVideoElement::parseAttribute):
2260         * html/ImageInputType.cpp:
2261         (WebCore::ImageInputType::createInputRenderer):
2262         (WebCore::ImageInputType::attach):
2263         * loader/ImageLoader.cpp:
2264         (WebCore::ImageLoader::renderImageResource):
2265         * rendering/RenderElement.cpp:
2266         (WebCore::RenderElement::createFor):
2267         * rendering/RenderImage.cpp:
2268         (WebCore::RenderImage::RenderImage):
2269         (WebCore::RenderImage::~RenderImage):
2270         (WebCore::RenderImage::styleDidChange):
2271         (WebCore::RenderImage::imageChanged):
2272         (WebCore::RenderImage::updateIntrinsicSizeIfNeeded):
2273         (WebCore::RenderImage::updateInnerContentRect):
2274         (WebCore::RenderImage::imageDimensionsChanged):
2275         (WebCore::RenderImage::notifyFinished):
2276         (WebCore::RenderImage::paintReplaced):
2277         (WebCore::RenderImage::paintIntoRect):
2278         (WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
2279         (WebCore::RenderImage::minimumReplacedHeight):
2280         (WebCore::RenderImage::computeIntrinsicRatioInformation):
2281         (WebCore::RenderImage::embeddedContentBox):
2282         * rendering/RenderImage.h:
2283         (WebCore::RenderImage::imageResource):
2284         (WebCore::RenderImage::cachedImage):
2285         * rendering/RenderImageResource.h:
2286         * rendering/RenderImageResourceStyleImage.h:
2287         * rendering/RenderMedia.cpp:
2288         (WebCore::RenderMedia::RenderMedia):
2289         * rendering/RenderSnapshottedPlugIn.cpp:
2290         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
2291         * rendering/RenderSnapshottedPlugIn.h:
2292         * rendering/RenderVideo.cpp:
2293         (WebCore::RenderVideo::calculateIntrinsicSize):
2294         * rendering/style/ContentData.cpp:
2295         (WebCore::ImageContentData::createContentRenderer):
2296         * rendering/svg/RenderSVGImage.cpp:
2297         (WebCore::RenderSVGImage::RenderSVGImage):
2298         (WebCore::RenderSVGImage::~RenderSVGImage):
2299         (WebCore::RenderSVGImage::updateImageViewport):
2300         (WebCore::RenderSVGImage::paint):
2301         (WebCore::RenderSVGImage::paintForeground):
2302         * rendering/svg/RenderSVGImage.h:
2303         * svg/SVGImageElement.cpp:
2304         (WebCore::SVGImageElement::didAttachRenderers):
2305
2306 2014-01-20  Antti Koivisto  <antti@apple.com>
2307
2308         Update overlay scrollbars in single pass
2309         https://bugs.webkit.org/show_bug.cgi?id=127289
2310
2311         Reviewed by Anders Carlsson.
2312
2313         * platform/ScrollView.cpp:
2314         (WebCore::ScrollView::updateScrollbars):
2315         
2316             Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
2317
2318 2014-01-20  Jochen Eisinger  <jochen@chromium.org>
2319
2320         Never send a non-http(s) referrer header even with a referrer policy
2321         https://bugs.webkit.org/show_bug.cgi?id=127172
2322
2323         Reviewed by Alexey Proskuryakov.
2324
2325         This mirrors the code SecurityPolicy::shouldHideReferrer which is used
2326         for ReferrerPolicyDefault.
2327
2328         No new tests, only affects an embedder that registers other schemes,
2329         e.g. chrome://
2330
2331         * page/SecurityPolicy.cpp:
2332         (WebCore::SecurityPolicy::generateReferrerHeader):
2333
2334 2014-01-20  Mihai Tica  <mitica@adobe.com>
2335
2336         [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
2337         when having -webkit-background-blending applied. Turns out the problem was
2338         the blending parameter not being passed to WebCore::CrossfadeGeneratedImage::draw
2339
2340         https://bugs.webkit.org/show_bug.cgi?id=126887
2341
2342         Reviewed by Dirk Schulze.
2343
2344         Test: css3/compositing/background-blend-mode-crossfade-image.html
2345
2346         * platform/graphics/CrossfadeGeneratedImage.cpp:
2347         (WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.
2348
2349 2013-11-22  Sergio Villar Senin  <svillar@igalia.com>
2350
2351         Null-pointer dereference in WebCore::CSSValue::isPrimitiveValue
2352         https://bugs.webkit.org/show_bug.cgi?id=124769
2353
2354         Reviewed by Andreas Kling.
2355
2356         Test: fast/gradients/crash-on-no-position-separator.html
2357
2358         The function parseFillPosition() may not return valid values for
2359         centerX and centerY if the input data is malformed. We need to
2360         check that we get a valid pair of positions before checking that
2361         they're actually valid primitive values in the assertions.
2362
2363         * css/CSSParser.cpp:
2364         (WebCore::CSSParser::parseRadialGradient):
2365
2366 2014-01-20  Mihai Tica  <mitica@adobe.com>
2367
2368         Background-blend-mode doesn't work for an element with an
2369         SVG image as background and border-style or padding set.
2370         The problem consisted in the drawing path using the default
2371         blending parameter at all times.
2372         https://bugs.webkit.org/show_bug.cgi?id=118894
2373
2374         Reviewed by Dirk Schulze.
2375
2376         Test: css3/compositing/background-blend-mode-data-uri-svg-image.html
2377
2378         * svg/graphics/SVGImage.cpp:
2379         (WebCore::SVGImage::drawPatternForContainer): Pass blendMode to Image::drawPattern.
2380         * svg/graphics/SVGImage.h: Add a blendMode parameter to drawPatternForContainer.
2381         * svg/graphics/SVGImageForContainer.cpp:
2382         (WebCore::SVGImageForContainer::drawPattern): Pass blendMode to drawPatternForContainer call.
2383
2384 2014-01-20  Zalan Bujtas  <zalan@apple.com>
2385
2386         Subpixel layout: setSimpleLineLayoutEnabled() produces different layout when line position has CSS px fractions.
2387         https://bugs.webkit.org/show_bug.cgi?id=126892
2388
2389         Reviewed by Antti Koivisto.
2390
2391         SimpleLineLayout needs to copy normal linebox layout's subpixel rounding strategy to produce
2392         the same layout.
2393
2394         Covered by existing tests.
2395
2396         * rendering/SimpleLineLayoutFunctions.cpp:
2397         (WebCore::SimpleLineLayout::paintFlow):
2398
2399 2014-01-20  Gurpreet Kaur  <k.gurpreet@samsung.com>
2400
2401         Col width is not honored when dynamically updated and it would make table narrower
2402         https://bugs.webkit.org/show_bug.cgi?id=104711
2403
2404         Reviewed by Antti Koivisto.
2405
2406         Increasing the table width by increasing the colgroup width
2407         was working but decreasing the table width by decreasing the
2408         colgroup width is not working.
2409
2410         Test: fast/dom/HTMLTableColElement/resize-table-width-using-col-width.html
2411
2412         * rendering/RenderTableCol.cpp:
2413         (WebCore::RenderTableCol::styleDidChange):
2414         When colgroup width is defined table cell should adjust according to
2415         that. On decreasing colgroup width the cells maxPreferredLogicalWidth
2416         was still set to the earlier value. Setting the
2417         setPreferredLogicalWidthsDirty to true so that cells pref width is
2418         calculated again.
2419
2420 2014-01-20  Edit Balint  <edbalint@inf.u-szeged.hu>
2421
2422         [CoordinatedGraphics] Segmentation fault at  CoordinatedGraphicsScene::clearImageBackingContents
2423
2424         https://bugs.webkit.org/show_bug.cgi?id=125776
2425
2426         Reviewed by Csaba Osztrogonác.
2427
2428         Unexpected behavior occurs in some test cases which leads to segmentation fault.
2429
2430         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
2431         (WebCore::CompositingCoordinator::removeImageBacking):
2432
2433 2014-01-20  Morten Stenshorne  <mstensho@opera.com>
2434
2435         Region based multicol: tall line causes taller multicol container than necessary
2436         https://bugs.webkit.org/show_bug.cgi?id=122550
2437
2438         Detect and report all column breaks, also when there's no pagination strut involved.
2439
2440         This may end up becoming the overall smallest space shortage in some cases,
2441         so we need to report it, to avoid column height over-stretching.
2442
2443         Reviewed by David Hyatt.
2444
2445         Test: fast/multicol/newmulticol/balance10.html
2446
2447         * rendering/RenderBlockFlow.cpp:
2448         (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
2449
2450 2014-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2451
2452         [GLIB] GVariant floating references are not correctly handled by GRefPtr
2453         https://bugs.webkit.org/show_bug.cgi?id=127246
2454
2455         Reviewed by Martin Robinson.
2456
2457         Do not adopt GVariant floating references, they will be converted
2458         to a full reference by GRefPtr.
2459
2460         * platform/gtk/PasteboardHelper.cpp:
2461         (WebCore::PasteboardHelper::fillSelectionData):
2462         (WebCore::PasteboardHelper::fillDataObjectFromDropData):
2463
2464 2014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>
2465
2466         Use unsigned type for the size of CSSParserValueList
2467         https://bugs.webkit.org/show_bug.cgi?id=127211
2468
2469         Reviewed by Andreas Kling.
2470
2471         * css/CSSParser.cpp: Changed variable type from int to unsigned.
2472         (WebCore::CSSParser::parseValue):
2473
2474 2014-01-19  Jaehun Lim  <ljaehun.lim@samsung.com>
2475
2476         Unreviewed build fix after r162293
2477
2478         Fix debug build.
2479
2480         [ 13%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o
2481         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp: In member function ‘void WebCore::HTMLTreeBuilder::processStartTagForInTable(WebCore::AtomicHTMLToken*)’:
2482         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: error: no match for ‘operator!’ in ‘!(WebCore::HTMLTreeBuilder::InsertionMode)12’
2483         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: candidate is:
2484         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: operator!(bool) <built-in>
2485         /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note:   no known conversion for argument 1 from ‘WebCore::HTMLTreeBuilder::InsertionMode’ to ‘bool’
2486         make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o] Error 1
2487         make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
2488         make: *** [all] Error 2
2489
2490         * html/parser/HTMLTreeBuilder.cpp:
2491         (WebCore::HTMLTreeBuilder::processStartTagForInTable): Fix ASSERT.
2492
2493 2014-01-19  Anders Carlsson  <andersca@apple.com>
2494
2495         Stop using MutexTryLocker in WebCore
2496         https://bugs.webkit.org/show_bug.cgi?id=127254
2497
2498         Reviewed by Andreas Kling.
2499
2500         Instead use std::mutex and std::unique_lock with the std::try_to_lock constructor.
2501
2502         * Modules/webaudio/AudioBufferSourceNode.cpp:
2503         (WebCore::AudioBufferSourceNode::process):
2504         (WebCore::AudioBufferSourceNode::setBuffer):
2505         * Modules/webaudio/AudioBufferSourceNode.h:
2506         * Modules/webaudio/AudioParamTimeline.cpp:
2507         (WebCore::AudioParamTimeline::insertEvent):
2508         (WebCore::AudioParamTimeline::cancelScheduledValues):
2509         (WebCore::AudioParamTimeline::valueForContextTime):
2510         (WebCore::AudioParamTimeline::valuesForTimeRange):
2511         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
2512         * Modules/webaudio/AudioParamTimeline.h:
2513         * Modules/webaudio/ConvolverNode.cpp:
2514         (WebCore::ConvolverNode::process):
2515         (WebCore::ConvolverNode::reset):
2516         (WebCore::ConvolverNode::setBuffer):
2517         * Modules/webaudio/ConvolverNode.h:
2518         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
2519         (WebCore::MediaElementAudioSourceNode::setFormat):
2520         (WebCore::MediaElementAudioSourceNode::process):
2521         (WebCore::MediaElementAudioSourceNode::lock):
2522         (WebCore::MediaElementAudioSourceNode::unlock):
2523         * Modules/webaudio/MediaElementAudioSourceNode.h:
2524         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
2525         (WebCore::MediaStreamAudioSourceNode::setFormat):
2526         (WebCore::MediaStreamAudioSourceNode::process):
2527         * Modules/webaudio/MediaStreamAudioSourceNode.h:
2528         * Modules/webaudio/OscillatorNode.cpp:
2529         (WebCore::OscillatorNode::process):
2530         (WebCore::OscillatorNode::setPeriodicWave):
2531         * Modules/webaudio/OscillatorNode.h:
2532         * Modules/webaudio/PannerNode.cpp:
2533         (WebCore::PannerNode::process):
2534         (WebCore::PannerNode::setPanningModel):
2535         * Modules/webaudio/PannerNode.h:
2536         * Modules/webaudio/WaveShaperProcessor.cpp:
2537         (WebCore::WaveShaperProcessor::setCurve):
2538         (WebCore::WaveShaperProcessor::setOversample):
2539         (WebCore::WaveShaperProcessor::process):
2540         * Modules/webaudio/WaveShaperProcessor.h:
2541
2542 2014-01-19  Alberto Garcia  <berto@igalia.com>
2543
2544         Does not build with SVG disabled
2545         https://bugs.webkit.org/show_bug.cgi?id=127248
2546
2547         Reviewed by Sam Weinig.
2548
2549         Add missing #if ENABLE(SVG) guard.
2550
2551         * dom/ElementData.h:
2552
2553 2014-01-19  Anders Carlsson  <andersca@apple.com>
2554
2555         Use a strong enum for HTMLTreeBuilder::InsertionMode
2556         https://bugs.webkit.org/show_bug.cgi?id=127252
2557
2558         Reviewed by Antti Koivisto.
2559
2560         * html/parser/HTMLTreeBuilder.cpp:
2561         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2562         (WebCore::HTMLTreeBuilder::constructTree):
2563         (WebCore::HTMLTreeBuilder::processDoctypeToken):
2564         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2565         (WebCore::HTMLTreeBuilder::processTemplateStartTag):
2566         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
2567         (WebCore::HTMLTreeBuilder::closeTheCell):
2568         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
2569         (WebCore::HTMLTreeBuilder::processStartTag):
2570         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
2571         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
2572         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
2573         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
2574         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
2575         (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
2576         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
2577         (WebCore::HTMLTreeBuilder::processEndTag):
2578         (WebCore::HTMLTreeBuilder::processComment):
2579         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
2580         (WebCore::HTMLTreeBuilder::processEndOfFile):
2581         (WebCore::HTMLTreeBuilder::defaultForInitial):
2582         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
2583         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
2584         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
2585         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
2586         (WebCore::HTMLTreeBuilder::processScriptStartTag):
2587         * html/parser/HTMLTreeBuilder.h:
2588
2589 2014-01-19  Anders Carlsson  <andersca@apple.com>
2590
2591         Convert LoaderRunLoopCF.cpp and WebCoreThreadRun.cpp over to modern threading primitives
2592         https://bugs.webkit.org/show_bug.cgi?id=127251
2593
2594         Reviewed by Antti Koivisto.
2595
2596         Also add a condition to the loaderRunLoop() function to protect against spurious wake-ups.
2597
2598         * platform/ios/wak/WebCoreThreadRun.cpp:
2599         * platform/network/cf/LoaderRunLoopCF.cpp:
2600         (WebCore::loaderRunLoopMutex):
2601         (WebCore::loaderRunLoopConditionVariable):
2602         (WebCore::runLoaderThread):
2603         (WebCore::loaderRunLoop):
2604
2605 2014-01-19  Anders Carlsson  <andersca@apple.com>
2606
2607         Modernize ReverbConvolver
2608         https://bugs.webkit.org/show_bug.cgi?id=127250
2609
2610         Reviewed by Andreas Kling.
2611
2612         Use std::unique_ptr instead of OwnPtr and the STL threading primitives instead of the WTF ones.
2613
2614         * platform/audio/ReverbConvolver.cpp:
2615         (WebCore::ReverbConvolver::ReverbConvolver):
2616         (WebCore::ReverbConvolver::~ReverbConvolver):
2617         (WebCore::ReverbConvolver::backgroundThreadEntry):
2618         (WebCore::ReverbConvolver::process):
2619         * platform/audio/ReverbConvolver.h:
2620
2621 2014-01-18  Andy Estes  <aestes@apple.com>
2622
2623         [iOS] Rename GestureEventIOS.{cpp,h} to GestureEvent.{cpp,h} to fix the build
2624
2625         InFilesCompiler.pm assumes that <interface name>.h exists for each
2626         interface it processes. We renamed GestureEvent.h to GestureEventIOS.h
2627         but kept the interface named GestureEvent, so a non-existant file was
2628         being referenced by InFilesCompiler.pm (this was hard to detect since
2629         GestureEvent.h still existed in the SDK due to not having submitted
2630         WebKitAdditions recently).
2631
2632         Since we cannot rename the GestureEvent interface, and since there is
2633         no conflicting GestureEvent in open source, we can just rename
2634         GestureEventIOS.{cpp,h} back to GestureEvent.{cpp,h}.
2635
2636         * dom/ios/TouchEvents.cpp: Updated to include GestureEvent.cpp.
2637
2638 2014-01-18  Alexey Proskuryakov  <ap@apple.com>
2639
2640         Memory leak in JSSubtleCrypto::wrapKey
2641         https://bugs.webkit.org/show_bug.cgi?id=127241
2642
2643         Reviewed by Sam Weinig.
2644
2645         * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
2646         Delete algorithmPtr and parametersPtr that aren't smart pointers because of lambdas.
2647
2648 2014-01-18  Andy Estes  <aestes@apple.com>
2649
2650         Fix the iOS Production build.
2651
2652         * Configurations/WebCore.xcconfig:
2653
2654 2014-01-18  Alberto Garcia  <berto@igalia.com>
2655
2656         [CodeGeneratorJS] Sort output of StructureFlags and function parameters
2657
2658         https://bugs.webkit.org/show_bug.cgi?id=127226
2659
2660         Reviewed by Alexey Proskuryakov.
2661
2662         The order of the keys in a hash is undefined and subject to change
2663         between different Perl versions, so we have to sort them to make
2664         sure that the output is always the same.
2665
2666         * bindings/scripts/CodeGeneratorJS.pm:
2667         (GenerateHeader):
2668         (GenerateParametersCheckExpression):
2669         * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
2670         * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
2671         * bindings/scripts/test/JS/JSTestEventConstructor.h:
2672         * bindings/scripts/test/JS/JSTestEventTarget.h:
2673         * bindings/scripts/test/JS/JSTestException.h:
2674         * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
2675         * bindings/scripts/test/JS/JSTestInterface.h:
2676         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2677         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2678         * bindings/scripts/test/JS/JSTestNode.h:
2679         * bindings/scripts/test/JS/JSTestObj.cpp:
2680         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
2681         * bindings/scripts/test/JS/JSTestObj.h:
2682         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
2683         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2684         * bindings/scripts/test/JS/JSTestTypedefs.h:
2685         * bindings/scripts/test/JS/JSattribute.h:
2686         * bindings/scripts/test/JS/JSreadonly.h:
2687
2688 2014-01-18  Anders Carlsson  <andersca@apple.com>
2689
2690         Replace a couple of uses of WTF::Function with std::function
2691         https://bugs.webkit.org/show_bug.cgi?id=127218
2692
2693         Reviewed by Andreas Kling.
2694
2695         * WebCore.exp.in:
2696         * page/scrolling/ScrollingThread.cpp:
2697         (WebCore::ScrollingThread::dispatch):
2698         (WebCore::ScrollingThread::dispatchBarrier):
2699         (WebCore::ScrollingThread::shared):
2700         (WebCore::ScrollingThread::createThreadIfNeeded):
2701         (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
2702         * page/scrolling/ScrollingThread.h:
2703         * page/scrolling/mac/ScrollingThreadMac.mm:
2704         (WebCore::ScrollingThread::initializeRunLoop):
2705
2706 2014-01-18  Anders Carlsson  <andersca@apple.com>
2707
2708         Modernize HTML parser code
2709         https://bugs.webkit.org/show_bug.cgi?id=127236
2710
2711         Reviewed by Andreas Kling.
2712
2713         * html/parser/AtomicHTMLToken.h:
2714         * html/parser/CSSPreloadScanner.cpp:
2715         (WebCore::CSSPreloadScanner::emitRule):
2716         * html/parser/HTMLDocumentParser.cpp:
2717         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2718         (WebCore::HTMLDocumentParser::detach):
2719         (WebCore::HTMLDocumentParser::stopParsing):
2720         (WebCore::HTMLDocumentParser::pumpTokenizer):
2721         (WebCore::HTMLDocumentParser::insert):
2722         (WebCore::HTMLDocumentParser::append):
2723         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2724         * html/parser/HTMLDocumentParser.h:
2725         * html/parser/HTMLElementStack.cpp:
2726         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
2727         (WebCore::HTMLElementStack::insertAbove):
2728         (WebCore::HTMLElementStack::pushCommon):
2729         * html/parser/HTMLElementStack.h:
2730         (WebCore::HTMLElementStack::ElementRecord::releaseNext):
2731         (WebCore::HTMLElementStack::ElementRecord::setNext):
2732         * html/parser/HTMLMetaCharsetParser.cpp:
2733         (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
2734         * html/parser/HTMLMetaCharsetParser.h:
2735         * html/parser/HTMLParserScheduler.h:
2736         * html/parser/HTMLPreloadScanner.cpp:
2737         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
2738         (WebCore::TokenPreloadScanner::scan):
2739         (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
2740         * html/parser/HTMLPreloadScanner.h:
2741         * html/parser/HTMLResourcePreloader.cpp:
2742         (WebCore::HTMLResourcePreloader::takeAndPreload):
2743         (WebCore::HTMLResourcePreloader::preload):
2744         * html/parser/HTMLResourcePreloader.h:
2745         (WebCore::PreloadRequest::PreloadRequest):
2746         * html/parser/HTMLScriptRunner.h:
2747         * html/parser/HTMLToken.h:
2748         (WebCore::HTMLToken::beginDOCTYPE):
2749         (WebCore::HTMLToken::releaseDoctypeData):
2750         * html/parser/HTMLTokenizer.h:
2751         * html/parser/HTMLTreeBuilder.h:
2752         * html/parser/HTMLViewSourceParser.cpp:
2753         (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
2754         * html/parser/HTMLViewSourceParser.h:
2755         * html/parser/XSSAuditor.cpp:
2756         (WebCore::XSSAuditor::init):
2757         (WebCore::XSSAuditor::filterToken):
2758         * html/parser/XSSAuditor.h:
2759         * html/parser/XSSAuditorDelegate.h:
2760         (WebCore::XSSInfo::XSSInfo):
2761         * loader/TextResourceDecoder.cpp:
2762         (WebCore::TextResourceDecoder::checkForHeadCharset):
2763         (WebCore::TextResourceDecoder::checkForMetaCharset):
2764         * loader/TextResourceDecoder.h:
2765
2766 2014-01-18  Benjamin Poulain  <benjamin@webkit.org>
2767
2768         Make ElementData JIT friendly
2769         https://bugs.webkit.org/show_bug.cgi?id=127209
2770
2771         Reviewed by Geoffrey Garen.
2772
2773         The offsets of ElementData's flags were not accessible by the JIT. This patch
2774         refactor ElementData to use explicit flags so that they can be used from
2775         the code generators.
2776
2777         * dom/Element.cpp:
2778         (WebCore::Element::synchronizeAllAttributes):
2779         (WebCore::Element::synchronizeAttribute):
2780         (WebCore::Element::attributeChanged):
2781         (WebCore::Element::removeAttribute):
2782         * dom/ElementData.cpp:
2783         (WebCore::ElementData::destroy):
2784         (WebCore::ElementData::ElementData):
2785         (WebCore::ShareableElementData::ShareableElementData):
2786         (WebCore::ShareableElementData::~ShareableElementData):
2787         (WebCore::ElementData::arraySizeAndFlagsFromOther):
2788         * dom/ElementData.h:
2789         (WebCore::ElementData::hasName):
2790         (WebCore::ElementData::isUnique):
2791         (WebCore::ElementData::updateFlag):
2792         (WebCore::ElementData::arraySize):
2793         (WebCore::ElementData::setHasNameAttribute):
2794         (WebCore::ElementData::styleAttributeIsDirty):
2795         (WebCore::ElementData::setStyleAttributeIsDirty):
2796         (WebCore::ElementData::presentationAttributeStyleIsDirty):
2797         (WebCore::ElementData::setPresentationAttributeStyleIsDirty):
2798         (WebCore::ElementData::animatedSVGAttributesAreDirty):
2799         (WebCore::ElementData::setAnimatedSVGAttributesAreDirty):
2800         (WebCore::ElementData::length):
2801         (WebCore::ElementData::attributeBase):
2802         (WebCore::ElementData::presentationAttributeStyle):
2803         * dom/StyledElement.cpp:
2804         (WebCore::StyledElement::synchronizeStyleAttributeInternal):
2805         (WebCore::StyledElement::attributeChanged):
2806         (WebCore::StyledElement::styleAttributeChanged):
2807         (WebCore::StyledElement::inlineStyleChanged):
2808         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
2809         * dom/StyledElement.h:
2810         (WebCore::StyledElement::invalidateStyleAttribute):
2811         (WebCore::StyledElement::presentationAttributeStyle):
2812         * svg/SVGElement.cpp:
2813         (WebCore::SVGElement::synchronizeAnimatedSVGAttribute):
2814         * svg/SVGElement.h:
2815         (WebCore::SVGElement::invalidateSVGAttributes):
2816
2817 2014-01-18  Zalan Bujtas  <zalan@apple.com>
2818
2819         Subpixel layout: IntRect::infiniteRect() overflows when subpixel layout is enabled.
2820         https://bugs.webkit.org/show_bug.cgi?id=126899
2821
2822         Reviewed by Tim Horton.
2823
2824         Use LayoutUnits when setting the infinite values on IntRect::infiniteRect() to ensure
2825         it won't overflow later when the IntRect gets converted to LayoutRect.
2826
2827         Covered by existing tests.
2828
2829         * platform/graphics/IntRect.h:
2830         (WebCore::IntRect::infiniteRect):
2831
2832 2014-01-18  Anders Carlsson  <andersca@apple.com>
2833
2834         Remove support for the viewsource attribute
2835         https://bugs.webkit.org/show_bug.cgi?id=127232
2836
2837         Reviewed by Andreas Kling.
2838
2839         The 'viewsource' attribute on frames is nonstandard, not used by anyone (the inspector has
2840         its own syntax highlighting) and not audited.
2841
2842         This patch removes parsing of the viewsource attribute and the associated tests. A subsequent
2843         patch will remove the code as well.
2844
2845         * html/HTMLFrameElementBase.cpp:
2846         (WebCore::HTMLFrameElementBase::parseAttribute):
2847
2848 2014-01-18  Anders Carlsson  <andersca@apple.com>
2849
2850         XMLTreeViewer shouldn't use the view source mode
2851         https://bugs.webkit.org/show_bug.cgi?id=127229
2852
2853         Reviewed by Andreas Kling.
2854
2855         Add the relevant styles from view-source.css to XMLViewer.css.
2856
2857         * xml/XMLTreeViewer.cpp:
2858         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2859         * xml/XMLViewer.css:
2860         (body):
2861         (.comment):
2862         (.tag):
2863         (.attribute-name):
2864         (.attribute-value):
2865         * xml/XMLViewer.js:
2866         (createComment):
2867         (createTag):
2868         (createAttribute):
2869
2870 2014-01-18  Andreas Kling  <akling@apple.com>
2871
2872         Remove unused "touchDragDropEnabled" setting.
2873         <https://webkit.org/b/127227>
2874
2875         Reviewed by Sam Weinig.
2876
2877         * page/Settings.in:
2878
2879 2014-01-18  Brian Burg  <bburg@apple.com>
2880
2881         Web Inspector: Page should use std::unique_ptr for InspectorController
2882         https://bugs.webkit.org/show_bug.cgi?id=127068
2883
2884         Reviewed by Joseph Pecoraro.
2885
2886         Make Page and WorkerGlobalScope keep a std::unique_ptr to InspectorController
2887         and WorkerInspectorController. Store page references and return controller
2888         references where possible.
2889
2890         Convert call sites to use an InspectorController reference.
2891         Convert instantiations of InspectorFrontendClient to use std::unique_ptr.
2892         Convert InspectorOverlay to keep Page references.
2893
2894         * WebCore.exp.in:
2895         * bindings/js/JSDOMWindowBase.cpp:
2896         (WebCore::JSDOMWindowBase::supportsProfiling):
2897         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
2898         * dom/Node.cpp:
2899         (WebCore::Node::inspect):
2900         * inspector/InspectorController.cpp:
2901         (WebCore::InspectorController::InspectorController):
2902         (WebCore::InspectorController::inspectedPageDestroyed):
2903         (WebCore::InspectorController::setInspectorFrontendClient):
2904         (WebCore::InspectorController::hasInspectorFrontendClient):
2905         (WebCore::InspectorController::connectFrontend):
2906         (WebCore::InspectorController::disconnectFrontend):
2907         (WebCore::InspectorController::inspectedPage):
2908         (WebCore::InspectorController::developerExtrasEnabled):
2909         * inspector/InspectorController.h:
2910         * inspector/InspectorFrontendClientLocal.cpp:
2911         (WebCore::InspectorFrontendClientLocal::canAttachWindow):
2912         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
2913         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowWidth):
2914         (WebCore::InspectorFrontendClientLocal::openInNewTab):
2915         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
2916         * inspector/InspectorOverlay.cpp:
2917         (WebCore::InspectorOverlay::InspectorOverlay):
2918         (WebCore::InspectorOverlay::getHighlight):
2919         (WebCore::InspectorOverlay::highlightQuad):
2920         (WebCore::InspectorOverlay::update):
2921         (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
2922         (WebCore::InspectorOverlay::drawQuadHighlight):
2923         (WebCore::InspectorOverlay::overlayPage):
2924         (WebCore::InspectorOverlay::reset):
2925         * inspector/InspectorOverlay.h:
2926         * inspector/InstrumentingAgents.cpp:
2927         (WebCore::instrumentationForPage): remove null checks.
2928         (WebCore::instrumentationForWorkerGlobalScope): remove null checks.
2929         * inspector/WorkerInspectorController.cpp:
2930         (WebCore::WorkerInspectorController::WorkerInspectorController):
2931         (WebCore::WorkerInspectorController::connectFrontend):
2932         (WebCore::WorkerInspectorController::disconnectFrontend):
2933         * inspector/WorkerInspectorController.h:
2934         * loader/FrameLoader.cpp:
2935         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2936         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
2937         * page/ContextMenuController.cpp:
2938         (WebCore::ContextMenuController::showContextMenu):
2939         (WebCore::ContextMenuController::contextMenuItemSelected):
2940         (WebCore::ContextMenuController::populate):
2941         (WebCore::ContextMenuController::addInspectElementItem):
2942         * page/FrameView.cpp:
2943         (WebCore::FrameView::sendResizeEventIfNeeded):
2944         * page/Page.cpp:
2945         (WebCore::Page::Page):
2946         * page/Page.h:
2947         (WebCore::Page::inspectorController):
2948         * page/PageDebuggable.cpp:
2949         (WebCore::PageDebuggable::hasLocalDebugger):
2950         (WebCore::PageDebuggable::parentProcessIdentifier):
2951         (WebCore::PageDebuggable::connect):
2952         (WebCore::PageDebuggable::disconnect):
2953         (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
2954         (WebCore::PageDebuggable::setIndicating):
2955         * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
2956         (WebCore::CompositingCoordinator::syncDisplayState):
2957         * testing/Internals.cpp:
2958         (WebCore::Internals::resetToConsistentState):
2959         (WebCore::Internals::inspectorHighlightRects):
2960         (WebCore::Internals::inspectorHighlightObject):
2961         (WebCore::Internals::emitInspectorDidBeginFrame):
2962         (WebCore::Internals::emitInspectorDidCancelFrame):
2963         (WebCore::Internals::openDummyInspectorFrontend):
2964         (WebCore::Internals::closeDummyInspectorFrontend):
2965         (WebCore::Internals::setInspectorResourcesDataSizeLimits):
2966         (WebCore::Internals::setJavaScriptProfilingEnabled):
2967         * workers/WorkerGlobalScope.cpp:
2968         (WebCore::WorkerGlobalScope::WorkerGlobalScope):
2969         * workers/WorkerGlobalScope.h: remove clearInspector(). 
2970         (WebCore::WorkerGlobalScope::workerInspectorController):
2971         * workers/WorkerMessagingProxy.cpp:
2972         (WebCore::connectToWorkerGlobalScopeInspectorTask):
2973         (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
2974         (WebCore::dispatchOnInspectorBackendTask):
2975         * workers/WorkerThread.cpp:
2976         (WebCore::WorkerThreadShutdownFinishTask::performTask):
2977
2978 2014-01-18  Anders Carlsson  <andersca@apple.com>
2979
2980         Remove ENABLE_THREADED_HTML_PARSER defines everywhere
2981         https://bugs.webkit.org/show_bug.cgi?id=127225
2982
2983         Reviewed by Andreas Kling.
2984
2985         This concludes the removal of over 8.8 million lines of threaded parser code.
2986
2987         * Configurations/FeatureDefines.xcconfig:
2988
2989 2014-01-18  Anders Carlsson  <andersca@apple.com>
2990
2991         Remove the remaining threaded parser code
2992         https://bugs.webkit.org/show_bug.cgi?id=127224
2993
2994         Reviewed by Andreas Kling.
2995
2996         * dom/Document.cpp:
2997         (WebCore::Document::decrementActiveParserCount):
2998         * html/parser/AtomicHTMLToken.h:
2999         * html/parser/HTMLDocumentParser.cpp:
3000         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3001         (WebCore::HTMLDocumentParser::detach):
3002         (WebCore::HTMLDocumentParser::stopParsing):
3003         (WebCore::HTMLDocumentParser::prepareToStopParsing):
3004         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
3005         (WebCore::HTMLDocumentParser::forcePlaintextForTextDocument):
3006         (WebCore::HTMLDocumentParser::insert):
3007         (WebCore::HTMLDocumentParser::append):
3008         (WebCore::HTMLDocumentParser::end):
3009         (WebCore::HTMLDocumentParser::finish):
3010         (WebCore::HTMLDocumentParser::textPosition):
3011         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
3012         * html/parser/HTMLDocumentParser.h:
3013         * html/parser/HTMLParserIdioms.cpp:
3014         * html/parser/HTMLParserIdioms.h:
3015         * html/parser/HTMLTokenizer.cpp:
3016         * html/parser/HTMLTokenizer.h:
3017         * loader/DocumentLoader.cpp:
3018         (WebCore::DocumentLoader::isLoading):
3019         (WebCore::DocumentLoader::checkLoadComplete):
3020         * page/Settings.in:
3021
3022 2014-01-18  Anders Carlsson  <andersca@apple.com>
3023
3024         Remove threaded parser code from the preload scanners
3025         https://bugs.webkit.org/show_bug.cgi?id=127222
3026
3027         Reviewed by Andreas Kling.
3028
3029         * html/parser/CSSPreloadScanner.cpp:
3030         (WebCore::CSSPreloadScanner::CSSPreloadScanner):
3031         Use nullptr.
3032
3033         (WebCore::CSSPreloadScanner::scan):
3034         Move scanCommon here and simplify the code.
3035
3036         * html/parser/CSSPreloadScanner.h:
3037         Remove scanCommon.
3038
3039         * html/parser/HTMLPreloadScanner.cpp:
3040         (WebCore::TokenPreloadScanner::tagIdFor):
3041         TagId is a strong enum now, update enum values.
3042
3043         (WebCore::TokenPreloadScanner::initiatorFor):
3044         Ditto.
3045
3046         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
3047         Ditto.
3048
3049         (WebCore::TokenPreloadScanner::StartTagScanner::match):
3050         Indent this.
3051
3052         (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
3053         TagId is a strong enum now, update enum values.
3054
3055         (WebCore::TokenPreloadScanner::StartTagScanner::charset):
3056         Ditto.
3057
3058         (WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
3059         Ditto.
3060
3061         (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
3062         Ditto.
3063
3064         (WebCore::TokenPreloadScanner::scan):
3065         Merge scan and scanCommon.
3066
3067         * html/parser/HTMLPreloadScanner.h:
3068
3069 2014-01-18  Lauro Neto  <lauro.neto@openbossa.org>
3070
3071         Remove Nix files from WebCore
3072         https://bugs.webkit.org/show_bug.cgi?id=127176
3073
3074         Reviewed by Anders Carlsson.
3075
3076         * PlatformNix.cmake: Removed.
3077         * css/mediaControlsNix.css: Removed.
3078         * css/mediaControlsNixFullscreen.css: Removed.
3079         * editing/nix/EditorNix.cpp: Removed.
3080         * page/nix/EventHandlerNix.cpp: Removed.
3081         * platform/audio/nix/AudioBusNix.cpp: Removed.
3082         * platform/audio/nix/AudioDestinationNix.cpp: Removed.
3083         * platform/audio/nix/AudioDestinationNix.h: Removed.
3084         * platform/audio/nix/FFTFrameNix.cpp: Removed.
3085         * platform/graphics/nix/IconNix.cpp: Removed.
3086         * platform/graphics/nix/ImageNix.cpp: Removed.
3087         * platform/nix/CursorNix.cpp: Removed.
3088         * platform/nix/DragDataNix.cpp: Removed.
3089         * platform/nix/DragImageNix.cpp: Removed.
3090         * platform/nix/ErrorsNix.cpp: Removed.
3091         * platform/nix/ErrorsNix.h: Removed.
3092         * platform/nix/FileSystemNix.cpp: Removed.
3093         * platform/nix/GamepadsNix.cpp: Removed.
3094         * platform/nix/LanguageNix.cpp: Removed.
3095         * platform/nix/LocalizedStringsNix.cpp: Removed.
3096         * platform/nix/MIMETypeRegistryNix.cpp: Removed.
3097         * platform/nix/NixKeyboardUtilities.cpp: Removed.
3098         * platform/nix/NixKeyboardUtilities.h: Removed.
3099         * platform/nix/PasteboardNix.cpp: Removed.
3100         * platform/nix/PlatformKeyboardEventNix.cpp: Removed.
3101         * platform/nix/PlatformScreenNix.cpp: Removed.
3102         * platform/nix/RenderThemeNix.cpp: Removed.
3103         * platform/nix/RenderThemeNix.h: Removed.
3104         * platform/nix/ScrollbarThemeNix.cpp: Removed.
3105         * platform/nix/ScrollbarThemeNix.h: Removed.
3106         * platform/nix/SharedTimerNix.cpp: Removed.
3107         * platform/nix/SoundNix.cpp: Removed.
3108         * platform/nix/TemporaryLinkStubs.cpp: Removed.
3109         * platform/nix/WidgetNix.cpp: Removed.
3110         * platform/nix/support/MultiChannelPCMData.cpp: Removed.
3111         * platform/text/nix/TextBreakIteratorInternalICUNix.cpp: Removed.
3112
3113 2014-01-18  Anders Carlsson  <andersca@apple.com>
3114
3115         Remove DocumentParser::pinToMainThread() and related code
3116         https://bugs.webkit.org/show_bug.cgi?id=127221
3117
3118         Reviewed by Andreas Kling.
3119
3120         * dom/Document.cpp:
3121         (WebCore::Document::setContent):
3122         * dom/DocumentParser.h:
3123         * html/parser/HTMLDocumentParser.cpp:
3124         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3125         * html/parser/HTMLDocumentParser.h:
3126         * html/parser/HTMLParserOptions.cpp:
3127         (WebCore::HTMLParserOptions::HTMLParserOptions):
3128         * html/parser/HTMLParserOptions.h:
3129         * html/parser/HTMLTreeBuilder.cpp:
3130         (WebCore::HTMLTreeBuilder::processEndTag):
3131         * loader/DocumentWriter.cpp:
3132         (WebCore::DocumentWriter::replaceDocument):
3133
3134 2014-01-18  Anders Carlsson  <andersca@apple.com>
3135
3136         Remove HTMLParserThread
3137         https://bugs.webkit.org/show_bug.cgi?id=127220
3138
3139         Reviewed by Andreas Kling.
3140
3141         * CMakeLists.txt:
3142         * GNUmakefile.list.am:
3143         * WebCore.vcxproj/WebCore.vcxproj:
3144         * WebCore.vcxproj/WebCore.vcxproj.filters:
3145         * WebCore.xcodeproj/project.pbxproj:
3146         * html/parser/HTMLDocumentParser.cpp:
3147         * html/parser/HTMLParserThread.cpp: Removed.
3148         * html/parser/HTMLParserThread.h: Removed.
3149
3150 2014-01-17  Andreas Kling  <akling@apple.com>
3151
3152         GC soon after responding to fake memory pressure.
3153         <https://webkit.org/b/127210>
3154
3155         Ask JSC to garbage collect "soon" after handling the fake memory
3156         pressure signal on Mac. This seems to stabilize the post-pressure
3157         numbers on Membuster3 a bit on my laptop. The difference is mostly
3158         made up of JSC::CodeBlock objects.
3159
3160         Reviewed by Geoffrey Garen.
3161
3162         * platform/mac/MemoryPressureHandlerMac.mm:
3163         (WebCore::MemoryPressureHandler::install):
3164
3165 2014-01-18  Anders Carlsson  <andersca@apple.com>
3166
3167         Remove files only used by the threaded HTML parser
3168         https://bugs.webkit.org/show_bug.cgi?id=127219
3169         <rdar://problem/13331277>
3170
3171         Reviewed by Andreas Kling.
3172
3173         * CMakeLists.txt:
3174         * GNUmakefile.list.am:
3175         * WebCore.vcxproj/WebCore.vcxproj:
3176         * WebCore.vcxproj/WebCore.vcxproj.filters:
3177         * WebCore.xcodeproj/project.pbxproj:
3178         * html/parser/AtomicHTMLToken.h:
3179         * html/parser/BackgroundHTMLInputStream.cpp: Removed.
3180         * html/parser/BackgroundHTMLInputStream.h: Removed.
3181         * html/parser/BackgroundHTMLParser.cpp: Removed.
3182         * html/parser/BackgroundHTMLParser.h: Removed.
3183         * html/parser/CompactHTMLToken.cpp: Removed.
3184         * html/parser/CompactHTMLToken.h: Removed.
3185         * html/parser/HTMLDocumentParser.cpp:
3186         * html/parser/HTMLDocumentParser.h:
3187         * html/parser/HTMLIdentifier.cpp: Removed.
3188         * html/parser/HTMLIdentifier.h: Removed.
3189         * html/parser/HTMLParserIdioms.h:
3190         * html/parser/HTMLPreloadScanner.h:
3191         * html/parser/HTMLTreeBuilderSimulator.cpp: Removed.
3192         * html/parser/HTMLTreeBuilderSimulator.h: Removed.
3193
3194 2014-01-17  Andreas Kling  <akling@apple.com>
3195
3196         Micro-optimize RenderBoxModelObject::computedCSSPadding().
3197         <https://webkit.org/b/127208>
3198
3199         Make computedCSSPadding() take the Length as a const reference
3200         to avoid creating a temporary copy. This was showing up (0.2%)
3201         on DoYouEvenBench.
3202
3203         Reviewed by Anders Carlsson.
3204
3205         * rendering/RenderBoxModelObject.h:
3206         * rendering/RenderBoxModelObject.cpp:
3207         (WebCore::RenderBoxModelObject::computedCSSPadding):
3208
3209 2014-01-17  Anders Carlsson  <andersca@apple.com>
3210
3211         Add a callOnMainThreadAndWait variant in SocketStreamHandle
3212         https://bugs.webkit.org/show_bug.cgi?id=127180
3213
3214         Reviewed by Geoffrey Garen.
3215
3216         WTF::callOnMainThreadAndWait was only used inside SocketStreamHandleCFNet.cpp, 
3217         so add an improved version there which is implemented in terms of callOnMainThread and
3218         with the bonus of handling spurious wake-ups correctly (the old version didn't).
3219
3220         * platform/network/cf/SocketStreamHandle.h:
3221         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3222         (WebCore::callOnMainThreadAndWait):
3223         (WebCore::SocketStreamHandle::pacExecutionCallback):
3224         (WebCore::SocketStreamHandle::readStreamCallback):
3225         (WebCore::SocketStreamHandle::writeStreamCallback):
3226
3227 2014-01-17  Anders Carlsson  <andersca@apple.com>
3228
3229         Clean up PageCache classes
3230         https://bugs.webkit.org/show_bug.cgi?id=127202
3231
3232         Reviewed by Andreas Kling.
3233
3234         * WebCore.exp.in:
3235         * history/CachedFrame.cpp:
3236         (WebCore::CachedFrameBase::~CachedFrameBase):
3237         (WebCore::CachedFrame::CachedFrame):
3238         (WebCore::CachedFrame::clear):
3239         (WebCore::CachedFrame::setCachedFramePlatformData):
3240         * history/CachedFrame.h:
3241         * history/CachedPage.cpp:
3242         (WebCore::CachedPage::CachedPage):
3243         * history/CachedPage.h:
3244         * history/HistoryItem.h:
3245         (WebCore::HistoryItem::isInPageCache):
3246         * history/PageCache.cpp:
3247         (WebCore::PageCache::add):
3248         (WebCore::PageCache::take):
3249         (WebCore::PageCache::remove):
3250         * history/PageCache.h:
3251         * loader/FrameLoader.cpp:
3252         (WebCore::FrameLoader::commitProvisionalLoad):
3253         * loader/HistoryController.cpp:
3254         (WebCore::HistoryController::invalidateCurrentItemCachedPage):
3255
3256 2014-01-17  Andy Estes  <aestes@apple.com>
3257
3258         Work around a preprocessor warning in mediaControlsApple.js
3259         https://bugs.webkit.org/show_bug.cgi?id=127204
3260
3261         Reviewed by Dan Bernstein.
3262
3263         * Modules/mediacontrols/mediaControlsApple.js: Changed '' to String().
3264
3265 2014-01-17  Daniel Bates  <dabates@apple.com>
3266
3267         Fix the iOS build after <http://trac.webkit.org/changeset/162184>
3268         (https://bugs.webkit.org/show_bug.cgi?id=126856)
3269
3270         Remove symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(unsigned short const*, int).
3271         Add symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(WTF::StringView).
3272
3273         * WebCore.exp.in:
3274
3275 2014-01-17  Andreas Kling  <akling@apple.com>
3276
3277         Remove unused TOUCH_ADJUSTMENT code.
3278         <https://webkit.org/b/127181>
3279
3280         There are no ports using the ENABLE(TOUCH_ADJUSTMENT) feature
3281         anymore, so nuke it from orbit.
3282
3283         Reviewed by Anders Carlsson.
3284
3285         * page/EventHandler.cpp:
3286         * page/EventHandler.h:
3287         * page/Settings.in:
3288         * page/TouchAdjustment.cpp: Removed.
3289         * page/TouchAdjustment.h: Removed.
3290         * testing/Internals.cpp:
3291         * testing/Internals.h:
3292         * testing/Internals.idl:
3293
3294 2014-01-17  Beth Dakin  <bdakin@apple.com>
3295
3296         Need a way to test the tile cache with margins enabled
3297         https://bugs.webkit.org/show_bug.cgi?id=127194
3298         -and corresponding-
3299         <rdar://problem/15571327>
3300
3301         Reviewed by Tim Horton.
3302
3303         This patch adds a new function to InternalSettings that will allow layout tests to 
3304         flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also         
3305         makes changing that setting take effect immediately. 
3306
3307         To make this setting dynamic, we can no longer generate the Setting function, so 
3308         we have to export the symbol manually.
3309         * WebCore.exp.in:
3310
3311         This new function on FrameView will call into RenderLayerBacking to add or remove 
3312         margins.
3313         * page/FrameView.cpp:
3314         (WebCore::FrameView::setBackgroundExtendsBeyondPage):
3315         * page/FrameView.h:
3316
3317         Again, we’re no longer using the boiler-plate generated Setting functions, so now 
3318         we can call into FrameView to make the background extend.
3319         * page/Settings.cpp:
3320         (WebCore::Settings::Settings):
3321         (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
3322         * page/Settings.h:
3323         (WebCore::Settings::backgroundShouldExtendBeyondPage):
3324         * page/Settings.in:
3325
3326         Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change 
3327         dynamic.
3328         * platform/graphics/ca/mac/TileController.mm:
3329         (WebCore::TileController::setTileMargins):
3330
3331         Move the call to TiledBacking::setTileMargins() into a helper function so that the 
3332         same code can be used for FrameView.
3333         * rendering/RenderLayerBacking.cpp:
3334         (WebCore::RenderLayerBacking::RenderLayerBacking):
3335         (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
3336         * rendering/RenderLayerBacking.h:
3337
3338         New InternalSetting.
3339         * testing/InternalSettings.cpp:
3340         (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage):
3341         * testing/InternalSettings.h:
3342         * testing/InternalSettings.idl:
3343
3344 2014-01-17  Anders Carlsson  <andersca@apple.com>
3345
3346         Remove another unused FrameLoaderClient callback
3347         https://bugs.webkit.org/show_bug.cgi?id=127192
3348
3349         Reviewed by Dan Bernstein.
3350
3351         FrameLoaderClient::dispatchDocumentElementAvailable() was only used by the Chromium port, so remove it.
3352
3353         * html/ImageDocument.cpp:
3354         (WebCore::ImageDocument::createDocumentStructure):
3355         * html/MediaDocument.cpp:
3356         (WebCore::MediaDocumentParser::createDocumentStructure):
3357         * html/PluginDocument.cpp:
3358         (WebCore::PluginDocumentParser::createDocumentStructure):
3359         * html/parser/HTMLConstructionSite.cpp:
3360         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
3361         * loader/EmptyClients.h:
3362         * loader/FrameLoader.cpp:
3363         * loader/FrameLoader.h:
3364         * loader/FrameLoaderClient.h:
3365         * xml/parser/XMLDocumentParserLibxml2.cpp:
3366         (WebCore::XMLDocumentParser::startElementNs):
3367
3368 2014-01-17  Anders Carlsson  <andersca@apple.com>
3369
3370         Remove FrameLoaderClient::didPerformFirstNavigation()
3371         https://bugs.webkit.org/show_bug.cgi?id=127191
3372
3373         Reviewed by Dan Bernstein.
3374
3375         * loader/EmptyClients.h:
3376         * loader/FrameLoader.cpp:
3377         (WebCore::FrameLoader::FrameLoader):
3378         * loader/FrameLoader.h:
3379         * loader/FrameLoaderClient.h:
3380         * loader/HistoryController.cpp:
3381         (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
3382
3383 2014-01-17  Anders Carlsson  <andersca@apple.com>
3384
3385         Move didPerformFirstNavigation() logic to -[WebView _didCommitLoadForFrame:]
3386         https://bugs.webkit.org/show_bug.cgi?id=127189
3387
3388         Reviewed by Dan Bernstein.
3389
3390         * loader/FrameLoaderClient.h:
3391         (WebCore::FrameLoaderClient::didPerformFirstNavigation):
3392         Add an empty implementation of didPerformFirstNavigation() to make it easier to remove it from subclasses.
3393
3394 2014-01-17  Eric Carlson  <eric.carlson@apple.com>
3395
3396         [iOS] HTMLMediaSession should set AudioSession category
3397         https://bugs.webkit.org/show_bug.cgi?id=127137
3398
3399         Reviewed by Sam Weinig.
3400
3401         * html/HTMLMediaSession.cpp:
3402         (WebCore::initializeAudioSession): New, set the audio session to "media" on iOS.
3403         (WebCore::HTMLMediaSession::HTMLMediaSession): Call initializeAudioSession.
3404
3405 2014-01-17  Daniel Bates  <dabates@apple.com>
3406
3407         Fix the iOS build after <http://trac.webkit.org/changeset/162178>
3408         (https://bugs.webkit.org/show_bug.cgi?id=127147)
3409
3410         Declare WebMediaSessionHelper outside of namespace WebCore to resolve error that
3411         "Objective-C declarations may only appear in global scope".
3412
3413         * platform/audio/ios/MediaSessionManagerIOS.mm:
3414
3415 2014-01-17  Bem Jones-Bey  <bjonesbe@adobe.com>
3416
3417         [CSS Shapes] Stacked floats with shape-outside should allow inline content to interact with the non-outermost float
3418         https://bugs.webkit.org/show_bug.cgi?id=122576
3419
3420         Reviewed by David Hyatt.
3421
3422         Make inline content interact with stacked floats with shape-outside
3423         per the spec. This means that content can interact with floats on the
3424         line that are not the outermost float.
3425
3426         This refactors ComputeFloatOffsetAdapter into a superclass and two
3427         subclasses: one adaptor for determining the offset for float layout,
3428         and one for determining the offset for inline layout.
3429
3430         The logic in LineWidth::shrinkAvailableWidthForNewFloatIfNeeded has
3431         been updated to handle stacked floats with shape-outside properly and
3432         has been considerably simplified in the process. It was previously
3433         doing a whole bunch of unnecessary work.
3434
3435         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-stacked-000.html
3436                fast/shapes/shape-outside-floats/shape-outside-floats-stacked-001.html
3437                fast/shapes/shape-outside-floats/shape-outside-floats-stacked-002.html
3438
3439         * rendering/FloatingObjects.cpp:
3440         (WebCore::ComputeFloatOffsetAdapter::~ComputeFloatOffsetAdapter):
3441         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter::ComputeFloatOffsetForFloatLayoutAdapter):
3442         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter::~ComputeFloatOffsetForFloatLayoutAdapter):
3443         (WebCore::ComputeFloatOffsetForLineLayoutAdapter::ComputeFloatOffsetForLineLayoutAdapter):
3444         (WebCore::ComputeFloatOffsetForLineLayoutAdapter::~ComputeFloatOffsetForLineLayoutAdapter):
3445         (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
3446         (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
3447         (WebCore::FloatingObjects::logicalLeftOffset):
3448         (WebCore::FloatingObjects::logicalRightOffset):
3449         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
3450         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
3451         (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
3452         (WebCore::shapeInfoForFloat):
3453         (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
3454         (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
3455         * rendering/line/LineWidth.cpp:
3456         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
3457         * rendering/shapes/ShapeOutsideInfo.cpp:
3458         (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
3459         * rendering/shapes/ShapeOutsideInfo.h:
3460
3461 2014-01-17  Zoltan Horvath  <zoltan@webkit.org>
3462
3463         [CSS3] Add rendering support for -webkit-text-align-last
3464         https://bugs.webkit.org/show_bug.cgi?id=99584
3465
3466         Reviewed by David Hyatt.
3467
3468         Add support for the text-align-last CSS3 property, according to the latest specification:
3469         http://dev.w3.org/csswg/css-text-3/#text-align-last-property
3470
3471         Tests: fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html
3472                fast/css3-text/css3-text-align-last/text-align-last-with-text-align-non-justify.html
3473
3474         * rendering/RenderBlockLineLayout.cpp:
3475         (WebCore::RenderBlockFlow::textAlignmentForLine):
3476         * rendering/style/RenderStyle.cpp:
3477         (WebCore::RenderStyle::changeRequiresLayout):
3478
3479 2014-01-17  Daniel Bates  <dabates@apple.com>
3480
3481         Fix the iOS build after <http://trac.webkit.org/changeset/162208>
3482         (https://bugs.webkit.org/show_bug.cgi?id=127139)
3483
3484         __MAC_OS_X_VERSION_MIN_REQUIRED isn't defined when building for iOS. Instead, explicitly
3485         check that we're not PLATFORM(IOS) to avoid defining the enum value CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain.
3486
3487         * platform/network/cf/CookieJarCFNet.cpp:
3488
3489 2014-01-17  Bear Travis  <betravis@adobe.com>
3490
3491         [CSS Shapes] Basic shapes' computed position should be a horizontal and vertical offset
3492         https://bugs.webkit.org/show_bug.cgi?id=127010
3493
3494         Reviewed by Rob Buis.
3495
3496         This patch updates the computed position values used for blending to be a horizontal
3497         left offset and a vertical top offset. When positions include a center, bottom, or
3498         right position offset, it is converted to the appropriate top/left coordinate as
3499         a calc expression. Serialized values still use the original bottom/right directions
3500         when present, and also omit the top/left keywords where possible.
3501
3502         Updated parsing and animation tests.
3503
3504         * css/BasicShapeFunctions.cpp:
3505         (WebCore::valueForCenterCoordinate): Use the simplified BasicShapeCenterCoordinate,
3506         which includes an offset and whether the direction is from the top/left or bottom/right.
3507         (WebCore::valueForBasicShape): Ditto.
3508         (WebCore::convertToCenterCoordinate): Ditto.
3509         (WebCore::basicShapeForValue): Ditto.
3510         (WebCore::floatValueForCenterCoordinate): Ditto.
3511         * page/animation/CSSPropertyAnimation.cpp:
3512         (WebCore::blendFunc): Remove the RenderBox parameter, which is no longer needed.
3513         * rendering/style/BasicShapes.cpp:
3514         (WebCore::BasicShapeCenterCoordinate::updateComputedLength): Calculate the computed
3515         position offset for this center coordinate.
3516         (WebCore::BasicShapeRectangle::blend): Remove the RenderBox parameter.
3517         (WebCore::DeprecatedBasicShapeCircle::blend): Ditto.
3518         (WebCore::BasicShapeCircle::blend): Ditto.
3519         (WebCore::DeprecatedBasicShapeEllipse::blend): Ditto.
3520         (WebCore::BasicShapeEllipse::blend): Ditto.
3521         (WebCore::BasicShapePolygon::blend): Ditto.
3522         (WebCore::BasicShapeInsetRectangle::blend): Ditto.
3523         (WebCore::BasicShapeInset::blend): Ditto.
3524         * rendering/style/BasicShapes.h:
3525         (WebCore::BasicShapeCenterCoordinate::BasicShapeCenterCoordinate): Simplify
3526         BasicShapeCenterCoordinate to contain an offset and a direction. Also add a
3527         computed length, which is an offset from the top/left direction.
3528         (WebCore::BasicShapeCenterCoordinate::direction):
3529         (WebCore::BasicShapeCenterCoordinate::computedLength):
3530         (WebCore::BasicShapeCenterCoordinate::blend):
3531
3532 2014-01-17  Alexey Proskuryakov  <ap@apple.com>
3533
3534         More non-Mac build fix.
3535
3536         * platform/network/cf/CookieJarCFNet.cpp:
3537
3538 2014-01-16  Myles C. Maxfield  <mmaxfield@apple.com>
3539
3540         Unprefix text-emphasis CSS properties
3541         https://bugs.webkit.org/show_bug.cgi?id=127160
3542
3543         Reviewed by Sam Weinig.
3544
3545         Add synonym CSS properties. We don't want to delete the old ones because
3546         we've shipped with them included.
3547
3548         Test: fast/css3-text/css3-text-decoration/text-decoration-unprefix.html
3549
3550         * css/CSSPropertyNames.in:
3551
3552 2014-01-17  Alberto Garcia  <berto@igalia.com>
3553
3554         [GTK] WebKitGtk/testcopyandpaste fails in debug builds
3555         https://bugs.webkit.org/show_bug.cgi?id=127173
3556
3557         Reviewed by Carlos Garcia Campos.
3558
3559         Remove duplicate "PasteGlobalSelection" entry.
3560
3561         * editing/EditorCommand.cpp:
3562         (WebCore::createCommandMap):
3563
3564 2014-01-14  Andreas Kling  <akling@apple.com>
3565
3566         Pack ResourceRequest harder.
3567         <https://webkit.org/b/126982>
3568
3569         Re-arrange the members of ResourceRequest to reduce padding,
3570         shrinking it by 8 bytes.
3571
3572         Reviewed by Anders Carlsson.
3573
3574         * platform/network/ResourceRequestBase.h:
3575         (WebCore::ResourceRequestBase::ResourceRequestBase):
3576
3577 2014-01-17  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
3578
3579         Remove workaround for compilers not supporting deleted functions
3580         https://bugs.webkit.org/show_bug.cgi?id=127166
3581
3582         Reviewed by Andreas Kling.
3583
3584         * bindings/js/JSLazyEventListener.h:
3585         * dom/ContainerNode.h:
3586         * dom/Document.h:
3587         * dom/Element.h:
3588         * rendering/InlineFlowBox.h:
3589         * rendering/InlineTextBox.h:
3590         * rendering/RenderButton.h:
3591         * rendering/RenderCombineText.h:
3592         * rendering/RenderElement.h:
3593         * rendering/RenderFieldset.h:
3594         * rendering/RenderFileUploadControl.h:
3595         * rendering/RenderFrame.h:
3596         * rendering/RenderFrameBase.h:
3597         * rendering/RenderFrameSet.h:
3598         * rendering/RenderHTMLCanvas.h:
3599         * rendering/RenderIFrame.h:
3600         * rendering/RenderLineBreak.h:
3601         * rendering/RenderListBox.h:
3602         * rendering/RenderListMarker.h:
3603         * rendering/RenderMedia.h:
3604         * rendering/RenderMenuList.h:
3605         * rendering/RenderSnapshottedPlugIn.h:
3606         * rendering/RenderTableCell.h:
3607         * rendering/RenderTableRow.h:
3608         * rendering/RenderTableSection.h:
3609         * rendering/RenderText.h:
3610         * rendering/RenderTextControl.h:
3611         * rendering/RenderTextControlMultiLine.h:
3612         * rendering/RenderTextControlSingleLine.h:
3613         * rendering/RenderVideo.h:
3614         * rendering/RenderWidget.h:
3615         * rendering/svg/RenderSVGBlock.h:
3616         * rendering/svg/RenderSVGForeignObject.h:
3617         * rendering/svg/RenderSVGImage.h:
3618         * rendering/svg/RenderSVGInline.h:
3619         * rendering/svg/RenderSVGRect.h:
3620         * rendering/svg/RenderSVGResourceClipper.h:
3621         * rendering/svg/RenderSVGResourceFilter.h:
3622         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
3623         * rendering/svg/RenderSVGResourceGradient.h:
3624         * rendering/svg/RenderSVGResourceLinearGradient.h:
3625         * rendering/svg/RenderSVGResourceMarker.h:
3626         * rendering/svg/RenderSVGResourceMasker.h:
3627         * rendering/svg/RenderSVGResourcePattern.h:
3628         * rendering/svg/RenderSVGResourceRadialGradient.h:
3629         * rendering/svg/RenderSVGRoot.h:
3630         * rendering/svg/RenderSVGShape.h:
3631         * rendering/svg/RenderSVGTSpan.h:
3632         * rendering/svg/RenderSVGText.h:
3633         * rendering/svg/RenderSVGTextPath.h:
3634         * rendering/svg/RenderSVGTransformableContainer.h:
3635         * rendering/svg/RenderSVGViewportContainer.h:
3636         * xml/XPathValue.h:
3637
3638 2014-01-17  Zan Dobersek  <zdobersek@igalia.com>
3639
3640         [ATK] Modernize the for loops in ATK AX code
3641         https://bugs.webkit.org/show_bug.cgi?id=127120
3642
3643         Reviewed by Mario Sanchez Prada.
3644
3645         Update the for loops to be range-based in ATK accessibility code.
3646         This work is complementary to r161979.
3647
3648         * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
3649         (webkitAccessibleHypertextGetLink):
3650         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
3651         (webkitAccessibleTableGetColumnHeader):
3652         (webkitAccessibleTableGetRowHeader):
3653         * accessibility/atk/WebKitAccessibleUtil.cpp:
3654         (accessibilityTitle):
3655         (accessibilityDescription):
3656         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3657         (getNChildrenForTable):
3658         (getChildForTable):
3659         (getIndexInParentForCellInRow):
3660
3661 2014-01-17  Zan Dobersek  <zdobersek@igalia.com>
3662
3663         [Soup] Remove unnecessary using-directives for the std namespace
3664         https://bugs.webkit.org/show_bug.cgi?id=127122
3665
3666         Reviewed by Martin Robinson.
3667
3668         * platform/network/soup/ResourceRequestSoup.cpp: Remove the unnecessary using-directive for the std namespace
3669         as no symbols from that namespace are in use in this implementation file.
3670         * platform/network/soup/ResourceResponseSoup.cpp: Ditto.
3671
3672 2014-01-16  Tim Horton  <timothy_horton@apple.com>
3673
3674         On iOS, zooming in with a TileController-backed main frame makes hundreds of tiles
3675         https://bugs.webkit.org/show_bug.cgi?id=126531
3676         <rdar://problem/15745862>
3677
3678         Reviewed by Anders Carlsson.
3679
3680         * platform/graphics/ca/mac/TileController.h:
3681         * platform/graphics/ca/mac/TileController.mm:
3682         (WebCore::TileController::tilesWouldChangeForVisibleRect):
3683         (WebCore::TileController::scaledExposedRect):
3684         (WebCore::TileController::computeTileCoverageRect):
3685         (WebCore::TileController::revalidateTiles):
3686         (WebCore::TileController::updateTileCoverageMap):
3687         Scale the FrameView-space exposedRect into document space, to match the visibleRect.
3688
3689         Flipping on WKView's clipsToExposedRect now works correctly even in Safari
3690         or MiniBrowser with zooming.
3691
3692 2014-01-15  Sam Weinig  <sam@webkit.org>
3693
3694         TextBreakIterator's should support Latin-1 for all iterator types (Part 3)
3695         https://bugs.webkit.org/show_bug.cgi?id=126856
3696
3697         Reviewed by Ryosuke Niwa.
3698
3699         Change all the TextBreakIterator creation functions to take StringViews. Remove a few
3700         now unnecessary up-conversions to UTF-16 in the process.
3701
3702         * dom/CharacterData.cpp:
3703         * editing/TextCheckingHelper.cpp:
3704         * editing/VisibleUnits.cpp:
3705         * platform/graphics/StringTruncator.cpp:
3706         * platform/graphics/mac/ComplexTextController.cpp:
3707         * platform/text/TextBoundaries.cpp:
3708         * platform/text/TextBreakIterator.cpp:
3709         * platform/text/TextBreakIterator.h:
3710         * rendering/RenderText.cpp:
3711
3712 2014-01-16  Anders Carlsson  <andersca@apple.com>
3713
3714         Run clang-modernize and let it add a bunch of missing overrides.
3715
3716         Rubber-stamped by Sam Weinig.
3717
3718         * dom/BeforeLoadEvent.h:
3719         * dom/ClassNodeList.h:
3720         * dom/Comment.h:
3721         * dom/CompositionEvent.h:
3722         * dom/DecodedDataDocumentParser.h:
3723         * dom/DeviceMotionEvent.h:
3724         * dom/DeviceOrientationEvent.h:
3725         * dom/DocumentMarker.cpp:
3726         * dom/DocumentType.h:
3727         * dom/EntityReference.h:
3728         * dom/FocusEvent.h:
3729         * dom/HashChangeEvent.h:
3730         * dom/MessageEvent.h:
3731         * dom/MouseEvent.h:
3732         * dom/MouseRelatedEvent.h:
3733         * dom/MutationEvent.h:
3734         * dom/NameNodeList.h:
3735         * dom/Notation.h:
3736         * dom/OverflowEvent.h:
3737         * dom/PendingScript.h:
3738         * dom/PopStateEvent.h:
3739         * dom/ProcessingInstruction.h:
3740         * dom/ScriptElement.h:
3741         * dom/ScriptExecutionContext.cpp:
3742         * dom/ScriptableDocumentParser.h:
3743         * dom/ScriptedAnimationController.h:
3744         * dom/StringCallback.cpp:
3745         * dom/WheelEvent.h:
3746         * html/FTPDirectoryDocument.h:
3747         * html/FileInputType.cpp:
3748         * html/HTMLAppletElement.h:
3749         * html/HTMLBRElement.h:
3750         * html/HTMLBaseElement.h:
3751         * html/HTMLBodyElement.h:
3752         * html/HTMLButtonElement.h:
3753         * html/HTMLDocument.h:
3754         * html/HTMLEmbedElement.h:
3755         * html/HTMLFormControlsCollection.h:
3756         * html/HTMLFrameElement.h:
3757         * html/HTMLFrameSetElement.h:
3758         * html/HTMLHRElement.h:
3759         * html/HTMLIFrameElement.h:
3760         * html/HTMLKeygenElement.cpp:
3761         * html/HTMLKeygenElement.h:
3762         * html/HTMLLinkElement.h:
3763         * html/HTMLMarqueeElement.h:
3764         * html/HTMLObjectElement.h:
3765         * html/HTMLOutputElement.h:
3766         * html/HTMLParamElement.h:
3767         * html/HTMLScriptElement.h:
3768         * html/HTMLStyleElement.h:
3769         * html/HTMLSummaryElement.h:
3770         * html/HTMLTrackElement.h:
3771         * html/HTMLViewSourceDocument.h:
3772         * html/ImageDocument.cpp:
3773         * html/ImageDocument.h:
3774         * html/MediaDocument.cpp:
3775         * html/MediaDocument.h:
3776         * html/MediaKeyEvent.h:
3777         * html/PluginDocument.cpp:
3778         * html/RadioNodeList.h:
3779         * html/TextDocument.h:
3780         * html/canvas/EXTDrawBuffers.h:
3781         * html/canvas/EXTTextureFilterAnisotropic.h:
3782         * html/canvas/OESElementIndexUint.h:
3783         * html/canvas/OESStandardDerivatives.h:
3784         * html/canvas/OESTextureFloat.h:
3785         * html/canvas/OESTextureFloatLinear.h:
3786         * html/canvas/OESTextureHalfFloat.h:
3787         * html/canvas/OESTextureHalfFloatLinear.h:
3788         * html/canvas/OESVertexArrayObject.h:
3789         * html/canvas/WebGLBuffer.h:
3790         * html/canvas/WebGLCompressedTextureATC.h:
3791         * html/canvas/WebGLCompressedTexturePVRTC.h:
3792         * html/canvas/WebGLCompressedTextureS3TC.h:
3793         * html/canvas/WebGLContextEvent.h:
3794         * html/canvas/WebGLContextObject.h:
3795         * html/canvas/WebGLDebugRendererInfo.h:
3796         * html/canvas/WebGLDebugShaders.h:
3797         * html/canvas/WebGLDepthTexture.h:
3798         * html/canvas/WebGLFramebuffer.cpp:
3799         * html/canvas/WebGLFramebuffer.h:
3800         * html/canvas/WebGLLoseContext.h:
3801         * html/canvas/WebGLProgram.h:
3802         * html/canvas/WebGLRenderbuffer.h:
3803         * html/canvas/WebGLRenderingContext.cpp:
3804         * html/canvas/WebGLRenderingContext.h:
3805         * html/canvas/WebGLShader.h:
3806         * html/canvas/WebGLSharedObject.h:
3807         * html/canvas/WebGLTexture.h:
3808         * html/canvas/WebGLVertexArrayObjectOES.h:
3809         * html/parser/HTMLDocumentParser.h:
3810         * html/parser/HTMLViewSourceParser.h:
3811         * html/shadow/DetailsMarkerControl.h:
3812         * html/shadow/MediaControls.h:
3813         * html/shadow/MediaControlsApple.h:
3814         * html/shadow/MeterShadowElement.h:
3815         * html/shadow/ProgressShadowElement.h:
3816         * html/shadow/SliderThumbElement.h:
3817         * html/track/LoadableTextTrack.h:
3818         * html/track/TrackEvent.h:
3819         * svg/SVGAElement.h:
3820         * svg/SVGAnimateColorElement.h:
3821         * svg/SVGAnimateElement.h:
3822         * svg/SVGAnimateMotionElement.h:
3823         * svg/SVGAnimateTransformElement.h:
3824         * svg/SVGAnimationElement.h:
3825         * svg/SVGCircleElement.h:
3826         * svg/SVGClipPathElement.h:
3827         * svg/SVGComponentTransferFunctionElement.h:
3828         * svg/SVGCursorElement.h:
3829         * svg/SVGDefsElement.h:
3830         * svg/SVGDescElement.h:
3831         * svg/SVGEllipseElement.h:
3832         * svg/SVGFEBlendElement.h:
3833         * svg/SVGFEColorMatrixElement.h:
3834         * svg/SVGFEComponentTransferElement.h:
3835         * svg/SVGFECompositeElement.h:
3836         * svg/SVGFEConvolveMatrixElement.h:
3837         * svg/SVGFEDiffuseLightingElement.h:
3838         * svg/SVGFEDisplacementMapElement.h:
3839         * svg/SVGFEDistantLightElement.h:
3840         * svg/SVGFEDropShadowElement.h:
3841         * svg/SVGFEFloodElement.h:
3842         * svg/SVGFEGaussianBlurElement.h:
3843         * svg/SVGFEImageElement.h:
3844         * svg/SVGFELightElement.h:
3845         * svg/SVGFEMergeElement.h:
3846         * svg/SVGFEMergeNodeElement.h:
3847         * svg/SVGFEMorphologyElement.h:
3848         * svg/SVGFEOffsetElement.h:
3849         * svg/SVGFEPointLightElement.h:
3850         * svg/SVGFESpecularLightingElement.h:
3851         * svg/SVGFESpotLightElement.h:
3852         * svg/SVGFETileElement.h:
3853         * svg/SVGFETurbulenceElement.h:
3854         * svg/SVGFilterElement.h:
3855         * svg/SVGFilterPrimitiveStandardAttributes.h:
3856         * svg/SVGFontData.h:
3857         * svg/SVGForeignObjectElement.h:
3858         * svg/SVGGlyphElement.h:
3859         * svg/SVGGlyphRefElement.h:
3860         * svg/SVGGradientElement.h:
3861         * svg/SVGHKernElement.h:
3862         * svg/SVGImageElement.h:
3863         * svg/SVGImageLoader.h:
3864         * svg/SVGLineElement.h:
3865         * svg/SVGLinearGradientElement.h:
3866         * svg/SVGMPathElement.h:
3867         * svg/SVGMarkerElement.h:
3868         * svg/SVGMaskElement.h:
3869         * svg/SVGMissingGlyphElement.h:
3870         * svg/SVGPathBuilder.h:
3871         * svg/SVGPathByteStreamBuilder.h:
3872         * svg/SVGPathByteStreamSource.h:
3873         * svg/SVGPathElement.h:
3874         * svg/SVGPathSegArcAbs.h:
3875         * svg/SVGPathSegArcRel.h:
3876         * svg/SVGPathSegClosePath.h:
3877         * svg/SVGPathSegCurvetoCubicAbs.h:
3878         * svg/SVGPathSegCurvetoCubicRel.h:
3879         * svg/SVGPathSegCurvetoCubicSmoothAbs.h:
3880         * svg/SVGPathSegCurvetoCubicSmoothRel.h:
3881         * svg/SVGPathSegCurvetoQuadraticAbs.h:
3882         * svg/SVGPathSegCurvetoQuadraticRel.h:
3883         * svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:
3884         * svg/SVGPathSegCurvetoQuadraticSmoothRel.h:
3885         * svg/SVGPathSegLinetoAbs.h:
3886         * svg/SVGPathSegLinetoHorizontalAbs.h:
3887         * svg/SVGPathSegLinetoHorizontalRel.h:
3888         * svg/SVGPathSegLinetoRel.h:
3889         * svg/SVGPathSegLinetoVerticalAbs.h:
3890         * svg/SVGPathSegLinetoVerticalRel.h:
3891         * svg/SVGPathSegListBuilder.h:
3892         * svg/SVGPathSegListSource.h:
3893         * svg/SVGPathSegMovetoAbs.h:
3894         * svg/SVGPathSegMovetoRel.h:
3895         * svg/SVGPathStringSource.h:
3896         * svg/SVGPathTraversalStateBuilder.h:
3897         * svg/SVGPatternElement.h:
3898         * svg/SVGPolyElement.h:
3899         * svg/SVGRadialGradientElement.h:
3900         * svg/SVGRectElement.h:
3901         * svg/SVGSVGElement.h:
3902         * svg/SVGScriptElement.h:
3903         * svg/SVGStopElement.h:
3904         * svg/SVGStyleElement.h:
3905         * svg/SVGSwitchElement.h:
3906         * svg/SVGSymbolElement.h:
3907         * svg/SVGTRefElement.h:
3908         * svg/SVGTSpanElement.h:
3909         * svg/SVGTextContentElement.h:
3910         * svg/SVGTextElement.h:
3911         * svg/SVGTextPathElement.h:
3912         * svg/SVGTextPositioningElement.h:
3913         * svg/SVGTitleElement.h:
3914         * svg/SVGUseElement.h:
3915         * svg/SVGVKernElement.h:
3916         * svg/SVGViewElement.h:
3917         * svg/SVGZoomEvent.h:
3918         * svg/animation/SVGSMILElement.cpp:
3919         * svg/animation/SVGSMILElement.h:
3920         * svg/graphics/SVGImageChromeClient.h:
3921         * svg/graphics/filters/SVGFEImage.h:
3922         * svg/graphics/filters/SVGFilter.h:
3923         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
3924         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
3925         * svg/properties/SVGPathSegListPropertyTearOff.h:
3926
3927 2014-01-16  Jer Noble  <jer.noble@apple.com>
3928
3929         REGRESSION(r162145): media/video-controls-visible-audio-only.html fails
3930         https://bugs.webkit.org/show_bug.cgi?id=127147
3931
3932         Reviewed by Eric Carlson.
3933
3934         Reset the MediaSessionManager's restrictions to their default values before
3935         each run.
3936
3937         Add a new virtual method "resetRestrictions()" so that each port-specific
3938         MediaSessionManager can reset the restrictions to their default values.
3939         Call this from Internals::resetToConsistentState() so that tests which change
3940         the restrictions don't affect later tests.
3941
3942         * platform/audio/MediaSessionManager.cpp:
3943         (WebCore::MediaSessionManager::MediaSessionManager):
3944         (WebCore::MediaSessionManager::resetRestrictions):
3945         * platform/audio/MediaSessionManager.h:
3946         (WebCore::MediaSessionManager::~MediaSessionManager):
3947         * platform/audio/ios/MediaSessionManagerIOS.h:
3948         * platform/audio/ios/MediaSessionManagerIOS.mm:
3949         (WebCore::MediaSessionManageriOS::resetRestrictions):
3950         * testing/Internals.cpp:
3951         (WebCore::Internals::resetToConsistentState):
3952
3953 2014-01-16  Alex Christensen  <achristensen@webkit.org>
3954
3955         Compile fix for WinCairo after r162138.
3956         https://bugs.webkit.org/show_bug.cgi?id=127140
3957
3958         Reviewed by Beth Dakin.
3959
3960         * page/FrameView.cpp:
3961         (WebCore::FrameView::extendedBackgroundRect):
3962         Use unscaledDocumentRect for extendedBackgroundRect without accelerated compositing.
3963
3964 2014-01-16  Brady Eidson  <beidson@apple.com>
3965
3966         IDB: delete object store support
3967         <rdar://problem/15779641> and https://bugs.webkit.org/show_bug.cgi?id=127123
3968
3969         Reviewed by Alexey Proskuryakov.
3970
3971         * Modules/indexeddb/IDBTransactionBackendOperations.h:
3972         (WebCore::DeleteObjectStoreOperation::transaction):
3973
3974 2014-01-16  Alexey Proskuryakov  <ap@apple.com>
3975
3976         More non-Mac build fix.
3977
3978         * platform/network/cf/CookieJarCFNet.cpp:
3979         (WebCore::copyCookiesForURLWithFirstPartyURL):
3980
3981 2014-01-16  Alexey Proskuryakov  <ap@apple.com>
3982
3983         Build fix.
3984
3985         * platform/network/cf/CookieJarCFNet.cpp: Remove a spurious semicolon.
3986
3987 2014-01-16  Andy Estes  <aestes@apple.com>
3988
3989         Another iOS build fix.
3990
3991         * platform/audio/ios/MediaSessionManagerIOS.mm:
3992         (WebCore::m_objcObserver):
3993
3994 2014-01-16  Alexey Proskuryakov  <ap@apple.com>
3995
3996         [Mac] [iOS] Add support for CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain
3997         https://bugs.webkit.org/show_bug.cgi?id=127139
3998
3999         Reviewed by Brady Eidson.
4000
4001         * platform/ios/WebCoreSystemInterfaceIOS.mm:
4002         * platform/mac/WebCoreSystemInterface.h:
4003         * platform/mac/WebCoreSystemInterface.mm:
4004         Pass first party URL down, because reading cookies depends on it when this policy
4005         in in action.
4006
4007         * platform/network/cf/CookieJarCFNet.cpp:
4008         (WebCore::copyCookiesForURLWithFirstPartyURL):
4009         (WebCore::cookiesForDOM):
4010         (WebCore::cookieRequestHeaderFieldValue):
4011         (WebCore::cookiesEnabled):
4012         (WebCore::getRawCookies):
4013         Use a new CFNetwork API that takes first party URL.
4014
4015         * platform/network/mac/CookieJarMac.mm:
4016         (WebCore::cookiesForDOM):
4017         (WebCore::cookieRequestHeaderFieldValue):
4018         (WebCore::cookiesEnabled):
4019         (WebCore::getRawCookies):
4020         (WebCore::deleteCookie):
4021         Pass first party URL (and null in deleteCookie, as there is none).
4022
4023         * platform/network/mac/ResourceHandleMac.mm:
4024         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
4025         Removed a call to shouldRelaxThirdPartyCookiePolicy(), which no longer exists
4026         in trunk.
4027
4028 2014-01-16  Andy Estes  <aestes@apple.com>
4029
4030         Fix the iOS build after r162150.
4031
4032         * platform/graphics/cg/GraphicsContextCG.cpp:
4033         (WebCore::GraphicsContext::platformInit):
4034
4035 2014-01-16  Dean Jackson  <dino@apple.com>
4036
4037         glReadPixels should use UNSIGNED_BYTE on iOS
4038         https://bugs.webkit.org/show_bug.cgi?id=127148
4039
4040         Reviewed by Benjamin Poulain.
4041
4042         We were incorrectly mapping GL_UNSIGNED_INT_8_8_8_8_REV to
4043         GL_RGBA on iOS. It's only used in glReadPixels, so should
4044         be GL_UNSIGNED_BYTE.
4045
4046         This is covered by lots of tests in the Khronos test suite,
4047         that now pass on iOS.
4048
4049         * platform/graphics/ios/GraphicsContext3DIOS.h:
4050
4051 2014-01-16  Anders Carlsson  <andersca@apple.com>
4052
4053         Change all uses of FINAL to final now that all our compilers support it
4054         https://bugs.webkit.org/show_bug.cgi?id=127142
4055
4056         Reviewed by Benjamin Poulain.
4057
4058         * Modules/encryptedmedia/MediaKeySession.h:
4059         * Modules/indexeddb/IDBCursorBackendOperations.h:
4060         * Modules/indexeddb/IDBDatabase.h:
4061         * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
4062         * Modules/indexeddb/IDBRequest.h:
4063         * Modules/indexeddb/IDBTransaction.h:
4064         * Modules/indexeddb/IDBTransactionBackendOperations.h:
4065         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
4066         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
4067         * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
4068         * Modules/mediasource/MediaSource.h:
4069         * Modules/mediasource/MediaSourceRegistry.h:
4070         * Modules/mediasource/SourceBuffer.h:
4071         * Modules/mediasource/SourceBufferList.h:
4072         * Modules/mediastream/AudioStreamTrack.h:
4073         * Modules/mediastream/MediaStream.h:
4074         * Modules/mediastream/MediaStreamRegistry.h:
4075         * Modules/mediastream/MediaStreamTrack.h:
4076         * Modules/mediastream/RTCDTMFSender.h:
4077         * Modules/mediastream/RTCDataChannel.h:
4078         * Modules/mediastream/RTCPeerConnection.h:
4079         * Modules/mediastream/UserMediaRequest.h:
4080         * Modules/mediastream/VideoStreamTrack.h:
4081         * Modules/notifications/Notification.h:
4082         * Modules/speech/SpeechSynthesisUtterance.h:
4083         * Modules/webaudio/AudioContext.h:
4084         * Modules/webaudio/AudioNode.h:
4085         * Modules/websockets/WebSocket.h:
4086         * accessibility/AccessibilityList.h: