1 2013-10-08 Bem Jones-Bey <bjonesbe@adobe.com>
3 Move m_floatingObjects to RenderBlockFlow from RenderBlock
4 https://bugs.webkit.org/show_bug.cgi?id=122512
6 Reviewed by David Hyatt.
8 Floats are part of block flow, not every RenderBlock can contain
9 floars. This change makes it so that RenderBlock no longer can contain
10 floats, only RenderBlockFlow can.
12 This also moves a bunch of line layout stuff over to RenderBlockFlow,
13 but makes no effort to move all of line layout, as all of that is
14 destined to move out of both RenderBlockFlow and RenderBlock into its
17 No new tests, no behavior change.
19 * rendering/InlineIterator.h:
20 (WebCore::InlineBidiResolver::appendRun):
21 * rendering/LineWidth.cpp:
22 (WebCore::LineWidth::LineWidth):
23 * rendering/LineWidth.h:
24 * rendering/RenderBlock.cpp:
25 (WebCore::RenderBlock::styleWillChange):
26 (WebCore::RenderBlock::styleDidChange):
27 (WebCore::RenderBlock::splitFlow):
28 (WebCore::RenderBlock::deleteLineBoxTree):
29 (WebCore::RenderBlock::removeChild):
30 (WebCore::RenderBlock::computeOverflow):
31 (WebCore::RenderBlock::selectionGaps):
32 (WebCore::RenderBlock::adjustForBorderFit):
33 * rendering/RenderBlock.h:
34 (WebCore::RenderBlock::containsFloats):
35 (WebCore::RenderBlock::shouldSkipCreatingRunsForObject):
36 (WebCore::RenderBlock::addOverflowFromFloats):
37 (WebCore::RenderBlock::logicalRightFloatOffsetForLine):
38 (WebCore::RenderBlock::logicalLeftFloatOffsetForLine):
39 (WebCore::RenderBlock::moveAllChildrenOnRemovalTo):
40 (WebCore::RenderBlock::paintFloats):
41 (WebCore::RenderBlock::hitTestFloats):
42 (WebCore::RenderBlock::clipOutFloatingObjects):
43 * rendering/RenderBlockFlow.cpp:
44 (WebCore::RenderBlockFlow::clearFloats):
45 (WebCore::RenderBlockFlow::layoutBlock):
46 (WebCore::RenderBlockFlow::layoutBlockChild):
47 (WebCore::RenderBlockFlow::collapseMargins):
48 (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
49 (WebCore::RenderBlockFlow::adjustBlockChildForPagination):
50 (WebCore::RenderBlockFlow::containsFloat):
51 (WebCore::RenderBlockFlow::styleDidChange):
52 (WebCore::RenderBlockFlow::styleWillChange):
53 (WebCore::RenderBlockFlow::deleteLineBoxTree):
54 (WebCore::RenderBlockFlow::moveAllChildrenOnRemovalTo):
55 (WebCore::RenderBlockFlow::addOverflowFromFloats):
56 (WebCore::RenderBlockFlow::computeOverflow):
57 (WebCore::RenderBlockFlow::repaintOverhangingFloats):
58 (WebCore::RenderBlockFlow::paintFloats):
59 (WebCore::RenderBlockFlow::clipOutFloatingObjects):
60 (WebCore::RenderBlockFlow::createFloatingObjects):
61 (WebCore::RenderBlockFlow::removeFloatingObjects):
62 (WebCore::RenderBlockFlow::insertFloatingObject):
63 (WebCore::RenderBlockFlow::removeFloatingObject):
64 (WebCore::RenderBlockFlow::removeFloatingObjectsBelow):
65 (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
66 (WebCore::RenderBlockFlow::positionNewFloats):
67 (WebCore::RenderBlockFlow::newLine):
68 (WebCore::RenderBlockFlow::logicalLeftFloatOffsetForLine):
69 (WebCore::RenderBlockFlow::logicalRightFloatOffsetForLine):
70 (WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow):
71 (WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
72 (WebCore::RenderBlockFlow::addOverhangingFloats):
73 (WebCore::RenderBlockFlow::hasOverhangingFloat):
74 (WebCore::RenderBlockFlow::addIntrudingFloats):
75 (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
76 (WebCore::RenderBlockFlow::markSiblingsWithFloatsForLayout):
77 (WebCore::RenderBlockFlow::getClearDelta):
78 (WebCore::RenderBlockFlow::hitTestFloats):
79 (WebCore::RenderBlockFlow::adjustForBorderFit):
80 * rendering/RenderBlockFlow.h:
81 (WebCore::RenderBlockFlow::hasOverhangingFloats):
82 * rendering/RenderBlockLineLayout.cpp:
83 (WebCore::LineBreaker::LineBreaker):
84 (WebCore::RenderBlockFlow::appendRunsForObject):
85 (WebCore::RenderBlockFlow::createLineBoxes):
86 (WebCore::RenderBlockFlow::constructLine):
87 (WebCore::RenderBlockFlow::setMarginsForRubyRun):
88 (WebCore::updateLogicalInlinePositions):
89 (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
90 (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
91 (WebCore::RenderBlockFlow::computeBlockDirectionPositionsForLine):
92 (WebCore::setStaticPositions):
93 (WebCore::RenderBlockFlow::handleTrailingSpaces):
94 (WebCore::RenderBlockFlow::appendFloatingObjectToLastLine):
95 (WebCore::constructBidiRunsForLine):
96 (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
97 (WebCore::RenderBlockFlow::layoutRunsAndFloats):
98 (WebCore::RenderBlockFlow::restartLayoutRunsAndFloatsInRange):
99 (WebCore::pushShapeContentOverflowBelowTheContentBox):
100 (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLine):
101 (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
102 (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
103 (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
104 (WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
105 (WebCore::RenderBlockFlow::repaintDirtyFloats):
106 (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
107 (WebCore::RenderBlockFlow::determineStartPosition):
108 (WebCore::RenderBlockFlow::determineEndPosition):
109 (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
110 (WebCore::RenderBlockFlow::matchedEndLine):
111 (WebCore::shouldSkipWhitespaceAfterStartObject):
112 (WebCore::updateSegmentsForShapes):
113 (WebCore::RenderBlockFlow::deleteEllipsisLineBoxes):
114 (WebCore::RenderBlockFlow::checkLinesForTextOverflow):
115 (WebCore::RenderBlockFlow::positionNewFloatOnLine):
116 * rendering/RenderBox.cpp:
117 (WebCore::RenderBox::outermostBlockContainingFloatingObject):
118 (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
119 * rendering/RenderBox.h:
120 * rendering/RenderBoxModelObject.cpp:
121 (WebCore::RenderBoxModelObject::moveChildrenTo):
122 * rendering/RenderInline.cpp:
123 (WebCore::RenderInline::splitFlow):
125 2013-10-08 Dean Jackson <dino@apple.com>
127 Support unprefixed WebGL context creation
128 https://bugs.webkit.org/show_bug.cgi?id=122523
129 <rdar://problem/15179463>
131 Reviewed by Simon Fraser.
133 Add support for the unprefixed "webgl" canvas context type.
135 Test: fast/canvas/webgl/unprefixed-context.html
137 * html/HTMLCanvasElement.cpp:
138 (WebCore::HTMLCanvasElement::is3dType):
139 * inspector/InjectedScriptCanvasModuleSource.js:
141 2013-10-08 Ryosuke Niwa <rniwa@webkit.org>
143 Rename EventDispatchMediator::dispatchEvent to mediateAndDispatchEvent
144 https://bugs.webkit.org/show_bug.cgi?id=122522
146 Reviewed by Darin Adler.
148 Renamed EventDispatchMediator::dispatchEvent to EventDispatchMediator::mediateAndDispatchEvent
149 to make the future refactoring easier.
151 * Modules/indieui/UIRequestEvent.cpp:
152 (WebCore::UIRequestEventDispatchMediator::mediateAndDispatchEvent):
153 * Modules/indieui/UIRequestEvent.h:
154 * dom/EventDispatchMediator.cpp:
155 (WebCore::EventDispatchMediator::mediateAndDispatchEvent):
156 * dom/EventDispatchMediator.h:
157 * dom/EventDispatcher.cpp:
158 (WebCore::EventDispatcher::dispatchEvent):
159 * dom/FocusEvent.cpp:
160 (WebCore::FocusEventDispatchMediator::mediateAndDispatchEvent):
161 (WebCore::BlurEventDispatchMediator::mediateAndDispatchEvent):
162 (WebCore::FocusInEventDispatchMediator::mediateAndDispatchEvent):
163 (WebCore::FocusOutEventDispatchMediator::mediateAndDispatchEvent):
165 * dom/GestureEvent.cpp:
166 (WebCore::GestureEventDispatchMediator::mediateAndDispatchEvent):
167 * dom/GestureEvent.h:
168 * dom/KeyboardEvent.cpp:
169 (WebCore::KeyboardEventDispatchMediator::mediateAndDispatchEvent):
170 * dom/KeyboardEvent.h:
171 * dom/MouseEvent.cpp:
172 (WebCore::MouseEventDispatchMediator::mediateAndDispatchEvent):
174 * dom/TouchEvent.cpp:
175 (WebCore::TouchEventDispatchMediator::mediateAndDispatchEvent):
177 * dom/WheelEvent.cpp:
178 (WebCore::WheelEventDispatchMediator::mediateAndDispatchEvent):
181 2013-10-08 Brent Fulgham <bfulgham@apple.com>
183 [MathML] Use of floating point floor/ceil on LayoutUnits seems wrong
184 https://bugs.webkit.org/show_bug.cgi?id=122367
186 Reviewed by Darin Adler.
188 * rendering/mathml/RenderMathMLOperator.cpp:
189 (WebCore::RenderMathMLOperator::paintCharacter): Use member methods to compute
190 correct floor/ceil values for LayoutUnits.
192 2013-10-07 Dean Jackson <dino@apple.com>
194 Video -> pixel buffer output should not manage color spaces
195 https://bugs.webkit.org/show_bug.cgi?id=122486
197 Reviewed by Tim Horton.
199 On Mac, when we draw a video into a canvas or WebGL, the
200 output of the video should not be color managed. Instead, leave it
201 as DeviceRGB so that it matches other colors in those elements.
202 We'll hopefully solve this properly soon - making everything sRGB.
204 Test: media/video-canvas-drawing-output.html
206 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
207 (WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect): Pass on
208 a CGImageRef via CGImageCreateCopyWithColorSpace rather than the raw data.
209 (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): Tell CoreImage
210 to allocate a pixel buffer that is unmanaged.
212 2013-10-08 Lauro Neto <lauro.neto@openbossa.org>
214 [MediaStream] Fix segfault in initializeMockSources()
215 https://bugs.webkit.org/show_bug.cgi?id=122517
217 Reviewed by Darin Adler.
219 Calling release() and a member function on the same RefPtr
220 as arguments to a function can lead to segfaults if the release
221 call is evaluated first.
223 * platform/mock/MockMediaStreamCenter.cpp:
224 (WebCore::initializeMockSources):
226 2013-10-08 Mihnea Ovidenie <mihnea@adobe.com>
228 [CSSRegions] Regions with overflow: hidden should paint over positioned sibling
229 https://bugs.webkit.org/show_bug.cgi?id=122389
231 Reviewed by Alexandru Chiculita.
233 As a follow-up from https://bugs.webkit.org/show_bug.cgi?id=122321, a region should not
234 be a normal flow layer when it has overflow clip. Change existing test by adding overflow:hidden
235 to the region element.
237 * rendering/RenderLayer.cpp:
238 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
240 2013-10-08 Ryosuke Niwa <rniwa@webkit.org>
242 Simplify the loop in EventRetargeter::calculateEventPath
243 https://bugs.webkit.org/show_bug.cgi?id=122500
245 Reviewed by Antti Koivisto.
247 Replaced the convoluted loop by two nested loops to make semantics clear.
249 * dom/EventRetargeter.cpp:
250 (WebCore::EventRetargeter::calculateEventPath):
252 2013-10-08 ChangSeok Oh <changseok.oh@collabora.com>
254 [GTK] Leak: GdkEvent retured by gtk_get_current_event is not freed.
255 https://bugs.webkit.org/show_bug.cgi?id=122506
257 Reviewed by Gustavo Noronha Silva.
259 Gdk event returned by gtk_get_current_event should be freed after using it.
261 No functionality changed.
263 * platform/gtk/PopupMenuGtk.cpp:
264 (WebCore::PopupMenuGtk::show):
266 2013-10-08 Ryosuke Niwa <rniwa@webkit.org>
268 Use references in EventRetargeter::calculateEventPath and EventRetargeter::eventTargetRespectingTargetRules
269 https://bugs.webkit.org/show_bug.cgi?id=122494
271 Reviewed by Antti Koivisto.
273 Use referenecs instead of pointers in ventRetargeter's calculateEventPath and eventTargetRespectingTargetRules.
274 Also replace Vector<EventTarget*, 32> targetStack by a single pointer since we only append an item to
275 the vector when it's empty and we always use the last item.
277 * dom/EventDispatcher.cpp:
278 (WebCore::EventDispatcher::EventDispatcher):
279 (WebCore::EventDispatcher::dispatchScopedEvent):
280 (WebCore::EventDispatcher::dispatch):
281 (WebCore::EventDispatcher::dispatchEventPostProcess):
282 * dom/EventDispatcher.h:
283 * dom/EventRetargeter.cpp:
284 (WebCore::EventRetargeter::calculateEventPath):
285 * dom/EventRetargeter.h:
286 (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
288 (WebCore::Node::dispatchScopedEventDispatchMediator):
290 2013-10-08 Mihnea Ovidenie <mihnea@adobe.com>
292 [CSSRegions] Computed z-Index should return 0 instead of auto for a region
293 https://bugs.webkit.org/show_bug.cgi?id=122405
295 Reviewed by David Hyatt.
297 Test: fast/regions/layers/region-zIndex-computedStyle.html
299 Adjust the z-index value for a region. Also, since a box with a z-Index
300 that is non-auto receives a layer, i removed the requiresLayer override
301 in RenderRegion and RenderMultiColumnSet.
303 * css/StyleResolver.cpp:
304 (WebCore::StyleResolver::adjustRenderStyle):
305 * rendering/RenderMultiColumnSet.cpp:
306 * rendering/RenderMultiColumnSet.h:
307 * rendering/RenderRegion.cpp:
308 * rendering/RenderRegion.h:
309 * rendering/style/RenderStyle.h:
311 2013-10-08 Andrei Bucur <abucur@adobe.com>
313 [CSS Regions] Widows don't work if the first line in a region is aligned with the top of the region
314 https://bugs.webkit.org/show_bug.cgi?id=122450
316 Reviewed by David Hyatt.
318 The patch adds a new function updateRegionForLine that updates the containing region for a line and the
319 flag used to determine if it's the first line in that region. This is necessary because the code in
320 adjustLinePositionForPagination is not sufficient to determine when an unforced break occurs and the line
321 being positioned is the first one in the fragmentation container or not.
323 Test: fast/regions/regions-widows-float-top-aligned.html
325 * rendering/RenderBlockFlow.cpp:
326 (WebCore::RenderBlockFlow::adjustLinePositionForPagination): Added FIXME comment.
327 * rendering/RenderBlockFlow.h:
328 * rendering/RenderBlockLineLayout.cpp:
329 (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
330 (WebCore::RenderBlock::linkToEndLineIfNeeded):
331 (WebCore::RenderBlock::determineStartPosition):
332 (WebCore::RenderBlockFlow::updateRegionForLine): New function used to update the containing region and
335 2013-10-08 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
337 Get EFL and GTK compiling with media stream enabled
338 https://bugs.webkit.org/show_bug.cgi?id=122505
340 Reviewed by Philippe Normand.
346 * GNUmakefile.list.am:
349 2013-10-08 Hurnjoo Lee <hurnjoo.lee@samsung.com>
351 Composited layer that painted into composited ancestor is not repainted after moving
352 https://bugs.webkit.org/show_bug.cgi?id=114655
354 Reviewed by Simon Fraser.
356 Test: compositing/repaint/absolute-painted-into-composited-ancestor.html
358 Composited layers are currently skipping repainting after layout,
359 if the repaint status is not NeedsFullRepaint. However, in case layers
360 were painted into composited ancestor, they need to repaint.
362 * rendering/RenderLayer.cpp:
363 (WebCore::RenderLayer::shouldRepaintAfterLayout):
365 2013-10-08 Zalan Bujtas <zalan@apple.com>
367 Unreviewed. Rollout of r156536. ~5% regression in inline layout performance.
369 * rendering/LineWidth.cpp:
370 * rendering/LineWidth.h:
371 (WebCore::LineWidth::addUncommittedWidth):
372 * rendering/RenderBlockLineLayout.cpp:
373 (WebCore::LineBreaker::nextSegmentBreak):
375 2013-10-08 Gyuyoung Kim <gyuyoung.kim@samsung.com>
377 Use toCSSFooValue() instead of using static_cast<const CSSFooValue*>
378 https://bugs.webkit.org/show_bug.cgi?id=122491
380 Reviewed by Andreas Kling.
382 static_cast<const CSSFooValue*> wasn't cleanup. So, we need to use toCSSFooValue() for it.
383 To use toCSSValue() will help to detect bad type-cast.
385 Besides static_cast<const WebKitCSSFooValue*> helper functions need to be added to support this use.
387 No new tests, no behavior change.
389 * css/CSSComputedStyleDeclaration.cpp:
390 (WebCore::ComputedStyleExtractor::propertyMatches):
391 * css/CSSImageGeneratorValue.cpp:
392 (WebCore::CSSImageGeneratorValue::isFixedSize):
393 (WebCore::CSSImageGeneratorValue::isPending):
394 (WebCore::CSSImageGeneratorValue::knownToBeOpaque):
396 (WebCore::CSSValue::isImplicitInitialValue):
397 (WebCore::CSSValue::addSubresourceStyleURLs):
398 (WebCore::CSSValue::hasFailedOrCanceledSubresources):
399 (WebCore::CSSValue::equals):
400 (WebCore::CSSValue::cssText):
401 (WebCore::CSSValue::serializeResolvingVariables):
402 (WebCore::CSSValue::cloneForCSSOM):
403 * css/StylePropertySet.cpp:
404 (WebCore::StylePropertySet::PropertyReference::cssName):
405 * css/WebKitCSSSVGDocumentValue.h:
406 (WebCore::toWebKitCSSSVGDocumentValue):
407 * css/WebKitCSSTransformValue.h:
408 (WebCore::toWebKitCSSTransformValue):
410 2013-10-08 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
412 Get MediaStreamCenterGStreamer compiling again
413 https://bugs.webkit.org/show_bug.cgi?id=122482
415 Reviewed by Eric Carlson.
417 r157068 was including a nonexistent header
421 * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
423 2013-10-08 Mario Sanchez Prada <mario.prada@samsung.com>
425 [ATK] Expose state of aria-invalid as ATK_STATE_INVALID_ENTRY
426 https://bugs.webkit.org/show_bug.cgi?id=122104
428 Reviewed by Chris Fleizach.
430 Map invalid state of an AccessibilityObject to the proper AtkState.
432 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
433 (setAtkStateSetFromCoreObject): Add the mapping.
435 2013-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
438 [GTK] media/video-src-blob.html
439 https://bugs.webkit.org/show_bug.cgi?id=102586
441 Reviewed by Martin Robinson.
443 Add support for loading videos using blob URLs.
445 Fixes media/video-src-blob.html.
447 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
448 (webKitWebSrcStart): Use BufferData buffering policy for blob
450 (webKitWebSrcGetProtocols): Add blob to the list of supported
452 (webKitWebSrcSetUri): Consider blob URLs as valid.
454 2013-10-07 Ryosuke Niwa <rniwa@webkit.org>
456 EventDispatchBehavior is unnecessary
457 https://bugs.webkit.org/show_bug.cgi?id=122483
459 Reviewed by Andreas Kling.
461 Removed EventDispatchBehavior and changed the return type of determineDispatchBehavior to bool.
462 Also renamed it to shouldEventCrossShadowBoundary to reflect the semantics more clear.
464 * dom/EventRetargeter.cpp:
465 (WebCore::shouldEventCrossShadowBoundary):
466 (WebCore::EventRetargeter::calculateEventPath):
467 * dom/EventRetargeter.h:
469 2013-10-07 Ryosuke Niwa <rniwa@webkit.org>
471 Make buildRelatedNodeMap and findRelatedNode static to EventRetargeter.cpp
472 https://bugs.webkit.org/show_bug.cgi?id=122477
474 Reviewed by Antti Koivisto.
476 Make EventRetargeter::buildRelatedNodeMap and EventRetargeter::findRelatedNode static local functions
477 in EventRetargeter.cpp since they're only called in EventRetargeter::calculateAdjustedNodes and don't
478 depend on any oher member function or variable (EventRetarger doesn't have any member variables).
480 Also get rid of Vector local variables in both functions as they're redundant.
482 * dom/EventRetargeter.cpp:
483 (WebCore::buildRelatedNodeMap): Moved. Replaced Vector<Node*, 32> relatedNodeStack by a single pointer
484 since the only time we add an item to this Vector is when it's empty, and we always use or remove the
486 (WebCore::addRelatedNodeForUnmapedTreeScopes): Renamed from EventRetargeter::findRelatedNode. Removed
487 Vector<TreeScope*, 32> parentTreeScopes since it only contains the ancestor tree scopes of scope up to
488 a tree scope already in relatedNodeMap. We could simply remember this tree scope and re-traverse the
489 ancestor tree scopes in the second loop.
490 (WebCore::EventRetargeter::calculateAdjustedNodes):
491 * dom/EventRetargeter.h:
493 2013-10-07 Andreas Kling <akling@apple.com>
495 CTTE: EditCommand always has a Document.
496 <https://webkit.org/b/122473>
498 Reviewed by Anders Carlsson.
500 Store a Ref<Document> in EditComment since it's never null.
502 Since Ref enforces more const consistency than RefPtr, I had to make
503 document() and frame() non-const here. Only a single method depended
504 on the old half-const behavior.
506 2013-10-07 Anders Carlsson <andersca@apple.com>
510 * bindings/scripts/test/JS/JSTestCallback.cpp:
511 (WebCore::JSTestCallback::~JSTestCallback):
513 2013-10-07 Commit Queue <commit-queue@webkit.org>
515 Unreviewed, rolling out r157061.
516 http://trac.webkit.org/changeset/157061
517 https://bugs.webkit.org/show_bug.cgi?id=122479
519 Broke worker tests (Requested by andersca on #webkit).
521 * Modules/webdatabase/Database.cpp:
522 (WebCore::DerefContextTask::create):
523 (WebCore::DerefContextTask::DerefContextTask):
524 (WebCore::Database::~Database):
525 (WebCore::DeliverPendingCallbackTask::create):
526 (WebCore::DeliverPendingCallbackTask::performTask):
527 (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask):
528 (WebCore::Database::scheduleTransactionCallback):
529 * Modules/webdatabase/DatabaseManager.cpp:
530 (WebCore::DatabaseCreationCallbackTask::create):
531 (WebCore::DatabaseCreationCallbackTask::performTask):
532 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
533 (WebCore::DatabaseManager::openDatabase):
534 * Modules/webdatabase/SQLCallbackWrapper.h:
535 (WebCore::SQLCallbackWrapper::clear):
536 (WebCore::SQLCallbackWrapper::SafeReleaseTask::create):
537 (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask):
538 (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask):
539 (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask):
540 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
541 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
542 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
543 * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
544 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create):
545 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask):
546 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask):
547 (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
548 * bindings/js/JSCallbackData.h:
549 (WebCore::DeleteCallbackDataTask::create):
550 (WebCore::DeleteCallbackDataTask::performTask):
551 (WebCore::DeleteCallbackDataTask::isCleanupTask):
552 (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
553 * bindings/js/JSDOMGlobalObjectTask.h:
554 * bindings/js/JSDOMWindowBase.cpp:
555 (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
556 * bindings/js/JSWorkerGlobalScopeBase.cpp:
557 (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
558 * bindings/scripts/CodeGeneratorJS.pm:
559 (GenerateCallbackImplementation):
560 * dom/CrossThreadTask.h:
561 (WebCore::CrossThreadTask1::create):
562 (WebCore::CrossThreadTask1::performTask):
563 (WebCore::CrossThreadTask2::create):
564 (WebCore::CrossThreadTask2::performTask):
565 (WebCore::CrossThreadTask3::create):
566 (WebCore::CrossThreadTask3::performTask):
567 (WebCore::CrossThreadTask4::create):
568 (WebCore::CrossThreadTask4::performTask):
569 (WebCore::CrossThreadTask5::create):
570 (WebCore::CrossThreadTask5::performTask):
571 (WebCore::CrossThreadTask6::create):
572 (WebCore::CrossThreadTask6::performTask):
573 (WebCore::CrossThreadTask7::create):
574 (WebCore::CrossThreadTask7::performTask):
575 (WebCore::CrossThreadTask8::create):
576 (WebCore::CrossThreadTask8::performTask):
577 (WebCore::createCallbackTask):
579 (WebCore::Document::addConsoleMessage):
580 (WebCore::Document::addMessage):
581 (WebCore::PerformTaskContext::PerformTaskContext):
582 (WebCore::Document::postTask):
583 (WebCore::Document::pendingTasksTimerFired):
585 * dom/ScriptExecutionContext.cpp:
586 (WebCore::ProcessMessagesSoonTask::create):
587 (WebCore::ProcessMessagesSoonTask::performTask):
588 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
589 * dom/ScriptExecutionContext.h:
590 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
591 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
592 * dom/StringCallback.cpp:
593 (WebCore::StringCallback::scheduleCallback):
594 * loader/appcache/ApplicationCacheGroup.cpp:
595 (WebCore::CallCacheListenerTask::create):
596 (WebCore::CallCacheListenerTask::CallCacheListenerTask):
597 (WebCore::ApplicationCacheGroup::postListenerTask):
598 * workers/DefaultSharedWorkerRepository.cpp:
599 (WebCore::SharedWorkerProxy::postTaskToLoader):
600 (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
601 (WebCore::SharedWorkerConnectTask::create):
602 (WebCore::SharedWorkerConnectTask::performTask):
603 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
604 (WebCore::DefaultSharedWorkerRepository::connectToWorker):
605 * workers/WorkerEventQueue.cpp:
606 (WebCore::WorkerEventQueue::enqueueEvent):
607 * workers/WorkerGlobalScope.cpp:
608 (WebCore::WorkerGlobalScope::close):
609 (WebCore::WorkerGlobalScope::postTask):
610 (WebCore::WorkerGlobalScope::addConsoleMessage):
611 (WebCore::WorkerGlobalScope::addMessage):
612 * workers/WorkerGlobalScope.h:
613 * workers/WorkerLoaderProxy.h:
614 * workers/WorkerMessagingProxy.cpp:
615 (WebCore::MessageWorkerGlobalScopeTask::create):
616 (WebCore::MessageWorkerGlobalScopeTask::performTask):
617 (WebCore::MessageWorkerTask::create):
618 (WebCore::MessageWorkerTask::performTask):
619 (WebCore::WorkerExceptionTask::create):
620 (WebCore::WorkerExceptionTask::performTask):
621 (WebCore::WorkerGlobalScopeDestroyedTask::create):
622 (WebCore::WorkerGlobalScopeDestroyedTask::performTask):
623 (WebCore::WorkerTerminateTask::create):
624 (WebCore::WorkerTerminateTask::WorkerTerminateTask):
625 (WebCore::WorkerTerminateTask::performTask):
626 (WebCore::WorkerThreadActivityReportTask::create):
627 (WebCore::WorkerThreadActivityReportTask::performTask):
628 (WebCore::PostMessageToPageInspectorTask::create):
629 (WebCore::PostMessageToPageInspectorTask::performTask):
630 (WebCore::NotifyNetworkStateChangeTask::create):
631 (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask):
632 (WebCore::NotifyNetworkStateChangeTask::performTask):
633 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
634 (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
635 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
636 (WebCore::WorkerMessagingProxy::postTaskToLoader):
637 (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
638 (WebCore::WorkerMessagingProxy::workerThreadCreated):
639 (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
640 (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
641 (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
642 (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
643 (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
644 (WebCore::WorkerMessagingProxy::reportPendingActivity):
645 * workers/WorkerMessagingProxy.h:
646 * workers/WorkerRunLoop.cpp:
647 (WebCore::WorkerRunLoop::postTask):
648 (WebCore::WorkerRunLoop::postTaskAndTerminate):
649 (WebCore::WorkerRunLoop::postTaskForMode):
650 (WebCore::WorkerRunLoop::Task::create):
651 (WebCore::WorkerRunLoop::Task::Task):
652 * workers/WorkerRunLoop.h:
653 * workers/WorkerThread.cpp:
654 (WebCore::WorkerThreadShutdownFinishTask::create):
655 (WebCore::WorkerThreadShutdownFinishTask::performTask):
656 (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask):
657 (WebCore::WorkerThreadShutdownStartTask::performTask):
658 (WebCore::WorkerThread::stop):
659 (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
661 2013-10-07 Darin Adler <darin@apple.com>
663 Make Vector::insert work for move-only types
664 https://bugs.webkit.org/show_bug.cgi?id=122429
666 Reviewed by Anders Carlsson.
668 * history/HistoryItem.cpp:
669 (WebCore::HistoryItem::padDailyCountsForNewVisit): Call insertVector.
670 Also added some inline capacity, which should make this faster.
672 2013-10-07 Anders Carlsson <andersca@apple.com>
676 * bindings/scripts/test/JS/JSTestCallback.cpp:
677 (WebCore::JSTestCallback::~JSTestCallback):
679 2013-10-04 Ojan Vafai <ojan@chromium.org> and Martin Robinson <mrobinson@igalia.com>
681 [MathML] Remove RenderTree modification during layout and refactor the StretchyOp code
682 https://bugs.webkit.org/show_bug.cgi?id=121416
684 Reviewed by David Hyatt.
686 Tests: mathml/presentation/mo-minus.html
687 mathml/presentation/mo-stacked-glyphs.html
688 mathml/presentation/mo-stretchy-vertical-bar.html
689 mathml/very-large-stretchy-operators.html
691 MathML stretched operators by both modifying the width of the operator
692 and adding children to the operator node in the render tree.
694 Instead we make the operator width equal to the widest glyph possible that we use
695 to represent the operator. Additionally instead of rendering stretchy glyphs via
696 stacked operator pieces in separate render tree nodes, keep only one node for the
697 glyph, and use a custom paint method to paint the stacked representation.
699 With this patch, rendering seems roughly equivalent on Mac and markedly better
703 Not sure what this line-height:0 was here for, but it caused bugs with the new code
705 * mathml/MathMLTextElement.cpp:
706 (WebCore::MathMLTextElement::attach):
708 (WebCore::MathMLTextElement::childrenChanged):
709 Need to update the anonymous render tree below <mo> elements when their
710 children change or when the renderer is first attached.
712 * mathml/MathMLTextElement.h:
714 * rendering/mathml/RenderMathMLBlock.cpp:
715 (WebCore::RenderMathMLBlock::RenderMathMLBlock):
716 * rendering/mathml/RenderMathMLBlock.h:
717 Now that the preferred width doesn't depend on the height, we don't
718 need to override computePreferredLogicalWidths at all.
720 * rendering/mathml/RenderMathMLFenced.cpp:
721 (WebCore::RenderMathMLFenced::makeFences):
722 (WebCore::RenderMathMLFenced::styleDidChange):
723 Need to update the anonymous renderers for the anonymous RenderMathMLOperators.
725 * rendering/mathml/RenderMathMLOperator.cpp:
726 (WebCore::RenderMathMLOperator::expandedStretchHeight):
727 Store the non-expanded stretch height so that we can detect when the height
730 (WebCore::RenderMathMLOperator::stretchToHeight):
731 Only update the style on the anonymous render tree since this is called
732 from RenderMathMLRow::layout
734 (WebCore::RenderMathMLOperator::styleDidChange):
735 (WebCore::RenderMathMLOperator::glyphBoundsForCharacter): A helper to get glyph boundaries.
736 (WebCore::RenderMathMLOperator::glyphHeightForCharacter): Ditto for glyph width.
737 (WebCore::RenderMathMLOperator::advanceForCharacter): The advance is different from the width,
738 and we want the width of the operator to be the advance instead of the tight bounding width.
739 (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use the max of all possible glyphs
740 we can use to render this operator.
741 (WebCore::RenderMathMLOperator::computeLogicalHeight): Return the stretched operator height, if appropriate.
742 (WebCore::RenderMathMLOperator::updateFromElement): We add a child for rendering the non-scaled
743 version of the glyph.
744 (WebCore::RenderMathMLOperator::firstCharacterForStretching): Helper to figure out what character
745 is the character used for stretching operations.
746 (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): Helper to find an acceptable set
747 of glyph pieces for stretching characters.
748 (WebCore::RenderMathMLOperator::updateStyle): Resize the operator to the appropriate height and hide
749 the child if we are using the stretchy style.
750 (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
751 (WebCore::RenderMathMLOperator::paintCharacter): Helper to paint a single character component of the
753 (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Helper to paint the extender glue between
754 features of the stretchy glyph.
755 (WebCore::RenderMathMLOperator::paint): Properly paint stretchy glyphs.
756 * rendering/mathml/RenderMathMLOperator.h: Update method declarations.
758 2013-10-07 Eric Carlson <eric.carlson@apple.com>
760 [MediaStream API] update MediaStreamTrack object to match spec
761 https://bugs.webkit.org/show_bug.cgi?id=121940
763 Reviewed by Jer Noble.
765 No new tests, existing test updated.
767 Add new source files to the project:
769 * DerivedSources.make:
770 * GNUmakefile.list.am:
771 * WebCore.xcodeproj/project.pbxproj:
773 New capability dictionary objects:
774 * Modules/mediastream/AllAudioCapabilities.h: Added.
775 * Modules/mediastream/AllAudioCapabilities.idl: Added.
776 * Modules/mediastream/AllVideoCapabilities.h: Added.
777 * Modules/mediastream/AllVideoCapabilities.idl: Added.
779 * Modules/mediastream/AudioStreamTrack.cpp:
780 (WebCore::AudioStreamTrack::create): New version that takes a MediaStreamTrack*.
781 * Modules/mediastream/AudioStreamTrack.h:
783 New object for a capability range:
784 * Modules/mediastream/CapabilityRange.cpp: Added.
785 * Modules/mediastream/CapabilityRange.h: Added.
786 * Modules/mediastream/CapabilityRange.idl: Added.
788 * Modules/mediastream/MediaConstraintsImpl.h: Make initialize() public.
790 New object for the current states for a media source.
791 * Modules/mediastream/MediaSourceStates.cpp: Added.
792 * Modules/mediastream/MediaSourceStates.h: Added.
793 * Modules/mediastream/MediaSourceStates.idl: Added.
795 Don't call the media stream center to notify it when the state of other
797 * Modules/mediastream/MediaStream.cpp:
798 (WebCore::processTrack): Remove the stream source duplication hack.
799 (WebCore::createFromSourceVectors):
800 (WebCore::MediaStream::MediaStream):
801 (WebCore::MediaStream::addTrack):
802 (WebCore::MediaStream::removeTrack):
803 * Modules/mediastream/MediaStream.h:
805 New object for the capabilities of a source.
806 * Modules/mediastream/MediaStreamCapabilities.cpp: Added.
807 * Modules/mediastream/MediaStreamCapabilities.h: Added.
808 * Modules/mediastream/MediaStreamCapabilities.idl: Added.
810 Update interface to match spec.
811 * Modules/mediastream/MediaStreamTrack.cpp:
812 (WebCore::MediaStreamTrack::MediaStreamTrack): Define a copy constructor to use in clone().
813 (WebCore::MediaStreamTrack::setSource): Call removeObserver if the track already has a source.
814 Initialize m_muted from new source's muted state.
815 (WebCore::MediaStreamTrack::id): Allow source to provide ID as the spec suggests.
816 (WebCore::MediaStreamTrack::setEnabled): Add some spec text to clarify logic. Always call
817 source->setEnabled, it can figure out if nothing needs to be done.
818 (WebCore::MediaStreamTrack::muted): Don't call the stream center when muted changes, the
819 source can take care of notifying interested parties.
820 (WebCore::MediaStreamTrack::readonly): New.
821 (WebCore::MediaStreamTrack::remote): New.
822 (WebCore::MediaStreamTrack::constraints): New.
823 (WebCore::MediaStreamTrack::states): New.
824 (WebCore::MediaStreamTrack::capabilities): New.
825 (WebCore::MediaStreamTrack::applyConstraints): New.
826 (WebCore::MediaStreamTrack::clone): New.
827 (WebCore::MediaStreamTrack::stopProducingData): New.
828 (WebCore::MediaStreamTrack::sourceStateChanged): Renamed from sourceChangedState.
829 (WebCore::MediaStreamTrack::sourceMutedChanged): New.
830 (WebCore::MediaStreamTrack::sourceEnabledChanged): New.
831 (WebCore::MediaStreamTrack::configureTrackRendering): New.
832 (WebCore::MediaStreamTrack::stopped): New.
833 (WebCore::MediaStreamTrack::stop): Call stopProducingData.
834 (WebCore::MediaStreamTrack::scheduleEventDispatch): New.
835 (WebCore::MediaStreamTrack::dispatchQueuedEvents): New.
836 * Modules/mediastream/MediaStreamTrack.h:
837 * Modules/mediastream/MediaStreamTrack.idl:
839 * Modules/mediastream/MediaTrackConstraint.cpp: Added.
840 * Modules/mediastream/MediaTrackConstraint.h: Added.
841 * Modules/mediastream/MediaTrackConstraint.idl: Added.
843 // Add empty classes/IDL for track constraint objects.
844 * Modules/mediastream/MediaTrackConstraintSet.cpp: Added.
845 * Modules/mediastream/MediaTrackConstraintSet.h: Added.
846 * Modules/mediastream/MediaTrackConstraintSet.idl: Added.
847 * Modules/mediastream/MediaTrackConstraints.cpp: Added.
848 * Modules/mediastream/MediaTrackConstraints.h: Added.
849 * Modules/mediastream/MediaTrackConstraints.idl: Added.
851 * Modules/mediastream/UserMediaRequest.cpp:
852 (WebCore::UserMediaRequest::callSuccessHandler): Don't call the stream center, the
853 stream can take care of notifying interested parties.
855 // Add a constructor and create() that take a MediaStreamTrack*.
856 * Modules/mediastream/VideoStreamTrack.cpp:
857 (WebCore::VideoStreamTrack::create):
858 (WebCore::VideoStreamTrack::VideoStreamTrack):
859 * Modules/mediastream/VideoStreamTrack.h:
861 // Create a MediaStreamSource subclass for WebAudio
862 * Modules/webaudio/AudioContext.cpp:
863 (WebCore::AudioContext::createMediaStreamSource): Call isAudioStreamSource instead
864 of checking deviceID.
865 * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
866 (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): Create a
867 MediaStreamAudioSource instead of a MediaStreamSource.
868 * Modules/webaudio/MediaStreamAudioDestinationNode.h:
869 * Modules/webaudio/MediaStreamAudioSource.cpp: Added.
870 * Modules/webaudio/MediaStreamAudioSource.h: Added.
871 (WebCore::MediaStreamAudioSource::~MediaStreamAudioSource):
873 // Add new generated files.
874 * bindings/js/JSMediaSourceStatesCustom.cpp: Added.
875 * bindings/js/JSMediaStreamCapabilitiesCustom.cpp: Added.
877 * dom/EventNames.h: Defined 'overconstrained' event.
879 * platform/mediastream/MediaStreamCenter.h: Get rid of all of the methods nobody uses.
880 It isn't clear that they are necessary, and we can add them back if/when we need them.
882 * platform/mediastream/MediaStreamDescriptor.cpp:
883 (WebCore::MediaStreamDescriptor::~MediaStreamDescriptor): Clear the all source streams.
884 (WebCore::MediaStreamDescriptor::removeSource): Clear the source stream.
885 * platform/mediastream/MediaStreamDescriptor.h:
887 // Make MediaStreamSource an abstract base class, and remove everyting WebAudio-specific
888 // to MediaStreamAudioSource.
889 * platform/mediastream/MediaStreamSource.cpp:
890 (WebCore::MediaStreamSource::MediaStreamSource): Remove readyState and requiresConsumer
891 parameters. Create new UUID for id if non was passed.
892 (WebCore::MediaStreamSource::reset): Reset internal state to just-constructed. Used for testing.
893 (WebCore::MediaStreamSource::setReadyState): sourceChangedState -> sourceStateChanged.
894 (WebCore::MediaStreamSource::setStream): Remove the ASSERT that check for a source being
895 added to a new stream. This is still a problem, but it is required for testing and will
896 be fixed as a part of bug 121954.
897 (WebCore::MediaStreamSource::setConstraints): Added.
898 (WebCore::MediaStreamSource::setMuted): Notify observers when muted changes.
899 (WebCore::MediaStreamSource::setEnabled): Notify observers when enabled changes.
900 (WebCore::MediaStreamSource::readonly): New.
901 (WebCore::MediaStreamSource::stop): New. Set state to Ended when all of the observers has
903 * platform/mediastream/MediaStreamSource.h:
905 // Define platform versions of the Capabilities classes.
906 * platform/mediastream/MediaStreamSourceCapabilities.h: Added.
908 // Update the non-functional platform stream centers for the API changes.
909 * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
910 * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
911 * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
912 * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
913 * platform/mediastream/mac/MediaStreamCenterMac.cpp:
914 * platform/mediastream/mac/MediaStreamCenterMac.h:
916 // Update the Mock stream center for the API changes. Add a concrete mock MediaStreamSource
918 * platform/mock/MockMediaStreamCenter.cpp:
919 (WebCore::MockSource::MockSource): New, the mock media stream source.
920 (WebCore::MockSource::~MockSource):
921 (WebCore::MockSource::capabilities):
922 (WebCore::MockSource::states):
923 (WebCore::mockSourceMap):
924 (WebCore::mockAudioSourceID):
925 (WebCore::mockVideoSourceID):
926 (WebCore::initializeMockSources): Create one audio and one video mock source.
927 (WebCore::MockMediaStreamCenter::registerMockMediaStreamCenter): Call initializeMockSources.
928 (WebCore::MockMediaStreamCenter::createMediaStream): Use the already allocated mock media
930 (WebCore::MockMediaStreamCenter::getMediaStreamTrackSources): Ditto.
931 * platform/mock/MockMediaStreamCenter.h:
933 2013-10-07 Andreas Kling <akling@apple.com>
935 CTTE: Live node lists always have an owner Node.
936 <https://webkit.org/b/122470>
938 Reviewed by Anders Carlsson.
940 Make LiveNodeListBase::m_ownerNode a Ref<Node> instead of a RefPtr
941 and have all constructors take Node&.
943 2013-10-07 Anders Carlsson <andersca@apple.com>
945 Clean up ScriptExecutionContext::Task and subclasses
946 https://bugs.webkit.org/show_bug.cgi?id=122469
948 Reviewed by Andreas Kling.
950 * Modules/webdatabase/Database.cpp:
951 (WebCore::DerefContextTask::DerefContextTask):
952 (WebCore::Database::~Database):
953 (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask):
954 (WebCore::Database::scheduleTransactionCallback):
955 * Modules/webdatabase/DatabaseManager.cpp:
956 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
957 (WebCore::DatabaseManager::openDatabase):
958 * Modules/webdatabase/SQLCallbackWrapper.h:
959 (WebCore::SQLCallbackWrapper::clear):
960 (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask):
961 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
962 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
963 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
964 * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
965 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask):
966 (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
967 * bindings/js/JSCallbackData.h:
968 (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
969 * bindings/js/JSDOMGlobalObjectTask.h:
970 * bindings/js/JSDOMWindowBase.cpp:
971 (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
972 * bindings/js/JSWorkerGlobalScopeBase.cpp:
973 (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
974 * bindings/scripts/CodeGeneratorJS.pm:
975 (GenerateCallbackImplementation):
976 * dom/CrossThreadTask.h:
977 (WebCore::createCallbackTask):
979 (WebCore::Document::addConsoleMessage):
980 (WebCore::Document::addMessage):
981 (WebCore::PerformTaskContext::PerformTaskContext):
982 (WebCore::Document::postTask):
983 (WebCore::Document::pendingTasksTimerFired):
985 * dom/ScriptExecutionContext.cpp:
986 (WebCore::ProcessMessagesSoonTask::ProcessMessagesSoonTask):
987 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
988 * dom/ScriptExecutionContext.h:
989 * dom/StringCallback.cpp:
990 (WebCore::StringCallback::scheduleCallback):
991 * loader/appcache/ApplicationCacheGroup.cpp:
992 (WebCore::CallCacheListenerTask::CallCacheListenerTask):
993 (WebCore::ApplicationCacheGroup::postListenerTask):
994 * workers/DefaultSharedWorkerRepository.cpp:
995 (WebCore::SharedWorkerProxy::postTaskToLoader):
996 (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
997 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
998 (WebCore::DefaultSharedWorkerRepository::connectToWorker):
999 * workers/WorkerEventQueue.cpp:
1000 (WebCore::WorkerEventQueue::enqueueEvent):
1001 * workers/WorkerGlobalScope.cpp:
1002 (WebCore::WorkerGlobalScope::close):
1003 (WebCore::WorkerGlobalScope::postTask):
1004 (WebCore::WorkerGlobalScope::addConsoleMessage):
1005 (WebCore::WorkerGlobalScope::addMessage):
1006 * workers/WorkerGlobalScope.h:
1007 * workers/WorkerLoaderProxy.h:
1008 * workers/WorkerMessagingProxy.cpp:
1009 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
1010 (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
1011 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
1012 (WebCore::WorkerMessagingProxy::postTaskToLoader):
1013 (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
1014 (WebCore::WorkerMessagingProxy::workerThreadCreated):
1015 (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
1016 (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
1017 (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
1018 (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
1019 (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
1020 (WebCore::WorkerMessagingProxy::reportPendingActivity):
1021 * workers/WorkerMessagingProxy.h:
1022 * workers/WorkerRunLoop.cpp:
1023 (WebCore::WorkerRunLoop::postTask):
1024 (WebCore::WorkerRunLoop::postTaskAndTerminate):
1025 (WebCore::WorkerRunLoop::postTaskForMode):
1026 (WebCore::WorkerRunLoop::Task::Task):
1027 * workers/WorkerRunLoop.h:
1028 * workers/WorkerThread.cpp:
1029 (WebCore::WorkerThreadShutdownFinishTask::WorkerThreadShutdownFinishTask):
1030 (WebCore::WorkerThreadShutdownStartTask::performTask):
1031 (WebCore::WorkerThread::stop):
1032 (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
1034 2013-10-07 Sam Weinig <sam@webkit.org>
1036 CTTE: Use references in and around DragController
1037 https://bugs.webkit.org/show_bug.cgi?id=122427
1039 Reviewed by Andreas Kling.
1041 Use references to indicate non-nullness of DragController related
1044 2013-10-07 Tim Horton <timothy_horton@apple.com>
1046 Animated images are not restarted when page visibility changes
1047 https://bugs.webkit.org/show_bug.cgi?id=122464
1048 <rdar://problem/14293474>
1050 Reviewed by Simon Fraser.
1052 Always kickstart animated images when the page visibility changes,
1053 which can occur via window occlusion, and which is independent of in-window
1054 state, which we were previously using to advance animation.
1056 No new tests; attempts to make a test have resulted only in a flaky, timing-dependent test.
1059 (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
1060 Move this call to resumeAnimatingImages() up to Page.
1062 * page/FrameView.cpp:
1063 (WebCore::FrameView::setIsInWindow):
1064 Move this call to resumeAnimatingImages() up to Page.
1069 Move resumeAnimatingImages() itself up to Page.
1072 (WebCore::Page::setIsInWindow):
1073 Resume animated images when we move in-window.
1075 (WebCore::Page::setVisibilityState):
1076 Resume animated images when we become visible.
1077 This is the one we were previously missing.
1079 (WebCore::Page::resumeActiveDOMObjectsAndAnimations):
1080 Resume animated images when we're told to.
1082 (WebCore::Page::resumeAnimatingImages):
1083 Kickstart any animated images in all frames.
1085 2013-10-07 Jer Noble <jer.noble@apple.com>
1087 [Mac] Drawing video into canvas doesn't work on the first attempt
1088 https://bugs.webkit.org/show_bug.cgi?id=122404
1090 Reviewed by Eric Carlson.
1092 Test: media/video-canvas-drawing.html
1094 If creating and painting from an AVPlayerItemVideoOutput fails, fall back
1095 to the (much slower) AVAssetImageGenerator path. Make sure to revert to the
1096 AVPlayerItemVideoOutput path when that object begins to have available
1099 To do so, remove the "__MAC_OS_X_VERSION_MIN_REQUIRED < 1080" check around
1100 the AVAssetImageGenerator code, and allow both the image generator and video
1101 output to exist simultaneously.
1103 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1104 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1105 (WebCore::MediaPlayerPrivateAVFoundationObjC::hasContextRenderer):
1106 (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer):
1107 (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyImageGenerator):
1108 (WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext):
1109 (WebCore::MediaPlayerPrivateAVFoundationObjC::videoOutputHasAvailableFrame):
1110 (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
1112 2013-10-07 Jer Noble <jer.noble@apple.com>
1114 URLMediaSource.idl and URLMediaStream.idl are wrong
1115 https://bugs.webkit.org/show_bug.cgi?id=122301
1117 Reviewed by Philippe Normand.
1119 Rename URLMediaSource and URLMediaStream to DOMURLMediaSource and DOMURLMediaStream,
1122 Update the build files:
1123 * CMakeLists.txt: Rename URL -> DOMURL.
1124 * DerivedSources.make: Ditto.
1125 * GNUmakefile.list.am: Ditto.
1126 * WebCore.xcodeproj/project.pbxproj: Ditto.
1128 Rename the .idl and implementation files:
1129 * Modules/mediasource/DOMURLMediaSource.cpp: Renamed from Source/WebCore/Modules/mediasource/URLMediaSource.cpp.
1130 (WebCore::DOMURLMediaSource::createObjectURL):
1131 * Modules/mediasource/DOMURLMediaSource.h: Renamed from Source/WebCore/Modules/mediasource/URLMediaSource.h.
1132 * Modules/mediasource/DOMURLMediaSource.idl: Renamed from Source/WebCore/Modules/mediasource/URLMediaSource.idl.
1133 * Modules/mediastream/DOMURLMediaStream.cpp: Renamed from Source/WebCore/Modules/mediastream/URLMediaStream.cpp.
1134 (WebCore::DOMURLMediaStream::createObjectURL):
1135 * Modules/mediastream/DOMURLMediaStream.h: Renamed from Source/WebCore/Modules/mediastream/URLMediaStream.h.
1136 * Modules/mediastream/DOMURLMediaStream.idl: Renamed from Source/WebCore/Modules/mediastream/URLMediaStream.idl.
1138 2013-10-07 Philippe Normand <pnormand@igalia.com>
1140 Conditional support in bindings code generator for overloaded functions
1141 https://bugs.webkit.org/show_bug.cgi?id=122443
1143 Reviewed by Darin Adler.
1145 * bindings/scripts/CodeGeneratorJS.pm:
1146 (GenerateOverloadedFunction): Generate conditional for overloaded
1147 function, if it's present in the idl.
1148 (GenerateImplementation): Close the last overloaded function
1149 conditional before generating the distpatch function.
1150 * bindings/scripts/test/JS/JSTestObj.cpp:
1151 (WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
1152 Rebaseline overloaded function tests.
1154 2013-10-07 Tim Horton <timothy_horton@apple.com>
1156 -webkit-cross-fade paints SVGs at full opacity during cross-fade
1157 https://bugs.webkit.org/show_bug.cgi?id=122441
1158 <rdar://problem/13973162>
1160 Reviewed by Simon Fraser.
1162 Test: css3/images/cross-fade-svg-with-opacity.html
1164 * platform/graphics/CrossfadeGeneratedImage.cpp:
1165 (WebCore::drawCrossfadeSubimage):
1166 (WebCore::CrossfadeGeneratedImage::drawCrossfade):
1167 Factor the image painting out into a function.
1168 Conditionally use a transparency layer around painting if the image
1169 we're drawing is an SVG (SVGImage is the only Image subclass that will
1170 not respect the context's opacity).
1172 2013-10-06 Anders Carlsson <andersca@apple.com>
1174 Add OVERRIDE and virtual where appropriate
1175 https://bugs.webkit.org/show_bug.cgi?id=122439
1177 Reviewed by Antti Koivisto.
1179 * Modules/encryptedmedia/MediaKeys.h:
1180 * Modules/webaudio/AnalyserNode.h:
1181 * Modules/webaudio/AudioBasicInspectorNode.h:
1182 * Modules/webaudio/AudioBasicProcessorNode.h:
1183 * Modules/webaudio/AudioBufferSourceNode.h:
1184 * Modules/webaudio/AudioContext.h:
1185 * Modules/webaudio/AudioDestinationNode.h:
1186 * Modules/webaudio/AudioProcessingEvent.h:
1187 * Modules/webaudio/BiquadDSPKernel.h:
1188 * Modules/webaudio/BiquadProcessor.h:
1189 * Modules/webaudio/ChannelMergerNode.h:
1190 * Modules/webaudio/ChannelSplitterNode.h:
1191 * Modules/webaudio/ConvolverNode.h:
1192 * Modules/webaudio/DelayDSPKernel.h:
1193 * Modules/webaudio/DelayProcessor.h:
1194 * Modules/webaudio/DynamicsCompressorNode.h:
1195 * Modules/webaudio/GainNode.h:
1196 * Modules/webaudio/MediaElementAudioSourceNode.h:
1197 * Modules/webaudio/OfflineAudioCompletionEvent.h:
1198 * Modules/webaudio/OfflineAudioDestinationNode.h:
1199 * Modules/webaudio/OscillatorNode.h:
1200 * Modules/webaudio/PannerNode.h:
1201 * Modules/webaudio/ScriptProcessorNode.h:
1202 * Modules/webaudio/WaveShaperProcessor.h:
1203 * accessibility/AccessibilityARIAGrid.h:
1204 * accessibility/AccessibilityARIAGridCell.h:
1205 * accessibility/AccessibilityARIAGridRow.h:
1206 * accessibility/AccessibilityImageMapLink.h:
1207 * accessibility/AccessibilityList.h:
1208 * accessibility/AccessibilityListBox.h:
1209 * accessibility/AccessibilityListBoxOption.h:
1210 * accessibility/AccessibilityMediaControls.h:
1211 * accessibility/AccessibilityMenuList.h:
1212 * accessibility/AccessibilityMenuListOption.h:
1213 * accessibility/AccessibilityMenuListPopup.h:
1214 * accessibility/AccessibilityMockObject.h:
1215 * accessibility/AccessibilityNodeObject.h:
1216 * accessibility/AccessibilityProgressIndicator.h:
1217 * accessibility/AccessibilityRenderObject.h:
1218 * accessibility/AccessibilitySVGRoot.h:
1219 * accessibility/AccessibilityScrollView.h:
1220 * accessibility/AccessibilityScrollbar.h:
1221 * accessibility/AccessibilitySlider.h:
1222 * accessibility/AccessibilitySpinButton.h:
1223 * accessibility/AccessibilityTable.h:
1224 * accessibility/AccessibilityTableCell.h:
1225 * accessibility/AccessibilityTableColumn.h:
1226 * accessibility/AccessibilityTableHeaderContainer.h:
1227 * accessibility/AccessibilityTableRow.h:
1228 * bindings/js/JSEventListener.h:
1229 * bindings/js/WebCoreTypedArrayController.h:
1230 * bridge/c/c_class.h:
1231 * bridge/c/c_instance.h:
1232 * bridge/c/c_runtime.h:
1233 * bridge/runtime_root.h:
1234 * css/CSSBasicShapes.h:
1235 * css/CSSComputedStyleDeclaration.h:
1236 * css/CSSStyleSheet.h:
1238 * dom/BeforeTextInsertedEvent.h:
1239 * dom/CDATASection.h:
1240 * dom/ChildNodeList.h:
1241 * dom/DatasetDOMStringMap.h:
1243 * dom/DocumentEventQueue.h:
1244 * dom/DocumentFragment.h:
1247 * dom/KeyboardEvent.h:
1249 * dom/PageTransitionEvent.h:
1250 * dom/ProgressEvent.h:
1251 * dom/PseudoElement.h:
1252 * dom/ScriptExecutionContext.h:
1254 * dom/StyledElement.h:
1255 * dom/TagNodeList.h:
1258 * dom/TransitionEvent.h:
1260 * dom/WebKitAnimationEvent.h:
1261 * dom/WebKitTransitionEvent.h:
1262 * editing/ApplyBlockElementCommand.h:
1263 * editing/ApplyStyleCommand.h:
1264 * editing/BreakBlockquoteCommand.h:
1265 * editing/CompositeEditCommand.h:
1266 * editing/SpellingCorrectionCommand.h:
1268 * fileapi/FileThreadTask.h:
1269 * history/BackForwardList.h:
1270 * html/BaseCheckableInputType.h:
1271 * html/HTMLAnchorElement.h:
1272 * html/HTMLAreaElement.h:
1273 * html/HTMLCanvasElement.h:
1274 * html/HTMLCollection.h:
1275 * html/HTMLElement.h:
1276 * html/HTMLFieldSetElement.h:
1277 * html/HTMLFormControlElement.h:
1278 * html/HTMLFormControlElementWithState.h:
1279 * html/HTMLFormElement.h:
1280 * html/HTMLFrameElementBase.h:
1281 * html/HTMLImageElement.h:
1282 * html/HTMLImageLoader.h:
1283 * html/HTMLInputElement.h:
1284 * html/HTMLLabelElement.h:
1285 * html/HTMLLegendElement.h:
1286 * html/HTMLMediaElement.h:
1287 * html/HTMLMeterElement.h:
1288 * html/HTMLOptGroupElement.h:
1289 * html/HTMLOptionElement.h:
1290 * html/HTMLPlugInElement.h:
1291 * html/HTMLPlugInImageElement.h:
1292 * html/HTMLProgressElement.h:
1293 * html/HTMLSelectElement.h:
1294 * html/HTMLTableElement.h:
1295 * html/HTMLTextAreaElement.h:
1296 * html/HTMLTextFormControlElement.h:
1297 * html/HTMLVideoElement.h:
1298 * html/canvas/CanvasRenderingContext2D.cpp:
1299 * html/shadow/MediaControlElementTypes.h:
1300 * html/shadow/MediaControlElements.h:
1301 * html/shadow/SpinButtonElement.h:
1302 * html/shadow/TextControlInnerElements.h:
1303 * html/track/AudioTrackList.h:
1304 * html/track/TextTrackList.h:
1305 * html/track/TrackListBase.h:
1306 * inspector/InspectorValues.h:
1307 * loader/EmptyClients.h:
1308 * loader/ImageLoader.h:
1309 * loader/ResourceLoader.h:
1310 * loader/SubresourceLoader.h:
1311 * loader/appcache/ApplicationCacheGroup.cpp:
1312 * loader/appcache/ApplicationCacheGroup.h:
1313 * loader/appcache/DOMApplicationCache.h:
1314 * loader/archive/cf/LegacyWebArchive.h:
1315 * loader/cache/CachedCSSStyleSheet.h:
1316 * loader/cache/CachedFont.h:
1317 * loader/cache/CachedFontClient.h:
1318 * loader/cache/CachedImageClient.h:
1319 * loader/cache/CachedSVGDocumentClient.h:
1320 * loader/cache/CachedStyleSheetClient.h:
1321 * loader/cache/CachedXSLStyleSheet.h:
1325 * page/animation/ImplicitAnimation.h:
1326 * platform/PODIntervalTree.h:
1327 * platform/PODRedBlackTree.h:
1328 * platform/ScrollView.h:
1329 * platform/Scrollbar.h:
1331 * platform/animation/TimingFunction.h:
1332 (WebCore::LinearTimingFunction::~LinearTimingFunction):
1333 (WebCore::CubicBezierTimingFunction::~CubicBezierTimingFunction):
1334 (WebCore::StepsTimingFunction::~StepsTimingFunction):
1335 * platform/audio/AudioDSPKernelProcessor.h:
1336 * platform/audio/HRTFPanner.h:
1337 * platform/audio/mac/AudioDestinationMac.h:
1338 * platform/graphics/SimpleFontData.h:
1339 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
1340 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1341 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1342 * platform/graphics/filters/FilterOperation.h:
1343 * platform/network/ResourceHandle.h:
1344 * rendering/AutoTableLayout.h:
1345 * rendering/ClipPathOperation.h:
1346 * rendering/InlineFlowBox.h:
1347 * rendering/RenderBlock.h:
1348 * rendering/RenderBox.h:
1349 * rendering/RenderBoxModelObject.h:
1350 * rendering/RenderButton.h:
1351 * rendering/RenderFieldset.h:
1352 * rendering/RenderFileUploadControl.h:
1353 * rendering/RenderFlexibleBox.h:
1354 * rendering/RenderFlowThread.h:
1355 * rendering/RenderFullScreen.h:
1356 * rendering/RenderImage.h:
1357 * rendering/RenderLayer.h:
1358 * rendering/RenderLineBreak.h:
1359 * rendering/RenderListBox.h:
1360 * rendering/RenderListItem.h:
1361 * rendering/RenderListMarker.h:
1362 * rendering/RenderMenuList.h:
1363 * rendering/RenderMeter.h:
1364 * rendering/RenderObject.h:
1365 * rendering/RenderReplaced.h:
1366 * rendering/RenderSlider.h:
1367 * rendering/RenderTable.h:
1368 * rendering/RenderTableCell.h:
1369 * rendering/RenderText.h:
1370 * rendering/RenderTextControl.h:
1371 * rendering/RenderTextControlSingleLine.h:
1372 * rendering/RenderTextFragment.h:
1373 * rendering/RenderView.h:
1374 * rendering/RootInlineBox.h:
1375 * rendering/mathml/RenderMathMLBlock.h:
1376 * rendering/mathml/RenderMathMLFraction.h:
1377 * rendering/mathml/RenderMathMLOperator.h:
1378 * rendering/style/BasicShapes.h:
1379 * rendering/svg/RenderSVGModelObject.h:
1380 * rendering/svg/RenderSVGShape.h:
1381 * svg/SVGAnimatedBoolean.h:
1382 * svg/SVGAnimatedString.h:
1383 * svg/SVGAnimatedTransformList.h:
1384 * svg/SVGDocument.h:
1386 * svg/SVGElementInstance.h:
1387 * svg/SVGFontElement.h:
1388 * svg/SVGGElement.h:
1389 * svg/SVGGraphicsElement.h:
1390 * svg/SVGTransformable.h:
1391 * svg/properties/SVGAnimatedListPropertyTearOff.h:
1392 * svg/properties/SVGAnimatedPropertyMacros.h:
1393 * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
1394 * svg/properties/SVGListPropertyTearOff.h:
1395 * svg/properties/SVGPropertyTearOff.h:
1396 * workers/WorkerGlobalScope.h:
1398 2013-10-07 Philippe Normand <pnormand@igalia.com>
1400 URLMediaStream is unguarded by ENABLE(MEDIA_STREAM)
1401 https://bugs.webkit.org/show_bug.cgi?id=122444
1403 Reviewed by Martin Robinson.
1405 * Modules/mediastream/URLMediaStream.cpp: Added missing
1407 * Modules/mediastream/URLMediaStream.h: Ditto.
1409 2013-10-07 Philippe Normand <pnormand@igalia.com>
1411 [GTK] webkit_dom_html_style_element_{s,g}et_scoped was removed
1412 https://bugs.webkit.org/show_bug.cgi?id=122446
1414 Reviewed by Martin Robinson.
1416 Added skeleton functions warning of removed functionality for
1417 the <style scoped> GObject DOM binding.
1419 * bindings/gobject/WebKitDOMCustom.cpp:
1420 * bindings/gobject/WebKitDOMCustom.h:
1421 * bindings/gobject/WebKitDOMCustom.symbols:
1423 2013-10-07 Csaba Osztrogonác <ossy@webkit.org>
1425 Unreviewed buildfix for GCC 4.6.
1427 Changed override to OVERRIDE and final to FINAL.
1429 * page/PageSerializer.cpp:
1430 * workers/AbstractWorker.h:
1431 * workers/SharedWorker.h:
1434 2013-10-07 Chris Fleizach <cfleizach@apple.com>
1436 AX: Facebook wrapped a file upload button in an unfocusable ARIA button, which doesn't work with AXPress.
1437 https://bugs.webkit.org/show_bug.cgi?id=122252
1439 Reviewed by Mario Sanchez Prada.
1441 When an author uses a control-type ARIA role (like button), but then hides a native control-type inside,
1442 AXPress needs to operate on the inside node if possible.
1444 Test: accessibility/axpress-on-aria-button.html
1446 * accessibility/AccessibilityNodeObject.cpp:
1447 (WebCore::isNodeActionElement):
1448 (WebCore::nativeActionElement):
1449 (WebCore::AccessibilityNodeObject::actionElement):
1451 2013-10-07 Zan Dobersek <zdobersek@igalia.com>
1453 Unreviewed debug build fix for ports enabling the <template> element support.
1455 * html/HTMLTagNames.in: Generate type helpers for the <template> element as they're required
1456 by the assertions in the Element type casts for HTMLTemplateElement.
1458 2013-10-07 Ryuan Choi <ryuan.choi@samsung.com>
1460 [EFL] Build fix after r157002
1461 https://bugs.webkit.org/show_bug.cgi?id=122434
1463 Reviewed by Sam Weinig.
1465 * editing/markup.cpp: Changed override to OVERRIDE.
1467 2013-10-04 Philippe Normand <pnormand@igalia.com>
1469 MediaStreamTrack can't be FINAL
1470 https://bugs.webkit.org/show_bug.cgi?id=122322
1472 Reviewed by Darin Adler.
1474 Marked the MediaStreamTrack subclasses as final.
1476 * Modules/mediastream/AudioStreamTrack.h:
1477 * Modules/mediastream/MediaStreamTrack.h:
1478 * Modules/mediastream/VideoStreamTrack.h:
1480 2013-10-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1482 Generate toCSSFooValue() for CSSCursorImageValue, CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue
1483 https://bugs.webkit.org/show_bug.cgi?id=122408
1485 Reviewed by Andreas Kling.
1487 As a step to use toCSSFooValue, this patch generates toCSSFooValue() for CSSCursorImageValue,
1488 CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue.
1489 This will help to detect bad type cast.
1491 No new tests, no behavior changes.
1493 * css/CSSCursorImageValue.h:
1494 * css/CSSTimingFunctionValue.h:
1495 * css/CSSToStyleMap.cpp:
1496 (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
1497 * css/CSSUnicodeRangeValue.h:
1499 (WebCore::CSSValue::destroy):
1500 * css/DeprecatedStyleBuilder.cpp:
1501 (WebCore::ApplyPropertyCursor::applyValue):
1502 * css/StyleResolver.cpp:
1503 (WebCore::StyleResolver::styleImage):
1504 (WebCore::StyleResolver::styleShader):
1505 * rendering/style/StylePendingImage.h:
1506 (WebCore::StylePendingImage::cssCursorImageValue):
1508 2013-10-06 Andreas Kling <akling@apple.com>
1510 Range constructors should take a Document&.
1511 <https://webkit.org/b/122435>
1513 Reviewed by Sam Weinig.
1515 Make all Range constructors take Document& instead of a PassRefPtr.
1516 This removes one null check at every call site.
1518 Also use a Ref<Document> for storage in Range.
1520 2013-10-06 Antti Koivisto <antti@apple.com>
1522 Factor text paint style computation out from InlineTextBox
1523 https://bugs.webkit.org/show_bug.cgi?id=122433
1525 Reviewed by Andreas Kling.
1527 Move it to TextPaintStyle.h/cpp. Other parts of the code may use it in the future.
1529 2013-10-06 Darin Adler <darin@apple.com>
1531 [GTK] Get rid of use of deleteAllValues in GtkDragAndDropHelper
1532 https://bugs.webkit.org/show_bug.cgi?id=122417
1534 Reviewed by Andreas Kling.
1536 * platform/gtk/GtkDragAndDropHelper.cpp: Removed unneeded typedefs.
1537 (WebCore::GtkDragAndDropHelper::~GtkDragAndDropHelper): Removed call to
1539 (WebCore::GtkDragAndDropHelper::handleDragEnd): Use remove directly instead
1540 of using find then remove. I believe this fixes a storage leak.
1541 (WebCore::GtkDragAndDropHelper::handleGetDragData): Use get instead of find.
1542 (WebCore::GtkDragAndDropHelper::handleDragLeaveLater): Remove the explicit
1543 delete since remove will automatically delete.
1544 (WebCore::GtkDragAndDropHelper::handleDragLeave): Use get instead of find.
1545 (WebCore::GtkDragAndDropHelper::handleDragMotion): Use add instead of a
1546 combination of find and set. Also user nullptr instead of 0.
1547 (WebCore::GtkDragAndDropHelper::handleDragDataReceived): Use get instead of find.
1548 (WebCore::GtkDragAndDropHelper::handleDragDrop): Use get instead of find.
1550 * platform/gtk/GtkDragAndDropHelper.h: Use nullptr instead of 0. Change value
1551 type of m_droppingContexts to be a std::unique_ptr.
1553 2013-10-06 Andreas Kling <akling@apple.com>
1555 Windows build fix attempt.
1557 * page/win/DragControllerWin.cpp:
1558 (WebCore::DragController::declareAndWriteDragImage):
1560 2013-10-06 Antti Koivisto <antti@apple.com>
1562 Move paint() to RenderElement
1563 https://bugs.webkit.org/show_bug.cgi?id=122371
1565 Reviewed by Darin Adler.
1567 RenderText does not paint itself (text is painted by line boxes). We can move paint() down
1570 This also requires some type tightening elsewhere in the code.
1572 2013-10-06 Antti Koivisto <antti@apple.com>
1574 Don't try to dispatch resize events for SVG images
1575 https://bugs.webkit.org/show_bug.cgi?id=122410
1577 Reviewed by Darin Adler.
1579 Tested by avoiding assertion in svg/custom/large-image-pattern-crash.html
1581 * page/FrameView.cpp:
1582 (WebCore::FrameView::sendResizeEventIfNeeded):
1584 Bail out for SVG images. They have scripting disabled so the event wouldn't do anything anyway.
1585 Use of FrameView mechanisms is just an implementation detail for SVG images, they are not
1586 meant to act like real frames.
1588 * rendering/svg/RenderSVGResourcePattern.cpp:
1589 (WebCore::RenderSVGResourcePattern::createTileImage):
1591 Switch to Element iterator. This will take NoEventDispatchAssertion verifying the change.
1593 2013-10-06 Andreas Kling <akling@apple.com>
1595 Element ancestor iterator should have a first() for convenience.
1596 <https://webkit.org/b/122425>
1598 Reviewed by Antti Koivisto.
1600 Added an easy way to get the first element ancestor of a certain type
1601 and put it to use in a few places.
1603 2013-10-06 Andreas Kling <akling@apple.com>
1605 CTTE: FrameLoader::notifier() should return a reference.
1606 <https://webkit.org/b/122424>
1608 Reviewed by Anders Carlsson.
1610 It was just returning the address of an inline member, so we should
1611 use a reference instead. Also made the backpointer to Frame in
1612 ResourceLoadNotifier a reference.
1614 2013-10-06 Andreas Kling <akling@apple.com>
1616 Avoid layout in window.scroll{Y,X} when at topmost/leftmost position.
1617 <https://webkit.org/b/122423>
1619 Reviewed by Antti Koivisto.
1621 Add a fast path for these properties to skip synchronous layout when
1622 we are just going to return 0 anyway.
1624 * page/DOMWindow.cpp:
1625 (WebCore::DOMWindow::scrollX):
1626 (WebCore::DOMWindow::scrollY):
1628 2013-10-06 Anders Carlsson <andersca@apple.com>
1630 Clean up ContentData
1631 https://bugs.webkit.org/show_bug.cgi?id=122421
1633 Reviewed by Andreas Kling.
1635 Replace uses of OwnPtr with std::unique_ptr and get rid of the ContentData::create overloads.
1637 * css/StyleResolver.cpp:
1638 (WebCore::StyleResolver::applyProperty):
1639 * rendering/style/ContentData.cpp:
1640 (WebCore::ContentData::clone):
1641 * rendering/style/ContentData.h:
1642 (WebCore::ContentData::setNext):
1643 * rendering/style/RenderStyle.cpp:
1644 (WebCore::RenderStyle::appendContent):
1645 (WebCore::RenderStyle::setContent):
1646 * rendering/style/RenderStyle.h:
1647 * rendering/style/StyleRareNonInheritedData.h:
1649 2013-10-06 Sam Weinig <sam@webkit.org>
1651 Be a bit shouty about final classes while we look into why the bots don't like it.
1654 * dom/ProcessingInstruction.h:
1655 * editing/markup.cpp:
1656 * page/PageSerializer.cpp:
1657 * workers/SharedWorker.h:
1660 2013-10-06 Sam Weinig <sam@webkit.org>
1664 * platform/win/ClipboardUtilitiesWin.cpp:
1665 (WebCore::fragmentFromCFHTML):
1666 (WebCore::fragmentFromHTML):
1667 * platform/win/PasteboardWin.cpp:
1668 (WebCore::Pasteboard::writeRangeToDataObject):
1669 (WebCore::Pasteboard::writeSelection):
1671 2013-10-05 Sam Weinig <sam@webkit.org>
1673 CTTE: Thread references through markup.h
1674 https://bugs.webkit.org/show_bug.cgi?id=122403
1676 Reviewed by Darin Adler and Andreas Kling.
1679 - Removed createFragmentFromMarkupWithContext(), it was unused.
1680 - Moved createFragmentFromNodes() into its one caller (in WebKit/mac)
1681 - Add a bunch more toFoo() overloads.
1683 2013-10-06 Zan Dobersek <zdobersek@igalia.com>
1685 [WebIDL] Annotate IDL interfaces under Source/WebCore/Modules/ with the OperationsNotDeletable attribute
1686 https://bugs.webkit.org/show_bug.cgi?id=122281
1688 Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1689 interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1690 doesn't have any effect, but will keep the operations not configurable after the generator is modified
1691 to preserve the original behavior. The attribute will be removed from each interface after checking
1692 conformity with other browsers (in terms of configurability of operations of that interface) and the
1693 WebKit's existing test suites.
1695 This patch covers IDL interfaces under Source/WebCore/Modules/.
1697 * Modules/battery/BatteryManager.idl:
1698 * Modules/encryptedmedia/MediaKeySession.idl:
1699 * Modules/encryptedmedia/MediaKeys.idl:
1700 * Modules/gamepad/GamepadList.idl:
1701 * Modules/geolocation/Geolocation.idl:
1702 * Modules/indexeddb/IDBCursor.idl:
1703 * Modules/indexeddb/IDBDatabase.idl:
1704 * Modules/indexeddb/IDBFactory.idl:
1705 * Modules/indexeddb/IDBIndex.idl:
1706 * Modules/indexeddb/IDBKeyRange.idl:
1707 * Modules/indexeddb/IDBObjectStore.idl:
1708 * Modules/indexeddb/IDBTransaction.idl:
1709 * Modules/indexeddb/IDBVersionChangeEvent.idl:
1710 * Modules/mediacontrols/MediaControlsHost.idl:
1711 * Modules/mediasource/MediaSource.idl:
1712 * Modules/mediasource/SourceBuffer.idl:
1713 * Modules/mediasource/SourceBufferList.idl:
1714 * Modules/mediasource/WebKitMediaSource.idl:
1715 * Modules/mediasource/WebKitSourceBuffer.idl:
1716 * Modules/mediasource/WebKitSourceBufferList.idl:
1717 * Modules/mediastream/MediaStream.idl:
1718 * Modules/mediastream/MediaStreamTrack.idl:
1719 * Modules/mediastream/RTCDTMFSender.idl:
1720 * Modules/mediastream/RTCDataChannel.idl:
1721 * Modules/mediastream/RTCPeerConnection.idl:
1722 * Modules/mediastream/RTCStatsReport.idl:
1723 * Modules/mediastream/RTCStatsResponse.idl:
1724 * Modules/networkinfo/NetworkInfoConnection.idl:
1725 * Modules/notifications/Notification.idl:
1726 * Modules/notifications/NotificationCenter.idl:
1727 * Modules/proximity/DeviceProximityEvent.idl:
1728 * Modules/quota/StorageInfo.idl:
1729 * Modules/quota/StorageQuota.idl:
1730 * Modules/speech/SpeechGrammarList.idl:
1731 * Modules/speech/SpeechRecognition.idl:
1732 * Modules/speech/SpeechRecognitionResult.idl:
1733 * Modules/speech/SpeechRecognitionResultList.idl:
1734 * Modules/speech/SpeechSynthesis.idl:
1735 * Modules/webaudio/AnalyserNode.idl:
1736 * Modules/webaudio/AudioBuffer.idl:
1737 * Modules/webaudio/AudioBufferSourceNode.idl:
1738 * Modules/webaudio/AudioContext.idl:
1739 * Modules/webaudio/AudioListener.idl:
1740 * Modules/webaudio/AudioNode.idl:
1741 * Modules/webaudio/AudioParam.idl:
1742 * Modules/webaudio/BiquadFilterNode.idl:
1743 * Modules/webaudio/OscillatorNode.idl:
1744 * Modules/webaudio/PannerNode.idl:
1745 * Modules/webdatabase/Database.idl:
1746 * Modules/webdatabase/DatabaseSync.idl:
1747 * Modules/webdatabase/SQLResultSetRowList.idl:
1748 * Modules/webdatabase/SQLTransaction.idl:
1749 * Modules/webdatabase/SQLTransactionSync.idl:
1750 * Modules/websockets/WebSocket.idl:
1752 2013-10-06 Andreas Kling <akling@apple.com>
1754 Tighten AbstractWorker and subclasses a bit.
1755 <https://webkit.org/b/122402>
1757 Reviewed by Darin Adler.
1759 - Make the Worker and SharedWorker classes final.
1760 - Have constructors take ScriptExecutionContext by reference.
1761 - Remove unnecessary AbstractWorker::contextDestroyed() override.
1762 - Make eventTargetInterface() inline.
1764 Inlining eventTargetInterface() is quite neat - since we only ever
1765 call this on tightly typed pointers from generated code, combining
1766 final and inline turns the virtual call into a compile-time constant.
1768 2013-10-06 Zan Dobersek <zdobersek@igalia.com>
1770 [WebIDL] Annotate IDL interfaces under Source/WebCore/html/ with the OperationsNotDeletable attribute
1771 https://bugs.webkit.org/show_bug.cgi?id=122280
1773 Reviewed by Darin Adler.
1775 Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1776 interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1777 doesn't have any effect, but will keep the operations not configurable after the generator is modified
1778 to preserve the original behavior. The attribute will be removed from each interface after checking
1779 conformity with other browsers (in terms of configurability of operations of that interface) and the
1780 WebKit's existing test suites.
1782 This patch covers IDL interfaces under Source/WebCore/html/.
1784 * html/DOMFormData.idl:
1785 * html/DOMSettableTokenList.idl:
1786 * html/DOMTokenList.idl:
1788 * html/HTMLAllCollection.idl:
1789 * html/HTMLAnchorElement.idl:
1790 * html/HTMLButtonElement.idl:
1791 * html/HTMLCanvasElement.idl:
1792 * html/HTMLCollection.idl:
1793 * html/HTMLDocument.idl:
1794 * html/HTMLElement.idl:
1795 * html/HTMLEmbedElement.idl:
1796 * html/HTMLFieldSetElement.idl:
1797 * html/HTMLFormControlsCollection.idl:
1798 * html/HTMLFormElement.idl:
1799 * html/HTMLFrameElement.idl:
1800 * html/HTMLIFrameElement.idl:
1801 * html/HTMLInputElement.idl:
1802 * html/HTMLKeygenElement.idl:
1803 * html/HTMLMarqueeElement.idl:
1804 * html/HTMLMediaElement.idl:
1805 * html/HTMLObjectElement.idl:
1806 * html/HTMLOptionsCollection.idl:
1807 * html/HTMLOutputElement.idl:
1808 * html/HTMLSelectElement.idl:
1809 * html/HTMLTableElement.idl:
1810 * html/HTMLTableRowElement.idl:
1811 * html/HTMLTableSectionElement.idl:
1812 * html/HTMLTextAreaElement.idl:
1813 * html/HTMLVideoElement.idl:
1814 * html/MediaController.idl:
1815 * html/RadioNodeList.idl:
1816 * html/TimeRanges.idl:
1817 * html/canvas/CanvasGradient.idl:
1818 * html/canvas/CanvasRenderingContext2D.idl:
1819 * html/canvas/DOMPath.idl:
1820 * html/canvas/EXTDrawBuffers.idl:
1821 * html/canvas/OESVertexArrayObject.idl:
1822 * html/canvas/WebGLDebugShaders.idl:
1823 * html/canvas/WebGLLoseContext.idl:
1824 * html/canvas/WebGLRenderingContext.idl:
1825 * html/track/AudioTrackList.idl:
1826 * html/track/TextTrack.idl:
1827 * html/track/TextTrackCue.idl:
1828 * html/track/TextTrackCueList.idl:
1829 * html/track/TextTrackList.idl:
1830 * html/track/TextTrackRegionList.idl:
1831 * html/track/VideoTrackList.idl:
1833 2013-10-06 Zan Dobersek <zdobersek@igalia.com>
1835 [WebIIDL] Annotate IDL interfaces under Source/WebCore/svg/ with the OperationsNotDeletable attribute
1836 https://bugs.webkit.org/show_bug.cgi?id=122279
1838 Reviewed by Darin Adler.
1840 Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1841 interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1842 doesn't have any effect, but will keep the operations not configurable after the generator is modified
1843 to preserve the original behavior. The attribute will be removed from each interface after checking
1844 conformity with other browsers (in terms of configurability of operations of that interface) and the
1845 WebKit's existing test suites.
1847 This patch covers IDL interfaces under Source/WebCore/svg/.
1850 * svg/SVGAnimationElement.idl:
1852 * svg/SVGCursorElement.idl:
1853 * svg/SVGDocument.idl:
1854 * svg/SVGElement.idl:
1855 * svg/SVGElementInstanceList.idl:
1856 * svg/SVGException.idl:
1857 * svg/SVGFEDropShadowElement.idl:
1858 * svg/SVGFEGaussianBlurElement.idl:
1859 * svg/SVGFEMorphologyElement.idl:
1860 * svg/SVGFilterElement.idl:
1861 * svg/SVGGraphicsElement.idl:
1862 * svg/SVGLength.idl:
1863 * svg/SVGLengthList.idl:
1864 * svg/SVGMarkerElement.idl:
1865 * svg/SVGMaskElement.idl:
1866 * svg/SVGMatrix.idl:
1867 * svg/SVGNumberList.idl:
1869 * svg/SVGPathElement.idl:
1870 * svg/SVGPathSegList.idl:
1871 * svg/SVGPatternElement.idl:
1873 * svg/SVGPointList.idl:
1874 * svg/SVGSVGElement.idl:
1875 * svg/SVGStringList.idl:
1877 * svg/SVGTextContentElement.idl:
1878 * svg/SVGTransform.idl:
1879 * svg/SVGTransformList.idl:
1881 2013-10-06 Zan Dobersek <zdobersek@igalia.com>
1883 [WebIDL] Annotate IDL interfaces under Source/WebCore/page/ with the OperationsNotDeletable attribute
1884 https://bugs.webkit.org/show_bug.cgi?id=122278
1886 Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
1887 interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
1888 doesn't have any effect, but will keep the operations not configurable after the generator is modified
1889 to preserve the original behavior. The attribute will be removed from each interface after checking
1890 conformity with other browsers (in terms of configurability of operations of that interface) and the
1891 WebKit's existing test suites.
1893 This patch covers IDL interfaces under Source/WebCore/page/.
1897 * page/DOMSecurityPolicy.idl:
1898 * page/DOMSelection.idl:
1899 * page/DOMWindow.idl:
1900 * page/EventSource.idl:
1902 * page/Location.idl:
1903 * page/Navigator.idl:
1904 * page/Performance.idl:
1905 * page/PerformanceEntryList.idl:
1906 * page/SpeechInputResultList.idl:
1907 * page/WindowBase64.idl:
1908 * page/WindowTimers.idl:
1910 2013-10-06 Darin Adler <darin@apple.com>
1912 * rendering/RenderButton.cpp:
1913 (WebCore::RenderButton::setupInnerStyle): Added a comment possibly relevant
1914 to current failures seen on Windows bot.
1916 2013-10-06 Commit Queue <commit-queue@webkit.org>
1918 Unreviewed, rolling out r156988.
1919 http://trac.webkit.org/changeset/156988
1920 https://bugs.webkit.org/show_bug.cgi?id=122415
1922 Broke debug build (Requested by ap on #webkit).
1924 * css/CSSCursorImageValue.h:
1925 * css/CSSTimingFunctionValue.h:
1926 * css/CSSToStyleMap.cpp:
1927 (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
1928 * css/CSSUnicodeRangeValue.h:
1930 (WebCore::CSSValue::destroy):
1931 * css/DeprecatedStyleBuilder.cpp:
1932 (WebCore::ApplyPropertyCursor::applyValue):
1933 * css/StyleResolver.cpp:
1934 (WebCore::StyleResolver::styleImage):
1935 (WebCore::StyleResolver::styleShader):
1936 * rendering/style/StylePendingImage.h:
1937 (WebCore::StylePendingImage::cssCursorImageValue):
1939 2013-10-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1941 Add *CSS* prefix to ShadowValue to generate toCSSShadowValue
1942 https://bugs.webkit.org/show_bug.cgi?id=122409
1944 Reviewed by Darin Adler.
1946 To generate toCSSShadowValue(), we need to add *CSS* prefix to ShadowValue.
1947 It is also to be sync with a naming rule of CSS child value.
1949 No new tests, no behavior changes.
1952 * GNUmakefile.list.am:
1953 * WebCore.vcxproj/WebCore.vcxproj:
1954 * WebCore.vcxproj/WebCore.vcxproj.filters:
1955 * WebCore.xcodeproj/project.pbxproj:
1956 * css/CSSComputedStyleDeclaration.cpp:
1957 (WebCore::ComputedStyleExtractor::valueForShadow):
1958 * css/CSSParser.cpp:
1959 (WebCore::ShadowParseContext::commitValue):
1960 * css/CSSShadowValue.cpp: Renamed from Source/WebCore/css/ShadowValue.cpp.
1961 (WebCore::CSSShadowValue::CSSShadowValue):
1962 (WebCore::CSSShadowValue::customCSSText):
1963 (WebCore::CSSShadowValue::equals):
1964 * css/CSSShadowValue.h: Renamed from Source/WebCore/css/ShadowValue.h.
1965 (WebCore::CSSShadowValue::create):
1967 (WebCore::CSSValue::equals):
1968 (WebCore::CSSValue::cssText):
1969 (WebCore::CSSValue::destroy):
1970 * css/SVGCSSStyleSelector.cpp:
1971 (WebCore::StyleResolver::applySVGProperty):
1972 * css/StyleResolver.cpp:
1973 (WebCore::StyleResolver::applyProperty):
1974 (WebCore::StyleResolver::createFilterOperations):
1976 2013-10-06 Darin Adler <darin@apple.com>
1978 Remove unneeded ScriptGCEvent class
1979 https://bugs.webkit.org/show_bug.cgi?id=122390
1981 Reviewed by Anders Carlsson.
1983 * GNUmakefile.list.am: Removed ScriptGCEvent files.
1984 * Target.pri: Ditto.
1985 * UseJSC.cmake: Ditto.
1986 * WebCore.exp.in: Ditto.
1987 * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1988 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1989 * WebCore.xcodeproj/project.pbxproj: Ditto.
1990 * bindings/js/JSBindingsAllInOne.cpp: Ditto.
1991 * bindings/js/ScriptGCEvent.cpp: Removed.
1992 * bindings/js/ScriptGCEvent.h: Removed.
1994 * inspector/InspectorMemoryAgent.cpp: Removed include.
1996 * inspector/InspectorTimelineAgent.cpp:
1997 (WebCore::InspectorTimelineAgent::start): Removed GC event listening.
1998 Some day we might add it back, but for now it is dead code.
1999 (WebCore::InspectorTimelineAgent::stop): Ditto.
2000 (WebCore::usedHeapSize): Renamed from getUsedHeapSize and put the
2001 implementation here instead of indirecting through ScriptGCEvent.
2002 (WebCore::InspectorTimelineAgent::setDOMCounters): Updated for above changes.
2003 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): Ditto.
2004 (WebCore::InspectorTimelineAgent::pushCurrentRecord): Ditto.
2006 * inspector/InspectorTimelineAgent.h: Removed include.
2008 * inspector/ScriptGCEventListener.h: Removed.
2010 * testing/MemoryInfo.h: Updated to get heap capacity and size directly
2011 instead of going through ScriptGCEvent.
2013 2013-10-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2015 Generate toCSSFooValue() for CSSCursorImageValue, CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue
2016 https://bugs.webkit.org/show_bug.cgi?id=122408
2018 Reviewed by Darin Adler.
2020 As a step to use toCSSFooValue, this patch generates toCSSFooValue() for CSSCursorImageValue,
2021 CSSCubicBezierTimingFunctionValue, CSSStepsTimingFunctionValue and CSSUnicodeRangeValue.
2022 This will help to detect bad type cast.
2024 No new tests, no behavior changes.
2026 * css/CSSCursorImageValue.h:
2027 * css/CSSTimingFunctionValue.h:
2028 * css/CSSToStyleMap.cpp:
2029 (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
2030 * css/CSSUnicodeRangeValue.h:
2032 (WebCore::CSSValue::destroy):
2033 * css/DeprecatedStyleBuilder.cpp:
2034 (WebCore::ApplyPropertyCursor::applyValue):
2035 * css/StyleResolver.cpp:
2036 (WebCore::StyleResolver::styleImage):
2037 (WebCore::StyleResolver::styleShader):
2038 * rendering/style/StylePendingImage.h:
2039 (WebCore::StylePendingImage::cssCursorImageValue):
2041 2013-10-05 Andreas Kling <akling@apple.com>
2043 CTTE: Teach CompositeEditCommand that link Nodes are always Elements.
2044 <https://webkit.org/b/122400>
2046 Reviewed by Sam Weinig.
2048 Make pushAnchorElementDown() take an Element& instead of a Node* and
2049 tweak the surrounding code a tiny bit.
2051 2013-10-06 Andreas Kling <akling@apple.com>
2053 CTTE: Node::enclosingLinkEventParentOrSelf() should return an Element.
2054 <https://webkit.org/b/122401>
2056 Reviewed by Sam Weinig.
2058 Only Elements are ever linked, so make enclosingLinkEventParentOrSelf()
2059 return an Element* instead of a Node*. The only call site was already
2060 doing toElement() on the return value without checking, so this makes
2061 things look a bit nicer.
2063 2013-10-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2065 Add *CSS* prefix to FontFeatureValue to generate toCSSFontFeatureValue(), and use it
2066 https://bugs.webkit.org/show_bug.cgi?id=122204
2068 Reviewed by Darin Adler.
2070 *CSS* prefix needs to be added to FontFeatureValue class in order to generate toCSSFontFeatureValue().
2071 static_cast<FontFeatureValue*> is changed with toCSSFontFeatureValue() by using this change.
2073 No new tests, no behavior changes.
2076 * GNUmakefile.list.am:
2078 * WebCore.vcxproj/WebCore.vcxproj:
2079 * WebCore.vcxproj/WebCore.vcxproj.filters:
2080 * WebCore.xcodeproj/project.pbxproj:
2081 * css/CSSComputedStyleDeclaration.cpp:
2082 (WebCore::ComputedStyleExtractor::propertyValue):
2083 * css/CSSFontFeatureValue.cpp: Renamed from Source/WebCore/css/FontFeatureValue.cpp.
2084 (WebCore::CSSFontFeatureValue::CSSFontFeatureValue):
2085 (WebCore::CSSFontFeatureValue::customCSSText):
2086 (WebCore::CSSFontFeatureValue::equals):
2087 * css/CSSFontFeatureValue.h: Renamed from Source/WebCore/css/FontFeatureValue.h.
2088 (WebCore::CSSFontFeatureValue::create):
2089 (WebCore::CSSFontFeatureValue::tag):
2090 (WebCore::CSSFontFeatureValue::value):
2091 * css/CSSParser.cpp:
2092 (WebCore::CSSParser::parseFontFeatureTag):
2094 (WebCore::CSSValue::equals):
2095 (WebCore::CSSValue::cssText):
2096 (WebCore::CSSValue::destroy):
2097 * css/StyleResolver.cpp:
2098 (WebCore::StyleResolver::applyProperty):
2100 2013-10-05 Andreas Kling <akling@apple.com>
2102 FrameSelection: Remove two unused member functions.
2104 Rubber-stamped by Anders Carlsson.
2106 - rootEditableElementOrTreeScopeRootNode()
2107 - rootEditableElementRespectingShadowTree()
2109 2013-10-05 Andreas Kling <akling@apple.com>
2111 CTTE: Node::treeScope() should return a reference.
2112 <https://webkit.org/b/122399>
2114 Reviewed by Superlative Sam.
2116 Every Node belongs to a TreeScope. To enforce this, I've made
2117 treeScope() return a TreeScope&, and setTreeScope() now takes a
2118 TreeScope& so there is no way to clear it.
2120 2013-10-05 Sam Weinig <sam@webkit.org>
2122 CTTE: Use references more for the Document parser
2123 https://bugs.webkit.org/show_bug.cgi?id=122398
2125 Reviewed by Andreas Kling.
2127 Clarify the construction semantics of Document parsers.
2129 2013-10-05 Daniel Bates <dabates@apple.com>
2131 [iOS] Default initialize Settings::setFixedPositionCreatesStackingContext() to true
2132 https://bugs.webkit.org/show_bug.cgi?id=122338
2133 <rdar://problem/14908151>
2135 Reviewed by Darin Adler.
2137 On iOS we always want an element with a fixed position to create a stacking context.
2138 See <rdar://problem/9813262> for more details.
2140 * page/Settings.cpp: Define constant defaultFixedPositionCreatesStackingContext to
2141 be true when building for iOS and false otherwise.
2142 * page/Settings.in: Initialize the setting fixedPositionCreatesStackingContext with
2143 the value of the constant defaultFixedPositionCreatesStackingContext.
2145 2013-10-05 Sam Weinig <sam@webkit.org>
2147 CTTE: Pass DocumentWriter around as a reference
2148 https://bugs.webkit.org/show_bug.cgi?id=122396
2150 Reviewed by Andreas Kling.
2152 * bindings/js/ScriptController.cpp:
2153 (WebCore::ScriptController::executeIfJavaScriptURL):
2154 * dom/DecodedDataDocumentParser.cpp:
2155 (WebCore::DecodedDataDocumentParser::appendBytes):
2156 (WebCore::DecodedDataDocumentParser::flush):
2157 * dom/DecodedDataDocumentParser.h:
2158 * dom/DocumentParser.h:
2159 * dom/RawDataDocumentParser.h:
2160 (WebCore::RawDataDocumentParser::flush):
2161 * html/ImageDocument.cpp:
2162 (WebCore::ImageDocumentParser::appendBytes):
2163 * html/MediaDocument.cpp:
2164 (WebCore::MediaDocumentParser::appendBytes):
2165 (WebCore::MediaDocument::replaceMediaElementTimerFired):
2166 * html/PluginDocument.cpp:
2167 (WebCore::PluginDocumentParser::createDocumentStructure):
2168 (WebCore::PluginDocumentParser::appendBytes):
2169 * inspector/InspectorOverlay.cpp:
2170 (WebCore::InspectorOverlay::overlayPage):
2171 * loader/DocumentLoader.h:
2172 (WebCore::DocumentLoader::writer):
2173 * loader/DocumentWriter.cpp:
2174 (WebCore::DocumentWriter::addData):
2175 (WebCore::DocumentWriter::end):
2176 * loader/FrameLoader.cpp:
2177 (WebCore::FrameLoader::transitionToCommitted):
2178 * loader/SinkDocument.cpp:
2179 (WebCore::SinkDocumentParser::appendBytes):
2180 * svg/graphics/SVGImage.cpp:
2181 (WebCore::SVGImage::dataChanged):
2183 2013-10-05 Andreas Kling <akling@apple.com>
2185 FrameView: Remove code for disabling repaints.
2186 <https://webkit.org/b/122393>
2188 Reviewed by Sam Weinig.
2190 Nobody uses this mode for anything so let's just remove it.
2192 It was added back in r110469 to fix an issue with SVGImageCache
2193 and its only user disappeard in the cache overhaul in r142765.
2195 2013-10-05 Andreas Kling <akling@apple.com>
2197 Remove IFrameShimSupport, it was only used by dead ports.
2199 Rubber-stamped by Anders Carlsson.
2201 * plugins/IFrameShimSupport.cpp: Removed.
2202 * plugins/IFrameShimSupport.h: Removed.
2204 2013-10-05 Anders Carlsson <andersca@apple.com>
2206 Clean up MessageQueue.h
2207 https://bugs.webkit.org/show_bug.cgi?id=122392
2209 Reviewed by Andreas Kling.
2211 Update for changes to MessageQueue, mostly changing create functions to return std::unique_ptr.
2212 I intentionally avoided using std::make_unique in a couple of places because I didn't want to make nested classes
2213 public, and I believe that we can change some of this code to use std::function.
2215 * Modules/webaudio/AsyncAudioDecoder.cpp:
2216 (WebCore::AsyncAudioDecoder::decodeAsync):
2217 (WebCore::AsyncAudioDecoder::runLoop):
2218 (WebCore::AsyncAudioDecoder::DecodingTask::create):
2219 * Modules/webaudio/AsyncAudioDecoder.h:
2220 * Modules/webdatabase/Database.cpp:
2221 (WebCore::Database::markAsDeletedAndClose):
2222 (WebCore::Database::tableNames):
2223 * Modules/webdatabase/DatabaseBackend.cpp:
2224 (WebCore::DatabaseBackend::openAndVerifyVersion):
2225 (WebCore::DatabaseBackend::scheduleTransaction):
2226 (WebCore::DatabaseBackend::scheduleTransactionStep):
2227 * Modules/webdatabase/DatabaseTask.h:
2228 (WebCore::DatabaseBackend::DatabaseOpenTask::create):
2229 (WebCore::DatabaseBackend::DatabaseCloseTask::create):
2230 (WebCore::DatabaseBackend::DatabaseTransactionTask::create):
2231 (WebCore::DatabaseBackend::DatabaseTableNamesTask::create):
2232 * Modules/webdatabase/DatabaseThread.cpp:
2233 (WebCore::DatabaseThread::databaseThread):
2234 (WebCore::DatabaseThread::scheduleTask):
2235 (WebCore::DatabaseThread::scheduleImmediateTask):
2236 (WebCore::SameDatabasePredicate::operator()):
2237 * Modules/webdatabase/DatabaseThread.h:
2238 * dom/default/PlatformMessagePortChannel.cpp:
2239 (WebCore::PlatformMessagePortChannel::EventData::create):
2240 (WebCore::MessagePortChannel::tryGetMessageFromRemote):
2241 * dom/default/PlatformMessagePortChannel.h:
2242 (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
2243 (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
2244 * fileapi/FileThread.cpp:
2245 (WebCore::FileThread::postTask):
2246 (WebCore::SameInstancePredicate::operator()):
2247 (WebCore::FileThread::runLoop):
2248 * fileapi/FileThread.h:
2249 * fileapi/FileThreadTask.h:
2250 (WebCore::createFileThreadTask):
2251 * storage/StorageThread.cpp:
2252 (WebCore::StorageThread::threadEntryPoint):
2253 (WebCore::StorageThread::dispatch):
2254 (WebCore::StorageThread::terminate):
2255 * workers/WorkerRunLoop.cpp:
2256 (WebCore::ModePredicate::operator()):
2257 (WebCore::WorkerRunLoop::runInMode):
2258 (WebCore::WorkerRunLoop::runCleanupTasks):
2259 (WebCore::WorkerRunLoop::Task::create):
2260 * workers/WorkerRunLoop.h:
2262 2013-10-04 Dean Jackson <dino@apple.com>
2264 [WebGL] program should not be able to link if a bad shader is attached
2265 https://bugs.webkit.org/show_bug.cgi?id=94036
2267 Reviewed by Darin Adler.
2269 If you attempt to link a program when bad shaders are attached, the
2270 link should fail. WebGL also requires that the previously linked
2271 program should remain intact. We were doing the former, but not
2274 Fix this by not calling glLinkProgram if we know we have bad
2275 shaders, and synthesize a bad link status instead.
2277 Test: WebGL conformance test conformance/programs/program-test.html
2278 (found in LayoutTests/webgl)
2280 * html/canvas/WebGLRenderingContext.cpp:
2281 (WebCore::WebGLRenderingContext::compileShader): Mark a shader as valid
2283 (WebCore::WebGLRenderingContext::linkProgram): Don't call into GraphicsContext3D::linkProgram
2284 if we know that we don't have valid shaders.
2285 * html/canvas/WebGLShader.cpp:
2286 (WebCore::WebGLShader::WebGLShader): Initialize m_isValid.
2287 * html/canvas/WebGLShader.h:
2288 (WebCore::WebGLShader::isValid): New member variable getter and setter.
2289 (WebCore::WebGLShader::setValid):
2291 2013-10-05 Dean Jackson <dino@apple.com>
2293 Undo texture unit code refactoring - it is ok to bind a texture to multiple locations
2294 https://bugs.webkit.org/show_bug.cgi?id=122369
2295 <rdar://problem/15158465>
2297 Reviewed by Darin Adler.
2299 The optimisation in r152351 (http://webkit.org/b/117868) incorrectly
2300 assumes that a texture cannot be bound to more than one location.
2301 That's true only within the same program object. It's legal to
2302 address TEXTURE_BINDING_2D and TEXTURE_BINDING_CUBE_MAP with the
2303 same texture in different programs.
2305 See https://github.com/KhronosGroup/WebGL/pull/391 for more information.
2307 This change reverts the optimisation, but also does some minor
2308 cleanup (0 -> nullptr, class -> struct).
2310 Covered by the following Khronos WebGL 1.0.1 tests, which
2312 - conformance/more/functions/texImage2DHTML.html
2313 - conformance/more/functions/texSubImage2D.html
2314 - conformance/more/functions/texSubImage2DHTML.html
2316 * html/canvas/WebGLRenderingContext.cpp:
2317 (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
2318 (WebCore::WebGLRenderingContext::reshape):
2319 (WebCore::WebGLRenderingContext::bindTexture):
2320 (WebCore::WebGLRenderingContext::deleteTexture):
2321 (WebCore::WebGLRenderingContext::getParameter):
2322 (WebCore::WebGLRenderingContext::handleNPOTTextures):
2323 (WebCore::WebGLRenderingContext::validateTextureBinding):
2324 (WebCore::WebGLRenderingContext::restoreCurrentTexture2D):
2325 * html/canvas/WebGLRenderingContext.h:
2327 2013-10-05 Anders Carlsson <andersca@apple.com>
2330 https://bugs.webkit.org/show_bug.cgi?id=122388
2332 Reviewed by Darin Adler.
2335 (WebCore::Document::Document):
2336 (WebCore::Document::~Document):
2337 (WebCore::Document::createRenderTree):
2338 (WebCore::Document::destroyRenderTree):
2341 (WebCore::Frame::Frame):
2343 * page/animation/AnimationController.cpp:
2344 (WebCore::AnimationController::AnimationController):
2345 * page/animation/AnimationController.h:
2346 * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:
2347 * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
2348 * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
2349 (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC):
2350 (WebCore::AudioTrackPrivateAVFObjC::setPlayerItemTrack):
2351 * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:
2352 (WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC):
2353 (WebCore::VideoTrackPrivateAVFObjC::setPlayerItemTrack):
2354 * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
2355 * rendering/svg/RenderSVGResourceClipper.cpp:
2356 (WebCore::RenderSVGResourceClipper::applyClippingToContext):
2357 * rendering/svg/RenderSVGResourceClipper.h:
2358 * rendering/svg/RenderSVGResourceFilter.cpp:
2359 (WebCore::RenderSVGResourceFilter::applyResource):
2360 * rendering/svg/RenderSVGResourceFilter.h:
2361 * rendering/svg/RenderSVGResourceMasker.cpp:
2362 (WebCore::RenderSVGResourceMasker::applyResource):
2363 * rendering/svg/RenderSVGResourceMasker.h:
2365 2013-10-05 Darin Adler <darin@apple.com>
2367 Remove COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES) since it's required now
2368 https://bugs.webkit.org/show_bug.cgi?id=122387
2370 Reviewed by Anders Carlsson.
2372 * html/canvas/CanvasStyle.h: Take out conditionals.
2374 2013-10-05 Darin Adler <darin@apple.com>
2376 Add AtomicString::number and use it
2377 https://bugs.webkit.org/show_bug.cgi?id=122384
2379 Reviewed by Anders Carlsson.
2381 * css/CSSGrammar.y.in: Use AtomicString::number instead of String::number since
2382 we are creating an AtomicString. This can save a memory allocation if the string
2383 happens to already be in the atomic string table.
2385 (WebCore::Element::setIntegralAttribute): Ditto.
2386 (WebCore::Element::setUnsignedIntegralAttribute): Ditto.
2387 * editing/BreakBlockquoteCommand.cpp:
2388 (WebCore::BreakBlockquoteCommand::doApply): Ditto.
2389 * html/HTMLBodyElement.cpp:
2390 (WebCore::HTMLBodyElement::insertedInto): Use setIntegralAttribute instead of
2391 a local homegrown equivalent.
2392 * html/HTMLCanvasElement.cpp:
2393 (WebCore::HTMLCanvasElement::setHeight): Ditto.
2394 (WebCore::HTMLCanvasElement::setWidth): Ditto.
2395 * html/HTMLElement.cpp:
2396 (WebCore::HTMLElement::setTabIndex): Ditto.
2397 * html/HTMLImageElement.cpp:
2398 (WebCore::HTMLImageElement::setHeight): Ditto.
2399 (WebCore::HTMLImageElement::setWidth): Ditto.
2400 * html/HTMLInputElement.cpp:
2401 (WebCore::HTMLInputElement::setMaxLength): Ditto.
2402 (WebCore::HTMLInputElement::setSize): Same, but setUnsignedIntegralAttribute.
2403 (WebCore::HTMLInputElement::setHeight): Ditto.
2404 (WebCore::HTMLInputElement::setWidth): Ditto.
2405 * html/HTMLMediaElement.cpp:
2406 (WebCore::HTMLMediaElement::mediaPlayerSetSize): Ditto.
2407 * html/HTMLMeterElement.cpp:
2408 (WebCore::HTMLMeterElement::setMin): More of the same.
2409 (WebCore::HTMLMeterElement::setMax): Ditto.
2410 (WebCore::HTMLMeterElement::setValue): Ditto.
2411 (WebCore::HTMLMeterElement::setLow): Ditto.
2412 (WebCore::HTMLMeterElement::setHigh): Ditto.
2413 (WebCore::HTMLMeterElement::setOptimum): Ditto.
2414 * html/HTMLOListElement.cpp:
2415 (WebCore::HTMLOListElement::setStart): Ditto.
2416 * html/HTMLProgressElement.cpp:
2417 (WebCore::HTMLProgressElement::setValue): Ditto.
2418 (WebCore::HTMLProgressElement::setMax): Ditto.
2419 * html/HTMLSelectElement.cpp:
2420 (WebCore::HTMLSelectElement::parseAttribute): Ditto.
2421 (WebCore::HTMLSelectElement::setSize): Ditto.
2422 * html/HTMLTableCellElement.cpp:
2423 (WebCore::HTMLTableCellElement::setColSpan): Ditto.
2424 (WebCore::HTMLTableCellElement::setRowSpan): Ditto.
2425 * html/HTMLTableColElement.cpp:
2426 (WebCore::HTMLTableColElement::setSpan): Ditto.
2427 * html/HTMLTextAreaElement.cpp:
2428 (WebCore::HTMLTextAreaElement::setMaxLength): Ditto.
2429 (WebCore::HTMLTextAreaElement::setCols): Ditto.
2430 (WebCore::HTMLTextAreaElement::setRows): Ditto.
2431 * html/shadow/MediaControlElements.cpp:
2432 (WebCore::MediaControlTimelineElement::setDuration): Ditto.
2434 2013-10-05 Darin Adler <darin@apple.com>
2436 Cut down on use of String::number
2437 https://bugs.webkit.org/show_bug.cgi?id=122382
2439 Reviewed by Anders Carlsson.
2441 * css/CSSGradientValue.cpp:
2442 (WebCore::CSSLinearGradientValue::customCSSText): Use StringBuilder::appendNumber,
2443 instead of creating a string and then appending it.
2444 (WebCore::CSSRadialGradientValue::customCSSText): Ditto.
2445 * css/CSSParser.cpp:
2446 (WebCore::CSSParser::createKeyframe): Ditto.
2447 * editing/DeleteButtonController.cpp:
2448 (WebCore::DeleteButtonController::createDeletionUI): Use ASCII literals instead of
2449 converting numeric constants to strings at runtime with String::number.
2450 (WebCore::DeleteButtonController::show): Ditto.
2451 * svg/SVGNumberList.cpp:
2452 (WebCore::SVGNumberList::valueAsString): Use StringBuilder::appendNumber.
2453 * svg/SVGPointList.cpp:
2454 (WebCore::SVGPointList::valueAsString): Ditto.
2455 * svg/SVGRect.h: Ditto.
2457 2013-10-05 Anders Carlsson <andersca@apple.com>
2459 Test the waters and begin using lambdas
2460 https://bugs.webkit.org/show_bug.cgi?id=121809
2462 Reviewed by Andreas Kling.
2464 Use lambdas instead of static functions and function objects.
2466 * css/MediaQuery.cpp:
2467 (WebCore::MediaQuery::MediaQuery):
2468 * dom/MutationObserver.cpp:
2469 (WebCore::MutationObserver::deliverAllMutations):
2470 * page/CaptionUserPreferences.cpp:
2471 (WebCore::CaptionUserPreferences::sortedTrackListForMenu):
2473 2013-10-05 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2475 Add *CSS* prefix to FontValue to generate toCSSFontValue()
2476 https://bugs.webkit.org/show_bug.cgi?id=122201
2478 Reviewed by Darin Adler.
2480 *CSS* prefix needs to be added to FontValue class in order to generate toCSSFontValue().
2481 static_cast<FontValue*> is changed with toCSSFontValue() by this change.
2483 No new tests, no behavior changes.
2486 * GNUmakefile.list.am:
2488 * WebCore.vcxproj/WebCore.vcxproj:
2489 * WebCore.vcxproj/WebCore.vcxproj.filters:
2490 * WebCore.xcodeproj/project.pbxproj:
2491 * css/CSSComputedStyleDeclaration.cpp:
2492 (WebCore::ComputedStyleExtractor::propertyValue):
2493 * css/CSSFontValue.cpp: Renamed from Source/WebCore/css/FontValue.cpp.
2494 (WebCore::CSSFontValue::customCSSText):
2495 (WebCore::CSSFontValue::equals):
2496 * css/CSSFontValue.h: Renamed from Source/WebCore/css/FontValue.h.
2497 (WebCore::CSSFontValue::create):
2498 (WebCore::CSSFontValue::CSSFontValue):
2499 * css/CSSParser.cpp:
2501 (WebCore::CSSValue::equals):
2502 (WebCore::CSSValue::cssText):
2503 (WebCore::CSSValue::destroy):
2504 * css/StyleResolver.cpp:
2505 (WebCore::StyleResolver::applyProperty):
2507 2013-10-05 Commit Queue <commit-queue@webkit.org>
2509 Unreviewed, rolling out r156952.
2510 http://trac.webkit.org/changeset/156952
2511 https://bugs.webkit.org/show_bug.cgi?id=122381
2513 Made svg/custom/large-image-pattern-crash.html assert
2514 (Requested by ap on #webkit).
2516 * rendering/InlineBox.cpp:
2517 (WebCore::InlineBox::paint):
2518 * rendering/InlineBox.h:
2519 * rendering/InlineFlowBox.cpp:
2520 (WebCore::InlineFlowBox::paintBoxDecorations):
2521 (WebCore::InlineFlowBox::paintMask):
2522 * rendering/InlineTextBox.cpp:
2523 (WebCore::InlineTextBox::paint):
2524 * rendering/PaintInfo.h:
2525 (WebCore::PaintInfo::shouldPaintWithinRoot):
2526 * rendering/RenderBlock.cpp:
2527 (WebCore::RenderBlock::paint):
2528 * rendering/RenderBox.cpp:
2529 (WebCore::RenderBox::paint):
2530 (WebCore::RenderBox::paintBoxDecorations):
2531 (WebCore::RenderBox::paintMask):
2532 * rendering/RenderBox.h:
2533 * rendering/RenderElement.h:
2534 * rendering/RenderFieldset.cpp:
2535 (WebCore::RenderFieldset::paintBoxDecorations):
2536 * rendering/RenderFrameSet.cpp:
2537 (WebCore::RenderFrameSet::paint):
2538 * rendering/RenderLineBreak.h:
2539 * rendering/RenderObject.cpp:
2540 (WebCore::RenderObject::paint):
2541 * rendering/RenderObject.h:
2542 * rendering/RenderReplaced.cpp:
2543 (WebCore::RenderReplaced::paint):
2544 (WebCore::RenderReplaced::shouldPaint):
2545 * rendering/RenderTable.cpp:
2546 (WebCore::RenderTable::paintObject):
2547 (WebCore::RenderTable::paintBoxDecorations):
2548 * rendering/RenderTableCell.cpp:
2549 (WebCore::RenderTableCell::paintCollapsedBorders):
2550 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2551 (WebCore::RenderTableCell::paintBoxDecorations):
2552 * rendering/RenderTableCol.h:
2553 * rendering/RenderText.h:
2554 * rendering/RenderView.cpp:
2555 (WebCore::RenderView::paint):
2556 (WebCore::RenderView::paintBoxDecorations):
2557 * rendering/RootInlineBox.cpp:
2558 (WebCore::RootInlineBox::paintEllipsisBox):
2559 (WebCore::RootInlineBox::paintCustomHighlight):
2560 * rendering/svg/RenderSVGContainer.cpp:
2561 (WebCore::RenderSVGContainer::paint):
2562 * rendering/svg/RenderSVGGradientStop.h:
2563 * rendering/svg/RenderSVGResourceClipper.cpp:
2564 (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
2565 * rendering/svg/RenderSVGResourceMasker.cpp:
2566 (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2567 * rendering/svg/RenderSVGResourcePattern.cpp:
2568 (WebCore::RenderSVGResourcePattern::createTileImage):
2569 * rendering/svg/RenderSVGRoot.cpp:
2570 (WebCore::RenderSVGRoot::paintReplaced):
2571 * rendering/svg/SVGInlineTextBox.cpp:
2572 (WebCore::SVGInlineTextBox::paintSelectionBackground):
2573 (WebCore::SVGInlineTextBox::paint):
2574 * rendering/svg/SVGRenderingContext.cpp:
2575 (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
2576 * rendering/svg/SVGRenderingContext.h:
2577 * svg/SVGUseElement.cpp:
2578 (WebCore::SVGUseElement::rendererClipChild):
2579 * svg/SVGUseElement.h:
2580 * svg/graphics/filters/SVGFEImage.cpp:
2581 (WebCore::FEImage::platformApplySoftware):
2583 2013-10-05 Darin Adler <darin@apple.com>
2585 Need to check if some HTML child elements are HTMLUnknownElement
2586 https://bugs.webkit.org/show_bug.cgi?id=120297
2588 Reviewed by Andreas Kling.
2590 Test: fast/media/media-disable-crash.html
2592 * dom/make_names.pl:
2593 (printConstructorInterior): Added additional comments about the
2594 wrapperOnlyIfMediaIsAvailable feature.
2595 (printTypeHelpers): Added an isHTMLUnknownElement check to the check helper
2596 functions for tags with the wrapperOnlyIfMediaIsAvailable feature.
2597 (printWrapperFunctions): Instead of redoing the media player check and the
2598 settings check, and possibly making a wrapper of the wrong type, call
2599 isHTMUnknownElement, guaranteeing that the wrapper will match the element
2602 * html/HTMLElement.h: Move HTMLElementTypeHelpers.h to the bottom of the
2603 file so that functions from that file can be use the HTMLElement class and
2604 other things defined in this file.
2606 * html/HTMLMediaElement.cpp:
2607 (WebCore::HTMLMediaElement::paused): Added an assertion that made the regression
2608 test reliably assert, rather than intermittently (for me, non-reproducibly) crash.
2610 2013-10-04 Antti Koivisto <antti@apple.com>
2612 Move paint() to RenderElement
2613 https://bugs.webkit.org/show_bug.cgi?id=122371
2615 Reviewed by Darin Adler.
2617 RenderText does not paint itself (text is painted by line boxes). We can move paint() down
2620 This also requires some type tightening elsewhere in the code.
2622 2013-10-04 Ryosuke Niwa <rniwa@webkit.org>
2624 Fix an assertion failure introduced in r156925.
2626 Add HTMLImageElement to the document-wide map only if it's in the document.
2628 * html/HTMLImageElement.cpp:
2629 (WebCore::HTMLImageElement::parseAttribute):
2631 2013-10-04 Darin Adler <darin@apple.com>
2633 text-transform: lowercase is not lang-dependent (Turkish languages : tr,az)
2634 https://bugs.webkit.org/show_bug.cgi?id=21312
2636 Reviewed by Ryosuke Niwa.
2638 Test: fast/text/text-transform-turkish-and-azeri.html
2640 This patch covers text-transform: uppercase and text-transform: lowercase.
2641 More changes will be needed to cover text-transform: capitalize.
2643 * inspector/DOMPatchSupport.cpp:
2644 (WebCore::DOMPatchSupport::patchNode): Use String::upper instead of String::makeUpper.
2645 * page/EventHandler.cpp:
2646 (WebCore::findDropZone): Use String::lower instead of String::makeLower.
2647 * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
2648 (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Use String::upper instead of String::makeUpper.
2649 * platform/network/blackberry/rss/RSS10Parser.cpp: [Seriously, how is an RSS parser
2650 part of WebKit's networking layer? Where are the tests that cover this? Seems wrong
2651 to have this code in the project.]
2652 (WebCore::RSS10Parser::parseXmlDoc): Use lower instead of makeLower.
2653 (WebCore::RSS10Parser::parseItem): Ditto.
2654 (WebCore::RSS10Parser::parseFeed): Ditto.
2655 * platform/network/blackberry/rss/RSS20Parser.cpp:
2656 (WebCore::RSS20Parser::parseXmlDoc): Ditto.
2657 (WebCore::RSS20Parser::parseItem): Ditto.
2658 (WebCore::RSS20Parser::parseFeed): Ditto.
2659 (WebCore::RSS20Parser::parseEnclosure): Ditto.
2660 * platform/network/blackberry/rss/RSSAtomParser.cpp:
2661 (WebCore::RSSAtomParser::parseXmlDoc): Ditto.
2662 (WebCore::RSSAtomParser::parseItem): Ditto.
2663 (WebCore::RSSAtomParser::parseFeed): Ditto.
2664 (WebCore::RSSAtomParser::parseLink): Ditto.
2665 (WebCore::RSSAtomParser::parseContent): Ditto.
2666 (WebCore::RSSAtomParser::parseAuthor): Ditto.
2667 (WebCore::RSSAtomParser::parseCategory): Ditto.
2668 * platform/text/win/LocaleWin.cpp:
2669 (WebCore::convertLocaleNameToLCID): Use String::lower instead of String::makeLower.
2670 * rendering/RenderText.cpp:
2671 (WebCore::applyTextTransform): Use String::upper and String::lower instead of
2672 String::makeUpper and String::makeLower, and also pass in the locale to each.
2673 * xml/XMLHttpRequest.cpp:
2674 (WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod): Changed this so it doesn't call
2675 upper just to return an already known string constant.
2677 2013-10-04 Alexey Proskuryakov <ap@apple.com>
2679 Roll out r156930 and r156937, they caused 34 assertion failures on bots.
2682 * mathml/MathMLTextElement.cpp:
2683 * mathml/MathMLTextElement.h:
2684 * rendering/RenderFlexibleBox.h:
2685 * rendering/mathml/RenderMathMLBlock.cpp:
2686 * rendering/mathml/RenderMathMLBlock.h:
2687 * rendering/mathml/RenderMathMLFenced.cpp:
2688 * rendering/mathml/RenderMathMLOperator.cpp:
2689 * rendering/mathml/RenderMathMLOperator.h:
2690 * rendering/mathml/RenderMathMLRoot.cpp:
2691 * rendering/mathml/RenderMathMLRoot.h:
2692 * rendering/mathml/RenderMathMLRow.cpp:
2693 * rendering/mathml/RenderMathMLRow.h:
2695 2013-10-04 Anders Carlsson <andersca@apple.com>
2697 FramePolicyFunction should be an std::function
2698 https://bugs.webkit.org/show_bug.cgi?id=122362
2700 Reviewed by Darin Adler.
2702 This makes policy callback handling simpler inside WebKit.
2704 * loader/EmptyClients.cpp:
2705 (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
2706 (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
2707 (WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):
2708 * loader/EmptyClients.h:
2709 * loader/FrameLoader.cpp:
2710 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2711 * loader/FrameLoaderClient.h:
2712 * loader/PolicyChecker.cpp:
2713 (WebCore::PolicyChecker::checkNavigationPolicy):
2714 (WebCore::PolicyChecker::checkNewWindowPolicy):
2715 (WebCore::PolicyChecker::checkContentPolicy):
2717 2013-10-04 Andreas Kling <akling@apple.com>
2719 CTTE: IconController and IconLoader should have Frame& backpointer.
2720 <https://webkit.org/b/122372>
2722 Reviewed by Anders Carlsson.
2724 Also slap IconLoader with FINAL glove.
2726 2013-10-04 Andreas Kling <akling@apple.com>
2728 CTTE: RenderScrollbar DOM owner is always an Element.
2729 <https://webkit.org/b/122348>
2731 Reviewed by Antti Koivisto.
2733 When RenderScrollbar is owned by a DOM node, it's always Element.
2734 Tighten the code a bit with this knowledge.
2736 Also marked the class FINAL and beat it with the OVERRIDE stick.
2738 2013-10-04 Andreas Kling <akling@apple.com>
2740 TypingCommand helpers should take Document&.
2741 <https://webkit.org/b/122370>
2743 Reviewed by Anders Carlsson.
2745 Instead of taking a Document* and immediately asserting that it's
2746 non-null, just take Document&.
2748 2013-10-04 Ryosuke Niwa <rniwa@webkit.org>
2750 Use more references instead of pointers in DocumentOrderedMap
2751 https://bugs.webkit.org/show_bug.cgi?id=122368
2753 Reviewed by Andreas Kling.
2755 Use AtomicStringImpl& instead of AtomicString* or AtomicString& to eliminate
2756 assertions and nullity checks.
2758 * bindings/js/JSDOMWindowCustom.cpp:
2759 (WebCore::namedItemGetter):
2760 (WebCore::JSDOMWindow::getOwnPropertySlot):
2761 (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
2762 * bindings/js/JSHTMLDocumentCustom.cpp:
2763 (WebCore::JSHTMLDocument::canGetItemsForName):
2764 (WebCore::JSHTMLDocument::nameGetter):
2766 (WebCore::Document::addImageElementByLowercasedUsemap):
2767 (WebCore::Document::removeImageElementByLowercasedUsemap):
2768 (WebCore::Document::imageElementByLowercasedUsemap):
2770 * dom/DocumentOrderedMap.cpp:
2771 (WebCore::keyMatchesId):
2772 (WebCore::keyMatchesName):
2773 (WebCore::keyMatchesMapName):
2774 (WebCore::keyMatchesLowercasedMapName):
2775 (WebCore::keyMatchesLowercasedUsemap):
2776 (WebCore::keyMatchesLabelForAttribute):
2777 (WebCore::keyMatchesWindowNamedItem):
2778 (WebCore::keyMatchesDocumentNamedItem):
2779 (WebCore::DocumentOrderedMap::add):
2780 (WebCore::DocumentOrderedMap::remove):
2781 (WebCore::DocumentOrderedMap::get):
2782 (WebCore::DocumentOrderedMap::getElementById):
2783 (WebCore::DocumentOrderedMap::getElementByName):
2784 (WebCore::DocumentOrderedMap::getElementByMapName):
2785 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
2786 (WebCore::DocumentOrderedMap::getElementByLowercasedUsemap):
2787 (WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
2788 (WebCore::DocumentOrderedMap::getElementByWindowNamedItem):
2789 (WebCore::DocumentOrderedMap::getElementByDocumentNamedItem):
2790 (WebCore::DocumentOrderedMap::getAllElementsById):
2791 * dom/DocumentOrderedMap.h:
2792 (WebCore::DocumentOrderedMap::containsSingle):
2793 (WebCore::DocumentOrderedMap::contains):
2794 (WebCore::DocumentOrderedMap::containsMultiple):
2796 (WebCore::Element::updateNameForTreeScope):
2797 (WebCore::Element::updateNameForDocument):
2798 (WebCore::Element::updateIdForTreeScope):
2799 (WebCore::Element::updateIdForDocument):
2800 (WebCore::Element::updateLabel):
2801 * dom/IdTargetObserverRegistry.cpp:
2802 (WebCore::IdTargetObserverRegistry::notifyObserversInternal):
2803 * dom/IdTargetObserverRegistry.h:
2804 (WebCore::IdTargetObserverRegistry::notifyObservers):
2805 * dom/TreeScope.cpp:
2806 (WebCore::TreeScope::getElementById):
2807 (WebCore::TreeScope::getAllElementsById):
2808 (WebCore::TreeScope::addElementById):
2809 (WebCore::TreeScope::removeElementById):
2810 (WebCore::TreeScope::getElementByName):
2811 (WebCore::TreeScope::addElementByName):
2812 (WebCore::TreeScope::removeElementByName):
2813 (WebCore::TreeScope::addImageMap):
2814 (WebCore::TreeScope::removeImageMap):
2815 (WebCore::TreeScope::getImageMap):
2816 (WebCore::TreeScope::addLabel):
2817 (WebCore::TreeScope::removeLabel):
2818 (WebCore::TreeScope::labelElementForId):
2820 (WebCore::TreeScope::hasElementWithId):
2821 (WebCore::TreeScope::containsMultipleElementsWithId):
2822 (WebCore::TreeScope::hasElementWithName):
2823 (WebCore::TreeScope::containsMultipleElementsWithName):
2824 * html/HTMLCollection.cpp:
2825 (WebCore::HTMLCollection::namedItem):
2826 * html/HTMLDocument.cpp:
2827 (WebCore::HTMLDocument::addDocumentNamedItem):
2828 (WebCore::HTMLDocument::removeDocumentNamedItem):
2829 (WebCore::HTMLDocument::addWindowNamedItem):
2830 (WebCore::HTMLDocument::removeWindowNamedItem):
2831 * html/HTMLDocument.h:
2832 (WebCore::HTMLDocument::documentNamedItem):
2833 (WebCore::HTMLDocument::hasDocumentNamedItem):
2834 (WebCore::HTMLDocument::documentNamedItemContainsMultipleElements):
2835 (WebCore::HTMLDocument::windowNamedItem):
2836 (WebCore::HTMLDocument::hasWindowNamedItem):
2837 (WebCore::HTMLDocument::windowNamedItemContainsMultipleElements):
2838 * html/HTMLImageElement.cpp:
2839 (WebCore::HTMLImageElement::parseAttribute):
2840 (WebCore::HTMLImageElement::insertedInto):
2841 (WebCore::HTMLImageElement::removedFrom):
2842 * html/HTMLMapElement.cpp:
2843 (WebCore::HTMLMapElement::imageElement):
2844 (WebCore::HTMLMapElement::parseAttribute):
2845 (WebCore::HTMLMapElement::insertedInto):
2846 (WebCore::HTMLMapElement::removedFrom):
2847 * html/HTMLObjectElement.cpp:
2848 (WebCore::HTMLObjectElement::updateDocNamedItem):
2850 2013-10-04 Andreas Kling <akling@apple.com>
2852 CTTE: PolicyChecker backpointer to Frame should be a reference.
2853 <https://webkit.org/b/122354>
2855 Reviewed by Anders Carlsson.
2857 PolicyChecker is tied to the lifetime of FrameLoader, which in turn
2858 is tied to the lifetime of Frame.
2860 2013-10-04 Andreas Kling <akling@apple.com>
2862 Editor should use reference-getting document() internally.
2863 <https://webkit.org/b/122364>
2865 Reviewed by Darin Adler.
2867 Instead of grabbing at Editor::m_frame.document(), use the nice
2868 Editor::document() helper that always returns a Document&.
2870 Calling Editor methods on a Frame's editor() while there is no
2871 Document in the Frame is a programming error and this is covered
2872 by an assertion in document().
2874 This removes a bunch of null checks and enables further cleanup.
2876 2013-10-04 Martin Robinson <mrobinson@igalia.com>
2878 Try to fix the Windows build after r156930.
2880 * rendering/mathml/RenderMathMLOperator.cpp:
2881 (WebCore::RenderMathMLOperator::paintCharacter): Use ceilf and floorf to avoid issues
2882 with overload collisions and implicit casts of LayoutUnits.
2884 2013-10-04 Mark Lam <mark.lam@apple.com>
2886 Change ScriptDebugServer to use DebuggerCallFrame instead of JavaScriptCallFrame.
2887 https://bugs.webkit.org/show_bug.cgi?id=121969.
2889 Reviewed by Geoffrey Garen.
2891 Tests: inspector-protocol/debugger/call-frame-function-name.html
2892 inspector-protocol/debugger/call-frame-this-host.html
2893 inspector-protocol/debugger/call-frame-this-nonstrict.html
2894 inspector-protocol/debugger/call-frame-this-strict.html
2896 1. Make JavaScriptCallFrame a thin shell around the DebuggerCallFrame.
2897 DebuggerCallFrame now tracks whether it is valid instead of needing
2898 JavaScriptCallFrame do it.
2899 2. ScriptDebugServer now only instantiates an DebuggerCallFrame when needed
2900 just before it pauses and calls back to its client, and then invalidates
2901 it immediately when the callback returns. Every subsequent callback to
2902 the client will use a new instance of the DebuggerCallFrame.
2903 3. Similarly, ScriptDebugServer now only creates a JavaScriptCallFrame when
2905 4. DebuggerCallFrame only creates its caller DebuggerCallFrame when
2906 it is needed i.e. when the client calls callerFrame(). Similarly,
2907 JavaScriptCallFrame only creates its caller when it's requested.
2908 5. DebuggerCallFrame's line() and column() now returns a base-zero int.
2909 6. WebScriptDebugDelegate now only caches the functionName of the frame
2910 instead of the entire DebuggerCallFrame because that is all that is
2912 7. Also removed evaluateInGlobalCallFrame() which is not used anywhere.
2914 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2915 (WebCore::JSJavaScriptCallFrame::thisObject):
2916 * bindings/js/JavaScriptCallFrame.cpp:
2917 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
2918 (WebCore::JavaScriptCallFrame::caller):
2919 * bindings/js/JavaScriptCallFrame.h:
2920 (WebCore::JavaScriptCallFrame::create):
2921 (WebCore::JavaScriptCallFrame::sourceID):
2922 (WebCore::JavaScriptCallFrame::position):
2923 (WebCore::JavaScriptCallFrame::line):
2924 (WebCore::JavaScriptCallFrame::column):
2925 (WebCore::JavaScriptCallFrame::functionName):
2926 (WebCore::JavaScriptCallFrame::type):
2927 (WebCore::JavaScriptCallFrame::scopeChain):
2928 (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
2929 (WebCore::JavaScriptCallFrame::thisValue):
2930 (WebCore::JavaScriptCallFrame::evaluate):
2931 * bindings/js/ScriptDebugServer.cpp:
2932 (WebCore::DebuggerCallFrameScope::DebuggerCallFrameScope):
2933 (WebCore::DebuggerCallFrameScope::~DebuggerCallFrameScope):
2934 (WebCore::ScriptDebugServer::ScriptDebugServer):
2935 (WebCore::ScriptDebugServer::setBreakpoint):
2936 (WebCore::ScriptDebugServer::removeBreakpoint):
2937 (WebCore::ScriptDebugServer::hasBreakpoint):
2938 (WebCore::ScriptDebugServer::evaluateBreakpointAction):
2939 (WebCore::ScriptDebugServer::breakProgram):
2940 (WebCore::ScriptDebugServer::stepOverStatement):
2941 (WebCore::ScriptDebugServer::stepOutOfFunction):
2942 (WebCore::ScriptDebugServer::currentDebuggerCallFrame):
2943 (WebCore::ScriptDebugServer::dispatchDidPause):
2944 (WebCore::ScriptDebugServer::updateCallFrame):
2945 (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
2946 (WebCore::ScriptDebugServer::pauseIfNeeded):
2947 (WebCore::ScriptDebugServer::callEvent):
2948 (WebCore::ScriptDebugServer::returnEvent):
2949 (WebCore::ScriptDebugServer::willExecuteProgram):
2950 (WebCore::ScriptDebugServer::didExecuteProgram):
2951 * bindings/js/ScriptDebugServer.h:
2952 * bindings/js/WorkerScriptDebugServer.cpp:
2953 (WebCore::WorkerScriptDebugServer::willExecuteProgram):
2955 2013-10-04 Andreas Kling <akling@apple.com>
2957 Ref-ify more stack guards.
2958 <https://webkit.org/b/122360>
2960 Reviewed by Anders Carlsson.
2962 Make another pass turning RefPtr<T> into Ref<T> where possible.
2964 2013-10-04 Ojan Vafai <ojan@chromium.org> and Martin Robinson <mrobinson@igalia.com>
2966 [MathML] Remove RenderTree modification during layout and refactor the StretchyOp code
2967 https://bugs.webkit.org/show_bug.cgi?id=121416
2969 Reviewed by David Hyatt.
2971 Tests: mathml/presentation/mo-minus.html
2972 mathml/presentation/mo-stacked-glyphs.html
2973 mathml/presentation/mo-stretchy-vertical-bar.html
2974 mathml/very-large-stretchy-operators.html
2976 MathML stretched operators by both modifying the width of the operator
2977 and adding children to the operator node in the render tree.
2979 Instead we make the operator width equal to the widest glyph possible that we use
2980 to represent the operator. Additionally instead of rendering stretchy glyphs via
2981 stacked operator pieces in separate render tree nodes, keep only one node for the
2982 glyph, and use a custom paint method to paint the stacked representation.
2984 With this patch, rendering seems roughly equivalent on Mac and markedly better
2988 Not sure what this line-height:0 was here for, but it caused bugs with the new code
2990 * mathml/MathMLTextElement.cpp:
2991 (WebCore::MathMLTextElement::attach):
2993 (WebCore::MathMLTextElement::childrenChanged):
2994 Need to update the anonymous render tree below <mo> elements when their
2995 children change or when the renderer is first attached.
2997 * mathml/MathMLTextElement.h:
2998 (MathMLTextElement):
2999 * rendering/mathml/RenderMathMLBlock.cpp:
3000 (WebCore::RenderMathMLBlock::RenderMathMLBlock):
3001 * rendering/mathml/RenderMathMLBlock.h:
3002 Now that the preferred width doesn't depend on the height, we don't
3003 need to override computePreferredLogicalWidths at all.
3005 * rendering/mathml/RenderMathMLFenced.cpp:
3006 (WebCore::RenderMathMLFenced::makeFences):
3007 (WebCore::RenderMathMLFenced::styleDidChange):
3008 Need to update the anonymous renderers for the anonymous RenderMathMLOperators.
3010 * rendering/mathml/RenderMathMLOperator.cpp:
3011 (WebCore::RenderMathMLOperator::expandedStretchHeight):
3012 Store the non-expanded stretch height so that we can detect when the height
3015 (WebCore::RenderMathMLOperator::stretchToHeight):
3016 Only update the style on the anonymous render tree since this is called
3017 from RenderMathMLRow::layout
3019 (WebCore::RenderMathMLOperator::styleDidChange):
3020 (WebCore::RenderMathMLOperator::glyphBoundsForCharacter): A helper to get glyph boundaries.
3021 (WebCore::RenderMathMLOperator::glyphHeightForCharacter): Ditto for glyph width.
3022 (WebCore::RenderMathMLOperator::advanceForCharacter): The advance is different from the width,
3023 and we want the width of the operator to be the advance instead of the tight bounding width.
3024 (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use the max of all possible glyphs
3025 we can use to render this operator.
3026 (WebCore::RenderMathMLOperator::updateFromElement): We add a child for rendering the non-scaled
3027 version of the glyph.
3028 (WebCore::RenderMathMLOperator::firstCharacterForStretching): Helper to figure out what character
3029 is the character used for stretching operations.
3030 (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): Helper to find an acceptable set
3031 of glyph pieces for stretching characters.
3032 (WebCore::RenderMathMLOperator::updateStyle): Resize the operator to the appropriate height and hide
3033 the child if we are using the stretchy style.
3034 (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
3035 (WebCore::RenderMathMLOperator::paintCharacter): Helper to paint a single character component of the
3037 (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Helper to paint the extender glue between
3038 features of the stretchy glyph.
3039 (WebCore::RenderMathMLOperator::paint): Properly paint stretchy glyphs.
3040 * rendering/mathml/RenderMathMLOperator.h: Update method declarations.
3042 2013-10-04 Ryosuke Niwa <rniwa@webkit.org>
3044 Build fix after r156925. It collided with r156903.
3046 * html/HTMLImageElement.cpp:
3047 (WebCore::HTMLImageElement::insertedInto):
3048 (WebCore::HTMLImageElement::removedFrom):
3050 2013-10-04 Andreas Kling <akling@apple.com>
3052 Clean out some FrameLoaderClient hooks that no ports were using.
3053 <https://webkit.org/b/122356>
3055 Reviewed by Anders Carlsson.
3057 Removed the following hooks that were leftovers from dead ports:
3059 - didExhaustMemoryAvailableForScript
3061 - didNotAllowPlugins
3062 - willCheckAndDispatchMessageEvent
3064 - dispatchWillInsertBody
3065 - dispatchDidChangeResourcePriority
3067 2013-10-03 Ryosuke Niwa <rniwa@webkit.org>
3069 FocusController::advanceFocus spends a lot of time in HTMLMapElement::imageElement
3070 https://bugs.webkit.org/show_bug.cgi?id=122313
3072 Reviewed by Andreas Kling.
3074 The bug was caused by HTMLMapElement::imageElement traversing the entire document to look for
3075 the image element associated with a given map element. Because HTMLCollection used to find the
3076 image element is not cached, it traversed the entire document on every area element we visit,
3077 resulting in O(n^2) behavior.
3079 Fixed the bug by adding the name-to-image-element map on document to avoid the traversal in
3080 HTMLMapElement::imageElement.
3083 (WebCore::Document::addImageElementByLowercasedUsemap): Added.
3084 (WebCore::Document::removeImageElementByLowercasedUsemap): Added.
3085 (WebCore::Document::imageElementByLowercasedUsemap): Added.
3087 * dom/Document.h: Added m_imagesByUsemap.
3089 * dom/DocumentOrderedMap.cpp:
3090 (WebCore::keyMatchesLowercasedUsemap): Added.
3091 (WebCore::DocumentOrderedMap::getElementByLowercasedUsemap): Added.
3093 * dom/DocumentOrderedMap.h:
3094 * html/HTMLImageElement.cpp:
3095 (WebCore::HTMLImageElement::parseAttribute): Update the name-to-usemap map. The code to parse
3096 the usemap attribute and strip # was moved from HTMLMapElement::imageElement.
3097 (WebCore::HTMLImageElement::insertedInto): Ditto.
3098 (WebCore::HTMLImageElement::removedFrom): Ditto.
3099 (WebCore::HTMLImageElement::matchesLowercasedUsemap): Added; called by DocumentOrderedMap.
3101 * html/HTMLImageElement.h:
3103 * html/HTMLMapElement.cpp:
3104 (WebCore::HTMLMapElement::imageElement): Call Document::imageElementByUsemap instead of
3105 looking through all image elements in the document.
3107 2013-10-04 Sam Weinig <sam@webkit.org>
3109 Unify rubberband control
3110 https://bugs.webkit.org/show_bug.cgi?id=122341
3112 Reviewed by Tim Horton.
3114 - Consolidates the two ways we were passing state about whether
3115 to rubber-band on a particular edge down to one.
3120 * page/scrolling/ScrollingCoordinator.h:
3121 (WebCore::ScrollingCoordinator::isRubberBandInProgress):
3122 * page/scrolling/ScrollingTree.cpp:
3123 (WebCore::ScrollingTree::ScrollingTree):
3124 (WebCore::ScrollingTree::setCanRubberBandState):
3125 (WebCore::ScrollingTree::rubberBandsAtLeft):
3126 (WebCore::ScrollingTree::rubberBandsAtRight):
3127 (WebCore::ScrollingTree::rubberBandsAtBottom):
3128 (WebCore::ScrollingTree::rubberBandsAtTop):
3129 (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
3130 * page/scrolling/ScrollingTree.h:
3131 * page/scrolling/mac/ScrollingCoordinatorMac.h:
3132 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3133 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3134 (WebCore::ScrollingTreeScrollingNodeMac::shouldRubberBandInDirection):
3136 2013-10-04 Andreas Kling <akling@apple.com>
3138 CTTE: SubframeLoader backpointer to Frame should be a reference.
3139 <https://webkit.org/b/122350>
3141 Reviewed by Anders Carlsson.
3143 SubframeLoader is tied to the lifetime of FrameLoader, which in turn
3144 is tied to the lifetime of Frame.
3146 2013-10-04 Anders Carlsson <andersca@apple.com>
3148 Remove some unneeded code from WidgetMac
3149 https://bugs.webkit.org/show_bug.cgi?id=122355
3151 Reviewed by Dan Bernstein.
3153 Remove code to manage the visible rect, it's not needed anymore.
3155 * platform/Widget.h:
3156 * platform/mac/WidgetMac.mm:
3157 (WebCore::Widget::~Widget):
3158 (WebCore::Widget::setFrameRect):
3159 (WebCore::Widget::setPlatformWidget):
3161 2013-10-04 Daniel Bates <dabates@apple.com>
3163 [iOS] Upstream disk image cache
3164 https://bugs.webkit.org/show_bug.cgi?id=121985
3166 Reviewed by Joseph Pecoraro.
3169 * WebCore.xcodeproj/project.pbxproj:
3170 * loader/ResourceBuffer.cpp:
3171 (WebCore::ResourceBuffer::isUsingDiskImageCache):
3172 * loader/ResourceBuffer.h:
3173 * loader/cache/CachedImage.cpp:
3174 (WebCore::CachedImage::canUseDiskImageCache): Added.
3175 (WebCore::CachedImage::useDiskImageCache): Added.
3176 * loader/cache/CachedImage.h:
3177 * loader/cache/CachedResource.cpp:
3178 (WebCore::CachedResource::isSafeToMakePurgeable):
3179 (WebCore::CachedResource::isUsingDiskImageCache): Added.
3180 * loader/cache/CachedResource.h:
3181 (WebCore::CachedResource::canUseDiskImageCache): Added.
3182 (WebCore::CachedResource::useDiskImageCache): Added.
3183 * loader/cache/MemoryCache.cpp:
3184 (WebCore::MemoryCache::flushCachedImagesToDisk): Added.
3185 (WebCore::MemoryCache::TypeStatistic::addResource):
3186 (WebCore::MemoryCache::dumpStats):
3187 (WebCore::MemoryCache::dumpLRULists):
3188 * loader/cache/MemoryCache.h:
3189 (WebCore::MemoryCache::TypeStatistic::TypeStatistic):
3190 * loader/ios/DiskImageCacheClientIOS.h: Added.
3191 * loader/ios/DiskImageCacheIOS.h: Added.
3192 * loader/ios/DiskImageCacheIOS.mm: Added.
3193 * platform/Logging.h:
3194 * platform/SharedBuffer.cpp:
3195 (WebCore::SharedBuffer::SharedBuffer):
3196 (WebCore::SharedBuffer::~SharedBuffer):
3197 (WebCore::SharedBuffer::isAllowedToBeMemoryMapped): Added.
3198 (WebCore::SharedBuffer::allowToBeMemoryMapped): Added.
3199 (WebCore::SharedBuffer::failedMemoryMap): Added.
3200 (WebCore::SharedBuffer::markAsMemoryMapped): Added.
3201 (WebCore::SharedBuffer::memoryMappedNotificationCallbackData): Added.
3202 (WebCore::SharedBuffer::memoryMappedNotificationCallback): Added.
3203 (WebCore::SharedBuffer::setMemoryMappedNotificationCallback): Added.
3204 (WebCore::SharedBuffer::data):
3205 (WebCore::SharedBuffer::append):
3206 (WebCore::SharedBuffer::buffer):
3207 (WebCore::SharedBuffer::getSomeData):
3208 * platform/SharedBuffer.h:
3209 (WebCore::SharedBuffer::isMemoryMapped): Added.
3210 * platform/cf/SharedBufferCF.cpp:
3211 (WebCore::SharedBuffer::SharedBuffer):
3213 2013-10-04 Bear Travis <betravis@adobe.com>
3215 [CSS Shapes] Basic shapes should be animatable for shape-outside
3216 https://bugs.webkit.org/show_bug.cgi?id=122343
3218 Reviewed by Dirk Schulze.
3220 Test: fast/shapes/shape-outside-floats/shape-outside-animation.html
3222 Add shape outside to the list of animatable properties. The infrastructure
3223 is already in place for animating basic shapes on shape-inside and clipping
3224 paths. See https://bugs.webkit.org/show_bug.cgi?id=101854.
3226 * page/animation/CSSPropertyAnimation.cpp:
3227 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
3229 2013-10-04 Andreas Kling <akling@apple.com>
3231 Tighten typing in some RenderLayer code.
3232 <https://webkit.org/b/122342>
3234 Reviewed by Antti Koivisto.
3236 Use tighter types instead of Node and RenderObject inside RenderLayer
3239 2013-10-04 Ralph Thomas <ralpht@gmail.com>
3241 Inserting a JS generated keyframe animation shouldn't trigger a whole document style recalc
3242 https://bugs.webkit.org/show_bug.cgi?id=119479
3244 Reviewed by Antti Koivisto.
3246 Change CSSStyleSheet::didMutateRules to not invalidate all node's styles when inserting a
3247 @-webkit-keyframes rule, and to instead insert the rule directly into the StyleResolver.
3249 Test: animation/keyframes-dynamic.html: adds and removes keyframe rules using JavaScript and
3250 validates that the correct elements are animated.
3252 * css/CSSStyleSheet.cpp:
3253 (WebCore::CSSStyleSheet::didMutateRules):
3254 (WebCore::CSSStyleSheet::insertRule):
3255 * css/CSSStyleSheet.h:
3257 2013-10-04 Zan Dobersek <zdobersek@igalia.com>
3259 [WebIDL] Annotate IDL interfaces under Source/WebCore/fileapi/ with the OperationsNotDeletable attribute
3260 https://bugs.webkit.org/show_bug.cgi?id=122275
3262 Reviewed by Darin Adler.
3264 Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
3265 interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
3266 doesn't have any effect, but will keep the operations not configurable after the generator is modified
3267 to preserve the original behavior. The attribute will be removed from each interface after checking
3268 conformity with other browsers (in terms of configurability of operations of that interface) and the
3269 WebKit's existing test suites.
3271 This patch covers IDL interfaces under Source/WebCore/fileapi/.
3274 * fileapi/FileException.idl:
3275 * fileapi/FileList.idl:
3276 * fileapi/FileReader.idl:
3277 * fileapi/FileReaderSync.idl:
3279 2013-10-04 Zan Dobersek <zdobersek@igalia.com>
3281 [WebIDL] Annotate IDL interfaces under Source/WebCore/dom/ with the OperationsNotDeletable attribute
3282 https://bugs.webkit.org/show_bug.cgi?id=122271
3284 Reviewed by Darin Adler.
3286 Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
3287 interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
3288 doesn't have any effect, but will keep the operations not configurable after the generator is modified
3289 to preserve the original behavior. The attribute will be removed from each interface after checking
3290 conformity with other browsers (in terms of configurability of operations of that interface) and the
3291 WebKit's existing test suites.
3293 This patch covers IDL interfaces under Source/WebCore/dom/.
3295 * dom/CharacterData.idl:
3296 * dom/ChildNode.idl:
3297 * dom/ClientRectList.idl:
3298 * dom/Clipboard.idl:
3299 * dom/CompositionEvent.idl:
3300 * dom/CustomEvent.idl:
3301 * dom/DOMCoreException.idl:
3302 * dom/DOMImplementation.idl:
3303 * dom/DOMNamedFlowCollection.idl:
3304 * dom/DOMStringList.idl:
3305 * dom/DOMStringMap.idl:
3306 * dom/DataTransferItem.idl:
3307 * dom/DataTransferItemList.idl:
3308 * dom/DeviceMotionEvent.idl:
3309 * dom/DeviceOrientationEvent.idl:
3311 * dom/DocumentFragment.idl:
3312 * dom/DocumentType.idl:
3315 * dom/EventException.idl:
3316 * dom/EventListener.idl:
3317 * dom/EventTarget.idl:
3318 * dom/KeyboardEvent.idl:
3319 * dom/MessageEvent.idl:
3320 * dom/MessagePort.idl:
3321 * dom/MouseEvent.idl:
3322 * dom/MutationEvent.idl:
3323 * dom/MutationObserver.idl:
3324 * dom/NamedNodeMap.idl:
3326 * dom/NodeFilter.idl:
3327 * dom/NodeIterator.idl:
3330 * dom/RangeException.idl:
3331 * dom/ShadowRoot.idl:
3333 * dom/TextEvent.idl:
3334 * dom/TouchEvent.idl:
3335 * dom/TouchList.idl:
3336 * dom/TreeWalker.idl:
3338 * dom/WebKitNamedFlow.idl:
3339 * dom/WheelEvent.idl:
3341 2013-10-04 Zan Dobersek <zdobersek@igalia.com>
3343 [WebIDL] Annotate IDL interfaces under Source/WebCore/xml/ with the OperationsNotDeletable attribute
3344 https://bugs.webkit.org/show_bug.cgi?id=122269
3346 Reviewed by Darin Adler.
3348 Before changing the JSC bindings generator to enforce WebIDL operations to be configurable, all the
3349 interfaces are being annotated with the OperationsNotDeletable attribute. The attribute currently
3350 doesn't have any effect, but will keep the operations not configurable after the generator is modified
3351 to preserve the original behavior. The attribute will be removed from each interface after checking
3352 conformity with other browsers (in terms of configurability of operations of that interface) and the
3353 WebKit's existing test suites.
3355 This patch covers IDL interfaces under Source/WebCore/xml/.
3357 * xml/DOMParser.idl:
3358 * xml/XMLHttpRequest.idl:
3359 * xml/XMLHttpRequestException.idl:
3360 * xml/XMLHttpRequestUpload.idl:
3361 * xml/XMLSerializer.idl:
3362 * xml/XPathEvaluator.idl:
3363 * xml/XPathException.idl:
3364 * xml/XPathExpression.idl:
3365 * xml/XPathNSResolver.idl:
3366 * xml/XPathResult.idl:
3367 * xml/XSLTProcessor.idl:
3369 2013-10-04 Bear Travis <betravis@adobe.com>
3371 [CSS Shapes] Shape Outside should relayout when set dynamically
3372 https://bugs.webkit.org/show_bug.cgi?id=122197
3374 Reviewed by Alexandru Chiculita.
3376 Tests: fast/shapes/shape-outside-floats/shape-outside-dynamic-shape.html
3377 fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-overhang.html
3379 When shape outside is modified, dependent content needs to relayout. This patch
3380 removes the float from the float lists and marks dependents for layout using
3381 RenderBox::removeFloatingOrPositionedChildFromBlockLists(). This is the same
3382 method used when switching from float: left to float: right and vice versa
3383 (see RenderElement::styleWillChange).
3385 * rendering/RenderBox.cpp:
3386 (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Mark shape-outside dependents
3388 * rendering/RenderBox.h:
3389 (WebCore::RenderBox::markShapeOutsideDependentsForLayout): Mark all the items that may be
3390 affected by this shape-outside for relayout.
3392 2013-10-04 Antti Koivisto <antti@apple.com>
3394 Tighten markContainingBlocksForLayout
3395 https://bugs.webkit.org/show_bug.cgi?id=122326
3397 Reviewed by Anders Carlsson.
3399 2013-10-04 Andreas Kling <akling@apple.com>
3401 Node: removedFrom() and insertedInto() should use references.
3402 <https://webkit.org/b/122315>
3404 Reviewed by Anders Carlsson.
3406 ContainerNode* -> ContainerNode&
3408 2013-10-04 Romain Perier <romain.perier@gmail.com>
3410 Optimize strings copies in srcset parser
3411 https://bugs.webkit.org/show_bug.cgi?id=121899
3413 Reviewed by Alexey Proskuryakov.
3415 No new tests, covered by existing ones.
3417 * html/parser/HTMLParserIdioms.cpp:
3418 (WebCore::parseImagesWithScaleFromSrcsetAttribute): Don't copy
3419 image.imageURL at each loop iteration, save indexes instead.
3420 (WebCore::bestFitSourceForImageAttributes): Make a String for
3421 the URL only when the corresponding candidate is chosen
3422 by the selection algorithm. It reduces the number of copies
3423 significantly and improves performance
3424 (around 30% with the "Release" profile and 60% with the "Debug" one).
3426 2013-10-04 Alexey Proskuryakov <ap@apple.com>
3428 Add svn:ignore to *.pyc files in inspector/Scripts directory, so that they don't
3429 show up as unversioned all the time.
3431 * inspector/Scripts: Added property svn:ignore.
3433 2013-10-04 peavo@outlook.com <peavo@outlook.com>
3435 [Win][WebGL] Crash on exit
3436 https://bugs.webkit.org/show_bug.cgi?id=120764
3438 Reviewed by Martin Robinson.
3440 On exit, libGLESv2.dll is detached from the process and relevant memory is released
3441 before the atexit GL context cleanup handler is called, causing a NULL pointer crash.
3442 The GL context cleanup code was originally written to avoid a X server crash on exit,
3443 so it's only needed for PLATFORM(X11).
3445 * platform/graphics/GLContext.cpp: Only clean up active GL contexts on exit for PLATFORM(X11).
3446 (WebCore::GLContext::cleanupSharedX11Display):
3447 (WebCore::GLContext::cleanupActiveContextsAtExit):
3448 (WebCore::GLContext::GLContext):
3449 (WebCore::GLContext::~GLContext):
3451 2013-10-04 Mihnea Ovidenie <mihnea@adobe.com>
3453 [CSSRegions] Regions as stacking contexts should paint over positioned sibling
3454 https://bugs.webkit.org/show_bug.cgi?id=122321
3456 Reviewed by Alexandru Chiculita.
3458 Test: fast/regions/layers/region-normalflow-stacking-context.html
3460 Since regions are stacking contexts, they should not be in normal flow list of layers.
3461 More clean-up after https://bugs.webkit.org/show_bug.cgi?id=117365 and https://bugs.webkit.org/show_bug.cgi?id=121828
3462 which enabled the layers.