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