1 2014-04-29 Simon Fraser <simon.fraser@apple.com>
3 Remove Settings::compositedScrollingForFramesEnabled
4 https://bugs.webkit.org/show_bug.cgi?id=132352
6 Reviewed by Andreas Kling.
8 The usesCompositedScrolling setting was only used by Chromium, so
9 remove it and associated code.
12 (WebCore::FrameView::usesCompositedScrolling): Deleted.
15 * rendering/RenderLayerCompositor.cpp:
16 (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
18 2014-04-29 Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com>
20 Move removeEquivalentProperties functions to EditingStyle
21 https://bugs.webkit.org/show_bug.cgi?id=131093
23 Reviewed by Darin Adler.
25 Moved the removeEquivalentProperties functions
26 from StyleProperties to EditingStyle class.
28 * css/StyleProperties.cpp:
29 (WebCore::MutableStyleProperties::removeEquivalentProperties): Deleted.
30 * css/StyleProperties.h:
31 * editing/EditingStyle.cpp:
32 (WebCore::EditingStyle::removeStyleAddedByNode):
33 (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
34 (WebCore::EditingStyle::prepareToApplyAt):
35 (WebCore::EditingStyle::removeEquivalentProperties):
36 (WebCore::extractPropertiesNotIn):
37 * editing/EditingStyle.h:
39 2014-04-29 David Hyatt <hyatt@apple.com>
41 [New Multicolumn] Implement support for compositing
42 https://bugs.webkit.org/show_bug.cgi?id=132298
44 Reviewed by Simon Fraser.
46 * rendering/RenderLayer.cpp:
47 (WebCore::accumulateOffsetTowardsAncestor):
48 Add in a case for the new columns that calls into the multi-column flow thread
49 to get an offset to adjust by.
51 * rendering/RenderLayerBacking.cpp:
52 (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
53 Make sure this code only runs for named flow threads.
55 * rendering/RenderLayerCompositor.cpp:
56 (WebCore::RenderLayerCompositor::canBeComposited):
57 Turn on compositing support for in-flow RenderFlowThreads instead of always returning
60 * rendering/RenderMultiColumnFlowThread.cpp:
61 (WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion):
62 Changed this function to fix a couple of bugs exposed by compositing/columns tests. Its
63 end goal is the same, but the approach is improved.
65 * rendering/RenderMultiColumnSet.cpp:
66 (WebCore::RenderMultiColumnSet::endFlow):
67 Don't pad out to a multiple of column height. You can't flip around a flow thread
68 to get back to accurate physical coordinates if bogus padding is introduced. This
69 seemed to have no effect on any layout tests when removed, so I don't think it
70 was really serving any useful purpose.
72 (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
73 Don't factor in the overall flow thread portion, since this is handled by the callers
76 (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
77 * rendering/RenderMultiColumnSet.h:
78 Change this function to be ASSERT_NOT_REACHED(), since we want to know if someone calls
79 it. It only runs for named flow thread compositing code, so it would be a mistake if
80 this ever gets invoked.
82 2014-04-29 Mark Hahnenberg <mhahnenberg@apple.com>
84 JSProxies should be cacheable
85 https://bugs.webkit.org/show_bug.cgi?id=132351
87 Reviewed by Geoffrey Garen.
91 Whenever we encounter a proxy in an inline cache we should try to cache on the
92 proxy's target instead of giving up.
94 This patch adds support for a simple "recursive" inline cache if the base object
95 we're accessing is a pure forwarding proxy. JSGlobalObject and its subclasses
96 are the only ones to benefit from this right now.
98 This is performance neutral on the benchmarks we track. Currently we won't
99 cache on JSDOMWindow due to HasImpureGetOwnPropertySlot, but this issue will be fixed soon.
101 * bindings/js/JSDOMWindowShell.h:
102 (WebCore::JSDOMWindowShell::createStructure):
104 2014-04-29 Brent Fulgham <bfulgham@apple.com>
106 [Mac, iOS] Support caption activation via JS webkitHasClosedCaptions method
107 https://bugs.webkit.org/show_bug.cgi?id=132320
109 Reviewed by Eric Carlson.
111 * Modules/mediacontrols/mediaControlsApple.css:
112 (video::-webkit-media-text-track-container .hidden): Added.
113 * html/HTMLMediaElement.cpp:
114 (WebCore::HTMLMediaElement::configureTextTrackGroup): Added call to
115 new 'updateCaptionsContainer'.
116 (WebCore::HTMLMediaElement::updateCaptionContainer): Added.
117 * html/HTMLMediaElement.h:
118 * html/shadow/MediaControlElements.cpp:
119 (WebCore::MediaControlTextTrackContainerElement::hide): Use CSS class .hidden instead of
120 hard-coded "display:none".
121 (WebCore::MediaControlTextTrackContainerElement::show): Ditto.
122 * html/shadow/MediaControlElements.h:
124 2014-04-28 Roger Fong <roger_fong@apple.com>
126 Plugins hidden by images should autoplay.
127 https://bugs.webkit.org/show_bug.cgi?id=132222.
128 <rdar://problem/16653536>
130 Reviewed by Jon Lee and Darin Adler.
132 * WebCore.exp.in: Add exports needed by WK2.
134 2014-04-29 Filip Pizlo <fpizlo@apple.com>
136 Use LLVM as a backend for the fourth-tier DFG JIT (a.k.a. the FTL JIT)
137 https://bugs.webkit.org/show_bug.cgi?id=112840
139 Rubber stamped by Geoffrey Garen.
141 It already has a lot of tests.
143 * Configurations/FeatureDefines.xcconfig:
145 2014-04-29 Brady Eidson <beidson@apple.com>
147 Change Image Controls replacement to use selection and paste
148 <rdar://problem/16302722> and https://bugs.webkit.org/show_bug.cgi?id=131992
150 Reviewed by Tim Horton.
152 * WebCore.exp.in: Remove deleted symbol.
154 * html/shadow/mac/ImageControlsButtonElementMac.cpp:
155 (WebCore::ImageControlsButtonElementMac::defaultEventHandler):
157 * page/ContextMenuController.cpp:
158 (WebCore::ContextMenuController::showImageControlsMenu): Select the image element
159 before showing the menu.
160 (WebCore::ContextMenuController::replaceControlledImage): Deleted.
161 * page/ContextMenuController.h:
163 2014-04-29 Jer Noble <jer.noble@apple.com>
165 [iOS] Remove workaround for <rdar://problem/16578727>.
166 https://bugs.webkit.org/show_bug.cgi?id=132338
168 Reviewed by Darin Adler.
170 Now that <rdar://problem/16578727> is fixed, remove the workaround by replacing the
171 call to -_updatePlaybackControlsViewController with one to -layoutIfNeeded.
173 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
174 (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
176 2014-04-29 Zan Dobersek <zdobersek@igalia.com>
178 ScriptExecutionContext::Task should work well with C++11 lambdas
179 https://bugs.webkit.org/show_bug.cgi?id=129795
181 Reviewed by Darin Adler.
183 Instead of having classes that subclass ScriptExecutionContext::Task and override
184 the performTask(ScriptExecutionContext*) method, have the ScriptExecutionContext::Task
185 take in a std::function<void (ScriptExecutionContext*)>-like object trough the constructor
186 which would contain the code currently kept in the performTask() methods.
188 This enables inlining C++11 lambdas into ScriptExecutionContext::postTask() calls. For
189 cleanup tasks, the Task object can be implicitly constructed by using the initializer list
190 constructor with the first argument being the ScriptExecutionContext::Task::CleanupTask tag.
191 The ScriptExecutionContext class remains non-copyable and now stores the passed-in invokable
192 object in the std::function wrapper, along with a boolean member that indicates whether the
193 task is of cleanup nature.
195 * Modules/quota/StorageErrorCallback.cpp:
196 (WebCore::StorageErrorCallback::CallbackTask::CallbackTask):
197 (WebCore::StorageErrorCallback::CallbackTask::performTask): Deleted.
198 * Modules/quota/StorageErrorCallback.h:
199 (WebCore::StorageErrorCallback::CallbackTask::create): Deleted.
200 * Modules/webdatabase/Database.cpp:
201 (WebCore::Database::~Database):
202 (WebCore::Database::runTransaction):
203 (WebCore::Database::scheduleTransactionCallback):
204 (WebCore::DerefContextTask::create): Deleted.
205 (WebCore::DerefContextTask::performTask): Deleted.
206 (WebCore::DerefContextTask::isCleanupTask): Deleted.
207 (WebCore::DerefContextTask::DerefContextTask): Deleted.
208 (WebCore::callTransactionErrorCallback): Deleted.
209 (WebCore::DeliverPendingCallbackTask::create): Deleted.
210 (WebCore::DeliverPendingCallbackTask::performTask): Deleted.
211 (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask): Deleted.
212 * Modules/webdatabase/DatabaseManager.cpp:
213 (WebCore::DatabaseManager::openDatabase):
214 (WebCore::DatabaseCreationCallbackTask::create): Deleted.
215 (WebCore::DatabaseCreationCallbackTask::performTask): Deleted.
216 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): Deleted.
217 * Modules/webdatabase/DatabaseSync.cpp:
218 (WebCore::CloseSyncDatabaseOnContextThreadTask::create): Deleted.
219 (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask): Deleted.
220 (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask): Deleted.
221 * Modules/webdatabase/SQLCallbackWrapper.h:
222 (WebCore::SQLCallbackWrapper::clear):
223 (WebCore::SQLCallbackWrapper::SafeReleaseTask::create): Deleted.
224 (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask): Deleted.
225 (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask): Deleted.
226 (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask): Deleted.
227 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
228 (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
229 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
230 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
231 (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
232 (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
233 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
234 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
235 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
236 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
237 * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
238 (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
239 (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
240 (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
241 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create): Deleted.
242 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask): Deleted.
243 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask): Deleted.
244 * Modules/websockets/WorkerThreadableWebSocketChannel.h:
245 * bindings/js/JSCallbackData.h:
246 (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
247 (WebCore::DeleteCallbackDataTask::create): Deleted.
248 (WebCore::DeleteCallbackDataTask::performTask): Deleted.
249 (WebCore::DeleteCallbackDataTask::isCleanupTask): Deleted.
250 * bindings/js/JSDOMGlobalObjectTask.cpp:
251 (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
252 (WebCore::JSGlobalObjectTask::~JSGlobalObjectTask): Deleted.
253 (WebCore::JSGlobalObjectTask::performTask): Deleted.
254 * bindings/js/JSDOMGlobalObjectTask.h:
255 * bindings/js/JSDOMWindowBase.cpp:
256 (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
257 * bindings/js/JSWorkerGlobalScopeBase.cpp:
258 (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
259 * bindings/scripts/CodeGeneratorJS.pm:
260 * bindings/scripts/test/JS/JSTestCallback.cpp:
261 (WebCore::JSTestCallback::~JSTestCallback):
262 (GenerateCallbackImplementation):
263 * dom/CrossThreadTask.h:
264 (WebCore::CrossThreadTask1::performTask):
265 (WebCore::CrossThreadTask2::performTask):
266 (WebCore::CrossThreadTask3::performTask):
267 (WebCore::CrossThreadTask4::performTask):
268 (WebCore::CrossThreadTask5::performTask):
269 (WebCore::CrossThreadTask6::performTask):
270 (WebCore::CrossThreadTask7::performTask):
271 (WebCore::CrossThreadTask8::performTask):
272 (WebCore::createCallbackTask):
273 (WebCore::CrossThreadTask1::create): Deleted.
274 (WebCore::CrossThreadTask2::create): Deleted.
275 (WebCore::CrossThreadTask3::create): Deleted.
276 (WebCore::CrossThreadTask4::create): Deleted.
277 (WebCore::CrossThreadTask5::create): Deleted.
278 (WebCore::CrossThreadTask6::create): Deleted.
279 (WebCore::CrossThreadTask7::create): Deleted.
280 (WebCore::CrossThreadTask8::create): Deleted.
282 (WebCore::Document::addConsoleMessage):
283 (WebCore::Document::addMessage):
284 (WebCore::Document::postTask):
285 (WebCore::Document::pendingTasksTimerFired):
286 (WebCore::PerformTaskContext::PerformTaskContext): Deleted.
287 (WebCore::Document::didReceiveTask): Deleted.
289 * dom/ScriptExecutionContext.cpp:
290 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
291 (WebCore::ScriptExecutionContext::timerAlignmentInterval):
292 (WebCore::ProcessMessagesSoonTask::create): Deleted.
293 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask): Deleted.
294 (WebCore::ScriptExecutionContext::Task::~Task): Deleted.
295 * dom/ScriptExecutionContext.h:
296 (WebCore::ScriptExecutionContext::Task::Task):
297 (WebCore::ScriptExecutionContext::Task::performTask):
298 (WebCore::ScriptExecutionContext::Task::isCleanupTask):
299 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
300 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create): Deleted.
301 * dom/StringCallback.cpp:
302 (WebCore::StringCallback::scheduleCallback):
303 * loader/appcache/ApplicationCacheGroup.cpp:
304 (WebCore::ApplicationCacheGroup::postListenerTask):
305 (WebCore::CallCacheListenerTask::create): Deleted.
306 (WebCore::CallCacheListenerTask::CallCacheListenerTask): Deleted.
307 * workers/DefaultSharedWorkerRepository.cpp:
308 (WebCore::SharedWorkerProxy::postTaskToLoader):
309 (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
310 (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
311 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
312 (WebCore::DefaultSharedWorkerRepository::connectToWorker):
313 (WebCore::SharedWorkerConnectTask::create): Deleted.
314 (WebCore::SharedWorkerConnectTask::performTask): Deleted.
315 * workers/WorkerEventQueue.cpp:
316 (WebCore::WorkerEventQueue::EventDispatcher::EventDispatcher):
317 (WebCore::WorkerEventQueue::EventDispatcher::~EventDispatcher):
318 (WebCore::WorkerEventQueue::EventDispatcher::dispatch):
319 (WebCore::WorkerEventQueue::enqueueEvent):
320 (WebCore::WorkerEventQueue::cancelEvent):
321 (WebCore::WorkerEventQueue::close):
322 * workers/WorkerEventQueue.h:
323 * workers/WorkerGlobalScope.cpp:
324 (WebCore::WorkerGlobalScope::close):
325 (WebCore::WorkerGlobalScope::postTask):
326 (WebCore::WorkerGlobalScope::addConsoleMessage):
327 (WebCore::WorkerGlobalScope::addMessage):
328 (WebCore::CloseWorkerGlobalScopeTask::create): Deleted.
329 (WebCore::CloseWorkerGlobalScopeTask::performTask): Deleted.
330 (WebCore::CloseWorkerGlobalScopeTask::isCleanupTask): Deleted.
331 * workers/WorkerGlobalScope.h:
332 * workers/WorkerLoaderProxy.h:
333 * workers/WorkerMessagingProxy.cpp:
334 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
335 (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
336 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
337 (WebCore::WorkerMessagingProxy::postTaskToLoader):
338 (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
339 (WebCore::WorkerMessagingProxy::workerThreadCreated):
340 (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
341 (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
342 (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
343 (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
344 (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
345 (WebCore::WorkerMessagingProxy::reportPendingActivity):
346 (WebCore::MessageWorkerGlobalScopeTask::create): Deleted.
347 (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask): Deleted.
348 (WebCore::MessageWorkerGlobalScopeTask::performTask): Deleted.
349 (WebCore::MessageWorkerTask::create): Deleted.
350 (WebCore::MessageWorkerTask::MessageWorkerTask): Deleted.
351 (WebCore::MessageWorkerTask::performTask): Deleted.
352 (WebCore::WorkerExceptionTask::create): Deleted.
353 (WebCore::WorkerExceptionTask::WorkerExceptionTask): Deleted.
354 (WebCore::WorkerExceptionTask::performTask): Deleted.
355 (WebCore::WorkerGlobalScopeDestroyedTask::create): Deleted.
356 (WebCore::WorkerGlobalScopeDestroyedTask::WorkerGlobalScopeDestroyedTask): Deleted.
357 (WebCore::WorkerGlobalScopeDestroyedTask::performTask): Deleted.
358 (WebCore::WorkerTerminateTask::create): Deleted.
359 (WebCore::WorkerTerminateTask::WorkerTerminateTask): Deleted.
360 (WebCore::WorkerTerminateTask::performTask): Deleted.
361 (WebCore::WorkerThreadActivityReportTask::create): Deleted.
362 (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask): Deleted.
363 (WebCore::WorkerThreadActivityReportTask::performTask): Deleted.
364 (WebCore::PostMessageToPageInspectorTask::create): Deleted.
365 (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask): Deleted.
366 (WebCore::PostMessageToPageInspectorTask::performTask): Deleted.
367 (WebCore::NotifyNetworkStateChangeTask::create): Deleted.
368 (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask): Deleted.
369 (WebCore::NotifyNetworkStateChangeTask::performTask): Deleted.
370 * workers/WorkerMessagingProxy.h:
371 * workers/WorkerRunLoop.cpp:
372 (WebCore::WorkerRunLoop::postTask):
373 (WebCore::WorkerRunLoop::postTaskAndTerminate):
374 (WebCore::WorkerRunLoop::postTaskForMode):
375 (WebCore::WorkerRunLoop::Task::create):
376 (WebCore::WorkerRunLoop::Task::performTask):
377 (WebCore::WorkerRunLoop::Task::Task):
378 * workers/WorkerRunLoop.h:
379 * workers/WorkerThread.cpp:
380 (WebCore::WorkerThread::stop):
381 (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
382 (WebCore::WorkerThreadShutdownFinishTask::create): Deleted.
383 (WebCore::WorkerThreadShutdownFinishTask::performTask): Deleted.
384 (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask): Deleted.
385 (WebCore::WorkerThreadShutdownStartTask::create): Deleted.
386 (WebCore::WorkerThreadShutdownStartTask::performTask): Deleted.
387 (WebCore::WorkerThreadShutdownStartTask::isCleanupTask): Deleted.
389 2014-04-29 Manuel Rego Casasnovas <rego@igalia.com>
391 REGRESSION (r167879): Heap-use-after-free in WebCore::RenderFlexibleBox
392 https://bugs.webkit.org/show_bug.cgi?id=132337
394 Reviewed by Simon Fraser.
396 From Blink r154582 by <jchaffraix@chromium.org>
398 This is a regression from the changes in OrderIterator. The issue is
399 that we don't invalidate our iterator when a child is removed. This
400 means that we could hold onto free'd memory until the next layout
401 when we will recompute the iterator.
403 The solution is simple: just clear the memory when we remove a child.
405 Note that RenderGrid is not impacted by this bug as we don't use the
406 iterator outside layout yet, but if we do it at some point the very same
407 problem will arise, so the same treatment was applied to the class.
409 Test: fast/flexbox/order-iterator-crash.html
411 * rendering/OrderIterator.cpp:
412 (WebCore::OrderIterator::invalidate): Clear m_children Vector.
413 * rendering/OrderIterator.h:
414 (WebCore::OrderIteratorPopulator::OrderIteratorPopulator): Use
416 * rendering/RenderFlexibleBox.cpp:
417 (WebCore::RenderFlexibleBox::removeChild): Invalidate m_orderIterator.
418 * rendering/RenderFlexibleBox.h: Add removeChild() signature.
419 * rendering/RenderGrid.cpp: Invalidate m_orderIterator.
420 (WebCore::RenderGrid::removeChild):
421 * rendering/RenderGrid.h: Add removeChild() header.
423 2014-04-29 Enrica Casucci <enrica@apple.com>
425 iOS build fix after http://trac.webkit.org/changeset/167937.
428 * rendering/RenderThemeIOS.mm:
429 (WebCore::RenderThemeIOS::adjustButtonStyle):
431 2014-04-29 Hans Muller <hmuller@adobe.com>
433 [CSS Shapes] off-by-one error in Shape::createRasterShape()
434 https://bugs.webkit.org/show_bug.cgi?id=132154
436 Reviewed by Bem Jones-Bey.
438 This is a port of a patch for a bug that was reported by and fixed in Blink by
439 David Vest: https://codereview.chromium.org/237123002/. Shape::createRasterShape()
440 now consistently reports "end-point exclusive" intervals. Before the patch
441 an entire row of pixels was above the shape-image-threshold, the interval's end
442 index was reported as image.width. Now it's image.width + 1, which is consistent
443 with the way the end index is reported if the last above threshold pixel is within
446 Two existing tests were revised to account for this change.
448 * rendering/shapes/RasterShape.cpp:
449 (WebCore::RasterShape::getExcludedIntervals):
450 * rendering/shapes/Shape.cpp:
451 (WebCore::Shape::createRasterShape):
453 2014-04-29 Bem Jones-Bey <bjonesbe@adobe.com>
455 Wrap CSS length conversion arguments in an object
456 https://bugs.webkit.org/show_bug.cgi?id=131552
458 Reviewed by Andreas Kling.
460 This patch introduces a class CSSToLengthConversionData to wrap the
461 data required to convert CSS lengths to Lengths. This simplifies the
462 plumbing that goes on whenever we need to resolve CSS lengths and
463 makes it easier to update the arguments needed for resolving these (in
464 particular adding a RenderView for resolving viewport units at style
465 recalc time; removing the computingFontSize bool also appears
468 Note that the zoom argument, which was previously a float in some
469 places and a double in others is now a float.
471 This is a port of a Blink patch by timloh@chromium.org.
473 No new tests, no behavior change.
476 * WebCore.vcxproj/WebCore.vcxproj:
477 * WebCore.xcodeproj/project.pbxproj:
478 * css/BasicShapeFunctions.cpp:
479 (WebCore::convertToLength):
480 (WebCore::convertToLengthSize):
481 (WebCore::convertToCenterCoordinate):
482 (WebCore::cssValueToBasicShapeRadius):
483 (WebCore::basicShapeForValue):
484 * css/BasicShapeFunctions.h:
485 * css/CSSCalculationValue.cpp:
486 (WebCore::CSSCalcValue::computeLengthPx):
487 (WebCore::determineCategory):
488 * css/CSSCalculationValue.h:
489 (WebCore::CSSCalcValue::createCalculationValue):
490 * css/CSSGradientValue.cpp:
491 (WebCore::CSSGradientValue::addStops):
492 (WebCore::positionFromValue):
493 (WebCore::CSSGradientValue::computeEndPoint):
494 (WebCore::CSSLinearGradientValue::createGradient):
495 (WebCore::CSSRadialGradientValue::resolveRadius):
496 (WebCore::CSSRadialGradientValue::createGradient):
497 * css/CSSGradientValue.h:
498 * css/CSSPrimitiveValue.cpp:
499 (WebCore::CSSPrimitiveValue::computeLength):
500 (WebCore::CSSPrimitiveValue::computeLengthDouble):
501 * css/CSSPrimitiveValue.h:
502 * css/CSSPrimitiveValueMappings.h:
503 (WebCore::CSSPrimitiveValue::convertToLength):
504 * css/CSSToLengthConversionData.cpp: Added.
505 (WebCore::CSSToLengthConversionData::zoom):
506 * css/CSSToLengthConversionData.h: Added.
507 (WebCore::CSSToLengthConversionData::CSSToLengthConversionData):
508 (WebCore::CSSToLengthConversionData::style):
509 (WebCore::CSSToLengthConversionData::rootStyle):
510 (WebCore::CSSToLengthConversionData::computingFontSize):
511 (WebCore::CSSToLengthConversionData::copyWithAdjustedZoom):
512 * css/CSSToStyleMap.cpp:
513 (WebCore::CSSToStyleMap::CSSToStyleMap):
514 (WebCore::CSSToStyleMap::mapFillSize):
515 (WebCore::CSSToStyleMap::mapFillXPosition):
516 (WebCore::CSSToStyleMap::mapFillYPosition):
517 (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
518 * css/CSSToStyleMap.h:
519 (WebCore::CSSToStyleMap::CSSToStyleMap): Deleted.
520 * css/DeprecatedStyleBuilder.cpp:
521 (WebCore::ApplyPropertyAuto::applyValue):
522 (WebCore::ApplyPropertyClip::convertToLength):
523 (WebCore::ApplyPropertyLength::applyValue):
524 (WebCore::ApplyPropertyBorderRadius::applyValue):
525 (WebCore::ApplyPropertyComputeLength::applyValue):
526 (WebCore::ApplyPropertyFontSize::applyValue):
527 (WebCore::csstoLengthConversionDataWithTextZoomFactor):
528 (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
529 (WebCore::ApplyPropertyLineHeight::applyValue):
530 (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
531 (WebCore::ApplyPropertyWordSpacing::applyValue):
532 (WebCore::ApplyPropertyPageSize::mmLength):
533 (WebCore::ApplyPropertyPageSize::inchLength):
534 (WebCore::ApplyPropertyPageSize::applyValue):
535 (WebCore::ApplyPropertyVerticalAlign::applyValue):
536 (WebCore::ApplyPropertyClipPath::applyValue):
537 (WebCore::ApplyPropertyShape::applyValue):
538 (WebCore::ApplyPropertyTextIndent::applyValue):
539 * css/MediaQueryEvaluator.cpp:
540 (WebCore::colorMediaFeatureEval):
541 (WebCore::color_indexMediaFeatureEval):
542 (WebCore::monochromeMediaFeatureEval):
543 (WebCore::orientationMediaFeatureEval):
544 (WebCore::aspect_ratioMediaFeatureEval):
545 (WebCore::device_aspect_ratioMediaFeatureEval):
546 (WebCore::device_pixel_ratioMediaFeatureEval):
547 (WebCore::resolutionMediaFeatureEval):
548 (WebCore::gridMediaFeatureEval):
549 (WebCore::computeLength):
550 (WebCore::device_heightMediaFeatureEval):
551 (WebCore::device_widthMediaFeatureEval):
552 (WebCore::heightMediaFeatureEval):
553 (WebCore::widthMediaFeatureEval):
554 (WebCore::min_colorMediaFeatureEval):
555 (WebCore::max_colorMediaFeatureEval):
556 (WebCore::min_color_indexMediaFeatureEval):
557 (WebCore::max_color_indexMediaFeatureEval):
558 (WebCore::min_monochromeMediaFeatureEval):
559 (WebCore::max_monochromeMediaFeatureEval):
560 (WebCore::min_aspect_ratioMediaFeatureEval):
561 (WebCore::max_aspect_ratioMediaFeatureEval):
562 (WebCore::min_device_aspect_ratioMediaFeatureEval):
563 (WebCore::max_device_aspect_ratioMediaFeatureEval):
564 (WebCore::min_device_pixel_ratioMediaFeatureEval):
565 (WebCore::max_device_pixel_ratioMediaFeatureEval):
566 (WebCore::min_heightMediaFeatureEval):
567 (WebCore::max_heightMediaFeatureEval):
568 (WebCore::min_widthMediaFeatureEval):
569 (WebCore::max_widthMediaFeatureEval):
570 (WebCore::min_device_heightMediaFeatureEval):
571 (WebCore::max_device_heightMediaFeatureEval):
572 (WebCore::min_device_widthMediaFeatureEval):
573 (WebCore::max_device_widthMediaFeatureEval):
574 (WebCore::min_resolutionMediaFeatureEval):
575 (WebCore::max_resolutionMediaFeatureEval):
576 (WebCore::animationMediaFeatureEval):
577 (WebCore::transitionMediaFeatureEval):
578 (WebCore::transform_2dMediaFeatureEval):
579 (WebCore::transform_3dMediaFeatureEval):
580 (WebCore::view_modeMediaFeatureEval):
581 (WebCore::video_playable_inlineMediaFeatureEval):
582 (WebCore::hoverMediaFeatureEval):
583 (WebCore::pointerMediaFeatureEval):
584 (WebCore::MediaQueryEvaluator::eval):
585 * css/SVGCSSStyleSelector.cpp:
586 (WebCore::StyleResolver::applySVGProperty):
587 * css/StyleResolver.cpp:
588 (WebCore::StyleResolver::State::clear):
589 (WebCore::StyleResolver::State::initForStyleResolve):
590 (WebCore::StyleResolver::convertToIntLength):
591 (WebCore::StyleResolver::convertToFloatLength):
592 (WebCore::createGridTrackBreadth):
593 (WebCore::StyleResolver::applyProperty):
594 (WebCore::StyleResolver::createFilterOperations):
595 * css/StyleResolver.h:
596 (WebCore::StyleResolver::State::setStyle):
597 (WebCore::StyleResolver::State::cssToLengthConversionData):
598 * css/TransformFunctions.cpp:
599 (WebCore::convertToFloatLength):
600 (WebCore::transformsForValue):
601 * css/TransformFunctions.h:
602 * css/WebKitCSSMatrix.cpp:
603 (WebCore::WebKitCSSMatrix::setMatrixValue):
604 * rendering/RenderThemeIOS.mm:
605 (WebCore::applyCommonButtonPaddingToStyle):
606 (WebCore::RenderThemeIOS::adjustButtonStyle):
608 2014-04-29 Zoltan Horvath <zoltan@webkit.org>
610 [CSS Shapes] complex calc args for inset round vanish
611 https://bugs.webkit.org/show_bug.cgi?id=132293
613 Reviewed by Bem Jones-Bey.
615 In order to use calc in the rounded parameters for inset shapes, we need
616 to pass RenderStyle for the value creation as we did for the width arguments.
617 Without taking RenderStyle into account, we hit an assert not reache
618 in CSSPrimitiveValue::init in the debug builds.
620 I've added new parsing test.
622 * css/BasicShapeFunctions.cpp:
623 (WebCore::valueForBasicShape):
624 * css/CSSPrimitiveValue.cpp:
625 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
626 (WebCore::CSSPrimitiveValue::init):
627 * css/CSSPrimitiveValue.h:
628 (WebCore::CSSPrimitiveValue::create):
629 * css/CSSValuePool.h:
630 (WebCore::CSSValuePool::createValue):
632 2014-04-29 Zoltan Horvath <zoltan@webkit.org>
634 [CSS Shapes] complex calc values for shape-margin return null for computed style
635 https://bugs.webkit.org/show_bug.cgi?id=132313
637 Reviewed by Bem Jones-Bey.
639 We need to pass RenderStyle* to the cssValuePool when parsing
640 shape-margin in order to use calc() as a parameter.
642 I've added the new test case to parsing-shape-margin.html
644 * css/CSSComputedStyleDeclaration.cpp:
645 (WebCore::ComputedStyleExtractor::propertyValue):
647 2014-04-29 Chris Fleizach <cfleizach@apple.com>
649 AX: Row span info is wrong for table cells when a footer section is placed above a body section
650 https://bugs.webkit.org/show_bug.cgi?id=131832
652 Reviewed by Mario Sanchez Prada.
654 If a <footer> section is placed before the body, it renders AX row information and order incorrectly.
655 This also affects ARIA tables because they add their children by looking at renderer children, instead
656 interrogating the RenderTable directly.
658 Test: accessibility/table-with-footer-section-above-body.html
660 * accessibility/AccessibilityARIAGrid.cpp:
661 (WebCore::AccessibilityARIAGrid::addTableCellChild):
662 (WebCore::AccessibilityARIAGrid::addChildren):
663 * accessibility/AccessibilityTable.cpp:
664 (WebCore::AccessibilityTable::addChildren):
665 (WebCore::AccessibilityTable::addChildrenFromSection):
666 * accessibility/AccessibilityTable.h:
667 * accessibility/AccessibilityTableCell.cpp:
668 (WebCore::AccessibilityTableCell::rowIndexRange):
669 (WebCore::AccessibilityTableCell::columnIndexRange):
671 2014-04-29 Chris Fleizach <cfleizach@apple.com>
673 AX: SpeechSynthesisUtterance cannot addEventListener
674 https://bugs.webkit.org/show_bug.cgi?id=132321
676 Reviewed by Mario Sanchez Prada.
678 Modified an existing test (speech-synthesis-speak.html) to use addEventTarget.
680 * Modules/speech/SpeechSynthesisUtterance.idl:
682 2014-04-29 Hans Muller <hmuller@adobe.com>
684 [CSS Shapes] shape-outside polygon fails when first vertex is 0,0
685 https://bugs.webkit.org/show_bug.cgi?id=132132
687 Reviewed by Bem Jones-Bey.
689 ShapeInterval now distinguishes between x1==x2 - isEmpty() and x1,x2 haven't been
690 set yet - isUndefined(). Removed the ShapeInterval setX1() and setX2() methods, since
691 they're no longer used.
693 The polygon algorithm for computing excluded intervals now ignores horizontal
694 edges. It also ignores edges whose lower vertex matches the top of the line, if
695 the edge's Y direction is upwards (away from the top of the line). The rationale
696 for this was explained here:
697 http://hansmuller-webkit.blogspot.com/2012/11/revised-horizontal-box-algorithm.html
699 Test: fast/shapes/shape-outside-floats/shape-outside-polygon-zero-vertex.html
701 * rendering/shapes/PolygonShape.cpp:
702 (WebCore::OffsetPolygonEdge::clippedEdgeXRange):
703 (WebCore::PolygonShape::getExcludedIntervals):
704 * rendering/shapes/ShapeInterval.h:
705 (WebCore::ShapeInterval::ShapeInterval):
706 (WebCore::ShapeInterval::isUndefined):
707 (WebCore::ShapeInterval::x1):
708 (WebCore::ShapeInterval::x2):
709 (WebCore::ShapeInterval::width):
710 (WebCore::ShapeInterval::isEmpty):
711 (WebCore::ShapeInterval::setX1):
712 (WebCore::ShapeInterval::setX2):
713 (WebCore::ShapeInterval::overlaps):
714 (WebCore::ShapeInterval::contains):
715 (WebCore::ShapeInterval::unite):
717 2014-04-29 Andrei Bucur <abucur@adobe.com>
719 [CSS Regions] Fix getClientRects() for content nodes
720 https://bugs.webkit.org/show_bug.cgi?id=117407
722 Reviewed by David Hyatt.
724 This patch modifies getClientRects() to return a list of fragments
725 for a fragmented box instead of a single rectangle positioned inside
726 the region where the box center would appear.
728 The approach is to split the border box of the element in regions using
729 the layout positioning. Then each fragment is mapped to the view coordinates
730 and the result added to the list of rectangles. To preserve the originating
731 region when mapping the fragment through the ancestor tree I've introduced
732 the concept of a current region. The current region is stored inside a
733 CurrentRenderRegionMaintainer object, created whenever an algorithm needing
734 it needs to run. When the maintainer is destroyed, the cleanup is made
735 automatically. The RenderFlowThread holds a pointer to this structure for
738 Tests: fast/regions/cssom/client-rects-fixed-content.html
739 fast/regions/cssom/client-rects-forced-breaks.html
740 fast/regions/cssom/client-rects-inline-complex.html
741 fast/regions/cssom/client-rects-inline.html
742 fast/regions/cssom/client-rects-nested-regions.html
743 fast/regions/cssom/client-rects-positioned.html
744 fast/regions/cssom/client-rects-relative-position.html
745 fast/regions/cssom/client-rects-simple-block.html
746 fast/regions/cssom/client-rects-transforms.html
747 fast/regions/cssom/client-rects-unsplittable-float.html
749 * rendering/RenderBlock.cpp:
750 (WebCore::RenderBlock::absoluteQuads): Split the box in fragments.
751 * rendering/RenderBox.cpp:
752 (WebCore::RenderBox::absoluteQuads): Split the box in fragments.
753 * rendering/RenderFlowThread.cpp:
754 (WebCore::RenderFlowThread::RenderFlowThread):
755 (WebCore::RenderFlowThread::mapFromFlowToRegion):
756 (WebCore::RenderFlowThread::mapLocalToContainer):
757 (WebCore::RenderFlowThread::currentRegion):
758 * rendering/RenderFlowThread.h:
759 * rendering/RenderNamedFlowFragment.cpp:
760 (WebCore::RenderNamedFlowFragment::absoluteQuadsForBoxInRegion): Get
761 the fragments for this box in the region.
762 * rendering/RenderNamedFlowFragment.h:
763 * rendering/RenderNamedFlowThread.cpp:
764 (WebCore::RenderNamedFlowThread::absoluteQuadsForBox): Virtual function
765 that can be used to implement fragments to client rects mapping.
766 * rendering/RenderNamedFlowThread.h:
767 * rendering/RenderRegion.cpp:
768 (WebCore::RenderRegion::rectFlowPortionForBox): Small change to correctly
769 map empty rectangles to containers.
770 (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
771 (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
772 * rendering/RenderRegion.h:
773 (WebCore::RenderRegion::absoluteQuadsForBoxInRegion):
774 (WebCore::CurrentRenderRegionMaintainer::region):
776 2014-04-29 Andrei Bucur <abucur@adobe.com>
778 Store the containing region map inside the flow thread
779 https://bugs.webkit.org/show_bug.cgi?id=131647
781 Reviewed by Mihnea Ovidenie.
783 The patch moves the containing region map inside the flow thread where
784 it can be better handled in case the region chain changes and the map
787 As a result of this move we are able to also cleanup the lines region
788 information of a block flow when it is removed from the tree.
790 Test: fast/regions/inline-strike-through.html
792 * rendering/InlineFlowBox.h:
793 (WebCore::InlineFlowBox::InlineFlowBox):
794 * rendering/RenderBlockLineLayout.cpp:
795 (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
796 * rendering/RenderFlowThread.cpp:
797 (WebCore::RenderFlowThread::removeFlowChildInfo):
798 (WebCore::RenderFlowThread::invalidateRegions):
799 (WebCore::RenderFlowThread::removeLineRegionInfo):
800 (WebCore::RenderFlowThread::checkLinesConsistency):
801 (WebCore::RenderFlowThread::containingRegionMap):
802 * rendering/RenderFlowThread.h:
803 * rendering/RootInlineBox.cpp:
804 (WebCore::containingRegionMap):
805 (WebCore::RootInlineBox::~RootInlineBox):
806 (WebCore::RootInlineBox::paint):
807 (WebCore::RootInlineBox::containingRegion):
808 (WebCore::RootInlineBox::clearContainingRegion):
809 (WebCore::RootInlineBox::setContainingRegion):
811 2014-04-28 Benjamin Poulain <benjamin@webkit.org>
813 SelectorCodeGenerator::generateElementIsNthChild() leaks the parent register :nth-child() is non-filtering
814 https://bugs.webkit.org/show_bug.cgi?id=132311
816 Reviewed by Andreas Kling.
818 In two cases, the parent register was never returned to the register allocator:
819 -Non filtering selectors (the early return).
820 -Non marking selectors (at the moment: only querySelector API).
822 Unfortunately, generateElementIsNthChild() makes function call, which forces us to do this manual allocation
823 of the parentElement register. Long term, I want RegisterAllocator and FunctionCall to have a special type for that.
825 Test: fast/selectors/several-nth-child.html
827 * cssjit/SelectorCompiler.cpp:
828 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
830 2014-04-28 Yusuke Suzuki <utatane.tea@gmail.com>
832 CSS JIT: backtracking with current / parent element for child
833 https://bugs.webkit.org/show_bug.cgi?id=132057
835 Reviewed by Benjamin Poulain.
837 Calculate appropriate backtracking start height from the closest
838 descendant. And at first, we use it for a simple optimization.
840 1. When backtracking start height equals to current height, we
841 can simply jump to a descendant element check phase.
842 2. When backtracking start height equals to current height + 1, we
843 can simply jump to a descendant element traversing phase.
845 We can apply this optimization to fragments with adjacent combinators.
846 But, in the meantime, we start to implement it for a fragment with
849 * cssjit/SelectorCompiler.cpp:
850 (WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
851 (WebCore::SelectorCompiler::TagNamePattern::TagNamePattern):
852 (WebCore::SelectorCompiler::solveDescendantBacktrackingActionForChild):
853 (WebCore::SelectorCompiler::solveBacktrackingAction):
854 (WebCore::SelectorCompiler::equalTagNames):
855 (WebCore::SelectorCompiler::equalTagNamePatterns):
856 (WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant):
857 (WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):
858 (WebCore::SelectorCompiler::requiresAdjacentTail):
859 (WebCore::SelectorCompiler::requiresDescendantTail):
860 (WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
861 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
862 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentNode):
863 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentElement):
864 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
865 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAncestorTreeWalker):
866 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
867 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
868 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
870 2014-04-28 Benjamin Poulain <bpoulain@apple.com>
872 [iOS][WK2] Restore the scroll position and scale from the HistoryItem (mostly)
873 https://bugs.webkit.org/show_bug.cgi?id=132307
875 Reviewed by Simon Fraser.
879 2014-04-28 Beth Dakin <bdakin@apple.com>
881 Scrollbars do not update properly when topContentInset changes dynamically
882 https://bugs.webkit.org/show_bug.cgi?id=132309
884 <rdar://problem/16642232>
886 Reviewed by Tim Horton.
888 It is not sufficient to do a layout and call updateScrollbars(). We must also call
889 RenderLayerCompositor::frameViewDidChangeSize() in order to properly adjust the
890 size and position of all of the scrolling-related layers.
891 * page/FrameView.cpp:
892 (WebCore::FrameView::topContentInsetDidChange):
894 2014-04-28 David Hyatt <hyatt@apple.com>
896 [New Multicolumn] event.offsetX/offsetY don't work correctly
897 https://bugs.webkit.org/show_bug.cgi?id=132284
899 Reviewed by Simon Fraser.
901 * rendering/RenderBoxModelObject.cpp:
902 (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
903 Change the code here to only trigger for CSS Regions and not for
904 multi-column. Add a FIXME pointing out that the code is broken even for
907 * rendering/RenderMultiColumnFlowThread.cpp:
908 (WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):
909 Override mapAbsoluteToLocalPoint in order to guess a region and attempt
910 to translate the point from that region to the flow thread local coordinate
913 (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromRegionToFlow):
914 * rendering/RenderMultiColumnFlowThread.h:
915 New helper function that just wraps calling the region's logical translation
916 function and converting to/from physical coordinates.
918 2014-04-28 Commit Queue <commit-queue@webkit.org>
920 Unreviewed, rolling out r167857.
921 https://bugs.webkit.org/show_bug.cgi?id=132305
923 the change was rolled out, roll out the new expectations as
924 well (Requested by thorton on #webkit).
928 "Unreviewed. Updating one bindings test baseline after
930 http://trac.webkit.org/changeset/167857
932 2014-04-28 Dean Jackson <dino@apple.com>
934 [Mac] Use the animated version of setHighlighted on NSButtonCell where available
935 https://bugs.webkit.org/show_bug.cgi?id=132295
936 <rdar://problem/16747240>
938 Reviewed by Beth Dakin.
940 Like setState, there is an animated version of setHighlighted available.
942 * platform/mac/ThemeMac.mm:
943 (WebCore::updateStates): Use private version of _setHighlighted where possible.
945 2014-04-28 Commit Queue <commit-queue@webkit.org>
947 Unreviewed, rolling out r167855.
948 https://bugs.webkit.org/show_bug.cgi?id=132301
950 Broke the windows build (Requested by bfulgham on #webkit).
954 "ScriptExecutionContext::Task should work well with C++11
956 https://bugs.webkit.org/show_bug.cgi?id=129795
957 http://trac.webkit.org/changeset/167855
959 2014-04-24 Andy Estes <aestes@apple.com>
961 [iOS] Implement WebQuickLookHandleClient for WebKit2
962 https://bugs.webkit.org/show_bug.cgi?id=132157
964 Reviewed by Darin Adler.
966 * WebCore.exp.in: Exported QuickLookHandle::previewUTI().
967 * platform/network/ios/QuickLook.h:
968 * platform/network/ios/QuickLook.mm:
969 (WebCore::QuickLookHandle::previewFileName): Changed to return a WTF::String.
970 (WebCore::QuickLookHandle::previewUTI): Added.
972 2014-04-28 Chris Fleizach <cfleizach@apple.com>
974 REGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
975 https://bugs.webkit.org/show_bug.cgi?id=111613
977 Reviewed by Mark Lam.
979 I think it's possible that didFinishSpeaking ends up calling directly back into start speaking, and the utterance reference
980 we were holding can get cleared, so protecting this should avoid a few asserts.
982 * platform/mock/PlatformSpeechSynthesizerMock.cpp:
983 (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
985 2014-04-28 Commit Queue <commit-queue@webkit.org>
987 Unreviewed, rolling out r167871.
988 https://bugs.webkit.org/show_bug.cgi?id=132290
990 broke a newmulticol test (spanner-nested-dynamic) (Requested
991 by thorton on #webkit).
995 "Store the containing region map inside the flow thread"
996 https://bugs.webkit.org/show_bug.cgi?id=131647
997 http://trac.webkit.org/changeset/167871
999 2014-04-28 Commit Queue <commit-queue@webkit.org>
1001 Unreviewed, rolling out r167853.
1002 https://bugs.webkit.org/show_bug.cgi?id=132288
1004 caused crashes+timeouts+layout test failures described in the
1005 bug (Requested by thorton on #webkit).
1009 "Coalesce responses on network process side"
1010 https://bugs.webkit.org/show_bug.cgi?id=132229
1011 http://trac.webkit.org/changeset/167853
1013 2014-04-24 Simon Fraser <simon.fraser@apple.com>
1015 [iOS WK2] flickery scrolling with overflow-scrolling:touch
1016 https://bugs.webkit.org/show_bug.cgi?id=132150
1018 Reviewed by Tim Horton.
1020 Fix typo in a comment.
1022 * page/scrolling/AsyncScrollingCoordinator.cpp:
1023 (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
1025 2014-04-28 Martin Robinson <mrobinson@igalia.com>
1027 [GTK] Builtin cursors do not properly handle transparency
1028 https://bugs.webkit.org/show_bug.cgi?id=131866
1030 Reviewed by Gustavo Noronha Silva.
1032 Tested by ManualTests/cursor.html.
1034 * platform/gtk/CursorGtk.cpp:
1035 (WebCore::createNamedCursor): Instead of interpreting the source bitmap as an A1 image, use
1036 it as a 1-bit black and white image. We do this by:
1037 1. Painting the result to a full color image with transparency instead of an alpha-only surface.
1038 2. Masking a white background using the cursor alpha surface.
1039 3. Painting the black parts of the cursor by painting the source surface, where black pixels
1040 will be interpreted as full opaque pixels.
1042 2014-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
1044 Unreviewed. Update GObject DOM bindings symbols file.
1046 * bindings/gobject/webkitdom.symbols: Add missing symbols.
1048 2014-04-28 Manuel Rego Casasnovas <rego@igalia.com>
1050 OrderIterator refactoring to avoid extra loops
1051 https://bugs.webkit.org/show_bug.cgi?id=119061
1053 Reviewed by Darin Adler.
1055 This patch removes order values Vector and use a Vector of pairs instead. The pairs are formed by a child
1056 (RenderBox) and the index of this child. In addition, OrderIterator code is simplified.
1058 It provides a helper class OrderIteratorPopulator, used for manipulating the Vector directly. Which allows to
1059 consolidate the code into a single implementation across flexbox and grid. OrderIteratorPopulator part is based
1060 on a patch from Blink r153971 by <jchaffraix@chromium.org>.
1062 Current implementation is O(number of children * number of order values). Now it will just do a sort operation
1063 and then a regular loop. So if you have different order values in a flexbox or grid the performance will
1066 Comparing results of perf-tests:
1067 * Layout/auto-grid-lots-of-data: ~0.5% worse.
1068 * Layout/fixed-grid-lots-of-data: ~0.5% worse.
1069 * Layout/fixed-grid-lots-of-data (setting 100 different order values): ~50% better.
1070 * Layout/flexbox-lots-of-data: ~5% better.
1072 No new tests, already covered by current tests.
1074 * rendering/OrderIterator.cpp:
1075 (WebCore::OrderIterator::currentChild): Return current child according to m_childrenIndex.
1076 (WebCore::OrderIterator::first): Initialize m_childrenIndex and return current child.
1077 (WebCore::OrderIterator::next): Increase m_childrenIndex and return current child.
1078 (WebCore::compareByOrderValueAndIndex): Sorts the Vector by order value and index.
1079 (WebCore::OrderIteratorPopulator::~OrderIteratorPopulator): Calls compareByOrderValueAndIndex() if there is any
1080 child with non default order value.
1081 (WebCore::OrderIteratorPopulator::collectChild): Adds the child and index to the Vector. Update
1082 m_allChildrenHaveDefaultOrderValue accordingly.
1083 (WebCore::OrderIterator::OrderIterator): Deleted.
1084 (WebCore::OrderIterator::setOrderValues): Deleted.
1085 (WebCore::OrderIterator::reset): Deleted.
1086 * rendering/OrderIterator.h:
1087 (WebCore::OrderIteratorPopulator::OrderIteratorPopulator): New helper class to manipulate the Vector.
1088 (WebCore::OrderIterator::currentChild): Deleted.
1089 * rendering/RenderFlexibleBox.cpp:
1090 (WebCore::RenderFlexibleBox::RenderFlexibleBox): Remove OrderIterator intialization.
1091 (WebCore::RenderFlexibleBox::layoutBlock): Remove unneeded code related to old OrderValues vector.
1092 (WebCore::RenderFlexibleBox::prepareOrderIteratorAndMargins): Populate OrderIterator using collectChild().
1093 (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Deleted.
1094 * rendering/RenderFlexibleBox.h: Rename computeMainAxisPreferredSizes() to prepareOrderIteratorAndMargins().
1095 * rendering/RenderGrid.cpp:
1096 (WebCore::RenderGrid::RenderGrid): Remove OrderIterator initialization.
1097 (WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Populate OrderIterator using collectChild().
1099 2014-04-28 Zan Dobersek <zdobersek@igalia.com>
1101 std::bitset<>::test() does unnecessary bounds checks on CSSPropertyID bitsets
1102 https://bugs.webkit.org/show_bug.cgi?id=131685
1104 Reviewed by Darin Adler.
1106 Use std::bitset<>::operator[]() instead of std::bitset<>::test() to avoid
1107 bounds checks which are not necessary as long as a CSSPropertyID value is used.
1109 * css/CSSParser.cpp:
1110 (WebCore::filterProperties):
1111 * css/StyleProperties.cpp:
1112 (WebCore::StyleProperties::asText):
1113 * css/StyleResolver.cpp:
1114 (WebCore::StyleResolver::CascadedProperties::hasProperty):
1115 (WebCore::StyleResolver::CascadedProperties::set):
1117 2014-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
1119 [GTK] TextTrack kind and mode attributes are enums since r166180
1120 https://bugs.webkit.org/show_bug.cgi?id=132228
1122 Reviewed by Martin Robinson.
1124 Improve coding style according to review comments, that I forgot
1125 to do before landing previous commit.
1127 * bindings/gobject/WebKitDOMCustom.cpp:
1128 (webkit_dom_text_track_get_kind):
1129 (webkit_dom_text_track_get_mode):
1130 (webkit_dom_text_track_set_mode):
1132 2014-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
1134 [GTK] TextTrack kind and mode attributes are enums since r166180
1135 https://bugs.webkit.org/show_bug.cgi?id=132228
1137 Reviewed by Martin Robinson.
1139 We don't support enum values yet in GObject DOM bindings, but they
1140 are internally strings anyway, so we can keep the old
1141 implementations using strings as custom functions until we
1142 properly support enums.
1144 * bindings/gobject/WebKitDOMCustom.cpp:
1145 (webkit_dom_text_track_get_kind):
1146 (webkit_dom_text_track_get_mode):
1147 (webkit_dom_text_track_set_mode):
1148 * bindings/gobject/WebKitDOMCustom.h:
1149 * bindings/gobject/WebKitDOMCustom.symbols:
1151 2014-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
1153 [GTK] TextTrack::addCue can raise an exception since r163974
1154 https://bugs.webkit.org/show_bug.cgi?id=132227
1156 Reviewed by Martin Robinson.
1158 webkit_dom_text_track_add_cue() now receives a GError paramater
1159 which is an API break. Add
1160 webkit_dom_text_track_add_cue_with_error and keep
1161 webkit_dom_text_track_add_cue as deprecated to keep API
1164 * bindings/gobject/WebKitDOMDeprecated.cpp:
1165 (webkit_dom_text_track_add_cue):
1166 * bindings/gobject/WebKitDOMDeprecated.h:
1167 * bindings/gobject/WebKitDOMDeprecated.symbols:
1168 * bindings/gobject/webkitdom.symbols:
1169 * bindings/scripts/CodeGeneratorGObject.pm:
1170 (GetEffectiveFunctionName):
1172 2014-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
1174 [GTK] TextTrackCue API changed in r163649
1175 https://bugs.webkit.org/show_bug.cgi?id=132226
1177 Reviewed by Martin Robinson.
1179 TextTrackCue is now a base class and part of its API was moved to
1180 the derived class VTTCue. Update the GObject DOM bindings to keep
1181 backwards compatibility.
1183 * PlatformGTK.cmake: Generate bindings for DataCue and VTTCue.
1184 * bindings/gobject/WebKitDOMDeprecated.cpp:
1185 (webkit_dom_text_track_cue_get_cue_as_html): Mark as deprecated in
1186 favor of VTTCue API.
1187 (webkit_dom_text_track_cue_get_vertical): Ditto.
1188 (webkit_dom_text_track_cue_set_vertical): Ditto.
1189 (webkit_dom_text_track_cue_get_snap_to_lines): Ditto.
1190 (webkit_dom_text_track_cue_set_snap_to_lines): Ditto.
1191 (webkit_dom_text_track_cue_get_line): Ditto.
1192 (webkit_dom_text_track_cue_set_line): Ditto.
1193 (webkit_dom_text_track_cue_get_position): Ditto.
1194 (webkit_dom_text_track_cue_set_position): Ditto.
1195 (webkit_dom_text_track_cue_get_size): Ditto.
1196 (webkit_dom_text_track_cue_set_size): Ditto.
1197 (webkit_dom_text_track_cue_get_align): Ditto.
1198 (webkit_dom_text_track_cue_set_align): Ditto.
1199 (webkit_dom_text_track_cue_get_text): Ditto.
1200 (webkit_dom_text_track_cue_set_text): Ditto.
1201 * bindings/gobject/WebKitDOMDeprecated.h:
1202 * bindings/gobject/WebKitDOMDeprecated.symbols: Add new deprecated symbols.
1203 * bindings/gobject/WebKitDOMPrivate.cpp:
1204 (WebKit::wrap): Add generic wrap for TextTrackCue now that it's a
1205 base class to generate DataCue or VTTCue objects.
1206 * bindings/gobject/WebKitDOMPrivate.h:
1207 * bindings/gobject/webkitdom.symbols: Add DataCue symbols.
1208 * bindings/scripts/CodeGeneratorGObject.pm:
1209 (IsPolymorphic): Add TextTrackCue to the list of polymorphic classes.
1211 2014-04-27 Andrei Bucur <abucur@adobe.com>
1213 Store the containing region map inside the flow thread
1214 https://bugs.webkit.org/show_bug.cgi?id=131647
1216 Reviewed by Mihnea Ovidenie.
1218 The patch moves the containing region map inside the flow thread where
1219 it can be better handled in case the region chain changes and the map
1220 needs to be cleared.
1222 As a result of this move we are able to also cleanup the lines region
1223 information of a block flow when it is removed from the tree.
1225 Test: fast/regions/inline-strike-through.html
1227 * rendering/InlineFlowBox.h:
1228 (WebCore::InlineFlowBox::InlineFlowBox):
1229 * rendering/RenderBlockLineLayout.cpp:
1230 (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
1231 * rendering/RenderFlowThread.cpp:
1232 (WebCore::RenderFlowThread::removeFlowChildInfo):
1233 (WebCore::RenderFlowThread::invalidateRegions):
1234 (WebCore::RenderFlowThread::removeLineRegionInfo):
1235 (WebCore::RenderFlowThread::checkLinesConsistency):
1236 (WebCore::RenderFlowThread::containingRegionMap):
1237 * rendering/RenderFlowThread.h:
1238 * rendering/RootInlineBox.cpp:
1239 (WebCore::containingRegionMap):
1240 (WebCore::RootInlineBox::~RootInlineBox):
1241 (WebCore::RootInlineBox::paint):
1242 (WebCore::RootInlineBox::containingRegion):
1243 (WebCore::RootInlineBox::clearContainingRegion):
1244 (WebCore::RootInlineBox::setContainingRegion):
1246 2014-04-27 Darin Adler <darin@apple.com>
1248 REGRESSION (r159345): The hover state for links in the top navigation of Yahoo.com doesn't work
1249 https://bugs.webkit.org/show_bug.cgi?id=132241
1250 rdar://problem/16501924
1252 Reviewed by Andreas Kling.
1254 Test: fast/text/simple-lines-hover-underline.html
1256 Checked that this does not hurt performance by running the
1257 run-perf-tests PerformanceTests/Layout/line-layout.html command before and after.
1259 * rendering/RenderBlockFlow.cpp:
1260 (WebCore::RenderBlockFlow::hitTestInlineChildren): Use simpleLineLayout function rather than
1261 getting at the data member directly.
1262 (WebCore::RenderBlockFlow::firstLineBaseline): Ditto.
1263 (WebCore::RenderBlockFlow::inlineBlockBaseline): Ditto.
1264 (WebCore::RenderBlockFlow::lineCount): Ditto.
1265 (WebCore::RenderBlockFlow::paintInlineChildren): Ditto.
1266 (WebCore::RenderBlockFlow::hasLines): Ditto.
1267 (WebCore::RenderBlockFlow::simpleLineLayout): Added logic to determine which path to use if
1268 m_lineLayoutPath is undetermined, and call createLineBoxes if it's not simple.
1269 (WebCore::RenderBlockFlow::ensureLineBoxes): Factored out most of the code into a new
1270 createLineBoxes function.
1271 (WebCore::RenderBlockFlow::createLineBoxes): Ditto.
1273 * rendering/RenderBlockFlow.h: Made simpleLineLayout function no longer an inline.
1274 Added a private createLineBoxes function.
1276 2014-04-27 Praveen R Jadhav <praveen.j@samsung.com>
1278 [MediaStream] .ended shouldn't be part of MediaStream IDL
1279 https://bugs.webkit.org/show_bug.cgi?id=132104
1281 Reviewed by Eric Carlson.
1283 .ended attribute is spec'ed out of MediaStream IDL. Instead, .active
1284 is introduced to handle more scenarios. This patch replaces all 'ended'
1285 attribute calls with corresponding 'active' attributes.
1287 MediaStream-add-remove-tracks.html is updated.
1289 * Modules/mediastream/MediaStream.cpp:
1290 (WebCore::MediaStream::addTrack): Replaced ended() with active().
1291 (WebCore::MediaStream::removeTrack): setEnded() isn't called. setActive()
1292 is retained which propagates oninactive event.
1293 (WebCore::MediaStream::trackDidEnd): setEnded() isn't called.
1294 (WebCore::MediaStream::removeRemoteSource): Replaced ended() with active().
1295 (WebCore::MediaStream::addRemoteTrack): Replaced ended() with active().
1296 (WebCore::MediaStream::removeRemoteTrack): Replaced ended() with active().
1297 (WebCore::MediaStream::ended): Deleted.
1298 (WebCore::MediaStream::setEnded): Deleted.
1299 (WebCore::MediaStream::streamDidEnd): Deleted.
1300 * Modules/mediastream/MediaStream.h:
1301 * Modules/mediastream/MediaStream.idl:
1302 * Modules/mediastream/RTCPeerConnection.cpp:
1303 (WebCore::RTCPeerConnection::didRemoveRemoteStream): Replaced setEnded()
1305 * platform/mediastream/MediaStreamPrivate.cpp:
1306 (WebCore::MediaStreamPrivate::MediaStreamPrivate):
1307 (WebCore::MediaStreamPrivate::setActive): Updated comment from bug
1308 https://bugs.webkit.org/show_bug.cgi?id=131973
1309 (WebCore::MediaStreamPrivate::setEnded): Deleted.
1310 * platform/mediastream/MediaStreamPrivate.h:
1311 (WebCore::MediaStreamPrivate::ended): Deleted.
1313 2014-04-25 Andy Estes <aestes@apple.com>
1315 [iOS] Stop creating a WKWebResourceQuickLookDelegate for every WebResourceLoader
1316 https://bugs.webkit.org/show_bug.cgi?id=132215
1318 Reviewed by Dan Bernstein.
1320 * WebCore.exp.in: Moved QuickLook symbols to the USE(QUICK_LOOK) stanza.
1321 * platform/network/ios/QuickLook.h: Changed one of the create() overloads to no longer take a delegate argument.
1322 * platform/network/ios/QuickLook.mm: Moved WKWebResourceQuickLookDelegate to here and renamed to WebResourceLoaderQuickLookDelegate.
1323 (WebCore::QuickLookHandle::create): Created a WebResourceLoaderQuickLookDelegate only if QuickLook can handle the response.
1325 2014-04-27 Sam Weinig <sam@webkit.org>
1327 [iOS WebKit2] Add support for text autosizing
1328 <rdar://problem/16545245>
1329 https://bugs.webkit.org/show_bug.cgi?id=132237
1331 Reviewed by Tim Horton.
1333 Move text autosizing width from Frame to Page, as it is a Page level concept.
1337 (WebCore::Frame::textAutosizingWidth): Deleted.
1338 (WebCore::Frame::setTextAutosizingWidth): Deleted.
1340 * page/FrameView.cpp:
1341 (WebCore::FrameView::layout):
1343 (WebCore::Page::Page):
1345 (WebCore::Page::textAutosizingWidth):
1346 (WebCore::Page::setTextAutosizingWidth):
1348 2014-04-27 Zan Dobersek <zdobersek@igalia.com>
1350 Unreviewed. Updating one bindings test baseline after r167855.
1352 * bindings/scripts/test/JS/JSTestCallback.cpp:
1353 (WebCore::JSTestCallback::~JSTestCallback):
1355 2014-04-27 Darin Adler <darin@apple.com>
1357 Webpages can trigger loads with invalid URLs
1358 https://bugs.webkit.org/show_bug.cgi?id=132224
1359 rdar://problem/16697142
1361 Reviewed by Alexey Proskuryakov.
1363 Invalid URLs can be a way to trick the user about what website they
1364 are looking at. Still trying to figure out a good way to regression-test this.
1367 (WebCore::Document::processHttpEquiv): Pass a URL rather than a String to
1368 the navigation scheduler.
1369 * loader/FrameLoader.cpp:
1370 (WebCore::FrameLoader::receivedFirstData): Ditto.
1372 * loader/NavigationScheduler.cpp:
1373 (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Take a URL rather
1375 (WebCore::ScheduledURLNavigation::url): Ditto.
1376 (WebCore::ScheduledRedirect::ScheduledRedirect): Ditto.
1377 (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
1378 (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
1379 (WebCore::NavigationScheduler::shouldScheduleNavigation): Added a check that
1380 prevents navigation to any URL that is invalid, except for JavaScript URLs,
1381 which need not be valid.
1382 (WebCore::NavigationScheduler::scheduleRedirect): Use URL instead of String.
1383 (WebCore::NavigationScheduler::scheduleLocationChange): Use URL instead of
1384 String. Also got rid of empty string check since empty URLs are also invalid,
1385 and so shouldScheduleNavigation will take care of it.
1386 (WebCore::NavigationScheduler::scheduleRefresh): Use URL instead of String.
1388 * loader/NavigationScheduler.h: Take URL instead of String. Also removed some
1389 unneeded incldues and uses of WTF_MAKE_NONCOPYABLE. NavigationScheduler is
1390 already noncopyable because it has a reference for a data member, and the
1391 disabler doesn't have any real reason to be noncopyable.
1393 * loader/SubframeLoader.cpp:
1394 (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass a URL rather than a
1395 String to the NavigationScheduler.
1396 * page/DOMWindow.cpp:
1397 (WebCore::DOMWindow::createWindow): Ditto.
1399 * page/SecurityOrigin.cpp:
1400 (WebCore::SecurityOrigin::urlWithUniqueSecurityOrigin): Return a URL instead
1402 * page/SecurityOrigin.h: Updated for above change.
1404 2014-04-27 Zan Dobersek <zdobersek@igalia.com>
1406 ScriptExecutionContext::Task should work well with C++11 lambdas
1407 https://bugs.webkit.org/show_bug.cgi?id=129795
1409 Reviewed by Darin Adler.
1411 Instead of having classes that subclass ScriptExecutionContext::Task and override
1412 the performTask(ScriptExecutionContext*) method, have the ScriptExecutionContext::Task
1413 take in a std::function<void (ScriptExecutionContext*)>-like object trough the constructor
1414 which would contain the code currently kept in the performTask() methods.
1416 This enables inlining C++11 lambdas into ScriptExecutionContext::postTask() calls. For
1417 cleanup tasks, the Task object can be implicitly constructed by using the initializer list
1418 constructor with the first argument being the ScriptExecutionContext::Task::CleanupTask tag.
1419 The ScriptExecutionContext class remains non-copyable and now stores the passed-in invokable
1420 object in the std::function wrapper, along with a boolean member that indicates whether the
1421 task is of cleanup nature.
1423 * Modules/quota/StorageErrorCallback.cpp:
1424 (WebCore::StorageErrorCallback::CallbackTask::CallbackTask):
1425 (WebCore::StorageErrorCallback::CallbackTask::performTask): Deleted.
1426 * Modules/quota/StorageErrorCallback.h:
1427 (WebCore::StorageErrorCallback::CallbackTask::create): Deleted.
1428 * Modules/webdatabase/Database.cpp:
1429 (WebCore::Database::~Database):
1430 (WebCore::Database::runTransaction):
1431 (WebCore::Database::scheduleTransactionCallback):
1432 (WebCore::DerefContextTask::create): Deleted.
1433 (WebCore::DerefContextTask::performTask): Deleted.
1434 (WebCore::DerefContextTask::isCleanupTask): Deleted.
1435 (WebCore::DerefContextTask::DerefContextTask): Deleted.
1436 (WebCore::callTransactionErrorCallback): Deleted.
1437 (WebCore::DeliverPendingCallbackTask::create): Deleted.
1438 (WebCore::DeliverPendingCallbackTask::performTask): Deleted.
1439 (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask): Deleted.
1440 * Modules/webdatabase/DatabaseManager.cpp:
1441 (WebCore::DatabaseManager::openDatabase):
1442 (WebCore::DatabaseCreationCallbackTask::create): Deleted.
1443 (WebCore::DatabaseCreationCallbackTask::performTask): Deleted.
1444 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): Deleted.
1445 * Modules/webdatabase/DatabaseSync.cpp:
1446 (WebCore::CloseSyncDatabaseOnContextThreadTask::create): Deleted.
1447 (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask): Deleted.
1448 (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask): Deleted.
1449 * Modules/webdatabase/SQLCallbackWrapper.h:
1450 (WebCore::SQLCallbackWrapper::clear):
1451 (WebCore::SQLCallbackWrapper::SafeReleaseTask::create): Deleted.
1452 (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask): Deleted.
1453 (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask): Deleted.
1454 (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask): Deleted.
1455 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1456 (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
1457 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
1458 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
1459 (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
1460 (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
1461 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
1462 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
1463 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
1464 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
1465 * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
1466 (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
1467 (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
1468 (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
1469 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create): Deleted.
1470 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask): Deleted.
1471 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask): Deleted.
1472 * Modules/websockets/WorkerThreadableWebSocketChannel.h:
1473 * bindings/js/JSCallbackData.h:
1474 (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
1475 (WebCore::DeleteCallbackDataTask::create): Deleted.
1476 (WebCore::DeleteCallbackDataTask::performTask): Deleted.
1477 (WebCore::DeleteCallbackDataTask::isCleanupTask): Deleted.
1478 * bindings/js/JSDOMGlobalObjectTask.cpp:
1479 (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
1480 (WebCore::JSGlobalObjectTask::~JSGlobalObjectTask): Deleted.
1481 (WebCore::JSGlobalObjectTask::performTask): Deleted.
1482 * bindings/js/JSDOMGlobalObjectTask.h:
1483 * bindings/js/JSDOMWindowBase.cpp:
1484 (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
1485 * bindings/js/JSWorkerGlobalScopeBase.cpp:
1486 (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
1487 * bindings/scripts/CodeGeneratorJS.pm:
1488 (GenerateCallbackImplementation):
1489 * dom/CrossThreadTask.h:
1490 (WebCore::CrossThreadTask1::performTask):
1491 (WebCore::CrossThreadTask2::performTask):
1492 (WebCore::CrossThreadTask3::performTask):
1493 (WebCore::CrossThreadTask4::performTask):
1494 (WebCore::CrossThreadTask5::performTask):
1495 (WebCore::CrossThreadTask6::performTask):
1496 (WebCore::CrossThreadTask7::performTask):
1497 (WebCore::CrossThreadTask8::performTask):
1498 (WebCore::createCallbackTask):
1499 (WebCore::CrossThreadTask1::create): Deleted.
1500 (WebCore::CrossThreadTask2::create): Deleted.
1501 (WebCore::CrossThreadTask3::create): Deleted.
1502 (WebCore::CrossThreadTask4::create): Deleted.
1503 (WebCore::CrossThreadTask5::create): Deleted.
1504 (WebCore::CrossThreadTask6::create): Deleted.
1505 (WebCore::CrossThreadTask7::create): Deleted.
1506 (WebCore::CrossThreadTask8::create): Deleted.
1508 (WebCore::Document::addConsoleMessage):
1509 (WebCore::Document::addMessage):
1510 (WebCore::Document::postTask):
1511 (WebCore::Document::pendingTasksTimerFired):
1512 (WebCore::PerformTaskContext::PerformTaskContext): Deleted.
1513 (WebCore::Document::didReceiveTask): Deleted.
1515 * dom/ScriptExecutionContext.cpp:
1516 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
1517 (WebCore::ScriptExecutionContext::timerAlignmentInterval):
1518 (WebCore::ProcessMessagesSoonTask::create): Deleted.
1519 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask): Deleted.
1520 (WebCore::ScriptExecutionContext::Task::~Task): Deleted.
1521 * dom/ScriptExecutionContext.h:
1522 (WebCore::ScriptExecutionContext::Task::Task):
1523 (WebCore::ScriptExecutionContext::Task::performTask):
1524 (WebCore::ScriptExecutionContext::Task::isCleanupTask):
1525 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
1526 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create): Deleted.
1527 * dom/StringCallback.cpp:
1528 (WebCore::StringCallback::scheduleCallback):
1529 * loader/appcache/ApplicationCacheGroup.cpp:
1530 (WebCore::ApplicationCacheGroup::postListenerTask):
1531 (WebCore::CallCacheListenerTask::create): Deleted.
1532 (WebCore::CallCacheListenerTask::CallCacheListenerTask): Deleted.
1533 * workers/DefaultSharedWorkerRepository.cpp:
1534 (WebCore::SharedWorkerProxy::postTaskToLoader):
1535 (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
1536 (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
1537 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
1538 (WebCore::DefaultSharedWorkerRepository::connectToWorker):
1539 (WebCore::SharedWorkerConnectTask::create): Deleted.
1540 (WebCore::SharedWorkerConnectTask::performTask): Deleted.
1541 * workers/WorkerEventQueue.cpp:
1542 (WebCore::WorkerEventQueue::EventDispatcher::EventDispatcher):
1543 (WebCore::WorkerEventQueue::EventDispatcher::~EventDispatcher):
1544 (WebCore::WorkerEventQueue::EventDispatcher::dispatch):
1545 (WebCore::WorkerEventQueue::enqueueEvent):
1546 (WebCore::WorkerEventQueue::cancelEvent):
1547 (WebCore::WorkerEventQueue::close):
1548 * workers/WorkerEventQueue.h:
1549 * workers/WorkerGlobalScope.cpp:
1550 (WebCore::WorkerGlobalScope::close):
1551 (WebCore::WorkerGlobalScope::postTask):
1552 (WebCore::WorkerGlobalScope::addConsoleMessage):
1553 (WebCore::WorkerGlobalScope::addMessage):
1554 (WebCore::CloseWorkerGlobalScopeTask::create): Deleted.
1555 (WebCore::CloseWorkerGlobalScopeTask::performTask): Deleted.
1556 (WebCore::CloseWorkerGlobalScopeTask::isCleanupTask): Deleted.
1557 * workers/WorkerGlobalScope.h:
1558 * workers/WorkerLoaderProxy.h:
1559 * workers/WorkerMessagingProxy.cpp:
1560 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
1561 (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
1562 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
1563 (WebCore::WorkerMessagingProxy::postTaskToLoader):
1564 (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
1565 (WebCore::WorkerMessagingProxy::workerThreadCreated):
1566 (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
1567 (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
1568 (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
1569 (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
1570 (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
1571 (WebCore::WorkerMessagingProxy::reportPendingActivity):
1572 (WebCore::MessageWorkerGlobalScopeTask::create): Deleted.
1573 (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask): Deleted.
1574 (WebCore::MessageWorkerGlobalScopeTask::performTask): Deleted.
1575 (WebCore::MessageWorkerTask::create): Deleted.
1576 (WebCore::MessageWorkerTask::MessageWorkerTask): Deleted.
1577 (WebCore::MessageWorkerTask::performTask): Deleted.
1578 (WebCore::WorkerExceptionTask::create): Deleted.
1579 (WebCore::WorkerExceptionTask::WorkerExceptionTask): Deleted.
1580 (WebCore::WorkerExceptionTask::performTask): Deleted.
1581 (WebCore::WorkerGlobalScopeDestroyedTask::create): Deleted.
1582 (WebCore::WorkerGlobalScopeDestroyedTask::WorkerGlobalScopeDestroyedTask): Deleted.
1583 (WebCore::WorkerGlobalScopeDestroyedTask::performTask): Deleted.
1584 (WebCore::WorkerTerminateTask::create): Deleted.
1585 (WebCore::WorkerTerminateTask::WorkerTerminateTask): Deleted.
1586 (WebCore::WorkerTerminateTask::performTask): Deleted.
1587 (WebCore::WorkerThreadActivityReportTask::create): Deleted.
1588 (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask): Deleted.
1589 (WebCore::WorkerThreadActivityReportTask::performTask): Deleted.
1590 (WebCore::PostMessageToPageInspectorTask::create): Deleted.
1591 (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask): Deleted.
1592 (WebCore::PostMessageToPageInspectorTask::performTask): Deleted.
1593 (WebCore::NotifyNetworkStateChangeTask::create): Deleted.
1594 (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask): Deleted.
1595 (WebCore::NotifyNetworkStateChangeTask::performTask): Deleted.
1596 * workers/WorkerMessagingProxy.h:
1597 * workers/WorkerRunLoop.cpp:
1598 (WebCore::WorkerRunLoop::postTask):
1599 (WebCore::WorkerRunLoop::postTaskAndTerminate):
1600 (WebCore::WorkerRunLoop::postTaskForMode):
1601 (WebCore::WorkerRunLoop::Task::create):
1602 (WebCore::WorkerRunLoop::Task::performTask):
1603 (WebCore::WorkerRunLoop::Task::Task):
1604 * workers/WorkerRunLoop.h:
1605 * workers/WorkerThread.cpp:
1606 (WebCore::WorkerThread::stop):
1607 (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
1608 (WebCore::WorkerThreadShutdownFinishTask::create): Deleted.
1609 (WebCore::WorkerThreadShutdownFinishTask::performTask): Deleted.
1610 (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask): Deleted.
1611 (WebCore::WorkerThreadShutdownStartTask::create): Deleted.
1612 (WebCore::WorkerThreadShutdownStartTask::performTask): Deleted.
1613 (WebCore::WorkerThreadShutdownStartTask::isCleanupTask): Deleted.
1615 2014-04-27 Antti Koivisto <antti@apple.com>
1617 Coalesce responses on network process side
1618 https://bugs.webkit.org/show_bug.cgi?id=132229
1620 Reviewed by Andreas Kling.
1624 2014-04-27 David Kilzer <ddkilzer@apple.com>
1626 Roll out changes not part of the patch reviewed for Bug 132089
1627 <http://webkit.org/b/132089>
1629 * loader/SubframeLoader.cpp:
1630 (WebCore::SubframeLoader::loadOrRedirectSubframe):
1631 * page/DOMWindow.cpp:
1632 (WebCore::DOMWindow::setLocation):
1633 (WebCore::DOMWindow::createWindow):
1634 (WebCore::DOMWindow::open):
1636 2014-04-26 Darin Adler <darin@apple.com>
1638 Frame and page lifetime fixes in WebCore::createWindow
1639 https://bugs.webkit.org/show_bug.cgi?id=132089
1641 Reviewed by Sam Weinig.
1643 Speculative fix because I was unable to reproduce the crash that was
1644 reported with the test case attached to this bug.
1646 * loader/FrameLoader.cpp:
1647 (WebCore::createWindow): Changed code to remove the assumption that calls
1648 out will not destroy the page or frame. Use RefPtr for the frame, and
1649 added early exits if frame->page() becomes null at any point before we
1652 2014-04-26 Alexey Proskuryakov <ap@apple.com>
1654 Local files should not be allowed to read pasteboard data during drag
1655 https://bugs.webkit.org/show_bug.cgi?id=131767
1657 Reviewed by Sam Weinig.
1659 Test: fast/files/local-file-drag-security.html
1661 * page/DragController.cpp:
1662 (WebCore::DragController::dragExited):
1663 (WebCore::DragController::tryDHTMLDrag):
1664 Make an old Dashboard quirk really Dashboard only.
1666 2014-04-24 Darin Adler <darin@apple.com>
1668 REGRESSION (r164133): Selection doesn't paint when scrolling some pages
1669 https://bugs.webkit.org/show_bug.cgi?id=132172
1670 rdar://problem/16719473
1672 Reviewed by Brent Fulgham.
1674 Tests: fast/dynamic/remove-invisible-node-inside-selection.html
1675 fast/dynamic/remove-node-inside-selection.html
1677 * editing/FrameSelection.cpp:
1678 (WebCore::clearRenderViewSelection): Changed to take a Node& because having
1679 this take a Position& was unnecessary and strange, when really it just needs
1680 to take a document as an argument.
1681 (WebCore::DragCaretController::nodeWillBeRemoved): Updated for the above.
1682 (WebCore::FrameSelection::respondToNodeModification): Added code to set the
1683 m_pendingSelectionUpdate flag and call RenderView::setNeedsLayout so the
1684 selection will be recomputed after it's temporarily cleared when one of
1685 the selected nodes is removed.
1687 2014-04-25 Ryosuke Niwa <rniwa@webkit.org>
1689 REGRESSION (r167689): Hovering file name in a file input causes a crash
1690 https://bugs.webkit.org/show_bug.cgi?id=132214
1692 Reviewed by Andreas Kling.
1694 The bug was caused by callDefaultEventHandlersInTheBubblingOrder unconditionally
1695 accessing path.contextAt(0) even if the event path was empty.
1697 Fixed the bug by exiting early when the event path is empty.
1699 Test: fast/events/shadow-event-path-2.html
1701 * dom/EventDispatcher.cpp:
1702 (WebCore::callDefaultEventHandlersInTheBubblingOrder):
1704 2014-04-25 Tim Horton <timothy_horton@apple.com>
1706 REGRESSION (r167828): http/tests/media/hls/video-controls-live-stream.html fails
1708 * English.lproj/mediaControlsLocalizedStrings.js:
1709 Add 'Live Broadcast' to the localized strings list.
1711 2014-04-25 Brady Eidson <beidson@apple.com>
1713 Add a selection overlay.
1714 <rdar://problem/16727797> and https://bugs.webkit.org/show_bug.cgi?id=132200
1716 Reviewed by David Hyatt.
1718 No new tests (WK2 feature in development).
1720 * WebCore.xcodeproj/project.pbxproj:
1722 Add a SelectionRectGathterer class.
1723 It creates a Notifier (given a RenderView) then accepts Rects from the RenderView.
1724 When the Notifier is destroyed, the appropriate EditorClient is notified of the gathered rects.
1725 * editing/SelectionRectGatherer.cpp: Added.
1726 (WebCore::SelectionRectGatherer::SelectionRectGatherer):
1727 (WebCore::SelectionRectGatherer::addRect):
1728 (WebCore::SelectionRectGatherer::addRects):
1729 (WebCore::SelectionRectGatherer::Notifier::Notifier):
1730 (WebCore::SelectionRectGatherer::Notifier::~Notifier):
1731 (WebCore::SelectionRectGatherer::clearAndCreateNotifier):
1732 * editing/SelectionRectGatherer.h: Added.
1734 * page/EditorClient.h:
1735 (WebCore::EditorClient::selectionRectsDidChange):
1737 * rendering/RenderView.cpp:
1738 (WebCore::RenderView::RenderView):
1739 (WebCore::RenderView::setSelection): Clear the gatherer’s rects then create a Notifier.
1740 (WebCore::RenderView::setSubtreeSelection): Give all the selection rects to be painted to
1741 the SelectionRectGatherer.
1742 * rendering/RenderView.h:
1744 2014-04-08 Jer Noble <jer.noble@apple.com>
1746 Support "Live" streams in media controls.
1747 https://bugs.webkit.org/show_bug.cgi?id=131390
1749 Reviewed by Brent Fulgham.
1751 Test: http/tests/media/hls/video-controls-live-stream.html
1753 Support "Live" streams by adding an isLive property to our media controls.
1755 * Modules/mediacontrols/mediaControlsApple.css:
1756 (audio::-webkit-media-controls-status-display):
1757 (video:-webkit-full-screen::-webkit-media-controls-status-display):
1758 * Modules/mediacontrols/mediaControlsApple.js:
1759 (Controller): isLive defaults to false.
1760 (Controller.prototype.setIsLive): Set the isLive property and conditionally reconfigure the controls.
1761 (Controller.prototype.configureInlineControls): Don't add the timeline if we are live.
1762 (Controller.prototype.configureFullScreenControls): Ditto.
1763 (Controller.prototype.updateStatusDisplay): Added.
1764 (Controller.prototype.handleLoadStart): Call updateStatusDisplay().
1765 (Controller.prototype.handleError): Ditto.
1766 (Controller.prototype.handleAbort): Ditto.
1767 (Controller.prototype.handleSuspend): Ditto.
1768 (Controller.prototype.handleStalled): Ditto.
1769 (Controller.prototype.handleWaiting): Ditto.
1770 (Controller.prototype.updateDuration): Ditto.
1771 (Controller.prototype.updateReadyState): Ditto.
1773 2014-04-25 Dean Jackson <dino@apple.com>
1775 Allow a platform-specific size enumeration to be passed into popup-menu display
1776 https://bugs.webkit.org/show_bug.cgi?id=132195
1778 Reviewed by Brent Fulgham. With some in-person review comments from Sam Weinig.
1780 Platforms like OS X use a set of predefined sizes for built-in controls
1781 used for <select>: normal, small and mini. Expose that information to
1782 the PopupMenuClient via the PopupMenuStyle, allowing it to be passed
1783 into the platform code in WebKitSystemInterface.
1785 * platform/PopupMenuStyle.h: Add a menu size enum.
1786 (WebCore::PopupMenuStyle::PopupMenuStyle):
1787 (WebCore::PopupMenuStyle::menuSize):
1788 * platform/mac/WebCoreSystemInterface.h: Pass in NSControlSize as a parameter
1790 * platform/mac/WebCoreSystemInterface.mm: Ditto.
1791 * rendering/RenderMenuList.cpp:
1792 (RenderMenuList::menuStyle): Ask the RenderTheme to calculate the size
1793 of the menu button, so that it can be added to the PopupMenuStyle.
1794 * rendering/RenderTheme.h: New method to retrieve the menu size.
1795 (WebCore::RenderTheme::popupMenuSize): Convert an NSControlSize into a PopupMenuSize.
1796 * rendering/RenderThemeMac.h: Override the base function, and add a
1797 controlSizeForCell helper.
1798 * rendering/RenderThemeMac.mm:
1799 (WebCore::RenderThemeMac::controlSizeForCell): Used by this new
1800 code and the old setControlSizeForCell to calculate the NSControlSize
1801 that would be used for the button.
1802 (WebCore::RenderThemeMac::setControlSize): Call the new helper.
1803 (WebCore::RenderThemeMac::popupMenuSize): Return the value from the helper.
1805 2014-04-25 Javier Fernandez <jfernandez@igalia.com>
1807 REGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout/grid-template-shorthand-get-set.html
1808 https://bugs.webkit.org/show_bug.cgi?id=132194
1810 Reviewed by Martin Robinson.
1812 Properly resolving the grid-template shorthand for the corresponding longhand
1815 No new tests, grid-template-shorthand-get-set.html already covers this case.
1817 * css/StyleProperties.cpp:
1818 (WebCore::StyleProperties::getPropertyValue):
1819 * css/StylePropertyShorthand.cpp:
1820 (WebCore::shorthandForProperty):
1821 (WebCore::matchingShorthandsForLonghand):
1822 * css/StyleResolver.cpp:
1823 (WebCore::StyleResolver::applyProperty):
1825 2014-04-25 David Hyatt <hyatt@apple.com>
1827 Column rules not respecting scroll offsets.
1828 https://bugs.webkit.org/show_bug.cgi?id=109683
1830 Reviewed by Dean Jackson.
1832 Added fast/multicol/scrolling-column-rules.html
1834 * rendering/RenderBlock.cpp:
1835 (WebCore::RenderBlock::paintColumnRules):
1836 Make paintColumnRules virtual so that it works with both column implementations.
1838 (WebCore::RenderBlock::paintObject):
1839 Changed to call paintColumnRules with the adjusted scroll offset and to do it after
1840 bailing on the root background only check.
1842 * rendering/RenderBlock.h:
1843 paintColumnRules is now virtual.
1845 * rendering/RenderBlockFlow.cpp:
1846 (WebCore::RenderBlockFlow::paintColumnRules):
1847 (WebCore::RenderBlockFlow::paintBoxDecorations): Deleted.
1848 * rendering/RenderBlockFlow.h:
1849 Got rid of paintBoxDecorations override since it failed when hasBoxDecorations was false
1850 anyway. Override paintColumnRules instead to paint at the right time.
1852 2014-04-23 Jon Honeycutt <jhoneycutt@apple.com>
1854 Crash applying editing commands from iframe onload event
1856 <https://bugs.webkit.org/show_bug.cgi?id=132103>
1857 <rdar://problem/15696351>
1859 This patch merges the Chromium bug workaround from
1860 <http://src.chromium.org/viewvc/blink?revision=162080&view=revision>,
1861 which prevents reentrancy in CompositeEditCommand::apply().
1863 Reviewed by Darin Adler.
1865 Test: editing/apply-style-iframe-crash.html
1867 * editing/CompositeEditCommand.cpp:
1868 (WebCore::HTMLNames::ReentrancyGuard::isRecursiveCall):
1869 (WebCore::HTMLNames::ReentrancyGuard::Scope::Scope):
1870 (WebCore::HTMLNames::ReentrancyGuard::Scope::~Scope):
1871 (WebCore::CompositeEditCommand::apply):
1872 If this is a recursive call, return early.
1874 2014-04-25 David Hyatt <hyatt@apple.com>
1876 [New Multicolumn] fast/multicol/hit-test-* layout tests all fail
1877 https://bugs.webkit.org/show_bug.cgi?id=132081
1879 Reviewed by Dean Jackson.
1881 Added a bunch of tests in fast/multicol/newmulticol/compare-with-old-impl/hit-test-*.html
1883 * rendering/RenderBlock.h:
1884 Make offsetForContents public, since I need to call it from RenderMultiColumnSet.
1886 * rendering/RenderMultiColumnFlowThread.cpp:
1887 (WebCore::RenderMultiColumnFlowThread::populate):
1888 Stop an ASSERT in the new columns code on the hit tests by making sure layout state is
1889 disabled when moving children around.
1891 * rendering/RenderMultiColumnSet.cpp:
1892 (WebCore::RenderMultiColumnSet::positionForPoint):
1893 Refactor this function to call a helper function instead, translateRegionPointToFlowThread.
1895 (WebCore::RenderMultiColumnSet::translateRegionPointToFlowThread):
1896 This function is logical (unlike the mistaken physical function I first implemented in
1899 (WebCore::RenderMultiColumnSet::updateHitTestResult):
1900 * rendering/RenderMultiColumnSet.h:
1901 Overridden to fill in the correct local coordinate when the HTML document is inside a paginated
1902 RenderView. Note that column spans don't actually work, but once we move over to a
1903 non-column based pagination API, that will become irrelevant.
1905 2014-04-25 Andreas Kling <akling@apple.com>
1907 Mark some things with WTF_MAKE_FAST_ALLOCATED.
1908 <https://webkit.org/b/132198>
1910 Use FastMalloc for more things.
1912 Reviewed by Anders Carlsson.
1914 * bindings/js/ScriptController.h:
1915 * dom/DocumentOrderedMap.h:
1916 * inspector/InspectorCSSAgent.h:
1917 * inspector/InspectorDOMAgent.h:
1918 * inspector/InspectorDOMDebuggerAgent.h:
1919 * inspector/InspectorDOMStorageAgent.h:
1920 * inspector/InspectorDatabaseAgent.h:
1921 * inspector/InspectorLayerTreeAgent.h:
1922 * inspector/InspectorPageAgent.h:
1923 * inspector/InspectorResourceAgent.h:
1924 * inspector/InspectorTimelineAgent.h:
1925 * inspector/InspectorWorkerAgent.h:
1926 * inspector/PageRuntimeAgent.h:
1927 * loader/HistoryController.h:
1928 * page/DeviceClient.h:
1929 * page/DeviceController.h:
1930 * page/EventHandler.h:
1932 * page/scrolling/ScrollingStateNode.h:
1933 * platform/graphics/FontGenericFamilies.h:
1934 * platform/graphics/FontPlatformData.h:
1936 2014-04-25 Radu Stavila <stavila@adobe.com>
1938 [CSS Regions] Rename objectShouldPaintInFlowRegion to something more clear
1939 https://bugs.webkit.org/show_bug.cgi?id=132050
1941 Reviewed by Andreas Kling.
1943 The objectShouldPaintInFlowRegion is no longer used only by the painting process
1944 but also for hit-testing, so it was renamed to something more generic (objectShouldFragmentInFlowRegion).
1946 No new tests required, it's just a method rename.
1948 * rendering/RenderBlock.cpp:
1949 (WebCore::RenderBlock::paint):
1950 (WebCore::RenderBlock::selectionGaps):
1951 (WebCore::RenderBlock::nodeAtPoint):
1952 * rendering/RenderBox.cpp:
1953 (WebCore::RenderBox::positionForPoint):
1954 * rendering/RenderFlowThread.cpp:
1955 (WebCore::RenderFlowThread::objectShouldFragmentInFlowRegion):
1956 (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion): Deleted.
1957 * rendering/RenderFlowThread.h:
1958 * rendering/RenderLayer.cpp:
1959 (WebCore::RenderLayer::paintLayer):
1960 (WebCore::RenderLayer::hitTestLayer):
1961 * rendering/RenderRegion.cpp:
1962 (WebCore::RenderRegion::ensureOverflowForBox):
1963 * rendering/RenderReplaced.cpp:
1964 (WebCore::RenderReplaced::shouldPaint):
1966 2014-04-25 Enrica Casucci <enrica@apple.com>
1968 iOS build fix after http://trac.webkit.org/changeset/167803
1972 (WebCore::Frame::checkOverflowScroll):
1973 * rendering/RenderBlock.cpp:
1974 (WebCore::positionForPointRespectingEditingBoundaries):
1976 2014-04-24 David Hyatt <hyatt@apple.com>
1978 [New Multicolumn] Add support for offsetLeft and offsetTop.
1979 https://bugs.webkit.org/show_bug.cgi?id=132080
1981 Reviewed by Andrei Bucur.
1983 Added fast/multicol/client-spanners-complex.html and offset-top-left.html
1985 * rendering/RenderBoxModelObject.cpp:
1986 (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
1987 Patch the offsetLeft/Top loop to handle calling into RenderMultiColumnFlowThread
1988 in order to adjust the coordinates for the new multicolumn layout.
1990 * rendering/RenderMultiColumnFlowThread.cpp:
1991 (WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
1992 Modified to use a helper that can be shared by offsetLeft/Top code. This code
1993 ran for client rects, and I'm moving/refactoring it for more sharing.
1995 (WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion):
1996 (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToRegion):
1997 * rendering/RenderMultiColumnFlowThread.h:
1998 New functions that beef up what was in mapFromFlowToRegion and fix some bugs
1999 with the translation code.
2001 * rendering/RenderMultiColumnSet.cpp:
2002 (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
2003 Patched to factor in the flow thread portion rect of the specific multicolumn set.
2005 * rendering/RenderObject.h:
2006 (WebCore::RenderObject::isRenderMultiColumnFlowThread):
2007 Added for toRenderMultiColumnFlowThread capability.
2009 2014-04-25 Brent Fulgham <bfulgham@apple.com>
2011 ScrollingCoordinator is unaware of topContentInset
2012 https://bugs.webkit.org/show_bug.cgi?id=132158
2013 <rdar://problem/16706152>
2015 Reviewed by Darin Adler.
2017 Test: platform/mac/fast/scrolling/scroll-select-bottom-test.html
2019 The calculation of non-fast-scrollable regions does not currently take
2020 the topContentOffset into account. Consequently, the logic that decides
2021 whether to stay on the scrolling thread, or drop down to an individual
2022 page element, can make the wrong choice. This is especially true for
2023 small scrollable regions (such as <select> elements), where the
2024 topContentInset may be quite close to the size of the scrollable
2027 * page/scrolling/ScrollingCoordinator.cpp:
2028 (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Also
2029 include the topContentInset value in our calculation.
2031 2014-04-25 Javier Fernandez <jfernandez@igalia.com>
2033 REGRESSION(r167799): Breaks debug build
2034 https://bugs.webkit.org/show_bug.cgi?id=132194
2036 Reviewed by Andrei Bucur.
2038 Fix the debug bots after r167799
2040 No new tests, no new functionality.
2042 * css/CSSParser.cpp:
2043 (WebCore::CSSParser::parseGridTemplateShorthand):
2045 2014-04-25 Miyoung Shin <myid.shin@samsung.com>
2047 Web process is crashed during dispatching touchEvent created by JS.
2048 https://bugs.webkit.org/show_bug.cgi?id=113225
2050 Reviewed by Benjamin Poulain.
2052 TouchEvent created by JS should have the necessary attributes
2053 of touches, targetTouches and changedTouches.
2054 It should be verified weather there are touchLists before dispatching touch event.
2056 Test: fast/events/touch/create-touch-event-without-touchList.html
2058 * dom/EventDispatcher.cpp:
2059 (WebCore::EventDispatcher::dispatchEvent):
2060 (WebCore::EventPath::updateTouchLists):
2061 (WebCore::addRelatedNodeResolversForTouchList): Deleted.
2063 2014-04-25 Philippe Normand <pnormand@igalia.com>
2065 [GTK] File webkitRelativePath attribute was removed in r163483
2066 https://bugs.webkit.org/show_bug.cgi?id=132193
2068 Reviewed by Carlos Garcia Campos.
2070 Add the removed getter as deprecated API to keep backwards compatibility.
2072 * bindings/gobject/WebKitDOMDeprecated.cpp:
2073 (webkit_dom_file_get_webkit_relative_path):
2074 * bindings/gobject/WebKitDOMDeprecated.h:
2075 * bindings/gobject/WebKitDOMDeprecated.symbols:
2077 2014-04-25 Radu Stavila <stavila@adobe.com>
2079 [CSS Regions] Overflow selection doesn't work properly
2080 https://bugs.webkit.org/show_bug.cgi?id=130715
2082 Reviewed by David Hyatt.
2084 When hit-testing, painting block selection gaps and searching for the node at a specific point inside a flow thread,
2085 the region range of the box being checked must be validated in order to not return false positives. Otherwise, hit-testing
2086 at the top of region B could hit elements that overflow the bottom of region A.
2088 Tests: fast/regions/selection-in-overflow-hit-testing.html
2089 fast/regions/selection-in-overflow.html
2090 fast/regions/selection-in-text-after-overflow-hit-testing.html
2092 * accessibility/AccessibilityRenderObject.cpp:
2093 (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
2094 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
2096 (WebCore::Document::caretRangeFromPoint):
2097 * editing/FrameSelection.cpp:
2098 (WebCore::FrameSelection::contains):
2099 * editing/VisibleUnits.cpp:
2100 (WebCore::previousLinePosition):
2101 (WebCore::nextLinePosition):
2102 * page/EventHandler.cpp:
2103 (WebCore::EventHandler::selectClosestWordFromHitTestResult):
2104 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
2105 (WebCore::EventHandler::handleMousePressEventTripleClick):
2106 (WebCore::EventHandler::handleMousePressEventSingleClick):
2107 (WebCore::selectionExtentRespectingEditingBoundary):
2108 (WebCore::EventHandler::updateSelectionForMouseDrag):
2109 (WebCore::EventHandler::handleMouseReleaseEvent):
2111 (WebCore::Frame::visiblePositionForPoint):
2112 * rendering/RenderBlock.cpp:
2113 (WebCore::RenderBlock::selectionGaps):
2114 (WebCore::RenderBlock::nodeAtPoint):
2115 (WebCore::positionForPointRespectingEditingBoundaries):
2116 (WebCore::RenderBlock::positionForPointWithInlineChildren):
2117 (WebCore::isChildHitTestCandidate):
2118 (WebCore::RenderBlock::positionForPoint):
2119 * rendering/RenderBlock.h:
2120 * rendering/RenderBlockFlow.cpp:
2121 (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
2122 (WebCore::RenderBlockFlow::positionForPoint):
2123 * rendering/RenderBlockFlow.h:
2124 * rendering/RenderBox.cpp:
2125 (WebCore::RenderBox::positionForPoint):
2126 * rendering/RenderBox.h:
2127 * rendering/RenderFileUploadControl.cpp:
2128 (WebCore::RenderFileUploadControl::positionForPoint):
2129 * rendering/RenderFileUploadControl.h:
2130 * rendering/RenderInline.cpp:
2131 (WebCore::RenderInline::positionForPoint):
2132 * rendering/RenderInline.h:
2133 * rendering/RenderLineBreak.cpp:
2134 (WebCore::RenderLineBreak::positionForPoint):
2135 * rendering/RenderLineBreak.h:
2136 * rendering/RenderMultiColumnSet.cpp:
2137 (WebCore::RenderMultiColumnSet::positionForPoint):
2138 * rendering/RenderMultiColumnSet.h:
2139 * rendering/RenderObject.cpp:
2140 (WebCore::RenderObject::positionForPoint):
2141 * rendering/RenderObject.h:
2142 * rendering/RenderRegion.cpp:
2143 (WebCore::RenderRegion::positionForPoint):
2144 * rendering/RenderRegion.h:
2145 * rendering/RenderReplaced.cpp:
2146 (WebCore::RenderReplaced::positionForPoint):
2147 * rendering/RenderReplaced.h:
2148 * rendering/RenderText.cpp:
2149 (WebCore::RenderText::positionForPoint):
2150 * rendering/RenderText.h:
2151 * rendering/svg/RenderSVGInlineText.cpp:
2152 (WebCore::RenderSVGInlineText::positionForPoint):
2153 * rendering/svg/RenderSVGInlineText.h:
2154 * rendering/svg/RenderSVGText.cpp:
2155 (WebCore::RenderSVGText::positionForPoint):
2156 * rendering/svg/RenderSVGText.h:
2158 2014-04-25 Philippe Normand <pnormand@igalia.com>
2160 [GTK] Iframe seamless support was removed in r163427
2161 https://bugs.webkit.org/show_bug.cgi?id=132192
2163 Reviewed by Carlos Garcia Campos.
2165 Add the removed get and set methods as deprecated API to keep
2166 backwards compatibility.
2168 * bindings/gobject/WebKitDOMDeprecated.cpp:
2169 (webkit_dom_processing_instruction_set_data):
2170 (webkit_dom_html_iframe_element_get_seamless):
2171 (webkit_dom_html_iframe_element_set_seamless):
2172 * bindings/gobject/WebKitDOMDeprecated.h:
2173 * bindings/gobject/WebKitDOMDeprecated.symbols:
2175 2014-04-25 Philippe Normand <pnormand@igalia.com>
2177 [GTK] HTMLInputElement webkitdirectory property was removed in r163483
2178 https://bugs.webkit.org/show_bug.cgi?id=132191
2180 Reviewed by Carlos Garcia Campos.
2182 Add the removed get and set methods as deprecated API to keep
2183 backwards compatibility.
2185 * bindings/gobject/WebKitDOMDeprecated.cpp:
2186 (webkit_dom_html_input_element_get_webkitdirectory):
2187 (webkit_dom_html_input_element_set_webkitdirectory):
2188 * bindings/gobject/WebKitDOMDeprecated.h:
2189 * bindings/gobject/WebKitDOMDeprecated.symbols:
2191 2014-04-25 Javier Fernandez <jfernandez@igalia.com>
2193 [CSS Grid Layout] Implementation of the grid-template shorthand.
2194 https://bugs.webkit.org/show_bug.cgi?id=128980
2196 Reviewed by Darin Adler.
2198 This shorthand sets the values for the grid-template-columns,
2199 grid-template-rows and grid-template-areas, so the implementation
2200 tries to reuse as much available parsing functions as possible.
2202 The "parsingGridTrackList" was refactored to return a CSSValue and
2203 let the "parseValue" function to assign the property value. The
2204 "forwardSlash" operator is now valid when the track-list clause is
2205 part of a shorthand. The "parseValue" function checkouts that only
2206 additional clauses are allowed when processing shorthands; the
2207 grid-columns-rows-get-set.html tests was modified to verify this.
2209 The "parseGridTemplateAreas" was refactored too, in order to
2210 process single areas's rows. This is very useful for the
2211 gris-template secondary syntax, which mixes areas and rows values.
2213 Finally, the "parseGirdLineNames" function was modified as well by
2214 defining an new argument to concatenate head/tail custom-ident
2215 elements and ensure the identList is at the heading index, since
2216 it's now possible the parseList was rewound.
2218 The implementation of the grid-template shorthand tries first to
2219 match the <grid-template-columns> / <grid-template-rows> syntax,
2220 failing back to the secondary syntax if needed. This approach
2221 requires to rewind the parseList but it produces a clearer code.
2223 Test: fast/css-grid-layout/grid-template-shorthand-get-set.html
2225 * css/CSSComputedStyleDeclaration.cpp:
2226 (WebCore::ComputedStyleExtractor::propertyValue):
2227 * css/CSSParser.cpp:
2228 (WebCore::CSSParser::parseValue):
2229 (WebCore::CSSParser::parseGridTemplateRowsAndAreas):
2230 (WebCore::CSSParser::parseGridTemplateShorthand):
2231 (WebCore::CSSParser::parseGridLineNames):
2232 (WebCore::CSSParser::parseGridTrackList):
2233 (WebCore::CSSParser::parseGridTemplateAreasRow):
2234 (WebCore::CSSParser::parseGridTemplateAreas):
2236 * css/CSSParserValues.h:
2237 (WebCore::CSSParserValueList::setCurrentIndex):
2238 * css/CSSPropertyNames.in:
2239 * css/StylePropertyShorthand.cpp:
2240 (WebCore::webkitGridTemplateShorthand):
2241 * css/StylePropertyShorthand.h:
2243 2014-04-25 Andreas Kling <akling@apple.com>
2245 Remove two unused SVGDocument functions.
2246 <https://webkit.org/b/132178>
2248 Reviewed by Antti Koivisto.
2250 * svg/SVGDocument.cpp:
2251 (WebCore::SVGDocument::dispatchZoomEvent): Deleted.
2252 (WebCore::SVGDocument::dispatchScrollEvent): Deleted.
2253 * svg/SVGDocument.h:
2255 2014-04-25 Ion Rosca <rosca@adobe.com>
2257 Incomplete body painting when using blend modes
2258 https://bugs.webkit.org/show_bug.cgi?id=131889
2260 The incomplete painting was caused by the transparency layer created for
2261 the root renderer. We can safely skip creating this transparency layer at
2262 the root level, as there is nothing else being painted behind this layer that
2263 could be used erroneously as a backdrop.
2265 Reviewed by Simon Fraser.
2267 Test: css3/compositing/blend-mode-with-body.html
2269 * rendering/RenderLayer.h:
2270 Changing RenderLayer::paintsWithTransparency so that it will not
2271 return true when the root renderer needs to isolate blending.
2273 2014-04-25 Darin Adler <darin@apple.com>
2275 ASSERTION FAILED: "!m_isolatedWorld->isNormal() || m_wrapper || !m_jsFunction" in svg/custom/use-instanceRoot-event-listeners.xhtml
2276 https://bugs.webkit.org/show_bug.cgi?id=132148
2278 Reviewed by Andreas Kling.
2280 Changed how JSCustomMarkFunction generation works. Instead of leaving out
2281 the generated visitChildren function, just generate a call to visitAdditionalChildren.
2282 This eliminates the need to repeat boilerplate.
2284 The fix for the above bug was to correct mistaken logic where JSSVGElementInstance
2285 had a visitChildren that did not properly mark event listeners because it explicitly
2286 did not call through to the base class visitChildren. The new arrangement makes that
2289 * bindings/js/JSAttrCustom.cpp:
2290 (WebCore::JSAttr::visitAdditionalChildren): Use this instead of visitChildren.
2291 * bindings/js/JSAudioTrackCustom.cpp:
2292 (WebCore::JSAudioTrack::visitAdditionalChildren): Ditto.
2293 * bindings/js/JSAudioTrackListCustom.cpp:
2294 (WebCore::JSAudioTrackList::visitAdditionalChildren): Ditto.
2295 * bindings/js/JSCSSRuleCustom.cpp:
2296 (WebCore::JSCSSRule::visitAdditionalChildren): Ditto.
2297 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2298 (WebCore::JSCSSStyleDeclaration::visitAdditionalChildren): Ditto.
2299 * bindings/js/JSCanvasRenderingContextCustom.cpp:
2300 (WebCore::JSCanvasRenderingContext::visitAdditionalChildren): Ditto.
2301 * bindings/js/JSCryptoKeyPairCustom.cpp:
2302 (WebCore::JSCryptoKeyPair::visitAdditionalChildren): Ditto.
2303 * bindings/js/JSDOMWindowCustom.cpp:
2304 (WebCore::JSDOMWindow::visitAdditionalChildren): Ditto.
2305 * bindings/js/JSMessageChannelCustom.cpp:
2306 (WebCore::JSMessageChannel::visitAdditionalChildren): Ditto.
2307 * bindings/js/JSMessagePortCustom.cpp:
2308 (WebCore::JSMessagePort::visitAdditionalChildren): Ditto.
2309 * bindings/js/JSNodeCustom.cpp:
2310 (WebCore::JSNode::visitAdditionalChildren): Ditto.
2311 * bindings/js/JSNodeFilterCustom.cpp:
2312 (WebCore::JSNodeFilter::visitAdditionalChildren): Ditto.
2313 * bindings/js/JSNodeIteratorCustom.cpp:
2314 (WebCore::JSNodeIterator::visitAdditionalChildren): Ditto.
2315 * bindings/js/JSSVGElementInstanceCustom.cpp:
2316 (WebCore::JSSVGElementInstance::visitAdditionalChildren): Ditto.
2317 * bindings/js/JSSharedWorkerCustom.cpp:
2318 (WebCore::JSSharedWorker::visitAdditionalChildren): Ditto.
2319 * bindings/js/JSStyleSheetCustom.cpp:
2320 (WebCore::JSStyleSheet::visitAdditionalChildren): Ditto.
2321 * bindings/js/JSTextTrackCueCustom.cpp:
2322 (WebCore::JSTextTrackCue::visitAdditionalChildren): Ditto.
2323 * bindings/js/JSTextTrackCustom.cpp:
2324 (WebCore::JSTextTrack::visitAdditionalChildren): Ditto.
2325 * bindings/js/JSTextTrackListCustom.cpp:
2326 (WebCore::JSTextTrackList::visitAdditionalChildren): Ditto.
2327 * bindings/js/JSTreeWalkerCustom.cpp:
2328 (WebCore::JSTreeWalker::visitAdditionalChildren): Ditto.
2329 * bindings/js/JSVideoTrackCustom.cpp:
2330 (WebCore::JSVideoTrack::visitAdditionalChildren): Ditto.
2331 * bindings/js/JSVideoTrackListCustom.cpp:
2332 (WebCore::JSVideoTrackList::visitAdditionalChildren): Ditto.
2333 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2334 (WebCore::JSWebGLRenderingContext::visitAdditionalChildren): Ditto.
2335 * bindings/js/JSWorkerGlobalScopeCustom.cpp:
2336 (WebCore::JSWorkerGlobalScope::visitAdditionalChildren): Ditto.
2337 * bindings/js/JSXMLHttpRequestCustom.cpp:
2338 (WebCore::JSXMLHttpRequest::visitAdditionalChildren): Ditto.
2339 * bindings/js/JSXPathResultCustom.cpp:
2340 (WebCore::JSXPathResult::visitAdditionalChildren): Ditto.
2342 * bindings/js/JSDOMGlobalObject.cpp:
2343 (WebCore::JSDOMGlobalObject::visitChildren): Rewrote to use modern for loops.
2345 * bindings/scripts/CodeGeneratorJS.pm:
2346 (GenerateHeader): Generate declaration of visitAdditionalChildren.
2347 (GenerateImplementation): Generate call to visitAdditionalChildren.
2349 2014-04-24 Andreas Kling <akling@apple.com>
2351 [iOS WebKit2] Enable optimization to mmap downloaded resources once they become file-backed.
2352 <https://webkit.org/b/132171>
2353 <rdar://problem/16720733>
2355 Add a missing export for the USE(CFNETWORK) + WebKit2 combo.
2357 Reviewed by Antti Koivisto.
2361 2014-04-24 Darin Adler <darin@apple.com>
2363 FrameLoader::checkCompleted can hit the "ref'ing while destroyed" assertion
2364 https://bugs.webkit.org/show_bug.cgi?id=132163
2365 rdar://problem/16720640
2367 Reviewed by Brady Eidson.
2369 Couldn't find a way to test this yet. Would be nice to have a test.
2371 * loader/FrameLoader.cpp:
2372 (WebCore::FrameLoader::checkCompleted): Move protector until after we check
2373 if the frame is already complete. That can happen in practice when this is
2374 called from within the frame's destructor. All the code that runs before the
2375 protector simply checks state and does not require protection.
2377 2014-04-24 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2379 Mark Supplement instead of RefCountedSupplement in NavigatorContentUtils
2380 https://bugs.webkit.org/show_bug.cgi?id=132151
2382 Reviewed by Darin Adler.
2384 Though Original goal was to make it sharable across navigator instances, the NavigatorContentUtils
2385 has used RefCountedSupplement<Page> instead of RefCountedSupplement<Navigator>. This patch makes it
2386 use Supplement<Page> because there is no scenario which needs to be shared across navigator instances.
2388 Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=171403.
2390 No new tests, no behavior changes.
2392 * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
2393 (WebCore::NavigatorContentUtils::from):
2394 (WebCore::NavigatorContentUtils::create):
2395 (WebCore::provideNavigatorContentUtilsTo):
2396 * Modules/navigatorcontentutils/NavigatorContentUtils.h:
2398 2014-04-24 Commit Queue <commit-queue@webkit.org>
2400 Unreviewed, rolling out r167700.
2401 https://bugs.webkit.org/show_bug.cgi?id=132142
2403 Incorrectly reverted the change in r167547 for
2404 webkit.org/b/131898 (Requested by rniwa on #webkit).
2408 "Cursor doesn't change back to pointer when leaving the Safari
2410 https://bugs.webkit.org/show_bug.cgi?id=132038
2411 http://trac.webkit.org/changeset/167700
2413 2014-04-24 Brady Eidson <beidson@apple.com>
2415 Rename "IMAGE_CONTROLS" feature to "SERVICE_CONTROLS"
2416 https://bugs.webkit.org/show_bug.cgi?id=132155
2418 Reviewed by Tim Horton.
2420 No new tests (No change in behavior).
2422 * Configurations/FeatureDefines.xcconfig:
2423 * DerivedSources.make:
2425 * css/CSSDefaultStyleSheets.cpp:
2426 (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
2427 * css/CSSPrimitiveValueMappings.h:
2428 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2429 * css/CSSValueKeywords.in:
2431 * html/HTMLImageElement.cpp:
2432 (WebCore::HTMLImageElement::HTMLImageElement):
2433 (WebCore::HTMLImageElement::parseAttribute):
2434 (WebCore::HTMLImageElement::didAttachRenderers):
2435 * html/HTMLImageElement.h:
2436 * html/shadow/ImageControlsRootElement.cpp:
2437 * html/shadow/ImageControlsRootElement.h:
2438 * html/shadow/mac/ImageControlsButtonElementMac.cpp:
2439 * html/shadow/mac/ImageControlsButtonElementMac.h:
2440 * html/shadow/mac/ImageControlsRootElementMac.cpp:
2441 * html/shadow/mac/ImageControlsRootElementMac.h:
2442 * page/ContextMenuContext.cpp:
2443 (WebCore::ContextMenuContext::ContextMenuContext):
2444 * page/ContextMenuContext.h:
2445 * page/ContextMenuController.cpp:
2446 (WebCore::ContextMenuController::maybeCreateContextMenu):
2447 (WebCore::ContextMenuController::populate):
2448 * page/ContextMenuController.h:
2450 * platform/ThemeTypes.h:
2451 * rendering/RenderImage.cpp:
2452 (WebCore::RenderImage::canHaveChildren):
2453 * rendering/RenderTheme.cpp:
2454 (WebCore::RenderTheme::adjustStyle):
2455 (WebCore::RenderTheme::paint):
2456 (WebCore::RenderTheme::paintBorderOnly):
2457 (WebCore::RenderTheme::paintDecorations):
2458 * rendering/RenderTheme.h:
2459 * rendering/RenderThemeMac.h:
2460 * rendering/RenderThemeMac.mm:
2461 (WebCore::RenderThemeMac::servicesRolloverButtonCell):
2462 (WebCore::RenderThemeMac::paintImageControlsButton):
2463 (WebCore::RenderThemeMac::imageControlsButtonSize):
2465 2014-04-24 Timothy Hatcher <timothy@apple.com>
2467 Web Inspector: Restore PageDebuggerAgent::enable / disable
2468 https://bugs.webkit.org/show_bug.cgi?id=132156
2470 Restore functions that were eroniously removed in r167530.
2472 Reviewed by Joseph Pecoraro.
2474 * inspector/PageDebuggerAgent.cpp:
2475 (WebCore::PageDebuggerAgent::enable): Added.
2476 (WebCore::PageDebuggerAgent::disable): Added.
2477 * inspector/PageDebuggerAgent.h:
2479 2014-04-24 Alexey Proskuryakov <ap@apple.com>
2481 Dropzone effects don't work in non-file documents
2482 https://bugs.webkit.org/show_bug.cgi?id=131770
2484 Reviewed by Darin Adler.
2486 File documents have two quirks that were making dropzone work in these before:
2487 1. An ancient hack for Dashboard allows pasteboard access from JS.
2488 2. On Mac, sandbox doesn't prevent File object creation, as we already have the access.
2490 * dom/DataTransfer.cpp:
2491 (WebCore::DataTransfer::hasFileOfType):
2492 (WebCore::DataTransfer::hasStringOfType):
2493 * dom/DataTransfer.h:
2494 Moved these functions from EventHandler to DataTransfer. We can't create a DataTransfer
2495 with Files while dragging, security doesn't permit us to. But we can get the file name.
2498 (WebCore::createBlobDataForFile):
2499 (WebCore::createBlobDataForFileWithName):
2500 (WebCore::File::contentTypeFromFilePath):
2501 (WebCore::getContentTypeFromFileName): Deleted.
2503 Exposed a function to get file type from path without creating a File first.
2504 This is much cheaper than creating a File, and works even when sandbox disallows
2505 read access to content, such as when dragging over a target.
2507 * page/EventHandler.cpp:
2508 (WebCore::hasDropZoneType):
2509 (WebCore::hasFileOfType): Deleted.
2510 (WebCore::hasStringOfType): Deleted.
2512 2014-04-24 Commit Queue <commit-queue@webkit.org>
2514 Unreviewed, rolling out r167441.
2515 https://bugs.webkit.org/show_bug.cgi?id=132152
2517 Caused full screen regressions on vimeo, youtube, and others.
2518 (Requested by jernoble on #webkit).
2522 "Fullscreen media controls are unusable in pagination mode"
2523 https://bugs.webkit.org/show_bug.cgi?id=131705
2524 http://trac.webkit.org/changeset/167441
2526 2014-04-24 Adenilson Cavalcanti <cavalcantii@gmail.com>
2528 Unused class forward declarations in Page
2529 https://bugs.webkit.org/show_bug.cgi?id=132141
2531 Reviewed by Benjamin Poulain.
2533 No new tests, no change on behavior.
2537 2014-04-24 Eric Carlson <eric.carlson@apple.com>
2539 [Mac] don't ask for AVAssetTrack properties before they are available
2540 https://bugs.webkit.org/show_bug.cgi?id=131902
2541 <rdar://problem/16505076>
2543 Reviewed by Brent Fulgham.
2545 No new tests, the behavior this changes can not be tested with a layout test.
2547 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2548 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2549 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
2551 (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Don't report that
2552 metadata has been loaded until the track properties we need have been loaded too.
2553 (WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Cache totalBytes instead
2554 of recalculating it every time.
2555 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Invalidate cached
2557 (WebCore::assetTrackMetadataKeyNames): Array of AVAssetTrack properties we use.
2559 2014-04-24 Myles C. Maxfield <mmaxfield@apple.com>
2561 Unify platformWidthForGlyph across OS X and iOS
2562 https://bugs.webkit.org/show_bug.cgi?id=132036
2564 Reviewed by Darin Adler.
2566 This patch creates on shared SimpleFontData::platformWidthForGlyph() function for both OS X and iOS.
2568 No new tests are necessary because there should be no behavior changes.
2570 * platform/graphics/SimpleFontData.h: Signatures for two helper functions
2571 * platform/graphics/ios/SimpleFontDataIOS.mm: Replace iOS implementation of platformWidthForGlyph() with
2572 implementations of only the two helper functions
2573 (WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
2574 (WebCore::SimpleFontData::advanceForColorBitmapFont): iOS doesn't have color bitmap fonts
2575 (WebCore::SimpleFontData::platformWidthForGlyph): Deleted.
2576 * platform/graphics/mac/SimpleFontDataMac.mm:
2577 (WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
2578 (WebCore::SimpleFontData::advanceForColorBitmapFont): Use [NSFont advancementForGlyph] to compute the advance
2579 (WebCore::hasCustomTracking): Removed #if
2580 (WebCore::isEmoji): Only relevant on iOS
2581 (WebCore::SimpleFontData::platformWidthForGlyph): Shared implementation. Calls helper functions.
2583 2014-04-24 Zalan Bujtas <zalan@apple.com>
2585 Subpixel rendering: Clipping on text areas when shifted by one device pixel.
2586 https://bugs.webkit.org/show_bug.cgi?id=132008
2588 Reviewed by Darin Adler.
2590 Make RenderTheme paint* functions LayoutRect aware. Textarea is device pixel snapped, while
2591 other theme controls are still on integral size/positions.
2593 Test: fast/forms/hidpi-textarea-on-subpixel-position.html
2595 * rendering/RenderBox.cpp:
2596 (WebCore::RenderBox::paintBoxDecorations):
2597 * rendering/RenderTheme.cpp:
2598 (WebCore::RenderTheme::paint):
2599 (WebCore::RenderTheme::paintBorderOnly):
2600 (WebCore::RenderTheme::paintDecorations):
2601 * rendering/RenderTheme.h:
2602 (WebCore::RenderTheme::paintTextField):
2603 (WebCore::RenderTheme::paintTextFieldDecorations):
2604 (WebCore::RenderTheme::paintTextArea):
2605 (WebCore::RenderTheme::paintTextAreaDecorations):
2606 * rendering/RenderThemeIOS.h:
2607 * rendering/RenderThemeIOS.mm:
2608 (WebCore::RenderThemeIOS::paintTextFieldDecorations):
2609 (WebCore::RenderThemeIOS::paintTextAreaDecorations):
2610 * rendering/RenderThemeMac.h:
2611 * rendering/RenderThemeMac.mm:
2612 (WebCore::RenderThemeMac::paintTextField):
2613 (WebCore::RenderThemeMac::paintTextArea):
2615 2014-04-24 Myles C. Maxfield <mmaxfield@apple.com>
2617 FontCache::fontCache() never returns nullptr so it can be made to return a reference instead
2618 https://bugs.webkit.org/show_bug.cgi?id=132110
2620 Reviewed by Tim Horton.
2622 Updates callers to use '.' instead of '->'.
2624 No new tests are necessary because there should be no behavior change.
2626 * css/CSSFontFaceSource.cpp:
2627 (WebCore::CSSFontFaceSource::getFontData):
2628 * css/CSSFontSelector.cpp:
2629 (WebCore::CSSFontSelector::CSSFontSelector):
2630 (WebCore::CSSFontSelector::~CSSFontSelector):
2631 (WebCore::CSSFontSelector::addFontFaceRule):
2632 (WebCore::fontDataForGenericFamily):
2633 (WebCore::CSSFontSelector::getFallbackFontData):
2634 * platform/MemoryPressureHandler.cpp:
2635 (WebCore::MemoryPressureHandler::releaseMemory):
2636 * platform/graphics/FontCache.cpp:
2637 (WebCore::fontCache): Return a reference
2638 * platform/graphics/FontCache.h:
2639 (WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
2640 (WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
2641 * platform/graphics/FontGlyphs.cpp:
2642 (WebCore::FontGlyphs::FontGlyphs):
2643 (WebCore::FontGlyphs::releaseFontData):
2644 (WebCore::FontGlyphs::realizeFontDataAt):
2645 (WebCore::FontGlyphs::glyphDataAndPageForCharacter):
2646 * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2647 (WebCore::FontPlatformData::verticalData):
2648 * platform/graphics/ios/SimpleFontDataIOS.mm:
2649 (WebCore::SimpleFontData::platformCreateScaledFontData):
2650 * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2651 (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
2652 * platform/graphics/mac/FontCacheMac.mm:
2653 (WebCore::invalidateFontCache):
2654 (WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
2655 * platform/graphics/mac/SimpleFontDataMac.mm:
2656 (WebCore::SimpleFontData::platformDestroy):
2657 (WebCore::SimpleFontData::platformCreateScaledFontData):
2658 * platform/graphics/win/FontCacheWin.cpp:
2659 (WebCore::getCJKCodePageMasks):
2660 * platform/graphics/win/SimpleFontDataWin.cpp:
2661 (WebCore::SimpleFontData::containsCharacters):
2662 * platform/graphics/wince/FontCacheWinCE.cpp:
2663 (WebCore::getCJKCodePageMasks):
2664 * platform/graphics/wince/FontPlatformData.cpp:
2665 (WebCore::FontFamilyCodePageInfo::codePages):
2666 (WebCore::FixedSizeFontData::create):
2667 * platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp:
2668 (WebCore::GlyphPage::fill):
2669 * platform/graphics/wince/SimpleFontDataWinCE.cpp:
2670 (WebCore::SimpleFontData::platformCreateScaledFontData):
2671 (WebCore::SimpleFontData::containsCharacters):
2673 2014-04-24 Eric Carlson <eric.carlson@apple.com>
2675 [iOS] Manage AudioSession category according to media type
2676 https://bugs.webkit.org/show_bug.cgi?id=132096
2678 Reviewed by Jer Noble.
2680 * WebCore.exp.in: Export setting.
2682 * html/HTMLMediaSession.cpp:
2683 (WebCore::HTMLMediaSession::HTMLMediaSession):
2684 (WebCore::initializeAudioSession): Deleted.
2686 * page/Settings.cpp:
2688 (WebCore::Settings::setShouldManageAudioSession): New.
2689 (WebCore::Settings::shouldManageAudioSession): Ditto.
2691 * platform/audio/ios/AudioDestinationIOS.cpp:
2692 (WebCore::AudioDestinationIOS::AudioDestinationIOS): Use a MediaSession instead of inheriting
2693 from AudioListener and calling the AudioSession directly.
2694 (WebCore::AudioDestinationIOS::~AudioDestinationIOS): Ditto.
2695 (WebCore::AudioDestinationIOS::start): Notify session.
2696 (WebCore::AudioDestinationIOS::stop): Ditto.
2697 (WebCore::AudioDestinationIOS::beganAudioInterruption): Deleted.
2698 (WebCore::AudioDestinationIOS::endedAudioInterruption): Deleted.
2699 * platform/audio/ios/AudioDestinationIOS.h:
2700 (WebCore::AudioDestinationIOS::mediaType):
2701 (WebCore::AudioDestinationIOS::canReceiveRemoteControlCommands):
2702 (WebCore::AudioDestinationIOS::didReceiveRemoteControlCommand):
2703 (WebCore::AudioDestinationIOS::isPlaying): Deleted.
2705 * platform/audio/ios/AudioSessionIOS.mm:
2706 (WebCore::categoryName): Debug-only logging function.
2707 (WebCore::AudioSession::setCategory): Don't stick with "media" once it is set.
2709 * platform/audio/ios/MediaSessionManagerIOS.mm:
2710 (WebCore::MediaSessionManageriOS::resetRestrictions): Set up restrictions for WebAudio.
2711 (WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Don't set invalid start time.
2713 * platform/audio/mac/MediaSessionManagerMac.cpp:
2714 (MediaSessionManager::updateSessionState): Manage AudioSession.active when WebAudio clients
2715 come and go. Manage AudioSession.category according to the number of WebAudio and
2716 HTMLMediaElement clients.
2718 2014-04-24 David Hyatt <hyatt@apple.com>
2720 [New Multicolumn] Client rects don't work with column spans.
2721 https://bugs.webkit.org/show_bug.cgi?id=132131
2723 Reviewed by Dean Jackson.
2725 Don't factor in the offset of the multicolumn set from the top
2726 of the multicolumn block. This was added already, and it doesn't
2727 need to be a part of columnTranslationForOffset.
2729 Added fast/multicol/client-rects-spanners.html
2731 * rendering/RenderMultiColumnSet.cpp:
2732 (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
2734 2014-04-24 Praveen R Jadhav <praveen.j@samsung.com>
2736 [EFL] WebKit build fails when MEDIA_SOURCE is enabled
2737 https://bugs.webkit.org/show_bug.cgi?id=132118
2739 Reviewed by Brent Fulgham.
2741 Files MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp and
2742 WebKitMediaSourceGStreamer.cpp are included for EFL port build.
2744 No new tests. No change in behaviour.
2746 * PlatformEfl.cmake: MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp
2747 and WebKitMediaSourceGStreamer.cpp are included for compilation.
2749 2014-04-24 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
2751 ASSERTION FAILED: !begin.isIndefinite() in WebCore::SVGSMILElement::resolveFirstInterval.
2752 https://bugs.webkit.org/show_bug.cgi?id=131097
2754 Reviewed by Darin Adler.
2756 According to smil animation reference, max attribute cannot be 0.
2758 Test: svg/animations/smil-animation-max-attribute-zero-crash.svg
2760 * svg/animation/SVGSMILElement.cpp:
2761 (WebCore::SVGSMILElement::maxValue):
2762 changed (result < 0) to (result <= 0)
2764 2014-04-24 Ryuan Choi <ryuan.choi@samsung.com>
2766 Remove screenColorProfile()
2767 https://bugs.webkit.org/show_bug.cgi?id=132035
2769 Reviewed by Darin Adler.
2771 Only chromium used screenColorProfile() since r120789.
2773 * platform/PlatformScreen.h:
2774 * platform/efl/PlatformScreenEfl.cpp:
2775 (WebCore::screenColorProfile): Deleted.
2776 * platform/gtk/PlatformScreenGtk.cpp:
2777 (WebCore::screenColorProfile): Deleted.
2778 * platform/image-decoders/ImageDecoder.h:
2779 (WebCore::ImageDecoder::qcmsOutputDeviceProfile):
2780 * platform/ios/PlatformScreenIOS.mm:
2781 (WebCore::screenColorProfile): Deleted.
2782 * platform/mac/PlatformScreenMac.mm:
2783 (WebCore::screenColorProfile): Deleted.
2784 * platform/win/PlatformScreenWin.cpp:
2785 (WebCore::screenColorProfile): Deleted.
2787 2014-04-24 Zalan Bujtas <zalan@apple.com>
2789 One more unreviewed build fix after r167755.
2791 * html/shadow/mac/ImageControlsButtonElementMac.cpp:
2792 (WebCore::RenderImageControlsButton::updateLogicalWidth):
2793 (WebCore::RenderImageControlsButton::computeLogicalHeight):
2795 2014-04-24 Zalan Bujtas <zalan@apple.com>
2797 Unreviewed build fix after r167755.
2799 * rendering/RenderThemeMac.h:
2801 2014-04-24 Zalan Bujtas <zalan@apple.com>
2803 Transition RenderTheme API from RenderObject* to const RenderObject&
2804 https://bugs.webkit.org/show_bug.cgi?id=132037
2806 Reviewed by Andreas Kling.
2808 Using const references provides better encapsulation and improve security.
2810 No change in behavior.
2812 * accessibility/AccessibilityObject.cpp:
2813 (WebCore::AccessibilityObject::boundingBoxForQuads):
2815 (WebCore::Element::setActive):
2816 (WebCore::Element::setHovered):
2817 * editing/FrameSelection.cpp:
2818 (WebCore::FrameSelection::focusedOrActiveStateChanged):
2819 * html/HTMLFormControlElement.cpp:
2820 (WebCore::HTMLFormControlElement::disabledStateChanged):
2821 (WebCore::HTMLFormControlElement::readOnlyAttributeChanged):
2822 * html/HTMLInputElement.cpp:
2823 (WebCore::HTMLInputElement::setChecked):
2824 (WebCore::HTMLInputElement::setIndeterminate):
2825 * html/HTMLOptionElement.cpp:
2826 (WebCore::HTMLOptionElement::parseAttribute):
2827 * rendering/RenderBlock.cpp:
2828 (WebCore::RenderBlock::addVisualOverflowFromTheme):
2829 (WebCore::RenderBlock::baselinePosition):
2830 * rendering/RenderBox.cpp:
2831 (WebCore::RenderBox::paintBoxDecorations):
2832 * rendering/RenderButton.cpp:
2833 (WebCore::RenderButton::styleDidChange):
2834 * rendering/RenderFileUploadControl.cpp:
2835 (WebCore::RenderFileUploadControl::paintObject):
2836 * rendering/RenderFlowThread.cpp:
2837 (WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
2838 * rendering/RenderObject.cpp:
2839 (WebCore::RenderObject::drawLineForBoxSide):
2840 * rendering/RenderObject.h:
2841 * rendering/RenderProgress.cpp:
2842 (WebCore::RenderProgress::computeLogicalHeight):
2843 * rendering/RenderTextControlSingleLine.cpp:
2844 (WebCore::RenderTextControlSingleLine::paint):
2845 * rendering/RenderTheme.cpp:
2846 (WebCore::RenderTheme::paint):
2847 (WebCore::RenderTheme::paintBorderOnly):
2848 (WebCore::RenderTheme::paintDecorations):
2849 (WebCore::RenderTheme::baselinePosition):
2850 (WebCore::RenderTheme::adjustRepaintRect):
2851 (WebCore::RenderTheme::stateChanged):
2852 (WebCore::RenderTheme::updateControlStatesForRenderer):
2853 (WebCore::RenderTheme::extractControlStatesForRenderer):
2854 (WebCore::RenderTheme::isActive):
2855 (WebCore::RenderTheme::isChecked):
2856 (WebCore::RenderTheme::isIndeterminate):
2857 (WebCore::RenderTheme::isEnabled):
2858 (WebCore::RenderTheme::isFocused):
2859 (WebCore::RenderTheme::isPressed):
2860 (WebCore::RenderTheme::isSpinUpButtonPartPressed):
2861 (WebCore::RenderTheme::isReadOnlyControl):
2862 (WebCore::RenderTheme::isHovered):
2863 (WebCore::RenderTheme::isSpinUpButtonPartHovered):
2864 (WebCore::RenderTheme::isDefault):
2865 (WebCore::RenderTheme::paintInputFieldSpeechButton):
2866 (WebCore::RenderTheme::paintMeter):
2867 (WebCore::RenderTheme::paintSliderTicks):
2868 (WebCore::RenderTheme::progressBarRectForBounds):
2869 * rendering/RenderTheme.h:
2870 (WebCore::RenderTheme::controlSupportsTints):
2871 (WebCore::RenderTheme::paintCapsLockIndicator):
2872 (WebCore::RenderTheme::paintFileUploadIconDecorations):
2873 (WebCore::RenderTheme::imageControlsButtonSize):
2874 (WebCore::RenderTheme::paintCheckbox):
2875 (WebCore::RenderTheme::paintRadio):
2876 (WebCore::RenderTheme::paintButton):
2877 (WebCore::RenderTheme::paintInnerSpinButton):
2878 (WebCore::RenderTheme::paintCheckboxDecorations):
2879 (WebCore::RenderTheme::paintRadioDecorations):
2880 (WebCore::RenderTheme::paintButtonDecorations):
2881 (WebCore::RenderTheme::paintTextField):
2882 (WebCore::RenderTheme::paintTextFieldDecorations):
2883 (WebCore::RenderTheme::paintTextArea):
2884 (WebCore::RenderTheme::paintTextAreaDecorations):
2885 (WebCore::RenderTheme::paintMenuList):
2886 (WebCore::RenderTheme::paintMenuListDecorations):
2887 (WebCore::RenderTheme::paintMenuListButtonDecorations):
2888 (WebCore::RenderTheme::paintPushButtonDecorations):
2889 (WebCore::RenderTheme::paintSquareButtonDecorations):
2890 (WebCore::RenderTheme::paintProgressBar):
2891 (WebCore::RenderTheme::paintSliderTrack):
2892 (WebCore::RenderTheme::paintSliderThumb):
2893 (WebCore::RenderTheme::paintSliderThumbDecorations):
2894 (WebCore::RenderTheme::paintSearchField):
2895 (WebCore::RenderTheme::paintSearchFieldDecorations):
2896 (WebCore::RenderTheme::paintSearchFieldCancelButton):
2897 (WebCore::RenderTheme::paintSearchFieldDecorationPart):
2898 (WebCore::RenderTheme::paintSearchFieldResultsDecorationPart):
2899 (WebCore::RenderTheme::paintSearchFieldResultsButton):
2900 (WebCore::RenderTheme::paintMediaFullscreenButton):
2901 (WebCore::RenderTheme::paintMediaPlayButton):
2902 (WebCore::RenderTheme::paintMediaOverlayPlayButton):
2903 (WebCore::RenderTheme::paintMediaMuteButton):
2904 (WebCore::RenderTheme::paintMediaSeekBackButton):
2905 (WebCore::RenderTheme::paintMediaSeekForwardButton):
2906 (WebCore::RenderTheme::paintMediaSliderTrack):
2907 (WebCore::RenderTheme::paintMediaSliderThumb):
2908 (WebCore::RenderTheme::paintMediaVolumeSliderContainer):
2909 (WebCore::RenderTheme::paintMediaVolumeSliderTrack):
2910 (WebCore::RenderTheme::paintMediaVolumeSliderThumb):
2911 (WebCore::RenderTheme::paintMediaRewindButton):
2912 (WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
2913 (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
2914 (WebCore::RenderTheme::paintMediaControlsBackground):
2915 (WebCore::RenderTheme::paintMediaCurrentTime):
2916 (WebCore::RenderTheme::paintMediaTimeRemaining):
2917 (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack):
2918 (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb):
2919 (WebCore::RenderTheme::paintSnapshottedPluginOverlay):
2920 (WebCore::RenderTheme::paintImageControlsButton):
2921 * rendering/RenderThemeIOS.h:
2922 * rendering/RenderThemeIOS.mm:
2923 (WebCore::RenderThemeIOS::addRoundedBorderClip):
2924 (WebCore::RenderThemeIOS::paintCheckboxDecorations):
2925 (WebCore::RenderThemeIOS::baselinePosition):
2926 (WebCore::RenderThemeIOS::paintRadioDecorations):
2927 (WebCore::RenderThemeIOS::paintTextFieldDecorations):
2928 (WebCore::RenderThemeIOS::paintTextAreaDecorations):
2929 (WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
2930 (WebCore::RenderThemeIOS::paintSliderTrack):
2931 (WebCore::RenderThemeIOS::paintSliderThumbDecorations):
2932 (WebCore::RenderThemeIOS::paintProgressBar):
2933 (WebCore::RenderThemeIOS::paintSearchFieldDecorations):
2934 (WebCore::RenderThemeIOS::paintButtonDecorations):
2935 (WebCore::RenderThemeIOS::paintPushButtonDecorations):
2936 (WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
2937 * rendering/RenderThemeMac.h:
2938 (WebCore::RenderThemeMac::updateActiveState):
2939 * rendering/RenderThemeMac.mm:
2940 (WebCore::RenderThemeMac::documentViewFor):
2941 (WebCore::RenderThemeMac::adjustRepaintRect):
2942 (WebCore::RenderThemeMac::convertToPaintingRect):
2943 (WebCore::RenderThemeMac::updateCheckedState):
2944 (WebCore::RenderThemeMac::updateEnabledState):
2945 (WebCore::RenderThemeMac::updateFocusedState):
2946 (WebCore::RenderThemeMac::updatePressedState):
2947 (WebCore::RenderThemeMac::controlSupportsTints):
2948 (WebCore::RenderThemeMac::paintTextField):
2949 (WebCore::RenderThemeMac::paintCapsLockIndicator):
2950 (WebCore::RenderThemeMac::paintTextArea):
2951 (WebCore::RenderThemeMac::paintMenuList):
2952 (WebCore::RenderThemeMac::paintMeter):
2953 (WebCore::RenderThemeMac::progressBarRectForBounds):
2954 (WebCore::RenderThemeMac::paintProgressBar):
2955 (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2956 (WebCore::RenderThemeMac::paintMenuListButtonDecorations):
2957 (WebCore::RenderThemeMac::setPopupButtonCellState):
2958 (WebCore::RenderThemeMac::paintSliderTrack):
2959 (WebCore::RenderThemeMac::paintSliderThumb):
2960 (WebCore::RenderThemeMac::paintSearchField):
2961 (WebCore::RenderThemeMac::setSearchCellState):
2962 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2963 (WebCore::RenderThemeMac::paintSearchFieldDecorationPart):
2964 (WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
2965 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2966 (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
2967 (WebCore::RenderThemeMac::paintImageControlsButton):
2968 (WebCore::RenderThemeMac::imageControlsButtonSize):
2970 2014-04-23 Carlos Garcia Campos <cgarcia@igalia.com>
2972 [GTK] HTML Media capture attribute is a boolean since r163958
2973 https://bugs.webkit.org/show_bug.cgi?id=132061
2975 Reviewed by Gustavo Noronha Silva.
2977 Add new methods webkit_dom_html_input_element_get_capture_enabled
2978 and webkit_dom_html_input_element_set_capture_enabled using a
2979 boolean and deprecate the old methods.
2981 * bindings/gobject/WebKitDOMDeprecated.cpp:
2982 (webkit_dom_html_input_element_get_capture):
2983 (webkit_dom_html_input_element_set_capture):
2984 * bindings/gobject/WebKitDOMDeprecated.h:
2985 * bindings/gobject/WebKitDOMDeprecated.symbols:
2986 * bindings/gobject/webkitdom.symbols:
2987 * bindings/scripts/CodeGeneratorGObject.pm:
2988 (GetEffectiveFunctionName): Helper function to rename API methods
2990 (GenerateFunction): Use GetEffectiveFunctionName().
2992 2014-04-23 Praveen R Jadhav <praveen.j@samsung.com>
2994 [MediaStream] Implement MediaStream active attribute
2995 https://bugs.webkit.org/show_bug.cgi?id=131973
2997 Reviewed by Eric Carlson.
2999 MediaStream .active attribute are introduced which will replace
3000 .ended attribute. This patch implements the newly introduced attributes.
3002 MediaStream-add-remove-tracks.html is updated to handle this scenario.
3004 * Modules/mediastream/MediaStream.cpp:
3005 (WebCore::MediaStream::active): Added.
3006 (WebCore::MediaStream::setActive): Added.
3007 (WebCore::MediaStream::addTrack): Propagates 'onactive' event when required.
3008 (WebCore::MediaStream::removeTrack): Propagates 'oninactive' event when required.
3009 (WebCore::MediaStream::trackDidEnd): Propagates 'oninactive' event when required.
3010 (WebCore::MediaStream::streamDidEnd):
3011 (WebCore::MediaStream::setStreamIsActive): Added.
3012 * Modules/mediastream/MediaStream.h:
3013 * Modules/mediastream/MediaStream.idl:
3015 * platform/mediastream/MediaStreamPrivate.cpp:
3016 (WebCore::MediaStreamPrivate::MediaStreamPrivate): Initialize .active attribute
3017 (WebCore::MediaStreamPrivate::setEnded):
3018 (WebCore::MediaStreamPrivate::setActive): Added.
3019 * platform/mediastream/MediaStreamPrivate.h:
3020 (WebCore::MediaStreamPrivate::active): Added.
3022 2014-04-23 Darin Adler <darin@apple.com>
3024 [Cocoa] fix CF leaks found by code inspection
3025 https://bugs.webkit.org/show_bug.cgi?id=132106
3027 Reviewed by Andreas Kling.
3029 * page/CaptionUserPreferencesMediaAF.cpp:
3030 (WebCore::trackDisplayName): Added a missing adoptCF.
3032 * platform/Language.cpp:
3033 (WebCore::displayNameForLanguageLocale): Added a missing adoptCF.
3035 * platform/graphics/FontPlatformData.cpp:
3036 (WebCore::FontPlatformData::openTypeTable): Added a missing adoptCF.
3038 * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
3039 (WebCore::InbandTextTrackPrivateAVCF::label): Added two missing adoptCF.
3041 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3042 (WebCore::AVFWrapper::createImageForTimeInRect): Added two missing adoptCF.
3044 * platform/graphics/cg/PDFDocumentImage.cpp:
3045 (WebCore::PDFDocumentImage::createPDFDocument): Added missing adoptCF.
3047 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3048 (WebCore::cascadeToLastResortFontDescriptor): Added two missing adoptCF.
3050 * platform/graphics/mac/FontMac.mm:
3051 (WebCore::Font::primaryFontDataIsSystemFont): Added missing adoptCF.
3053 * platform/graphics/mac/SimpleFontDataMac.mm:
3054 (WebCore::hasCustomTracking): Added missing adoptCF.
3056 * platform/image-decoders/ImageDecoder.h:
3057 (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Added CFRelease.
3059 * plugins/mac/PluginPackageMac.cpp:
3060 (WebCore::readPListFile): Added two missing adoptCF.
3062 2014-04-23 Ryosuke Niwa <rniwa@webkit.org>
3064 REGRESSION (r157328): popover to check into flight ba.com dismisses instantly when focusing form
3065 https://bugs.webkit.org/show_bug.cgi?id=131949
3067 Address the review comment.
3069 * dom/EventDispatcher.cpp:
3070 (WebCore::EventRelatedNodeResolver::findHostOfTreeScopeInTargetTreeScope):
3072 2014-04-23 Andreas Kling <akling@apple.com>
3074 CachedResourceLoader hoards URLs indefinitely for no good reason.
3075 <https://webkit.org/b/132102>
3076 <rdar://problem/16708265>
3078 Since we don't care about CachedResourceLoader::m_validatedURL's after
3079 the Document has finished dispatching its initial load event, clear the
3080 set at that point, and don't add any new URLs to it.
3082 Reviewed by Anders Carlsson.
3085 (WebCore::Document::dispatchWindowLoadEvent):
3086 * loader/cache/CachedResourceLoader.cpp:
3087 (WebCore::CachedResourceLoader::requestResource):
3088 (WebCore::CachedResourceLoader::documentDidFinishLoadEvent):
3089 * loader/cache/CachedResourceLoader.h:
3091 2014-04-23 Andreas Kling <akling@apple.com>
3093 Canvas cache of clean URLs can grow without bounds.
3094 <https://webkit.org/b/132091>
3095 <rdar://problem/16695665>
3097 Remove a silly "optimization" that kept a cache of clean URLs
3098 that can be drawn into a canvas without tainting it, all to avoid
3099 the "expensive" checks to determine whether it would taint.
3101 Reviewed by Benjamin Poulain.
3103 * html/canvas/CanvasRenderingContext.cpp:
3104 (WebCore::CanvasRenderingContext::wouldTaintOrigin):
3105 * html/canvas/CanvasRenderingContext.h:
3107 2014-04-23 Benjamin Poulain <bpoulain@apple.com>
3109 [iOS][WK2] Fix a few mistakes affecting the initial layout and the initial unobscured rect
3110 https://bugs.webkit.org/show_bug.cgi?id=132093
3112 Reviewed by Tim Horton.
3114 Change the minimum layout size to float point values to account for size defined on retina displays.
3115 The minimum layout size supports half-pixels, the value is rounded later when computing the layout size
3116 in document coordinates.
3119 * page/ViewportConfiguration.cpp:
3120 (WebCore::ViewportConfiguration::ViewportConfiguration):
3121 Setting the initial content size is incorrect. The layout size computation already take into account
3122 empty size for the first layout.
3124 Setting the content size upfront make the first computation incorrect when the viewport arguments specify
3127 (WebCore::ViewportConfiguration::setMinimumLayoutSize):
3128 * page/ViewportConfiguration.h:
3129 (WebCore::ViewportConfiguration::minimumLayoutSize):
3131 2014-04-23 Brent Fulgham <bfulgham@apple.com>
3133 [Mac, iOS] Stop buffering media when on an inactive tab.
3134 https://bugs.webkit.org/show_bug.cgi?id=132077
3136 Reviewed by Eric Carlson.
3138 * html/HTMLMediaElement.cpp: Rename 'm_isDisplaySleepDisablingSuspended'
3139 to 'm_elementIsHidden'.
3140 (WebCore::HTMLMediaElement::HTMLMediaElement):
3141 (WebCore::HTMLMediaElement::visibilityStatusChanged): Notify the
3142 media session that the element is (or is not) hidden.
3143 (WebCore::HTMLMediaElement::setShouldBufferData): Added.
3144 * html/HTMLMediaElement.h:
3145 * platform/audio/MediaSession.cpp:
3146 (WebCore::MediaSession::clientWillBeginPlayback): Tell media to
3147 buffer if not hidden or playing.
3148 (WebCore::MediaSession::clientWillPausePlayback): Ditto.
3149 (WebCore::MediaSession::visibilityChanged): Added. Client API, just relays call
3150 to updateClientDataBuffering.
3151 (WebCore::MediaSession::updateClientDataBuffering): Tell client it should only
3152 buffer data if it's currently playing, or not hidden.
3153 * platform/audio/MediaSession.h:
3154 * platform/graphics/MediaPlayer.cpp:
3155 (WebCore::MediaPlayer::setShouldBufferData): Added: Just relays to
3156 MediaPlayerPrivate object.
3157 * platform/graphics/MediaPlayer.h:
3158 * platform/graphics/MediaPlayerPrivate.h:
3159 (WebCore::MediaPlayerPrivateInterface::setShouldBufferData):
3160 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3161 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3162 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
3163 (WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldBufferData): Added.
3164 Detach the player item from the player if we don't want to continue
3165 buffering or other background tasks.
3167 2014-04-23 Alexey Proskuryakov <ap@apple.com>
3169 Eliminate internals.setMockScrollbarsEnabled()
3170 https://bugs.webkit.org/show_bug.cgi?id=132085
3172 Reviewed by Tim Horton.
3174 This was essentially unused, and also didnt work.
3176 * testing/InternalSettings.cpp:
3177 (WebCore::InternalSettings::Backup::restoreTo):
3178 (WebCore::InternalSettings::setMockScrollbarsEnabled): Deleted.
3179 * testing/InternalSettings.h:
3180 * testing/InternalSettings.idl:
3182 2014-04-23 Anders Carlsson <andersca@apple.com>
3184 Don't migrate the WKView.h header from WebCore to WebKit
3185 https://bugs.webkit.org/show_bug.cgi?id=132086
3187 Reviewed by Dan Bernstein.
3189 * WebCore.xcodeproj/project.pbxproj:
3190 Add WAKViewInternal.h.
3192 * platform/WAKViewInternal.h: Added.
3194 * platform/ios/wak/WAKClipView.m:
3195 Import WAKViewInternal.h instead of WAKViewPrivate.h.
3197 * platform/ios/wak/WAKScrollView.mm:
3198 Import WAKViewInternal.h instead of WAKViewPrivate.h.
3200 * platform/ios/wak/WAKView.h:
3201 Move ivars to a class extension in WAKViewInternal.h and remove WKView.h import.
3203 * platform/ios/wak/WAKView.mm:
3204 Import WAKViewInternal.h instead of WAKViewPrivate.h.
3206 * platform/ios/wak/WAKViewPrivate.h:
3207 Import WKViewPrivate.h.
3209 2014-04-23 David Hyatt <hyatt@apple.com>
3211 [New Multicolumn] fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode.html fails
3212 https://bugs.webkit.org/show_bug.cgi?id=132078
3214 Reviewed by Anders Carlsson.
3216 * rendering/RenderBox.cpp:
3217 (WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation):
3218 Add a parameter to test for orthogonal writing modes. If we're perpendicular,
3219 then we should not skip the flow thread, since we resolve relative to the column width,
3220 and that is always set.
3222 (WebCore::RenderBox::computePercentageLogicalHeight):
3223 Patched to pass in whether or not the box and the ancestor block are perpendicular.
3225 * rendering/RenderBox.h:
3226 Patched the signature of skipContainingBlockForPercentHeightCalculation
3228 2014-04-23 Myles C. Maxfield <mmaxfield@apple.com>
3230 [OS X] Make checking if a font is the system font more robust
3231 https://bugs.webkit.org/show_bug.cgi?id=132030
3233 Reviewed by Dean Jackson.
3235 Instead of inspecting a font's name to determine if it is a system font,
3236 on OS X we can ask the system directly.
3238 This patch also moves a platform-specific check into platform-specific
3239 code, so that other platforms don't check for OS X-specific behavior.
3241 Covered by existing tests.
3243 * platform/graphics/Font.cpp:
3244 (WebCore::Font::hasValidAverageCharWidth):
3245 * platform/graphics/Font.h:
3246 * platform/graphics/mac/FontMac.mm:
3247 (WebCore::Font::primaryFontDataIsSystemFont):
3249 2014-04-23 David Hyatt <hyatt@apple.com>
3251 [New Multicolumn] Assertion failure in huge-column-count.html
3252 https://bugs.webkit.org/show_bug.cgi?id=132071
3254 Reviewed by Dean Jackson.
3256 * rendering/RenderBlock.cpp:
3257 (WebCore::RenderBlock::regionAtBlockOffset):
3258 Back out this change, since it wasn't general enough.
3260 * rendering/RenderFlowThread.cpp:
3261 (WebCore::RenderFlowThread::getRegionRangeForBox):
3262 The real issue was that this loop needed to consider the actual box
3263 rather than starting from the parent. This was a non-issue for normal
3264 regions (which cannot have nested flow threads), but for columns, you
3265 have to consider the fact that the box could itself be a flow thread.
3267 2014-04-23 Andreas Kling <akling@apple.com>
3269 [iOS] Memory pressure notification should fire on main thread.
3270 <https://webkit.org/b/132074>
3272 Rejig the memory pressure notification to fire on the main queue
3273 directly instead of rerouting it manually.
3275 Reviewed by Mark Rowe.
3277 * platform/cocoa/MemoryPressureHandlerCocoa.mm:
3278 (WebCore::MemoryPressureHandler::install):
3280 2014-04-23 Commit Queue <commit-queue@webkit.org>
3282 Unreviewed, rolling out r167720.
3283 https://bugs.webkit.org/show_bug.cgi?id=132075
3285 broke eight newmulticol tests (Requested by thorton on
3290 "[New Multicolumn] Assertion failure in huge-column-
3292 https://bugs.webkit.org/show_bug.cgi?id=132071
3293 http://trac.webkit.org/changeset/167720
3295 2014-04-23 David Hyatt <hyatt@apple.com>
3297 [New Multicolumn] Assertion failure in huge-column-count.html
3298 https://bugs.webkit.org/show_bug.cgi?id=132071
3300 Reviewed by Dean Jackson.
3302 * rendering/RenderBlock.cpp:
3303 (WebCore::RenderBlock::regionAtBlockOffset):
3304 Remove the code that returned 0 here, since we're going to patch a lower-level
3305 function to catch all cases.
3307 * rendering/RenderFlowThread.cpp:
3308 (WebCore::RenderFlowThread::getRegionRangeForBox):
3309 Don't allow in-flow RenderFlowThreads to ever have a region range. The sets
3310 are what should have ranges... the flow thread needs to just be ignored.
3312 2014-04-23 David Hyatt <hyatt@apple.com>
3314 [New Multicolumn] Crasher when clearing out a flow thread in multicolumn layout.
3315 https://bugs.webkit.org/show_bug.cgi?id=132069
3317 Reviewed by Dean Jackson.
3319 This is imported from a patch Morten did for Blink, but I had to change it a fair
3320 bit. deleteLines() is used to handle simple line box layout instead of just calling
3323 I also had to disable the layout state to stop asserts on repaint when the children
3324 get moved. Not sure why Blink didn't hit this, but it's simple enough to add a
3325 LayoutStateDisabler to stop the assert.
3327 Added fast/multicol/inline-children-crash.html
3329 * rendering/RenderMultiColumnFlowThread.cpp:
3330 (WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy):
3332 2014-04-23 Andreas Kling <akling@apple.com>
3334 [iOS WebKit2] IOSurfacePool should force CA to actually garbage collect surfaces.
3335 <https://webkit.org/b/132065>
3336 <rdar://problem/16110687>
3338 Add a platformGarbageCollectNow() helper function to IOSurfacePool that
3339 triggers a sweep of the IOSurfaces. Call this from collectionTimerFired()
3340 and discardAllSurfaces().
3342 This lets us drop all otherwise-unused 420f surfaces on memory pressure.
3344 Reviewed by Tim Horton.
3346 * WebCore.xcodeproj/project.pbxproj:
3347 * platform/graphics/cg/IOSurfacePool.cpp:
3348 (WebCore::IOSurfacePool::collectionTimerFired):
3349 (WebCore::IOSurfacePool::discardAllSurfaces):
3350 * platform/graphics/cg/IOSurfacePool.h:
3351 * platform/graphics/cocoa/IOSurfacePoolCocoa.mm: Added.
3352 (WebCore::IOSurfacePool::platformGarbageCollectNow):
3354 2014-04-23 Morten Stenshorne <mstensho@opera.com>
3356 REGRESSION (Safari 6 - ToT): Incorrectly assumes that RenderStyle data can be shared
3357 https://bugs.webkit.org/show_bug.cgi?id=113058
3359 Reviewed by David Hyatt.
3361 Before sharing CSS properties with an element in the cache, we need to
3362 check that the new element is suitable for this, just like we check
3363 elements before inserting them into the cache.
3365 Test: fast/css/identical-logical-height-decl.html
3367 * css/StyleResolver.cpp:
3368 (WebCore::StyleResolver::applyMatchedProperties):
3370 2014-04-23 Commit Queue <commit-queue@webkit.org>
3372 Unreviewed, rolling out r167713.
3373 https://bugs.webkit.org/show_bug.cgi?id=132070
3375 broke hundreds of tests (Requested by thorton on #webkit).
3379 "[OS X] Make checking if a font is the system font more
3381 https://bugs.webkit.org/show_bug.cgi?id=132030
3382 http://trac.webkit.org/changeset/167713
3384 2014-04-22 David Hyatt <hyatt@apple.com>
3386 [New Multicolumn] Nested columns not working at all.
3387 https://bugs.webkit.org/show_bug.cgi?id=131805
3389 Reviewed by Dean Jackson.
3391 Add support for nested pagination contexts, allowing for an arbitrary level
3392 of nesting of multicolumn layouts. There were a number of things that had to
3393 be patched in order for this to work.
3395 * rendering/RenderBlock.cpp:
3396 (WebCore::RenderBlock::regionAtBlockOffset):
3397 Make sure RenderMultiColumnFlowThreads just return null for regions at any
3398 block offset. Individual region sets will be created as you cross ancestor
3399 regions eventually, so this is just getting in the way.
3401 * rendering/RenderLayer.cpp:
3402 (WebCore::RenderLayer::enclosingPaginationLayerInSubtree):
3403 Add a new helper method for obtaining an enclosingPaginationLayer when
3404 constrained by some root. This function ensures you don't accidentally
3405 cross your subtree root when looking for enclosing pagination layers.
3407 (WebCore::RenderLayer::collectFragments):
3408 Patch collectFragments to know how to recur to collect ancestor fragments
3409 in order to apply nested splitting as you cross pagination boundaries.
3411 (WebCore::RenderLayer::updatePaintingInfoForFragments):
3412 (WebCore::RenderLayer::calculateClipRects):
3413 * rendering/RenderLayer.h:
3414 (WebCore::LayerFragment::LayerFragment):
3415 (WebCore::LayerFragment::setRects):
3416 (WebCore::LayerFragment::moveBy):
3417 (WebCore::LayerFragment::intersect):
3418 Improve the LayerFragment so that it caches transformed bounding boxes as
3419 well. This is needed to fix intersectsDamageRect so that it doesn't grab
3420 the wrong bounding box when checking inline layers that are paginated.
3422 * rendering/RenderMultiColumnFlowThread.cpp:
3423 (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
3424 Ignore inserted flow threads inside an ancestor flow thread, since we only
3425 care about what the sets do.
3427 * rendering/RenderObject.cpp:
3428 (WebCore::RenderObject::insertedIntoTree):
3429 Make sure that nested flow thread layers return themselves when a child
3430 is inserted directly under them.
3432 2014-04-22 Myles C. Maxfield <mmaxfield@apple.com>
3434 [OS X] Make checking if a font is the system font more robust
3435 https://bugs.webkit.org/show_bug.cgi?id=132030
3437 Reviewed by Dean Jackson.
3439 Instead of inspecting a font's name to determine if it is a system font,
3440 on OS X we can ask the system directly.
3442 This patch also moves a platform-specific check into platform-specific