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