1 2013-01-15 Charles Wei <charles.wei@torchmobile.com.cn>
3 Fullscreen element should not share styles with it's siblings.
4 https://bugs.webkit.org/show_bug.cgi?id=106888
6 Reviewed by George Staikos.
8 Test: fullscreen/full-screen-no-style-sharing.html
10 * css/StyleResolver.cpp:
11 (WebCore::StyleResolver::canShareStyleWithElement):
13 2013-01-15 Tim Horton <timothy_horton@apple.com>
15 Clamp TileCache visibleRect to WKView's visibleRect
16 https://bugs.webkit.org/show_bug.cgi?id=106601
17 <rdar://problem/12843164>
19 Reviewed by Simon Fraser.
21 * platform/graphics/TiledBacking.h:
22 (TiledBacking): Add setExposedRect and setClipsToExposedRect.
23 * platform/graphics/ca/mac/TileCache.h:
24 (TileCache): Add setExposedRect, setClipsToExposedRect, and storage for their respective values.
25 * platform/graphics/ca/mac/TileCache.mm:
26 (WebCore::TileCache::TileCache): Initialize m_clipsToExposedRect to false.
27 (WebCore::TileCache::setExposedRect): Update exposedRect and revalidate tiles.
28 (WebCore::TileCache::setClipsToExposedRect): Update clipsToExposedRect and revalidate tiles;
29 if we're going from unclipped to clipped, we already have tiles, so we can skip tile revalidation.
30 (WebCore::TileCache::computeTileCoverageRect): Intersect exisiting visible rect with
31 exposed rect to get the visible rect we actually care about.
32 (WebCore::TileCache::revalidateTiles): Ditto.
33 * rendering/RenderLayerCompositor.cpp:
34 (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer): Don't create an overhang layer if the frame isn't scrollable.
35 (WebCore::RenderLayerCompositor::requiresContentShadowLayer): Don't create a shadow layer if the frame isn't scrollable.
37 2013-01-15 Roger Fong <roger_fong@apple.com>
39 Get rid of a straggling dependency on SafariThemeConstants in RenderThemeWin.
41 Rubberstamped by Timothy Horton.
43 * rendering/RenderThemeWin.cpp:
44 (WebCore::RenderThemeWin::supportsClosedCaptioning):
45 * rendering/RenderThemeWin.h:
47 2013-01-15 Hayato Ito <hayato@chromium.org>
49 Group all request parameters which are used to match CSS Rules into a parameter object.
50 https://bugs.webkit.org/show_bug.cgi?id=106879
52 Reviewed by Dimitri Glazkov.
54 Introduces a MatchRequest which groups all request parameters to match CSS rules.
56 Factoring, no change in behavior.
58 * css/StyleResolver.cpp:
59 (WebCore::StyleResolver::collectMatchingRules):
60 (WebCore::StyleResolver::collectMatchingRulesForRegion):
61 (WebCore::StyleResolver::matchScopedAuthorRules):
62 (WebCore::StyleResolver::matchHostRules):
63 (WebCore::StyleResolver::matchAuthorRules):
64 (WebCore::StyleResolver::matchUserRules):
65 (WebCore::StyleResolver::matchUARules):
66 (WebCore::StyleResolver::collectMatchingRulesForList):
67 (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
68 * css/StyleResolver.h:
69 (WebCore::StyleResolver::MatchRequest::MatchRequest):
73 2013-01-15 Simon Fraser <simon.fraser@apple.com>
75 Add the ability for a RenderLayerBacking to have a layer that renders backgrounds.
76 https://bugs.webkit.org/show_bug.cgi?id=106961
78 Reviewed by Dean Jackson.
80 In some cases we need a compositing layer to render its background into
81 a separate GraphicsLayer (e.g. for background-attachment: fixed in some scenarios).
83 To support this, have RenderLayer optionally create a GraphicsLayer for the background.
84 Currently nothing causes background layers to get created.
86 Having a background layer requires that we add an additional containment layer
87 which encloses the background, primary and foreground layers, since the
88 background layer has to be composited behind the primary content. This containment
89 layer gets any transform, including page scale on the RenderView's layer.
91 No new tests; there's no way to create a background layer yet. This was tested during
92 development by forcing a background layer.
94 * rendering/RenderLayerBacking.cpp:
95 (WebCore::RenderLayerBacking::updateDebugIndicators): Show borders on both new layers
96 and repaint counters on the background layer.
97 (WebCore::RenderLayerBacking::destroyGraphicsLayers): Clear the two new layers.
98 (WebCore::RenderLayerBacking::updateTransform): If we have a containment layer, it
99 takes the transform (and clear the transform on the primary layer).
100 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Make the background
101 layer if we need one (currently never).
102 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Position and size
103 the containment layer if we have one. If we do, then the m_graphicsLayer will
104 be at 0,0 in that containment layer. The background layer is also sized similarly
105 to the foreground layer.
106 (WebCore::RenderLayerBacking::updateInternalHierarchy): Adapt to the new hierarchy
107 with containment and background layers if we have them.
108 (WebCore::RenderLayerBacking::updateBackgroundLayer): Here's where we create the background
109 and containment layers.
110 (WebCore::RenderLayerBacking::childForSuperlayers): If we have a containment layer, that's
111 what gets attached to our parent.
112 (WebCore::RenderLayerBacking::getCurrentTransform): The containment layer gets the transform
113 if we have one, so check that here.
114 (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
115 (WebCore::RenderLayerBacking::reportMemoryUsage):
116 * rendering/RenderLayerBacking.h:
117 (RenderLayerBacking):
118 * rendering/RenderLayerCompositor.cpp:
119 (WebCore::RenderLayerCompositor::deviceOrPageScaleFactorChanged): We need to start notifying
120 about page/device scale on the containment layer if there is one (since it takes page scale), so
121 use childForSuperlayers() rather than just getting the primary layer.
123 2013-01-15 Pan Deng <pan.deng@intel.com>
125 Remove Key3 and Challenge Response fields from Websocket implementation and Web Inspector.
126 https://bugs.webkit.org/show_bug.cgi?id=105738.
128 Reviewed by Kent Tamura.
130 Key3 and Challenge Response fields were obsoleted in IETF websocket spec, this patch removes related
131 code in Websocket and Web Inspector
133 No new tests as no new functionality added.
135 * Modules/websockets/WebSocketHandshakeRequest.cpp: remove Key3 related code
136 * Modules/websockets/WebSocketHandshakeRequest.h:
137 (WebSocketHandshakeRequest):
138 * Modules/websockets/WebSocketHandshakeResponse.cpp: remove Challenge response related code
139 * Modules/websockets/WebSocketHandshakeResponse.h:
140 (WebSocketHandshakeResponse):
141 * inspector/Inspector.json: remove Key3 and Challenge response fields definition
142 * inspector/InspectorResourceAgent.cpp: remove Key3 and Challenge response field from inspector agent
144 (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
145 (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
146 * inspector/front-end/NetworkManager.js:
147 (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
148 (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
149 * inspector/front-end/RequestHeadersView.js: remove Key3 and Challenge response item from front-end.
150 (WebInspector.RequestHeadersView.prototype._refreshRequestHeaders):
151 (WebInspector.RequestHeadersView.prototype._refreshResponseHeaders):
152 (WebInspector.RequestHeadersView.prototype._refreshHeaders):
154 2013-01-15 Antti Koivisto <antti@apple.com>
156 ASSERT(!m_queue.killed() && m_threadID) hit in StorageThread::scheduleTask on low memory warning
157 https://bugs.webkit.org/show_bug.cgi?id=106960
159 Reviewed by Mark Rowe.
161 We were scheduling a memory clearing task to terminated StorageThreads.
163 Remove thread from the active thread list when terminate is scheduled. Add when thread is started.
165 * storage/StorageThread.cpp:
166 (WebCore::activeStorageThreads):
167 (WebCore::StorageThread::StorageThread):
168 (WebCore::StorageThread::~StorageThread):
169 (WebCore::StorageThread::start):
170 (WebCore::StorageThread::terminate):
171 (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
173 2013-01-15 Luke Macpherson <macpherson@chromium.org>
175 Don't do indiscriminate cast & call in StylePropertySet::PropertyReference::cssName() on release builds.
176 https://bugs.webkit.org/show_bug.cgi?id=106867
178 Reviewed by Darin Adler.
180 Check CSSValue::isVariableValue() before casting to CSSVariableValue.
182 Covered by existing variables tests.
184 * css/StylePropertySet.cpp:
185 (WebCore::StylePropertySet::PropertyReference::cssName):
187 2013-01-15 Emil A Eklund <eae@chromium.org>
189 [Sub pixel layout] RTL cells with padding wraps
190 https://bugs.webkit.org/show_bug.cgi?id=106843
192 Reviewed by Levi Weintraub.
194 At certain zoom levels table cells with padding wraps for rtl
197 Test: fast/sub-pixel/table-rtl-padding.html
199 * rendering/RenderTable.h: Override paddingStart/End to return
200 integer values for padding as we do elsewhere in the table code.
202 2013-01-15 Dominic Mazzoni <dmazzoni@google.com>
204 Use-after-free in AXObjectCache::notificationPostTimerFired
205 https://bugs.webkit.org/show_bug.cgi?id=106106
207 Reviewed by Ryosuke Niwa.
209 Fixes a crash that occurs when a Node is adopted by another document,
210 in particular one that isn't part of the page, and then deleted,
211 which wasn't triggering the code that removed the Node from
212 AXObjectCache. Now, a Node is removed from the AXObjectCache whenever
213 its Document changes.
215 Test: accessibility/crash-adopt-node-from-new-document.html
218 (WebCore::Node::didMoveToNewDocument):
220 2013-01-15 Arnaud Renevier <a.renevier@sisa.samsung.com>
222 Add Canvas blend modes to Cairo
223 https://bugs.webkit.org/show_bug.cgi?id=105074
225 Reviewed by Martin Robinson.
227 Blend mode implementation for cairo. If BlendMode is normal, use
228 CompositeOperator; otherwise, consider CompositeOperator is
231 Add toCairoOperator(BlendMode) to translate BlendMode to matching
234 * platform/graphics/cairo/BitmapImageCairo.cpp:
235 (WebCore::BitmapImage::draw):
236 * platform/graphics/cairo/CairoUtilities.cpp:
237 (WebCore::toCairoOperator):
238 * platform/graphics/cairo/CairoUtilities.h:
240 * platform/graphics/cairo/GraphicsContextCairo.cpp:
241 (WebCore::GraphicsContext::setPlatformCompositeOperation):
243 2013-01-15 Dima Gorbik <dgorbik@apple.com>
244 Implement matching by the voice attribute for WebVTT ::cue pseudo element
245 https://bugs.webkit.org/show_bug.cgi?id=106762
247 Reviewed by Eric Carlson.
249 Implemented matching cue WebVTT elements by a voice attribute by adding a WebVTT specific voice attribute.
250 For DOM trees title attribute is used instead as this is required by specs.
252 * html/track/TextTrackCue.cpp:
253 (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree): set a title argument instead of a voice attribute for the DOM tree.
254 * html/track/TextTrackCue.h:
255 (WebCore::TextTrackCue::voiceAttributeName):
256 * html/track/WebVTTParser.cpp:
257 (WebCore::WebVTTParser::constructTreeFromToken):
259 2013-01-15 Simon Fraser <simon.fraser@apple.com>
261 Some ScrollingCoördinator-related cleanup in RenderLayerBacking
262 https://bugs.webkit.org/show_bug.cgi?id=106950
264 Reviewed by Beth Dakin.
266 Wrap up code that gets the ScrollingCoordinator into a utility function.
267 Pull code out of updateGraphicsLayerGeometry() that registers layers with
268 the ScrollingCoordinator, for cleanliness.
270 * rendering/RenderLayerBacking.cpp:
271 (WebCore::scrollingCoordinatorFromLayer):
272 (WebCore::RenderLayerBacking::adjustTileCacheCoverage):
273 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
274 (WebCore::RenderLayerBacking::registerScrollingLayers):
275 (WebCore::RenderLayerBacking::attachToScrollingCoordinatorWithParent):
276 (WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
277 * rendering/RenderLayerBacking.h:
278 (RenderLayerBacking):
280 2013-01-15 Beth Dakin <bdakin@apple.com>
282 https://bugs.webkit.org/show_bug.cgi?id=106940
283 Suspend CSS animations for background tabs
285 Reviewed by Simon Fraser.
288 (WebCore::Page::setVisibilityState):
290 2013-01-15 Levi Weintraub <leviw@chromium.org>
292 Unreviewed, rolling out r139790.
293 http://trac.webkit.org/changeset/139790
294 https://bugs.webkit.org/show_bug.cgi?id=106948
296 The patch is failing its own test.
298 * dom/ContainerNode.cpp:
299 (WebCore::ContainerNode::parserInsertBefore):
300 (WebCore::ContainerNode::parserRemoveChild):
301 (WebCore::ContainerNode::parserAppendChild):
302 * html/parser/HTMLScriptRunner.cpp:
303 (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
304 (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
305 (WebCore::HTMLScriptRunner::execute):
306 (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
307 (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
308 (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
309 (WebCore::HTMLScriptRunner::runScript):
311 2013-01-15 Emil A Eklund <eae@chromium.org>
313 REGRESSION (r121599): incorrect border scaling when zoomed
314 https://bugs.webkit.org/show_bug.cgi?id=106944
316 Reviewed by Levi Weintraub.
318 Fix bug in ApplyPropertyComputeLength::applyValue where zooming
319 of non-pixel values was incorrect.
321 Test: fast/sub-pixel/zoomed-em-border.html
323 * css/StyleBuilder.cpp:
324 (WebCore::ApplyPropertyComputeLength::applyValue):
326 2013-01-15 Simon Fraser <simon.fraser@apple.com>
328 Rename RenderLayerBacking's m_containmentLayer to m_childContainmentLayer to better describe its purpose
329 https://bugs.webkit.org/show_bug.cgi?id=106947
331 Reviewed by Dean Jackson.
333 Simple rename of m_containmentLayer to m_childContainmentLayer. I'll
334 be adding another "container" layer for background layers shortly,
335 and wanted to improve clarity.
337 * rendering/RenderLayerBacking.cpp:
338 (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
339 (WebCore::RenderLayerBacking::destroyGraphicsLayers):
340 (WebCore::RenderLayerBacking::updateInternalHierarchy):
341 (WebCore::RenderLayerBacking::updateClippingLayers):
342 (WebCore::RenderLayerBacking::parentForSublayers):
343 (WebCore::RenderLayerBacking::backingStoreMemoryEstimate):
344 (WebCore::RenderLayerBacking::reportMemoryUsage):
345 * rendering/RenderLayerBacking.h:
346 (WebCore::RenderLayerBacking::hasClippingLayer):
347 (WebCore::RenderLayerBacking::clippingLayer):
348 (WebCore::RenderLayerBacking::hasTileCacheFlatteningLayer):
349 (WebCore::RenderLayerBacking::tileCacheFlatteningLayer):
350 (RenderLayerBacking):
352 2013-01-15 Enrica Casucci <enrica@apple.com>
354 Add a new set of WebKit2 APIs for text search and
355 search results management.
356 https://bugs.webkit.org/show_bug.cgi?id=106834.
357 <rdar://problem/12597159>
359 Reviewed by Simon Fraser.
361 Adding new API to perform text search in WebKit2 without using
362 the stock UI. The new interface provides all the information
363 necessary to write a custom UI for search.
365 Added new TextWebKitAPI test.
367 * WebCore.exp.in: Added new exported methods.
368 * editing/Editor.cpp:
369 (WebCore::Editor::countMatchesForText): Added new parameter to store
370 all the ranges relative to the matches found.
371 * editing/Editor.h: Modified the interface of countMatchesForText and removed
372 the other definition of countMatchesForText with a different signature.
374 (WebCore::Page::findStringMatchingRanges): Added.
375 (WebCore::Page::markAllMatchesForText): Changed to use the new unified
379 2013-01-15 Alexandru Chiculita <achicu@adobe.com>
381 [Compositor] Do not disable overlap testing for layers in front of 3D transformed layers
382 https://bugs.webkit.org/show_bug.cgi?id=106721
384 Reviewed by Simon Fraser.
386 RenderLayerCompositor is checking for overlapping layers and tries to figure out all the layers that need
387 to be drawn using composited layers. It doesn't know anything about animations yet and it only works with "start"
388 and "end" states. However, it knows that animations might happen, so in that cases it will avoid to do any optimizations,
389 as layers might get moved.
391 The overlapping layers optimization was also disabled for 3D layers. However, 3D layers can be computed in WebKit and
392 can be checked for overlap using just the "start"/"stop" states. In this patch I enable that optimization for 3D layers, too.
393 The result is that more layers are drawn in software mode now, so I've updated a couple of test results.
395 Tests: compositing/layer-creation/overlap-transformed-3d.html
396 compositing/layer-creation/overlap-transformed-preserved-3d.html
398 * rendering/RenderLayerCompositor.cpp:
399 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
401 2013-01-15 Elliott Sprehn <esprehn@gmail.com>
403 HTML parser should queue MutationRecords for its operations
404 https://bugs.webkit.org/show_bug.cgi?id=89351
406 Reviewed by Eric Seidel.
408 Generate mutation records inside the parser. This is done by using a
409 ChildListMutationScope in the ContainerNode::parser* methods and then
410 adding delivery before each <script> element would be processed by
413 Test: fast/dom/MutationObserver/parser-mutations.html
415 * dom/ContainerNode.cpp:
416 (WebCore::ContainerNode::parserInsertBefore):
417 (WebCore::ContainerNode::parserRemoveChild):
418 (WebCore::ContainerNode::parserAppendChild):
419 * html/parser/HTMLScriptRunner.cpp:
420 (WebCore::HTMLScriptRunner::executeParsingBlockingScript):
421 (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
422 (WebCore::HTMLScriptRunner::execute):
423 (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
424 (WebCore::HTMLScriptRunner::executeScriptsWaitingForStylesheets):
425 (WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
426 (WebCore::HTMLScriptRunner::runScript):
428 2013-01-15 Ojan Vafai <ojan@chromium.org>
430 Unreviewed, rolling out r139782.
431 http://trac.webkit.org/changeset/139782
432 https://bugs.webkit.org/show_bug.cgi?id=106939
434 Broke preferred widths on list markers.
436 * rendering/RenderListMarker.cpp:
437 (WebCore::RenderListMarker::layout):
438 (WebCore::RenderListMarker::computePreferredLogicalWidths):
440 2013-01-15 Elliott Sprehn <esprehn@chromium.org>
442 Heap-use-after-free in WebCore::RenderObject::willBeRemovedFromTree
443 https://bugs.webkit.org/show_bug.cgi?id=106384
445 Reviewed by Abhishek Arya.
447 Always walk up from beforeChild until the parent() is the owner of the
448 child list, otherwise we can end up in situations where
449 newChild->parent() == owner but newChild->nextSibling()->parent() != owner
450 which is a recipe for security bugs. Previously we only walked up through
451 anonymous blocks, but missed anonymous inline blocks like those generated
454 Test: fast/css-generated-content/bug-106384.html
456 * rendering/RenderObjectChildList.cpp:
457 (WebCore::RenderObjectChildList::insertChildNode):
459 2013-01-15 Ojan Vafai <ojan@chromium.org>
461 Remove bogus assert added in http://trac.webkit.org/changeset/139772.
462 * rendering/RenderBox.h:
463 (WebCore::RenderBox::computePreferredLogicalWidths):
465 2013-01-15 Ojan Vafai <ojan@chromium.org>
467 Moving updating of margins from computePreferredLogicalWidths to layout
468 https://bugs.webkit.org/show_bug.cgi?id=106939
470 Reviewed by Levi Weintraub.
472 The margins don't affect it's preferred width. We should update them
473 during layout like we do in other classes (e.g. RenderBlock).
475 * rendering/RenderListMarker.cpp:
476 (WebCore::RenderListMarker::layout):
477 (WebCore::RenderListMarker::computePreferredLogicalWidths):
479 2013-01-15 Adam Barth <abarth@webkit.org>
481 Generalize DocumentWeakReference into WTF::WeakPtr
482 https://bugs.webkit.org/show_bug.cgi?id=106854
484 Reviewed by Darin Adler.
486 This patch replaces DocumentWeakReference with WeakPtr. There should be
487 no change in behavior.
491 (WebCore::Document::Document):
492 (WebCore::Document::~Document):
493 (WebCore::PerformTaskContext::PerformTaskContext):
494 (PerformTaskContext):
495 (WebCore::Document::didReceiveTask):
496 (WebCore::Document::postTask):
497 (WebCore::Document::reportMemoryUsage):
502 2013-01-15 James Simonsen <simonjam@chromium.org>
504 [User Timing] INVALID_ACCESS_ERR should be thrown if measuring from a 0 Nav Timing value
505 https://bugs.webkit.org/show_bug.cgi?id=106935
507 Reviewed by Tony Gentilcore.
509 Test: http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_measure_exception.html
511 * page/PerformanceUserTiming.cpp:
512 (WebCore::UserTiming::findExistingMarkStartTime):
514 2013-01-15 Tommy Widenflycht <tommyw@google.com>
516 MediaStream API: Rename the [add|remove]Track callbacks to [add|remove]RemoteTrack for clarity
517 https://bugs.webkit.org/show_bug.cgi?id=106791
519 Reviewed by Adam Barth.
523 * Modules/mediastream/MediaStream.cpp:
524 (WebCore::MediaStream::addRemoteTrack):
525 (WebCore::MediaStream::removeRemoteTrack):
526 * Modules/mediastream/MediaStream.h:
527 * platform/mediastream/MediaStreamCenter.cpp:
528 (WebCore::MediaStreamCenter::addMediaStreamTrack):
529 (WebCore::MediaStreamCenter::removeMediaStreamTrack):
530 * platform/mediastream/MediaStreamDescriptor.h:
531 (MediaStreamDescriptorClient):
533 2013-01-15 Mark Pilgrim <pilgrim@chromium.org>
535 [Chromium] Move SocketStreamHandle and SocketStreamHandleInternal to WebCore/platform
536 https://bugs.webkit.org/show_bug.cgi?id=106899
538 Reviewed by Adam Barth.
540 Part of a larger refactoring series; see tracking bug 106829.
543 * platform/network/chromium/SocketStreamHandle.cpp: Copied from Source/WebKit/chromium/src/SocketStreamHandle.cpp.
544 (WebCore::SocketStreamHandleInternal::send):
545 (WebCore::SocketStreamHandleInternal::didOpenStream):
546 (WebCore::SocketStreamHandleInternal::didSendData):
547 (WebCore::SocketStreamHandleInternal::didReceiveData):
548 (WebCore::SocketStreamHandleInternal::didClose):
549 (WebCore::SocketStreamHandleInternal::didFail):
550 * platform/network/chromium/SocketStreamHandleInternal.h: Copied from Source/WebKit/chromium/src/SocketStreamHandleInternal.h.
552 2013-01-15 Ojan Vafai <ojan@chromium.org>
554 RenderText::computePreferredLogicalWidths does not need to be public
555 https://bugs.webkit.org/show_bug.cgi?id=106934
557 Reviewed by Levi Weintraub.
559 * rendering/RenderCounter.h:
560 Add OVERRIDE keyword.
561 * rendering/RenderText.h:
564 2013-01-15 Ojan Vafai <ojan@chromium.org>
566 Cleanup visibility of some computePreferredLogicalWidths calls
567 https://bugs.webkit.org/show_bug.cgi?id=106933
569 Reviewed by Levi Weintraub.
571 No need for these to be public.
573 * rendering/RenderBox.h:
574 (WebCore::RenderBox::computePreferredLogicalWidths):
575 This should never get called in practice. Add an assert to that effect.
577 * rendering/RenderGrid.h:
579 * rendering/RenderReplica.h:
581 * rendering/RenderScrollbarPart.h:
582 (RenderScrollbarPart):
584 2013-01-13 Dirk Schulze <dschulze@adobe.com>
586 [CSS Filters] brightness() function doesn't work as specified
587 https://bugs.webkit.org/show_bug.cgi?id=106674
589 Reviewed by Dean Jackson.
591 The brightness filter implementation modified the intercept instead of the slope on
592 the feComponentTransfer function. The passed amount acts as multiplier for each
595 Existing tests cover the changes and were updated.
598 (WebCore::CSSParser::parseBuiltinFilterArguments):
599 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
600 (PlatformCALayer::setFilters):
601 * rendering/FilterEffectRenderer.cpp:
602 (WebCore::FilterEffectRenderer::build):
604 2013-01-15 Zan Dobersek <zandobersek@gmail.com>
606 [GTK] Enable Performance Timeline, Resource Timing, Navigation Timing features
607 https://bugs.webkit.org/show_bug.cgi?id=106197
609 Reviewed by Martin Robinson.
611 No new tests - existing layout tests are being unskipped, only a few fail
612 (but their failures are of cross-platform nature).
614 * GNUmakefile.features.am.in: Add feature defines for all three features.
615 They are disabled by default for now.
616 * GNUmakefile.list.am: Add missing build targets.
617 * bindings/gobject/GNUmakefile.am: Ditto.
618 * bindings/js/JSPerformanceEntryCustom.cpp: Added the necessary custom bindings.
619 Mimics the custom V8 bindings.
623 2013-01-15 Alexis Menard <alexis@webkit.org>
625 Unprefixed transitionend event doesn't seem to be implemented, which breaks many sites
626 https://bugs.webkit.org/show_bug.cgi?id=105647
628 Reviewed by Julien Chaffraix.
630 Add support for transitionend event delivery as part as the unprefixing
631 work on CSS Transitions. This patch adds some code in EventTarget to
632 figure out if the current event to dispatch has a prefixed version or
633 not. Then from the list of listeners we deduce which event should be delivered
634 (prefixed or unprefixed).
636 In the case of the CSS Transitions, WebKit will now behave as follow :
637 if an event listener is attached to the prefixed version of the
638 transition end event then only the prefixed event will be send.
639 If an event listener is attached to the unprefixed version
640 of the transition end event then only the unprefixed event will be
641 send. If there are event listeners on both unprefixed and prefixed
642 events then only the unprefixed event will be send.
644 The behavior was discussed here :
645 http://lists.webkit.org/pipermail/webkit-dev/2013-January/023301.html.
647 Tests: transitions/transition-end-event-unprefixed-01.html
648 transitions/transition-end-event-unprefixed-02.html
651 (WebCore::Document::addListenerTypeIfNeeded): Register the prefixed
652 listener too as transitionend listeners so that we properly dispatch
655 (WebCore): Add the new transitionend name.
656 * dom/EventTarget.cpp:
657 (WebCore::createMatchingPrefixedEvent):
658 (WebCore::prefixedType):
659 (WebCore::EventTarget::fireEventListeners): Find out if somebody is
660 listening for unprefixed events, if so we always send the unprefixed
661 event, if not then we create a prefixed event and send it.
662 * page/animation/AnimationController.cpp:
663 (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
664 * page/animation/ImplicitAnimation.cpp:
665 (WebCore::ImplicitAnimation::sendTransitionEvent): Always create by
666 default unprefixed events.
668 2013-01-15 Tony Gentilcore <tonyg@chromium.org>
670 Make AtomicMarkupTokenBase use a bare UChar* for external characters
671 https://bugs.webkit.org/show_bug.cgi?id=106919
673 Reviewed by Eric Seidel.
675 This allows an arbitrary backing for external characters which is necessary for the threaded HTML parser.
677 No new tests because no new functionality.
679 * html/parser/HTMLTreeBuilder.cpp:
680 (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
681 (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
682 * xml/parser/MarkupTokenBase.h:
683 (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
684 (WebCore::AtomicMarkupTokenBase::characters):
685 (AtomicMarkupTokenBase):
686 (WebCore::AtomicMarkupTokenBase::charactersLength):
687 (WebCore::AtomicMarkupTokenBase::clearExternalCharacters):
688 * xml/parser/XMLTreeBuilder.cpp:
689 (WebCore::XMLTreeBuilder::processCharacter):
691 2013-01-15 Arko Saha <arko@motorola.com>
693 Microdata: propertiesCollection[name] should return undefined if item doesn't have a property named 'name'
694 https://bugs.webkit.org/show_bug.cgi?id=106849
696 Reviewed by Kentaro Hara.
698 We should return undefined if hasNamedItem() is false.
700 Test: fast/dom/MicroData/properties-collection-namedgetter-with-invalid-name.html
702 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
703 (WebCore::V8HTMLCollection::namedPropertyGetter):
705 2013-01-15 Michael Pruett <michael@68k.org>
707 [GTK] Fix build after r139665
708 https://bugs.webkit.org/show_bug.cgi?id=106917
710 Reviewed by Dean Jackson.
712 * GNUmakefile.list.am:
714 2013-01-15 Antti Koivisto <antti@apple.com>
716 Move parent pointer from TreeShared to subclass
717 https://bugs.webkit.org/show_bug.cgi?id=106910
719 Reviewed by Darin Adler.
721 This simplifies both TreeShared and clients, and makes code dealing with parents more understandable in general.
724 (WebCore::Node::Node):
726 (WebCore::Node::reportMemoryUsage):
729 Add m_parentOrHostNode variable (matching the accessor names).
732 (WebCore::Node::hasTreeSharedParent):
733 (WebCore::Node::parentNode):
734 (WebCore::Node::setParentOrHostNode):
735 (WebCore::Node::parentOrHostNode):
736 * platform/TreeShared.h:
738 (WebCore::TreeShared::TreeShared):
739 (WebCore::TreeShared::deref):
741 Call subclass hasTreeSharedParent() to figure out if it is time to delete.
745 Remove parent pointer and accessors.
746 Remove ParentNodeType template parameter.
747 Remove now unnecessay reportMemoryUsage().
750 * svg/SVGElementInstance.cpp:
751 (WebCore::SVGElementInstance::SVGElementInstance):
752 * svg/SVGElementInstance.h:
754 Add m_parentInstance variable.
756 (WebCore::SVGElementInstance::setParentOrHostNode):
757 (WebCore::SVGElementInstance::parentNode):
758 (SVGElementInstance):
759 (WebCore::SVGElementInstance::hasTreeSharedParent):
761 2013-01-15 Simon Fraser <simon.fraser@apple.com>
763 Allow tiled WKViews to have transparent backgrounds
764 https://bugs.webkit.org/show_bug.cgi?id=106400
766 Reviewed by Anders Carlsson.
768 When WKViews were set to have transparent backgrounds, they still
769 obscured content behind the view, for several reasons.
771 First, when in tiled scrolling mode, WKView set the background
772 of its layer to opaque white. Fix by using the clearColor (effectively
773 removing the background color) if the view has a non-opaque background.
775 Second, RenderLayerBacking just looked at FrameViews's isTransparent()
776 when deciding to make TileCache tiles non-opaque, but it also needs to
777 consider FrameViews with a non-opaque base background color. The
778 same logic was necessary to avoid setting an opaque white background
779 color on the TileCache layer.
781 Finally, for views with non-opaque backgrounds, we don't want to display
782 linen, so RenderLayerCompositor::requiresOverhangAreasLayer() was changed
783 to return false in that case.
785 View transparency is not testable in layout tests.
787 * page/FrameView.cpp:
788 (WebCore::FrameView::hasOpaqueBackground):
790 * rendering/RenderLayerBacking.cpp:
791 (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
792 (WebCore::RenderLayerBacking::updateBackgroundColor):
793 * rendering/RenderLayerCompositor.cpp:
794 (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
796 2013-01-15 Ojan Vafai <ojan@chromium.org>
798 RenderView does not need to override computePreferredLogicalWidth
799 https://bugs.webkit.org/show_bug.cgi?id=106852
801 Reviewed by Levi Weintraub.
803 Calling minPreferredLogicalWidth calls computePreferredLogicalWidth,
804 which happens a few lines later in layoutWithFlattening. No need
805 to call it explicitly.
807 * rendering/RenderFrameBase.cpp:
808 (WebCore::RenderFrameBase::layoutWithFlattening):
809 * rendering/RenderView.cpp:
810 * rendering/RenderView.h:
812 2013-01-15 Vsevolod Vlasov <vsevik@chromium.org>
814 Unreviewed, remove file that was accidentally added to the wrong patch.
816 * inspector/front-end/FileSystemWorkspaceProvider.js: Removed.
818 2013-01-15 Florin Malita <fmalita@chromium.org>
820 [Chromium] Incorrect opaque region tracking for PlatformContextSkia::drawRRect
821 https://bugs.webkit.org/show_bug.cgi?id=106898
823 Reviewed by Stephen White.
825 Since drawRRect() doesn't cover the whole bounding rect, it needs to pass a didDrawBounded
826 notification down to the opaque region tracker (instead of didDrawRect as it currently
829 Test: platform/chromium/compositing/rounded-corners.html
831 * platform/graphics/skia/PlatformContextSkia.h:
832 (WebCore::PlatformContextSkia::drawRRect):
834 2013-01-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
836 [Qt] WebGL does not require accelerated compositing
837 https://bugs.webkit.org/show_bug.cgi?id=106892
839 Reviewed by Jocelyn Turcotte.
841 Allow the creation of WebGL canvas even when accelerated compositing is not enabled.
843 * html/HTMLCanvasElement.cpp:
844 (WebCore::HTMLCanvasElement::getContext):
846 2013-01-15 Andrey Lushnikov <lushnikov@chromium.org>
848 Web Inspector: refactor DefaultTextEditor's paintLine method
849 https://bugs.webkit.org/show_bug.cgi?id=106893
851 Reviewed by Pavel Feldman.
853 Move render ranges functionality out of paintLine method into separate subroutine.
855 No new tests: no change in behaviour.
857 * inspector/front-end/DefaultTextEditor.js:
858 (WebInspector.TextEditorMainPanel.prototype._renderRanges): Added.
859 (WebInspector.TextEditorMainPanel.prototype._paintLine):
860 (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
862 2013-01-15 Elliott Sprehn <esprehn@gmail.com>
864 display:inline's hover behavior is not applied to ::before and ::after pseudo elements
865 https://bugs.webkit.org/show_bug.cgi?id=91723
867 Reviewed by Eric Seidel.
869 When hovering over the anonymous text renderers inside :before and :after
870 we would correctly detect a hit in InlineTextBox::nodeAtPoint, but would
871 then fail to set the correct node for the hit test because in
872 RenderObject::updateHitTestResult node() is null. Instead we should walk
873 up the render tree to the PseudoElement and treat it as if we hit that.
875 Test: fast/css-generated-content/hover-inline.html
877 * rendering/RenderObject.cpp:
878 (WebCore::RenderObject::updateHitTestResult):
880 2013-01-15 Zeno Albisser <zeno@webkit.org>
882 GraphicsSurface: Canvas with WebGL content is painted off by one pixel
883 https://bugs.webkit.org/show_bug.cgi?id=106446
885 When painting to TextureMapper the provided targetRect is in contents
886 coordinate system. This leads to an off by one pixel error when painting
888 This needs to be taken into account in the transformation matrix
889 and in the TextureMapperGL::drawTexture call.
891 Test: fast/canvas/webgl/webgl-composite-modes.html
893 Reviewed by Noam Rosenthal.
895 * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
896 (WebCore::GraphicsSurface::platformPaintToTextureMapper):
897 * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
898 (WebCore::GraphicsSurface::platformPaintToTextureMapper):
899 * platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
900 (WebCore::GraphicsSurface::platformPaintToTextureMapper):
902 2013-01-14 Kentaro Hara <haraken@chromium.org>
904 [V8] Make an Isolate parameter mandatory in SerializedScriptValue methods
905 https://bugs.webkit.org/show_bug.cgi?id=106800
907 Reviewed by Adam Barth.
909 SerializedScriptValue methods are used by both V8 bindings
910 and WebCore. So they should support both an Isolate-version
911 method and an non-Isolate version method.
913 There are two ways to accomplish that:
915 [1] Use an optional Isolate parameter.
917 [2] Implement two versions and delegate the non-Isolate
918 version method to the Isolate version method.
920 I would prefer the approach [2], because I'd like to statically
921 make sure that we never pass a 0 Isolate. If we take the approach
922 [1], we need to insert ASSERT(isolate) here and there.
924 This patch implements the approach [2].
926 No tests. No change in behavior.
928 * bindings/v8/SerializedScriptValue.cpp:
929 (WebCore::SerializedScriptValue::create):
931 (WebCore::SerializedScriptValue::nullValue):
932 (WebCore::SerializedScriptValue::undefinedValue):
933 (WebCore::SerializedScriptValue::booleanValue):
934 (WebCore::SerializedScriptValue::numberValue):
935 (WebCore::SerializedScriptValue::SerializedScriptValue):
936 * bindings/v8/SerializedScriptValue.h:
937 (SerializedScriptValue):
939 2013-01-15 Dongwoo Joshua Im <dw.im@samsung.com>
941 [CSS] Rename the enum, from "ETextAlignLast" to "TextAlignLast"
942 https://bugs.webkit.org/show_bug.cgi?id=106887
944 Reviewed by Alexis Menard.
946 No new tests are added since there is no behavior changes.
948 * css/CSSPrimitiveValueMappings.h:
949 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
950 (WebCore::CSSPrimitiveValue::operator TextAlignLast):
951 * css/StyleBuilder.cpp:
952 (WebCore::StyleBuilder::StyleBuilder):
953 * rendering/style/RenderStyle.h:
954 * rendering/style/RenderStyleConstants.h:
955 * rendering/style/StyleRareInheritedData.h:
956 (StyleRareInheritedData):
958 2013-01-15 Tommy Widenflycht <tommyw@google.com>
960 MediaStream API: Fixing crashing bug in MediaStream
961 https://bugs.webkit.org/show_bug.cgi?id=106886
963 Reviewed by Eric Seidel.
965 Fixing crashing bug during destruction.
969 * Modules/mediastream/MediaStream.cpp:
970 (WebCore::MediaStream::contextDestroyed):
972 2013-01-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
974 [Qt][CSS Shaders] Make custom filter render in Wk1 mode
975 https://bugs.webkit.org/show_bug.cgi?id=101532
977 Reviewed by Noam Rosenthal.
979 Handle ValidatedCustomFilterOperations which are used by WebKit1. To keep the cache of compiled programs working,
980 the cache has been updated to use CustomFilterProgramInfo as a hash key. CustomFilterProgramInfo is an existing
981 class specifically designed for this purpose.
983 * platform/graphics/texmap/TextureMapperGL.cpp:
984 (WebCore::getPassesRequiredForFilter):
985 (WebCore::TextureMapperGL::removeCachedCustomFilterProgram):
986 (WebCore::TextureMapperGL::drawUsingCustomFilter):
987 (WebCore::BitmapTextureGL::applyFilters):
988 * platform/graphics/texmap/TextureMapperGL.h:
991 2013-01-15 Andrey Adaikin <aandrey@chromium.org>
993 Web Inspector: [Canvas] introduce CallArgument type into the protocol
994 https://bugs.webkit.org/show_bug.cgi?id=106640
996 Reviewed by Yury Semikhatsky.
998 CallArgument type abstraction to describe arguments of a canvas context call.
999 Drive-by: Introduce a CanvasContext to fix the wrong contextId value in the protocol.
1000 The contextId should point to the Resource that represents a context (2D or 3D canvas).
1002 * inspector/InjectedScriptCanvasModuleSource.js:
1004 * inspector/Inspector.json:
1005 * inspector/front-end/CanvasProfileView.js:
1007 2012-12-28 Vsevolod Vlasov <vsevik@chromium.org>
1009 Web Inspector: Support inspector file system access with isolated file system through InspectorFrontendHost.
1010 https://bugs.webkit.org/show_bug.cgi?id=105727
1012 Reviewed by Pavel Feldman.
1014 File system access through isolated file system is implemented in inspector.
1015 File system access requests are sent through InspectorFrontendHost.
1016 Introduced IsolatedFileSystemModel encapsulating file system access logic.
1017 Introduced FileSystemMapping that provides mapping between workspace uris and file system pathes.
1018 DOMFileSystem.createIsolatedFileSystem modified to accept optional registeredName parameter.
1020 * Modules/filesystem/DOMFileSystem.cpp:
1021 (WebCore::DOMFileSystem::createIsolatedFileSystem):
1022 * Modules/filesystem/DOMFileSystem.h:
1025 * WebCore.vcproj/WebCore.vcproj:
1026 * inspector/InspectorFrontendClient.h:
1027 (InspectorFrontendClient):
1028 * inspector/InspectorFrontendClientLocal.h:
1029 (WebCore::InspectorFrontendClientLocal::supportsFileSystems):
1030 (WebCore::InspectorFrontendClientLocal::requestFileSystems):
1031 (WebCore::InspectorFrontendClientLocal::addFileSystem):
1032 (WebCore::InspectorFrontendClientLocal::removeFileSystem):
1033 (InspectorFrontendClientLocal):
1034 * inspector/InspectorFrontendHost.cpp:
1035 (WebCore::InspectorFrontendHost::supportsFileSystems):
1037 (WebCore::InspectorFrontendHost::requestFileSystems):
1038 (WebCore::InspectorFrontendHost::addFileSystem):
1039 (WebCore::InspectorFrontendHost::removeFileSystem):
1040 (WebCore::InspectorFrontendHost::isolatedFileSystem):
1041 * inspector/InspectorFrontendHost.h:
1043 (InspectorFrontendHost):
1044 * inspector/InspectorFrontendHost.idl:
1045 * inspector/compile-front-end.py:
1046 * inspector/front-end/FileSystemMapping.js: Added.
1047 * inspector/front-end/InspectorFrontendAPI.js:
1048 (InspectorFrontendAPI.fileSystemsLoaded):
1049 (InspectorFrontendAPI.fileSystemRemoved):
1050 (InspectorFrontendAPI.fileSystemAdded):
1051 * inspector/front-end/InspectorFrontendHostStub.js:
1052 (.WebInspector.InspectorFrontendHostStub.prototype.supportsFileSystems):
1053 (.WebInspector.InspectorFrontendHostStub.prototype.requestFileSystems):
1054 (.WebInspector.InspectorFrontendHostStub.prototype.addFileSystem):
1055 (.WebInspector.InspectorFrontendHostStub.prototype.removeFileSystem):
1056 (.WebInspector.InspectorFrontendHostStub.prototype.isolatedFileSystem):
1057 * inspector/front-end/IsolatedFileSystemModel.js: Added.
1058 * inspector/front-end/WebKit.qrc:
1059 * inspector/front-end/externs.js:
1061 (InspectorFrontendHostAPI.prototype.supportsFileSystems):
1062 (InspectorFrontendHostAPI.prototype.requestFileSystems):
1063 (InspectorFrontendHostAPI.prototype.addFileSystem):
1064 (InspectorFrontendHostAPI.prototype.removeFileSystem):
1065 (InspectorFrontendHostAPI.prototype.isolatedFileSystem):
1066 * inspector/front-end/inspector.html:
1067 * inspector/front-end/inspector.js:
1069 2013-01-15 Kondapally Kalyan <kalyan.kondapally@intel.com>
1071 [EFL][WebGL] Add error handling to carefully manage Window backing pixmaps.
1072 https://bugs.webkit.org/show_bug.cgi?id=106582
1074 Reviewed by Kenneth Rohde Christiansen.
1076 We use XCompositeNameWindowPixmap to create a pixmap that serves as a reference to
1077 the off-screen storage for a Window Handle. We expect the Window to be valid and
1078 the created glx pixmap to be a valid drawable. This may not be true always.
1079 This patch adds support for X Error checks and handles the generated errors.
1081 Covered by existing WebGL layout tests.
1083 * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
1085 (WebCore::handleXPixmapCreationError):
1086 (ScopedXPixmapCreationErrorHandler):
1087 (WebCore::ScopedXPixmapCreationErrorHandler::ScopedXPixmapCreationErrorHandler):
1088 (WebCore::ScopedXPixmapCreationErrorHandler::~ScopedXPixmapCreationErrorHandler):
1089 (WebCore::ScopedXPixmapCreationErrorHandler::isValidOperation):
1090 Helper Class to catch XErrors.
1092 (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
1093 (WebCore::GraphicsSurfacePrivate::createPixmap): Added support to check and handle generated XErrors.
1094 (WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):
1095 (WebCore::GraphicsSurfacePrivate::clear): Destroys GL Resources.
1096 (GraphicsSurfacePrivate):
1098 2013-01-15 Kondapally Kalyan <kalyan.kondapally@intel.com>
1100 [EFL] [WebGL] Minor cleanup in PlatformContext.
1101 https://bugs.webkit.org/show_bug.cgi?id=106758
1103 Reviewed by Kenneth Rohde Christiansen.
1105 We currently have different implementations of CurrentContextWrapper for EGL and GLX.
1106 This patch cleans up the code to use same implementation for both the backends.
1108 * platform/graphics/opengl/GLPlatformContext.cpp:
1109 (GLCurrentContextWrapper):
1110 (WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
1111 (WebCore::GLCurrentContextWrapper::~GLCurrentContextWrapper):
1113 Common implementation for both EGL and GLX.
1114 (WebCore::createOffScreenContext):
1115 (WebCore::GLPlatformContext::createContext):
1116 * platform/graphics/surfaces/egl/EGLContext.cpp:
1117 * platform/graphics/surfaces/egl/EGLContext.h:
1118 * platform/graphics/surfaces/glx/GLXContext.h:
1120 Removed code related to CurrentContextWrapper.
1122 2013-01-14 Ryosuke Niwa <rniwa@webkit.org>
1124 platform/mac/accessibility/progressbar.html fails on Mac WK1 and WK2
1125 https://bugs.webkit.org/show_bug.cgi?id=106850
1127 Reviewed by Chris Fleizach.
1129 The bug was caused by some callers of supportsFocus directly calling that of Node.
1130 Fixed the bug by calling HTMLElement's so that the virtual function on Element gets
1133 * html/HTMLMeterElement.cpp:
1134 (WebCore::HTMLMeterElement::supportsFocus):
1135 * html/HTMLOutputElement.cpp:
1136 (WebCore::HTMLOutputElement::supportsFocus):
1137 * html/HTMLProgressElement.cpp:
1138 (WebCore::HTMLProgressElement::supportsFocus):
1140 2013-01-14 Dima Gorbik <dgorbik@apple.com>
1142 Implement ID selector matching for the WebVTT ::cue pseudo element
1143 https://bugs.webkit.org/show_bug.cgi?id=105481
1145 Reviewed by Eric Carlson.
1147 Implemented matching cue WebVTT elements by an identifier. Identifiers of all WebVTT nodes in the rendering tree for
1148 a given cue are set to match the cue identifier.
1150 Existing tests were modified to cover this case.
1152 * html/track/TextTrackCue.cpp:
1153 (WebCore::TextTrackCue::markFutureAndPastNodes):
1155 2013-01-14 Mark Pilgrim <pilgrim@chromium.org>
1157 [Chromium] Use explicit WebKit prefixes in BlobRegistryProxy
1158 https://bugs.webkit.org/show_bug.cgi?id=106859
1160 Reviewed by Adam Barth.
1162 As requested in https://bugs.webkit.org/show_bug.cgi?id=106831#c2
1164 * platform/network/chromium/BlobRegistryProxy.cpp:
1165 (WebCore::BlobRegistryProxy::registerBlobURL):
1167 2013-01-14 Max Vujovic <mvujovic@adobe.com>
1169 [ANGLE] Update ANGLE in WebKit
1170 https://bugs.webkit.org/show_bug.cgi?id=106274
1172 Unreviewed build fix for GTK after http://trac.webkit.org/changeset/139702
1176 2013-01-14 Dean Jackson <dino@apple.com>
1178 Yet another unreviewed attempted QT build fix, this time because
1179 it's falling over on Filters.
1181 * rendering/RenderSnapshottedPlugIn.cpp:
1183 (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshotWithLabel):
1185 2013-01-14 Dean Jackson <dino@apple.com>
1187 Unreviewed EFL build fix.
1191 2013-01-14 Dean Jackson <dino@apple.com>
1193 Blur the label background of a snapshotted plugin
1194 https://bugs.webkit.org/show_bug.cgi?id=106630
1196 Reviewed by Simon Fraser.
1198 When we are showing a label indicating the plugin has been snapshotted,
1199 slightly blur the snapshot behind the label so that it is more clear. I expect
1200 that if/when other ports pick up this code, we'll need to separate the
1201 UI treatment somewhat, but this is ok for a first step.
1203 * rendering/RenderSnapshottedPlugIn.cpp:
1204 (RenderSnapshottedPlugInBlurFilter): Private class to use FEGaussianBlur to blur an image.
1205 (WebCore::RenderSnapshottedPlugInBlurFilter::create):
1206 (WebCore::RenderSnapshottedPlugInBlurFilter::setSourceImageRect):
1207 (WebCore::RenderSnapshottedPlugInBlurFilter::sourceImageRect):
1208 (WebCore::RenderSnapshottedPlugInBlurFilter::filterRegion):
1209 (WebCore::RenderSnapshottedPlugInBlurFilter::output):
1210 (WebCore::RenderSnapshottedPlugInBlurFilter::RenderSnapshottedPlugInBlurFilter):
1211 (WebCore::RenderSnapshottedPlugInBlurFilter::apply):
1212 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): New member variable to hold a cached version of a preblurred snapshot.
1213 (WebCore::RenderSnapshottedPlugIn::~RenderSnapshottedPlugIn): Remember to remove the preblurred image from the cache.
1214 (WebCore::RenderSnapshottedPlugIn::updateSnapshot): Zero the preblurred version if it exists.
1215 (WebCore::RenderSnapshottedPlugIn::paintReplaced): Either paint snapshot or blurred snapshot with label.
1216 (WebCore::RenderSnapshottedPlugIn::paintSnapshot): New method to paint a full sized snapshot.
1217 (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshot):
1218 (WebCore::snapshottedPluginImageForLabelDisplay): Static function to produce the blurred snapshot.
1219 (WebCore::RenderSnapshottedPlugIn::paintReplacedSnapshotWithLabel): Calls paintSnapshot with the blurred snapshot on Mac.
1220 * rendering/RenderSnapshottedPlugIn.h:
1222 2013-01-14 Mark Pilgrim <pilgrim@chromium.org>
1224 [Chromium] Move BlobRegistryProxy into WebCore
1225 https://bugs.webkit.org/show_bug.cgi?id=106831
1227 Reviewed by Adam Barth.
1229 Part of a larger refactoring series to remove layering violations
1230 in Chromium. See tracking bug 106829.
1233 * platform/network/chromium/BlobRegistryProxy.cpp: Added.
1235 (WebCore::blobRegistry):
1236 (WebCore::BlobRegistryProxy::BlobRegistryProxy):
1237 (WebCore::BlobRegistryProxy::registerBlobURL):
1238 (WebCore::BlobRegistryProxy::unregisterBlobURL):
1239 * platform/network/chromium/BlobRegistryProxy.h: Added.
1241 (BlobRegistryProxy):
1242 (WebCore::BlobRegistryProxy::loadResourceSynchronously):
1243 (WebCore::BlobRegistryProxy::~BlobRegistryProxy):
1245 2013-01-14 Levi Weintraub <leviw@chromium.org>
1247 Rolling out r139618. Appears to be causing sporadic crashes on Debug bots.
1249 * Modules/mediastream/MediaStream.cpp:
1250 (WebCore::processTrack):
1251 * Modules/mediastream/MediaStreamTrack.cpp:
1252 (WebCore::MediaStreamTrack::readyState):
1253 * Modules/mediastream/MediaStreamTrack.h:
1254 * Modules/mediastream/MediaStreamTrack.idl:
1256 2013-01-14 Levi Weintraub <leviw@chromium.org>
1258 Rolling out r139678. This triggered a number of WebAudio crashes on Debug bots.
1260 * platform/audio/chromium/AudioDestinationChromium.cpp:
1261 (WebCore::AudioDestinationChromium::AudioDestinationChromium):
1263 2013-01-09 Levi Weintraub <leviw@chromium.org>
1265 Rolling out r139683. It broke a bunch of webkit_unit_tests.
1267 2013-01-14 Ojan Vafai <ojan@chromium.org>
1269 RenderListItem does not need to override computePreferredLogicalWidth
1270 https://bugs.webkit.org/show_bug.cgi?id=106839
1272 Reviewed by Levi Weintraub.
1274 Apparently there was a time when the list marker was considered part of
1275 the list item's preferred width, but that is no longer the case.
1276 This code was added in r3421. The code around preferred widths has change
1279 * rendering/RenderListItem.cpp:
1280 * rendering/RenderListItem.h:
1282 2013-01-13 Dima Gorbik <dgorbik@apple.com>
1284 Implement element type selectors for the WebVTT ::cue pseudo class
1285 https://bugs.webkit.org/show_bug.cgi?id=105480
1287 Reviewed by Antti Koivisto.
1289 Implemented tag matching for the WebVTT specific tags "c" and "v". All common html tags like "b" and "i" are
1290 handled without any changes to the code. Creating a rendering tree and DOM tree now use different code paths.
1291 They both are made by cloning and modifying the tree produced by the parser. Voice tags now use spans for both
1292 rendering and DOM trees to conform to specs. Since this changes a lot of code little refactoring has been
1293 done. Removed m_hasInnerTimestamps since it is no longer needed, it doesn't affect anything. m_documentFragment
1294 was renamed to m_webVTTNodeTree.
1296 Existing tests were modified to cover this case.
1298 * html/track/TextTrackCue.cpp:
1299 (WebCore::TextTrackCue::TextTrackCue):
1300 (WebCore::TextTrackCue::setText): rename m_documentFragment to m_webVTTNodeTree
1301 (WebCore::TextTrackCue::createWebVTTNodeTree): parse the cue if it hasn't been parsed before.
1302 (WebCore::TextTrackCue::copyWebVTTNodeToDOMTree): clone and prepare a node for using in the DOM tree according to specs.
1303 (WebCore::TextTrackCue::getCueAsHTML): get a DOM tree for the cue.
1304 (WebCore::TextTrackCue::createCueRenderingTree): create a rendering tree (main tree is just being cloned for now).
1305 (WebCore::TextTrackCue::markFutureAndPastNodes): tightening the argument type.
1306 (WebCore::TextTrackCue::updateDisplayTree):
1307 (WebCore::TextTrackCue::getDisplayTree): code cleanup, removed m_hasInnerTimeStamps.
1308 * html/track/TextTrackCue.h:
1309 (WebCore::TextTrackCue::voiceElementTagName):
1311 (WebCore::TextTrackCue::classElementTagName):
1312 * html/track/WebVTTParser.cpp:
1313 (WebCore::WebVTTParser::constructTreeFromToken): type of the newly created elements was changed to Element to avoid hitting
1314 an assertion when cloning because a cloned element will not have HTMLElement type for elements with "v" and "c" tag.
1316 2013-01-14 Xianzhu Wang <wangxianzhu@chromium.org>
1318 Sometimes RenderLayer::updateNeedsCompositedScrolling is not called
1319 https://bugs.webkit.org/show_bug.cgi?id=106271
1321 Reviewed by Simon Fraser.
1323 1. If a layer has no out-of-flow descendant, m_hasOutOfFlowPositionedDescendant won't change and won't trigger updateNeedsCompositedScrolling in updateDescendantDependentFlags. Set m_hasOutOfFlowPositionedDescendantDirty to true and call updateNeedsCompositedScrolling when the dirty flag becomes false from true.
1324 2. When the content size changes causing change of scrollable status, updateNeedsCompositedScrolling should also be called.
1326 Test: compositing/overflow/dynamic-composited-scrolling-status.html
1328 * page/FrameView.cpp:
1329 (WebCore::FrameView::addScrollableArea): Returns whether the scrollable area has just been newly added.
1330 (WebCore::FrameView::removeScrollableArea): Returns whether the scrollable area has just been removed.
1333 * rendering/RenderLayer.cpp:
1334 (WebCore::RenderLayer::RenderLayer): Changed the initial value of m_hasOutOfFlowPositionedDescendantDirty to true to make sure m_hasOutOfFlowPositionedDescendant will be updated initially.
1335 (WebCore::RenderLayer::updateDescendantDependentFlags): Call updateNeedsCompositedScrolling when m_hasOutOfFlowPositionedDescendantDirty is true.
1336 (RenderLayer::updateScrollableAreaSet): Calls updateNeedsCompositedScrolling() when scrollable status changes.
1337 * rendering/RenderLayer.h:
1340 2013-01-14 Ryosuke Niwa <rniwa@webkit.org>
1342 EFL build fix after r139681.
1344 * dom/NodeRareData.h:
1345 (WebCore::NodeMicroDataTokenLists::NodeMicroDataTokenLists):
1347 2013-01-14 Tien-Ren Chen <trchen@chromium.org>
1349 Correct FrameView::scrollableAreaBoundingBox() calculation in the presence of transforms
1350 https://bugs.webkit.org/show_bug.cgi?id=105075
1352 Reviewed by Simon Fraser.
1354 As mentioned by the FIXME comment, we need to ask the renderer for the
1355 absolute bounding box of a frame for correct transformation.
1356 This fixes the bug that iframe cannot be scrolled properly when it is
1359 Tests: scrollingcoordinator/non-fast-scrollable-region-scaled-iframe.html
1360 scrollingcoordinator/non-fast-scrollable-region-transformed-iframe.html
1362 * page/FrameView.cpp:
1363 (WebCore::FrameView::scrollableAreaBoundingBox):
1365 2013-01-14 Nate Chapin <japhet@chromium.org>
1367 Enable reuse of cached main resources
1368 https://bugs.webkit.org/show_bug.cgi?id=105667
1370 Reviewed by Antti Koivisto.
1372 Test: http/tests/cache/cached-main-resource.html
1376 (WebCore::Document::hasManifest): Returns true if the <html> element has a non-empty manifest attribute.
1379 * loader/FrameLoader.cpp:
1380 (WebCore::FrameLoader::loadedResourceFromMemoryCache): Don't send delegate callbacks for cache hit here, since
1381 MainResourceLoader will take care of it.
1382 * loader/MainResourceLoader.cpp:
1383 (WebCore::MainResourceLoader::MainResourceLoader):
1384 (WebCore::MainResourceLoader::receivedError):
1385 (WebCore::MainResourceLoader::willSendRequest):
1386 (WebCore::MainResourceLoader::responseReceived): Don't try to cache loads from the application cache.
1387 (WebCore::MainResourceLoader::didFinishLoading): Don't try to cache loads from the application cache.
1388 (WebCore::MainResourceLoader::load): Ensure we create a resource load identifier for cache hits. Also,
1389 ensure we correctly popualate fragment identifiers in the ResourceRequest reported to DocumentLoader.
1390 (WebCore::MainResourceLoader::identifier):
1391 * loader/MainResourceLoader.h: Rename m_substituteDataLoadIdentifier to m_identifierForLoadWithoutResourceLoader
1392 to better describe when it is used.
1393 * loader/cache/CachedRawResource.cpp:
1394 (WebCore::CachedRawResource::didAddClient): Synthesize redirect notifications for cache hits if necessary.
1395 (WebCore::CachedRawResource::willSendRequest): Note the redirects we received.
1396 (WebCore::CachedRawResource::canReuse): Don't reuse a resource if the redirect chain included a "Cache-control: no-store".
1397 * loader/cache/CachedRawResource.h:
1398 (CachedRawResource):
1400 (WebCore::CachedRawResource::RedirectPair::RedirectPair):
1401 * loader/cache/CachedResource.cpp:
1402 (WebCore::CachedResource::addClientToSet):: Don't return cached data for a main resource synchronously
1403 * loader/cache/CachedResource.h:
1404 (WebCore::CachedResource::canReuse):
1406 * loader/cache/CachedResourceLoader.cpp:
1407 (WebCore::CachedResourceLoader::determineRevalidationPolicy): Permit cache reuse for main resources.
1408 * testing/Internals.cpp:
1409 (WebCore::Internals::isLoadingFromMemoryCache):
1411 * testing/Internals.h:
1413 * testing/Internals.idl:
1415 2013-01-11 Ryosuke Niwa <rniwa@webkit.org>
1417 Move functions from NodeRareData to ElementRareData and other classes
1418 https://bugs.webkit.org/show_bug.cgi?id=106679
1420 Reviewed by Benjamin Poulain.
1422 Moved tab index related functions from NodeRareData to ElementRareData since only
1423 HTMLElement uses them, and moved related functions on Node to Element accordingly.
1425 Also replaced transientMutationObserverRegistry and ensureTransientMutationObserverRegistry
1426 by ensureMutationObserverData, and moved micro-data related member functions into
1427 NodeMicroDataTokenLists, and moved NodeMutationObserverData and NodeMicroDataTokenLists
1428 out of NodeRareData as they're used outside of NodeRareData now.
1430 The intention is to move more code into NodeMutationObserverData and NodeMicroDataTokenLists
1431 in the follow up patches so that they can detect the removability of NodeRareData.
1433 No new tests are added since there should be no behavior changes.
1436 (WebCore::Element::clearTabIndexExplicitlyIfNeeded):
1437 (WebCore::Element::setTabIndexExplicitly):
1438 (WebCore::Element::tabIndex):
1439 (WebCore::Element::supportsFocus):
1442 * dom/ElementRareData.h:
1444 (WebCore::ElementRareData::tabIndex):
1445 (WebCore::ElementRareData::setTabIndexExplicitly):
1446 (WebCore::ElementRareData::tabIndexSetExplicitly):
1447 (WebCore::ElementRareData::clearTabIndexExplicitly):
1449 (WebCore::Node::tabIndex):
1450 (WebCore::Node::supportsFocus):
1451 (WebCore::Node::mutationObserverRegistry):
1452 (WebCore::Node::transientMutationObserverRegistry):
1453 (WebCore::Node::registerMutationObserver):
1454 (WebCore::Node::registerTransientMutationObserver):
1455 (WebCore::Node::itemProp):
1456 (WebCore::Node::setItemProp):
1457 (WebCore::Node::itemRef):
1458 (WebCore::Node::setItemRef):
1459 (WebCore::Node::itemType):
1460 (WebCore::Node::setItemType):
1463 * dom/NodeRareData.h:
1464 (NodeMutationObserverData):
1465 (WebCore::NodeMutationObserverData::create):
1466 (NodeMicroDataTokenLists):
1467 (WebCore::NodeMicroDataTokenLists::create):
1468 (WebCore::NodeMicroDataTokenLists::itemProp):
1469 (WebCore::NodeMicroDataTokenLists::itemRef):
1470 (WebCore::NodeMicroDataTokenLists::itemType):
1472 (WebCore::NodeRareData::mutationObserverData):
1473 (WebCore::NodeRareData::ensureMutationObserverData):
1474 (WebCore::NodeRareData::ensureMicroDataTokenLists):
1475 * html/HTMLElement.cpp:
1476 (WebCore::HTMLElement::parseAttribute):
1478 2013-01-14 Ojan Vafai <ojan@chromium.org>
1480 Remove unnecessary setNeedsLayoutAndPrefWidthsRecalc from RenderTable
1481 https://bugs.webkit.org/show_bug.cgi?id=106832
1483 Reviewed by Levi Weintraub.
1485 These are both called from locations that either set these bits themselves
1486 or clearly don't need these bits set (e.g. computePreferredLogicalWidths).
1488 * rendering/RenderTable.cpp:
1489 (WebCore::RenderTable::splitColumn):
1490 (WebCore::RenderTable::appendColumn):
1492 2013-01-14 Chris Rogers <crogers@google.com>
1494 Switch AudioDestinationChromium over to new createAudioDevice() method
1495 https://bugs.webkit.org/show_bug.cgi?id=106816
1497 Reviewed by James Robinson.
1499 * platform/audio/chromium/AudioDestinationChromium.cpp:
1500 (WebCore::AudioDestinationChromium::AudioDestinationChromium):
1502 2013-01-14 Huang Dongsung <luxtella@company100.net>
1504 [TexMap] Use a premuliplied color in TextureMapperGL.
1505 https://bugs.webkit.org/show_bug.cgi?id=105786
1507 Reviewed by Noam Rosenthal.
1509 TextureMapperGL always uses a premultiplied color, so we must convert
1510 an unmultiplied color to a premultiplied color before setting the uniform value of
1513 Test: compositing/background-color/background-color-alpha-with-opacity.html
1515 * platform/graphics/texmap/TextureMapperGL.cpp:
1516 (WebCore::TextureMapperGL::drawBorder):
1517 (WebCore::TextureMapperGL::drawSolidColor):
1518 (WebCore::prepareFilterProgram):
1519 * platform/graphics/texmap/TextureMapperLayer.cpp:
1520 (WebCore::blendWithOpacity):
1522 (WebCore::TextureMapperLayer::paintSelf):
1523 TextureMapperLayer must not convert solidColor to premultiplied
1524 color, because TextureMapperImageBuffer expects unmultiplied color.
1526 2013-01-14 Arko Saha <arko@motorola.com>
1528 Microdata: REGRESSION(r138725): Causes crash in chromium port
1529 https://bugs.webkit.org/show_bug.cgi?id=106828
1531 Reviewed by Ryosuke Niwa.
1533 We should hold PropertyNodeList in RefPtr<PropertyNodeList>.
1535 Test: fast/dom/MicroData/propertiescollection-crash.html
1537 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1538 (WebCore::V8HTMLCollection::namedPropertyGetter):
1540 2013-01-14 Tien-Ren Chen <trchen@chromium.org>
1542 Positioned children of an overflow:visible container should ignore scroll offset when updating layer position
1543 https://bugs.webkit.org/show_bug.cgi?id=106814
1545 Reviewed by Simon Fraser.
1547 This patch fixes a bug in RenderLayer::updateLayerPosition that
1548 scrollLeft / scrollTop of a block should only be effective when the
1549 block has overflow clipping. The bug results in rendering artifacts
1550 and triggers a RenderGeometryMap assertion falure.
1552 Fixes http://crbug.com/167985
1554 Test: fast/overflow/overflow-visible-should-ignore-scroll.html
1556 * rendering/RenderLayer.cpp:
1557 (WebCore::RenderLayer::updateLayerPosition):
1559 2013-01-14 Alec Flett <alecflett@chromium.org>
1561 IndexedDB: Remove IDBObjectStore/IndexBackendImpl and support functions
1562 https://bugs.webkit.org/show_bug.cgi?id=106605
1564 Remove all uses of IDBObjectStoreBackendInterface and IDBIndexBackend*,
1565 as they are no longer used after recent refactoring.
1567 Reviewed by Darin Fisher.
1569 * GNUmakefile.list.am:
1570 * Modules/indexeddb/IDBCallbacks.h:
1572 * Modules/indexeddb/IDBCursor.cpp:
1573 (WebCore::IDBCursor::update):
1574 * Modules/indexeddb/IDBDatabase.cpp:
1575 (WebCore::IDBDatabase::createObjectStore):
1576 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1577 (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1578 * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1579 (IDBDatabaseBackendImpl):
1580 * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1582 (IDBDatabaseBackendInterface):
1583 * Modules/indexeddb/IDBFactoryBackendImpl.h:
1584 (IDBFactoryBackendImpl):
1585 * Modules/indexeddb/IDBFactoryBackendInterface.h:
1586 (IDBFactoryBackendInterface):
1587 * Modules/indexeddb/IDBIndex.cpp:
1588 * Modules/indexeddb/IDBIndexBackendInterface.h: Removed.
1589 * Modules/indexeddb/IDBObjectStore.cpp:
1590 (WebCore::IDBObjectStore::add):
1591 (WebCore::IDBObjectStore::put):
1592 * Modules/indexeddb/IDBObjectStore.h:
1594 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1595 (WebCore::IDBObjectStoreBackendImpl::makeIndexWriters):
1596 * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
1597 (WebCore::IDBObjectStoreBackendImpl::IndexWriter::IndexWriter):
1599 (IDBObjectStoreBackendImpl):
1600 * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Removed.
1601 * Modules/indexeddb/IDBTransaction.cpp:
1602 * Modules/indexeddb/IDBTransactionBackendImpl.h:
1603 (IDBTransactionBackendImpl):
1604 * Modules/indexeddb/IDBTransactionBackendInterface.h:
1606 * Modules/indexeddb/IDBTransactionCoordinator.cpp:
1609 * WebCore.vcproj/WebCore.vcproj:
1610 * WebCore.xcodeproj/project.pbxproj:
1612 2013-01-14 Max Vujovic <mvujovic@adobe.com>
1614 [ANGLE] Update ANGLE in WebKit
1615 https://bugs.webkit.org/show_bug.cgi?id=106274
1617 Reviewed by Dean Jackson.
1619 Update ANGLE to r1641.
1621 Update the files used in the EFL and GTK builds.
1623 No new tests. No change in behavior.
1626 * GNUmakefile.list.am:
1628 2013-01-14 Julien Chaffraix <jchaffraix@webkit.org>
1630 REGRESSION (r132591): Underpainting @ uofmchildrenshospital.org
1631 https://bugs.webkit.org/show_bug.cgi?id=105861
1633 Reviewed by David Hyatt.
1635 Test: fast/repaint/overhanging-float-detach-repaint.html
1637 The issue comes from overhanging float not contributing to their containing block's
1638 overflow. This meant that repaint() would ignore them leading to an under-repaint.
1639 The fix is simple: force all the overhanging floats to repaint themselves.
1641 * rendering/RenderObject.cpp:
1642 (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
1644 2013-01-14 Dominic Mazzoni <dmazzoni@google.com>
1646 AX: Need to implement ColorWellRole
1647 https://bugs.webkit.org/show_bug.cgi?id=106756
1649 Reviewed by Chris Fleizach.
1651 Maps input type=color to the accessible role ColorWellRole.
1652 Adds a new accessor to AccessibilityObject to get the color
1653 value in a cross-platform way that doesn't require parsing.
1655 Test: accessibility/color-well.html
1657 * accessibility/AccessibilityNodeObject.cpp:
1658 (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
1659 (WebCore::AccessibilityNodeObject::colorValue):
1661 * accessibility/AccessibilityNodeObject.h:
1662 (AccessibilityNodeObject):
1663 * accessibility/AccessibilityObject.h:
1664 (WebCore::AccessibilityObject::isColorWell):
1665 (AccessibilityObject):
1666 (WebCore::AccessibilityObject::colorValue):
1667 * accessibility/AccessibilityRenderObject.cpp:
1668 (WebCore::AccessibilityRenderObject::stringValue):
1669 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1670 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1671 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1672 * html/HTMLInputElement.cpp:
1674 (WebCore::HTMLInputElement::isColorControl):
1675 * html/HTMLInputElement.h:
1678 2013-01-11 Emil A Eklund <eae@chromium.org>
1680 offsetWidth/height incorrect for images when zoomed
1681 https://bugs.webkit.org/show_bug.cgi?id=106624
1683 Reviewed by Levi Weintraub.
1685 offsetWidth and height are incorrect for images at certain zoom
1686 levels due to flooring the values ones adjusted for zoom.
1687 By rounding the value instead we avoid the problem and return
1690 Test: fast/images/zoomed-offset-size.html
1693 (WebCore::Element::offsetWidth):
1694 (WebCore::Element::offsetHeight):
1695 (WebCore::Element::clientWidth):
1696 (WebCore::Element::clientHeight):
1697 Change to round (as opposed to floor) the zoom adjusted value.
1699 * rendering/RenderObject.h:
1700 (WebCore::adjustLayoutUnitForAbsoluteZoom):
1701 * rendering/style/RenderStyle.h:
1702 (WebCore::adjustLayoutUnitForAbsoluteZoom):
1703 Add LayoutUnit version of adjustForAbsoluteZoom to avoid float
1706 2013-01-14 Mark Pilgrim <pilgrim@chromium.org>
1708 [Chromium] Move AudioDestinationChromium into WebCore
1709 https://bugs.webkit.org/show_bug.cgi?id=106803
1711 Reviewed by Adam Barth.
1713 This doesn't really belong in WebKit/chromium/src since it defines
1714 things directly in the WebCore namespace.
1717 * platform/audio/chromium/AudioDestinationChromium.cpp: Added.
1719 (WebCore::AudioDestination::create):
1720 (WebCore::AudioDestinationChromium::AudioDestinationChromium):
1721 (WebCore::AudioDestinationChromium::~AudioDestinationChromium):
1722 (WebCore::AudioDestinationChromium::start):
1723 (WebCore::AudioDestinationChromium::stop):
1724 (WebCore::AudioDestination::hardwareSampleRate):
1725 (WebCore::AudioDestinationChromium::render):
1726 (WebCore::AudioDestinationChromium::provideInput):
1727 * platform/audio/chromium/AudioDestinationChromium.h: Added.
1729 (AudioDestinationChromium):
1730 (WebCore::AudioDestinationChromium::isPlaying):
1731 (WebCore::AudioDestinationChromium::sampleRate):
1733 2013-01-14 Adrian Perez de Castro <aperez@igalia.com>
1735 [GTK] Fix indentation for GStreamer supported MIME types list
1736 https://bugs.webkit.org/show_bug.cgi?id=106812
1738 Reviewed by Philippe Normand.
1740 No tests. No change in behavior.
1742 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1744 2013-01-14 John Bauman <jbauman@chromium.org>
1746 Use correct size for DrawingBuffer readback
1747 https://bugs.webkit.org/show_bug.cgi?id=106744
1749 Reviewed by Kenneth Russell.
1751 The value getInternalFramebufferSize is bogus if there's a
1752 DrawingBuffer, so use size() instead.
1754 * platform/graphics/chromium/DrawingBufferChromium.cpp:
1755 (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
1757 2013-01-14 Joshua Bell <jsbell@chromium.org>
1759 Bindings: Remove special cases for DOMString[]
1760 https://bugs.webkit.org/show_bug.cgi?id=106506
1762 Remove special in binding code generators that map DOMString[] to DOMStringList.
1763 Array (T[]) and sequence (sequence<T>) are supported enough now that to be used
1764 for Internals, which is the only IDL that needed updating.
1766 Reviewed by Adam Barth.
1768 Tests: fast/forms/file/selected-files-from-history-state.html
1769 fast/forms/state-restore-broken-state.html
1770 fast/forms/state-restore-skip-stateless.html
1772 Bindings test results updated for JS/V8.
1774 * bindings/scripts/CodeGenerator.pm: Remove redundant IsArrayType (use GetArrayType instead)
1775 (IsRefPtrType): Array and Sequence types are not RefPtr types.
1776 * bindings/scripts/CodeGeneratorJS.pm:
1777 (IndexGetterReturnsStrings): Remove special case for DOMString[].
1778 (AddIncludesForType): Skip Array types, just like Sequence types. (Should probably recurse
1779 for the base type, but not needed for now.)
1780 (GenerateParametersCheckExpression): s/IsArrayType/GetArrayType/
1781 (GetNativeType): Remove special case for DOMString[].
1782 (GetNativeTypeForCallbacks): Ditto.
1783 (JSValueToNative): Ditto.
1784 * bindings/scripts/CodeGeneratorV8.pm:
1785 (GenerateParametersCheckExpression): s/IsArrayType/GetArrayType/
1786 (GetNativeType): Remove special case for DOMString[].
1787 (JSValueToNative): Ditto.
1788 (GetV8HeaderName): Ditto.
1790 * bindings/scripts/test/JS/JSTestObj.cpp:
1792 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
1793 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
1794 (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
1795 (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
1796 * bindings/scripts/test/JS/JSTestObj.h:
1798 * bindings/scripts/test/TestObj.idl: Added explicit new cases for DOMStringList
1799 * bindings/scripts/test/V8/V8TestObj.cpp:
1800 (WebCore::TestObjV8Internal::overloadedMethod7Callback):
1801 (WebCore::TestObjV8Internal::overloadedMethod9Callback):
1802 (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
1803 (TestObjV8Internal):
1804 (WebCore::TestObjV8Internal::domStringListFunctionCallback):
1806 (WebCore::ConfigureV8TestObjTemplate):
1807 * testing/Internals.cpp:
1808 (WebCore::Internals::formControlStateOfPreviousHistoryItem):
1809 (WebCore::Internals::setFormControlStateOfPreviousHistoryItem):
1810 (WebCore::Internals::iconURLs):
1811 (WebCore::Internals::getReferencedFilePaths):
1812 * testing/Internals.h:
1814 * testing/Internals.idl: Produce DOMString[], consume sequence<DOMString> to match tests.
1816 2013-01-14 Elliott Sprehn <esprehn@chromium.org>
1818 Clean up WebVTTNodeType code
1819 https://bugs.webkit.org/show_bug.cgi?id=106714
1821 Reviewed by Tony Chang.
1823 There's no reason for so many methods just to compare some enums.
1824 The existing code can also be simplified quite a bit.
1826 No new tests, just refactoring.
1828 * css/SelectorChecker.cpp:
1829 (WebCore::SelectorChecker::checkOne):
1830 * css/StyleResolver.cpp:
1831 (WebCore::StyleResolver::collectMatchingRules):
1832 (WebCore::StyleResolver::canShareStyleWithElement):
1834 (WebCore::Element::webVTTNodeType):
1835 (WebCore::Element::setWebVTTNodeType):
1838 * dom/ElementRareData.h:
1839 (WebCore::ElementRareData::setWebVTTNodeType):
1840 (WebCore::ElementRareData::webVTTNodeType):
1842 * dom/NodeRareData.h:
1843 (WebCore::NodeRareData::NodeRareData):
1845 * html/track/TextTrack.h:
1846 * html/track/TextTrackCue.cpp:
1847 (WebCore::TextTrackCue::markFutureAndPastNodes):
1849 2013-01-14 Antti Koivisto <antti@apple.com>
1851 REGRESSION (r139218): Flaky assertion in WebCore::StorageTask::StorageTask releasing memory
1852 https://bugs.webkit.org/show_bug.cgi?id=106718
1854 Reviewed by Andreas Kling.
1856 Type assertion was missing a new type.
1858 * storage/StorageTask.cpp:
1859 (WebCore::StorageTask::StorageTask):
1861 2013-01-14 Yury Semikhatsky <yurys@chromium.org>
1863 [REGRESSION] Dev Tools popup for Workers forgets sizes/shows tiny in top left
1864 https://bugs.webkit.org/show_bug.cgi?id=106807
1866 Reviewed by Pavel Feldman.
1868 Open dedicated worker inspector 600x600 by default and remember its size
1871 * inspector/front-end/Settings.js:
1872 * inspector/front-end/WorkerManager.js:
1874 2013-01-14 Kentaro Hara <haraken@chromium.org>
1876 [V8] Make an Isolate parameter mandatory in associateObjectWithWrapper()
1877 https://bugs.webkit.org/show_bug.cgi?id=106784
1879 Reviewed by Adam Barth.
1881 No tests. No change in behavior.
1883 * bindings/v8/V8DOMWrapper.h:
1886 2013-01-14 Kentaro Hara <haraken@chromium.org>
1888 [V8] Make an Isolate parameter mandatory in ScriptDebugServer::interruptAndRun()
1889 https://bugs.webkit.org/show_bug.cgi?id=106779
1891 Reviewed by Adam Barth.
1893 This is one of steps to make an Isolate parameter mandatory.
1895 No tests. No change in behavior.
1897 * bindings/v8/ScriptDebugServer.h:
1898 (ScriptDebugServer):
1900 2013-01-14 Kentaro Hara <haraken@chromium.org>
1902 [V8] Make an Isolate parameter mandatory in wrap()
1903 https://bugs.webkit.org/show_bug.cgi?id=106783
1905 Reviewed by Adam Barth.
1907 Now it's safe to make an Isolate parameter in wrap().
1909 No tests. No change in behavior.
1911 * bindings/scripts/CodeGeneratorV8.pm:
1913 * bindings/scripts/test/V8/V8Float64Array.h:
1915 * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1917 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1919 * bindings/scripts/test/V8/V8TestEventConstructor.h:
1921 * bindings/scripts/test/V8/V8TestEventTarget.h:
1923 * bindings/scripts/test/V8/V8TestException.h:
1925 * bindings/scripts/test/V8/V8TestInterface.h:
1927 * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1929 * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1931 * bindings/scripts/test/V8/V8TestNode.h:
1933 * bindings/scripts/test/V8/V8TestObj.h:
1935 * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1937 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1940 2013-01-14 Tommy Widenflycht <tommyw@google.com>
1942 MediaStream API: Update MediaStreamTrack::readyState to match specification
1943 https://bugs.webkit.org/show_bug.cgi?id=106781
1945 Reviewed by Adam Barth.
1947 MediaStreamTrack::readyState now returns a string like the rest of the RTC classes.
1949 Existing tests expanded to cover patch.
1951 * Modules/mediastream/MediaStream.cpp:
1952 (WebCore::processTrack):
1953 * Modules/mediastream/MediaStreamTrack.cpp:
1954 (WebCore::MediaStreamTrack::readyState):
1955 (WebCore::MediaStreamTrack::ended):
1957 * Modules/mediastream/MediaStreamTrack.h:
1959 * Modules/mediastream/MediaStreamTrack.idl:
1961 2013-01-14 Vsevolod Vlasov <vsevik@chromium.org>
1963 Web Inspector: Audit Tool's False Positive on Set-Cookie header
1964 https://bugs.webkit.org/show_bug.cgi?id=106794
1966 Reviewed by Pavel Feldman.
1968 Header value is now returned as undefined if there is no such header as it was before regression.
1970 Test: http/tests/inspector/audits/set-cookie-header-audit-no-false-positive.html
1972 * inspector/front-end/AuditRules.js:
1973 (WebInspector.AuditRules.CSSRuleBase.prototype.sheetsCallback): Drive-by fix, callback should be called even when there is no headers.
1974 * inspector/front-end/NetworkRequest.js:
1975 (WebInspector.NetworkRequest.prototype._headerValue):
1977 2013-01-14 Eric Carlson <eric.carlson@apple.com>
1979 Do not pass nil when initializing legible output
1980 https://bugs.webkit.org/show_bug.cgi?id=106799
1982 Reviewed by Jessie Berlin.
1984 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1985 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): -[AVPlayerItemLegibleOutput initWithDependencyFactory:mediaSubtypesForNativeRepresentation:]
1986 wants an empty NSArray rather than nil.
1988 2013-01-14 Andrey Adaikin <aandrey@chromium.org>
1990 Web Inspector: [Canvas] UI: add control buttons for doing the replay steps
1991 https://bugs.webkit.org/show_bug.cgi?id=106788
1993 Reviewed by Pavel Feldman.
1995 Adding UI control buttons for doing the Canvas replay steps.
1996 Drive-by: fixed a bug in DataGrid (found by the JSCompiler).
1998 * inspector/front-end/CanvasProfileView.js:
1999 (WebInspector.CanvasProfileView):
2000 (WebInspector.CanvasProfileView.prototype._createControlButton):
2001 (WebInspector.CanvasProfileView.prototype._onReplayStepClick):
2002 (WebInspector.CanvasProfileView.prototype._onReplayFirstStepClick):
2003 (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
2004 (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
2005 (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
2006 (WebInspector.CanvasProfileView.prototype._replayTraceLog):
2007 (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
2008 (WebInspector.CanvasProfileType.prototype._updateDecorationElement):
2009 * inspector/front-end/DOMExtension.js:
2010 (Element.prototype.enableStyleClass):
2011 * inspector/front-end/DataGrid.js:
2012 (WebInspector.DataGrid.prototype.setRootNode):
2013 (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
2014 (WebInspector.DataGrid.prototype.moveToNextIfNeeded):
2015 (WebInspector.DataGrid.prototype._editingCommitted):
2016 (WebInspector.DataGridNode):
2017 * inspector/front-end/canvasProfiler.css:
2018 (.canvas-replay-image):
2019 (.canvas-replay-image.wait):
2020 (.canvas-replay-controls):
2021 (.canvas-replay-log):
2022 (.canvas-control-button):
2023 (.canvas-control-button:active):
2024 (.canvas-control-button:disabled):
2025 (.canvas-control-button img):
2026 (.canvas-replay-first-step img):
2027 (.canvas-replay-next-step img):
2028 (.canvas-replay-prev-step img):
2029 (.canvas-replay-last-step img):
2031 2013-01-14 Tommy Widenflycht <tommyw@google.com>
2033 MediaStream API: Update the track accessors on MediaStream to match the latest specification
2034 https://bugs.webkit.org/show_bug.cgi?id=106660
2036 Reviewed by Adam Barth.
2038 The spec has significantly changed how tracks are accessed from a MediaStream:
2039 http://dev.w3.org/2011/webrtc/editor/getusermedia.html
2041 In short: the attributes audioTrack/videoTrack that returned special MediaStreamTrackLists have been
2042 replaced by the functions getAudioTracks()/getVideoTracks that return standard sequences of
2045 Existing tests updated and expanded to cover patch.
2048 * GNUmakefile.list.am:
2049 * Modules/mediastream/MediaStream.cpp:
2050 (WebCore::MediaStream::create):
2051 (WebCore::MediaStream::MediaStream):
2052 (WebCore::MediaStream::~MediaStream):
2053 (WebCore::MediaStream::readyState):
2055 (WebCore::MediaStream::addTrack):
2056 (WebCore::MediaStream::removeTrack):
2057 (WebCore::MediaStream::getTrackById):
2058 (WebCore::MediaStream::streamEnded):
2059 (WebCore::MediaStream::contextDestroyed):
2060 (WebCore::MediaStream::scheduleDispatchEvent):
2061 (WebCore::MediaStream::scheduledEventTimerFired):
2062 * Modules/mediastream/MediaStream.h:
2064 (WebCore::MediaStream::getAudioTracks):
2065 (WebCore::MediaStream::getVideoTracks):
2066 * Modules/mediastream/MediaStream.idl:
2067 * Modules/mediastream/MediaStreamTrackList.cpp: Removed.
2068 * Modules/mediastream/MediaStreamTrackList.h: Removed.
2069 * Modules/mediastream/MediaStreamTrackList.idl: Removed.
2070 * Modules/webaudio/AudioContext.cpp:
2071 (WebCore::AudioContext::createMediaStreamSource):
2073 * dom/EventTargetFactory.in:
2074 * platform/mediastream/MediaStreamDescriptor.h:
2075 (WebCore::MediaStreamDescriptor::addAudioComponent):
2076 (WebCore::MediaStreamDescriptor::removeAudioComponent):
2077 (WebCore::MediaStreamDescriptor::addVideoComponent):
2078 (WebCore::MediaStreamDescriptor::removeVideoComponent):
2080 2013-01-14 Kentaro Hara <haraken@chromium.org>
2082 [V8] Add m_isolate to ScriptController, WorkerScriptController and V8DOMWindowShell
2083 https://bugs.webkit.org/show_bug.cgi?id=106771
2085 Reviewed by Adam Barth.
2087 This is one of the steps to pass an Isolate everywhere.
2089 No tests. No change in behavior.
2091 * bindings/v8/ScriptController.cpp:
2092 (WebCore::ScriptController::ScriptController):
2093 (WebCore::ScriptController::windowShell):
2094 * bindings/v8/ScriptController.h:
2096 * bindings/v8/V8DOMWindowShell.cpp:
2097 (WebCore::V8DOMWindowShell::create):
2098 (WebCore::V8DOMWindowShell::V8DOMWindowShell):
2099 (WebCore::V8DOMWindowShell::initializeIfNeeded):
2100 (WebCore::V8DOMWindowShell::installDOMWindow):
2101 * bindings/v8/V8DOMWindowShell.h:
2103 * bindings/v8/V8Initializer.cpp:
2104 (WebCore::V8Initializer::initializeMainThreadIfNeeded):
2105 (WebCore::V8Initializer::initializeWorker):
2106 * bindings/v8/V8Initializer.h:
2108 * bindings/v8/WorkerScriptController.cpp:
2109 (WebCore::WorkerScriptController::WorkerScriptController):
2110 (WebCore::WorkerScriptController::initializeContextIfNeeded):
2112 2013-01-14 Alexander Pavlov <apavlov@chromium.org>
2114 Web Inspector: [Styles] Color names parsed inside "background-image" values
2115 https://bugs.webkit.org/show_bug.cgi?id=106770
2117 Reviewed by Pavel Feldman.
2119 Test: inspector/styles/url-color-swatch.html
2121 Spaces were not allowed in url(...) CSS property values.
2123 * inspector/front-end/StylesSidebarPane.js:
2125 2013-01-14 Kentaro Hara <haraken@chromium.org>
2127 [V8] Pass an Isolate to associateObjectWithWrapper()
2128 https://bugs.webkit.org/show_bug.cgi?id=106773
2130 Reviewed by Adam Barth.
2132 In preparation for making an Isolate parameter mandatory
2133 in associateObjectWithWrapper(), this patch passes an
2134 Isolate to associateObjectWithWrapper().
2136 No tests. No change in behavior.
2138 * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2139 (WebCore::V8ArrayBuffer::constructorCallbackCustom):
2140 * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2141 (WebCore::wrapArrayBufferView):
2142 (WebCore::constructWebGLArray):
2143 * bindings/v8/custom/V8AudioContextCustom.cpp:
2144 (WebCore::V8AudioContext::constructorCallbackCustom):
2145 * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2146 (WebCore::V8DOMFormData::constructorCallbackCustom):
2147 * bindings/v8/custom/V8DataViewCustom.cpp:
2148 (WebCore::V8DataView::constructorCallbackCustom):
2149 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2150 (WebCore::v8HTMLImageElementConstructorCallback):
2151 * bindings/v8/custom/V8IntentCustom.cpp:
2152 (WebCore::V8Intent::constructorCallbackCustom):
2153 * bindings/v8/custom/V8MessageChannelCustom.cpp:
2154 (WebCore::V8MessageChannel::constructorCallbackCustom):
2155 * bindings/v8/custom/V8MutationObserverCustom.cpp:
2156 (WebCore::V8MutationObserver::constructorCallbackCustom):
2157 * bindings/v8/custom/V8WebKitPointCustom.cpp:
2158 (WebCore::V8WebKitPoint::constructorCallbackCustom):
2159 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2160 (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
2162 2013-01-14 Kentaro Hara <haraken@chromium.org>
2164 [V8] Call Isolate::GetCurrent() in a callback from WebCore
2165 https://bugs.webkit.org/show_bug.cgi?id=106766
2167 Reviewed by Adam Barth.
2169 The objective is to pass an Isolate everywhere.
2170 Given that a callback from WebCore is an entry point to V8,
2171 we can call Isolate::GetCurrent() at the head of the callback
2172 and pass it to other places. (In practice, handleEvent() is
2173 the only callback used in the current WebKit.)
2175 No tests. No change in behavior.
2177 * bindings/scripts/CodeGeneratorV8.pm:
2178 (GenerateCallbackImplementation):
2180 * bindings/scripts/test/V8/V8TestCallback.cpp:
2181 (WebCore::V8TestCallback::callbackWithNoParam):
2182 (WebCore::V8TestCallback::callbackWithClass1Param):
2183 (WebCore::V8TestCallback::callbackWithClass2Param):
2184 (WebCore::V8TestCallback::callbackWithStringList):
2185 (WebCore::V8TestCallback::callbackWithBoolean):
2186 (WebCore::V8TestCallback::callbackRequiresThisToPass):
2188 2013-01-14 Tommy Widenflycht <tommyw@google.com>
2190 MediaStream API: Change MediaStream::readyState to an boolean attribute called ended.
2191 https://bugs.webkit.org/show_bug.cgi?id=106568
2193 Reviewed by Adam Barth.
2195 See specification: http://dev.w3.org/2011/webrtc/editor/getusermedia.html
2197 Existings tests updated to cover patch.
2199 * Modules/mediastream/LocalMediaStream.cpp:
2200 (WebCore::LocalMediaStream::stop):
2201 * Modules/mediastream/MediaStream.cpp:
2202 (WebCore::MediaStream::ended):
2203 (WebCore::MediaStream::streamEnded):
2204 * Modules/mediastream/MediaStream.h:
2206 (WebCore::MediaStream::isLocal):
2207 * Modules/mediastream/MediaStream.idl:
2208 * Modules/mediastream/MediaStreamTrackList.cpp:
2209 (WebCore::MediaStreamTrackList::add):
2210 (WebCore::MediaStreamTrackList::remove):
2212 2013-01-14 Alexander Pavlov <apavlov@chromium.org>
2214 Web Inspector: [Styles] HTML color names not converted to RGB/HEX/HSL when "Color format" feature used
2215 https://bugs.webkit.org/show_bug.cgi?id=106767
2217 Reviewed by Vsevolod Vlasov.
2219 We used to render named colors as names regardless of the selected color format option.
2221 * inspector/front-end/StylesSidebarPane.js:
2222 (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
2224 2013-01-14 Andrei Bucur <abucur@adobe.com>
2226 Crash caused by incomplete cleanup of regions information for anonymous block
2227 https://bugs.webkit.org/show_bug.cgi?id=106191
2229 Reviewed by Abhishek Arya.
2231 When an anonymous block is no longer required it is removed from the render tree and deleted. For example, this can happen when an anonymous block children change
2232 from inlines to blocks. The patch updates the removeLeftoverAnonymousBlock function to delete the flow thread information attached to the obsolete anonymous block.
2233 The removeFromRenderFlowThread() function is recursive and it needs to be called after the anonymous block children were reparented and the child list cleared.
2234 I've also placed the children reset operation before clearing the parent because the latter also deletes the inRenderFlowThread flag from the object and it makes
2235 flow thread ownership detection impossible.
2237 Tests: fast/regions/remove-leftover-anon-block-crash.html
2239 * rendering/RenderBlock.cpp:
2240 (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
2242 2013-01-14 Kentaro Hara <haraken@chromium.org>
2244 [V8] Make an Isolate parameter mandatory in v8DateOrNull()
2245 https://bugs.webkit.org/show_bug.cgi?id=106765
2247 Reviewed by Adam Barth.
2249 This is one of the efforts to kill all optional Isolate parameters.
2251 No tests. No change in behavior.
2253 * bindings/v8/V8Binding.h:
2254 (WebCore::v8DateOrNull):
2256 2013-01-14 Pablo Flouret <pablof@motorola.com>
2258 Allow nesting of at-rules
2259 https://bugs.webkit.org/show_bug.cgi?id=106696
2261 Reviewed by Allan Sandfeld Jensen.
2263 http://dev.w3.org/csswg/css3-conditional/ introduces the
2264 concept of grouping rules, and allows for them to be nested. In
2265 particular, this change affects @media (and is needed for @supports as
2268 Test: fast/css/nested-at-rules.html
2270 * css/CSSGrammar.y.in:
2271 Move media to the block_valid_rule list.
2274 (WebCore::RuleSet::addRegionRule):
2275 (WebCore::RuleSet::addChildRules):
2276 (WebCore::RuleSet::addRulesFromSheet):
2278 Rip out the rule-adding loop into a new method, for added
2279 cleanliness and recursing.
2281 2013-01-14 Eugene Klyuchnikov <eustas@chromium.org>
2283 Web Inspector: [Network] Add domain column
2284 https://bugs.webkit.org/show_bug.cgi?id=106757
2286 Reviewed by Pavel Feldman.
2288 Adding new column will ease domain tracking / sorting.
2290 * inspector/front-end/NetworkPanel.js: Added column.
2291 * inspector/front-end/NetworkRequest.js:
2292 (WebInspector.NetworkRequest.prototype.get domain): Added getter.
2294 2013-01-14 Qiankun Miao <qiankun.miao@intel.com>
2296 Fix a typo error in the comments in PlatformContextSkia.h
2297 https://bugs.webkit.org/show_bug.cgi?id=105612
2299 Reviewed by Stephen White.
2301 "If false we're rendering to a GraphicsContext for a web page, if false
2302 we're not (as is the case when rendering to a canvas object)." is
2303 self-contradictory. The second "flase" in the comments should be
2304 "true". If true, we're rendering to an ImageBuffer which has a canvas
2307 * platform/graphics/skia/PlatformContextSkia.h:
2308 (PlatformContextSkia):
2310 2013-01-14 Ilya Tikhonovsky <loislo@chromium.org>
2312 Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 3/3
2313 https://bugs.webkit.org/show_bug.cgi?id=106764
2315 Reviewed by Vsevolod Vlasov.
2317 Last three classes with not instrumented members were fixed.
2319 * css/CSSGroupingRule.cpp:
2320 (WebCore::CSSGroupingRule::reportMemoryUsage):
2321 * css/StyleScopeResolver.cpp:
2322 (WebCore::StyleScopeResolver::reportMemoryUsage):
2323 * loader/cache/CachedResourceLoader.cpp:
2324 (WebCore::CachedResourceLoader::reportMemoryUsage):
2326 2013-01-10 Ilya Tikhonovsky <loislo@chromium.org>
2328 Web Inspector: Native Memory Instrumentation: fix instrumentation for already instrumented classes 2/N
2329 https://bugs.webkit.org/show_bug.cgi?id=106546
2331 Reviewed by Vsevolod Vlasov.
2333 Many nontrivial class members were added into reportMemoryUsage methods.
2335 * bindings/v8/V8PerIsolateData.cpp:
2336 (WebCore::V8PerIsolateData::reportMemoryUsage):
2337 * css/CSSMediaRule.cpp:
2338 (WebCore::CSSMediaRule::reportMemoryUsage):
2339 * css/CSSProperty.cpp:
2340 (WebCore::CSSProperty::reportMemoryUsage):
2341 * css/CSSStyleSheet.cpp:
2342 (WebCore::CSSStyleSheet::reportMemoryUsage):
2343 * css/MediaList.cpp:
2344 (WebCore::MediaList::reportMemoryUsage):
2346 (WebCore::RuleData::reportMemoryUsage):
2347 (WebCore::RuleSet::reportMemoryUsage):
2348 (WebCore::RuleSet::RuleSetSelectorPair::reportMemoryUsage):
2349 * css/StyleResolver.cpp:
2350 (WebCore::StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage):
2351 (WebCore::StyleResolver::reportMemoryUsage):
2352 * css/StyleSheetContents.cpp:
2353 (WebCore::StyleSheetContents::reportMemoryUsage):
2354 * dom/TreeScope.cpp:
2355 (WebCore::TreeScope::reportMemoryUsage):
2356 * inspector/HeapGraphSerializer.cpp:
2357 (WebCore::HeapGraphSerializer::reportMemoryUsage):
2358 * inspector/InspectorMemoryAgent.cpp:
2359 * inspector/InspectorProfilerAgent.cpp:
2360 (WebCore::InspectorProfilerAgent::reportMemoryUsage):
2361 * inspector/MemoryInstrumentationImpl.cpp:
2362 (WebCore::MemoryInstrumentationClientImpl::reportMemoryUsage):
2363 * loader/DocumentLoader.cpp:
2364 (WebCore::DocumentLoader::reportMemoryUsage):
2365 * loader/FrameLoader.cpp:
2366 (WebCore::FrameLoader::reportMemoryUsage):
2367 * loader/MainResourceLoader.cpp:
2368 (WebCore::MainResourceLoader::reportMemoryUsage):
2369 * loader/Prerenderer.cpp:
2370 (WebCore::Prerenderer::reportMemoryUsage):
2371 * loader/ResourceLoader.cpp:
2372 (WebCore::ResourceLoader::reportMemoryUsage):
2373 * loader/cache/CachedImage.cpp:
2374 (WebCore::CachedImage::reportMemoryUsage):
2376 (WebCore::Page::reportMemoryUsage):
2378 2013-01-13 Levi Weintraub <leviw@chromium.org>
2380 Unreviewed gardening. Rolling out r139537. It broke platforms without sub-pixel layout.
2383 (WebCore::Element::offsetWidth):
2384 (WebCore::Element::offsetHeight):
2385 (WebCore::Element::clientWidth):
2386 (WebCore::Element::clientHeight):
2387 * rendering/RenderObject.h:
2388 (WebCore::adjustLayoutUnitForAbsoluteZoom):
2389 * rendering/style/RenderStyle.h:
2390 (WebCore::adjustLayoutUnitForAbsoluteZoom):
2392 2013-01-13 Dima Gorbik <dgorbik@apple.com>
2394 Styling disappears from the cue that's being styled by ::cue pseudo element
2395 https://bugs.webkit.org/show_bug.cgi?id=106723
2397 Reviewed by Antti Koivisto.
2399 Fixes a regression caused by r138966. Setting a pseudoId in TextTrackCue::updateDisplayTree for m_allDocumentNodes
2400 was triggering recalculating styles the next run loop. Now when this was removed we append the WebVTT tree after its children have
2401 been marked by markFutureAndPastNodes so that correct styles are set within this append call.
2403 Test: media/track/track-css-cue-lifetime.html
2405 * html/track/TextTrackCue.cpp:
2406 (WebCore::TextTrackCue::markFutureAndPastNodes): changing the type of the first argument because DocumentFragment is not a subclass
2408 (WebCore::TextTrackCue::updateDisplayTree): appending the WebVTT rendering tree after its children have been marked properly.
2409 * html/track/TextTrackCue.h:
2412 2013-01-12 David Grogan <dgrogan@chromium.org>
2414 IndexedDB: Provide LevelDB with IDBEnv instead of Env::Default
2415 https://bugs.webkit.org/show_bug.cgi?id=106135
2417 Reviewed by Tony Chang.
2419 IDBEnv only changes the name of the histogram where errors are logged.
2421 * platform/leveldb/LevelDBDatabase.cpp:
2422 (WebCore::LevelDBDatabase::destroy):
2423 (WebCore::LevelDBDatabase::open):
2424 (WebCore::LevelDBDatabase::openInMemory):
2426 2013-01-12 Gavin Peters <gavinp@chromium.org>
2428 Regression(r119759): Heap-use-after-free in webkit_glue::WebURLLoaderImpl::Context::OnReceivedResponse
2429 https://bugs.webkit.org/show_bug.cgi?id=103563
2431 A subresource could receive a body on a 404 if its call to CachedResource::error() resulted in a nested message loop.
2432 That caused a crash when data was received, as the Subresource was in the Finished state already. Now when receiving
2433 data we ignore these bodies, avoiding the crash.
2435 Reviewed by Nate Chapin.
2437 No new tests in WebKit, since it required a nested message loop which isn't present in chromium DumpRender tree.
2438 There's a Chrome side browser test, see https://codereview.chromium.org/11778083/
2440 * loader/SubresourceLoader.cpp:
2441 (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
2443 2013-01-12 Robert Hogan <robert@webkit.org>
2445 Available height should respect min and max height
2446 https://bugs.webkit.org/show_bug.cgi?id=106479
2448 Reviewed by Ojan Vafai.
2450 When calculating a relative positioned block's offset as a percentage of its container, respect the min
2451 and max height set on the container
2453 Tests: fast/block/percent-top-respects-max-height.html
2454 fast/block/percent-top-respects-min-height.html
2456 * rendering/RenderBox.cpp:
2457 (WebCore::RenderBox::availableLogicalHeight):
2459 2013-01-12 Victor Carbune <victor@rosedu.org>
2461 CC Button doesn't always show up
2462 https://bugs.webkit.org/show_bug.cgi?id=106653
2464 Reviewed by Eric Carlson.
2466 Added extra checks to existing test.
2468 * html/shadow/MediaControls.cpp:
2469 (WebCore::MediaControls::closedCaptionTracksChanged):
2470 Enforced visibility of captions button whenever the track list changes.
2472 * html/shadow/MediaControls.h:
2475 2013-01-11 Dan Beam <dbeam@chromium.org>
2477 [clean up] Remove HTMLFormElement::AutocompleteResultError in favor of more specific Error reasons
2478 https://bugs.webkit.org/show_bug.cgi?id=106610
2480 Reviewed by Darin Fisher.
2482 No new tests (none needed).
2484 * html/HTMLFormElement.cpp:
2485 (WebCore::HTMLFormElement::finishRequestAutocomplete): Removed handling of AutocompleteResultError.
2486 * html/HTMLFormElement.h: Removed HTMLFormElement::AutocompleteResultError in favor of more specific errors.
2488 2013-01-10 Filip Pizlo <fpizlo@apple.com>
2490 JITThunks should not compile only because of luck
2491 https://bugs.webkit.org/show_bug.cgi?id=105696
2493 Rubber stamped by Sam Weinig.
2495 All .cpp files that use the JSC internal API must now transitively include
2496 Operations.h, and none of the major JSC headers do it for you to avoid
2497 circularity. WebCore doesn't have to worry about circularity with JSC, so
2498 this changes all of the major WebCore JSC base headers to include
2501 * bindings/js/BindingState.h:
2502 * bindings/js/JSArrayBufferViewHelper.h:
2503 * bindings/js/JSCustomXPathNSResolver.h:
2504 * bindings/js/JSDOMBinding.h:
2505 * bindings/js/JSDOMGlobalObject.h:
2506 * bindings/js/JSDictionary.h:
2507 * bindings/js/JSMessagePortCustom.h:
2508 * bindings/js/JSNodeFilterCondition.h:
2509 * bindings/js/ScriptValue.h:
2510 * bindings/js/ScriptWrappable.h:
2511 * bindings/js/SerializedScriptValue.cpp:
2512 * bridge/c/c_utility.h:
2513 * bridge/jsc/BridgeJSC.h:
2515 * html/HTMLCanvasElement.cpp:
2516 * html/HTMLImageLoader.cpp:
2517 * plugins/efl/PluginViewEfl.cpp:
2518 * xml/XMLHttpRequest.cpp:
2520 2013-01-11 Emil A Eklund <eae@chromium.org>
2522 offsetWidth/height incorrect for images when zoomed
2523 https://bugs.webkit.org/show_bug.cgi?id=106624
2525 Reviewed by Levi Weintraub.
2527 offsetWidth and height are incorrect for images at certain zoom
2528 levels due to flooring the values ones adjusted for zoom.
2529 By rounding the value instead we avoid the problem and return
2532 Test: fast/images/zoomed-offset-size.html
2535 (WebCore::Element::offsetWidth):
2536 (WebCore::Element::offsetHeight):
2537 (WebCore::Element::clientWidth):
2538 (WebCore::Element::clientHeight):
2539 Change to round (as opposed to floor) the zoom adjusted value.
2541 * rendering/RenderObject.h:
2542 (WebCore::adjustLayoutUnitForAbsoluteZoom):
2543 * rendering/style/RenderStyle.h:
2544 (WebCore::adjustLayoutUnitForAbsoluteZoom):
2545 Add LayoutUnit version of adjustForAbsoluteZoom to avoid float
2548 2013-01-11 Ojan Vafai <ojan@chromium.org>
2550 Fixed width overrides intrinsic min-width/max-width for text inputs and listboxes
2551 https://bugs.webkit.org/show_bug.cgi?id=106675
2553 Reviewed by Emil A Eklund.
2555 Implement computeIntrinsicLogicalWidths so that RenderBox::computeLogicalWidthInRegionUsing
2556 can get the correct intrinsic sizes instead of the preferred sizes.
2558 Test: fast/forms/select/listbox-intrinsic-min-width-applies-with-fixed-width.html
2560 * rendering/RenderListBox.cpp:
2561 (WebCore::RenderListBox::computeIntrinsicLogicalWidths):
2563 (WebCore::RenderListBox::computePreferredLogicalWidths):
2564 * rendering/RenderListBox.h:
2566 * rendering/RenderTextControl.cpp:
2567 (WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
2569 (WebCore::RenderTextControl::computePreferredLogicalWidths):
2570 * rendering/RenderTextControl.h:
2571 (RenderTextControl):
2573 2013-01-10 Ojan Vafai <ojan@chromium.org>
2575 Setting width overrides intrinsic min-width/max-width on flexboxes and their subclasses
2576 https://bugs.webkit.org/show_bug.cgi?id=106617
2578 Reviewed by Tony Chang.
2580 Override computeIntrinsicLogicalWidths for all RenderFlexibleBox and RenderDeprecatedFlexibleBox
2581 classes that override computePreferredLogicalWidths so that RenderBox can use
2582 computeIntrinsicLogicalWidths in order to get the correct intrinsic values.
2584 Tests: css3/flexbox/intrinsic-min-width-applies-with-fixed-width.html
2585 fast/flexbox/intrinsic-min-width-applies-with-fixed-width.html
2586 fast/forms/select/intrinsic-min-width-applies-with-fixed-width.html
2588 * rendering/RenderBox.cpp:
2589 (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2590 fit-content needs to use the intrinsic sizes not the preferred sizes
2591 since a fixed width overrides the preferred size.
2592 As best I can tell, the sizesLogicalWidthToFitContent codepath can keep
2593 using preferred widths, which are considerably faster, since that's only used
2594 computing width values. Added a clause to that if-statement to make this more
2597 * rendering/RenderDeprecatedFlexibleBox.cpp:
2598 (WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths):
2599 (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
2600 * rendering/RenderDeprecatedFlexibleBox.h:
2601 (RenderDeprecatedFlexibleBox):
2602 * rendering/RenderFlexibleBox.cpp:
2603 (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
2605 (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
2606 * rendering/RenderFlexibleBox.h:
2607 * rendering/RenderMenuList.cpp:
2608 (WebCore::RenderMenuList::computeIntrinsicLogicalWidths):
2610 (WebCore::RenderMenuList::computePreferredLogicalWidths):
2611 * rendering/RenderMenuList.h:
2613 * rendering/RenderSlider.cpp:
2614 (WebCore::RenderSlider::computeIntrinsicLogicalWidths):
2616 (WebCore::RenderSlider::computePreferredLogicalWidths):
2617 * rendering/RenderSlider.h:
2619 No logic changes in any of these computeIntrinsic methods. Just moving
2620 the code over from the computePreferred methods.
2622 2013-01-11 Tony Gentilcore <tonyg@chromium.org>
2624 Move HTMLTokenTypes to its own file
2625 https://bugs.webkit.org/show_bug.cgi?id=106722
2627 Reviewed by Levi Weintraub.
2629 Also mark AtomicHTMLToken ctor as explicit.
2631 No new tests because no new functionality.
2633 * GNUmakefile.list.am:
2636 * WebCore.vcproj/WebCore.vcproj:
2637 * WebCore.xcodeproj/project.pbxproj:
2638 * html/parser/HTMLToken.h:
2639 (WebCore::AtomicHTMLToken::AtomicHTMLToken):
2640 * html/parser/HTMLTokenTypes.h: Added.
2644 (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData):
2646 2013-01-11 Elliott Sprehn <esprehn@chromium.org>
2648 No need to initialize RefPtrs to 0 in ElementRareData
2649 https://bugs.webkit.org/show_bug.cgi?id=106717
2651 Reviewed by Ryosuke Niwa.
2653 RefPtrs initialize themself to null, so there's no reason
2654 to do it manually. This was code leftover from when
2655 PseudoElements were stored in bare ptrs instead of in
2658 No new tests, just refactoring.
2660 * dom/ElementRareData.h:
2661 (WebCore::ElementRareData::ElementRareData):
2663 2013-01-11 Huang Dongsung <luxtella@company100.net>
2665 [TexMap] Rename current[Transform|Opacity|Filters] in TextureMapperLayer.
2666 https://bugs.webkit.org/show_bug.cgi?id=105760
2668 Reviewed by Noam Rosenthal.
2670 TextureMapperLayer has two transform members: an original value and a
2671 changeable value. The changeable value would be changed by animations.
2672 This patch puts 'current' prefix on the changeable value to clarify
2673 its purpose. Opacity and filters ditto.
2675 No new tests. Refactoring only.
2677 * platform/graphics/texmap/TextureMapperLayer.cpp:
2678 (WebCore::TextureMapperLayer::computeTransformsRecursive):
2679 (WebCore::TextureMapperLayer::paintSelf):
2680 (WebCore::TextureMapperLayer::paintSelfAndChildren):
2681 (WebCore::TextureMapperLayer::intermediateSurfaceRect):
2682 (WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface):
2683 (WebCore::TextureMapperLayer::isVisible):
2684 (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
2685 (WebCore::TextureMapperLayer::paintRecursive):
2686 (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
2687 (WebCore::TextureMapperLayer::syncAnimations):
2688 (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
2689 * platform/graphics/texmap/TextureMapperLayer.h:
2690 (WebCore::TextureMapperLayer::TextureMapperLayer):
2691 (TextureMapperLayer):
2692 (WebCore::TextureMapperLayer::State::State):
2694 2013-01-11 Tony Gentilcore <tonyg@chromium.org>
2696 Move constructTreeFromHTMLToken into HTMLDocumentParser
2697 https://bugs.webkit.org/show_bug.cgi?id=106694
2699 Reviewed by Adam Barth.
2701 This way it will sit parallel to a new constructTreeFromCompactHTMLToken method.
2703 No new tests because no new functionality.
2705 * html/parser/HTMLDocumentParser.cpp:
2706 (WebCore::HTMLDocumentParser::pumpTokenizer):
2707 (WebCore::HTMLDocumentParser::constructTreeFromHTMLToken):
2709 * html/parser/HTMLDocumentParser.h:
2710 * html/parser/HTMLTreeBuilder.cpp:
2711 * html/parser/HTMLTreeBuilder.h:
2714 2013-01-11 Robert Iannucci <iannucci@chromium.org>
2716 Explicitly set msvs_cygwin_shell to true for actions in WebKit
2717 https://bugs.webkit.org/show_bug.cgi?id=106706
2719 Reviewed by Tony Chang.
2721 Currently, msvs_cygwin_shell is set to 1 by default. This patch
2722 explicitly sets it on the actions which will break if msvs_cygwin_shell
2723 were set to 0. This is in preparation for changing the default value of
2724 msvs_cygwin_shell, which in turn is in preparation of the removal of
2725 cygwin as a buld-system requirement.
2727 Since this change will have no semantic effect, no new tests are
2730 * WebCore.gyp/WebCore.gyp:
2732 2013-01-11 Joshua Bell <jsbell@chromium.org>
2734 IndexedDB: IDBTransaction should manage lifetime of IDBRequests
2735 https://bugs.webkit.org/show_bug.cgi?id=106678
2737 Reviewed by Tony Chang.
2739 Ensure reference count of IDBRequests don't bounce off zero if there are no script
2740 references are while the events are arriving.
2742 No new tests - no detectable behavior changes.
2744 * Modules/indexeddb/IDBRequest.cpp:
2745 (WebCore::IDBRequest::create): Register with transaction (which now takes a ref) here to...
2746 (WebCore::IDBRequest::IDBRequest): ...avoid having to relax adoption requirements here.
2747 * Modules/indexeddb/IDBTransaction.cpp: Keep RefPtr<>s to outstanding requests.
2748 (WebCore::IDBTransaction::~IDBTransaction):
2749 (WebCore::IDBTransaction::abort):
2750 (WebCore::IDBTransaction::onAbort):
2751 * Modules/indexeddb/IDBTransaction.h:
2753 2013-01-11 James Simonsen <simonjam@chromium.org>
2755 [Resource Timing] XMLHttpRequests should have initiator type 'xmlhttprequest'
2756 https://bugs.webkit.org/show_bug.cgi?id=106409
2758 Reviewed by Nate Chapin.
2760 The initiator is passed through ThreadableLoaderOptions to the CachedResourceRequest. This is
2761 optional, so other users of ThreadableLoader will have the default initiator of 'request'. Note
2762 that synchronous XHRs don't show up in the Resource Timing buffer yet.
2764 Test: http/tests/w3c/webperf/submission/resource-timing/html/test_resource_initiator_types.html
2766 * loader/DocumentThreadableLoader.cpp:
2767 (WebCore::DocumentThreadableLoader::loadRequest):
2768 * loader/ThreadableLoader.h:
2769 (ThreadableLoaderOptions):
2770 * loader/cache/CachedResourceRequestInitiators.cpp:
2771 (WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):
2772 * loader/cache/CachedResourceRequestInitiators.h:
2773 (CachedResourceRequestInitiators):
2774 * xml/XMLHttpRequest.cpp:
2775 (WebCore::XMLHttpRequest::createRequest):
2777 2013-01-11 James Simonsen <simonjam@chromium.org>
2779 Restore old semantics to webkitRequestAnimationFrame callbacks
2780 https://bugs.webkit.org/show_bug.cgi?id=106697
2782 Reviewed by James Robinson.
2784 Sites that use GWT <= 2.4 are buggy and rely on Date.now()-like callback values.
2785 We'll restore that behavior to the prefixed version of webkitRequestAnimationFrame.
2786 requestAnimationFrame will continue to follow the spec.
2788 Test: fast/animation/request-animation-frame-prefix.html
2790 * dom/RequestAnimationFrameCallback.h:
2791 (RequestAnimationFrameCallback):
2792 * dom/ScriptedAnimationController.cpp:
2793 (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
2794 * page/DOMWindow.cpp:
2795 (WebCore::DOMWindow::requestAnimationFrame):
2797 (WebCore::DOMWindow::webkitRequestAnimationFrame):
2800 * page/DOMWindow.idl:
2802 2013-01-11 Sheriff Bot <webkit.review.bot@gmail.com>
2804 Unreviewed, rolling out r139044.
2805 http://trac.webkit.org/changeset/139044
2806 https://bugs.webkit.org/show_bug.cgi?id=106702
2808 Caused various scrolling anomolies on Mac with drag and drop
2809 (Requested by smfr on #webkit).
2811 * page/AutoscrollController.cpp:
2812 (WebCore::AutoscrollController::AutoscrollController):
2813 (WebCore::AutoscrollController::autoscrollTimerFired):
2814 * page/AutoscrollController.h:
2816 (AutoscrollController):
2817 * page/EventHandler.cpp:
2818 (WebCore::EventHandler::updateDragAndDrop):
2819 * rendering/RenderBox.cpp:
2821 (WebCore::RenderBox::autoscroll):
2822 * rendering/RenderBox.h:
2824 * rendering/RenderLayer.cpp:
2825 (WebCore::RenderLayer::autoscroll):
2826 * rendering/RenderLayer.h:
2828 * rendering/RenderListBox.cpp:
2829 (WebCore::RenderListBox::autoscroll):
2830 * rendering/RenderListBox.h:
2832 * rendering/RenderTextControlSingleLine.cpp:
2833 (WebCore::RenderTextControlSingleLine::autoscroll):
2834 * rendering/RenderTextControlSingleLine.h:
2835 (RenderTextControlSingleLine):
2837 2013-01-11 Rafael Weinstein <rafaelw@chromium.org>
2839 Prevent HTMLPreloadScanner from fetching resources inside <template>
2840 https://bugs.webkit.org/show_bug.cgi?id=106687
2842 Reviewed by Adam Barth.
2844 This patch adds a simple counter to the preload scanner which increments on template start
2845 tag and decrements on template element. It only fetchs resources when the counter is at zero
2846 (i.e. for elements not contained by a template element).
2848 Test re-enabled within fast/dom/HTMLTemplateElement/inertContents.html
2850 * html/parser/HTMLPreloadScanner.cpp:
2851 (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
2852 (WebCore::HTMLPreloadScanner::processToken):
2853 * html/parser/HTMLPreloadScanner.h:
2854 (HTMLPreloadScanner):
2856 2013-01-11 Tony Gentilcore <tonyg@chromium.org>
2858 We should be able to checkpoint and restore the HTMLTokenizer across threads
2859 https://bugs.webkit.org/show_bug.cgi?id=106597
2861 Based on patch by Adam Barth.
2863 This has the ability to create a checkpoint any time the parser is blocked on a script.
2864 We clear m_appropriateEndTagName after each end tag is flushed so that the ASSERT in
2865 canCreateCheckpoint() will pass.
2867 Reviewed by Adam Barth.
2869 No new tests because no new functionality.
2871 * html/parser/HTMLDocumentParser.cpp:
2872 (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2873 (WebCore::HTMLDocumentParser::pumpTokenizer):
2874 * html/parser/HTMLDocumentParser.h:
2876 (HTMLDocumentParser):
2877 * html/parser/HTMLTokenizer.cpp:
2879 (WebCore::HTMLTokenizer::canCreateCheckpoint):
2880 (WebCore::HTMLTokenizer::createCheckpoint):
2881 (WebCore::HTMLTokenizer::restoreFromCheckpoint):
2882 * html/parser/HTMLTokenizer.h:
2885 (WebCore::HTMLTokenizer::Checkpoint::Checkpoint):
2886 * xml/parser/MarkupTokenizerBase.h:
2887 (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::InputStreamPreprocessor):
2888 (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::skipNextNewLine):
2889 (InputStreamPreprocessor):
2890 (WebCore::MarkupTokenizerBase::InputStreamPreprocessor::reset):
2892 2013-01-11 Tony Chang <tony@chromium.org>
2894 [chromium] Don't regenerate all bindings when any idl file changes
2895 https://bugs.webkit.org/show_bug.cgi?id=106604
2897 Reviewed by Kentaro Hara.
2899 Currently, every idl file is a dependency of generating the supplemental dependency map
2900 and generating bindings is a dependency of the map. This means that touching any idl file
2901 causes us to regenerate all the bindings.
2903 Change it so that generating bindings only depends on the idl files that have Supplemental= in them.
2904 We only have 24 idl files with Supplemental (3.7% of the 638 idl files in WebCore) so modifying
2905 any of those will cause all bindings to be regenerated.
2907 If you add or remove a new idl file, you have to rerun gyp which will fix up any dependencies.
2908 If you edit an existing file and add Supplemental= to it, you will now need to rerun gyp_{webkit,chromium}.
2909 I think that's a reasonable tradeoff since it seems highly unlikely that you would adding Supplemental=
2910 to an existing file without renaming it. The bots will always be fine because they always run
2913 No new tests, this is a build only change.
2915 * WebCore.gyp/WebCore.gyp: Remove <(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp, which was causing
2916 the full rebuild. The step to generate this file is still a hard dependency so it will still be generated and
2917 used by generate-bindings.pl. Also remove <@(webcore_test_support_idl_files). This was saying we should regenerate
2918 all bindings if a test idl file changed. That doesn't make sense.
2919 * WebCore.gyp/scripts/supplemental_idl_files.py: Added.
2922 2013-01-11 Alexandru Chiculita <achicu@adobe.com>
2924 Element is displayed behind a composited layer when clipping is used on a previous element
2925 https://bugs.webkit.org/show_bug.cgi?id=104981
2927 Reviewed by Simon Fraser.
2929 RenderLayerCompositor::computeCompositingRequirements uses the local bounding box of the layers to optimize the number of composited
2930 layers that are created. That's needed in order to make sure that composited layers that are displayed behind non-composited
2931 layers are correctly promoting the layers in front to be composited. Otherwise the non-composited layers are rendered
2932 in the parent composited layer, displaying behind the other composited layers. That might be wrong as the correct paint order might not be
2935 In order to make animations work, there's a flag that will disable that optimization. That's because the animations run in the platform
2936 layer and the platform layer doesn't know about the layers that are not promoted to composited layers. When the overlapping of the layers
2937 is computed it just uses the start or the stop state, but no intermediate states. For that reason, all the 'top' layers in front of animated
2938 elements will become composited.
2940 When an animation has a clipping rectangle, then we know for sure that the animation is going to be contained inside the clip area, so WebKit
2941 uses the bounding box of the clipping area to detect the overlapping layers, so there's no need to disable the optimization in that case.
2943 However, if there is a different animation displaying behind the clipping container, we cannot safely disable that optimization anymore. That's
2944 because we still don't know what are the intermediate states of that particular animated layer. The bug was that the optimization was re-enabled
2945 anyway, even in this particular case.
2947 In order to fix it, I changed the logic, so that instead of re-enabling the optimization after a clipping container, it will just avoid to propagate
2948 the internal state to the following layers when there's no need to so.
2950 Note that 3D transforms behave like animations for now and disable the optimization. Because of that some of the existing tests ended up
2951 creating more layers than needed. That's because the tests had an overflow area that recreated the issue that this patch fixes, but with
2952 3D transforms instead of animations. 3D transforms will be treated in a separate patch.
2954 Tests: compositing/layer-creation/overlap-animation-clipping.html
2955 compositing/layer-creation/overlap-animation-container.html
2957 * rendering/RenderLayerCompositor.cpp:
2958 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2960 2013-01-11 Philip Rogers <pdr@google.com>
2962 Skip CachedImage::CreateImage if we don't have image data
2963 https://bugs.webkit.org/show_bug.cgi?id=106156
2965 Reviewed by Nate Chapin.
2967 This patch skips image creation if we do not have image data. This can occur during
2968 cache revalidation when the revalidation request (304 not modified) comes back without
2969 any content. In this revalidation case, the http spec requires that a mimetype not be set
2970 on the response to prevent a cached resource from having a different mimetype
2971 from the revalidated resource. Because revalidation requests do not have a mimetype,
2972 CachedImage::CreateImage() will fail on SVG images. This patch prevents
2973 CachedImage::CreateImage() from being called during revalidation.
2975 No new tests as there are no observable changes from this patch.
2977 * loader/cache/CachedImage.cpp:
2978 (WebCore::CachedImage::data):
2980 2013-01-11 Kentaro Hara <haraken@chromium.org>
2982 Unreviewed. Rebaselined run-bindings-tests.
2984 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2985 (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
2986 (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
2987 * bindings/scripts/test/V8/V8TestException.cpp:
2988 (WebCore::TestExceptionV8Internal::nameAttrGetter):
2989 * bindings/scripts/test/V8/V8TestInterface.cpp:
2990 (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetter):
2991 (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
2992 (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
2993 * bindings/scripts/test/V8/V8TestObj.cpp:
2994 (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
2995 (WebCore::TestObjV8Internal::staticStringAttrAttrGetter):
2996 (WebCore::TestObjV8Internal::stringAttrAttrGetter):
2997 (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
2998 (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
2999 (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
3000 (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
3001 (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
3002 (WebCore::TestObjV8Internal::hashAttrGetter):
3003 (WebCore::TestObjV8Internal::conditionalMethod1Callback):
3005 2013-01-11 Levi Weintraub <leviw@chromium.org>
3007 RenderGeometryMap and TransformState disagree with sub-pixel layout and translations
3008 https://bugs.webkit.org/show_bug.cgi?id=106047
3010 Reviewed by Simon Fraser.
3012 Mirror RenderGeometryMap's optimization for integer-translated transforms in TransformState.
3013 This avoids the current behavior where the two can disagree on mappings, since RenderGeometryMap
3014 pixel-snapped later when a translation occurred between two sub-pixel containers.
3016 Test: fast/layers/geometry-map-transform-state-translation-mismatch.html
3018 * platform/graphics/transforms/TransformState.h:
3019 (WebCore::TransformState::setQuad): Clear accumulatedOffset when setting a new quad. Note: this
3020 implementation only works properly when only tracking a quad.
3021 * platform/graphics/transforms/TransformState.cpp:
3022 (WebCore::TransformState::applyTransform): apply integral translations to the accumulatedOffset
3023 for performance and consistency with RenderGeometryMap.
3025 2013-01-11 Abhishek Arya <inferno@chromium.org>
3027 Heap-use-after-free in WebCore::RenderText::computePreferredLogicalWidths
3028 https://bugs.webkit.org/show_bug.cgi?id=95901
3030 Reviewed by Simon Fraser.
3032 Prevent re-entrancy of view layout. Loading of SVG document during font load
3033 causes it to re-enter layout and blowing the style away from underneath.
3035 Test: Go to http://www.speckproducts.com and make sure crash does not happen.
3038 (WebCore::Document::updateLayout):
3040 2013-01-11 Kentaro Hara <haraken@chromium.org>
3042 [V8] Do not create a local handle for a cached v8 string that is returned to V8 immediately
3043 https://bugs.webkit.org/show_bug.cgi?id=106557
3045 Reviewed by Adam Barth.
3047 Currently we are always creating a local handle for a cached
3048 V8 string returned to V8:
3050 Handle<Value> v8String(StringImpl* impl, Isolate* isolate) {
3052 return Local<String>::New(isolate, m_cachedString);
3055 However, we don't need to create a local handle in a case
3056 where it is guaranteed that no V8 object allocation is conducted
3057 before a control flow returns back to V8. In particular, in a case
3058 where a cached V8 string is immediately returned to V8, we don't
3059 need to create a local handle:
3061 Handle<Value> xxxxAttrGetter() {
3063 return v8String(imp->xxxx(), isolate); // This can return a persistent handle safely.
3066 This patch improves performance of div.id by 9.2%.
3068 No tests. No change in behavior.
3070 * bindings/scripts/CodeGeneratorV8.pm:
3071 (GenerateNormalAttrGetter):
3072 (GenerateCallbackImplementation):
3073 (GenerateFunctionCallString):
3075 * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3076 (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
3077 (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
3078 * bindings/scripts/test/V8/V8TestException.cpp:
3079 (WebCore::TestExceptionV8Internal::nameAttrGetter):
3080 * bindings/scripts/test/V8/V8TestInterface.cpp:
3081 (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetter):
3082 (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
3083 (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
3084 * bindings/scripts/test/V8/V8TestObj.cpp:
3085 (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
3086 (WebCore::TestObjV8Internal::staticStringAttrAttrGetter):
3087 (WebCore::TestObjV8Internal::stringAttrAttrGetter):
3088 (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
3089 (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
3090 (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
3091 (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
3092 (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
3093 (WebCore::TestObjV8Internal::hashAttrGetter):
3094 (WebCore::TestObjV8Internal::conditionalMethod1Callback):
3095 * bindings/v8/V8Binding.h:
3096 (WebCore::v8String):
3097 (WebCore::v8StringOrNull):
3098 (WebCore::v8StringOrUndefined):
3099 * bindings/v8/V8ValueCache.cpp:
3100 (WebCore::StringCache::v8ExternalStringSlow):
3101 * bindings/v8/V8ValueCache.h:
3102 (WebCore::StringCache::v8ExternalString):
3105 2013-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
3107 Unreviewed. Fix make distcheck.
3109 * GNUmakefile.list.am: Add missing header files.
3111 2013-01-11 Xianzhu Wang <wangxianzhu@chromium.org>
3113 RenderLayerCompositor should let ScrollingCoordinator update main thread scrolling reasons after change of layers
3114 https://bugs.webkit.org/show_bug.cgi?id=105652
3116 Reviewed by Simon Fraser.
3118 Let ScrollingCoordinator know the change of ViewportConstrainedNotCompositedReason in time.
3119 By the way moved RenderLayerCompositor::FixedPositionLayerNotCompositedReason to RenderLayer::ViewportConstrainedNotCompositedReason.
3121 Tests: compositing/layer-creation/fixed-position-in-view-dynamic.html
3122 compositing/layer-creation/fixed-position-out-of-view-dynamic.html
3124 * page/scrolling/ScrollingCoordinator.cpp:
3125 (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
3126 (WebCore::ScrollingCoordinator::mainThreadScrollingReasons):
3127 (WebCore::ScrollingCoordinator::mainThreadScrollingReasonsAsText):
3128 * page/scrolling/ScrollingCoordinator.h:
3129 (ScrollingCoordinator):
3130 * page/scrolling/mac/ScrollingCoordinatorMac.h:
3131 (WebCore::ScrollingCoordinatorMac::hasVisibleSlowRepaintViewportConstrainedObjects):
3132 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3133 (WebCore::logThreadedScrollingMode):
3134 * rendering/RenderLayer.cpp:
3135 (WebCore::RenderLayer::RenderLayer):
3136 (WebCore::RenderLayer::paintLayer):
3137 * rendering/RenderLayer.h:
3138 (RenderLayer): Moved RenderLayerCompositor::FixedPositionLayerNotCompositedReason to here and renamed it to ViewportConstrainedNotCompositedReason.
3139 (WebCore::RenderLayer::setViewportConstrainedNotCompositedReason):
3140 (WebCore::RenderLayer::viewportConstrainedNotCompositedReason):
3141 * rendering/RenderLayerCompositor.cpp:
3142 (WebCore::RenderLayerCompositor::updateCompositingLayers):
3143 (WebCore::RenderLayerCompositor::updateBacking): Now updates ViewportConstrainedNotCompositedReason here instead of in computeCompositingRequirements before so that the reason is updated in time.
3144 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3145 (WebCore::RenderLayerCompositor::needsToBeComposited):
3146 (WebCore::RenderLayerCompositor::requiresCompositingLayer):
3147 (WebCore::RenderLayerCompositor::reasonForCompositing):
3148 (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
3149 (WebCore::RenderLayerCompositor::reportMemoryUsage):
3150 * rendering/RenderLayerCompositor.h:
3151 (RenderLayerCompositor):
3153 2013-01-11 Kenneth Russell <kbr@google.com>
3155 [Chromium] WebGL typed array constructor crashes on exception
3156 https://bugs.webkit.org/show_bug.cgi?id=106308
3158 Reviewed by Kentaro Hara.
3160 Check for empty handles (indicating exception thrown) after calls
3163 Added new case from Khronos typed array conformance tests to
3164 fast/canvas/webgl/array-unit-tests.html.
3166 * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3167 (WebCore::constructWebGLArray):
3168 Check for empty handles after calls into V8 VM.
3170 2013-01-11 Kentaro Hara <haraken@chromium.org>
3172 [V8] Slightly optimize getWrapperFast()
3173 https://bugs.webkit.org/show_bug.cgi?id=106667
3175 Reviewed by Adam Barth.
3177 This patch improves an if condition in getWrapperFast(),
3178 as commented in DOMDataStore.h.
3180 This patch improves performance of div.firstChild from
3181 15.1 ns to 14.0 ns (+7.8%), although I couldn't observe
3182 performance improvement in Dromaeo/dom-traverse.
3184 No tests. No change in behavior.
3186 * bindings/v8/DOMDataStore.h:
3187 (WebCore::DOMDataStore::getWrapperFast):
3189 2013-01-11 Florin Malita <fmalita@chromium.org>
3191 [SVG] Suppress resource rebuilding for unattached and shadow elements
3192 https://bugs.webkit.org/show_bug.cgi?id=106664
3194 Reviewed by Dirk Schulze.
3196 SVGStyledElement::buildPendingResourcesIfNeeded() can be called while cloning a subtree
3197 (as nodes are inserted into the clone, while still detached) or when elements are inserted
3198 into the shadow tree. Both of these cases are problematic for SVGUseElement and can trigger
3199 indirect recursion in SVGUseElement::buildPendingResource.
3201 Since shadow and !inDocument() nodes are of no interest to ID dependents (they cannot be
3202 found by ID in the document), the patch short-circuits buildPendingResource() for these
3205 Test: svg/custom/use-rebuild-resources-crash.svg
3207 * svg/SVGStyledElement.cpp:
3208 (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
3210 2013-01-11 Dominic Mazzoni <dmazzoni@google.com>
3212 AX: Computed hierarchical level is not consistent with aria-level
3213 https://bugs.webkit.org/show_bug.cgi?id=106638
3215 Reviewed by Chris Fleizach.
3217 Make hierarchicalLevel computation 1-based to match the aria-level spec.
3219 Extends an existing test: platform/mac/accessibility/aria-tree.html.
3221 * accessibility/AccessibilityNodeObject.cpp:
3222 (WebCore::AccessibilityNodeObject::hierarchicalLevel):
3223 * accessibility/AccessibilityObject.h:
3224 (AccessibilityObject):
3225 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3226 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
3228 2013-01-11 Vsevolod Vlasov <vsevik@chromium.org>
3230 Web Inspector: Workspace should support several projects and should not have temporary UISourceCodes.
3231 https://bugs.webkit.org/show_bug.cgi?id=105856
3233 Reviewed by Pavel Feldman.
3235 Workspace now supports several projects with the networkProject being a main one.
3236 Replaced temporary UISourceCodes with specific projects (debugger and liveedit).
3237 The concept of workspace reset on navigation is now replaced with project reset concept instead.
3238 Introduced snippets project (that is not reset on navigation).
3239 Script mappings are now reset on GlobalObjectCleared event.
3241 * inspector/front-end/BreakpointManager.js:
3242 (WebInspector.BreakpointManager):
3243 (WebInspector.BreakpointManager.prototype._innerSetBreakpoint):
3244 (WebInspector.BreakpointManager.prototype._filteredBreakpointLocations):
3245 (WebInspector.BreakpointManager.prototype.toggleAllBreakpoints):
3246 (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
3247 (WebInspector.BreakpointManager.prototype._projectWillReset.get for):
3248 (WebInspector.BreakpointManager.prototype._projectWillReset):
3249 * inspector/front-end/CSSStyleModel.js:
3250 (WebInspector.CSSStyleModel):
3251 (WebInspector.CSSStyleModel.prototype._inspectedURLChanged):
3252 (WebInspector.CSSStyleModel.prototype._resetSourceMappings):
3253 (WebInspector.CSSStyleModelResourceBinding):
3254 (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResourceURL):
3255 (WebInspector.CSSStyleModelResourceBinding.prototype._reset):
3256 * inspector/front-end/CompilerScriptMapping.js:
3257 (WebInspector.CompilerScriptMapping):
3258 (WebInspector.CompilerScriptMapping.prototype._debuggerReset):
3259 * inspector/front-end/DebuggerScriptMapping.js:
3260 * inspector/front-end/DefaultScriptMapping.js:
3261 (WebInspector.DefaultScriptMapping):
3262 (WebInspector.DefaultScriptMapping.prototype.addScript):
3263 (WebInspector.DefaultScriptMapping.prototype._debuggerReset):
3264 * inspector/front-end/ExtensionServer.js:
3265 (WebInspector.ExtensionServer.prototype._onGetPageResources):
3266 * inspector/front-end/FilteredItemSelectionDialog.js:
3267 (WebInspector.OpenResourceDialog.show):
3268 * inspector/front-end/LiveEditSupport.js:
3269 (WebInspector.LiveEditSupport):
3270 (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
3271 (WebInspector.LiveEditSupport.prototype._debuggerReset):
3272 * inspector/front-end/NetworkUISourceCodeProvider.js:
3273 (WebInspector.NetworkUISourceCodeProvider):
3274 (WebInspector.NetworkUISourceCodeProvider.prototype._mainFrameNavigated):
3275 (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
3276 (WebInspector.NetworkUISourceCodeProvider.prototype._reset):
3277 * inspector/front-end/ResourceScriptMapping.js:
3278 (WebInspector.ResourceScriptMapping):
3279 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
3280 (WebInspector.ResourceScriptMapping.prototype._debuggerReset):
3281 * inspector/front-end/RevisionHistoryView.js:
3282 (WebInspector.RevisionHistoryView):
3283 (WebInspector.RevisionHistoryView.prototype._projectWillReset):
3284 * inspector/front-end/SASSSourceMapping.js:
3285 (_bindUISourceCode):
3286 * inspector/front-end/ScriptSnippetModel.js:
3287 (WebInspector.ScriptSnippetModel):
3288 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
3289 (WebInspector.ScriptSnippetModel.prototype.reset):
3290 * inspector/front-end/ScriptsNavigator.js:
3291 * inspector/front-end/ScriptsPanel.js:
3292 (WebInspector.ScriptsPanel):
3293 (WebInspector.ScriptsPanel.prototype._addUISourceCode):
3294 (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
3295 (WebInspector.ScriptsPanel.prototype._removeUISourceCodes):
3296 (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
3297 (WebInspector.ScriptsPanel.prototype._debuggerReset):
3298 (WebInspector.ScriptsPanel.prototype._projectWillReset):
3299 (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
3300 (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
3301 (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
3302 * inspector/front-end/SimpleWorkspaceProvider.js:
3303 (WebInspector.SimpleWorkspaceProvider):
3304 (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
3305 (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
3306 (WebInspector.SimpleWorkspaceProvider.prototype.reset):
3307 * inspector/front-end/StylesSourceMapping.js:
3308 (WebInspector.StylesSourceMapping):
3309 (WebInspector.StylesSourceMapping.prototype._projectWillReset):
3310 * inspector/front-end/TabbedEditorContainer.js:
3311 (WebInspector.TabbedEditorContainer.prototype.reset):
3312 * inspector/front-end/UISourceCode.js:
3313 (WebInspector.UISourceCode.prototype.project):
3314 * inspector/front-end/Workspace.js:
3315 (WebInspector.WorkspaceController):
3316 (WebInspector.WorkspaceController.prototype._inspectedURLChanged):
3317 (WebInspector.Project):
3318 (WebInspector.Project.prototype.name):
3319 (WebInspector.Project.prototype.isServiceProject):
3320 (WebInspector.Project.prototype._reset):
3321 (WebInspector.Workspace):
3322 (WebInspector.Workspace.prototype.uiSourceCodeForURL):
3323 (WebInspector.Workspace.prototype.uiSourceCodeForURI):
3324 (WebInspector.Workspace.prototype.addProject):
3325 (WebInspector.Workspace.prototype.project):
3326 (WebInspector.Workspace.prototype.projects):
3327 (WebInspector.Workspace.prototype.uiSourceCodes):
3328 (WebInspector.Workspace.prototype.projectForUISourceCode):
3329 (WebInspector.Workspace.prototype.requestFileContent):
3330 (WebInspector.Workspace.prototype.setFileContent):
3331 (WebInspector.Workspace.prototype.searchInFileContent):
3332 * inspector/front-end/inspector.js:
3333 * inspector/front-end/utilities.js:
3335 2013-01-11 Eugene Klyuchnikov <eustas@chromium.org>
3337 Web Inspector: [Resources] Make grid columns set configurable.
3338 https://bugs.webkit.org/show_bug.cgi?id=105739
3340 Reviewed by Pavel Feldman.
3342 Added context menu on grid header to hide/show grid columns.
3343 Hidden columns set is persisted.
3345 * inspector/front-end/DataGrid.js:
3346 Fixed show/hide behavior, introduced weight control.
3347 * inspector/front-end/NetworkPanel.js:
3348 Added member to track visibility of columns in detailerd mode. Added
3349 context menu for grid header.
3351 2013-01-11 Andras Becsi <andras.becsi@digia.com>
3353 [Qt] Fix the build if libxslt is not available but libxml2 is
3354 https://bugs.webkit.org/show_bug.cgi?id=106661
3356 Reviewed by Simon Hausmann.
3358 On Linux building the xml parser sources fails if the needed libxslt
3359 dependencies are not installed but libxml2 is.
3361 * WebCore.pri: add libxml2 to pkg-config if not on mac.
3363 2013-01-11 Stephen Chenney <schenney@chromium.org>
3364 Objects can be re-added to the AXObjectCache during removal
3365 https://bugs.webkit.org/show_bug.cgi?id=104171
3367 The problem occurs when a label's corresponding element is a sibling
3368 that precedes it in the render tree, and the corresponding element is
3369 removed. The corresponding element's AX render object is removed, but
3370 then recreated when accessibilityIsIgnored() invokes correspondingControl()
3371 on the label. The corresponding renderer then has an AX render object
3372 that survives beyond the deleted renderer, leading to invalid memory
3375 The solution is to rearrange the calls to delete the renderer's AX
3376 render object only when we are sure it will no longer be required.
3378 Reviewed by Simon Fraser.
3380 Test: accessibility/corresponding-control-deleted-crash.html
3382 * rendering/RenderObject.cpp:
3383 (WebCore::RenderObject::willBeDestroyed): Move the call to remove the
3384 renderer from the AXCache to after the renderer is removed from the
3385 render tree. This means that the AXObject still exists during renderer
3386 removal, as we require.
3388 2013-01-11 Allan Sandfeld Jensen <allan.jensen@digia.com>
3390 [Qt][WK1] Web Audio support
3391 https://bugs.webkit.org/show_bug.cgi?id=106651
3393 Reviewed by Jocelyn Turcotte.
3395 Convert JavaScript Uint8Array to QByteArray. This conversion is necessary to support testRunner.setAudioData().
3397 * bridge/qt/qt_runtime.cpp:
3398 (JSC::Bindings::isJSUint8Array):
3400 (JSC::Bindings::valueRealType):
3401 (JSC::Bindings::convertValueToQVariant):
3403 2013-01-11 Anton Vayvod <avayvod@chromium.org>
3405 Text Autosizing - elements much narrower than its parent autosizing clusters should be autosized separately.
3406 https://bugs.webkit.org/show_bug.cgi?id=105188
3408 Reviewed by Kenneth Rohde Christiansen.
3410 Some blocks of text might be narrower than their parent clusters and should be autosized separately.
3411 This helps with autosizing for the pages implementing the sidebars as a narrow blocks of text with wide margins and
3412 the main content being positioned atop this margin (or vice versa).
3414 * rendering/TextAutosizer.cpp:
3415 (WebCore::TextAutosizer::isContainerAutosizingCluster):
3417 Returns true if the container is more than 200 pixels narrower than its parent cluster's lowest common
3418 ancestor of all the text nodes.
3420 2013-01-11 Andreas Kling <akling@apple.com>
3422 Remove unused CSSSelector(QualifiedName) constructor.
3423 <http://webkit.org/b/106652>
3425 Reviewed by Antti Koivisto.
3427 * css/CSSSelector.h:
3430 2013-01-11 Zan Dobersek <zandobersek@gmail.com>
3432 [GTK] Disable the ENABLE_LEGACY_WEB_AUDIO feature define in release builds
3433 https://bugs.webkit.org/show_bug.cgi?id=106577
3435 Reviewed by Philippe Normand.
3437 The Web Audio feature is not enabled in the release builds, so there's
3438 no need to enable the legacy Web Audio API either.
3440 No new tests - no new functionality.
3442 * GNUmakefile.features.am.in:
3444 2013-01-11 Antoine Quint <graouts@apple.com>
3446 Web Inspector: Option+Click on Node Expander Doesn't Work the First Time
3447 https://bugs.webkit.org/show_bug.cgi?id=66868
3449 Up to now, the TreeElement.prototype.expandRecursively() method would correctly
3450 expand children recursively based on the provided depth, but would not wait to
3451 perform this task until all child nodes had been populated, which means that this
3452 would only work incrementally with one additional level of child nodes being shown
3453 expanded in the DOM tree upon alt+clicking a given node with a deep hierarchy.
3455 In order to fix this, this patch adds a new optional argument to the DOMAgent's
3456 requestChildNodes() methods to provide the depth at which we want to retrieve children
3457 of a given node. The DOMAgent provides a new .getSubtree() method that calls
3458 requestChildNodes() with the provided depth.
3460 Then in ElementsTreeOutline, we subclass .expandRecursively() to first call DOMAgent's
3461 new .getSubtree() method and then call the default implementation when all nodes
3462 have been retrieved from the backend.
3464 Reviewed by Pavel Feldman.
3466 Tests: inspector-protocol/dom-request-child-nodes-depth.html
3467 inspector/elements/expand-recursively.html
3469 * inspector/Inspector.json: Add the new `depth` parameter to DOM.requestChildNodes().
3470 * inspector/InspectorDOMAgent.cpp:
3471 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): Add a new optional `depth` parameter
3472 which defaults to 1.
3473 (WebCore::InspectorDOMAgent::requestChildNodes): Add a new optional `depth` parameter
3474 which defaults to 1 and allows -1 as an unbound value.