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