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