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