1 2014-04-03 Simon Fraser <simon.fraser@apple.com>
3 Pixelated WebView when display is changed from hiDPI to regularDPI
4 https://bugs.webkit.org/show_bug.cgi?id=131185
6 Reviewed by Tim Horton.
8 r166309 added a short circuit in GraphicsLayerCA::updateContentsScale()
9 when the scale didn't change. This broke layers which expected to
10 unconditionally receive a setContentsScale(), namely the WebTiledBackingLayer
11 which owns the TileController. WebTiledBackingLayer overrode -setContentsScale:
12 to pass the scale down to the TileController; however, it didn't override
13 -contentsScale, and it mucked with the scale passed in.
15 Fix by having setting and fetching contentsScale on a WebTiledBackingLayer
16 work as expected. Also rename the TileController functions to mirror the
17 CALayer functions better.
20 * platform/graphics/ca/GraphicsLayerCA.cpp:
21 (WebCore::GraphicsLayerCA::updateContentsScale):
22 * platform/graphics/ca/mac/TileController.h:
23 * platform/graphics/ca/mac/TileController.mm:
24 (WebCore::TileController::TileController):
25 (WebCore::TileController::contentsScale):
26 (WebCore::TileController::setContentsScale):
27 (WebCore::TileController::scale): Deleted.
28 (WebCore::TileController::setScale): Deleted.
29 * platform/graphics/ca/mac/WebTiledBackingLayer.mm:
30 (-[WebTiledBackingLayer setContentsScale:]):
31 (-[WebTiledBackingLayer contentsScale]):
33 2014-04-03 Zoltan Horvath <zoltan@webkit.org>
35 [CSS Shapes] LineSegment logicalLeft and logicalRight members should be floats
36 https://bugs.webkit.org/show_bug.cgi?id=116160
38 Reviewed by Andreas Kling.
40 LineSegment edges should not have been changed to LayoutUnit. These are
41 used only as floats. I modified them back to floats.
43 No new tests are needed, no behavior change.
45 * rendering/shapes/Shape.h:
47 2014-04-03 Dirk Schulze <krit@webkit.org>
49 [CG] Canvas lineDashOffset does not handle negative numbers correctly
50 https://bugs.webkit.org/show_bug.cgi?id=80560
52 Reviewed by Dean Jackson.
54 CG ignores negative dash array offsets. Check if we have a negative offset, if yes
55 then calculate the length of the dash array and modulo the dash array offset with
56 the dash array length.
58 Test: fast/canvas/canvas-negative-lineDashOffset.html
60 * platform/graphics/cg/GraphicsContextCG.cpp:
61 (WebCore::GraphicsContext::setLineDash):
63 2014-04-03 David Hyatt <hyatt@apple.com>
65 REGRESSION: fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html broken
66 https://bugs.webkit.org/show_bug.cgi?id=131183
68 Reviewed by Simon Fraser.
70 Revert the loop to continue rather than breaking when an invalid block is encountered.
71 This is what it used to do if it encountered a non-continuation block.
73 * rendering/RenderInline.cpp:
74 (WebCore::updateStyleOfAnonymousBlockContinuations):
76 2014-04-02 Simon Fraser <simon.fraser@apple.com>
78 Harden FilterOperation type casting
79 https://bugs.webkit.org/show_bug.cgi?id=131142
81 Reviewed by Sam Weinig.
83 DefaultFilterOperation had an error-prone behavior where it set the base class
84 OperationType to the type of some other filter class, but overrode isDefault().
85 This made it very easy to write incorrect code that casted incorrectly based on type().
87 Fix by making adding a DEFAULT filter operation type, and storing the represented
88 type on DefaultFilterOperation().
90 Also remove the OperationType argument for constructors of FilterOperations that
91 can only be of one type, to avoid possible mistakes.
93 Make the type cast macros a bit more normal, and use them in a few places.
95 Fixed PlatformCAFiltersMac to handle the default filter case more cleanly.
98 * css/CSSComputedStyleDeclaration.cpp:
99 (WebCore::ComputedStyleExtractor::valueForFilter):
100 * css/StyleResolver.cpp:
101 (WebCore::StyleResolver::createFilterOperations):
102 * platform/graphics/ca/PlatformCAFilters.h:
103 * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
104 (PlatformCAFilters::filterValueForOperation):
105 (PlatformCAFilters::colorMatrixValueForFilter):
106 * platform/graphics/filters/FilterOperation.cpp:
107 (WebCore::DefaultFilterOperation::operator==):
108 (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
109 (WebCore::ReferenceFilterOperation::operator==):
110 (WebCore::BlurFilterOperation::operator==):
111 (WebCore::BlurFilterOperation::blend):
112 (WebCore::DropShadowFilterOperation::operator==):
113 (WebCore::DropShadowFilterOperation::blend):
114 * platform/graphics/filters/FilterOperation.h:
115 (WebCore::FilterOperation::blend):
116 (WebCore::FilterOperation::type):
117 (WebCore::FilterOperation::isBasicColorMatrixFilterOperation):
118 (WebCore::FilterOperation::isBasicComponentTransferFilterOperation):
119 (WebCore::FilterOperation::isSameType):
120 (WebCore::DefaultFilterOperation::create):
121 (WebCore::DefaultFilterOperation::representedType):
122 (WebCore::DefaultFilterOperation::DefaultFilterOperation):
123 (WebCore::ReferenceFilterOperation::create):
124 (WebCore::BlurFilterOperation::create):
125 (WebCore::BlurFilterOperation::BlurFilterOperation):
126 (WebCore::DropShadowFilterOperation::create):
127 (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
128 (WebCore::FilterOperation::isDefault): Deleted.
129 * platform/graphics/filters/FilterOperations.cpp:
130 (WebCore::FilterOperations::outsets):
131 * rendering/FilterEffectRenderer.cpp:
132 (WebCore::FilterEffectRenderer::build):
133 * rendering/RenderLayerFilterInfo.cpp:
134 (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
136 2014-04-03 Andreas Kling <akling@apple.com>
138 Stop throwing away the Document's StyleResolver on a timer.
139 <https://webkit.org/b/131168>
140 <rdar://problem/15227045>
142 This was causing some unfortunate pauses when returning to idle pages
143 after a long-ish time. There's already a mechanism in place that will
144 throw these away if the system comes under memory pressure.
146 Reviewed by Sam Weinig.
148 * css/StyleResolver.cpp:
149 (WebCore::StyleResolver::styleForElement):
150 (WebCore::StyleResolver::styleForKeyframe):
151 (WebCore::StyleResolver::pseudoStyleForElement):
152 (WebCore::StyleResolver::styleForPage):
154 (WebCore::Document::Document):
155 (WebCore::Document::didAccessStyleResolver): Deleted.
156 (WebCore::Document::styleResolverThrowawayTimerFired): Deleted.
159 2014-04-02 Simon Fraser <simon.fraser@apple.com>
161 Assertion under RenderLayerCompositor::updateScrollCoordinatedLayer on time.com on iOS
162 https://bugs.webkit.org/show_bug.cgi?id=131150
164 Reviewed by Beth Dakin.
166 When calling updateScrollCoordinatedLayer() under styleChanged, we haven't done
167 layout yet so our composting layers haven't been hooked together. Don't try
168 to add a zero nodeID to the map in this case.
170 * rendering/RenderLayerCompositor.cpp:
171 (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
173 2014-04-03 David Hyatt <hyatt@apple.com>
175 Continuations casting issue.
176 https://bugs.webkit.org/show_bug.cgi?id=130057
177 <rdar://problem/16283406>
179 Reviewed by Simon Fraser.
181 The code to update relative positioned anonymous block continuations should not
182 have assumed that all siblings were RenderBlocks. Make the code smarter and
183 make it bail when it hits something that isn't part of the block continuation
186 Added fast/block/continuation-crash.html
188 * rendering/RenderInline.cpp:
189 (WebCore::updateStyleOfAnonymousBlockContinuations):
191 2014-04-03 Bem Jones-Bey <bjonesbe@adobe.com>
193 [CSS Shapes] CRASH with calc() value args in inset round
194 https://bugs.webkit.org/show_bug.cgi?id=129816
196 Reviewed by Andreas Kling.
198 The code to parse the inset rounded corners was adding the parser
199 value arguments to a temporary CSSParserValueList. Unfortunately,
200 CSSParserValueList expects to own the values it contains, and it frees
201 the values it contains when the list is destroyed. This was a problem
202 because the values are owned by the CSSParserValueList passed in to
203 parseInsetRoundedCorners, and thus the calc's argument list would get
204 double freed, resulting in a crash. This patch fixes this by using a
205 Vector to hold the pointers instead.
207 Test: fast/shapes/shape-outside-floats/shape-outside-inset-round-calc-crash.html
210 (WebCore::CSSParser::parseInsetRoundedCorners):
212 2014-04-03 Jer Noble <jer.noble@apple.com>
214 Leaving a streaming movie by going "Back" keeps playing the audio
215 https://bugs.webkit.org/show_bug.cgi?id=131149
217 Reviewed by Eric Carlson.
219 When stopping a HTMLMediaElement, call userCancelledLoad() (which clears the
220 MediaPlayer) only after calling setPausedInternal() (which pauses the MediaPlayer).
221 Previously, and in the reverse order, the MediaPlayer would never get a chance to pause
222 before being cleared. There is an underlying error with the QTKit media engine which
223 is causing it to continue playing even after its last reference is released, but this
224 does fix the symptom of playback continuing even after stopping.
226 * html/HTMLMediaElement.cpp:
227 (WebCore::HTMLMediaElement::stop):
229 2014-04-03 Jer Noble <jer.noble@apple.com>
231 [EME] Crash when passing a NULL initData to MediaKeys.createSession()
232 https://bugs.webkit.org/show_bug.cgi?id=131156
234 Reviewed by Eric Carlson.
236 Update the checks at the start of createSession() to match the current spec, notably
237 bailing early if the initData parameter is NULL or empty.
239 * Modules/encryptedmedia/MediaKeys.cpp:
240 (WebCore::MediaKeys::createSession):
242 2014-04-03 Eric Carlson <eric.carlson@apple.com>
244 [iOS] add missing QuickTime plug-in replacement API
245 https://bugs.webkit.org/show_bug.cgi?id=131042
247 Reviewed by Dean Jackson.
249 Rename QuickTimePluginReplacement.cpp to QuickTimePluginReplacement.mm to make it possible
250 to use the ObjC JSC API.
251 * Modules/plugins/QuickTimePluginReplacement.cpp:
252 * Modules/plugins/QuickTimePluginReplacement.h:
253 (WebCore::QuickTimePluginReplacement::parentElement):
254 * Modules/plugins/QuickTimePluginReplacement.idl:
256 * Modules/plugins/QuickTimePluginReplacement.js:
257 (Replacement.prototype.timedMetadataUpdates): Implement.
258 (Replacement.prototype.accessLog): Ditto.
259 (Replacement.prototype.errorLog): Ditto.
261 Use the JSC ObjC API to create a JavaScript object from an array of AVMetadataItems. The
262 JSC ObjC API supports basic NSTypes, but an AVMetadataItem can also contain NSData which
263 the existing plug-in returns as base-64 encoded data, so create wrappers for NSDictionary
265 * Modules/plugins/QuickTimePluginReplacement.mm: Copied from Source/WebCore/Modules/plugins/QuickTimePluginReplacement.cpp.
266 (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): Disambiguate with "JSC::"
267 (WebCore::QuickTimePluginReplacement::installReplacement): Ditto.
268 (WebCore::jsValueWithDataInContext): Create JSValue* from NSData.
269 (WebCore::jsValueWithArrayInContext): Create JSValue* from NSArray.
270 (WebCore::jsValueWithDictionaryInContext): Create JSValue* from NSDictionary.
271 (WebCore::jsValueWithValueInContext): Create JSValue* from basic NSTypes plus AVMetadataItem
273 (WebCore::jsValueWithAVMetadataItemInContext): Create JSValue* from AVMetadataItem.
274 (WebCore::JSQuickTimePluginReplacement::timedMetaData): Script interface.
275 (WebCore::JSQuickTimePluginReplacement::accessLog): Ditto.
276 (WebCore::JSQuickTimePluginReplacement::errorLog): Ditto.
278 * WebCore.xcodeproj/project.pbxproj: QuickTimePluginReplacement.cpp -> QuickTimePluginReplacement.mm.
280 * platform/graphics/MediaPlayer.cpp:
281 (WebCore::MediaPlayer::timedMetadata): iOS only accessor.
282 (WebCore::MediaPlayer::accessLog): Ditto.
283 (WebCore::MediaPlayer::errorLog): Ditto.
284 * platform/graphics/MediaPlayer.h:
285 * platform/graphics/MediaPlayerPrivate.h:
287 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
288 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
289 (WebCore::MediaPlayerPrivateAVFoundationObjC::timedMetadata):
290 (WebCore::MediaPlayerPrivateAVFoundationObjC::accessLog):
291 (WebCore::MediaPlayerPrivateAVFoundationObjC::errorLog):
292 (WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
293 (WebCore::itemKVOProperties):
294 (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
296 2014-04-03 Andrei Bucur <abucur@adobe.com>
298 [CSS Regions] Include region range information when printing the render tree
299 https://bugs.webkit.org/show_bug.cgi?id=131159
301 Reviewed by Mihnea Ovidenie.
303 With this change showRenderObject() will print the region range for objects inside
304 a flow thread. The format is:
305 Rs: <startRegion> Re: <endRegion>
307 Because this can be called anytime during debugging, it's necessary to disable the
308 current flow thread caching to prevent using the wrong flow thread for an object.
310 Tests: No new tests, no functional change.
312 * rendering/RenderFlowThread.cpp:
313 (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
314 (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
315 * rendering/RenderFlowThread.h:
316 * rendering/RenderObject.cpp:
317 (WebCore::RenderObject::showRegionsInformation): Added.
318 (WebCore::RenderObject::showRenderObject):
319 * rendering/RenderObject.h:
321 2014-04-03 Antti Koivisto <antti@apple.com>
323 RenderSnapshottedPlugIn::paint should use iterator for traversal.
324 https://bugs.webkit.org/show_bug.cgi?id=131158
326 Reviewed by Dean Jackson.
328 * rendering/RenderSnapshottedPlugIn.cpp:
329 (WebCore::RenderSnapshottedPlugIn::paint):
331 2014-03-27 Sergio Villar Senin <svillar@igalia.com>
333 [CSS Grid Layout] <string> not allowed in grid-{area | row | column} syntax
334 https://bugs.webkit.org/show_bug.cgi?id=129713
336 Reviewed by Darin Adler.
338 Grid positioning properties no longer accept <string> values for
339 named grid lines as they did in previous versions of the specs. They
340 were first replaced by <ident> and since the beginning of 2014 they
341 should only accept <custom-ident>.
343 Updated the parser and the style resolver to this new syntax. Also
344 updated the tests accordingly.
346 Test: fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html
349 (WebCore::isValidCustomIdent): New function that checks that the
350 <custom-ident> is valid.
351 (WebCore::CSSParser::parseIntegerOrCustomIdentFromGridPosition):
352 (WebCore::CSSParser::parseGridPosition):
353 (WebCore::CSSParser::parseIntegerOrStringFromGridPosition):
354 Replaced by WebCore::CSSParser::parseIntegerOrCustomIdentFromGridPosition.
356 * css/StyleResolver.cpp:
357 (WebCore::createGridPosition):
359 2014-04-03 Antti Koivisto <antti@apple.com>
361 Crash after mutating after pseudo style
362 https://bugs.webkit.org/show_bug.cgi?id=130881
364 Reviewed by Andreas Kling.
366 Test: fast/css/pseudo-after-crash.html
368 * style/StyleResolveTree.cpp:
369 (WebCore::Style::updateBeforeOrAfterPseudoElement):
371 Invalidate the cached renderer for pseudo elements too.
373 (WebCore::Style::needsPseudeElement): Deleted.
377 2014-04-02 Chris Fleizach <cfleizach@apple.com>
379 AX: AccessibilityObject::children() returns invalid results sometimes
380 https://bugs.webkit.org/show_bug.cgi?id=130563
382 Reviewed by Joseph Pecoraro.
384 Allow the DOM inspector to handle AX objects that do not have Node equivalents
385 (e.g. anonymous renderers).
387 * inspector/InspectorDOMAgent.cpp:
388 (WebCore::InspectorDOMAgent::processAccessibilityChildren):
389 (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
390 * inspector/InspectorDOMAgent.h:
392 2014-04-02 Alexey Proskuryakov <ap@apple.com>
394 Sandbox violation in NetworkProcess when uploading a bundle
395 https://bugs.webkit.org/show_bug.cgi?id=131133
397 Reviewed by Brady Eidson.
399 Track generated file ownership explicitly, so that each copy of FormData would know
400 whether to delete the file.
402 This part is needed to prevent asserting in FormData destructor in NetworkProcess,
403 because it doesn't delete the files. Also, some cleanup.
405 * WebCore.exp.in: Don't export FormData::removeGeneratedFilesIfNeeded(), WebKit2
406 doesn't need it any more.
407 * platform/network/FormData.cpp: Removed m_hasGeneratedFiles. There is no problem
408 iterating over FormDataElements to compute it, and that's more robust when FormDatas
409 are passed or stored on disk permanently.
410 Updated touched functions to use C++ iteration, and renamed "e" to "element".
411 (WebCore::FormData::encode): Keep encoding a boolean for hasGeneratedFiles, because
412 the encoded FormData can be stored persitently, and we can't change the format.
414 * platform/network/FormData.h: (WebCore::FormDataElement::FormDataElement):
415 Added m_ownsGeneratedFile. FormData will only delete files it owns. Since files
416 are generated immediately before form submission, it's always the FormData being
417 submitted that owns the generated files.
419 2014-04-02 Mihnea Ovidenie <mihnea@adobe.com>
421 [CSSRegions] Use RenderStyle::hasFlowInto when needed
422 https://bugs.webkit.org/show_bug.cgi?id=131092
424 Reviewed by Andrei Bucur.
426 Add hasFlowInto() helper method on RenderStyle to be used
427 instead of directly checking the presence or absence of flowThread value.
428 No new functionality, no new tests.
430 * css/CSSComputedStyleDeclaration.cpp:
431 (WebCore::ComputedStyleExtractor::propertyValue):
433 (WebCore::Element::shouldMoveToFlowThread):
434 * rendering/style/RenderStyle.h:
435 * style/StyleResolveTree.cpp:
436 (WebCore::Style::isRendererReparented):
438 2014-04-02 Benjamin Poulain <benjamin@webkit.org>
440 CSS JIT: the adjacent position is never reset
441 https://bugs.webkit.org/show_bug.cgi?id=131145
443 Reviewed by Andreas Kling.
445 Corresponding radar: <rdar://problem/16440036>. The backtracking action would use a tail
448 Test: fast/selectors/multiple-adjacent-chain-without-adjacent-tail.html
450 * cssjit/SelectorCompiler.cpp:
451 (WebCore::SelectorCompiler::updateChainStates):
453 2014-04-02 Brent Fulgham <bfulgham@apple.com>
455 Speculative build fix for Windows.
457 * DerivedSources.make: Make sure we generate our media control
458 scripts for Apple Windows (but not WinCairo)
460 2014-04-02 Tim Horton <timothy_horton@apple.com>
462 Fix the !USE(IOSURFACE) iOS build.
464 * platform/ios/MemoryPressureHandlerIOS.mm:
465 (WebCore::MemoryPressureHandler::platformReleaseMemory):
467 2014-04-02 Mark Rowe <mrowe@apple.com>
469 <https://webkit.org/b/131136> Remove FrameLoadRequest's m_lockHistory member since it's always false.
471 Reviewed by Andreas Kling.
473 * loader/FrameLoadRequest.cpp:
474 (WebCore::FrameLoadRequest::FrameLoadRequest):
475 * loader/FrameLoadRequest.h:
476 (WebCore::FrameLoadRequest::FrameLoadRequest):
477 (WebCore::FrameLoadRequest::lockHistory): Deleted.
478 (WebCore::FrameLoadRequest::setLockHistory): Deleted.
479 * loader/FrameLoader.cpp:
480 (WebCore::FrameLoader::load): Remove an if whose body was never executed.
482 2014-04-02 Mark Rowe <mrowe@apple.com>
484 <https://webkit.org/b/131135> Introduce LockHistory and LockBackForwardList enums to use in place of bools.
486 These arguments are often passed using literals at the call site, where the use of bools severely hinders
487 the readability of the code.
489 Reviewed by Andreas Kling.
492 * html/HTMLAnchorElement.cpp:
493 (WebCore::HTMLAnchorElement::handleClick):
494 * html/HTMLFormElement.cpp:
495 (WebCore::HTMLFormElement::submit):
496 * html/HTMLFrameElementBase.cpp:
497 (WebCore::HTMLFrameElementBase::openURL):
498 (WebCore::HTMLFrameElementBase::setLocation):
499 * html/HTMLFrameElementBase.h:
500 * inspector/InspectorFrontendClientLocal.cpp:
501 (WebCore::InspectorFrontendClientLocal::openInNewTab):
502 * inspector/InspectorPageAgent.cpp:
503 (WebCore::InspectorPageAgent::navigate):
504 * loader/FormSubmission.cpp:
505 (WebCore::FormSubmission::FormSubmission):
506 (WebCore::FormSubmission::create):
507 * loader/FormSubmission.h:
508 (WebCore::FormSubmission::lockHistory):
509 * loader/FrameLoader.cpp:
510 (WebCore::FrameLoader::changeLocation):
511 (WebCore::FrameLoader::urlSelected):
512 (WebCore::FrameLoader::loadURLIntoChildFrame):
513 (WebCore::FrameLoader::loadFrameRequest):
514 (WebCore::FrameLoader::loadURL):
515 (WebCore::FrameLoader::loadWithNavigationAction):
516 (WebCore::FrameLoader::clientRedirected):
517 (WebCore::FrameLoader::loadPostRequest):
518 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
519 (WebCore::FrameLoader::loadDifferentDocumentItem):
520 * loader/FrameLoader.h:
521 * loader/FrameLoaderTypes.h:
522 * loader/NavigationScheduler.cpp:
523 (WebCore::ScheduledNavigation::ScheduledNavigation):
524 (WebCore::ScheduledNavigation::lockHistory):
525 (WebCore::ScheduledNavigation::lockBackForwardList):
526 (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
527 (WebCore::ScheduledRedirect::ScheduledRedirect):
528 (WebCore::ScheduledLocationChange::ScheduledLocationChange):
529 (WebCore::ScheduledRefresh::ScheduledRefresh):
530 (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
531 (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
532 (WebCore::NavigationScheduler::scheduleRedirect):
533 (WebCore::NavigationScheduler::mustLockBackForwardList):
534 (WebCore::NavigationScheduler::scheduleLocationChange):
535 (WebCore::NavigationScheduler::scheduleFormSubmission):
536 * loader/NavigationScheduler.h:
537 * loader/SubframeLoader.cpp:
538 (WebCore::SubframeLoader::requestFrame):
539 (WebCore::SubframeLoader::requestObject):
540 (WebCore::SubframeLoader::loadOrRedirectSubframe):
541 * loader/SubframeLoader.h:
542 * page/ContextMenuController.cpp:
543 (WebCore::openNewWindow):
544 (WebCore::ContextMenuController::contextMenuItemSelected):
545 * page/DOMWindow.cpp:
546 (WebCore::DOMWindow::setLocation):
547 (WebCore::DOMWindow::createWindow):
548 (WebCore::DOMWindow::open):
549 * svg/SVGAElement.cpp:
550 (WebCore::SVGAElement::defaultEventHandler):
552 2014-04-02 Tim Horton <timothy_horton@apple.com>
554 Pool IOSurfaces to help with allocation cost
555 https://bugs.webkit.org/show_bug.cgi?id=131096
556 <rdar://problem/15373942>
558 Reviewed by Simon Fraser.
561 * WebCore.xcodeproj/project.pbxproj:
564 (WebCore::TimerBase::startRepeating): Add a std::chrono startRepeating.
566 * platform/graphics/cg/IOSurfacePool.h: Added.
567 (WebCore::IOSurfacePool::CachedSurfaceDetails::CachedSurfaceDetails):
568 (WebCore::IOSurfacePool::CachedSurfaceDetails::resetLastUseTime):
569 * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Removed.
570 * platform/graphics/cg/ImageBufferBackingStoreCache.h: Removed.
571 * platform/graphics/cg/IOSurfacePool.cpp: Added.
572 (WebCore::IOSurfacePool::IOSurfacePool):
573 (WebCore::IOSurfacePool::sharedPool):
574 (WebCore::surfaceMatchesParameters):
575 (WebCore::IOSurfacePool::willAddSurface):
576 (WebCore::IOSurfacePool::didRemoveSurface):
577 (WebCore::IOSurfacePool::didUseSurfaceOfSize):
578 (WebCore::IOSurfacePool::takeSurface):
579 (WebCore::IOSurfacePool::addSurface):
580 (WebCore::IOSurfacePool::insertSurfaceIntoPool):
581 (WebCore::IOSurfacePool::setPoolSize):
582 (WebCore::IOSurfacePool::tryEvictInUseSurface):
583 (WebCore::IOSurfacePool::tryEvictOldestCachedSurface):
584 (WebCore::IOSurfacePool::evict):
585 (WebCore::IOSurfacePool::collectInUseSurfaces):
586 (WebCore::IOSurfacePool::markOlderSurfacesPurgeable):
587 (WebCore::IOSurfacePool::collectionTimerFired):
588 (WebCore::IOSurfacePool::scheduleCollectionTimer):
589 (WebCore::IOSurfacePool::discardAllSurfaces):
590 (WebCore::IOSurfacePool::showPoolStatistics):
591 Add a pool of IOSurfaces. It behaves as such:
593 - Keeps up to 64MB of surfaces.
594 - Keeps unused and in-use surfaces (but never gets more than 1/2 full with the latter)
595 - Marks surfaces purgeable after they've been unused for 2 seconds.
596 - Tries to move surfaces from the in-use pool to the unused pool every 500ms.
597 - Evicts in an LRU-ish fashion, interleaving eviction of the oldest
598 surfaces and the in-use surfaces (since in-use surfaces are not immediately
599 useful for the pool, but they are desirous because they were recently used).
600 - Throws everything away under memory pressure.
602 * platform/graphics/cocoa/IOSurface.mm:
604 Try to grab a surface from the IOSurfacePool.
606 * platform/ios/MemoryPressureHandlerIOS.mm:
607 (WebCore::MemoryPressureHandler::platformReleaseMemory):
608 * platform/mac/MemoryPressureHandlerMac.mm:
609 (WebCore::MemoryPressureHandler::install):
610 (WebCore::MemoryPressureHandler::platformReleaseMemory):
611 * platform/MemoryPressureHandler.cpp:
612 (WebCore::MemoryPressureHandler::platformReleaseMemory):
613 Fix some includes, and throw away all surfaces when we're under memory pressure.
615 2014-04-02 Stephanie Lewis <slewis@apple.com>
617 Roll out http://trac.webkit.org/changeset/166144
618 <rdar://problem/16481284> PLT stops loading on news.google.com
622 Rollout 166144 since it prevents the PLT from completing.
624 * dom/ContainerNode.cpp:
625 (WebCore::ContainerNode::suspendPostAttachCallbacks):
626 (WebCore::ContainerNode::resumePostAttachCallbacks):
627 (WebCore::ContainerNode::queuePostAttachCallback):
628 (WebCore::ContainerNode::postAttachCallbacksAreSuspended):
629 (WebCore::ContainerNode::dispatchPostAttachCallbacks):
630 * dom/ContainerNode.h:
632 (WebCore::Document::recalcStyle):
634 (WebCore::PostAttachCallbackDisabler::PostAttachCallbackDisabler):
635 (WebCore::PostAttachCallbackDisabler::~PostAttachCallbackDisabler):
636 * html/HTMLEmbedElement.cpp:
637 (WebCore::HTMLEmbedElement::parseAttribute):
638 * html/HTMLFormControlElement.cpp:
639 (WebCore::focusPostAttach):
640 (WebCore::HTMLFormControlElement::didAttachRenderers):
641 (WebCore::updateFromElementCallback):
642 (WebCore::HTMLFormControlElement::didRecalcStyle):
643 * html/HTMLFrameOwnerElement.cpp:
644 (WebCore::needsStyleRecalcCallback):
645 (WebCore::HTMLFrameOwnerElement::scheduleSetNeedsStyleRecalc):
646 * html/HTMLObjectElement.cpp:
647 (WebCore::HTMLObjectElement::parseAttribute):
648 (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
649 (WebCore::HTMLObjectElement::hasValidClassId):
650 (WebCore::HTMLObjectElement::renderFallbackContent):
651 * html/HTMLObjectElement.h:
652 * html/HTMLPlugInImageElement.cpp:
653 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
654 (WebCore::HTMLPlugInImageElement::createElementRenderer):
655 (WebCore::HTMLPlugInImageElement::didAttachRenderers):
656 (WebCore::HTMLPlugInImageElement::willDetachRenderers):
657 (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
658 (WebCore::HTMLPlugInImageElement::didMoveToNewDocument):
659 (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
660 (WebCore::HTMLPlugInImageElement::startLoadingImage):
661 (WebCore::HTMLPlugInImageElement::startLoadingImageCallback):
662 (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree):
663 (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
664 (WebCore::HTMLPlugInImageElement::didRecalcStyle): Deleted.
665 (WebCore::HTMLPlugInImageElement::scheduleUpdateForAfterStyleResolution): Deleted.
666 (WebCore::HTMLPlugInImageElement::updateAfterStyleResolution): Deleted.
667 (WebCore::HTMLPlugInImageElement::removedFrom): Deleted.
668 (WebCore::is100Percent): Deleted.
669 (WebCore::HTMLPlugInImageElement::setNeedsImageReload): Deleted.
670 * html/HTMLPlugInImageElement.h:
671 (WebCore::HTMLPlugInImageElement::imageLoader): Deleted.
672 (WebCore::HTMLPlugInImageElement::updateImageLoaderWithNewURLSoon): Deleted.
673 * style/StyleResolveTree.cpp:
674 (WebCore::Style::needsPseudeElement):
675 (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
676 (WebCore::Style::attachRenderTree):
677 (WebCore::Style::updateBeforeOrAfterPseudoElement):
678 (WebCore::Style::needsPseudoElement): Deleted.
679 (WebCore::Style::postResolutionCallbackQueue): Deleted.
680 (WebCore::Style::queuePostResolutionCallback): Deleted.
681 (WebCore::Style::suspendMemoryCacheClientCalls): Deleted.
682 (WebCore::Style::PostResolutionCallbackDisabler::PostResolutionCallbackDisabler): Deleted.
683 (WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler): Deleted.
684 (WebCore::Style::postResolutionCallbacksAreSuspended): Deleted.
685 * style/StyleResolveTree.h:
687 2014-04-02 Jinwoo Song <jinwoo7.song@samsung.com>
689 Page should use std::unique_ptr for PointerLockController
690 https://bugs.webkit.org/show_bug.cgi?id=131098
692 Reviewed by Anders Carlsson.
694 Make Page keep a std::unique_ptr to PointerLockController. Store page
695 references and return controller references where possible.
698 (WebCore::Document::prepareForDestruction):
699 (WebCore::Document::webkitExitPointerLock):
700 (WebCore::Document::webkitPointerLockElement):
702 (WebCore::Element::removedFrom):
703 (WebCore::Element::webkitRequestPointerLock):
705 (WebCore::Page::Page):
707 (WebCore::Page::pointerLockController):
708 * page/PointerLockController.cpp:
709 (WebCore::PointerLockController::PointerLockController):
710 (WebCore::PointerLockController::requestPointerLock):
711 (WebCore::PointerLockController::requestPointerUnlock):
712 (WebCore::PointerLockController::create): Deleted.
713 * page/PointerLockController.h:
715 2014-04-02 Dean Jackson <dino@apple.com>
717 Load Media Controls js/css from bundle
718 https://bugs.webkit.org/show_bug.cgi?id=131086
720 Followup comments from Eric Carlson.
722 Remove the booleans that were guarding loading the resources.
724 * rendering/RenderThemeIOS.h:
725 * rendering/RenderThemeIOS.mm:
726 (WebCore::RenderThemeIOS::mediaControlsStyleSheet):
727 (WebCore::RenderThemeIOS::mediaControlsScript):
728 (WebCore::RenderThemeIOS::RenderThemeIOS):
729 * rendering/RenderThemeMac.h:
730 * rendering/RenderThemeMac.mm:
731 (WebCore::RenderThemeMac::RenderThemeMac):
732 (WebCore::RenderThemeMac::mediaControlsStyleSheet):
733 (WebCore::RenderThemeMac::mediaControlsScript):
735 2014-04-01 Dean Jackson <dino@apple.com>
737 Load Media Controls js/css from bundle
738 https://bugs.webkit.org/show_bug.cgi?id=131086
740 Reviewed by Eric Carlson.
742 Rather than embed encoded versions of the JS and CSS files
743 into C++ source, just load the files directly from the bundle.
745 * DerivedSources.make: Removed now unnecessary rules.
746 * WebCore.xcodeproj/project.pbxproj: Copy mediaControls files to the bundle.
747 * rendering/RenderThemeIOS.h:
748 * rendering/RenderThemeIOS.mm:
749 (WebCore::RenderThemeIOS::RenderThemeIOS):
750 (WebCore::RenderThemeIOS::mediaControlsStyleSheet): Load from the bundle.
751 (WebCore::RenderThemeIOS::mediaControlsScript): Ditto.
752 * rendering/RenderThemeMac.h:
753 * rendering/RenderThemeMac.mm:
754 (WebCore::RenderThemeMac::RenderThemeMac):
755 (WebCore::RenderThemeMac::mediaControlsStyleSheet):
756 (WebCore::RenderThemeMac::mediaControlsScript):
758 2014-04-02 Daniel Bates <dabates@apple.com>
760 Move focus management API from HTMLDocument to Document
761 https://bugs.webkit.org/show_bug.cgi?id=131079
762 <rdar://problem/16220103>
764 Reviewed by Timothy Hatcher.
766 Merged from Blink (patch by Christophe Dumez):
767 https://src.chromium.org/viewvc/blink?view=rev&revision=165515
769 Move hasFocus() and attribute activeElement from interface HTMLDocument
770 to DOMDocument as per section Focus management APIs of the HTML5 standard:
771 <http://www.whatwg.org/specs/web-apps/current-work/#focus-management-apis> (1 April 2014).
773 Test: fast/dom/Document/xml-document-focus.xml
775 * bindings/objc/PublicDOMInterfaces.h: Moved hasFocus() and property activeElement from
776 interface DOMHTMLDocument to DOMDocument.
778 (WebCore::Document::activeElement): Added.
779 (WebCore::Document::hasFocus): Added.
782 * html/HTMLDocument.cpp:
783 (WebCore::HTMLDocument::activeElement): Deleted.
784 (WebCore::HTMLDocument::hasFocus): Deleted.
785 * html/HTMLDocument.h:
786 * html/HTMLDocument.idl:
788 2014-04-02 Benjamin Poulain <benjamin@webkit.org>
790 Refactor the function call generator to take the arguments by value
791 https://bugs.webkit.org/show_bug.cgi?id=131129
793 Reviewed by Andreas Kling.
795 Nothing forces the pointed address to stay alive between setOneArgument/setTwoArguments
798 This patch changes FunctionCall to:
799 -Keep the register by value instead of using pointers.
800 -Crash at compile time if a register is invalid.
802 * cssjit/FunctionCall.h:
803 (WebCore::FunctionCall::FunctionCall):
804 (WebCore::FunctionCall::setOneArgument):
805 (WebCore::FunctionCall::setTwoArguments):
806 (WebCore::FunctionCall::swapArguments):
807 (WebCore::FunctionCall::prepareAndCall):
808 * cssjit/RegisterAllocator.h:
809 (WebCore::RegisterAllocator::isValidRegister):
811 2014-04-02 Daniel Bates <dabates@apple.com>
813 Remove Settings::maximumDecodedImageSize()
814 https://bugs.webkit.org/show_bug.cgi?id=131057
815 <rdar://problem/15626368>
817 Reviewed by Darin Adler.
819 The setting Settings::maximumDecodedImageSize() and its related logic have various
820 shortcomings, including the inability to cancel an image load when the estimated
821 decoded image size exceeds the maximum decoded image size. In the iOS port, this
822 setting is less useful given image subsampling support. For now, we remove this
823 setting and its related logic. Should it turn out that such a setting is useful
824 then we can implement it again taking care to address the shortcomings in the
827 * html/HTMLCanvasElement.cpp: For the iOS port, define MaxCanvasArea to be 4580 * 1145
828 pixels such that the maximum size of the image buffer is 20 MB (assumes 4 bytes per pixel).
829 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
830 (WebCore::HTMLCanvasElement::createImageBuffer):
831 * html/HTMLCanvasElement.h:
832 * html/canvas/CanvasRenderingContext2D.cpp:
833 (WebCore::CanvasRenderingContext2D::createImageData):
834 (WebCore::CanvasRenderingContext2D::getImageData):
835 * loader/cache/CachedImage.cpp:
836 (WebCore::CachedImage::addIncrementalDataBuffer):
837 (WebCore::CachedImage::finishLoading):
838 * loader/cache/CachedImage.h:
841 2014-04-02 Martin Hock <mhock@apple.com>
843 Unify private browsing with sessions.
844 https://bugs.webkit.org/show_bug.cgi?id=130099
846 Reviewed by Alexey Proskuryakov.
848 Unless otherwise noted, the following consists solely of mechanical changes to replace querying WebCore::Settings::privateBrowsingEnabled() with Page::usesEphemeralSession().
850 * Modules/webdatabase/DatabaseContext.cpp:
851 (WebCore::DatabaseContext::allowDatabaseAccess):
852 * WebCore.exp.in: Remove Settings::setPrivateBrowsingEnabled, add Page::legacyPrivateBrowsingEnabled.
853 * html/HTMLMediaElement.cpp:
854 (WebCore::HTMLMediaElement::parseAttribute):
855 * loader/HistoryController.cpp:
856 (WebCore::HistoryController::updateForStandardLoad):
857 (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
858 (WebCore::HistoryController::updateForClientRedirect):
859 (WebCore::HistoryController::updateForSameDocumentNavigation):
860 (WebCore::HistoryController::pushState):
861 (WebCore::HistoryController::replaceState):
862 * loader/appcache/ApplicationCacheGroup.cpp:
863 (WebCore::ApplicationCacheGroup::cacheForMainRequest):
864 (WebCore::ApplicationCacheGroup::selectCache):
865 (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
866 (WebCore::ApplicationCacheGroup::update):
867 * loader/appcache/ApplicationCacheHost.cpp:
868 (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
869 * loader/icon/IconController.cpp:
870 (WebCore::IconController::continueLoadWithDecision):
872 (WebCore::Page::Page): Initialize with defaultSessionID.
873 (WebCore::Page::legacyPrivateBrowsingEnabled): Legacy setting for private browsing.
874 (WebCore::Page::privateBrowsingStateChanged): Move implementation to setSessionID.
875 (WebCore::Page::sessionID): Simplify to just return m_sessionID.
876 (WebCore::Page::setSessionID): Also perform privateBrowsingStateChanged action.a
877 (WebCore::Page::privateBrowsingStateChanged): Deleted.
878 (WebCore::Page::checkSubframeCountConsistency): Deleted.
880 * page/PageConsole.cpp:
881 (WebCore::PageConsole::addMessage):
882 (WebCore::PageConsole::messageWithTypeAndLevel):
883 * page/Settings.cpp: Remove privateBrowsingEnabled setting.
884 (WebCore::Settings::Settings):
885 (WebCore::Settings::setPrivateBrowsingEnabled): Page reflects setting using session.
887 * plugins/PluginView.cpp:
888 (WebCore::PluginView::getValue):
889 * rendering/RenderSearchField.cpp:
890 (WebCore::RenderSearchField::addSearchResult):
891 * storage/Storage.cpp:
892 (WebCore::Storage::isDisabledByPrivateBrowsing):
894 2014-04-02 Antti Koivisto <antti@apple.com>
896 Try to fix test failures.
898 * platform/graphics/ca/mac/TileGrid.mm:
899 (WebCore::TileGrid::TileGrid): Initialize a field.
901 2014-04-02 Timothy Hatcher <timothy@apple.com>
903 Remove Input domain from the Web Inspector protocol.
905 https://bugs.webkit.org/show_bug.cgi?id=131073
907 Reviewed by Joseph Pecoraro.
910 * DerivedSources.make:
911 * WebCore.vcxproj/WebCore.vcxproj:
912 * WebCore.vcxproj/WebCore.vcxproj.filters:
913 * WebCore.xcodeproj/project.pbxproj:
914 * inspector/InspectorAllInOne.cpp:
915 * inspector/InspectorController.cpp:
916 (WebCore::InspectorController::InspectorController):
917 * inspector/InspectorInputAgent.cpp: Removed.
918 * inspector/InspectorInputAgent.h: Removed.
919 * inspector/protocol/Input.json: Removed.
921 2014-04-02 Antti Koivisto <antti@apple.com>
923 Split tile grid out from TileController
924 https://bugs.webkit.org/show_bug.cgi?id=131102
926 Reviewed by Simon Fraser.
928 Add a TileGrid class that encapsulates tiles, zoom level and the related metadata.
929 This will make it possible to have multiple grids per TileController later.
931 2014-03-31 Brent Fulgham <bfulgham@apple.com>
933 [Win] Correct media controls for test harness
934 https://bugs.webkit.org/show_bug.cgi?id=131008
936 Reviewed by Eric Carlson.
938 * rendering/RenderThemeSafari.cpp: Revise to match RenderThemeWin logic.
939 (WebCore::RenderThemeSafari::systemFont):
940 (WebCore::RenderThemeSafari::paintMenuList):
941 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
942 (WebCore::RenderThemeSafari::mediaControlsStyleSheet):
943 (WebCore::RenderThemeSafari::mediaControlsScript):
944 (WebCore::RenderThemeSafari::paintMediaFullscreenButton): Deleted.
945 (WebCore::RenderThemeSafari::paintMediaMuteButton): Deleted.
946 (WebCore::RenderThemeSafari::paintMediaPlayButton): Deleted.
947 (WebCore::RenderThemeSafari::paintMediaSeekBackButton): Deleted.
948 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): Deleted.
949 (WebCore::RenderThemeSafari::paintMediaSliderTrack): Deleted.
950 (WebCore::RenderThemeSafari::paintMediaSliderThumb): Deleted.
951 * rendering/RenderThemeSafari.h:
953 2014-04-02 peavo@outlook.com <peavo@outlook.com>
955 [WinCairo] Compile error.
956 https://bugs.webkit.org/show_bug.cgi?id=131110
958 Reviewed by Simon Fraser.
960 Image::size() now returns a FloatSize instead of an IntSize.
962 * platform/win/DragImageCairoWin.cpp:
963 (WebCore::createDragImageFromImage):
965 2014-04-02 David Kilzer <ddkilzer@apple.com>
967 Use outermost containing isolate when constructing bidi runs
968 <http://webkit.org/b/131107>
969 <rdar://problem/15690021>
971 Reviewed by Darin Adler.
973 Merged from Blink (patch by jww@chromium.org):
974 https://src.chromium.org/viewvc/blink?revision=157268&view=revision
975 http://crbug.com/279277
977 Update containingIsolate to go back all the way to top
978 isolate from current root, rather than stopping at the first
979 isolate it finds. This works because the current root is
980 always updated with each isolate run.
982 Tests: fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent.html
983 fast/text/international/unicode-bidi-isolate-nested-with-removes.html
985 * rendering/InlineIterator.h:
986 (WebCore::highestContainingIsolateWithinRoot):
987 * rendering/RenderBlockLineLayout.cpp:
988 (WebCore::constructBidiRunsForSegment):
990 2014-04-02 Chris Fleizach <cfleizach@apple.com>
992 AX: Improve ARIA live region reliability by sending notifications when live regions are created/shown and hidden/destroyed
993 https://bugs.webkit.org/show_bug.cgi?id=124381
995 Reviewed by Mario Sanchez Prada.
997 Re-organize some code so that when we detect a new node has been created, we can safely determine its live region status.
998 If it is a live region, we fire off a live region created notification.
1000 Test: platform/mac/accessibility/live-region-creation-notification.html
1002 * accessibility/AXObjectCache.cpp:
1003 (WebCore::AXObjectCache::handleLiveRegionCreated):
1004 (WebCore::AXObjectCache::childrenChanged):
1005 (WebCore::AXObjectCache::handleAttributeChanged):
1006 * accessibility/AXObjectCache.h:
1007 (WebCore::AXObjectCache::childrenChanged):
1008 * accessibility/AccessibilityObject.cpp:
1009 (WebCore::AccessibilityObject::defaultLiveRegionStatusForRole):
1010 (WebCore::AccessibilityObject::liveRegionStatusIsEnabled):
1011 (WebCore::AccessibilityObject::supportsARIALiveRegion):
1012 * accessibility/AccessibilityObject.h:
1013 (WebCore::AccessibilityObject::ariaLiveRegionStatus):
1014 * accessibility/AccessibilityRenderObject.cpp:
1015 (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
1016 * accessibility/AccessibilityRenderObject.h:
1017 * accessibility/ios/AXObjectCacheIOS.mm:
1018 (WebCore::AXObjectCache::postPlatformNotification):
1019 * accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
1020 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1021 (-[WebAccessibilityObjectWrapper postLiveRegionCreatedNotification]):
1022 * accessibility/mac/AXObjectCacheMac.mm:
1023 (WebCore::AXObjectCache::postPlatformNotification):
1025 2014-04-02 Martin Robinson <mrobinson@igalia.com>
1027 REGRESSION(r165704): [GTK] Inspector resources not correctly generated
1028 https://bugs.webkit.org/show_bug.cgi?id=130343
1030 Reviewed by Gustavo Noronha Silva.
1032 * CMakeLists.txt: Generate the web inspector JS file into the new WebInspectorUI derived sources
1035 2014-04-02 Zalan Bujtas <zalan@apple.com>
1037 Unreviewed build fix after r166642.
1038 (WinCairo should really turn subpixel layout on.)
1040 * platform/graphics/LayoutSize.h:
1041 (WebCore::flooredForPainting):
1043 2014-04-02 Zalan Bujtas <zalan@apple.com>
1045 Subpixel rendering: Make GraphicsContext::drawTiledImage* functions float based.
1046 https://bugs.webkit.org/show_bug.cgi?id=131062
1048 Reviewed by Simon Fraser.
1050 This is in preparation to support subpixel positioned/sized background images. Generated images
1051 need to be able to sized on device pixels.
1053 No change in behavior.
1055 * platform/graphics/GraphicsContext.cpp:
1056 (WebCore::GraphicsContext::drawImage):
1057 (WebCore::GraphicsContext::drawTiledImage):
1058 * platform/graphics/GraphicsContext.h:
1060 2014-04-02 Alex Christensen <achristensen@webkit.org>
1062 [WinCairo] Build fix after r166496.
1063 https://bugs.webkit.org/show_bug.cgi?id=131006
1065 Reviewed by Carlos Garcia Campos.
1067 * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
1068 (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
1069 (WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
1070 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1071 (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
1072 (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
1073 (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged):
1074 (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
1075 (WebCore::MediaPlayerPrivateGStreamer::textChanged):
1076 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1077 (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
1078 (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
1079 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1080 (WebCore::TrackPrivateBaseGStreamer::activeChanged):
1081 (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
1082 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1083 (webkitVideoSinkRender):
1084 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1085 (webKitWebSrcChangeState):
1086 (webKitWebSrcNeedDataCb):
1087 (webKitWebSrcEnoughDataCb):
1088 (webKitWebSrcSeekDataCb):
1089 Added std::function<void()> constructors to help Visual Studio decide which version of
1090 GMainLoopSource::schedule or GMainLoopSource::scheduleAfterDelay to use.
1092 2014-04-02 Zalan Bujtas <zalan@apple.com>
1094 Subpixel rendering: Transition class CSSImageGeneratorValue/class StyleImage (and its dependencies) from
1095 IntSize to FloatSize to enable subpixel sized (generated)images.
1096 https://bugs.webkit.org/show_bug.cgi?id=130659
1098 Reviewed by Simon Fraser and Andreas Kling.
1100 This is in preparation to support subpixel positioned/sized background images. Generated images
1101 needs to be able to sized on device pixels.
1103 No change in behavior.
1105 * WebCore.vcxproj/WebCore.vcxproj:
1106 * WebCore.vcxproj/WebCore.vcxproj.filters:
1107 * WebCore.xcodeproj/project.pbxproj:
1108 * css/CSSCanvasValue.cpp:
1109 (WebCore::CSSCanvasValue::fixedSize):
1110 (WebCore::CSSCanvasValue::image):
1111 * css/CSSCanvasValue.h:
1112 * css/CSSCrossfadeValue.cpp:
1113 (WebCore::CSSCrossfadeValue::fixedSize):
1114 (WebCore::CSSCrossfadeValue::image):
1115 * css/CSSCrossfadeValue.h:
1116 * css/CSSFilterImageValue.cpp:
1117 (WebCore::CSSFilterImageValue::fixedSize):
1118 (WebCore::CSSFilterImageValue::image):
1119 * css/CSSFilterImageValue.h:
1120 * css/CSSGradientValue.cpp:
1121 (WebCore::CSSGradientValue::image):
1122 (WebCore::positionFromValue):
1123 (WebCore::CSSGradientValue::computeEndPoint):
1124 (WebCore::endPointsFromAngle):
1125 (WebCore::CSSLinearGradientValue::createGradient):
1126 (WebCore::CSSRadialGradientValue::createGradient):
1127 * css/CSSGradientValue.h:
1128 (WebCore::CSSGradientValue::fixedSize):
1129 * css/CSSImageGeneratorValue.cpp:
1130 (WebCore::CSSImageGeneratorValue::cachedImageForSize):
1131 (WebCore::CSSImageGeneratorValue::saveCachedImageForSize):
1132 (WebCore::CSSImageGeneratorValue::evictCachedGeneratedImage):
1133 (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
1134 (WebCore::CSSImageGeneratorValue::image):
1135 (WebCore::CSSImageGeneratorValue::fixedSize):
1136 * css/CSSImageGeneratorValue.h:
1137 * loader/cache/CachedImage.cpp:
1138 (WebCore::CachedImage::setContainerSizeForRenderer):
1139 * loader/cache/CachedImage.h:
1140 * platform/graphics/FloatSizeHash.h: Added.
1141 (WTF::FloatHash<WebCore::FloatSize>::hash):
1142 (WTF::FloatHash<WebCore::FloatSize>::equal):
1143 (WTF::HashTraits<WebCore::FloatSize>::constructDeletedValue):
1144 (WTF::HashTraits<WebCore::FloatSize>::isDeletedValue):
1145 * platform/graphics/LayoutSize.h:
1146 (WebCore::flooredForPainting):
1147 * rendering/RenderImageResourceStyleImage.h:
1148 * rendering/RenderListMarker.cpp:
1149 (WebCore::RenderListMarker::computePreferredLogicalWidths):
1150 * rendering/style/StyleCachedImage.cpp:
1151 (WebCore::StyleCachedImage::imageSize):
1152 (WebCore::StyleCachedImage::setContainerSizeForRenderer):
1153 (WebCore::StyleCachedImage::image):
1154 * rendering/style/StyleCachedImage.h:
1155 * rendering/style/StyleCachedImageSet.cpp:
1156 (WebCore::StyleCachedImageSet::imageSize):
1157 (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
1158 (WebCore::StyleCachedImageSet::image):
1159 * rendering/style/StyleCachedImageSet.h:
1160 * rendering/style/StyleGeneratedImage.cpp:
1161 (WebCore::StyleGeneratedImage::imageSize):
1162 (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
1163 (WebCore::StyleGeneratedImage::image):
1164 * rendering/style/StyleGeneratedImage.h:
1165 * rendering/style/StyleImage.h:
1166 * rendering/style/StylePendingImage.h:
1167 * svg/graphics/SVGImageCache.cpp:
1168 (WebCore::SVGImageCache::setContainerSizeForRenderer):
1169 * svg/graphics/SVGImageCache.h:
1171 2014-04-02 Gergo Balogh <gbalogh.u-szeged@partner.samsung.com>
1173 Warning fix for RenderLayer.
1174 https://bugs.webkit.org/show_bug.cgi?id=131090
1176 Reviewed by Csaba Osztrogonác.
1178 * rendering/RenderLayer.cpp:
1179 (WebCore::RenderLayer::updateDescendantDependentFlags):
1181 2014-04-02 Frédéric Wang <fred.wang@free.fr>
1183 Operator stretching: read the Open Type MATH table
1184 https://bugs.webkit.org/show_bug.cgi?id=130324
1186 Reviewed by Chris Fleizach.
1188 We parse and expose some data from the OpenType MATH table that will be
1189 be relevant for at least the MathML operator stretching (bug 130322):
1190 math constants, italic corrections and size variants / glyph assembly.
1191 This will be tested when the MathML code uses the data.
1193 * WebCore.xcodeproj/project.pbxproj: Add OpenTypeTypes.h to the Mac build.
1194 * platform/graphics/opentype/OpenTypeMathData.cpp: We implement the low-level parsing of the MATH table.
1195 (WebCore::OpenType::MathItalicsCorrectionInfo::getItalicCorrection):
1196 (WebCore::OpenType::MathGlyphInfo::mathItalicsCorrectionInfo):
1197 (WebCore::OpenType::GlyphAssembly::getAssemblyParts):
1198 (WebCore::OpenType::MathGlyphConstruction::getSizeVariants):
1199 (WebCore::OpenType::MathGlyphConstruction::getAssemblyParts):
1200 (WebCore::OpenType::MathVariants::mathGlyphConstruction):
1201 (WebCore::OpenType::MATHTable::mathConstants):
1202 (WebCore::OpenType::MATHTable::mathGlyphInfo):
1203 (WebCore::OpenType::MATHTable::mathVariants):
1204 (WebCore::OpenTypeMathData::OpenTypeMathData): We load the MATH table.
1205 (WebCore::OpenTypeMathData::getMathConstant): We add a function to get values from the MathConstant subtable.
1206 (WebCore::OpenTypeMathData::getItalicCorrection): We add a function to get italic correction from the MathGlyphInfo subtable.
1207 (WebCore::OpenTypeMathData::getMathVariants): We add a function to get size variants / glyph assembly from the MathVariants subtable.
1208 * platform/graphics/opentype/OpenTypeMathData.h: We expose three new functions to get math data.
1209 * platform/graphics/opentype/OpenTypeTypes.h: We share the coverage tables that are common to vertical and math data.
1210 (WebCore::OpenType::TableWithCoverage::getCoverageIndex): We add a function to get the coverage index from a given glyph.
1211 * platform/graphics/opentype/OpenTypeVerticalData.cpp: We move the coverage tables to OpenTypeTypes.h.
1213 2014-04-02 Ion Rosca <rosca@adobe.com>
1215 [CSS Blending] Compositing requirements for blending are not computed correctly
1216 https://bugs.webkit.org/show_bug.cgi?id=130664
1218 Reviewed by Dean Jackson.
1220 Tests: css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts.html
1221 css3/compositing/blend-mode-with-accelerated-sibling.html
1223 Compositing requirements for blending: if a layer having blend mode
1224 other than normal is composited for any reason, its closest stacking
1225 context ancestor should be composited as well.
1227 * rendering/RenderLayer.cpp:
1228 (WebCore::RenderLayer::RenderLayer):
1229 * rendering/RenderLayer.h: added a new field,
1230 m_hasUnisolatedCompositedBlendingDescendants, which is true if the layer
1231 has composited blending descendants not isolated by any stacking context child;
1232 added a new method: isolatesCompositedBlending(), which is true if we should
1233 accelerate that layer in order to perform isolation correctly.
1235 * rendering/RenderLayerCompositor.cpp:
1236 (WebCore::CompositingState::CompositingState): m_subtreeHasBlending was renamed
1237 m_hasUnisolatedCompositedBlendingDescendants in order to be more self-explanatory.
1238 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1239 computes the isolation requirements for composited blending by
1240 (re)setting RenderLayer::m_hasUnisolatedCompositedBlendingDescendants flag.
1242 (WebCore::RenderLayerCompositor::reasonsForCompositing):
1243 fixed the reason of compositing: isolation instead of blending.
1245 (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
1246 * rendering/RenderLayerCompositor.h:
1248 2014-04-02 Frédéric Wang <fred.wang@free.fr>
1250 Operator stretching: expose a math data API
1251 https://bugs.webkit.org/show_bug.cgi?id=130572
1253 Reviewed by Chris Fleizach.
1255 We expose a new SimpleFontData API to give access to the data from the
1256 OpenType MATH table. The class OpenTypeMathData will
1257 be implemented in bug 130324. On Darwin platform, we also implement the
1258 missing FontPlatformData::openTypeTable function which will be necessary
1259 to load the OpenType MATH table. The changes are intended to be used
1260 for MathML operator stretching (bug 130322) so tests are not added yet.
1262 * CMakeLists.txt: add new OpenTypeMathData files.
1263 * WebCore.vcxproj/WebCore.vcxproj: ditto.
1264 * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
1265 * WebCore.xcodeproj/project.pbxproj: ditto.
1266 * platform/graphics/FontPlatformData.cpp:
1267 (WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.
1268 * platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
1269 * platform/graphics/SimpleFontData.cpp:
1270 (WebCore::SimpleFontData::SimpleFontData):
1271 (WebCore::SimpleFontData::mathData): Initialize and return the math data.
1272 * platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
1273 * platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.
1274 (WebCore::OpenTypeMathData::OpenTypeMathData):
1275 * platform/graphics/opentype/OpenTypeMathData.h: Added.
1276 (WebCore::OpenTypeMathData::create):
1277 (WebCore::OpenTypeMathData::hasMathData):
1279 2014-04-01 Mihnea Ovidenie <mihnea@adobe.com>
1281 [CSSRegions] Displaying region's children in another region not supported
1282 https://bugs.webkit.org/show_bug.cgi?id=130735
1284 Reviewed by David Hyatt.
1286 With http://trac.webkit.org/changeset/166353, we disabled the possibility
1287 of collecting the region's children into another flow and displaying them
1289 I added a new test for this and also changed the plain ASSERT in Element dtor
1290 to ASSERT_WITH_SECURITY_IMPLICATION to better reflect the meaning of the assertion.
1292 Test: fast/regions/region-child-not-flowed.html
1295 (WebCore::Element::~Element):
1297 2014-04-01 Andrei Bucur <abucur@adobe.com>
1299 [CSS Regions] Simplify the RenderFlowThread state pusher
1300 https://bugs.webkit.org/show_bug.cgi?id=131035
1302 Reviewed by David Hyatt.
1304 The RenderFlowThread state pusher is desynchronized from the RenderView layout state pusher
1305 by one renderer. This patch fixes the anomaly by correctly ordering the push and pop operations
1306 between the two systems.
1308 Tests: no functional change, no new tests.
1310 * rendering/RenderFlowThread.cpp:
1311 (WebCore::RenderFlowThread::pushFlowThreadLayoutState):
1312 (WebCore::RenderFlowThread::popFlowThreadLayoutState):
1313 (WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion):
1314 * rendering/RenderView.cpp:
1315 (WebCore::RenderView::pushLayoutState):
1316 * rendering/RenderView.h:
1318 2014-04-01 Beth Dakin <bdakin@apple.com>
1320 willReveal edge events should be hooked up for overflow:scroll
1321 https://bugs.webkit.org/show_bug.cgi?id=131071
1323 <rdar://problem/16190392>
1325 Reviewed by Sam Weinig.
1327 This patch moves the will reveal logic from FrameView to Document so that it can
1328 be shared for RenderLayers.
1330 This is mostly just a moved function, but now the function takes an Element* that
1331 represents the target of the event if the target is not the window.
1333 (WebCore::Document::sendWillRevealEdgeEventsIfNeeded):
1336 No longer implement sendWillRevealEdgeEventsIfNeeded() on FrameView or
1337 ScrollableArea at all. Call into Document instead.
1338 * page/FrameView.cpp:
1339 (WebCore::FrameView::scrollPositionChanged):
1340 (WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded): Deleted.
1342 * platform/ScrollableArea.h:
1343 (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded): Deleted.
1345 Call sendWillRevealEdgeEventsIfNeeded() after sending scroll events.
1346 * rendering/RenderLayer.cpp:
1347 (WebCore::RenderLayer::scrollTo):
1349 2014-04-01 Jon Honeycutt <jhoneycutt@apple.com>
1351 Crash in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients
1353 <https://bugs.webkit.org/show_bug.cgi?id=121887>
1354 <rdar://problem/15073043>
1356 Reviewed by Dean Jackson.
1358 Test: svg/filters/first-letter-crash.html
1360 * rendering/FilterEffectRenderer.cpp:
1361 (WebCore::FilterEffectRenderer::buildReferenceFilter):
1362 Added a null check to prevent crashes for anonymous RenderObjects.
1364 * rendering/RenderLayer.cpp:
1365 (WebCore::RenderLayer::filterNeedsRepaint):
1366 Get the enclosing element, if there is one, and recalculate its style.
1367 We use the enclosing element so that we recalculate style for the
1368 ancestor of an anonymous RenderElement.
1369 (WebCore::RenderLayer::enclosingElement):
1370 Remove an assertion; we may now reach this condition if loading a
1371 cached SVG document results in RenderLayer::filterNeedsRepaint() being
1372 called before the object has been inserted into the render tree.
1374 * rendering/RenderLayerFilterInfo.cpp:
1375 (WebCore::RenderLayer::FilterInfo::notifyFinished):
1376 Tell the RenderLayer that the filter needs repainting.
1377 (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
1378 Get the Element from the renderer rather than asking the renderer's
1379 Element, which will be null for anonymous RenderObjects.
1381 * rendering/RenderLayerFilterInfo.h:
1382 Removed declaration for the old workaround function, layerElement().
1384 2014-04-01 Ryuan Choi <ryuan.choi@samsung.com>
1386 Build break when disabled VIDEO since r166261
1387 https://bugs.webkit.org/show_bug.cgi?id=131087
1389 Reviewed by Gyuyoung Kim.
1391 * testing/Internals.cpp: Added ENABLE(VIDEO) guards
1392 (WebCore::Internals::simulateSystemSleep):
1393 (WebCore::Internals::simulateSystemWake):
1395 2014-04-01 Timothy Hatcher <timothy@apple.com>
1397 Remove HeapProfiler from the Web Inspector protocol.
1399 https://bugs.webkit.org/show_bug.cgi?id=131070
1401 Reviewed by Joseph Pecoraro.
1404 * DerivedSources.make:
1405 * WebCore.vcxproj/WebCore.vcxproj:
1406 * WebCore.vcxproj/WebCore.vcxproj.filters:
1407 * WebCore.xcodeproj/project.pbxproj:
1408 * bindings/js/ScriptHeapSnapshot.h: Removed.
1409 * bindings/js/ScriptProfiler.h:
1410 (WebCore::ScriptProfiler::takeHeapSnapshot): Deleted.
1411 (WebCore::ScriptProfiler::isSampling): Deleted.
1412 (WebCore::ScriptProfiler::hasHeapProfiler): Deleted.
1413 * inspector/InspectorAllInOne.cpp:
1414 * inspector/InspectorController.cpp:
1415 (WebCore::InspectorController::InspectorController):
1416 * inspector/InspectorHeapProfilerAgent.cpp: Removed.
1417 * inspector/InspectorHeapProfilerAgent.h: Removed.
1418 * inspector/InspectorInstrumentation.cpp:
1419 (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1420 * inspector/InspectorProfilerAgent.cpp:
1421 (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1422 (WebCore::InspectorProfilerAgent::getProfileHeaders):
1423 (WebCore::InspectorProfilerAgent::removeProfile):
1424 (WebCore::InspectorProfilerAgent::resetState): The CommandLineAPIHost call to
1425 clear inspected objects should have not been here. It was only needed by the
1427 (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
1428 (WebCore::InspectorProfilerAgent::collectGarbage): Deleted.
1429 (WebCore::InspectorProfilerAgent::createSnapshotHeader): Deleted.
1430 (WebCore::InspectorProfilerAgent::isSampling): Deleted.
1431 (WebCore::InspectorProfilerAgent::hasHeapProfiler): Deleted.
1432 (WebCore::InspectorProfilerAgent::getHeapSnapshot): Deleted.
1433 (WebCore::InspectorProfilerAgent::takeHeapSnapshot): Deleted.
1434 (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId): Deleted.
1435 (WebCore::InspectorProfilerAgent::getHeapObjectId): Deleted.
1436 * inspector/InspectorProfilerAgent.h:
1437 * inspector/InstrumentingAgents.h:
1438 (WebCore::InstrumentingAgents::inspectorHeapProfilerAgent): Deleted.
1439 (WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent): Deleted.
1440 * inspector/WebConsoleAgent.cpp:
1441 (WebCore::WebConsoleAgent::addInspectedHeapObject): Deleted.
1442 * inspector/WebConsoleAgent.h:
1443 * inspector/WorkerInspectorController.cpp:
1444 (WebCore::WorkerInspectorController::WorkerInspectorController):
1445 * inspector/protocol/HeapProfiler.json: Removed.
1446 * inspector/protocol/Profiler.json:
1448 2014-04-01 Zoltan Horvath <zoltan@webkit.org>
1450 [CSS Exclusions] Remove exclusions parsing support
1451 https://bugs.webkit.org/show_bug.cgi?id=131046
1453 Reviewed by David Hyatt.
1455 CSS Exclusions specification [1] needs some evolution before the actual implementation happens.
1456 We have only the parsing code in WebKit for -webkit-wrap-flow and -webkit-wrap-through.
1457 This patch removes the code from the trunk for now, it doesn't make sense to keep it around.
1459 [1] http://www.w3.org/TR/css3-exclusions/
1461 Removed existing parsing tests.
1463 * css/CSSComputedStyleDeclaration.cpp:
1464 (WebCore::ComputedStyleExtractor::propertyValue):
1465 * css/CSSParser.cpp:
1466 (WebCore::isValidKeywordPropertyAndValue):
1467 (WebCore::isKeywordPropertyID):
1468 (WebCore::CSSParser::parseValue):
1469 * css/CSSPrimitiveValueMappings.h:
1470 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted.
1471 (WebCore::CSSPrimitiveValue::operator WrapFlow): Deleted.
1472 (WebCore::CSSPrimitiveValue::operator WrapThrough): Deleted.
1473 * css/CSSPropertyNames.in:
1474 * css/CSSValueKeywords.in:
1475 * css/DeprecatedStyleBuilder.cpp:
1476 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1477 * css/StyleResolver.cpp:
1478 (WebCore::StyleResolver::applyProperty):
1479 * rendering/style/RenderStyle.cpp:
1480 (WebCore::RenderStyle::changeRequiresLayout):
1481 * rendering/style/RenderStyle.h:
1482 * rendering/style/RenderStyleConstants.h:
1483 * rendering/style/StyleRareNonInheritedData.cpp:
1484 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1485 (WebCore::StyleRareNonInheritedData::operator==):
1486 * rendering/style/StyleRareNonInheritedData.h:
1488 2014-04-01 Timothy Hatcher <timothy@apple.com>
1490 Remove the rest of the old Canvas inspection support.
1492 https://bugs.webkit.org/show_bug.cgi?id=131066
1494 Reviewed by Joseph Pecoraro.
1496 * CMakeLists.txt: Removed Canvas.json.
1497 * DerivedSources.make: Ditto.
1498 * inspector/InjectedScriptCanvasModuleSource.js: Removed.
1499 * inspector/protocol/Canvas.json: Removed.
1501 2014-04-01 Alexey Proskuryakov <ap@apple.com>
1503 Eliminate HTMLFormElement::m_shouldSubmit
1504 https://bugs.webkit.org/show_bug.cgi?id=131055
1506 Reviewed by Tim Horton.
1508 m_shouldSubmit was used for two purposes:
1509 - as a return value in a function whose return value is ignored by all callers;
1510 - to make a decision that's local to a function.
1512 There is no need for it to be an instance variable.
1514 * html/HTMLFormElement.cpp:
1515 (WebCore::HTMLFormElement::HTMLFormElement):
1516 (WebCore::HTMLFormElement::prepareForSubmission):
1517 (WebCore::HTMLFormElement::submit):
1518 * html/HTMLFormElement.h:
1520 2014-04-01 Benjamin Poulain <bpoulain@apple.com>
1522 Remove a couple of useless static strings
1523 https://bugs.webkit.org/show_bug.cgi?id=131003
1525 Reviewed by David Kilzer.
1527 There is zero value in keeping those strings alive.
1529 * css/StyleProperties.cpp:
1530 (WebCore::isInitialOrInherit):
1532 2014-04-01 Myles C. Maxfield <mmaxfield@apple.com>
1534 svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html and svg/css/font-face-crash.html frequently assert in ComplexTextController::offsetForPosition
1535 https://bugs.webkit.org/show_bug.cgi?id=119747
1537 Reviewed by Simon Fraser.
1539 Even though kerning and ligatures currently don't work with the
1540 simple text path, messing those up is better than creating null
1541 CTRun and CTLine objects.
1543 Rather than calling the badly-named renderingContext() function on TextRun objects
1544 to determine if they are drawn with an SVG font, this patch creates a wrapper function
1545 with a better name and uses that instead.
1547 Test: svg/text/svg-font-hittest.html
1549 * platform/graphics/Font.cpp:
1550 (WebCore::isDrawnWithSVGFont): Wrapper around renderingContext()
1551 (WebCore::Font::drawText): Use wrapper function
1552 (WebCore::Font::drawEmphasisMarks): Use wrapper function
1553 (WebCore::Font::width): Use wrapper function
1554 (WebCore::Font::selectionRectForText): Use wrapper function
1555 (WebCore::Font::offsetForPosition): If we are using an SVG font, use the simple path
1556 instead of the complex one
1557 (WebCore::Font::codePath): Use wrapper function
1558 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1559 (WebCore::FontPlatformData::ctFont):
1561 2014-04-01 Daniel Bates <dabates@apple.com>
1563 RenderQuote must destroy remaining text renderer before first letter renderer
1564 https://bugs.webkit.org/show_bug.cgi?id=78023
1565 <rdar://problem/10830009>
1567 Reviewed by Brent Fulgham.
1569 Merged from Blink (patch by Abhishek Arya):
1570 https://src.chromium.org/viewvc/blink?view=rev&revision=151270
1572 Following the fix for <https://bugs.webkit.org/show_bug.cgi?id=114586>, a
1573 RenderQuote may have child render objects for the first letter of its text
1574 and everything following the first letter so as to support the CSS first-
1575 letter property. The latter renderer is responsible for destroying the former
1576 on destruction. It's sufficient to reverse the destruction of the children of
1577 RenderQuote to ensure that we destroy the remaining text renderer before we
1578 destroy the first letter renderer.
1580 Test: fast/css-generated-content/quote-first-letter-crash.html
1582 * rendering/RenderQuote.cpp:
1583 (WebCore::RenderQuote::updateText):
1585 2014-04-01 David Kilzer <ddkilzer@apple.com>
1587 Do not allow HTTP refresh headers to refresh to javascript: URLs
1588 <http://webkit.org/b/119051>
1589 <rdar://problem/14536453>
1591 Reviewed by Alexey Proskuryakov.
1593 Merged from Blink (patch by tsepez@chromium.org):
1594 https://src.chromium.org/viewvc/blink?revision=153912&view=revision
1595 http://crbug.com/258151
1597 This behaviour has been standard in IE since IE7. This makes us both
1598 more compatible and less vulnerable to XSS.
1600 Tests: http/tests/security/no-javascript-location-percent-escaped.html
1601 http/tests/security/no-javascript-location.html
1602 http/tests/security/no-javascript-refresh-percent-escaped.php
1603 http/tests/security/no-javascript-refresh-spaces.php
1604 http/tests/security/no-javascript-refresh-static-percent-escaped.html
1605 http/tests/security/no-javascript-refresh-static-spaces.html
1606 http/tests/security/no-javascript-refresh-static.html
1607 http/tests/security/no-javascript-refresh.php
1610 (WebCore::Document::processHttpEquiv):
1611 * loader/FrameLoader.cpp:
1612 (WebCore::FrameLoader::receivedFirstData):
1613 - Do not fire meta http refresh for a javascript: URL protocol.
1615 2014-04-01 Pratik Solanki <psolanki@apple.com>
1617 Unreviewed build fix. Remove duplicate file entries.
1619 * WebCore.xcodeproj/project.pbxproj:
1621 2014-03-31 Simon Fraser <simon.fraser@apple.com>
1623 Enable WEB_TIMING on Mac and iOS
1624 https://bugs.webkit.org/show_bug.cgi?id=128064
1626 Reviewed by Sam Weinig, Brent Fulgham.
1628 Enable WEB_TIMING. Add PerformanceTiming.cpp and JSPerformanceTiming.cpp
1631 * Configurations/FeatureDefines.xcconfig:
1632 * WebCore.xcodeproj/project.pbxproj:
1634 2014-04-01 James Craig <jcraig@apple.com>
1636 AX: AccessibilityRenderObject::ariaLiveRegionAtomic() should default to true if
1637 roleValue is ApplicationAlertRole || ApplicationStatusRole
1638 https://bugs.webkit.org/show_bug.cgi?id=130907
1640 Reviewed by Chris Fleizach.
1642 Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html:
1643 platform/mac/accessibility/aria-liveregions-attributes.html:
1645 Updated AccessibilityRenderObject::ariaLiveRegionAtomic() to match ARIA spec.
1647 * accessibility/AccessibilityRenderObject.cpp:
1648 (WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic):
1650 2014-04-01 Zan Dobersek <zdobersek@igalia.com>
1652 Unreviewed. Fixing debug builds after r166586.
1654 * svg/SVGElement.cpp:
1655 (WebCore::SVGElement::addEventListener): Fix the ASSERT.
1656 (WebCore::SVGElement::removeEventListener): Ditto.
1658 2014-04-01 Zan Dobersek <zdobersek@igalia.com>
1660 Prevent unnecessary copies in compareEqual template
1661 https://bugs.webkit.org/show_bug.cgi?id=131014
1663 Reviewed by Antti Koivisto.
1665 * rendering/style/RenderStyle.h:
1666 (compareEqual): Casting the second parameter to a non-const, non-reference type
1667 causes an extra copy of that object. Casting to the const reference type of the
1668 first parameter avoids that.
1670 2014-04-01 Zan Dobersek <zdobersek@igalia.com>
1672 Avoid unnecessary HashSet copies when calling collectInstancesForSVGElement
1673 https://bugs.webkit.org/show_bug.cgi?id=131020
1675 Reviewed by Andreas Kling.
1677 Remove collectInstancesForSVGElement() to avoid HashSet copies when assigning a const
1678 HashSet reference to a non-const HashSet reference. Instead, range-based for-loops are
1679 deployed to iterate directly over the const reference to HashSet that's returned by
1680 SVGElement::instancesForElement(). SVGElement::containingShadowRoot() return value
1681 is checked to see if the iteration should be performed in the first place, preserving
1682 the behavior of collectInstancesForSVGElement().
1684 * svg/SVGElement.cpp:
1685 (WebCore::SVGElement::addEventListener):
1686 (WebCore::SVGElement::removeEventListener):
1687 (WebCore::collectInstancesForSVGElement): Deleted.
1689 2014-04-01 Zan Dobersek <zdobersek@igalia.com>
1691 Move the attributes HashMap out of the parseAttributes function
1692 https://bugs.webkit.org/show_bug.cgi?id=131019
1694 Reviewed by Andreas Kling.
1696 * xml/parser/XMLDocumentParserLibxml2.cpp:
1697 (WebCore::parseAttributes): Avoid copying the HashMap object that's being returned by
1698 converting it to an xvalue through using std::move() in the return statement.
1700 2014-04-01 Zalan Bujtas <zalan@apple.com>
1702 Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
1703 https://bugs.webkit.org/show_bug.cgi?id=130643
1705 Reviewed by Simon Fraser.
1707 This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
1708 subpixel sizing on hidpi resolutions, both generated and hidpi images can.
1709 This patch does not change Image behavior in general as both position and size are still snapped to integral values.
1711 No change in behavior.
1714 * css/CSSCrossfadeValue.cpp:
1715 (WebCore::CSSCrossfadeValue::fixedSize):
1716 * css/CSSFilterImageValue.cpp:
1717 (WebCore::CSSFilterImageValue::fixedSize):
1718 * html/canvas/WebGLRenderingContext.cpp:
1719 (WebCore::WebGLRenderingContext::drawImageIntoBuffer):
1720 * loader/cache/CachedImage.cpp:
1721 (WebCore::CachedImage::imageSizeForRenderer):
1722 * page/EventHandler.cpp:
1723 (WebCore::EventHandler::selectCursor):
1724 * platform/Cursor.cpp:
1725 (WebCore::determineHotSpot):
1726 * platform/graphics/BitmapImage.cpp:
1727 (WebCore::BitmapImage::size):
1728 (WebCore::BitmapImage::currentFrameSize):
1729 * platform/graphics/BitmapImage.h:
1730 * platform/graphics/CrossfadeGeneratedImage.cpp:
1731 (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
1732 (WebCore::drawCrossfadeSubimage):
1733 (WebCore::CrossfadeGeneratedImage::drawCrossfade):
1734 * platform/graphics/CrossfadeGeneratedImage.h:
1735 * platform/graphics/GeneratedImage.h:
1736 * platform/graphics/Gradient.cpp:
1737 (WebCore::Gradient::adjustParametersForTiledDrawing):
1738 * platform/graphics/Gradient.h:
1739 * platform/graphics/GradientImage.cpp:
1740 (WebCore::GradientImage::drawPattern):
1741 * platform/graphics/GradientImage.h:
1742 * platform/graphics/GraphicsContext.cpp:
1743 (WebCore::GraphicsContext::createCompatibleBuffer):
1744 * platform/graphics/GraphicsContext.h:
1745 * platform/graphics/Image.cpp:
1746 (WebCore::Image::adjustSourceRectForDownSampling):
1747 * platform/graphics/Image.h:
1748 (WebCore::Image::setContainerSize):
1749 (WebCore::Image::rect):
1750 (WebCore::Image::width):
1751 (WebCore::Image::height):
1752 * platform/graphics/ImageBuffer.cpp:
1753 (WebCore::ImageBuffer::createCompatibleBuffer):
1754 * platform/graphics/ImageBuffer.h:
1755 (WebCore::ImageBuffer::create):
1756 * platform/graphics/IntPoint.cpp:
1757 (WebCore::IntPoint::IntPoint):
1758 * platform/graphics/IntPoint.h:
1759 * platform/graphics/IntSize.cpp:
1760 (WebCore::IntSize::IntSize):
1761 * platform/graphics/IntSize.h:
1762 * platform/graphics/cairo/ImageBufferCairo.cpp:
1763 (WebCore::ImageBuffer::ImageBuffer):
1764 * platform/graphics/cairo/ImageCairo.cpp:
1765 (WebCore::Image::drawPattern):
1766 * platform/graphics/cg/ImageBufferCG.cpp:
1767 (WebCore::ImageBuffer::ImageBuffer):
1768 * platform/graphics/cg/ImageBufferDataCG.cpp:
1769 * platform/graphics/cg/PDFDocumentImage.cpp:
1770 (WebCore::PDFDocumentImage::size):
1771 (WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
1772 (WebCore::applyRotationForPainting):
1773 * platform/graphics/cg/PDFDocumentImage.h:
1774 * platform/graphics/cg/PatternCG.cpp:
1775 (WebCore::Pattern::createPlatformPattern):
1776 * platform/graphics/mac/GraphicsContextMac.mm:
1777 * platform/graphics/mac/IconMac.mm:
1778 * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
1779 (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
1780 * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
1781 (WebCore::CoordinatedImageBacking::update):
1782 * platform/graphics/win/ImageCGWin.cpp:
1783 (WebCore::BitmapImage::getHBITMAPOfSize):
1784 (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1785 * platform/graphics/win/ImageCairoWin.cpp:
1786 (WebCore::BitmapImage::getHBITMAPOfSize):
1787 (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1788 * platform/mac/DragImageMac.mm:
1789 (WebCore::createDragImageFromImage):
1790 * platform/win/DragImageCGWin.cpp:
1791 (WebCore::createDragImageFromImage):
1792 * platform/win/PasteboardWin.cpp:
1793 (WebCore::Pasteboard::writeImage):
1794 * rendering/RenderImage.cpp:
1795 (WebCore::RenderImage::imageSizeForError):
1796 (WebCore::RenderImage::paintReplaced):
1797 * rendering/RenderLayer.cpp:
1798 (WebCore::RenderLayer::drawPlatformResizerImage):
1799 * svg/graphics/SVGImage.cpp:
1800 (WebCore::SVGImage::setContainerSize):
1801 * svg/graphics/SVGImage.h:
1802 * svg/graphics/SVGImageCache.cpp:
1803 (WebCore::SVGImageCache::imageSizeForRenderer):
1804 * svg/graphics/SVGImageCache.h:
1805 * svg/graphics/SVGImageForContainer.cpp:
1806 (WebCore::SVGImageForContainer::size):
1807 * svg/graphics/SVGImageForContainer.h:
1808 * svg/graphics/filters/SVGFEImage.cpp:
1809 (WebCore::FEImage::externalRepresentation):
1810 * testing/Internals.cpp:
1811 (WebCore::Internals::getCurrentCursorInfo):
1813 2014-04-01 Ryuan Choi <ryuan.choi@samsung.com>
1815 Unreviewed build fix when disabled ACCESSIBILITY
1817 * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:
1818 Separated macros not to check ATK version when disabled ACCESSIBILITY
1820 2014-04-01 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1822 [CMake][EFL] Enable CSS JIT
1823 https://bugs.webkit.org/show_bug.cgi?id=131010
1825 Reviewed by Benjamin Poulain.
1827 Add an inclusion path for enabling CSS JIT on EFL and GTK ports.
1828 This patch only enables it for EFL port.
1832 2014-04-01 Martin Robinson <mrobinson@igalia.com>
1834 [GTK] Readonly attributes installed as readwrite in GObject DOM bindings
1835 https://bugs.webkit.org/show_bug.cgi?id=130978
1837 Reviewed by Carlos Garcia Campos.
1839 Unify how we decide if an attribute is readable or writeable and improve the code.
1840 This results in some attributes now being marked as read-only which didn't have
1841 corresponding case statements in the set_property switch statements and also correctly
1842 installs set_property support for some more POD types.
1844 * bindings/scripts/CodeGeneratorGObject.pm:
1845 (IsPropertyReadable): Added this helper to simplify deciding if an attribute is readable.
1846 (IsPropertyWriteable): Added this helper to simplify deciding if an attribute is writeable. Also
1847 update the list of types to reflect the full list of types we can generate setters for.
1848 (GenerateProperty): Use the IsPropertyWriteable helper instead of checking whether the attribute is read-only.
1849 Also fix generation of the blurb by using $mutableString instead of $mutableStringconst which isn't used.
1850 (GenerateProperties): Use grep and the new helpers to simplify the code.
1851 (GetReadableProperties): Deleted.
1852 (GetWriteableProperties): Deleted.
1853 * bindings/scripts/test/GObject: Update results
1855 2014-03-31 Ryuan Choi <ryuan.choi@samsung.com>
1857 [EFL][WK2] Extract the control of page background out of color_set
1858 https://bugs.webkit.org/show_bug.cgi?id=127539
1860 Reviewed by Gyuyoung Kim.
1862 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1863 Added m_viewBackgroundColor to clear when m_setDrawsBackground is false.
1864 (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
1865 (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
1866 (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
1867 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1868 (WebCore::CoordinatedGraphicsScene::setViewBackgroundColor):
1869 (WebCore::CoordinatedGraphicsScene::viewBackgroundColor):
1870 * rendering/RenderLayerBacking.cpp:
1871 (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1872 Added EFL guard not to set opaque as a default for MainFrameRenderViewLayer.
1873 * rendering/RenderLayerCompositor.cpp:
1874 (WebCore::RenderLayerCompositor::ensureRootLayer):
1875 Added EFL guard to apply page scale on RenderView like IOS.
1877 2014-03-31 Byungseon Shin <sun.shin@lge.com>
1879 [WebGL][OpenGLES] Enable MSAA support for WebGL Canvas
1880 https://bugs.webkit.org/show_bug.cgi?id=130955
1882 Reviewed by Dean Jackson.
1884 To avoid aliasing issues when we render content to WebGL canvas,
1885 we need to implement MSAA support.
1886 - Imagination OpenGLES GPU Driver already support MSAA, so we
1887 need a separate code path to enable it.
1889 * platform/graphics/Extensions3D.h:
1890 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1891 (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
1892 * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
1893 (WebCore::Extensions3DOpenGLCommon::isImagination):
1894 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1895 (WebCore::GraphicsContext3D::reshapeFBOs):
1897 2014-03-31 Alexey Proskuryakov <ap@apple.com>
1899 Crashes in PageConsole::addMessage
1900 https://bugs.webkit.org/show_bug.cgi?id=130991
1901 <rdar://problem/14795232>
1903 Reviewed by Geoffrey Garen.
1905 Test: http/tests/misc/detached-frame-console.html
1907 * page/DOMWindow.cpp: (WebCore::DOMWindow::printErrorMessage): Added a null check.
1908 It's legitimate for this to be called for a window that is not currently displayed
1911 2014-03-31 Simon Fraser <simon.fraser@apple.com>
1913 [UI-side compositing] Proxy animations to the UI process
1914 https://bugs.webkit.org/show_bug.cgi?id=130946
1916 Reviewed by Tim Horton.
1918 To proxy CA animations, make PlatformCAAnimation a pure virtual base class
1919 and subclass for Mac, Windows, and Remote (just like PlatformCALayer).
1921 Add coding support for TimingFunctions.
1923 Do some minor #include tidyup.
1925 Minor refactor in GraphicsLayerCA to share some animations code.
1928 * WebCore.xcodeproj/project.pbxproj:
1929 * platform/animation/TimingFunction.h: Add setters need for encode/decode.
1930 (WebCore::CubicBezierTimingFunction::setValues):
1931 (WebCore::CubicBezierTimingFunction::setTimingFunctionPreset):
1932 (WebCore::StepsTimingFunction::create):
1933 (WebCore::StepsTimingFunction::setNumberOfSteps):
1934 (WebCore::StepsTimingFunction::setStepAtStart):
1935 * platform/graphics/ca/GraphicsLayerCA.cpp:
1936 (WebCore::GraphicsLayerCA::createPlatformCAAnimation):
1937 (WebCore::GraphicsLayerCA::animationCanBeAccelerated): Minor refactor so we can share
1938 code with GraphicsLayerCARemote.
1939 (WebCore::GraphicsLayerCA::addAnimation):
1940 (WebCore::GraphicsLayerCA::createBasicAnimation):
1941 (WebCore::PassRefPtr<PlatformCAAnimation>GraphicsLayerCA::createKeyframeAnimation):
1942 * platform/graphics/ca/GraphicsLayerCA.h:
1943 * platform/graphics/ca/PlatformCAAnimation.h:
1944 (WebCore::PlatformCAAnimation::~PlatformCAAnimation):
1945 (WebCore::PlatformCAAnimation::isPlatformCAAnimationMac):
1946 (WebCore::PlatformCAAnimation::isPlatformCAAnimationWin):
1947 (WebCore::PlatformCAAnimation::isPlatformCAAnimationRemote):
1948 (WebCore::PlatformCAAnimation::PlatformCAAnimation):
1949 (WebCore::PlatformCAAnimation::setType):
1950 * platform/graphics/ca/PlatformCALayer.h:
1951 * platform/graphics/ca/mac/PlatformCAAnimationMac.h: Added.
1952 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1953 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1954 (PlatformCALayerMac::addAnimationForKey):
1955 (PlatformCALayerMac::animationForKey):
1956 * platform/graphics/ca/mac/TileController.mm:
1957 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1958 * platform/graphics/ca/win/PlatformCAAnimationWin.h: Added.
1960 2014-03-31 Benjamin Poulain <benjamin@webkit.org>
1962 CSS JIT: compile the first-child pseudo class
1963 https://bugs.webkit.org/show_bug.cgi?id=130954
1965 Reviewed by Andreas Kling.
1967 * css/ElementRuleCollector.cpp:
1968 (WebCore::ElementRuleCollector::collectMatchingRules):
1969 The compiler use the context's style directly when resolving style. An error introduced
1970 in the rule collector would cause a crash in the compiled code which would be hard to debug.
1971 Add an assertion early in the stack to catch errors where it is easier to debug them.
1973 * css/StyleResolver.cpp:
1974 (WebCore::StyleResolver::State::initForStyleResolve):
1975 * cssjit/SelectorCompiler.cpp:
1976 (WebCore::SelectorCompiler::addPseudoType):
1977 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
1978 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacentElement):
1979 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent):
1980 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
1981 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
1982 Refactor those to be able to reuse the code getting a sibling element preceding the current element.
1984 (WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNotResolvingStyle):
1985 Extract the code checking the current mode from SelectorCodeGenerator::markParentElementIfResolvingStyle()
1986 in a separate function. This will be useful for all the pseudo class with marking.
1988 (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
1989 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
1990 (WebCore::SelectorCompiler::setFirstChildState):
1991 This is the slow path for when the first-child pseudo class is on a fragment that is not
1993 The reason to use a slow path is accessing renderStyle() is not trivial and this case isn't not
1994 as common. We should improve this later.
1996 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
1997 This is just implementing the test for first-child plus the tree marking. Nothing fancy,
1998 this is basically the same thing as SelectorChecker.
2001 (WebCore::Element::setChildrenAffectedByFirstChildRules):
2003 C++ fallback to set the flag, to be improved later with the other flags.
2005 * rendering/style/RenderStyle.h:
2006 I accidentaly put noninheritedFlagsMemoryOffset() as private in the RenderStyle refactoring.
2008 Also update the flags accessor to make them easier to work with from the compiler. In particular,
2009 setFirstChildStateFlags() sets both isUnique and firstChild. Currently the JIT does not need to access
2010 the value so individual flags are made private.
2012 2014-03-31 Dean Jackson <dino@apple.com>
2014 Remove WEB_ANIMATIONS
2015 https://bugs.webkit.org/show_bug.cgi?id=130989
2017 Reviewed by Simon Fraser.
2019 Remove this feature flag until we plan to implement.
2021 * Configurations/FeatureDefines.xcconfig:
2023 2014-03-31 Simon Fraser <simon.fraser@apple.com>
2027 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
2028 (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):
2030 2014-03-31 Pratik Solanki <psolanki@apple.com>
2032 Unreviewed. iOS build fix after r166532. Add missing comma.
2034 * dom/DocumentMarker.h:
2036 2014-03-31 Brady Eidson <beidson@apple.com>
2038 Add variant of phone number parsing that use DocumentMarker in the current selection
2039 <rdar://problem/16379566> and https://bugs.webkit.org/show_bug.cgi?id=130917
2041 Reviewed by Darin Adler.
2043 * dom/DocumentMarker.h:
2044 (WebCore::DocumentMarker::AllMarkers::AllMarkers): Add a new TelephoneNumber document marker type.
2046 * editing/Editor.cpp:
2047 (WebCore::Editor::respondToChangedSelection):
2048 (WebCore::Editor::scanSelectionForTelephoneNumbers): TextIterate over the selected range looking for numbers.
2049 (WebCore::Editor::scanRangeForTelephoneNumbers): Scan the given range for a telephone number,
2050 adding the DocumentMarker to any that are found.
2051 (WebCore::Editor::clearDataDetectedTelephoneNumbers):
2054 * html/parser/HTMLTreeBuilder.cpp:
2055 (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Only linkify on iOS.
2057 * rendering/InlineTextBox.cpp:
2058 (WebCore::InlineTextBox::paintTelephoneNumberMarker): Placeholder UI while the feature is developed.
2059 (WebCore::InlineTextBox::paintDocumentMarkers):
2060 * rendering/InlineTextBox.h:
2062 * testing/Internals.cpp:
2063 (WebCore::markerTypesFrom):
2065 2014-03-31 Simon Fraser <simon.fraser@apple.com>
2067 [iOS WK2] Hook up scroll events for accelerated overflow:scroll
2068 https://bugs.webkit.org/show_bug.cgi?id=130976
2070 Reviewed by Tim Horton.
2072 When an accelerated overflow:scroll is scrolled in the UI process,
2073 tell the WebProcess that the scroll happened to update RenderLayer
2074 state and fire events.
2076 In the WebProcess, RemoteScrollingCoordinator gets a message from the
2077 UI process and calls AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll().
2078 Fixed that function to handle scrolling nodes other than the root, which
2079 required storing a map of ScrollingNodeID->RenderLayer* on RenderLayerCompositor,
2080 accessible through FrameView::scrollableAreaForScrollLayerID().
2083 * page/FrameView.cpp:
2084 (WebCore::FrameView::scrollableAreaForScrollLayerID):
2086 * page/scrolling/AsyncScrollingCoordinator.cpp:
2087 (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): Handle
2088 overflow as well as main frame scrolling nodes.
2089 * page/scrolling/ScrollingTree.cpp:
2090 (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling): Use isScrollingNode().
2091 (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling): When an overflow
2092 scroll node was scrolled externally, we have to update layers in decendant nodes,
2093 and then call scrollingTreeNodeDidScroll() which tells the ScrollingCoordinator that
2095 * page/scrolling/ScrollingTree.h: Try to reduce confusion between the roles played
2096 by these various functions, some of which happen in the UI process with UI-side
2098 * page/scrolling/ScrollingTreeScrollingNode.h:
2099 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h: Need some functions to be
2100 callable by subclasses.
2101 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
2102 (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):
2103 * rendering/RenderLayerCompositor.cpp:
2104 (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): Add
2105 scrolling layers to the m_scrollingNodeToLayerMap
2106 (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): Remove
2107 layer from the m_scrollingNodeToLayerMap.
2108 (WebCore::RenderLayerCompositor::scrollableAreaForScrollLayerID):
2109 * rendering/RenderLayerCompositor.h:
2111 2014-03-31 Antti Koivisto <antti@apple.com>
2113 Rename TileCache to LegacyTileCache
2114 https://bugs.webkit.org/show_bug.cgi?id=130986
2116 Reviewed by Simon Fraser.
2118 Rename iOS WebKit1 tile cache classes to reflect its status.
2119 This also frees some good type names.
2121 TileCache -> LegacyTileCache
2122 TileGrid -> LegacyTileGrid
2123 TileGridTile -> LegacyTileGridTile
2126 2014-03-31 Tim Horton <timothy_horton@apple.com>
2128 Small adjustments to WebCore::IOSurface
2129 https://bugs.webkit.org/show_bug.cgi?id=130981
2131 Reviewed by Simon Fraser.
2134 Export some more things.
2136 * platform/graphics/cocoa/IOSurface.h:
2137 createImage() can't be const because it calls ensurePlatformContext().
2139 * platform/graphics/cocoa/IOSurface.mm:
2140 (IOSurface::createImage):
2141 We should be able to create an image even if the CGContext has been cleared (or never created).
2143 (IOSurface::isInUse):
2144 Rename inUse() to isInUse().
2146 (IOSurface::clearGraphicsContext):
2147 Add clearGraphicsContext().
2149 2014-03-31 Tim Horton <timothy_horton@apple.com>
2151 Allocate IOSurfaces with the same cache mode that CoreAnimation uses
2152 https://bugs.webkit.org/show_bug.cgi?id=130982
2154 Reviewed by Simon Fraser.
2156 * platform/graphics/cocoa/IOSurface.mm:
2157 (IOSurface::IOSurface):
2158 CA uses kIOMapWriteCombineCache for IOSurfaces allocated on iOS.
2160 2014-03-31 Ion Rosca <rosca@adobe.com>
2162 [CSS Blending] Blend mode property is propagated to multiple GraphicLayers
2163 https://bugs.webkit.org/show_bug.cgi?id=130337
2165 Reviewed by Dean Jackson.
2167 Resets the blend mode for graphicsLayer when it has an ancestorClippingLayer.
2169 Test: css3/compositing/blend-mode-ancestor-clipping-layer.html
2171 * rendering/RenderLayer.cpp:
2172 (WebCore::RenderLayer::updateBlendMode):
2173 (WebCore::RenderLayer::calculateClipRects):
2174 * rendering/RenderLayerBacking.cpp:
2175 (WebCore::RenderLayerBacking::updateBlendMode):
2176 * rendering/RenderLayerBacking.h:
2178 2014-03-31 Ion Rosca <rosca@adobe.com>
2180 [CSS Blending] showLayerTree should dump layer's blend mode and isolation properties
2181 https://bugs.webkit.org/show_bug.cgi?id=130922
2183 Reviewed by Simon Fraser.
2185 This change only updates existing tests involving blending. No new test required,
2186 as there is no new or changed functionality.
2188 * rendering/RenderLayer.h: adding blendMode() getter.
2189 * rendering/RenderTreeAsText.cpp:
2191 adding blendMode property and layer's isolation status (does layer isolate blending descendants or not?).
2193 2014-03-31 Benjamin Poulain <benjamin@webkit.org>
2195 CSS JIT: clean up the functions ending when generating a checker with context
2196 https://bugs.webkit.org/show_bug.cgi?id=130959
2198 Reviewed by Andreas Kling.
2200 This code got refactored over time and now both branches do the exact same action
2202 This patch removes the stack split and move the stack cleanup in the common ending
2203 just before restoring the callee saved registers.
2205 * cssjit/SelectorCompiler.cpp:
2206 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
2208 2014-03-31 Beth Dakin <bdakin@apple.com>
2210 ThemeMac should use std::array instead of IntSize* for control sizes
2211 https://bugs.webkit.org/show_bug.cgi?id=130985
2213 Reviewed by Darin Adler.
2215 Replace uses of const IntSize* with const std::array<IntSize, 3>
2216 * platform/mac/ThemeMac.mm:
2217 (WebCore::sizeFromNSControlSize):
2218 (WebCore::sizeFromFont):
2219 (WebCore::controlSizeFromPixelSize):
2220 (WebCore::setControlSize):
2221 (WebCore::checkboxSizes):
2222 (WebCore::radioSizes):
2223 (WebCore::buttonSizes):
2224 (WebCore::setUpButtonCell):
2225 (WebCore::stepperSizes):
2227 2014-03-31 Hans Muller <hmuller@adobe.com>
2229 [CSS Shapes] Simplify RasterShape implementation
2230 https://bugs.webkit.org/show_bug.cgi?id=130916
2232 Reviewed by Dean Jackson.
2234 Since only floats can specify shape-outside, the RasterShapeIntervals
2235 class only needs to track the first and last above threshold pixel column
2236 (x1 and x2 in the implementation) for each row. Removed code for dealing with
2237 multiple "runs" per row as well as shape-inside internals.
2239 No new tests, since functionality was only removed.
2241 * rendering/shapes/RasterShape.cpp:
2242 (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
2243 (WebCore::RasterShapeIntervals::initializeBounds):
2244 (WebCore::RasterShapeIntervals::buildBoundsPath):
2245 (WebCore::RasterShape::getExcludedIntervals):
2246 * rendering/shapes/RasterShape.h:
2247 (WebCore::RasterShapeIntervals::RasterShapeIntervals):
2248 (WebCore::RasterShapeIntervals::intervalAt):
2249 (WebCore::RasterShape::RasterShape):
2250 * rendering/shapes/Shape.cpp:
2251 (WebCore::Shape::createRasterShape):
2252 * rendering/shapes/ShapeInterval.h:
2253 (WebCore::ShapeInterval::unite):
2255 2014-03-31 Andreas Kling <akling@apple.com>
2257 Always inline toJS() for NodeList.
2258 <https://webkit.org/b/130974>
2260 This is a pretty cheesy optimization, but it's a 3% progression on
2261 Dromaeo/dom-query.html on my MBP.
2263 Reviewed by Benjamin Poulain.
2266 * WebCore.xcodeproj/project.pbxproj:
2267 * bindings/js/JSNodeListCustom.h: Added.
2271 2014-03-31 Benjamin Poulain <bpoulain@apple.com>
2273 Attempt to fix the 32bits debug builds
2275 The additional debug flags in RefCounted cause the structure to have different alignment
2276 with the 64bits flags.
2278 * rendering/style/RenderStyle.cpp:
2280 2014-03-29 Simon Fraser <simon.fraser@apple.com>
2282 Clarify some scrolling tree terminology
2283 https://bugs.webkit.org/show_bug.cgi?id=130929
2285 Reviewed by Tim Horton.
2287 Attempt to reduce some ambiguity in scrolling tree terminology.
2288 When async scrolling occurs, there are two tasks we have to perform:
2289 1. Layers need to be updated to reflect the scroll
2290 2. WebCore state has to be updated.
2291 The "updateForViewport" name didn't clearly reflect which of these
2292 tasks was being performed, so rename it to updateLayersAfterViewportChange()
2293 to reflect the fact that it only does the first.
2295 Remove the Mac implementation of updateLayersAfterViewportChange(), since
2296 it was confsued about this, and was never called anyway.
2299 * page/scrolling/ScrollingTree.cpp:
2300 (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):
2301 * page/scrolling/ScrollingTreeScrollingNode.h:
2302 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
2303 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
2304 (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterViewportChange):
2305 (WebCore::ScrollingTreeScrollingNodeIOS::updateForViewport): Deleted.
2306 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
2307 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2308 (WebCore::ScrollingTreeScrollingNodeMac::updateLayersAfterViewportChange):
2309 (WebCore::ScrollingTreeScrollingNodeMac::updateForViewport): Deleted.
2311 2014-03-31 Tim Horton <timothy_horton@apple.com>
2313 [iOS WebKit2] Disable tile cohort retention for now
2314 https://bugs.webkit.org/show_bug.cgi?id=130926
2315 <rdar://problem/16465413>
2317 Reviewed by Simon Fraser.
2320 * page/Settings.cpp:
2321 (WebCore::Settings::Settings):
2322 (WebCore::Settings::setScrollingPerformanceLoggingEnabled):
2323 (WebCore::Settings::setAggressiveTileRetentionEnabled): Deleted.
2325 (WebCore::Settings::aggressiveTileRetentionEnabled): Deleted.
2327 Use Settings.in for these simple settings.
2329 * platform/graphics/GraphicsLayerClient.h:
2330 (WebCore::GraphicsLayerClient::shouldAggressivelyRetainTiles):
2331 (WebCore::GraphicsLayerClient::shouldTemporarilyRetainTileCohorts):
2332 * platform/graphics/TiledBacking.h:
2333 * platform/graphics/ca/GraphicsLayerCA.cpp:
2334 (WebCore::GraphicsLayerCA::platformCALayerShouldAggressivelyRetainTiles):
2335 (WebCore::GraphicsLayerCA::platformCALayerShouldTemporarilyRetainTileCohorts):
2336 * platform/graphics/ca/GraphicsLayerCA.h:
2337 * platform/graphics/ca/PlatformCALayerClient.h:
2338 (WebCore::PlatformCALayerClient::platformCALayerShouldAggressivelyRetainTiles):
2339 (WebCore::PlatformCALayerClient::platformCALayerShouldTemporarilyRetainTileCohorts):
2340 * rendering/RenderLayerBacking.cpp:
2341 (WebCore::RenderLayerBacking::shouldAggressivelyRetainTiles):
2342 (WebCore::RenderLayerBacking::shouldTemporarilyRetainTileCohorts):
2343 * rendering/RenderLayerBacking.h:
2344 Plumb the two tile-retention settings through to TileController in a pull manner
2345 instead of a push manner, as there were some cases (especially on iOS) where
2346 the settings weren't always getting pushed down.
2348 * platform/graphics/ca/mac/TileController.h:
2349 * platform/graphics/ca/mac/TileController.mm:
2350 (WebCore::TileController::TileController):
2351 (WebCore::TileController::tileRevalidationTimerFired):
2352 (WebCore::TileController::revalidateTiles):
2353 (WebCore::TileController::drawTileMapContents):
2354 Aggressive tile retention wins over temporary retention. If we aren't
2355 using temporary (cohort) retention, throw away the cohort as soon as it
2358 2014-03-31 Beth Dakin <bdakin@apple.com>
2360 Radio buttons and checkboxes should share code
2361 https://bugs.webkit.org/show_bug.cgi?id=130915
2363 Reviewed by Sam Weinig.
2365 Radio buttons and checkboxes now share a lot of code. The common term for both is
2368 Move these radio-sizing functions up in the file to be next to the checkbox sizing
2370 * platform/mac/ThemeMac.mm:
2371 (WebCore::radioSizes):
2372 (WebCore::radioMargins):
2373 (WebCore::radioSize):
2375 Configures a radio button or a checkbox.
2376 (WebCore::configureToggleButton):
2378 Creates a radio button or a checkbox.
2379 (WebCore::createToggleButtonCell):
2381 Still have a shared cell for each.
2382 (WebCore::sharedRadioCell):
2383 (WebCore::sharedCheckboxCell):
2385 Does the work of the old paintRadio() and paintCheckbox().
2386 (WebCore::paintToggleButton):
2388 Use sharedRadioCell() here.
2389 (WebCore::ThemeMac::inflateControlPaintRect):
2391 Call paintToggleButton() for radio buttons and checkboxes.
2392 (WebCore::ThemeMac::paint):
2395 (WebCore::configureCheckbox): Deleted.
2396 (WebCore::createCheckboxCell): Deleted.
2397 (WebCore::paintCheckbox): Deleted.
2398 (WebCore::radio): Deleted.
2399 (WebCore::paintRadio): Deleted.
2401 2014-03-31 Samuel White <samuel_white@apple.com>
2403 AX: Need ability to get line range for text marker.
2404 https://bugs.webkit.org/show_bug.cgi?id=130906
2406 Reviewed by Chris Fleizach.
2408 Added ability to get line range from any marker on that line. This matches the functionality of existing
2409 attributes such as AXParagraphTextMarkerRangeForTextMarker and AXSentenceTextMarkerRangeForTextMarker.
2411 Test: platform/mac/accessibility/line-range-for-text-marker.html
2413 * accessibility/AccessibilityObject.cpp:
2414 (WebCore::AccessibilityObject::visiblePositionRangeForRange):
2415 (WebCore::AccessibilityObject::lineRangeForPosition):
2416 * accessibility/AccessibilityObject.h:
2417 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2418 (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2419 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2421 2014-03-31 Anders Carlsson <andersca@apple.com>
2425 * page/ChromeClient.h:
2426 (WebCore::ChromeClient::updateViewportConstrainedLayers):
2428 2014-03-31 Jer Noble <jer.noble@apple.com>
2430 [MSE][Mac] Support lease-renewal.
2431 https://bugs.webkit.org/show_bug.cgi?id=130919
2433 Reviewed by Eric Carlson.
2435 Trigger a new key request when receiving an update message containting "renew".
2437 * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
2438 (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Drive-by fix; generate a UTF-8
2440 (WebCore::CDMSessionMediaSourceAVFObjC::update):
2442 2014-03-31 Alexey Proskuryakov <ap@apple.com>
2444 Remove special handling of soft hyphens in search code
2445 https://bugs.webkit.org/show_bug.cgi?id=130940
2447 Reviewed by Anders Carlsson.
2449 ICU knows to ignore soft hyphens, so we don't need to replace them before searching.
2451 Covered by existing tests.
2453 * editing/TextIterator.cpp:
2454 (WebCore::foldQuoteMark):
2455 (WebCore::foldQuoteMarks):
2456 (WebCore::SearchBuffer::SearchBuffer):
2457 (WebCore::SearchBuffer::append):
2458 (WebCore::foldQuoteMarkOrSoftHyphen): Deleted.
2459 (WebCore::foldQuoteMarksAndSoftHyphens): Deleted.
2461 2014-03-31 Alex Christensen <achristensen@webkit.org>
2463 Preparation for using Soup on Windows.
2464 https://bugs.webkit.org/show_bug.cgi?id=130615
2466 Reviewed by Carlos Garcia Campos.
2468 * WebCore.vcxproj/WebCore.vcxproj:
2469 * WebCore.vcxproj/WebCore.vcxproj.filters:
2470 Added Soup source files in WinCairo build.
2471 * loader/soup/CachedRawResourceSoup.cpp:
2472 * loader/soup/SubresourceLoaderSoup.cpp:
2473 * platform/soup/SharedBufferSoup.cpp:
2474 * platform/soup/URLSoup.cpp:
2475 * platform/network/NetworkStorageSessionStub.cpp:
2476 Only build if USE(SOUP) to prevent building when USE(CURL) is true.
2477 * platform/network/soup/ResourceHandleSoup.cpp:
2478 Only include unistd.h in non-Visual Studio builds.
2479 This would normally be done with a HAVE_UNISTD_H macro when compiling glib and Soup,
2480 but that would need to be left undefined for Visual Studio.
2482 2014-03-31 Zan Dobersek <zdobersek@igalia.com>
2484 Unreviewed. Addressing reviewing comments for r166491 that I forgot
2485 to address before landing.
2487 * html/FormController.cpp:
2488 (WebCore::SavedFormState::deserialize): No need to move the std::unique_ptr
2489 object on the way out.
2490 (WebCore::FormController::createSavedFormStateMap): FormKeyGenerator can be
2491 allocated on the stack.
2492 (WebCore::FormController::formStatesFromStateVector): Use auto.
2494 2014-03-20 Carlos Garcia Campos <cgarcia@igalia.com>
2496 [GTK] Use GMainLoopSource for idle and timeout sources in WebCore
2497 https://bugs.webkit.org/show_bug.cgi?id=130078
2499 Reviewed by Philippe Normand.
2501 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2502 * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
2503 * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
2504 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2505 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2506 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2507 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2508 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2509 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
2510 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2511 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2512 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2513 * platform/gtk/GtkDragAndDropHelper.cpp:
2514 * platform/gtk/SharedTimerGtk.cpp:
2516 2014-03-31 Andrei Bucur <abucur@adobe.com>
2518 Wrong layout while animating content in regions
2519 https://bugs.webkit.org/show_bug.cgi?id=125086
2521 Reviewed by David Hyatt.
2523 The region to layer and regions to layer mappings should be cleared when the region chain changes.
2525 Test: fast/regions/layers/region-removed-during-animation.html
2527 * rendering/RenderFlowThread.cpp:
2528 (WebCore::RenderFlowThread::invalidateRegions): Clear the two maps and flag them for recomputation.
2529 (WebCore::RenderFlowThread::cachedRegionForCompositedLayer): Assert that the returned region exists.
2531 2014-03-31 Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com>
2533 Remove hostThisRegister() and hostThisValue()
2534 https://bugs.webkit.org/show_bug.cgi?id=130895
2536 Reviewed by Geoffrey Garen.
2538 Removed hostThisRegister() and hostThisValue() and instead use thisArgumentOffset() and thisValue() respectively.
2540 No new tests, no behavior changes.
2542 * bindings/js/JSNavigatorCustom.cpp:
2543 (WebCore::JSNavigator::webkitGetUserMedia):
2544 * bindings/js/JSPluginElementFunctions.cpp:
2545 (WebCore::callPlugin):
2546 * bindings/scripts/CodeGeneratorJS.pm:
2547 (GenerateImplementation):
2548 * bindings/scripts/test/JS/JSFloat64Array.cpp:
2549 (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
2550 (WebCore::jsFloat64ArrayPrototypeFunctionSet):
2551 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2552 (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
2553 (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
2554 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2555 (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
2556 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2557 (WebCore::jsTestEventTargetPrototypeFunctionItem):
2558 (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
2559 (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
2560 (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
2561 * bindings/scripts/test/JS/JSTestInterface.cpp:
2562 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
2563 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
2564 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
2565 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
2566 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
2567 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
2568 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2569 (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2570 * bindings/scripts/test/JS/JSTestObj.cpp:
2571 (WebCore::jsTestObjPrototypeFunctionVoidMethod):
2572 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2573 (WebCore::jsTestObjPrototypeFunctionByteMethod):
2574 (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
2575 (WebCore::jsTestObjPrototypeFunctionOctetMethod):
2576 (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
2577 (WebCore::jsTestObjPrototypeFunctionLongMethod):
2578 (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
2579 (WebCore::jsTestObjPrototypeFunctionObjMethod):
2580 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2581 (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
2582 (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
2583 (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
2584 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2585 (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2586 (WebCore::jsTestObjPrototypeFunctionOptionsObject):
2587 (WebCore::jsTestObjPrototypeFunctionMethodWithException):
2588 (WebCore::jsTestObjPrototypeFunctionCustomMethod):
2589 (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
2590 (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2591 (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2592 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
2593 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
2594 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
2595 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
2596 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
2597 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
2598 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
2599 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
2600 (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
2601 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2602 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2603 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2604 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
2605 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
2606 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
2607 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
2608 (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2609 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
2610 (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
2611 (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
2612 (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
2613 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2614 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2615 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2616 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
2617 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
2618 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
2619 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
2620 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
2621 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
2622 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
2623 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
2624 (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
2625 (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
2626 (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
2627 (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
2628 (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
2629 (WebCore::jsTestObjPrototypeFunctionConvert1):
2630 (WebCore::jsTestObjPrototypeFunctionConvert2):
2631 (WebCore::jsTestObjPrototypeFunctionConvert4):
2632 (WebCore::jsTestObjPrototypeFunctionConvert5):
2633 (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
2634 (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
2635 (WebCore::jsTestObjPrototypeFunctionOrange):
2636 (WebCore::jsTestObjPrototypeFunctionStrictFunction):
2637 (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
2638 (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
2639 (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
2640 (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
2641 (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
2642 (WebCore::jsTestObjPrototypeFunctionAny):
2643 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2644 (WebCore::jsTestTypedefsPrototypeFunctionFunc):
2645 (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
2646 (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
2647 (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
2648 (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
2649 (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
2650 (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
2651 (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
2652 (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
2653 (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
2654 * bridge/objc/objc_runtime.mm:
2655 (JSC::Bindings::callObjCFallbackObject):
2656 * bridge/runtime_method.cpp:
2657 (JSC::callRuntimeMethod):
2659 2014-03-31 Zan Dobersek <zdobersek@igalia.com>
2661 Move the rest of Source/WebCore/html/ code to std::unique_ptr
2662 https://bugs.webkit.org/show_bug.cgi?id=129669
2664 Reviewed by Anders Carlsson.
2666 Replace the remaining uses of OwnPtr, PassOwnPtr under Source/WebCore/html/ with std::unique_ptr.
2668 * html/FormController.cpp:
2669 (WebCore::SavedFormState::SavedFormState):
2670 (WebCore::SavedFormState::deserialize):
2671 (WebCore::FormController::createSavedFormStateMap):
2672 (WebCore::FormController::formElementsState):
2673 (WebCore::FormController::takeStateForFormElement):
2674 (WebCore::FormController::formStatesFromStateVector):
2675 * html/FormController.h:
2676 * html/HTMLAreaElement.cpp:
2677 (WebCore::HTMLAreaElement::mapMouseEvent):
2678 * html/HTMLAreaElement.h:
2679 * html/HTMLCanvasElement.cpp:
2680 (WebCore::HTMLCanvasElement::setSurfaceSize):
2681 (WebCore::HTMLCanvasElement::createImageBuffer):
2682 * html/HTMLCanvasElement.h:
2683 * html/HTMLCollection.h:
2684 * html/HTMLEmbedElement.cpp:
2685 (WebCore::HTMLEmbedElement::parseAttribute):
2686 * html/HTMLFormControlElement.cpp:
2687 (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
2688 * html/HTMLFormControlElement.h:
2689 * html/HTMLFormElement.cpp:
2690 (WebCore::HTMLFormElement::addToPastNamesMap):
2691 * html/HTMLFormElement.h:
2692 * html/HTMLInputElement.cpp:
2693 (WebCore::HTMLInputElement::imageLoader):
2694 (WebCore::HTMLInputElement::resetListAttributeTargetObserver):
2695 * html/HTMLInputElement.h:
2696 (WebCore::HTMLInputElement::hasImageLoader):
2697 * html/HTMLObjectElement.cpp:
2698 (WebCore::HTMLObjectElement::parseAttribute):
2699 * html/HTMLPlugInImageElement.cpp:
2700 (WebCore::HTMLPlugInImageElement::startLoadingImage):
2701 * html/HTMLPlugInImageElement.h:
2702 * html/HTMLVideoElement.cpp:
2703 (WebCore::HTMLVideoElement::didAttachRenderers):
2704 (WebCore::HTMLVideoElement::parseAttribute):
2705 * html/HTMLVideoElement.h:
2706 * html/ValidationMessage.cpp:
2707 (WebCore::ValidationMessage::ValidationMessage):
2708 (WebCore::ValidationMessage::setMessage):
2709 (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
2710 (WebCore::ValidationMessage::requestToHideMessage):
2711 * html/ValidationMessage.h:
2713 2014-03-31 Maurice van der Pot <griffon26@kfk4ever.com>
2715 Fix mixed use of booleans in JPEGImageDecoder.cpp
2716 https://bugs.webkit.org/show_bug.cgi?id=122412
2718 Reviewed by Darin Adler.
2720 Trivial fix for compilation error; no new tests.
2722 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2723 (WebCore::JPEGImageReader::decode):
2724 (WebCore::fill_input_buffer):
2725 Use TRUE/FALSE defined by libjpeg for libjpeg booleans
2727 2014-03-23 Zan Dobersek <zdobersek@igalia.com>
2729 Move Source/WebCore/rendering/ code to std::unique_ptr
2730 https://bugs.webkit.org/show_bug.cgi?id=129664
2732 Reviewed by Anders Carlsson.
2734 Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/rendering/ with std::unique_ptr.
2736 * platform/graphics/FloatPolygon.cpp:
2737 (WebCore::FloatPolygon::FloatPolygon):
2738 * platform/graphics/FloatPolygon.h:
2739 * rendering/ClipPathOperation.h:
2740 * rendering/FlowThreadController.cpp:
2741 (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
2742 * rendering/FlowThreadController.h:
2743 * rendering/HitTestLocation.h:
2744 * rendering/HitTestResult.cpp:
2745 (WebCore::HitTestResult::HitTestResult):
2746 (WebCore::HitTestResult::operator=):
2747 (WebCore::HitTestResult::rectBasedTestResult):
2748 (WebCore::HitTestResult::mutableRectBasedTestResult):
2749 * rendering/HitTestResult.h:
2750 * rendering/HitTestingTransformState.cpp:
2751 * rendering/ImageQualityController.h:
2752 * rendering/RenderBlock.cpp:
2753 (WebCore::removeBlockFromDescendantAndContainerMaps):
2754 (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
2755 (WebCore::RenderBlock::addContinuationWithOutline):
2756 (WebCore::RenderBlock::paintContinuationOutlines):
2757 (WebCore::RenderBlock::insertIntoTrackedRendererMaps):
2758 (WebCore::RenderBlock::removeFromTrackedRendererMaps):
2759 (WebCore::RenderBlock::setComputedColumnCountAndWidth):
2760 * rendering/RenderBlock.h:
2761 * rendering/RenderBlockFlow.cpp:
2762 (WebCore::RenderBlockFlow::createFloatingObjects):
2763 * rendering/RenderBlockFlow.h:
2764 * rendering/RenderBoxRegionInfo.h:
2765 * rendering/RenderButton.cpp:
2766 (WebCore::RenderButton::styleDidChange):
2767 * rendering/RenderButton.h:
2768 * rendering/RenderCounter.cpp:
2769 (WebCore::makeCounterNode):
2770 * rendering/RenderFlowThread.cpp:
2771 (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
2772 (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
2773 * rendering/RenderFlowThread.h:
2774 * rendering/RenderGeometryMap.cpp:
2775 (WebCore::RenderGeometryMap::push):
2776 (WebCore::RenderGeometryMap::pushView):
2777 * rendering/RenderGeometryMap.h:
2778 * rendering/RenderGrid.cpp:
2779 (WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
2780 (WebCore::RenderGrid::placeItemsOnGrid):
2781 (WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
2782 (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
2783 (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
2784 (WebCore::RenderGrid::resolveGridPositionsFromStyle):
2785 (WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition):
2786 (WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition):
2787 (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
2788 (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
2789 * rendering/RenderGrid.h:
2790 * rendering/RenderImageResource.h:
2791 * rendering/RenderLayer.cpp:
2792 (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
2793 (WebCore::RenderLayer::updateTransform):
2794 (WebCore::RenderLayer::setupFilters):
2795 (WebCore::RenderLayer::paintLayerContents):
2796 (WebCore::RenderLayer::paintChildLayerIntoColumns):
2797 (WebCore::RenderLayer::hitTestChildLayerColumns):
2798 (WebCore::RenderLayer::updateClipRects):
2799 (WebCore::RenderLayer::calculateClipRects):
2800 * rendering/RenderLayer.h:
2801 (WebCore::RenderLayer::clearZOrderLists):
2802 * rendering/RenderLayerCompositor.cpp:
2803 (WebCore::RenderLayerCompositor::notifyFlushBeforeDisplayRefresh):
2804 (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
2805 * rendering/RenderLayerCompositor.h:
2806 * rendering/RenderLayerFilterInfo.cpp:
2807 (WebCore::RenderLayer::FilterInfo::map):
2808 (WebCore::RenderLayer::FilterInfo::get):
2809 * rendering/RenderLayerFilterInfo.h:
2810 * rendering/RenderRegion.cpp:
2811 (WebCore::RenderRegion::setRenderBoxRegionInfo):
2812 (WebCore::RenderRegion::takeRenderBoxRegionInfo):
2813 * rendering/RenderRegion.h:
2814 * rendering/RenderTable.cpp:
2815 (WebCore::RenderTable::styleDidChange):
2816 * rendering/RenderTable.h:
2817 * rendering/RenderView.cpp:
2818 (WebCore::RenderView::selectionBounds):
2819 (WebCore::RenderView::setSelection):
2820 (WebCore::RenderView::compositor):
2821 (WebCore::RenderView::flowThreadController):
2822 (WebCore::RenderView::imageQualityController):
2823 * rendering/RenderView.h:
2824 * rendering/RootInlineBox.h:
2825 (WebCore::RootInlineBox::appendFloat):
2826 * rendering/TextAutosizer.h:
2827 * rendering/shapes/PolygonShape.cpp:
2828 (WebCore::computeShapePaddingBounds):
2829 (WebCore::computeShapeMarginBounds):
2830 * rendering/shapes/PolygonShape.h:
2831 (WebCore::PolygonShape::PolygonShape):
2832 * rendering/shapes/RasterShape.cpp:
2833 (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
2834 * rendering/shapes/RasterShape.h:
2835 (WebCore::RasterShape::RasterShape):
2836 * rendering/shapes/Shape.cpp:
2837 (WebCore::createInsetShape):
2838 (WebCore::createRectangleShape):
2839 (WebCore::createCircleShape):
2840 (WebCore::createEllipseShape):
2841 (WebCore::createPolygonShape):
2842 (WebCore::Shape::createShape):
2843 (WebCore::Shape::createRasterShape):
2844 (WebCore::Shape::createLayoutBoxShape):
2845 * rendering/shapes/Shape.h:
2846 * rendering/shapes/ShapeInfo.h:
2847 (WebCore::ShapeInfo::markShapeAsDirty):
2848 (WebCore::ShapeInfo::isShapeDirty):
2849 * rendering/shapes/ShapeInsideInfo.h:
2850 * rendering/style/ContentData.h:
2851 * rendering/style/CounterDirectives.cpp:
2853 * rendering/style/CounterDirectives.h:
2854 * rendering/style/GridCoordinate.h:
2855 * rendering/style/RenderStyle.cpp:
2856 (WebCore::RenderStyle::addCachedPseudoStyle):
2857 (WebCore::RenderStyle::accessCounterDirectives):
2858 (WebCore::RenderStyle::accessAnimations):
2859 (WebCore::RenderStyle::accessTransitions):
2860 * rendering/style/RenderStyle.h:
2861 * rendering/style/StyleRareNonInheritedData.cpp:
2862 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2863 * rendering/style/StyleRareNonInheritedData.h:
2864 * rendering/svg/RenderSVGResourceGradient.cpp:
2865 (WebCore::RenderSVGResourceGradient::applyResource):
2866 * rendering/svg/RenderSVGResourceGradient.h:
2867 * rendering/svg/RenderSVGResourcePattern.cpp:
2868 (WebCore::RenderSVGResourcePattern::buildPattern):
2869 * rendering/svg/RenderSVGResourcePattern.h:
2870 * rendering/svg/RenderSVGShape.cpp:
2871 (WebCore::RenderSVGShape::updateShapeFromElement):
2872 * rendering/svg/RenderSVGShape.h:
2873 * rendering/svg/SVGResources.cpp:
2874 (WebCore::SVGResources::setClipper):
2875 (WebCore::SVGResources::setFilter):
2876 (WebCore::SVGResources::setMarkerStart):
2877 (WebCore::SVGResources::setMarkerMid):
2878 (WebCore::SVGResources::setMarkerEnd):
2879 (WebCore::SVGResources::setMasker):
2880 (WebCore::SVGResources::setFill):
2881 (WebCore::SVGResources::setStroke):
2882 * rendering/svg/SVGResources.h:
2883 * rendering/svg/SVGResourcesCache.cpp:
2884 (WebCore::SVGResourcesCache::addResourcesFromRenderer):
2885 (WebCore::SVGResourcesCache::removeResourcesFromRenderer):
2886 * rendering/svg/SVGResourcesCache.h:
2887 * rendering/svg/SVGTextMetricsBuilder.cpp:
2888 (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
2889 * rendering/svg/SVGTextMetricsBuilder.h:
2891 2014-03-28 Sergio Villar Senin <svillar@igalia.com>
2893 Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in loader
2894 https://bugs.webkit.org/show_bug.cgi?id=130893
2896 Reviewed by Darin Adler.
2898 * loader/ImageLoader.cpp:
2899 (WebCore::beforeLoadEventSender):
2900 (WebCore::loadEventSender):
2901 (WebCore::errorEventSender):
2902 * loader/appcache/ApplicationCacheStorage.cpp:
2903 (WebCore::cacheStorage):
2904 * loader/appcache/ApplicationCacheStorage.h:
2905 * loader/archive/ArchiveFactory.cpp:
2906 (WebCore::archiveMIMETypes):
2907 * loader/cache/CachedImage.cpp:
2908 (WebCore::CachedImage::brokenImage):
2909 * loader/cache/CachedRawResource.cpp:
2910 (WebCore::shouldIgnoreHeaderForCacheReuse):
2911 * loader/cache/MemoryCache.cpp:
2912 (WebCore::dummyCachedImageClient):
2914 2014-03-28 Sergio Villar Senin <svillar@igalia.com>
2916 Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in css
2917 https://bugs.webkit.org/show_bug.cgi?id=130409
2919 Reviewed by Darin Adler.
2921 * css/CSSComputedStyleDeclaration.cpp:
2922 (WebCore::logUnimplementedPropertyID):
2923 * css/CSSDefaultStyleSheets.cpp:
2924 (WebCore::screenEval):
2925 (WebCore::printEval):
2926 * css/CSSParser.cpp:
2927 (WebCore::strictCSSParserContext):
2928 * css/CSSPrimitiveValue.cpp:
2929 (WebCore::cssTextCache):
2930 * css/CSSProperty.cpp:
2931 (WebCore::borderDirections):
2932 * css/CSSStyleRule.cpp:
2933 (WebCore::selectorTextCache):
2934 * css/CSSValuePool.cpp:
2935 (WebCore::cssValuePool):
2936 * css/CSSValuePool.h:
2937 * css/DeprecatedStyleBuilder.cpp:
2938 (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
2939 (WebCore::DeprecatedStyleBuilder::sharedStyleBuilder):
2940 * css/DeprecatedStyleBuilder.h:
2942 2014-03-30 Xabier Rodriguez Calvar <calvaris@igalia.com>
2944 [GTK] [TextureMapper] Weird brightness with some videos with acceletared compositing
2945 https://bugs.webkit.org/show_bug.cgi?id=130665
2947 Reviewed by Martin Robinson.
2949 When we uploaded a video texture to the mapper we were not
2950 considering that some videos could be decoded into a format
2951 without alpha component. Now we check if the video has alpha and
2952 if it does not, we remove the alpha flag when retrieving the
2953 texture from the pool. For this, the method to get the texture
2954 from the pool was modified to receive the flags, that is mapped to
2955 have alpha by default in order not to break any other existing
2958 Though we have a problem with AC in WTR and that makes it
2959 currently not testable, no new tests are needed because once this
2960 is fixed the current test set suffices to detect a possible
2963 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2964 (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Check
2965 the video format and decide if the texture shall be pulled with
2966 alpha support or not.
2967 * platform/graphics/texmap/TextureMapper.cpp:
2968 (WebCore::TextureMapper::acquireTextureFromPool): Use the flags
2969 when resetting the texture.
2970 * platform/graphics/texmap/TextureMapper.h:
2971 (WebCore::BitmapTexture::Flag::None): Added with 0x00.
2972 (WebCore::TextureMapper::acquireTextureFromPool): Added flag
2973 parameter to set up the texture with the default for including
2976 2014-03-30 Jinwoo Song <jinwoo7.song@samsung.com>
2978 Adopt range-based for loops to TextCheckerEnchant
2979 https://bugs.webkit.org/show_bug.cgi?id=130714
2981 Reviewed by Darin Adler.
2983 * platform/text/enchant/TextCheckerEnchant.cpp:
2984 (WebCore::TextCheckerEnchant::ignoreWord):
2985 (WebCore::TextCheckerEnchant::learnWord):
2986 (WebCore::TextCheckerEnchant::checkSpellingOfWord):
2987 (WebCore::TextCheckerEnchant::getGuessesForWord):
2988 (WebCore::TextCheckerEnchant::updateSpellCheckingLanguages):
2989 (WebCore::TextCheckerEnchant::loadedSpellCheckingLanguages):
2990 (WebCore::TextCheckerEnchant::availableSpellCheckingLanguages):
2991 (WebCore::TextCheckerEnchant::freeEnchantBrokerDictionaries):
2993 2014-03-30 Benjamin Poulain <benjamin@webkit.org>
2995 Second attempt to fix 32bits build after r166465
2997 * rendering/style/RenderStyle.h:
2998 The compiler probably complain about the return value, that makes more sense.
3000 2014-03-30 Benjamin Poulain <benjamin@webkit.org>
3002 Attempt to fix 32bits build after r166465
3004 * rendering/style/RenderStyle.h:
3006 2014-03-30 Benjamin Poulain <benjamin@webkit.org>
3008 Make RenderStyle's non inherited flags more JSC friendly
3009 https://bugs.webkit.org/show_bug.cgi?id=130939
3011 Reviewed by Andreas Kling.
3013 Make RenderStyle::NonInheritedFlags accessible to the JIT:
3014 -Make the struct public to give access to the offset.
3015 -Move away from a bit field to static offsets we can use
3016 with the MacroAssembler.
3017 -Reorder the field to simplify bit access of the flags we need.
3019 * css/DeprecatedStyleBuilder.cpp:
3020 (WebCore::ApplyPropertyVerticalAlign::createHandler):
3021 (WebCore::ApplyPropertyDisplay::applyInitialValue):
3022 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3023 * css/StyleResolver.cpp:
3024 (WebCore::StyleResolver::adjustRenderStyle):
3025 * rendering/style/RenderStyle.cpp:
3026 (WebCore::RenderStyle::RenderStyle):
3027 (WebCore::RenderStyle::copyNonInheritedFrom):
3028 (WebCore::RenderStyle::hashForTextAutosizing):
3029 (WebCore::RenderStyle::equalForTextAutosizing):
3030 (WebCore::RenderStyle::changeRequiresLayout):
3031 * rendering/style/RenderStyle.h:
3032 (WebCore::RenderStyle::hasAnyPublicPseudoStyles):
3033 (WebCore::RenderStyle::hasPseudoStyle):
3034 (WebCore::RenderStyle::setHasPseudoStyle):
3035 * rendering/style/StyleMultiColData.cpp:
3036 (WebCore::StyleMultiColData::StyleMultiColData):
3037 * rendering/style/StyleRareNonInheritedData.cpp:
3038 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3040 2014-03-30 David Kilzer <ddkilzer@apple.com>
3042 [iOS] Fix build of HTMLConverter.mm after r166454
3044 Fixes the following build failures:
3046 WebCore/editing/cocoa/HTMLConverter.mm:1507:13: error: value of type 'WebCore::Element' is not contextually convertible to 'bool'
3049 WebCore/editing/cocoa/HTMLConverter.mm:1508:49: error: no matching function for call to 'core'
3050 _caches->floatPropertyValueForNode(*core(element), CSSPropertyVerticalAlign, verticalAlign);
3052 In file included from WebCore/editing/cocoa/HTMLConverter.mm:41:
3053 In file included from WebCore/page/Frame.h:42:
3054 In file included from WebCore/editing/VisibleSelection.h:30:
3055 In file included from WebCore/editing/VisiblePosition.h:30:
3056 In file included from WebCore/dom/Position.h:31:
3057 WebCore/editing/TextAffinity.h:54:27: note: candidate function not viable: no known conversion from 'WebCore::Element' to 'NSSelectionAffinity' (aka '_NSSelectionAffinity') for 1st argument
3058 inline WebCore::EAffinity core(NSSelectionAffinity affinity)
3060 WebCore/editing/cocoa/HTMLConverter.mm:1509:81: error: reference to non-static member function must be called; did you mean to call it with no arguments?
3061 attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
3062 ~~~~~~~~^~~~~~~~~~~~
3064 WebCore/editing/cocoa/HTMLConverter.mm:1509:103: error: reference to non-static member function must be called; did you mean to call it with no arguments?
3065 attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
3068 WebCore/editing/cocoa/HTMLConverter.mm:1509:124: error: reference to non-static member function must be called; did you mean to call it with no arguments?
3069 attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
3070 ~~~~~~~~^~~~~~~~~~~~
3074 * editing/cocoa/HTMLConverter.mm:
3075 (HTMLConverter::_addAttachmentForElement):
3077 2014-03-30 Andreas Kling <akling@apple.com>
3079 Make NodeList and HTMLCollection caching helpers use PassRef.
3080 <https://webkit.org/b/130943>
3082 Tweak the helpers in NodeListsNodeData to return PassRef instead of
3083 PassRefPtr. This knocks 2 branches off of some pretty hot code on
3086 Reviewed by Antti Koivisto.
3088 * dom/ChildNodeList.h:
3089 * dom/ClassNodeList.h:
3090 * dom/NameNodeList.h:
3091 * dom/NodeRareData.h:
3092 (WebCore::NodeListsNodeData::ensureChildNodeList):
3093 (WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
3094 (WebCore::NodeListsNodeData::addCacheWithAtomicName):
3095 (WebCore::NodeListsNodeData::addCacheWithName):
3096 (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
3097 (WebCore::NodeListsNodeData::addCachedCollection):
3098 * dom/TagNodeList.h:
3099 * html/HTMLCollection.cpp:
3100 (WebCore::HTMLCollection::create):
3101 * html/HTMLCollection.h:
3102 * html/HTMLFormControlsCollection.cpp:
3103 (WebCore::HTMLFormControlsCollection::create):
3104 * html/HTMLFormControlsCollection.h:
3105 * html/RadioNodeList.h:
3107 2014-03-29 Antti Koivisto <antti@apple.com>
3109 LiveNodeLists should use ElementDescendantIterator
3110 https://bugs.webkit.org/show_bug.cgi?id=130931
3112 Reviewed by Andreas Kling.
3114 Make LiveNodeList traversal use the common DOM tree iterator.
3116 * dom/ChildNodeList.cpp:
3117 (WebCore::ChildNodeList::ChildNodeList):
3118 (WebCore::ChildNodeList::collectionBegin):
3119 (WebCore::ChildNodeList::collectionTraverseForward):
3120 (WebCore::ChildNodeList::collectionTraverseBackward):
3121 (WebCore::ChildNodeList::invalidateCache):
3122 (WebCore::ChildNodeList::collectionFirst): Deleted.
3124 Iterator for ChildNodeList is still just Node*.
3126 * dom/ChildNodeList.h:
3127 * dom/CollectionIndexCache.h:
3128 (WebCore::CollectionIndexCache::hasValidCache):
3129 (WebCore::Iterator>::CollectionIndexCache):
3130 (WebCore::Iterator>::nodeCount):
3131 (WebCore::Iterator>::computeNodeCountUpdatingListCache):
3132 (WebCore::Iterator>::traverseBackwardTo):
3133 (WebCore::Iterator>::traverseForwardTo):
3134 (WebCore::Iterator>::nodeAt):
3135 (WebCore::Iterator>::invalidate):
3137 Make CollectionIndexCache iterator based instead of using NodeType*. The iterator type may
3138 still be a Node* though.
3140 (WebCore::NodeType>::CollectionIndexCache): Deleted.
3141 (WebCore::NodeType>::nodeCount): Deleted.
3142 (WebCore::NodeType>::computeNodeCountUpdatingListCache): Deleted.
3143 (WebCore::NodeType>::nodeBeforeCached): Deleted.
3144 (WebCore::NodeType>::nodeAfterCached): Deleted.
3145 (WebCore::NodeType>::nodeAt): Deleted.
3146 (WebCore::NodeType>::invalidate): Deleted.
3147 * dom/ElementDescendantIterator.h:
3148 (WebCore::ElementDescendantIterator::operator--):
3150 Add backward iteration support.
3152 (WebCore::ElementDescendantIteratorAdapter::last):
3153 (WebCore::ElementDescendantConstIteratorAdapter::last):
3155 Add a way to get the last item.
3156 Provide std::iterator_traits so we can extract the type.
3158 * dom/LiveNodeList.h:
3159 (WebCore::CachedLiveNodeList::collectionEnd):
3160 (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
3161 (WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
3162 (WebCore::CachedLiveNodeList<NodeListType>::collectionBegin):
3163 (WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
3164 (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
3165 (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
3166 (WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
3167 (WebCore::CachedLiveNodeList<NodeListType>::collectionFirst): Deleted.
3169 Make LiveNodeList traversal use ElementDescendantIterator.
3171 (WebCore::nextMatchingElement): Deleted.
3172 (WebCore::previousMatchingElement): Deleted.
3173 * html/HTMLCollection.cpp:
3174 (WebCore::HTMLCollection::HTMLCollection):
3175 (WebCore::HTMLCollection::~HTMLCollection):
3176 (WebCore::HTMLCollection::collectionBegin):
3177 (WebCore::HTMLCollection::collectionTraverseForward):
3178 (WebCore::HTMLCollection::collectionTraverseBackward):
3179 (WebCore::HTMLCollection::invalidateCache):
3180 (WebCore::HTMLCollection::collectionFirst): Deleted.
3181 * html/HTMLCollection.h:
3182 (WebCore::HTMLCollection::collectionEnd):
3184 HTMLCollection still uses Element* as iterator for now.
3186 2014-03-29 Commit Queue <commit-queue@webkit.org>
3188 Unreviewed, rolling out r166434.
3189 https://bugs.webkit.org/show_bug.cgi?id=130938
3191 Caused crashes and other failures on cache tests (Requested by
3196 "Web Replay: add page-level setting to bypass the MemoryCache"
3197 https://bugs.webkit.org/show_bug.cgi?id=130728
3198 http://trac.webkit.org/changeset/166434
3200 2014-03-29 David Kilzer <ddkilzer@apple.com>
3202 Preserve selection end positions in directionOfSelection
3203 <http://webkit.org/b/104813>
3204 <rdar://problem/13666417>
3206 Reviewed by Brent Fulgham.
3208 Merged from Blink (patch by kenrb@chromium.org):
3209 https://src.chromium.org/viewvc/blink?revision=150621&view=revision
3210 http://crbug.com/164263
3212 VisibleSelection::visibleStart() and VisibleSelection::visibleEnd()
3213 can both cause layouts, which has the potential to invalidate any
3214 rendertree-based objects. This was causing a problem in
3215 FrameSelection::directionOfSelection(), where a reference to a
3216 lineBox was being held across a call to visibleEnd().
3218 This patch ensures that the any layout is completed before linebox
3219 references are retrieved.
3221 Test: editing/selection/layout-during-move-selection-crash.html
3223 * editing/FrameSelection.cpp:
3224 (WebCore::FrameSelection::directionOfSelection):
3226 2014-03-29 Zalan Bujtas <zalan@apple.com>
3228 Subpixel rendering: Simple line layout should not round to integral position while painting.
3229 https://bugs.webkit.org/show_bug.cgi?id=130934
3231 Reviewed by Simon Fraser.
3233 Remove rounding to integral position. When RenderLayer is injected and hides subpixel positions,
3234 integral rounding produces different paint position.
3236 Test: fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition.html
3238 * rendering/SimpleLineLayoutFunctions.cpp:
3239 (WebCore::SimpleLineLayout::paintFlow):
3241 2014-03-29 Zalan Bujtas <zalan@apple.com>
3243 Subpixel rendering: Make GraphicsContext::drawImageBuffer* functions float based.
3244 https://bugs.webkit.org/show_bug.cgi?id=130932
3246 Reviewed by Simon Fraser.
3248 This is in preparation to support device pixel based filter painting.
3249 Filter calculation is still integral based.
3251 No change in behavior.
3253 * platform/graphics/GraphicsContext.cpp:
3254 (WebCore::GraphicsContext::drawImageBuffer):
3255 * platform/graphics/GraphicsContext.h:
3256 * platform/graphics/filters/FilterEffect.cpp: This will eventually be fully float based.
3257 Right now, this IntRect->FloatRect change is only to ensure that we can call
3258 the float based drawImageBuffer().
3259 (WebCore::FilterEffect::drawingRegionOfInputImage):
3260 * platform/graphics/filters/FilterEffect.h:
3262 2014-03-27 Sam Weinig <sam@webkit.org>
3264 Convert yet more of HTMLConverter to C++
3265 https://bugs.webkit.org/show_bug.cgi?id=130850
3267 Reviewed by Anders Carlsson.
3269 * editing/cocoa/HTMLConverter.mm:
3270 (HTMLConverterCaches::isAncestorsOfStartToBeConverted):
3271 (HTMLConverter::HTMLConverter):
3272 (HTMLConverter::~HTMLConverter):
3273 (HTMLConverter::convert):
3274 (HTMLConverter::computedAttributesForElement):
3275 (HTMLConverter::attributesForElement):
3276 (HTMLConverter::_newParagraphForElement):
3277 (HTMLConverter::_newLineForElement):
3278 (HTMLConverter::_newTabForElement):
3279 (HTMLConverter::_addAttachmentForElement):
3280 (HTMLConverter::_addQuoteForElement):
3281 (HTMLConverter::_addValue):
3282 (HTMLConverter::_processHeadElement):
3283 (HTMLConverter::_enterElement):
3284 (HTMLConverter::_addTableCellForElement):
3285 (HTMLConverter::_processElement):
3286 (HTMLConverter::_addMarkersToList):
3287 (HTMLConverter::_exitElement):
3288 (HTMLConverter::_processText):
3289 (HTMLConverter::_traverseNode):
3290 (HTMLConverter::_traverseFooterNode):
3291 (WebCore::attributedStringFromRange):
3292 (_childrenForNode): Deleted.
3293 (HTMLConverter::_computedAttributesForElement): Deleted.
3294 (HTMLConverter::_attributesForElement): Deleted.
3295 (HTMLConverter::_loadFromDOMRange): Deleted.
3297 2014-03-28 Csaba Osztrogonác <ossy@webkit.org>
3299 Unreviewed buildfix after r166441 and r166443.
3301 * CMakeLists.txt: Add platform/audio/AudioHardwareListener.cpp.
3303 2014-03-28 Javier Fernandez <jfernandez@igalia.com>
3305 [CSS Grid Layout] The 'auto' height must be adapted to the item's margin.
3306 https://bugs.webkit.org/show_bug.cgi?id=130920
3308 Reviewed by Darin Adler.
3310 Adding the grid-item's marginLogicalHeight to the used breadth when computing
3311 content based grid-track sizes.
3313 Test: fast/css-grid-layout/grid-item-margin-auto-columns-rows.html
3315 * rendering/RenderGrid.cpp:
3316 (WebCore::RenderGrid::logicalContentHeightForChild):
3318 2014-03-28 James Craig <jcraig@apple.com>
3320 Web Inspector: AXI: support for live regions
3321 https://bugs.webkit.org/show_bug.cgi?id=130725
3323 Reviewed by Timothy Hatcher.
3325 Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3326 inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html
3328 Initial support for @aria-live, @aria-atomic, and @aria-busy.
3330 * inspector/InspectorDOMAgent.cpp:
3331 (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
3332 * inspector/protocol/DOM.json:
3334 2014-03-28 Darin Adler <darin@apple.com>
3336 Fix recently-introduced off-by-one error in centerTruncateToBuffer
3337 https://bugs.webkit.org/show_bug.cgi?id=130889
3338 <rdar://problem/16408694>
3340 Reviewed by Alexey Proskuryakov.
3342 * platform/graphics/StringTruncator.cpp:
3343 (WebCore::centerTruncateToBuffer): Simplified expression that computes truncatedLength.
3344 Removed incorrect "+ 1" from computation of where to write characters.
3346 2014-03-28 Benjamin Poulain <bpoulain@apple.com>
3348 Update the code related to SelectorPseudoTypeMap to reflect its new purpose
3349 https://bugs.webkit.org/show_bug.cgi?id=130620
3351 Reviewed by Andreas Kling.
3353 Since r166094, SelectorPseudoTypeMap only contains PseudoClass instances and the 4 compatibility PseudoElement.
3355 This patch rename SelectorPseudoTypeMap to SelectorPseudoClassAndCompatibilityElementMap and update the parsing
3356 to split PseudoClass and PseudoElement.
3359 * DerivedSources.make:
3360 * WebCore.xcodeproj/project.pbxproj:
3361 * css/CSSGrammar.y.in:
3362 * css/CSSParserValues.cpp:
3363 (WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):
3364 (WebCore::CSSParserSelector::setPseudoClassValue):
3365 * css/CSSParserValues.h:
3366 * css/CSSSelector.cpp:
3367 (WebCore::appendPseudoClassFunctionTail):
3368 (WebCore::CSSSelector::selectorText):
3369 * css/SelectorPseudoClassAndCompatibilityElementMap.in: Renamed from Source/WebCore/css/SelectorPseudoTypeMap.in.
3370 * css/SelectorPseudoTypeMap.h:
3371 * css/makeSelectorPseudoClassAndCompatibilityElementMap.py: Renamed from Source/WebCore/css/makeSelectorPseudoTypeMap.py.
3372 (enumerablePseudoType):
3373 (expand_ifdef_condition):
3375 2014-03-28 Stephanie Lewis <slewis@apple.com>
3377 Unreviewed build fix.
3379 * platform/audio/AudioHardwareListener.cpp:
3380 (WebCore::AudioHardwareListener::create):
3381 (WebCore::AudioHardwareListener::audioHardwareListenerIsSupported): Deleted.
3382 * platform/audio/AudioHardwareListener.h:
3384 2014-03-28 Lukasz Bialek <l.bialek@samsung.com>
3386 Refactor cut and copy functions as suggested in FIXME line
3387 https://bugs.webkit.org/show_bug.cgi?id=129867
3389 Reviewed by Darin Adler.
3391 Cut and Copy functions in Editor.cpp use lots of common code.
3392 Those functions are merged into one to share code, several
3393 additional conditions are added to preserve Cut and Copy
3396 * editing/Editor.cpp:
3397 (WebCore::Editor::cut):
3398 (WebCore::Editor::copy):
3399 (WebCore::Editor::performCutOrCopy):
3402 2014-03-28 Stephanie Lewis <slewis@apple.com>
3404 Rename pluginDidEvaluate to better represent when it’s called.
3405 Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.
3407 Reviewed by Anders Carlsson.
3409 No new test because it’s just a name change.
3411 * page/PageThrottler.h:
3412 (WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):
3414 2014-03-28 Stephanie Lewis <slewis@apple.com>
3416 Notification handler for telling if audio hardware is active.
3417 https://bugs.webkit.org/show_bug.cgi?id=130743
3419 Reviewed by Jer Noble.
3421 Not web-exposed so no easy way to test.
3423 Listen to CoreAudio to see if audio hardware is active in the current process.
3426 * WebCore.xcodeproj/project.pbxproj:
3427 * platform/audio/AudioHardwareListener.cpp: Added.
3428 (WebCore::AudioHardwareListener::create):
3429 (WebCore::AudioHardwareListener::AudioHardwareListener):
3430 * platform/audio/AudioHardwareListener.h: Added.
3431 (WebCore::AudioHardwareListener::Client::~Client):
3432 (WebCore::AudioHardwareListener::~AudioHardwareListener):
3433 (WebCore::AudioHardwareListener::isHardwareActive):
3434 * platform/audio/mac/AudioHardwareListenerMac.cpp: Added.
3435 (WebCore::isAudioHardwareProcessRunning):
3436 (WebCore::AudioHardwareListener::create):
3437 (WebCore::AudioHardwareListenerMac::create):
3438 (WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):
3439 (WebCore::AudioHardwareListenerMac::~AudioHardwareListenerMac):