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