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