1 2012-02-07 Ojan Vafai <ojan@chromium.org>
3 Floated flexboxes render as regular RenderBlocks
4 https://bugs.webkit.org/show_bug.cgi?id=77909
6 Reviewed by Eric Seidel.
8 Add grid/flexbox cases to adjusting the display of floated/positioned
9 elements. Also, move this logic into a switch statement. This makes
10 the code more readable and gives compile warnings when new display types
11 are added that aren't handled here.
13 Test: css3/flexbox/floated-flexbox.html
15 * css/CSSStyleSelector.cpp:
16 (WebCore::adjustDisplay):
18 (WebCore::CSSStyleSelector::adjustRenderStyle):
20 2012-02-08 Dirk Schulze <krit@webkit.org>
22 viewBox on nested SVG causes wrong content size for relative values
23 https://bugs.webkit.org/show_bug.cgi?id=69459
27 In the past we just checked the change of the viewport size of the root SVG element. If the size changed, all childs
28 with relative length values needed a relayout. We did not consider that we might have other viewports in the document.
29 Childs with relative lengths had a strange zooming, if just the viewport size of an inner SVG element changed.
31 With this patch we check if the size of the nearest viewport changes. Is this the case, childs with relative lengths
34 Test: inner-svg-change-viewBox.svg
36 * rendering/svg/RenderSVGContainer.cpp:
37 (WebCore::RenderSVGContainer::layout):
38 * rendering/svg/RenderSVGContainer.h:
40 (WebCore::RenderSVGContainer::determineIfLayoutSizeChanged): Check if we need layout and have relative length values.
41 * rendering/svg/RenderSVGRoot.cpp:
42 (WebCore::RenderSVGRoot::layout): Remove resetting 'viewport size changed' flag for code operability. No influence on the layout.
43 * rendering/svg/RenderSVGViewportContainer.cpp:
44 (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): Add a flag that indicates that the viewport size changes.
45 (WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged): The flag gets set during the layout phase of the SVG element if the size changes.
47 * rendering/svg/RenderSVGViewportContainer.h:
48 (WebCore::RenderSVGViewportContainer::isLayoutSizeChanged): Added getter to get flag status.
49 (RenderSVGViewportContainer):
50 (WebCore::toRenderSVGViewportContainer): Added casting function for constant RenderObjects.
52 * rendering/svg/SVGRenderSupport.cpp:
53 (WebCore::layoutSizeOfNearestViewportChanged): Search the nearest viewport and check if the size changed.
55 (WebCore::SVGRenderSupport::layoutChildren): Don't check the roots viewport for size changes, but the nearest viewport.
56 * svg/SVGSVGElement.cpp:
57 (WebCore::SVGSVGElement::svgAttributeChanged): Added viewBoxAttr to the list of attributes that cause relayout.
59 2012-02-08 Gregg Tavares <gman@google.com>
61 Implement new WEBGL compressed texture extensions
62 https://bugs.webkit.org/show_bug.cgi?id=77066
64 This removes the old experimental compressed
65 texture extension and implements the first new
68 A test is in the WebGL conformance tests in
69 extensions/webgl-compressed-texture-s3tc.html
70 and will be copied here in a future patch.
72 Reviewed by Kenneth Russell.
74 No new tests. Test coming in future patch.
77 * DerivedSources.make:
78 * GNUmakefile.list.am:
81 * WebCore.xcodeproj/project.pbxproj:
82 * bindings/js/JSWebGLRenderingContextCustom.cpp:
84 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
85 (WebCore::toV8Object):
86 * html/canvas/WebGLCompressedTextureS3TC.cpp: Added.
88 (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
89 (WebCore::WebGLCompressedTextureS3TC::~WebGLCompressedTextureS3TC):
90 (WebCore::WebGLCompressedTextureS3TC::getName):
91 (WebCore::WebGLCompressedTextureS3TC::create):
92 (WebCore::WebGLCompressedTextureS3TC::supported):
93 * html/canvas/WebGLCompressedTextureS3TC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
95 (WebGLCompressedTextureS3TC):
96 * html/canvas/WebGLCompressedTextureS3TC.idl: Renamed from Source/WebCore/html/canvas/WebGLCompressedTextures.idl.
97 * html/canvas/WebGLCompressedTextures.cpp: Removed.
98 * html/canvas/WebGLCompressedTextures.h: Removed.
99 * html/canvas/WebGLExtension.h:
100 * html/canvas/WebGLGetInfo.cpp:
101 (WebCore::WebGLGetInfo::WebGLGetInfo):
103 (WebCore::WebGLGetInfo::getWebGLUnsignedIntArray):
104 * html/canvas/WebGLGetInfo.h:
105 * html/canvas/WebGLObject.cpp:
106 * html/canvas/WebGLRenderingContext.cpp:
108 (WebCore::WebGLRenderingContext::addCompressedTextureFormat):
109 (WebCore::WebGLRenderingContext::compressedTexImage2D):
110 (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
111 (WebCore::WebGLRenderingContext::getExtension):
112 (WebCore::WebGLRenderingContext::getParameter):
113 (WebCore::WebGLRenderingContext::getSupportedExtensions):
114 (WebCore::WebGLRenderingContext::validateCompressedTexFormat):
115 (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
116 (WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
117 (WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions):
118 * html/canvas/WebGLRenderingContext.h:
120 (WebGLRenderingContext):
121 * html/canvas/WebGLRenderingContext.idl:
123 2012-02-08 Ilya Tikhonovsky <loislo@chromium.org>
125 Web Inspector: heap snapshot: implement Distance column in Object's retaining tree.
126 https://bugs.webkit.org/show_bug.cgi?id=78113
128 Retaining path list was replaced with Retaining tree some time ago.
129 But it was not so useful when we want to track the retaining path from an object to a DOM Window node.
131 Drive by fix: sort doesn't work in retaining tree panel.
132 Drive by fix: save/load child nodes doesn't work for the retaining tree panel.
134 Reviewed by Yury Semikhatsky.
136 * inspector/front-end/DetailedHeapshotGridNodes.js:
137 (WebInspector.HeapSnapshotObjectNode):
138 (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity): save/load children fix
139 (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode): save/load children fix
140 (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
141 (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
142 * inspector/front-end/DetailedHeapshotView.js:
143 (WebInspector.HeapSnapshotContainmentDataGrid):
144 (WebInspector.HeapSnapshotRetainmentDataGrid):
145 (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
146 * inspector/front-end/HeapSnapshot.js:
147 (WebInspector.HeapSnapshotRetainerEdge.prototype.set retainerIndex):
148 (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
149 (WebInspector.HeapSnapshotRetainerEdge.prototype.get _node):
150 (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
151 (WebInspector.HeapSnapshotNode.prototype.get distanceToWindow):
152 (WebInspector.HeapSnapshot.prototype._init):
153 (WebInspector.HeapSnapshot.prototype._buildRetainers):
154 (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
155 (WebInspector.HeapSnapshot.prototype._bfs):
156 (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
157 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName):
158 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
159 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeAndNode):
160 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndEdge):
161 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndNode):
162 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
163 (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
164 * inspector/front-end/heapProfiler.css:
165 (.detailed-heapshot-view .data-grid td.distanceToWindow-column):
167 2012-02-08 Anders Carlsson <andersca@apple.com>
169 Fix assertion in svg/dom/SVGStyledElement-pendingResource-crash.html
170 https://bugs.webkit.org/show_bug.cgi?id=78126
172 Reviewed by Dan Bernstein.
174 This broke in r106977 when I tried to change an early return into an ASSERT,
175 so let's bring back the early return.
177 * page/FrameView.cpp:
178 (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
180 2012-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
182 Unreviewed, rolling out r106920, r106924, r106933, r106939,
184 http://trac.webkit.org/changeset/106920
185 http://trac.webkit.org/changeset/106924
186 http://trac.webkit.org/changeset/106933
187 http://trac.webkit.org/changeset/106939
188 http://trac.webkit.org/changeset/107090
189 https://bugs.webkit.org/show_bug.cgi?id=78124
191 Something is completely wrong this change (Requested by
192 Ossy_gardener on #webkit).
194 * platform/FileSystem.h:
196 * platform/qt/FileSystemQt.cpp:
198 2012-02-08 David Hyatt <hyatt@apple.com>
200 https://bugs.webkit.org/show_bug.cgi?id=78122
202 Add support for the "contains" value for line-grid-snap. This value centers the line box in between the
203 text-top and text-bottom of the minimum number of grid lines that enclose the line box. This is useful for
204 centering headers in a line grid.
206 Reviewed by Adam Roben.
208 Added a new test in fast/line-grid.
210 * rendering/RootInlineBox.cpp:
211 (WebCore::RootInlineBox::lineGridSnapAdjustment):
213 2012-02-08 Cary Clark <caryclark@google.com>
215 [Skia Mac] Make misspelling underline dots unclipped
216 https://bugs.webkit.org/show_bug.cgi?id=78117
217 http://code.google.com/p/chromium/issues/detail?id=113154
219 Reviewed by Stephen White.
221 No new tests. Existing layout tests cover this.
223 As is done on the CoreGraphics Mac platform, adjust the
224 underline width to remove partial dots, not including the
225 trailing transparent pixel column.
227 * platform/graphics/skia/GraphicsContextSkia.cpp:
228 (WebCore::GraphicsContext::drawLineForTextChecking):
230 2012-02-08 Pavel Feldman <pfeldman@google.com>
232 Web Inspector: bind entire subtree upon childNodeInserted so that text node were accounted.
233 https://bugs.webkit.org/show_bug.cgi?id=78116
235 Reviewed by Yury Semikhatsky.
237 * inspector/front-end/DOMAgent.js:
238 (WebInspector.DOMNode):
239 (WebInspector.DOMDocument):
240 (WebInspector.DOMAgent.prototype._setDocument):
241 (WebInspector.DOMAgent.prototype._setDetachedRoot):
242 (WebInspector.DOMAgent.prototype._setChildNodes):
243 (WebInspector.DOMAgent.prototype._childNodeRemoved):
244 (WebInspector.DOMAgent.prototype._unbind):
246 2012-02-08 Peter Rybin <peter.rybin@gmail.com>
248 Web Inspector: Optional out arguments are not supported in the Web Inspector protocol, which breaks the implementation
249 https://bugs.webkit.org/show_bug.cgi?id=77967
251 Reviewed by Yury Semikhatsky.
253 Condition for RefPtr-based types added. This is more-or-less a hack
254 and it's should be redone together with the switch to type-safe API.
256 * inspector/CodeGeneratorInspector.py:
257 (Generator.process_command):
259 2012-02-07 Yury Semikhatsky <yurys@chromium.org>
261 Web Inspector: inspected object wrapper should be released by InjectedScript when popover closes
262 https://bugs.webkit.org/show_bug.cgi?id=77972
264 When object popover is shown the object under cursor is resolved and its
265 wrapper is put into 'popover' object wrapper group. The group is discarded
266 when the popover closes.
268 Reviewed by Pavel Feldman.
270 * bindings/js/ScriptProfiler.cpp:
271 (WebCore::ScriptProfiler::objectByHeapObjectId):
272 * bindings/js/ScriptProfiler.h:
275 * bindings/v8/ScriptProfiler.cpp:
276 (WebCore::ScriptProfiler::objectByHeapObjectId):
278 * bindings/v8/ScriptProfiler.h:
281 * inspector/Inspector.json:
282 * inspector/InspectorProfilerAgent.cpp:
283 (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
284 * inspector/InspectorProfilerAgent.h:
285 (InspectorProfilerAgent):
286 * inspector/front-end/DetailedHeapshotGridNodes.js:
287 (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
288 * inspector/front-end/DetailedHeapshotView.js:
289 (WebInspector.DetailedHeapshotView.prototype._resolveObjectForPopover):
290 * inspector/front-end/JavaScriptSourceFrame.js:
291 (WebInspector.JavaScriptSourceFrame):
292 (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
293 (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
294 * inspector/front-end/ObjectPopoverHelper.js:
295 (WebInspector.ObjectPopoverHelper):
296 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
297 (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
299 2012-02-08 Mario Sanchez Prada <msanchez@igalia.com>
301 [Gtk] atk_text_get_text_at_offset() fails to provide the correct line for list items whose text wraps
302 https://bugs.webkit.org/show_bug.cgi?id=73431
304 Reviewed by Chris Fleizach.
306 Don't replace item's markers with the objectReplacementCharacter
307 character, as they will be treated in an special way later on.
309 * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
310 (textForRenderer): Don't append the objectReplacementCharacter
311 character for list item's markers.
313 2012-02-08 Pavel Feldman <pfeldman@google.com>
315 Web Inspector: do not clear entire tree map upon last element deletion.
316 https://bugs.webkit.org/show_bug.cgi?id=78112
318 Reviewed by Yury Semikhatsky.
320 * inspector/front-end/treeoutline.js:
321 (TreeOutline.prototype._forgetChildrenRecursive):
323 2012-02-08 Kaustubh Atrawalkar <kaustubh@motorola.com>
325 Migrate createObjectURL & revokeObjectURL to static (Class) methods.
326 https://bugs.webkit.org/show_bug.cgi?id=74386
328 Reviewed by Kentaro Hara.
330 Move createObjectURL & revokeObjectURL from DOMURL implementation to
331 static methods as per specs - http://www.w3.org/TR/FileAPI/#creating-revoking
333 Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
335 fast/files/revoke-blob-url.html
336 fast/dom/window-domurl-crash.html
337 fast/files/apply-blob-url-to-img.html
338 fast/files/create-blob-url-crash.html
339 fast/files/workers/inline-worker-via-blob-url.html
341 * GNUmakefile.list.am:
344 * WebCore.vcproj/WebCore.vcproj:
345 * WebCore.xcodeproj/project.pbxproj:
346 * dom/ScriptExecutionContext.cpp:
347 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
348 (WebCore::ScriptExecutionContext::fileThread):
350 (WebCore::ScriptExecutionContext::publicURLManager):
351 * dom/ScriptExecutionContext.h:
353 (ScriptExecutionContext):
356 (WebCore::DOMURL::createObjectURL): Changed to static.
357 (WebCore::DOMURL::revokeObjectURL): ditto.
360 (WebCore::DOMURL::create):
362 * html/PublicURLManager.h: Added.
365 (WebCore::PublicURLManager::create):
366 (WebCore::PublicURLManager::contextDestroyed):
367 (WebCore::PublicURLManager::blobURLs):
368 (WebCore::PublicURLManager::streamURLs):
369 * page/DOMWindow.cpp: Removed object initialization for DOMURL.
371 * page/DOMWindow.h: ditto.
373 * page/DOMWindow.idl:
374 * workers/WorkerContext.cpp:
376 * workers/WorkerContext.h:
378 * workers/WorkerContext.idl:
380 2012-02-01 Brian Grinstead <briangrinstead@gmail.com>
382 Web Inspector: Add changes for Spectrum colorpicker
383 https://bugs.webkit.org/show_bug.cgi?id=75454
385 Reviewed by Pavel Feldman.
387 * inspector/front-end/Color.js:
388 (WebInspector.Color.fromRGB):
389 * inspector/front-end/utilities.js:
390 (Element.prototype.totalOffsetLeft):
391 (Element.prototype.totalOffsetTop):
392 (Element.prototype.totalOffset):
393 (Element.prototype.scrollOffset):
396 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
398 Web Inspector: Avoid an avalanche of "class" attribute modifications in WatchExpressionsSidebarPane
399 https://bugs.webkit.org/show_bug.cgi?id=78102
401 Reviewed by Vsevolod Vlasov.
403 * inspector/front-end/WatchExpressionsSidebarPane.js:
404 (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
406 2012-02-08 Antaryami Pandia <antaryami.pandia@motorola.com>
408 CSS2 overflow: scrollbar not visible on SELECT elements when overflow: scroll is set.
409 https://bugs.webkit.org/show_bug.cgi?id=69993
411 Reviewed by Simon Fraser.
413 The issue was that for overflow:scroll, currently webkit always places the horizontal
414 and vertical scrollbar. But Since the listbox renderer handles its scrolling,
415 we should not set scrollbar for list-box.
417 Tests: fast/css/getComputedStyle/computed-style-select-overflow.html
418 fast/forms/select-overflow-scroll-inherited.html
419 fast/forms/select-overflow-scroll.html
421 * rendering/RenderBlock.cpp:
422 (WebCore::RenderBlock::layoutBlock):
423 * rendering/RenderLayer.cpp:
424 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
426 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
428 feImage doesn't invalidate when its target SVG element is animated
429 https://bugs.webkit.org/show_bug.cgi?id=73860
431 Reviewed by Dirk Schulze.
433 Consider following testcase:
435 <rect id="rect" fill="red" width="50" height="50"/>
437 <feImage xlink:href="#rect"/>
440 <rect width="50" height="50" filter="url(#filter)"/>
442 If the <rect id="rect"> gets changed dynamically (attribute/property/style change) the <feImage>
443 doesn't notice this, as there's no link between the <rect> and the <feImage>, as the <rect> is not
444 a child of the <feImage/>. To get invalidations working for these situations, we have to track
445 the referencingElement & referencedElement in SVGDocumentExtensions.
447 Fixes parts the SVG-Wow twirl testcase and David Daileys SVG waves example.
449 Tests: svg/filters/feImage-animated-transform-on-target-rect.svg
450 svg/filters/feImage-late-indirect-update.svg
451 svg/filters/feImage-mutliple-targets-id-change.svg
452 svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg
453 svg/filters/feImage-target-attribute-change-with-use-indirection.svg
454 svg/filters/feImage-target-attribute-change.svg
455 svg/filters/feImage-target-inline-style-change.svg
456 svg/filters/feImage-target-property-change.svg
457 svg/filters/feImage-target-style-change.svg
459 * rendering/svg/RenderSVGResource.cpp:
460 (WebCore::removeFromFilterCacheAndInvalidateDependencies): Renamed from removeFromFilterCache, as it has another purpose now.
461 (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): s/removeFromFilterCache/removeFromFilterCacheAndInvalidateDependencies/.
462 * rendering/svg/RenderSVGResource.h: Removed removeFromFilterCache, it got inlined.
463 * svg/SVGDocumentExtensions.cpp: Add a new HashMap<SVGElement*, OwnPtr<HashSet<SVGElement*> > > used for dependency tracking.
464 (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): Returns all elements the passed in element depends on.
465 (WebCore::SVGDocumentExtensions::addElementReferencingTarget): Register element 'a' referencing target 'b'.
466 (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): Called by element 'a' on destruction or any target change.
467 (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): Called by element 'b' on destruction.
468 * svg/SVGDocumentExtensions.h: Expose new methods.
469 * svg/SVGElement.cpp:
470 (WebCore::SVGElement::~SVGElement): Call remove removeAllElementReferencesForTarget on destruction.
471 * svg/SVGFEImageElement.cpp:
472 (WebCore::SVGFEImageElement::clearResourceReferences):
473 (WebCore::SVGFEImageElement::buildPendingResource):
475 2012-02-08 Kihong Kwon <kihong.kwon@samsung.com>
477 [EFL] Using string method instead of char* operation in the platformLanguage().
478 https://bugs.webkit.org/show_bug.cgi?id=78077
480 Reviewed by Andreas Kling.
482 No new tests. Just fix a bug of platformLanguage function.
484 * platform/efl/LanguageEfl.cpp:
485 (WebCore::platformLanguage):
486 Change char* operation to string operation.
488 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
490 Web Inspector: Touch event emulation fails for iframes
491 https://bugs.webkit.org/show_bug.cgi?id=77987
493 Reviewed by Pavel Feldman.
495 Test: fast/events/touch/emulated-touch-iframe.html
497 * page/EventHandler.cpp:
498 (WebCore::EventHandler::handleMouseReleaseEvent):
500 2012-02-08 Andreas Kling <awesomekling@apple.com>
502 StyledElement: Manully setNeedsStyleRecalc() after adding CSSProperties directly.
503 <http://webkit.org/b/78068>
505 Rubber-stamped by Ryosuke Niwa.
507 Turns out that setProperty() with a CSSProperty has quite different behavior from
508 the other setProperty() methods. We should probably clean that up (separately.)
509 For now, simply call setNeedsStyleRecalc() manually in the addCSS* functions that
510 use setProperty(CSSProperty).
512 * dom/StyledElement.cpp:
513 (WebCore::StyledElement::addCSSProperty):
514 (WebCore::StyledElement::addCSSImageProperty):
516 2012-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
518 Unreviewed, rolling out r107050.
519 http://trac.webkit.org/changeset/107050
520 https://bugs.webkit.org/show_bug.cgi?id=78094
522 May crash editing tests (Requested by morrita on #webkit).
524 * html/HTMLDetailsElement.cpp:
525 (WebCore::HTMLDetailsElement::createShadowSubtree):
526 * html/HTMLKeygenElement.cpp:
527 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
528 * html/HTMLMeterElement.cpp:
529 (WebCore::HTMLMeterElement::createShadowSubtree):
530 * html/HTMLProgressElement.cpp:
531 (WebCore::HTMLProgressElement::createShadowSubtree):
532 * html/HTMLSummaryElement.cpp:
533 (WebCore::HTMLSummaryElement::createShadowSubtree):
534 * html/HTMLTextAreaElement.cpp:
535 (WebCore::HTMLTextAreaElement::createShadowSubtree):
537 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
539 [Qt] REGRESSION(r106918): It made svg/zoom/page/zoom-foreignObject.svg crash with Qt5-WK1
540 https://bugs.webkit.org/show_bug.cgi?id=77995
542 Reviewed by Csaba Osztrogonác.
544 From the stack traces it's obvious that SVGImageChromeClient tried to invalidate the root view,
545 while its SVGImage was being destructed, due to an updateStyleIfNeeded() call, coming
546 from frameDetached(). There's no point in redrawing there, so we should just stop it.
548 Covered by existing tests on the Qt but, unfortunately I couldn't reproduce it on Mac.
550 * svg/graphics/SVGImage.cpp:
551 (WebCore::SVGImageChromeClient::invalidateContentsAndRootView): Stop invalidating if m_page is 0.
552 (WebCore::SVGImage::~SVGImage): Clear m_page, so that SVGImageChromeClient knows we're destructing.
553 * svg/graphics/SVGImage.h:
555 2012-02-08 Pablo Flouret <pablof@motorola.com>
557 Add state attribute to history's dom interface.
558 https://bugs.webkit.org/show_bug.cgi?id=76035
560 Reviewed by Kentaro Hara.
562 Tests: fast/loader/stateobjects/state-attribute-object-types.html
563 fast/loader/stateobjects/state-attribute-only-one-deserialization.html
565 * bindings/js/JSHistoryCustom.cpp:
566 (WebCore::JSHistory::state):
568 (WebCore::JSHistory::pushState):
569 (WebCore::JSHistory::replaceState):
570 * bindings/v8/custom/V8HistoryCustom.cpp:
571 (WebCore::V8History::stateAccessorGetter):
573 (WebCore::V8History::pushStateCallback):
574 (WebCore::V8History::replaceStateCallback):
576 (WebCore::History::History):
577 (WebCore::History::state):
579 (WebCore::History::stateInternal):
580 (WebCore::History::stateChanged):
585 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
587 SVGLoad event fires too early
588 https://bugs.webkit.org/show_bug.cgi?id=78084
590 Reviewed by Hajime Morita.
592 SVGLoad event fires too early, making it impossible to use the vanilla repaint.js harness (runRepaintTest).
594 We're using a hack called runSVGRepaintTest() at the moment in trunk, which runs runRepaintTest() from a 0ms timer,
595 which is not reliable. The main difference between HTML onload and SVG onload is that HTMLs event is a "window event",
596 thus dispatched through DOMWindow (eg. <body onload="alert(event.target)" will yield Document,
597 <svg onload="alert(evt.target)"> will say SVGSVGElement).
600 <svg onload="alert('1')>
601 <g onload="alert('2)">
602 <rect onload="alert('3')"/>
605 As soon as the <rect> finishes parsing (SVGElement::finishedParsingChildren), it's SVGLoad event is fired.
606 So first you'll see '3', then '2', then '1'.
609 <svg onload="alert('1')>
610 <g onload="alert('2)">
611 <image xlink:href="someExternal.jpg" onload="alert('3')"/>
614 will yield the same SVGLoad order. When using <image externalREsourcesRequired="true", first the '1' will fire,
615 then '3', then '2', all as expected and specified in SVG.
617 http://www.w3.org/TR/SVG/interact.html#LoadEvent says:
618 "The event is triggered at the point at which the user agent has fully parsed the element and its descendants and is
619 ready to act appropriately upon that element, such as being ready to render the element to the target device. Referenced
620 external resources that are required must be loaded, parsed and ready to render before the event is triggered. Optional
621 external resources are not required to be ready for the event to be triggered."
623 What we don't implement correctly is the second part of the first sentence: "and is ready to act appropriately upon that
624 element, such as being ready to render the element to the target device". We currently fire the SVGLoad event, right after
625 </svg> is seen, if no externalResourceRequired="true" attributes are set anywhere. This is not wrong, but not correct for
626 WebKit, as we're not yet "ready to render".
628 HTML fires its window onload event from Document::implicitClose(), where it calls Document::dispatchWindowLoadEvent.
629 At this point we're ready to render. So I'm now aligning the timing of the outermost <svg> elements SVGLoad event, to be
630 equal to HTML. This lets use use the repaint.js harness w/o any special SVG tricks.
632 Covered by existing tests.
635 (WebCore::Document::implicitClose): Dispatch SVGLoad event for outermost <svg> elements from here, as HTML does for its window onload event.
636 * svg/SVGDocumentExtensions.cpp:
637 (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements): Sends a SVGLoad event to all outermost <svg> elements in a document, if possible.
638 There can be multiple ones, if using <svg><foreignObject><svg>... - the <svg> in the <fO> also acts as outermost <svg> element.
639 * svg/SVGDocumentExtensions.h: Add new dispatchSVGLoadEventToOutermostSVGElements() helper.
640 * svg/SVGElement.cpp:
641 (WebCore::SVGElement::isOutermostSVGSVGElement): Moved from SVGSVGElement into SVGElement, and renamed from isOutermostSVG().
642 (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't dispatch load events to outermost <svg> elements, if Document::implicitClose() wasn't called yet.
643 (WebCore::SVGElement::finishParsingChildren): Stop using the default SVGLoad dispatching logic for outermost <svg> elements.
644 * svg/SVGElement.h: Add isOutermostSVGSVGElement().
645 * svg/SVGSVGElement.cpp: Rename isOutermostSVG to isOutermostSVGSVGElement.
646 (WebCore::SVGSVGElement::currentScale):
647 (WebCore::SVGSVGElement::setCurrentScale):
648 (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
649 (WebCore::SVGSVGElement::createRenderer):
650 * svg/SVGSVGElement.h: Move isOutermostSVG() to SVGElement.
651 * svg/SVGStyledElement.cpp:
652 (WebCore::SVGStyledElement::title): Rename isOutermostSVG to isOutermostSVGSVGElement.
654 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
656 Web Inspector: [CRASH] InspectorDOMAgent::updateTouchEventEmulationInPage()
657 https://bugs.webkit.org/show_bug.cgi?id=78090
659 Reviewed by Vsevolod Vlasov.
661 * inspector/InspectorDOMAgent.cpp:
662 (WebCore::InspectorDOMAgent::updateTouchEventEmulationInPage):
664 2012-02-07 Alexander Pavlov <apavlov@chromium.org>
666 Web Inspector: Closed computed style sidebar pane rebuilds, resulting in slowness
667 https://bugs.webkit.org/show_bug.cgi?id=77865
669 Reviewed by Pavel Feldman.
671 Test: inspector/styles/lazy-computed-style.html
673 * inspector/front-end/StylesSidebarPane.js:
674 (WebInspector.StylesSidebarPane):
675 (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
676 (WebInspector.StylesSidebarPane.prototype._refreshComputedStyleSection):
677 (WebInspector.ComputedStyleSidebarPane.prototype.expand):
678 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
680 2012-02-08 Tommy Widenflycht <tommyw@google.com>
682 MediaStream API: Adding the onstatechange callback to PeerConnection
683 https://bugs.webkit.org/show_bug.cgi?id=77954
685 When readyState changes a callback should be triggered.
687 Reviewed by Adam Barth.
689 Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
693 * mediastream/PeerConnection.cpp:
694 (WebCore::PeerConnection::changeReadyState):
695 * mediastream/PeerConnection.h:
697 (WebCore::PeerConnection::didChangeState):
698 * mediastream/PeerConnection.idl:
699 * platform/mediastream/PeerConnectionHandlerClient.h:
700 (PeerConnectionHandlerClient):
702 2012-02-08 Kentaro Hara <haraken@chromium.org>
704 Rename [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL
705 https://bugs.webkit.org/show_bug.cgi?id=77963
707 Reviewed by Adam Barth.
709 This patch renames [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL,
710 for clarification and for naming consistency with [NamedGetter] and [CustomIndexedSetter].
712 No tests. No change in behavior.
714 * bindings/scripts/CodeGeneratorJS.pm:
716 (GenerateImplementation):
717 * bindings/scripts/CodeGeneratorV8.pm:
718 (GenerateHeaderNamedAndIndexedPropertyAccessors):
719 (GenerateImplementationIndexer):
720 (GenerateImplementationNamedPropertyGetter):
721 * bindings/scripts/test/TestInterface.idl:
722 * css/CSSStyleDeclaration.idl:
723 * dom/DOMStringMap.idl:
724 * html/HTMLAppletElement.idl:
725 * html/HTMLEmbedElement.idl:
726 * html/HTMLObjectElement.idl:
729 * storage/Storage.idl:
731 2012-02-08 Kentaro Hara <haraken@chromium.org>
733 Replace [CheckNodeSecurity] with [CheckAccessToNode]
734 https://bugs.webkit.org/show_bug.cgi?id=77971
736 Reviewed by Adam Barth.
738 [CheckNodeSecurity] is not implemented by code generators.
739 This patch replaces [CheckNodeSecurity] with [CheckAccessToNode].
741 Test: http/tests/security/cross-frame-access-frameelement.html
743 * page/DOMWindow.idl:
745 2012-02-08 Kentaro Hara <haraken@chromium.org>
747 Rename [CustomPushEventHandlerScope] to [JSCustomPushEventHandlerScope]
748 https://bugs.webkit.org/show_bug.cgi?id=78081
750 Reviewed by Adam Barth.
752 [CustomPushEventHandlerScope] is a JSC-specific IDL attribute.
753 This patch renames it to [JSCustomPushEventHandlerScope]
755 No tests. No change in behavior.
757 * bindings/scripts/CodeGeneratorJS.pm:
760 * html/HTMLElement.idl:
762 2012-02-06 Kentaro Hara <haraken@chromium.org>
764 Add "JS" prefix to JSC-specific IDLs
765 https://bugs.webkit.org/show_bug.cgi?id=77846
767 Reviewed by Darin Adler.
769 In bug 77693, we have added "JS" prefix to several JSC specific IDLs.
770 This patch adds "JS" prefix to the remaining JSC specific IDLs.
771 Specifically, this patch renames IDLs as follows:
773 [CustomDefineOwnProperty] => [JSCustomDefineOwnProperty]
774 [CustomPrototypeDefineOwnProperty] => [JSCustomPrototypeDefineOwnProperty]
775 [GenerateNativeConverter] => [JSGenerateToNativeObject] (Note: For naming consistency
776 with [JSGenerateToJS] and [JSCustomToNativeObject])
777 [DelegatingGetOwnPropertySlot] => [JSCustomGetOwnPropertySlotDelegate] (Note: Should be prefixed "JS",
778 should be prefixed with "Custom", and for naming consistency with [CustomGetOwnPropertySlot])
780 No tests. No change in behavior.
782 * bindings/scripts/CodeGeneratorJS.pm:
783 (GenerateGetOwnPropertySlotBody):
784 (GenerateGetOwnPropertyDescriptorBody):
786 (GenerateImplementation):
787 * bindings/scripts/test/TestTypedArray.idl:
789 * dom/DataTransferItemList.idl:
791 * dom/DocumentType.idl:
794 * fileapi/DirectoryEntry.idl:
795 * fileapi/DirectoryEntrySync.idl:
797 * fileapi/FileEntry.idl:
798 * fileapi/FileEntrySync.idl:
799 * fileapi/WebKitBlobBuilder.idl:
800 * html/DOMFormData.idl:
802 * html/HTMLAppletElement.idl:
803 * html/HTMLCanvasElement.idl:
804 * html/HTMLElement.idl:
805 * html/HTMLEmbedElement.idl:
806 * html/HTMLImageElement.idl:
807 * html/HTMLMediaElement.idl:
808 * html/HTMLObjectElement.idl:
809 * html/HTMLOptionElement.idl:
810 * html/HTMLOptionsCollection.idl:
811 * html/HTMLTableCaptionElement.idl:
812 * html/HTMLTableSectionElement.idl:
813 * html/HTMLVideoElement.idl:
814 * html/TextTrackCue.idl:
815 * html/canvas/Float32Array.idl:
816 * html/canvas/Float64Array.idl:
817 * html/canvas/Int16Array.idl:
818 * html/canvas/Int32Array.idl:
819 * html/canvas/Int8Array.idl:
820 * html/canvas/Uint16Array.idl:
821 * html/canvas/Uint32Array.idl:
822 * html/canvas/Uint8Array.idl:
823 * html/canvas/Uint8ClampedArray.idl:
824 * mediastream/LocalMediaStream.idl:
825 * page/DOMWindow.idl:
828 * storage/StorageInfo.idl:
829 * svg/SVGElement.idl:
830 * svg/SVGElementInstance.idl:
831 * workers/DedicatedWorkerContext.idl:
832 * workers/SharedWorker.idl:
833 * workers/SharedWorkerContext.idl:
834 * workers/Worker.idl:
835 * workers/WorkerContext.idl:
837 2012-02-07 Kentaro Hara <haraken@chromium.org>
839 Rename [HasOverridingNameGetter] attribute to [CustomNamedGetter] attribute
840 https://bugs.webkit.org/show_bug.cgi?id=78076
842 Reviewed by Adam Barth.
844 This patch renames the [HasOverridingNameGetter] attribute to the
845 [CustomNamedGetter] attribute, for naming consistency with [CustomNamedSetter].
847 Test: bindings/scripts/test/TestCustomNamedGetter.idl
849 * bindings/scripts/CodeGeneratorJS.pm:
850 (GenerateGetOwnPropertySlotBody):
851 (GenerateGetOwnPropertyDescriptorBody):
853 (GenerateImplementation):
854 * bindings/scripts/CodeGeneratorV8.pm:
855 (GenerateHeaderNamedAndIndexedPropertyAccessors):
856 (GenerateImplementationNamedPropertyGetter):
858 * html/HTMLDocument.idl:
859 * html/HTMLFormElement.idl:
860 * html/HTMLFrameSetElement.idl:
862 * bindings/scripts/test/TestCustomNamedGetter.idl: Renamed from Source/WebCore/bindings/scripts/test/TestOverridingNameGetter.idl.
864 * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Updated run-bindings-tests results.
865 (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate::WebDOMTestCustomNamedGetterPrivate):
866 (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate):
867 (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetter):
868 (WebDOMTestCustomNamedGetter::operator=):
869 (WebDOMTestCustomNamedGetter::impl):
870 (WebDOMTestCustomNamedGetter::~WebDOMTestCustomNamedGetter):
871 (WebDOMTestCustomNamedGetter::anotherFunction):
874 * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Ditto.
876 (WebDOMTestCustomNamedGetter):
877 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp: Ditto.
880 (webkit_dom_test_custom_named_getter_another_function):
882 (webkit_dom_test_custom_named_getter_finalize):
883 (webkit_dom_test_custom_named_getter_set_property):
884 (webkit_dom_test_custom_named_getter_get_property):
885 (webkit_dom_test_custom_named_getter_constructed):
886 (webkit_dom_test_custom_named_getter_class_init):
887 (webkit_dom_test_custom_named_getter_init):
888 (WebKit::wrapTestCustomNamedGetter):
889 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h: Ditto.
890 (_WebKitDOMTestCustomNamedGetter):
891 (_WebKitDOMTestCustomNamedGetterClass):
892 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h: Ditto.
894 * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Ditto.
895 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
897 (WebCore::JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor):
898 (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
899 (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
900 (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
901 (WebCore::JSTestCustomNamedGetterPrototype::self):
902 (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot):
903 (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertyDescriptor):
904 (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
905 (WebCore::JSTestCustomNamedGetter::finishCreation):
906 (WebCore::JSTestCustomNamedGetter::createPrototype):
907 (WebCore::JSTestCustomNamedGetter::destroy):
908 (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
909 (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
910 (WebCore::jsTestCustomNamedGetterConstructor):
911 (WebCore::JSTestCustomNamedGetter::getConstructor):
912 (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
913 (WebCore::isObservable):
914 (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
915 (WebCore::JSTestCustomNamedGetterOwner::finalize):
917 (WebCore::toTestCustomNamedGetter):
918 * bindings/scripts/test/JS/JSTestCustomNamedGetter.h: Ditto.
920 (JSTestCustomNamedGetter):
921 (WebCore::JSTestCustomNamedGetter::create):
922 (WebCore::JSTestCustomNamedGetter::createStructure):
923 (WebCore::JSTestCustomNamedGetter::impl):
924 (WebCore::JSTestCustomNamedGetter::releaseImpl):
925 (WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):
926 (JSTestCustomNamedGetterOwner):
927 (WebCore::wrapperOwner):
928 (WebCore::wrapperContext):
929 (JSTestCustomNamedGetterPrototype):
930 (WebCore::JSTestCustomNamedGetterPrototype::create):
931 (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
932 (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
933 (JSTestCustomNamedGetterConstructor):
934 (WebCore::JSTestCustomNamedGetterConstructor::create):
935 (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
936 * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
937 * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Ditto.
938 * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Ditto.
939 (-[DOMTestCustomNamedGetter dealloc]):
940 (-[DOMTestCustomNamedGetter finalize]):
941 (-[DOMTestCustomNamedGetter anotherFunction:]):
944 * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Ditto.
946 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
948 (TestCustomNamedGetterInternal):
949 (WebCore::TestCustomNamedGetterInternal::V8_USE):
950 (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
951 (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
952 (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
953 (WebCore::V8TestCustomNamedGetter::GetTemplate):
954 (WebCore::V8TestCustomNamedGetter::HasInstance):
955 (WebCore::V8TestCustomNamedGetter::wrapSlow):
956 (WebCore::V8TestCustomNamedGetter::derefObject):
957 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: Ditto.
959 (V8TestCustomNamedGetter):
960 (WebCore::V8TestCustomNamedGetter::toNative):
961 (WebCore::V8TestCustomNamedGetter::existingWrapper):
962 (WebCore::V8TestCustomNamedGetter::wrap):
965 2012-02-07 Emil A Eklund <eae@chromium.org>
967 Revert TableSection cell and border calculations to integers
968 https://bugs.webkit.org/show_bug.cgi?id=77918
970 Reviewed by Eric Seidel.
972 Change RenderTableSection cell width, row height and border calculations
973 back to use integers. Table layout is done on integer bounds to comply
974 with the specification and to ensure that columns given the same width,
975 including percentage widths, are rendered with identical widths. The same
980 * rendering/RenderTableSection.cpp:
981 (WebCore::RenderTableSection::setCellLogicalWidths):
982 (WebCore::RenderTableSection::calcRowLogicalHeight):
983 (WebCore::RenderTableSection::layoutRows):
984 (WebCore::RenderTableSection::calcOuterBorderBefore):
985 (WebCore::RenderTableSection::calcOuterBorderAfter):
986 (WebCore::RenderTableSection::calcOuterBorderStart):
987 (WebCore::RenderTableSection::calcOuterBorderEnd):
988 (WebCore::RenderTableSection::paintObject):
989 (WebCore::RenderTableSection::nodeAtPoint):
990 * rendering/RenderTableSection.h:
991 (RenderTableSection):
992 (WebCore::RenderTableSection::RowStruct::RowStruct):
993 (WebCore::RenderTableSection::outerBorderBefore):
994 (WebCore::RenderTableSection::outerBorderAfter):
995 (WebCore::RenderTableSection::outerBorderStart):
996 (WebCore::RenderTableSection::outerBorderEnd):
998 2012-02-07 Robert Kroeger <rjkroege@chromium.org>
1000 [chromium] Remove the no longer necessary Chromium gesture recognizer.
1001 https://bugs.webkit.org/show_bug.cgi?id=77492
1003 Reviewed by Adam Barth.
1006 * platform/PlatformGestureRecognizer.h: Removed.
1007 * platform/chromium/FramelessScrollView.h:
1009 (FramelessScrollView):
1010 * platform/chromium/GestureRecognizerChromium.cpp: Removed.
1011 * platform/chromium/GestureRecognizerChromium.h: Removed.
1012 * platform/chromium/PopupContainer.cpp:
1014 * platform/chromium/PopupContainer.h:
1015 * platform/chromium/PopupListBox.cpp:
1017 * platform/chromium/PopupListBox.h:
1020 2012-02-07 Erik Arvidsson <arv@chromium.org>
1022 [V8] Allow bindings for attributes on DOM nodes to also set a named hidden reference
1023 https://bugs.webkit.org/show_bug.cgi?id=78052
1025 Reviewed by Nate Chapin.
1027 Before this patch the code generator did not add the named hidden reference when the data node
1028 was a DOM Node. This lead to us having to create custom toV8 bindings in a few places.
1030 Covered by existing tests
1035 * bindings/scripts/CodeGeneratorV8.pm:
1036 (GenerateNormalAttrGetter):
1037 (HasCustomToV8Implementation):
1038 * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1039 * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
1040 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1042 2012-02-07 Kentaro Hara <haraken@chromium.org>
1044 [GTK] Ignore [Custom] attributes in CodeGeneratorGObject.pm
1045 https://bugs.webkit.org/show_bug.cgi?id=78059
1047 Reviewed by Adam Barth.
1049 CodeGeneratorGObject.pm does not support custom attributes.
1050 We can skip generating code for attributes with [Custom].
1051 The change would make sense, since CodeGeneratorGObject.pm already
1052 skips attributes with [CustomGetter] or [CustomSetter].
1054 Test: bindings/scripts/test/TestObj.idl
1056 * bindings/scripts/CodeGeneratorGObject.pm:
1058 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1060 2012-02-07 Emil A Eklund <eae@chromium.org>
1062 Add pixelSnappedX/Y/Width/Height methods
1063 https://bugs.webkit.org/show_bug.cgi?id=78040
1065 Reviewed by Eric Seidel.
1067 Add pixel snapped versions of x/y/width/height methods. These return the
1068 same value as the x/w/width/height methods for now but once we move over
1069 to sub pixel layout they will snap the subpixel value to a device pixel
1070 and return an integer value.
1072 When snapping the left and top edge is simply rounded to the nearest
1074 The right and bottom edges are computed by subtracting the rounded left/
1075 top edge from the precise location and size. This ensures that the edges
1076 all line up with device pixels and that the total size of an object,
1077 including borders, is at most one pixel off.
1079 In summary, the values are computed as follows:
1082 maxX: round(x + width)
1083 maxY: round(y + height)
1084 width: round(x + width) - round(x)
1085 height: round(y + height) - round(y)
1087 We use the term pixel snapped to indicate that the numbers are not merely
1088 rounded. This also matches the naming used by the line box tree.
1090 No new tests, no functionality changes.
1092 * page/PrintContext.cpp:
1093 (WebCore::PrintContext::pageNumberForElement):
1094 * rendering/RenderBlock.cpp:
1095 (WebCore::::collectIfNeeded):
1096 * rendering/RenderBlock.h:
1098 (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
1099 (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
1100 (WebCore::RenderBlock::FloatingObject::pixelSnappedX):
1101 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
1102 (WebCore::RenderBlock::FloatingObject::pixelSnappedY):
1103 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
1104 (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
1105 (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
1107 (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
1108 (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
1109 (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
1110 (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
1111 * rendering/RenderBlockLineLayout.cpp:
1112 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1113 * rendering/RenderBox.cpp:
1114 (WebCore::RenderBox::pixelSnappedClientWidth):
1116 (WebCore::RenderBox::pixelSnappedClientHeight):
1117 (WebCore::RenderBox::scrollHeight):
1118 * rendering/RenderBox.h:
1119 (WebCore::RenderBox::pixelSnappedWidth):
1120 (WebCore::RenderBox::pixelSnappedHeight):
1122 (WebCore::RenderBox::pixelSnappedOffsetWidth):
1123 (WebCore::RenderBox::pixelSnappedOffsetHeight):
1124 (WebCore::RenderBox::clientLogicalWidth):
1125 (WebCore::RenderBox::clientLogicalHeight):
1126 * rendering/RenderBoxModelObject.cpp:
1127 (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
1129 (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
1130 * rendering/RenderBoxModelObject.h:
1131 (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
1132 (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
1133 (RenderBoxModelObject):
1134 * rendering/RenderLayer.cpp:
1135 (WebCore::RenderLayer::pixelSnappedScrollWidth):
1137 (WebCore::RenderLayer::pixelSnappedScrollHeight):
1138 (WebCore::RenderLayer::computeScrollDimensions):
1139 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1140 * rendering/RenderLayer.h:
1142 * rendering/RenderListBox.cpp:
1143 (WebCore::RenderListBox::scrollHeight):
1144 * rendering/RenderTheme.cpp:
1145 (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
1146 * rendering/RenderTreeAsText.cpp:
1149 2012-02-07 Mike Lawther <mikelawther@chromium.org>
1151 CSS3 calc() - simple parse time evaluation
1152 https://bugs.webkit.org/show_bug.cgi?id=77960
1154 Adds simple number/percent expression evaluation. rgb() and hsl() functions now
1155 allow simple calc() expressions.
1157 Reviewed by Ojan Vafai.
1159 * css/CSSCalculationValue.cpp:
1161 (WebCore::CSSCalcValue::doubleValue):
1162 (WebCore::CSSCalcPrimitiveValue::doubleValue):
1163 (WebCore::CSSCalcBinaryOperation::doubleValue):
1164 (CSSCalcBinaryOperation):
1165 (WebCore::CSSCalcBinaryOperation::evaluate):
1166 * css/CSSCalculationValue.h:
1167 (CSSCalcExpressionNode):
1168 (WebCore::CSSCalcValue::isInt):
1170 * css/CSSParser.cpp:
1171 (WebCore::CSSParser::parsedDouble):
1173 2012-02-07 Andreas Kling <awesomekling@apple.com>
1175 REGRESSION(r106668-r106889): Chromium page cycler tests (Intl2) performance regressions.
1176 <http://webkit.org/b/78068>
1178 Reviewed by Ryosuke Niwa.
1180 Create CSS_IDENT values for attribute styles in the document's CSSValuePool.
1181 This regressed in r106756 and I suspect it'll fix up the cycler regression.
1183 * dom/StyledElement.cpp:
1184 (WebCore::StyledElement::addCSSProperty):
1186 2012-02-07 Noel Gordon <noel.gordon@gmail.com>
1188 Remove TextureMapperQt from the gyp projects
1189 https://bugs.webkit.org/show_bug.cgi?id=78055
1191 Reviewed by Noam Rosenthal.
1193 TextureMapperQt.{cpp,h} were removed in r106659, remove references to
1194 these files from the gyp projects.
1198 2012-02-07 Tony Chang <tony@chromium.org>
1200 merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
1201 https://bugs.webkit.org/show_bug.cgi?id=78036
1203 Reviewed by Darin Adler.
1205 In r89362, we started running the preprocessor through CSSPropertyNames.in.
1206 Now we can move DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
1207 and wrap it in an #if.
1209 No new tests, build refactoring.
1211 * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
1212 * DerivedSources.make: Remove DashboardSupportCSSPropertyNames.in.
1213 * DerivedSources.pri: Remove DashboardSupportCSSPropertyNames.in.
1214 * WebCore.xcodeproj/project.pbxproj: Remove DashboardSupportCSSPropertyNames.in.
1215 * css/CSSPropertyNames.in: Wrap -webkit-dashboard-region in an #if.
1216 * css/DashboardSupportCSSPropertyNames.in: Removed.
1218 2012-02-07 Xingnan Wang <xingnan.wang@intel.com>
1220 Enable IPP for FFTFrame
1221 https://bugs.webkit.org/show_bug.cgi?id=75522
1223 Reviewed by Tony Chang.
1225 Add the FFTFrame implementation using Intel IPP's DFT algorithm.
1227 * WebCore.gyp/WebCore.gyp:
1229 * platform/audio/FFTFrame.h:
1231 * platform/audio/FFTFrameStub.cpp:
1232 * platform/audio/ipp/FFTFrameIPP.cpp: Added.
1234 (WebCore::FFTFrame::FFTFrame):
1235 (WebCore::FFTFrame::initialize):
1236 (WebCore::FFTFrame::cleanup):
1237 (WebCore::FFTFrame::~FFTFrame):
1238 (WebCore::FFTFrame::multiply):
1239 (WebCore::FFTFrame::doFFT):
1240 (WebCore::FFTFrame::doInverseFFT):
1241 (WebCore::FFTFrame::realData):
1242 (WebCore::FFTFrame::imagData):
1243 (WebCore::FFTFrame::getUpToDateComplexData):
1245 2012-02-07 Adrienne Walker <enne@google.com>
1247 Properly detect top level frames when propogating compositing
1248 https://bugs.webkit.org/show_bug.cgi?id=78033
1250 Reviewed by James Robinson.
1252 There's no need to enumerate all tag names when searching for a
1253 top-level frame. If a render view's document has a frame, then that
1254 frame is not the top-level one.
1256 * rendering/RenderLayerCompositor.cpp:
1257 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
1258 * rendering/RenderLayerCompositor.h:
1259 (RenderLayerCompositor):
1261 2012-02-07 Chris Palmer <palmer@google.com>
1263 Resolve crash in FrameLoader::checkTimerFired.
1264 https://bugs.webkit.org/show_bug.cgi?id=77907
1266 Reviewed by Eric Seidel.
1268 Test is LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html.
1270 * loader/FrameLoader.cpp:
1271 (WebCore::FrameLoader::checkTimerFired):
1273 2012-02-07 Yong Li <yoli@rim.com>
1275 [BlackBerry] NetworkJob should stop redirecting when the request is cleared by client
1276 https://bugs.webkit.org/show_bug.cgi?id=78029
1278 Reviewed by Rob Buis.
1280 When a redirect is rejected by security origin check, the ResourceRequest
1281 will be cleared (see DocumentThreadableLoader::redirectReceived()). In this
1282 case, we should stop handling the request.
1284 No new tests because existing tests (like http:/tests/xmlhttprequest/redirect-cross
1285 -origin-tripmine.html) can cover this.
1287 * platform/network/blackberry/NetworkJob.cpp:
1288 (WebCore::NetworkJob::startNewJobWithRequest):
1290 2012-02-07 David Barton <dbarton@mathscribe.com>
1292 Remove extraneous MathML code before bug 52444 fix
1293 https://bugs.webkit.org/show_bug.cgi?id=78034
1295 Reviewed by Eric Seidel.
1297 Per Darin Adler, I am breaking up the patch fixing bug 52444 into smaller pieces.
1298 This patch removes a couple unused functions, some extra blank lines, unused #include
1299 directives, etc., and adds a very few WebKit-standard changes to these files.
1303 * rendering/mathml/RenderMathMLBlock.cpp:
1305 * rendering/mathml/RenderMathMLBlock.h:
1306 (WebCore::RenderMathMLBlock::getBoxModelObjectHeight):
1307 - changed to a static member function since 'this' is unused;
1308 removed redundant non-const version
1309 (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
1310 - changed to a static member function since 'this' is unused;
1311 removed redundant non-const version
1313 * rendering/mathml/RenderMathMLFraction.cpp:
1314 * rendering/mathml/RenderMathMLMath.cpp:
1315 * rendering/mathml/RenderMathMLMath.h:
1316 * rendering/mathml/RenderMathMLOperator.h:
1318 * rendering/mathml/RenderMathMLRoot.cpp:
1319 * rendering/mathml/RenderMathMLRow.cpp:
1320 * rendering/mathml/RenderMathMLRow.h:
1321 * rendering/mathml/RenderMathMLSquareRoot.cpp:
1322 * rendering/mathml/RenderMathMLSquareRoot.h:
1323 * rendering/mathml/RenderMathMLSubSup.cpp:
1324 * rendering/mathml/RenderMathMLSubSup.h:
1325 * rendering/mathml/RenderMathMLUnderOver.cpp:
1326 * rendering/mathml/RenderMathMLUnderOver.h:
1328 2012-02-07 David Reveman <reveman@chromium.org>
1330 [Chromium] REGRESSION(r101854): Causing large amounts of unnecessary repainting.
1331 https://bugs.webkit.org/show_bug.cgi?id=78020
1333 Reviewed by James Robinson.
1337 This patch is tested by the following unit test:
1338 - TextureManagerTest.requestTextureExceedingPreferredLimit
1340 * platform/graphics/chromium/ManagedTexture.cpp:
1341 (WebCore::ManagedTexture::reserve):
1342 * platform/graphics/chromium/TextureManager.cpp:
1343 (WebCore::TextureManager::requestTexture):
1344 * platform/graphics/chromium/TextureManager.h:
1347 2012-02-07 Anders Carlsson <andersca@apple.com>
1349 Use the non-fast-scrollable region to detect when we can't do fast scrolling
1350 https://bugs.webkit.org/show_bug.cgi?id=78056
1351 <rdar://problem/10247932>
1353 Reviewed by Sam Weinig.
1355 * page/scrolling/ScrollingCoordinator.cpp:
1356 (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1357 Actually set the non-fast scrollable region on the scrolling tree state.
1359 * page/scrolling/ScrollingTree.cpp:
1360 (WebCore::ScrollingTree::tryToHandleWheelEvent):
1361 Check if the wheel event's position is inside the non-fast-scrollable region
1362 and return false if it is.
1364 (WebCore::ScrollingTree::updateMainFrameScrollPosition):
1365 Store the cached main frame scroll position so we can use it in tryToHandleWheelEvent.
1367 * platform/graphics/Region.cpp:
1368 * platform/graphics/Region.h:
1369 Add a simple contains(const IntPoint&) member function.
1371 2012-02-07 Dan Bernstein <mitz@apple.com>
1373 <rdar://problem/10475450> Synthetic bold is illegible under some scaling transforms
1374 https://bugs.webkit.org/show_bug.cgi?id=78044
1376 Reviewed by Beth Dakin.
1378 Tests: fast/text/synthetic-bold-transformed-expected.html
1379 fast/text/synthetic-bold-transformed.html
1381 * platform/graphics/mac/FontMac.mm:
1382 (WebCore::Font::drawGlyphs): Changed to interpret syntheticBoldOffset as a length in device pixels.
1384 2012-02-07 Levi Weintraub <leviw@chromium.org>
1386 Update LayoutUnit usage in ColumnInfo and RenderFrameSet
1387 https://bugs.webkit.org/show_bug.cgi?id=77914
1389 Reviewed by Eric Seidel.
1391 Updating ColumnInfo and RenderFrameSet to use LayoutUnits
1392 instead of directly referencing integers for locations and
1395 No new tests. No changed behavior.
1397 * rendering/ColumnInfo.h:
1398 (WebCore::ColumnInfo::forcedBreakOffset):
1399 (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
1401 * rendering/RenderFrameSet.cpp:
1402 (WebCore::RenderFrameSet::paintColumnBorder):
1403 (WebCore::RenderFrameSet::paintRowBorder):
1404 * rendering/RenderFrameSet.h:
1407 2012-02-07 Adam Klein <adamk@chromium.org>
1409 Add JSC support for delivering mutations when the outermost script context exits
1410 https://bugs.webkit.org/show_bug.cgi?id=70289
1412 Reviewed by Eric Seidel.
1414 The meat of this change is in JSMainThreadExecState, where a counter
1415 is incremented every time WebCore calls into JSC and decremented every
1416 time it returns. When the counter reaches zero, any pending mutations
1417 are delivered (this mirrors very similar code in V8Proxy and V8RecursionScope).
1419 The rest of the changes are of two sorts: compilation/logic fixes for
1420 JSC code when ENABLE(MUTATION_OBSERVERS) is true, and additional
1421 usages of JSMainThreadExecState so as to trigger the above
1422 increment/decrements at the appropriate times.
1424 * bindings/js/JSCustomXPathNSResolver.cpp:
1425 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1426 Use JSMainThreadExecState instead of JSC::call.
1427 * bindings/js/JSDictionary.cpp:
1428 (WebCore::JSDictionary::convertValue): Add support
1429 for tryGetProperty with a HashMap<AtomicString>.
1430 * bindings/js/JSDictionary.h:
1431 * bindings/js/JSErrorHandler.cpp:
1432 (WebCore::JSErrorHandler::handleEvent):
1433 Use JSMainThreadExecState instead of JSC::call.
1434 * bindings/js/JSHTMLDocumentCustom.cpp:
1435 (WebCore::JSHTMLDocument::open):
1436 Use JSMainThreadExecState instead of JSC::call.
1437 * bindings/js/JSMainThreadExecState.cpp:
1438 (WebCore::JSMainThreadExecState::didLeaveScriptContext):
1439 * bindings/js/JSMainThreadExecState.h:
1440 (WebCore::JSMainThreadExecState::JSMainThreadExecState):
1441 Increment a static recursion level counter.
1442 (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
1443 Decrement a static recursion level counter and, if we are
1444 at zero (the outermost script invocation), deliver any
1445 outstanding mutation records.
1446 * bindings/js/JSNodeFilterCondition.cpp:
1447 (WebCore::JSNodeFilterCondition::acceptNode):
1448 Use JSMainThreadExecState instead of JSC::call.
1449 * bindings/js/JSWebKitMutationObserverCustom.cpp:
1450 (WebCore::JSWebKitMutationObserver::observe):
1451 Fix JSDictionary logic, add support for attributeFilter.
1453 2012-02-07 Anders Carlsson <andersca@apple.com>
1457 * platform/ScrollableArea.h:
1458 (WebCore::ScrollableArea::scrollableAreaBoundingBox):
1460 2012-02-07 Levi Weintraub <leviw@chromium.org>
1462 [SVG] Use element disappears after scripted change
1463 https://bugs.webkit.org/show_bug.cgi?id=74392
1465 Reviewed by Eric Seidel.
1467 Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
1468 SVGUseElements to not update the shadow root's style, and therefor not render
1471 Test: svg/custom/use-disappears-after-style-update.svg
1473 * svg/SVGUseElement.cpp:
1474 (WebCore::SVGUseElement::didRecalcStyle):
1476 2012-02-07 Kentaro Hara <haraken@chromium.org>
1478 Rename [v8OnProto] IDL attribute to [V8OnProto] IDL attribute
1479 https://bugs.webkit.org/show_bug.cgi?id=77973
1481 Reviewed by Adam Barth.
1483 This patch renames [v8OnProto] to [V8OnProto], since V8 specific IDL
1484 attributes should be prefixed by "V8".
1486 No tests. No change in behavior.
1488 * bindings/scripts/CodeGeneratorV8.pm:
1489 (GenerateNormalAttrGetter):
1490 (GenerateNormalAttrSetter):
1491 (GenerateSingleBatchedAttribute):
1492 (GenerateImplementation):
1494 2011-10-10 Jer Noble <jer.noble@apple.com>
1496 media/audio-data-url.html test broken on Lion
1497 https://bugs.webkit.org/show_bug.cgi?id=69779
1499 Reviewed by Eric Carlson.
1501 Do not use "OpenForPlayback" attribute on data:// urls, as CoreMedia/QuickTime X cannot
1504 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1505 (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1507 2012-02-07 Anders Carlsson <andersca@apple.com>
1509 Scrolling tree should keep track of region we can't do fast scrolling for
1510 https://bugs.webkit.org/show_bug.cgi?id=78050
1512 Reviewed by Dan Bernstein.
1514 We currently won't do fast scrolling for subframes and other types of scrollable areas.
1515 Because of this, we'll have the scrolling tree keep a region of the page for which we can't
1516 do fast scrolling. This region will be updated after layout.
1518 * page/FrameView.cpp:
1519 (WebCore::FrameView::scrollableAreaBoundingBox):
1520 Return the bounding box.
1522 * page/scrolling/ScrollingCoordinator.cpp:
1523 (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1524 Go through all the scrollable areas in this frame view and compute the region which we can't do
1527 * page/scrolling/ScrollingTree.cpp:
1528 (WebCore::ScrollingTree::commitNewTreeState):
1529 Update the non-fast-scrollable region.
1531 * page/scrolling/ScrollingTreeState.cpp:
1532 (WebCore::ScrollingTreeState::setNonFastScrollableRegion):
1533 Set the non-fast-scrollable region if it's changed.
1535 * platform/ScrollableArea.h:
1536 Add scrollableAreaBoundingBox member function.
1538 * rendering/RenderLayer.cpp:
1539 (WebCore::RenderLayer::scrollableAreaBoundingBox):
1540 Return the bounding box.
1542 * rendering/RenderListBox.cpp:
1543 (WebCore::RenderListBox::scrollableAreaBoundingBox):
1544 Return the bounding box.
1546 2012-02-07 Levi Weintraub <leviw@chromium.org>
1548 unicode-bidi:plaintext is supposed to be effective on display:inline elements too
1549 https://bugs.webkit.org/show_bug.cgi?id=73310
1551 Reviewed by Eric Seidel.
1553 Adding support for unicode-bidi: plaintext as a property on inlines. These are treated
1554 like unicode-bidi: isolate with the addition of their directionality being determined
1557 Tests: fast/text/international/inline-plaintext-is-isolated-expected.html
1558 fast/text/international/inline-plaintext-is-isolated.html
1559 fast/text/international/inline-plaintext-relayout-with-leading-neutrals-expected.html
1560 fast/text/international/inline-plaintext-relayout-with-leading-neutrals.html
1561 fast/text/international/inline-plaintext-with-generated-content-expected.html
1562 fast/text/international/inline-plaintext-with-generated-content.html
1564 * platform/text/UnicodeBidi.h:
1565 (WebCore::isIsolated): Added this convenience function as Plaintext and Isolate Unicode-Bidi values
1566 are both treated as isolated content.
1567 * rendering/InlineIterator.h:
1568 (WebCore::notifyObserverEnteredObject): Inline now supports Unicode-Bidi Plaintext.
1569 (WebCore::notifyObserverWillExitObject): Ditto.
1570 (WebCore::bidiFirstSkippingEmptyInlines): Changed to support being called without a resolver.
1571 (WebCore::isIsolatedInline): Inline now supports Unicode-Bidi: Plaintext.
1572 * rendering/RenderBlockLineLayout.cpp:
1573 (WebCore::determineDirectionality): Generalized for inlines.
1574 (WebCore::constructBidiRuns): Added support for Unicode-Bidi: Plaintext as an isolated inline.
1575 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Fixed comment.
1576 (WebCore::RenderBlock::determineStartPosition): Fixed comment and switched to updated
1577 bidiFirstSkippingEmptyInlines.
1579 2012-02-07 Kentaro Hara <haraken@chromium.org>
1581 [Refactoring] Use the [IsWorkerContext] IDL in CodeGeneratorV8.pm
1582 https://bugs.webkit.org/show_bug.cgi?id=77957
1584 Reviewed by Adam Barth.
1586 This patch replaces IsSubType("WorkerContext") and something equivalent that
1587 with the [IsWorkerContext] IDL.
1589 No tests. No change in behavior.
1591 * bindings/scripts/CodeGeneratorV8.pm:
1592 (GetInternalFields):
1593 (GenerateConstructorGetter):
1594 (GenerateImplementation):
1596 2012-02-07 David Reveman <reveman@chromium.org>
1598 [Chromium] Crash when using per-tile painting on Windows.
1599 https://bugs.webkit.org/show_bug.cgi?id=75715
1601 Reviewed by James Robinson.
1603 PlatformCanvas constructor on win32 expects forth argument to be a
1604 shared section handle. Passing a pointer to a system memory causes
1605 it to crash. Fix this by not using the PlatformCanvas API for
1606 SkCanvas construction in per-tile texture uploader.
1608 Tested with manual tests.
1610 * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
1611 (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
1612 (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
1613 * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
1616 2012-02-07 Jer Noble <jer.noble@apple.com>
1618 Unreviewed build fix; make OSStatus the explicit return type for CMTimebase functions.
1620 * platform/mac/PlatformClockCM.mm:
1622 2012-02-07 James Robinson <jamesr@chromium.org>
1624 [chromium] Allow retaining texture across frames in composited video playback and correctly handle lost context
1625 https://bugs.webkit.org/show_bug.cgi?id=77923
1627 Reviewed by Kenneth Russell.
1629 Thanks to r106840, we can improve the video playback mode a bit. Instead of creating a new texture on every
1630 frame, this attempts to reuse the texture from the previous frame unless the context is lost. Also improves
1631 error checking in case the TextureManager cannot successfully reserve memory for the texture.
1633 Tested manually by killing the GPU process with an html5 video playing and verifying that the video playback
1634 continues and that we don't create a new set of textures for each plane on each frame.
1636 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1637 (WebCore::CCVideoLayerImpl::draw):
1638 (WebCore::CCVideoLayerImpl::reserveTextures):
1640 2012-02-07 Matthew Delaney <mdelaney@apple.com>
1642 https://bugs.webkit.org/show_bug.cgi?id=77912
1643 Removing old CG shadow code.
1645 A CG-specific shadow offset hack was added in http://trac.webkit.org/changeset/34317
1646 for this particular setShadow method. However, this shadow offset adjustment for CG
1647 has since moved down into platform specific code. Thus, this offset adjustment here
1650 The CG-only shadow setting code block in this setShadow method is now redundant.
1651 Since it sets the shadow values to the CGContext directly - and not to the State object -
1652 it will be overwritten later by any subsequent calls to setting shadow values such as
1653 blur, offset, or shadow color.
1655 Reviewed by Simon Fraser.
1657 No new tests. Current canvas tests cover this path.
1659 * html/canvas/CanvasRenderingContext2D.cpp:
1660 (WebCore::CanvasRenderingContext2D::setShadow):
1662 2012-02-07 James Robinson <jamesr@chromium.org>
1664 [chromium] Gracefully handle compositor initialization failure in single-threaded proxy
1665 https://bugs.webkit.org/show_bug.cgi?id=78013
1667 Reviewed by Kenneth Russell.
1669 If compositor initialization fails it's not safe to proceed through the rest of the frame process. This adds
1672 Tested manually by forcing the first makeContextCurrent() call fail.
1674 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1675 (WebCore::CCLayerTreeHost::updateLayers):
1676 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1678 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1679 (WebCore::CCSingleThreadProxy::compositeAndReadback):
1680 (WebCore::CCSingleThreadProxy::compositeImmediately):
1681 (WebCore::CCSingleThreadProxy::commitIfNeeded):
1682 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1683 (CCSingleThreadProxy):
1685 2012-02-07 Brady Eidson <beidson@apple.com>
1687 <rdar://problem/9567286> and https://bugs.webkit.org/show_bug.cgi?id=78003
1688 WebKit associates credentials with the wrong site if the authentication challenge takes place after a redirect chain
1690 Reviewed by Alexey Proskuryakov.
1692 Test: http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html
1694 Associate the credential with the URL of the challenge itself, not the original request:
1695 * platform/network/cf/ResourceHandleCFNet.cpp:
1696 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1697 (WebCore::ResourceHandle::receivedCredential):
1698 * platform/network/mac/ResourceHandleMac.mm:
1699 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1700 (WebCore::ResourceHandle::receivedCredential):
1702 2012-02-07 Tony Chang <tony@chromium.org>
1704 move warning about css values and render style constants closer to where it applies
1705 https://bugs.webkit.org/show_bug.cgi?id=78017
1707 Reviewed by Darin Adler.
1709 Move the warning about keeping RenderStyleConstnats.h enums and
1710 CSSValueKeywords.in values in the same order closer to the properties
1711 that the warning applies to. The warning was easy to miss and was
1712 confusing since it doesn't apply to most values.
1714 Also refactor 2 conversion functions to
1715 enumerate the possible values so the order doesn't matter.
1717 No new tests, just refactoring and comment cleanup.
1719 * css/CSSPrimitiveValueMappings.h:
1720 (WebCore::CSSPrimitiveValue::operator EListStylePosition): Name all possible values and add a NOT_REACHED().
1721 (WebCore::CSSPrimitiveValue::operator EUserModify): Name all possible values and add a NOT_REACHED().
1722 * css/CSSValueKeywords.in:
1723 * css/SVGCSSPropertyNames.in:
1724 * css/SVGCSSValueKeywords.in:
1725 * rendering/style/RenderStyleConstants.h:
1727 2012-02-06 Jer Noble <jer.noble@apple.com>
1729 Use CMClock as a timing source for PlatformClock where available.
1730 https://bugs.webkit.org/show_bug.cgi?id=77885
1732 Reviewed by Eric Carlson.
1734 No new tests; performance improvement covered by existing test cases.
1736 * WebCore.xcodeproj/project.pbxproj:
1737 * platform/Clock.cpp:
1738 (Clock::create): Use PlatformClockCM if available.
1739 * platform/mac/PlatformClockCM.h: Added.
1740 (WebCore::PlatformClockCM::playRate):
1741 (WebCore::PlatformClockCM::isRunning):
1742 * platform/mac/PlatformClockCM.mm: Added.
1743 (PlatformClockCM::PlatformClockCM):
1744 (PlatformClockCM::initializeWithTimingSource):
1745 (PlatformClockCM::setCurrentTime):
1746 (PlatformClockCM::currentTime):
1747 (PlatformClockCM::setPlayRate):
1748 (PlatformClockCM::start):
1749 (PlatformClockCM::stop):
1751 2012-02-06 Anders Carlsson <andersca@apple.com>
1753 ScrollableAreaSet should be moved from Page to FrameView
1754 https://bugs.webkit.org/show_bug.cgi?id=62762
1756 Reviewed by Beth Dakin.
1758 It makes more sense for the set of scrollable areas to be per frame view instead of per page;
1759 scrollable areas are associated with a containing frame view and their lifecycle follows the lifecycle of the
1760 frame view much more closely. This could even fix a bunch of crashes where a scrollable area outlived its containing page.
1763 Replace the Page member functions with FrameView member functions instead.
1765 * page/EventHandler.cpp:
1766 (WebCore::EventHandler::mouseMoved):
1767 Check if the frame view contains the given layer.
1769 (WebCore::EventHandler::updateMouseEventTargetNode):
1772 * page/FocusController.cpp:
1773 (WebCore::contentAreaDidShowOrHide):
1774 Add helper function.
1776 (WebCore::FocusController::setContainingWindowIsVisible):
1777 Call contentAreaDidShowOrHide for the main frame view, and for all scrollable areas
1778 inside all subframe views.
1780 * page/FrameView.cpp:
1781 (WebCore::FrameView::FrameView):
1782 Use early returns to make the code more clear. Also, don't add the scrollable area to the set here.
1784 (WebCore::FrameView::~FrameView):
1785 Don't remove the scrollable area here.
1787 (WebCore::FrameView::zoomAnimatorTransformChanged):
1788 m_page is gone so use m_frame->page() instead.
1790 (WebCore::FrameView::setAnimatorsAreActive):
1791 Call ScrollAnimator::setIsActive for all the scrollable areas in this frame view. Previously we used to do
1792 this for all scrollable areas on the page, but since setAnimatorsAreActive will be called for each document,
1793 this will be done implicitly.
1795 (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
1796 Call ScrollableArea::contentDidPaint for this frame view and all its immediate scrollable areas. Previously, we used
1797 to do this for all scrollable areas on the page, but we only need to do it for this frame view.
1799 (WebCore::FrameView::scrollAnimatorEnabled):
1800 Get the page from m_frame since m_page is gone.
1802 (WebCore::FrameView::addScrollableArea):
1803 (WebCore::FrameView::removeScrollableArea):
1804 (WebCore::FrameView::containsScrollableArea):
1805 Move these member functions here from Page.
1807 (WebCore::FrameView::addChild):
1808 If we are adding a frame view, add it to the scrollable area set.
1810 (WebCore::FrameView::removeChild):
1811 If we are removing a frame view, remove it from the scrollable area set.
1814 Move the member function declarations and the scrollable area set member variable here from Page.
1817 (WebCore::Page::~Page):
1818 Don't call disconnectPage on the scrollable areas anymore.
1820 * platform/ScrollView.h:
1822 Make addChild and removeChild virtual.
1824 * platform/ScrollableArea.h:
1825 Remove disconnectFromPage.
1827 * rendering/RenderLayer.cpp:
1828 (WebCore::RenderLayer::RenderLayer):
1829 (WebCore::RenderLayer::~RenderLayer):
1830 (WebCore::RenderLayer::styleChanged):
1831 The frame view now keeps track of the scrollable areas.
1833 * rendering/RenderLayer.h:
1834 Remove the page member variable and disconnectFromPage.
1836 * rendering/RenderListBox.cpp:
1837 (WebCore::RenderListBox::RenderListBox):
1838 (WebCore::RenderListBox::~RenderListBox):
1839 The frame view now keeps track of the scrollable areas.
1841 * rendering/RenderListBox.h:
1842 Remove the page member variable and disconnectFromPage.
1844 2012-02-07 Matthew Delaney <mdelaney@apple.com>
1846 Remove redundant checks in CanvasRenderingContext2D.cpp
1847 https://bugs.webkit.org/show_bug.cgi?id=78000
1849 Reviewed by Dan Bernstein.
1851 * html/canvas/CanvasRenderingContext2D.cpp:
1852 (WebCore::CanvasRenderingContext2D::setShadowColor):
1853 (WebCore::CanvasRenderingContext2D::setShadow):
1854 (WebCore::CanvasRenderingContext2D::drawImage):
1856 2012-02-07 Abhishek Arya <inferno@chromium.org>
1858 Crash in ContainerNode functions due to mutation events.
1859 https://bugs.webkit.org/show_bug.cgi?id=77999
1861 Reviewed by Ryosuke Niwa.
1863 Add RefPtr to protect premature deletion of this due to mutation events.
1865 Tests: fast/dom/remove-body-during-body-replacement.html
1866 fast/dom/remove-body-during-body-replacement2.html
1868 * dom/ContainerNode.cpp:
1869 (WebCore::ContainerNode::insertBefore):
1870 (WebCore::ContainerNode::replaceChild):
1871 (WebCore::ContainerNode::removeChild):
1872 (WebCore::ContainerNode::appendChild):
1874 2012-02-07 Dana Jansens <danakj@chromium.org>
1876 [Chromium] Memory bug during occlusion tracking if Vector::append() needs to reallocate the buffer
1877 https://bugs.webkit.org/show_bug.cgi?id=77996
1879 Reviewed by James Robinson.
1881 We're holding onto the last element in the Vector and then calling
1882 append(). If append() reallocates the Vector's buffer, the pointer
1885 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1886 (WebCore::enterTargetRenderSurface):
1888 2012-02-07 Abhishek Arya <inferno@chromium.org>
1890 Crash due to column style not updated on post block
1892 https://bugs.webkit.org/show_bug.cgi?id=77939
1894 Reviewed by Julien Chaffraix.
1896 Test: fast/multicol/span/split-inline-wrong-post-block-crash.html
1898 * rendering/RenderInline.cpp:
1899 (WebCore::RenderInline::splitFlow):
1901 2012-02-07 Peter Rybin <peter.rybin@gmail.com>
1903 Web Inspector: CodeGeneratorInspector.py: extend Array validator functionality
1904 https://bugs.webkit.org/show_bug.cgi?id=77919
1906 Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-07
1907 Reviewed by Yury Semikhatsky.
1909 Array validator method runtimeCast is added, internal backing method
1910 is moved from .cpp to .h (it's template anyway), boolean validator is
1913 * inspector/CodeGeneratorInspector.py:
1914 (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
1915 (RawTypes.Bool.get_validate_method_params):
1918 2012-02-07 Dean Jackson <dino@apple.com>
1920 Apple/Safari: Enable WebGL multisampling on ATI cards
1921 for OS X 10.7.2 and above.
1922 https://bugs.webkit.org/show_bug.cgi?id=77922
1924 Address review comments by Alexey Proskuryakov and Mark Rowe.
1926 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1927 (WebCore::systemAllowsMultisamplingOnATICards):
1929 2012-02-07 Dean Jackson <dino@apple.com>
1931 Apple/Safari: Enable WebGL multisampling on ATI cards
1932 for OS X 10.7.2 and above.
1933 https://bugs.webkit.org/show_bug.cgi?id=77922
1935 Reviewed by Chris Marrin.
1937 Follow Chrome's lead to allow WebGL antialiasing
1938 on ATI cards as long as we're on 10.7.2 and above.
1940 No new tests. Covered by existing tests.
1942 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1943 (WebCore::systemAllowsMultisamplingOnATICards):
1945 (WebCore::GraphicsContext3D::validateAttributes):
1947 2012-02-07 Pavel Feldman <pfeldman@google.com>
1949 Web Inspector: add generic support for undo-ing DOM edits.
1950 https://bugs.webkit.org/show_bug.cgi?id=77875
1952 Reviewed by Yury Semikhatsky.
1954 This change introduces InspectorHistory::Action that encapsulates all DOM modifications
1955 initiated by the inspector. There is a way to undo these actions up until the undoable
1958 Tests: inspector/elements/undo-dom-edits-2.html
1959 inspector/elements/undo-dom-edits.html
1960 inspector/styles/undo-add-property.html
1961 inspector/styles/undo-change-property.html
1962 inspector/styles/undo-property-toggle.html
1965 * GNUmakefile.list.am:
1968 * WebCore.vcproj/WebCore.vcproj:
1969 * WebCore.xcodeproj/project.pbxproj:
1970 * inspector/Inspector.json:
1971 * inspector/InspectorAllInOne.cpp:
1972 * inspector/InspectorCSSAgent.cpp:
1973 (InspectorCSSAgent::StyleSheetAction):
1974 (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
1975 (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
1976 (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
1978 (InspectorCSSAgent::SetStyleSheetTextAction):
1979 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
1980 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
1981 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
1982 (InspectorCSSAgent::SetPropertyTextAction):
1983 (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
1984 (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
1985 (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
1986 (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
1987 (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
1988 (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
1989 (InspectorCSSAgent::TogglePropertyAction):
1990 (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
1991 (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
1992 (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
1993 (WebCore::InspectorCSSAgent::getStyleSheetText):
1994 (WebCore::InspectorCSSAgent::setStyleSheetText):
1995 (WebCore::InspectorCSSAgent::setPropertyText):
1996 (WebCore::InspectorCSSAgent::toggleProperty):
1997 * inspector/InspectorCSSAgent.h:
1998 (InspectorCSSAgent):
1999 * inspector/InspectorDOMAgent.cpp:
2000 (InspectorDOMAgent::DOMAction):
2001 (WebCore::InspectorDOMAgent::DOMAction::DOMAction):
2002 (WebCore::InspectorDOMAgent::DOMAction::perform):
2003 (WebCore::InspectorDOMAgent::DOMAction::undo):
2005 (InspectorDOMAgent::RemoveChildAction):
2006 (WebCore::InspectorDOMAgent::RemoveChildAction::RemoveChildAction):
2007 (WebCore::InspectorDOMAgent::RemoveChildAction::perform):
2008 (WebCore::InspectorDOMAgent::RemoveChildAction::undo):
2009 (InspectorDOMAgent::InsertBeforeAction):
2010 (WebCore::InspectorDOMAgent::InsertBeforeAction::InsertBeforeAction):
2011 (WebCore::InspectorDOMAgent::InsertBeforeAction::perform):
2012 (WebCore::InspectorDOMAgent::InsertBeforeAction::undo):
2013 (InspectorDOMAgent::RemoveAttributeAction):
2014 (WebCore::InspectorDOMAgent::RemoveAttributeAction::RemoveAttributeAction):
2015 (WebCore::InspectorDOMAgent::RemoveAttributeAction::perform):
2016 (WebCore::InspectorDOMAgent::RemoveAttributeAction::undo):
2017 (InspectorDOMAgent::SetAttributeAction):
2018 (WebCore::InspectorDOMAgent::SetAttributeAction::SetAttributeAction):
2019 (WebCore::InspectorDOMAgent::SetAttributeAction::perform):
2020 (WebCore::InspectorDOMAgent::SetAttributeAction::undo):
2021 (InspectorDOMAgent::SetOuterHTMLAction):
2022 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
2023 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::perform):
2024 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
2025 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::newNode):
2026 (InspectorDOMAgent::ReplaceWholeTextAction):
2027 (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::ReplaceWholeTextAction):
2028 (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::perform):
2029 (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::undo):
2030 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2031 (WebCore::InspectorDOMAgent::reset):
2032 (WebCore::InspectorDOMAgent::setAttributeValue):
2033 (WebCore::InspectorDOMAgent::setAttributesAsText):
2034 (WebCore::InspectorDOMAgent::removeAttribute):
2035 (WebCore::InspectorDOMAgent::removeNode):
2036 (WebCore::InspectorDOMAgent::setNodeName):
2037 (WebCore::InspectorDOMAgent::setOuterHTML):
2038 (WebCore::InspectorDOMAgent::setNodeValue):
2039 (WebCore::InspectorDOMAgent::moveTo):
2040 (WebCore::InspectorDOMAgent::undo):
2041 (WebCore::InspectorDOMAgent::markUndoableState):
2042 * inspector/InspectorDOMAgent.h:
2043 (InspectorDOMAgent):
2044 (WebCore::InspectorDOMAgent::history):
2045 * inspector/InspectorHistory.cpp: Added.
2046 (WebCore::InspectorHistory::Action::Action):
2048 (WebCore::InspectorHistory::Action::~Action):
2049 (WebCore::InspectorHistory::Action::toString):
2050 (WebCore::InspectorHistory::Action::isUndoableStateMark):
2051 (WebCore::InspectorHistory::Action::mergeId):
2052 (WebCore::InspectorHistory::Action::merge):
2053 (WebCore::InspectorHistory::InspectorHistory):
2054 (WebCore::InspectorHistory::~InspectorHistory):
2055 (WebCore::InspectorHistory::perform):
2056 (WebCore::InspectorHistory::markUndoableState):
2057 (WebCore::InspectorHistory::undo):
2058 (WebCore::InspectorHistory::reset):
2059 * inspector/InspectorHistory.h: Added.
2063 * inspector/InspectorStyleSheet.cpp:
2064 (WebCore::InspectorStyle::setPropertyText):
2065 (WebCore::InspectorStyle::styleText):
2066 (WebCore::InspectorStyleSheet::addRule):
2067 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2068 (WebCore::InspectorStyleSheet::buildObjectForStyle):
2069 (WebCore::InspectorStyleSheet::setPropertyText):
2070 (WebCore::InspectorStyleSheet::getText):
2071 (WebCore::InspectorStyleSheetForInlineStyle::getText):
2072 * inspector/InspectorStyleSheet.h:
2074 (InspectorStyleSheet):
2075 (InspectorStyleSheetForInlineStyle):
2076 * inspector/front-end/CSSStyleModel.js:
2077 (WebInspector.CSSProperty.prototype.setText):
2078 * inspector/front-end/ElementsPanel.js:
2079 (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2080 (WebInspector.ElementsPanel.prototype._updateSidebars):
2081 (WebInspector.ElementsPanel.prototype.handleShortcut):
2082 * inspector/front-end/StylesSidebarPane.js:
2083 (WebInspector.StylePropertiesSection.prototype.onpopulate):
2084 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2085 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2086 (WebInspector.StylePropertyTreeElement):
2087 (WebInspector.StylePropertyTreeElement.prototype):
2089 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2091 Unreviewed, rolling out r106935.
2092 http://trac.webkit.org/changeset/106935
2093 https://bugs.webkit.org/show_bug.cgi?id=77994
2095 "Crashes runMultiThread webkit_unit_test" (Requested by tonyg-
2098 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2099 (WebCore::CCLayerTreeHost::setNeedsRedraw):
2100 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2101 (WebCore::CCSingleThreadProxy::setNeedsRedraw):
2102 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2103 (WebCore::CCThreadProxy::setNeedsRedraw):
2104 * platform/graphics/chromium/cc/CCThreadProxy.h:
2107 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2109 Unreviewed, rolling out r106932.
2110 http://trac.webkit.org/changeset/106932
2111 https://bugs.webkit.org/show_bug.cgi?id=77988
2113 Breaks Mac bots (Requested by pfeldman on #webkit).
2116 * GNUmakefile.list.am:
2119 * WebCore.vcproj/WebCore.vcproj:
2120 * WebCore.xcodeproj/project.pbxproj:
2121 * inspector/Inspector.json:
2122 * inspector/InspectorAllInOne.cpp:
2123 * inspector/InspectorCSSAgent.cpp:
2124 (WebCore::InspectorCSSAgent::getStyleSheetText):
2125 (WebCore::InspectorCSSAgent::setStyleSheetText):
2126 (WebCore::InspectorCSSAgent::setPropertyText):
2127 (WebCore::InspectorCSSAgent::toggleProperty):
2128 * inspector/InspectorCSSAgent.h:
2129 (InspectorCSSAgent):
2130 * inspector/InspectorDOMAgent.cpp:
2131 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2132 (WebCore::InspectorDOMAgent::reset):
2133 (WebCore::InspectorDOMAgent::setAttributeValue):
2134 (WebCore::InspectorDOMAgent::setAttributesAsText):
2135 (WebCore::InspectorDOMAgent::removeAttribute):
2136 (WebCore::InspectorDOMAgent::removeNode):
2137 (WebCore::InspectorDOMAgent::setNodeName):
2138 (WebCore::InspectorDOMAgent::setOuterHTML):
2139 (WebCore::InspectorDOMAgent::setNodeValue):
2140 (WebCore::InspectorDOMAgent::moveTo):
2141 * inspector/InspectorDOMAgent.h:
2142 (InspectorDOMAgent):
2143 * inspector/InspectorHistory.cpp: Removed.
2144 * inspector/InspectorHistory.h: Removed.
2145 * inspector/InspectorStyleSheet.cpp:
2146 (WebCore::InspectorStyle::setPropertyText):
2147 (WebCore::InspectorStyle::styleText):
2148 (WebCore::InspectorStyleSheet::addRule):
2149 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2150 (WebCore::InspectorStyleSheet::buildObjectForStyle):
2151 (WebCore::InspectorStyleSheet::setPropertyText):
2152 (WebCore::InspectorStyleSheet::text):
2153 (WebCore::InspectorStyleSheetForInlineStyle::text):
2154 * inspector/InspectorStyleSheet.h:
2156 (InspectorStyleSheet):
2157 (InspectorStyleSheetForInlineStyle):
2158 * inspector/front-end/CSSStyleModel.js:
2159 (WebInspector.CSSProperty.prototype.setText):
2160 * inspector/front-end/ElementsPanel.js:
2161 (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2162 (WebInspector.ElementsPanel.prototype.handleShortcut):
2163 * inspector/front-end/StylesSidebarPane.js:
2164 (WebInspector.StylePropertiesSection.prototype.onpopulate):
2165 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2166 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2167 (WebInspector.StylePropertyTreeElement):
2168 (WebInspector.StylePropertyTreeElement.prototype):
2170 2012-02-07 Priit Laes <plaes@plaes.org>
2172 [GTK] Build failure with --enable-web-audio
2173 https://bugs.webkit.org/show_bug.cgi?id=77978
2175 Reviewed by Gustavo Noronha Silva.
2177 * GNUmakefile.list.am: Include AudioSourceProviderClient.h
2179 2012-02-07 Alexei Filippov <alexeif@chromium.org>
2181 Web Inspector: fix objects duplication when switching filter in heap profiler.
2182 https://bugs.webkit.org/show_bug.cgi?id=77974
2184 Reviewed by Yury Semikhatsky.
2186 * inspector/front-end/DetailedHeapshotView.js:
2187 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
2189 2012-02-07 Jonathan Backer <backer@chromium.org>
2191 [chromium] Add setNeedsRedraw to WebWidget
2192 https://bugs.webkit.org/show_bug.cgi?id=77555
2194 Reviewed by James Robinson.
2196 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2197 (WebCore::CCLayerTreeHost::setNeedsRedraw):
2198 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2199 (WebCore::CCSingleThreadProxy::setNeedsRedraw):
2200 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2201 (WebCore::CCThreadProxy::setNeedsRedraw):
2202 (WebCore::CCThreadProxy::resetDamageTrackerOnImplThread):
2204 * platform/graphics/chromium/cc/CCThreadProxy.h:
2207 2012-02-07 Michael Brüning <michael.bruning@nokia.com>
2209 [Qt][WK2] Compute and set cache capacities using the current CacheModel
2210 https://bugs.webkit.org/show_bug.cgi?id=73918
2212 Reviewed by Kenneth Rohde Christiansen.
2214 No new tests. (build fix)
2216 * platform/qt/FileSystemQt.cpp:
2217 (WebCore::getVolumeFreeSizeForPath):
2219 2012-02-07 Pavel Feldman <pfeldman@google.com>
2221 Web Inspector: add generic support for undo-ing DOM edits.
2222 https://bugs.webkit.org/show_bug.cgi?id=77875
2224 Reviewed by Yury Semikhatsky.
2226 This change introduces InspectorHistory::Action that encapsulates all DOM modifications
2227 initiated by the inspector. There is a way to undo these actions up until the undoable
2230 Tests: inspector/elements/undo-dom-edits-2.html
2231 inspector/elements/undo-dom-edits.html
2232 inspector/styles/undo-add-property.html
2233 inspector/styles/undo-change-property.html
2234 inspector/styles/undo-property-toggle.html
2237 * GNUmakefile.list.am:
2240 * WebCore.vcproj/WebCore.vcproj:
2241 * WebCore.xcodeproj/project.pbxproj:
2242 * inspector/Inspector.json:
2243 * inspector/InspectorAllInOne.cpp:
2244 * inspector/InspectorCSSAgent.cpp:
2245 (InspectorCSSAgent::StyleSheetAction):
2246 (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
2247 (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
2248 (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
2250 (InspectorCSSAgent::SetStyleSheetTextAction):
2251 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
2252 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
2253 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
2254 (InspectorCSSAgent::SetPropertyTextAction):
2255 (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
2256 (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
2257 (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
2258 (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
2259 (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
2260 (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
2261 (InspectorCSSAgent::TogglePropertyAction):
2262 (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
2263 (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
2264 (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
2265 (WebCore::InspectorCSSAgent::getStyleSheetText):
2266 (WebCore::InspectorCSSAgent::setStyleSheetText):
2267 (WebCore::InspectorCSSAgent::setPropertyText):
2268 (WebCore::InspectorCSSAgent::toggleProperty):
2269 * inspector/InspectorCSSAgent.h:
2270 (InspectorCSSAgent):
2271 * inspector/InspectorDOMAgent.cpp:
2272 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2273 (WebCore::InspectorDOMAgent::reset):
2274 (WebCore::InspectorDOMAgent::setAttributeValue):
2275 (WebCore::InspectorDOMAgent::setAttributesAsText):
2276 (WebCore::InspectorDOMAgent::removeAttribute):
2277 (WebCore::InspectorDOMAgent::removeNode):
2278 (WebCore::InspectorDOMAgent::setNodeName):
2279 (WebCore::InspectorDOMAgent::setOuterHTML):
2280 (WebCore::InspectorDOMAgent::setNodeValue):
2281 (WebCore::InspectorDOMAgent::moveTo):
2282 (WebCore::InspectorDOMAgent::undo):
2284 (WebCore::InspectorDOMAgent::markUndoableState):
2285 * inspector/InspectorDOMAgent.h:
2286 (InspectorDOMAgent):
2287 (WebCore::InspectorDOMAgent::history):
2288 * inspector/InspectorHistory.cpp: Added.
2289 (WebCore::InspectorHistory::Action::Action):
2291 (WebCore::InspectorHistory::Action::~Action):
2292 (WebCore::InspectorHistory::Action::toString):
2293 (WebCore::InspectorHistory::Action::isUndoableStateMark):
2294 (WebCore::InspectorHistory::Action::mergeId):
2295 (WebCore::InspectorHistory::Action::merge):
2296 (WebCore::InspectorHistory::InspectorHistory):
2297 (WebCore::InspectorHistory::~InspectorHistory):
2298 (WebCore::InspectorHistory::perform):
2299 (WebCore::InspectorHistory::markUndoableState):
2300 (WebCore::InspectorHistory::undo):
2301 (WebCore::InspectorHistory::reset):
2302 * inspector/InspectorHistory.h: Added.
2306 * inspector/InspectorStyleSheet.cpp:
2307 (WebCore::InspectorStyle::setPropertyText):
2308 (WebCore::InspectorStyle::styleText):
2309 (WebCore::InspectorStyleSheet::addRule):
2310 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2311 (WebCore::InspectorStyleSheet::buildObjectForStyle):
2312 (WebCore::InspectorStyleSheet::setPropertyText):
2313 (WebCore::InspectorStyleSheet::getText):
2314 (WebCore::InspectorStyleSheetForInlineStyle::getText):
2315 * inspector/InspectorStyleSheet.h:
2317 (InspectorStyleSheet):
2318 (InspectorStyleSheetForInlineStyle):
2319 * inspector/front-end/CSSStyleModel.js:
2320 (WebInspector.CSSProperty.prototype.setText):
2321 * inspector/front-end/ElementsPanel.js:
2322 (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2323 (WebInspector.ElementsPanel.prototype._updateSidebars):
2324 (WebInspector.ElementsPanel.prototype.handleShortcut):
2325 * inspector/front-end/StylesSidebarPane.js:
2326 (WebInspector.StylePropertiesSection.prototype.onpopulate):
2327 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2328 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2329 (WebInspector.StylePropertyTreeElement):
2330 (WebInspector.StylePropertyTreeElement.prototype):
2332 2012-02-07 Chris Guan <chris.guan@torchmobile.com.cn>
2334 [Blackberry] Clean up Networkjob and Networkmanger: remove unused variables in release build and change some public functions into be private ones
2335 https://bugs.webkit.org/show_bug.cgi?id=77926
2337 Reviewed by Rob Buis.
2339 1. rename clientIsOk to isClientAvailable.
2340 2. m_isRunning is only for an ASSERT in NetWorkManager, So move out from
2341 release build but keep available in debug build.
2343 No changes in behavior, so no new tests.
2345 * platform/network/blackberry/NetworkJob.cpp:
2346 (WebCore::NetworkJob::NetworkJob):
2347 (WebCore::NetworkJob::handleNotifyDataReceived):
2348 (WebCore::NetworkJob::handleNotifyDataSent):
2349 (WebCore::NetworkJob::handleNotifyClose):
2350 (WebCore::NetworkJob::startNewJobWithRequest):
2351 (WebCore::NetworkJob::sendResponseIfNeeded):
2352 (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
2353 * platform/network/blackberry/NetworkJob.h:
2355 (WebCore::NetworkJob::isClientAvailable):
2357 2012-02-06 Yury Semikhatsky <yurys@chromium.org>
2359 Web Inspector: don't mark object is queriable if it is only reachable by internal reference
2360 https://bugs.webkit.org/show_bug.cgi?id=77877
2362 Reviewed by Pavel Feldman.
2364 * inspector/front-end/HeapSnapshot.js:
2365 (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
2367 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2369 Unreviewed, rolling out r106909.
2370 http://trac.webkit.org/changeset/106909
2371 https://bugs.webkit.org/show_bug.cgi?id=77965
2373 ~20 tests are crashing on chromium win release bot. (Requested
2374 by loislo on #webkit).
2376 * html/HTMLDetailsElement.cpp:
2377 (WebCore::HTMLDetailsElement::createShadowSubtree):
2378 * html/HTMLKeygenElement.cpp:
2379 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2380 * html/HTMLMeterElement.cpp:
2381 (WebCore::HTMLMeterElement::createShadowSubtree):
2382 * html/HTMLProgressElement.cpp:
2383 (WebCore::HTMLProgressElement::createShadowSubtree):
2384 * html/HTMLSummaryElement.cpp:
2385 (WebCore::HTMLSummaryElement::createShadowSubtree):
2386 * html/HTMLTextAreaElement.cpp:
2387 (WebCore::HTMLTextAreaElement::createShadowSubtree):
2389 2012-02-07 Andreas Kling <awesomekling@apple.com>
2391 REGRESSION(r106819): ~28% or so performance regression on the ManInBlue HTML benchmark
2392 <http://webkit.org/b/77952>
2394 Reviewed by Andreas Kling.
2395 Patch by Ryosuke Niwa.
2397 The performance regression was caused by using ensureAttributeData() which forces the
2398 regeneration of invalidated attributes ("style" and SVG animatable attributes.)
2399 Added an ensureAttributeDataWithoutUpdate() helper that only ensures the presence
2400 of ElementAttributeData, not the validity of its contents. Use that when grabbing
2401 at an element's inline and attribute styles.
2405 (WebCore::Element::ensureAttributeDataWithoutUpdate):
2406 * dom/StyledElement.h:
2407 (WebCore::StyledElement::ensureInlineStyleDecl):
2408 (WebCore::StyledElement::ensureAttributeStyle):
2410 2012-02-07 Michael Brüning <michael.bruning@nokia.com>
2412 [Qt][WK2] Compute and set cache capacities using the current CacheModel
2413 https://bugs.webkit.org/show_bug.cgi?id=73918
2415 Reviewed by Csaba Osztrogonác.
2417 No new tests. (build fix).
2419 * platform/qt/FileSystemQt.cpp:
2421 2012-02-07 Michael Brüning <michael.bruning@nokia.com>
2423 [Qt][WK2] Compute and set cache capacities using the current CacheModel
2424 https://bugs.webkit.org/show_bug.cgi?id=73918
2426 Reviewed by Kenneth Rohde Christiansen.
2428 No new tests. (Not applicable)
2430 Added OS-specific implementation for retrieving the free disk space.
2432 * platform/FileSystem.h:
2434 * platform/qt/FileSystemQt.cpp:
2435 (WebCore::getVolumeFreeSizeForPath):
2438 2012-02-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
2440 [Inspector] Add the Nokia N9 user agent
2441 https://bugs.webkit.org/show_bug.cgi?id=77949
2443 Reviewed by Simon Hausmann.
2445 * inspector/front-end/SettingsScreen.js:
2446 (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
2448 2012-02-07 Alexander Pavlov <apavlov@chromium.org>
2450 [CRASH] bool EventHandler::dispatchSyntheticTouchEventIfEnabled(const PlatformMouseEvent& event) references a NULL pointer
2451 https://bugs.webkit.org/show_bug.cgi?id=77953
2453 Reviewed by Andreas Kling.
2455 * page/EventHandler.cpp:
2456 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
2458 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2460 Unreviewed, rolling out r106912.
2461 http://trac.webkit.org/changeset/106912
2462 https://bugs.webkit.org/show_bug.cgi?id=77947
2464 "AppleWebKit build is broken" (Requested by haraken on
2467 * dom/ScriptExecutionContext.cpp:
2468 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2470 * dom/ScriptExecutionContext.h:
2472 (ScriptExecutionContext):
2474 (WebCore::DOMURL::DOMURL):
2476 (WebCore::DOMURL::~DOMURL):
2477 (WebCore::DOMURL::contextDestroyed):
2478 (WebCore::DOMURL::createObjectURL):
2479 (WebCore::DOMURL::revokeObjectURL):
2481 (WebCore::DOMURL::create):
2484 * html/PublicURLManager.h: Removed.
2485 * page/DOMWindow.cpp:
2487 (WebCore::DOMWindow::webkitURL):
2490 * page/DOMWindow.idl:
2491 * workers/WorkerContext.cpp:
2493 (WebCore::WorkerContext::webkitURL):
2494 * workers/WorkerContext.h:
2496 * workers/WorkerContext.idl:
2498 2012-02-07 Kentaro Hara <haraken@chromium.org>
2500 Unreviewed, rolling out r106862.
2501 http://trac.webkit.org/changeset/106862
2502 https://bugs.webkit.org/show_bug.cgi?id=77510
2504 Mac build fails if we manually remove generated code
2506 * DerivedSources.make:
2507 * bindings/scripts/generate-bindings.pl:
2508 (generateEmptyHeaderAndCpp):
2509 * bindings/scripts/resolve-supplemental.pl:
2510 * bindings/scripts/update-idl-needs-rebuild.pl: Removed.
2512 2012-02-07 Kaustubh Atrawalkar <kaustubh@motorola.com>
2514 Migrate createObjectURL & revokeObjectURL to static (Class) methods.
2515 https://bugs.webkit.org/show_bug.cgi?id=74386
2517 Reviewed by David Levin.
2519 Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
2521 fast/files/revoke-blob-url.html
2522 fast/dom/window-domurl-crash.html
2523 fast/files/apply-blob-url-to-img.html
2524 fast/files/create-blob-url-crash.html
2525 fast/files/workers/inline-worker-via-blob-url.html
2527 * dom/ScriptExecutionContext.cpp:
2528 (WebCore::ScriptExecutionContext::fileThread):
2530 (WebCore::ScriptExecutionContext::publicURLManager):
2531 * dom/ScriptExecutionContext.h:
2533 (ScriptExecutionContext):
2536 (WebCore::DOMURL::createObjectURL): Changed to static.
2537 (WebCore::DOMURL::revokeObjectURL): ditto.
2540 (WebCore::DOMURL::create):
2542 * html/PublicURLManager.h: Added.
2545 (WebCore::PublicURLManager::create):
2546 (WebCore::PublicURLManager::contextDestroyed):
2547 (WebCore::PublicURLManager::blobURLs):
2548 (WebCore::PublicURLManager::streamURLs):
2549 * page/DOMWindow.cpp: Removed object initialization for DOMURL.
2551 * page/DOMWindow.h: ditto.
2553 * page/DOMWindow.idl:
2554 * workers/WorkerContext.cpp:
2556 * workers/WorkerContext.h:
2558 * workers/WorkerContext.idl:
2560 2012-02-03 Vsevolod Vlasov <vsevik@chromium.org>
2562 http/tests/inspector/indexeddb/database-structure.html failing on chromium win/linux
2563 https://bugs.webkit.org/show_bug.cgi?id=77661
2565 Reviewed by Yury Semikhatsky.
2567 * inspector/InspectorIndexedDBAgent.cpp:
2570 2012-02-07 Hayato Ito <hayato@chromium.org>
2572 Fix build on Mac with '--shadow-dom'.
2573 https://bugs.webkit.org/show_bug.cgi?id=77940
2575 Reviewed by Hajime Morita.
2577 * WebCore.xcodeproj/project.pbxproj:
2579 2012-02-06 Shinya Kawanaka <shinyak@google.com>
2581 Stop calling Element::ensureShadowRoot() if it is used in construction phase.
2582 https://bugs.webkit.org/show_bug.cgi?id=77929
2584 Reviewed by Hajime Morita.
2586 ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
2587 So we want to remove Element::ensureShadowRoot().
2588 This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
2590 No new tests, no change in behavior.
2592 * html/HTMLDetailsElement.cpp:
2593 (WebCore::HTMLDetailsElement::createShadowSubtree):
2594 * html/HTMLKeygenElement.cpp:
2595 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2596 * html/HTMLMeterElement.cpp:
2597 (WebCore::HTMLMeterElement::createShadowSubtree):
2598 * html/HTMLProgressElement.cpp:
2599 (WebCore::HTMLProgressElement::createShadowSubtree):
2600 * html/HTMLSummaryElement.cpp:
2601 (WebCore::HTMLSummaryElement::createShadowSubtree):
2602 * html/HTMLTextAreaElement.cpp:
2603 (WebCore::HTMLTextAreaElement::createShadowSubtree):
2605 2012-02-06 Shinya Kawanaka <shinyak@google.com>
2607 Remove Element::ensureShadowRoot export.
2608 https://bugs.webkit.org/show_bug.cgi?id=77932
2610 Reviewed by Hajime Morita.
2612 Removes Element::ensureShadowRoot export.
2614 No new tests, no change in behavior.
2618 2012-02-06 Ilya Tikhonovsky <loislo@chromium.org>
2620 Unreviewed. Web Inspector: rename Artificial to Synthetic according to v8 patch r10614.
2622 * inspector/front-end/DetailedHeapshotGridNodes.js:
2623 * inspector/front-end/HeapSnapshot.js:
2624 (WebInspector.HeapSnapshotNode.prototype.get isSynthetic):
2625 (WebInspector.HeapSnapshot.prototype._init):
2627 2012-02-06 Hayato Ito <hayato@chromium.org>
2629 Implement querySelector on ShadowRoot.
2630 https://bugs.webkit.org/show_bug.cgi?id=77714
2632 Reviewed by Dimitri Glazkov.
2634 * dom/SelectorQuery.cpp:
2635 (WebCore::nodeIsRootNodeOfTreeScope):
2637 (WebCore::SelectorDataList::execute):
2639 2012-02-06 Martin Robinson <mrobinson@igalia.com> and Nayan Kumar K <nayankk@motorola.com>
2641 [GTK] Add TextureMapperGL implementation
2642 https://bugs.webkit.org/show_bug.cgi?id=75308
2644 Reviewed by Alejandro G. Castro.
2646 No new tests. This will be covered by accelerated compositing and
2647 3D CSS transform tests eventually.
2649 * GNUmakefile.list.am: Added some files necessary to build TextureMapperGL.
2650 * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added implementations.
2651 * platform/graphics/cairo/TextureMapperGLCairo.h: Updated member list.
2652 * platform/graphics/gtk/WindowGLContext.h: Added.
2653 * platform/graphics/gtk/WindowGLContextGLX.cpp: Added.
2654 * platform/graphics/opengl/TextureMapperGL.cpp: Use the GL shims on GTK.
2656 2012-02-06 Emil A Eklund <eae@chromium.org>
2658 Change baselinePosition and lineHeight to LayoutUnit
2659 https://bugs.webkit.org/show_bug.cgi?id=77905
2661 Reviewed by Eric Seidel.
2663 Change the virtual baselinePosition and lineHeight methods to return
2664 LayoutUnits as they are both computed from the height and top/bottom
2665 margins (or width and left/right margins for vertical text), all of
2666 which are LayoutUnits.
2670 * platform/efl/RenderThemeEfl.cpp:
2671 (WebCore::RenderThemeEfl::baselinePosition):
2672 * platform/efl/RenderThemeEfl.h:
2674 * platform/gtk/RenderThemeGtk.cpp:
2675 (WebCore::RenderThemeGtk::baselinePosition):
2676 * platform/gtk/RenderThemeGtk.h:
2678 * platform/qt/RenderThemeQt.cpp:
2679 (WebCore::RenderThemeQt::baselinePosition):
2680 * platform/qt/RenderThemeQt.h:
2682 * rendering/RenderListMarker.cpp:
2683 (WebCore::RenderListMarker::lineHeight):
2684 (WebCore::RenderListMarker::baselinePosition):
2685 * rendering/RenderListMarker.h:
2687 * rendering/RenderSlider.cpp:
2688 (WebCore::RenderSlider::baselinePosition):
2689 * rendering/RenderSlider.h:
2691 * rendering/RootInlineBox.h:
2692 (WebCore::RootInlineBox::baselinePosition):
2693 (WebCore::RootInlineBox::lineHeight):
2694 * rendering/mathml/RenderMathMLFraction.cpp:
2695 (WebCore::RenderMathMLFraction::baselinePosition):
2696 * rendering/mathml/RenderMathMLFraction.h:
2697 (RenderMathMLFraction):
2698 * rendering/mathml/RenderMathMLOperator.cpp:
2699 (WebCore::RenderMathMLOperator::baselinePosition):
2700 * rendering/mathml/RenderMathMLOperator.h:
2701 (RenderMathMLOperator):
2702 * rendering/mathml/RenderMathMLRow.cpp:
2703 (WebCore::RenderMathMLRow::baselinePosition):
2704 * rendering/mathml/RenderMathMLRow.h:
2706 * rendering/mathml/RenderMathMLSubSup.cpp:
2707 (WebCore::RenderMathMLSubSup::baselinePosition):
2708 * rendering/mathml/RenderMathMLSubSup.h:
2709 (RenderMathMLSubSup):
2710 * rendering/mathml/RenderMathMLUnderOver.cpp:
2711 (WebCore::RenderMathMLUnderOver::baselinePosition):
2712 * rendering/mathml/RenderMathMLUnderOver.h:
2713 (RenderMathMLUnderOver):
2715 2012-02-06 Xianzhu Wang <wangxianzhu@chromium.org>
2717 Avoid Page::updateViewportArguments() if the causing frame is not the main frame
2718 https://bugs.webkit.org/show_bug.cgi?id=77387
2720 Reviewed by Kenneth Rohde Christiansen.
2723 (WebCore::Document::processViewport):
2724 (WebCore::Document::updateViewportArguments):
2725 (WebCore::Document::setInPageCache):
2728 * html/HTMLBodyElement.cpp:
2729 (WebCore::HTMLBodyElement::insertedIntoDocument):
2731 (WebCore::Frame::setDocument):
2733 (WebCore::Page::viewportArguments):
2738 2012-02-06 Martin Robinson <mrobinson@igalia.com>
2740 Fix some miscellaneous 'make dist' error for WebKitGTK+.
2742 * GNUmakefile.list.am: Add some missing Shadow DOM files to the
2745 2012-02-06 Dana Jansens <danakj@chromium.org>
2747 Add contains() test to Region
2748 https://bugs.webkit.org/show_bug.cgi?id=72294
2750 Reviewed by Anders Carlsson.
2752 * platform/graphics/Region.cpp:
2753 (WebCore::Region::contains):
2755 * platform/graphics/Region.h:
2758 (WebCore::operator==):
2761 2012-02-06 Kentaro Hara <haraken@chromium.org>
2763 Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
2764 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
2765 https://bugs.webkit.org/show_bug.cgi?id=77852
2767 Reviewed by Adam Barth.
2769 This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
2770 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
2772 [DontCheckEnums] => [DoNotCheckConstants] (This IDL inserts assertions to check if a
2773 constant value is equal to the expected constant value)
2774 [ReturnsNew] => [ReturnNewObject] (For clarification)
2775 [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
2776 with other [*Getter] IDLs)
2777 [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
2778 with other [*Setter] IDLs)
2779 [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
2780 name in implementation)
2782 No tests. No change in behavior.
2784 * bindings/scripts/CodeGenerator.pm:
2786 (GenerateCompileTimeCheckForEnumsIfNeeded):
2787 * bindings/scripts/CodeGeneratorJS.pm:
2789 (GenerateImplementation):
2791 * bindings/scripts/CodeGeneratorV8.pm:
2792 (GenerateSingleBatchedAttribute):
2793 (GenerateFunctionCallString):
2796 * bindings/scripts/test/TestObj.idl:
2797 * bindings/scripts/test/TestTypedArray.idl:
2799 * bindings/scripts/test/JS/JSTestInterface.cpp:
2801 * bindings/scripts/test/JS/JSTestObj.cpp:
2803 * bindings/scripts/test/V8/V8TestInterface.cpp:
2805 * bindings/scripts/test/V8/V8TestObj.cpp:
2808 * css/WebKitCSSFilterValue.idl:
2809 * css/WebKitCSSTransformValue.idl:
2810 * dom/DOMCoreException.idl:
2812 * dom/EventException.idl:
2813 * dom/RangeException.idl:
2814 * fileapi/FileException.idl:
2815 * fileapi/OperationNotAllowedException.idl:
2816 * html/HTMLFormElement.idl:
2817 * html/canvas/Float32Array.idl:
2818 * html/canvas/Float64Array.idl:
2819 * html/canvas/Int16Array.idl:
2820 * html/canvas/Int32Array.idl:
2821 * html/canvas/Int8Array.idl:
2822 * html/canvas/OESStandardDerivatives.idl:
2823 * html/canvas/OESVertexArrayObject.idl:
2824 * html/canvas/Uint16Array.idl:
2825 * html/canvas/Uint32Array.idl:
2826 * html/canvas/Uint8Array.idl:
2827 * html/canvas/Uint8ClampedArray.idl:
2828 * html/canvas/WebGLCompressedTextures.idl:
2829 * html/canvas/WebGLDebugRendererInfo.idl:
2830 * html/canvas/WebGLRenderingContext.idl:
2831 * inspector/JavaScriptCallFrame.idl:
2832 * loader/appcache/DOMApplicationCache.idl:
2834 * page/DOMWindow.idl:
2835 * page/Location.idl:
2836 * storage/IDBCursor.idl:
2837 * storage/IDBDatabaseException.idl:
2838 * storage/IDBObjectStore.idl:
2839 * storage/SQLException.idl:
2840 * svg/SVGComponentTransferFunctionElement.idl:
2841 * svg/SVGException.idl:
2842 * svg/SVGFEBlendElement.idl:
2843 * svg/SVGFEColorMatrixElement.idl:
2844 * svg/SVGFECompositeElement.idl:
2845 * svg/SVGFEConvolveMatrixElement.idl:
2846 * svg/SVGFEDisplacementMapElement.idl:
2847 * svg/SVGFEMorphologyElement.idl:
2848 * svg/SVGFETurbulenceElement.idl:
2849 * svg/SVGGradientElement.idl:
2850 * xml/XMLHttpRequestException.idl:
2851 * xml/XPathException.idl:
2853 2012-02-06 James Robinson <jamesr@chromium.org>
2855 [chromium] canvas demo is slow due to unnecessary resource cleanups
2856 https://bugs.webkit.org/show_bug.cgi?id=77135
2858 Reviewed by Kenneth Russell.
2860 This defers dropping a ManagedTexture until it is evicted by the manager, the layer is destroyed, the
2861 TextureManager is destroyed, or the layer is added to a CCLayerTreeHost that has a different texture manager. In
2862 particular, removing a layer from a CCLayerTreeHost and then adding it back to the same host does not drop any
2863 ManagedTextures unless the manager has to evict it for other reasons. This provides a big speedup on sites that
2864 rebuild the compositing tree frequently.
2866 New unit test added for ManagedTexture / TextureManager interaction.
2868 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2869 (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
2870 (WebCore::Canvas2DLayerChromium::setTextureManager):
2871 * platform/graphics/chromium/Canvas2DLayerChromium.h:
2872 (Canvas2DLayerChromium):
2873 * platform/graphics/chromium/LayerChromium.cpp:
2874 (WebCore::LayerChromium::setLayerTreeHost):
2875 * platform/graphics/chromium/LayerChromium.h:
2877 * platform/graphics/chromium/ManagedTexture.cpp:
2878 (WebCore::ManagedTexture::setTextureManager):
2880 (WebCore::ManagedTexture::steal):
2881 (WebCore::ManagedTexture::clear):
2882 * platform/graphics/chromium/ManagedTexture.h:
2884 * platform/graphics/chromium/RenderSurfaceChromium.h:
2885 (RenderSurfaceChromium):
2886 * platform/graphics/chromium/TiledLayerChromium.cpp:
2887 (WebCore::TiledLayerChromium::setLayerTreeHost):
2889 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2890 * platform/graphics/chromium/TiledLayerChromium.h:
2892 2012-02-06 Kentaro Hara <haraken@chromium.org>
2894 Unreviewed, rolling out r106883.
2895 http://trac.webkit.org/changeset/106883
2896 https://bugs.webkit.org/show_bug.cgi?id=77852
2898 build failure around Chromium V8 bindings
2900 * bindings/scripts/CodeGenerator.pm:
2902 (GenerateCompileTimeCheckForEnumsIfNeeded):
2903 * bindings/scripts/CodeGeneratorJS.pm:
2905 (GenerateImplementation):
2907 * bindings/scripts/CodeGeneratorV8.pm:
2908 (GenerateSingleBatchedAttribute):
2909 (GenerateFunctionCallString):
2911 * bindings/scripts/test/JS/JSTestInterface.cpp:
2913 * bindings/scripts/test/JS/JSTestObj.cpp:
2915 * bindings/scripts/test/TestObj.idl:
2916 * bindings/scripts/test/TestTypedArray.idl:
2917 * bindings/scripts/test/V8/V8TestInterface.cpp:
2919 * bindings/scripts/test/V8/V8TestObj.cpp:
2921 * css/WebKitCSSFilterValue.idl:
2922 * css/WebKitCSSTransformValue.idl:
2923 * dom/DOMCoreException.idl:
2925 * dom/EventException.idl:
2926 * dom/RangeException.idl:
2927 * fileapi/FileException.idl:
2928 * fileapi/OperationNotAllowedException.idl:
2929 * html/HTMLFormElement.idl:
2930 * html/canvas/Float32Array.idl:
2931 * html/canvas/Float64Array.idl:
2932 * html/canvas/Int16Array.idl:
2933 * html/canvas/Int32Array.idl:
2934 * html/canvas/Int8Array.idl:
2935 * html/canvas/OESStandardDerivatives.idl:
2936 * html/canvas/OESVertexArrayObject.idl:
2937 * html/canvas/Uint16Array.idl:
2938 * html/canvas/Uint32Array.idl:
2939 * html/canvas/Uint8Array.idl:
2940 * html/canvas/Uint8ClampedArray.idl:
2941 * html/canvas/WebGLCompressedTextures.idl:
2942 * html/canvas/WebGLDebugRendererInfo.idl:
2943 * html/canvas/WebGLRenderingContext.idl:
2944 * inspector/JavaScriptCallFrame.idl:
2945 * loader/appcache/DOMApplicationCache.idl:
2947 * page/DOMWindow.idl:
2948 * page/Location.idl:
2949 * storage/IDBCursor.idl:
2950 * storage/IDBDatabaseException.idl:
2951 * storage/IDBObjectStore.idl:
2952 * storage/SQLException.idl:
2953 * svg/SVGComponentTransferFunctionElement.idl:
2954 * svg/SVGException.idl:
2955 * svg/SVGFEBlendElement.idl:
2956 * svg/SVGFEColorMatrixElement.idl:
2957 * svg/SVGFECompositeElement.idl:
2958 * svg/SVGFEConvolveMatrixElement.idl:
2959 * svg/SVGFEDisplacementMapElement.idl:
2960 * svg/SVGFEMorphologyElement.idl:
2961 * svg/SVGFETurbulenceElement.idl:
2962 * svg/SVGGradientElement.idl:
2963 * xml/XMLHttpRequestException.idl:
2964 * xml/XPathException.idl:
2966 2012-02-06 Yongsheng Zhu <yongsheng.zhu@intel.com>
2968 WebGL must allocate smaller drawing buffer when the allocation fails.
2969 https://bugs.webkit.org/show_bug.cgi?id=76654
2971 Reviewed by Kenneth Russell.
2973 Test: fast/canvas/webgl/drawingbuffer-test.html
2975 * platform/graphics/gpu/DrawingBuffer.cpp:
2977 (WebCore::DrawingBuffer::create):
2978 (WebCore::DrawingBuffer::reset):
2980 2012-02-06 Kentaro Hara <haraken@chromium.org>
2982 Unreviewed. Rebaselined run-bindings-tests results.
2984 * bindings/scripts/test/V8/V8TestObj.cpp:
2985 (WebCore::TestObjInternal::optionsObjectCallback):
2987 2012-02-06 Levi Weintraub <leviw@chromium.org>
2989 Correct usage of LayoutUnits in dom, editing, page, accessibility, inspector, and loader
2990 https://bugs.webkit.org/show_bug.cgi?id=77891
2992 Reviewed by Darin Adler.
2994 Updating the usage of LayoutUnits in the dom, editing, page, accessibility, inspector, and loader
2995 directories to properly use LayoutUnits vs ints.
2997 No new tests. No new behavior.
2999 * accessibility/AccessibilityObject.h:
3000 (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
3001 (WebCore::AccessibilityObject::doAXBoundsForRange):
3002 * accessibility/AccessibilityRenderObject.cpp:
3003 (WebCore::AccessibilityRenderObject::isOffScreen):
3004 (WebCore::AccessibilityRenderObject::clickPoint):
3005 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
3006 (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
3007 (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
3008 * accessibility/AccessibilityRenderObject.h:
3009 (AccessibilityRenderObject):
3010 * accessibility/AccessibilitySlider.cpp:
3011 (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
3012 * accessibility/AccessibilitySlider.h:
3013 (AccessibilitySlider):
3014 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3015 (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
3016 * css/CSSComputedStyleDeclaration.cpp:
3017 (WebCore::computedTransform):
3018 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3020 (WebCore::Clipboard::dragLocation):
3022 * dom/DocumentMarkerController.cpp:
3023 (WebCore::DocumentMarkerController::renderedRectsForMarkers):
3024 * dom/DocumentMarkerController.h:
3026 (WebCore::Element::screenRect):
3029 * editing/Editor.cpp:
3030 (WebCore::Editor::rangeForPoint):
3031 (WebCore::Editor::firstRectForRange):
3032 * editing/RenderedPosition.cpp:
3033 (WebCore::RenderedPosition::absoluteRect):
3034 * editing/RenderedPosition.h:
3035 (WebCore::RenderedPosition::absoluteRect):
3037 * editing/VisiblePosition.h:
3039 * inspector/DOMNodeHighlighter.cpp:
3040 * loader/SubframeLoader.cpp:
3041 (WebCore::SubframeLoader::createJavaAppletWidget):
3042 * loader/SubframeLoader.h:
3044 * page/EventHandler.cpp:
3045 (WebCore::EventHandler::handleMousePressEvent):
3047 (WebCore::Frame::nodeImage):
3048 * page/win/FrameCGWin.cpp:
3049 (WebCore::Frame::nodeImage):
3051 2012-02-05 Kentaro Hara <haraken@chromium.org>
3053 Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
3054 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
3055 https://bugs.webkit.org/show_bug.cgi?id=77852
3057 Reviewed by Adam Barth.
3059 This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
3060 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
3062 [DontCheckEnums] => [DoNotCheckConstants] (This IDL inserts assertions to check if a
3063 constant value is equal to the expected constant value)
3064 [ReturnsNew] => [ReturnNewObject] (For clarification)
3065 [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
3066 with other [*Getter] IDLs)
3067 [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
3068 with other [*Setter] IDLs)
3069 [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
3070 name in implementation)
3072 No tests. No change in behavior.
3074 * bindings/scripts/CodeGenerator.pm:
3076 (GenerateCompileTimeCheckForEnumsIfNeeded):
3077 * bindings/scripts/CodeGeneratorJS.pm:
3079 (GenerateImplementation):
3081 * bindings/scripts/CodeGeneratorV8.pm:
3082 (GenerateSingleBatchedAttribute):
3083 (GenerateFunctionCallString):
3086 * bindings/scripts/test/TestObj.idl:
3087 * bindings/scripts/test/TestTypedArray.idl:
3089 * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
3091 * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
3093 * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
3095 * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
3098 * bindings/scripts/test/TestObj.idl:
3099 * bindings/scripts/test/TestTypedArray.idl:
3100 * css/WebKitCSSFilterValue.idl:
3101 * css/WebKitCSSTransformValue.idl:
3102 * dom/DOMCoreException.idl:
3104 * dom/EventException.idl:
3105 * dom/RangeException.idl:
3106 * fileapi/FileException.idl:
3107 * fileapi/OperationNotAllowedException.idl:
3108 * html/HTMLFormElement.idl:
3109 * html/canvas/Float32Array.idl:
3110 * html/canvas/Float64Array.idl:
3111 * html/canvas/Int16Array.idl:
3112 * html/canvas/Int32Array.idl:
3113 * html/canvas/Int8Array.idl:
3114 * html/canvas/OESStandardDerivatives.idl:
3115 * html/canvas/OESVertexArrayObject.idl:
3116 * html/canvas/Uint16Array.idl:
3117 * html/canvas/Uint32Array.idl:
3118 * html/canvas/Uint8Array.idl:
3119 * html/canvas/Uint8ClampedArray.idl:
3120 * html/canvas/WebGLCompressedTextures.idl:
3121 * html/canvas/WebGLDebugRendererInfo.idl:
3122 * html/canvas/WebGLRenderingContext.idl:
3123 * inspector/JavaScriptCallFrame.idl:
3124 * loader/appcache/DOMApplicationCache.idl:
3126 * page/DOMWindow.idl:
3127 * page/Location.idl:
3128 * storage/IDBCursor.idl:
3129 * storage/IDBDatabaseException.idl:
3130 * storage/IDBObjectStore.idl:
3131 * storage/SQLException.idl:
3132 * svg/SVGComponentTransferFunctionElement.idl:
3133 * svg/SVGException.idl:
3134 * svg/SVGFEBlendElement.idl:
3135 * svg/SVGFEColorMatrixElement.idl:
3136 * svg/SVGFECompositeElement.idl:
3137 * svg/SVGFEConvolveMatrixElement.idl:
3138 * svg/SVGFEDisplacementMapElement.idl:
3139 * svg/SVGFEMorphologyElement.idl:
3140 * svg/SVGFETurbulenceElement.idl:
3141 * svg/SVGGradientElement.idl:
3142 * xml/XMLHttpRequestException.idl:
3144 2012-02-06 Stephen Chenney <schenney@chromium.org>
3146 RenderSVGShape::strokeContains will fail for some strokes
3147 https://bugs.webkit.org/show_bug.cgi?id=76931
3149 Reviewed by Darin Adler.
3151 Adding support for rounded zero-length endcaps for SVG path hit
3154 Tests: svg/hittest/zero-length-butt-cap-path.xhtml
3155 svg/hittest/zero-length-round-cap-path.xhtml
3156 svg/hittest/zero-length-square-cap-path.xhtml
3158 * rendering/svg/RenderSVGShape.cpp:
3159 (WebCore::RenderSVGShape::strokeContains):
3161 2012-02-06 Gregg Tavares <gman@google.com>
3163 Add webGLErrorsToConsoleEnabled Settings flag
3164 https://bugs.webkit.org/show_bug.cgi?id=77696
3166 Reviewed by Kenneth Russell.
3168 No new tests as there is no change in behavior.
3170 * html/canvas/WebGLRenderingContext.cpp:
3172 (WebCore::WebGLRenderingContext::setupFlags):
3173 * page/Settings.cpp:
3174 (WebCore::Settings::Settings):
3177 (WebCore::Settings::webGLErrorsToConsoleEnabled):
3179 2012-02-06 Emil A Eklund <eae@chromium.org>
3181 Convert PopupMenuClient::clientPadding over to new layout abstraction
3182 https://bugs.webkit.org/show_bug.cgi?id=77798
3184 Reviewed by Eric Seidel.
3186 Change PopupMenuClient and all classes inheriting from it to use the new
3187 layout types for padding.
3191 * platform/PopupMenuClient.h:
3193 * rendering/RenderMenuList.h:
3194 * rendering/RenderTextControlSingleLine.cpp:
3195 (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
3196 (WebCore::RenderTextControlSingleLine::clientPaddingRight):
3197 * rendering/RenderTextControlSingleLine.h:
3199 2012-02-06 Philip Rogers <pdr@google.com>
3201 Fix color animations by value
3202 https://bugs.webkit.org/show_bug.cgi?id=77812
3204 Reviewed by Darin Adler.
3206 Test: svg/animations/animate-color-fill-from-by.html
3208 * svg/SVGAnimatedColor.cpp:
3209 (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
3211 2012-02-03 Jer Noble <jer.noble@apple.com>
3213 REGRESSION (r104303): Clicking inline video controls gives the video a focus ring
3214 https://bugs.webkit.org/show_bug.cgi?id=77288
3216 Reviewed by Darin Adler.
3218 Test: media/video-mouse-focus.html
3220 Do not allow media elements to be focused by mouse click by overriding isMouseFocusable
3221 and returning false.
3223 * html/HTMLMediaElement.cpp:
3224 (WebCore::HTMLMediaElement::isMouseFocusable):
3225 * html/HTMLMediaElement.h:
3227 2012-02-06 Anders Carlsson <andersca@apple.com>
3229 Overlay scrollbars flash when window is simply activated
3230 https://bugs.webkit.org/show_bug.cgi?id=77911
3231 <rdar://problem/10211995>
3233 Reviewed by Kenneth Russell.
3235 Add a new member function, FocusController::setContainingWindowIsVisible, and move the code
3236 that calls ScrollableArea::contentAreaDidShow/ScrollableArea::contentAreaDidHide there, since
3237 we only want to flash scrollers when the window becomes visible.
3240 * page/FocusController.cpp:
3241 (WebCore::FocusController::FocusController):
3242 (WebCore::FocusController::setActive):
3243 (WebCore::FocusController::setContainingWindowIsVisible):
3245 * page/FocusController.h:
3247 (WebCore::FocusController::containingWindowIsVisible):
3249 * platform/mac/ScrollAnimatorMac.mm:
3250 (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
3251 Call ScrollAnimatorMac::contentAreaWillPaint here, since that will trigger AppKit to flash the scrollers.
3253 2012-02-06 Greg Simon <gregsimon@chromium.org>
3255 postMessage leaks MemoryEvent object
3256 https://bugs.webkit.org/show_bug.cgi?id=77893
3258 Reviewed by Adam Barth.
3260 Changed from PassRefPtr().leakRef() to RefPtr.get() when
3261 calling into FrameLoaderClient to stop +1 extra ref.
3263 * page/DOMWindow.cpp:
3264 (WebCore::DOMWindow::postMessageTimerFired):
3266 2012-02-06 Ehsan Akhgari <ehsan.akhgari@gmail.com>
3268 WebGL conformance test misc/functions-returning-strings.html fails
3269 https://bugs.webkit.org/show_bug.cgi?id=77149
3271 Make sure that WebGL methods returning strings don't return null when
3272 they run successfully.
3274 Reviewed by Kenneth Russell.
3276 Test: fast/canvas/webgl/functions-returning-strings.html
3278 * html/canvas/WebGLRenderingContext.cpp:
3280 (WebCore::WebGLRenderingContext::getProgramInfoLog):
3281 (WebCore::WebGLRenderingContext::getShaderInfoLog):
3282 (WebCore::WebGLRenderingContext::getShaderSource):
3283 (WebCore::WebGLRenderingContext::ensureNotNull):
3284 * html/canvas/WebGLRenderingContext.h:
3285 (WebGLRenderingContext):
3287 2012-02-06 Enrica Casucci <enrica@apple.com>
3289 Refactor Mac platform implementation of the Pasteboard class.
3290 https://bugs.webkit.org/show_bug.cgi?id=77567
3292 The goal of this change is to remove the majority of the methods in
3293 the class interface that are Mac specific.
3294 writeSelectionForTypes has been left to support OS X services.
3295 Some of the methods have been turned into static functions.
3296 The method asURL was being used only by the DragData class and its
3297 implementation has been moved there.
3298 This is a first step in the direction of removing NSPasteboard access from
3299 the WebProcess for WebKit2 (https://bugs.webkit.org/show_bug.cgi?id=77259)
3300 leaving the WebKit1 behavior unchanged.
3302 Reviewed by Alexey Proskuryakov.
3304 No new tests. No changes in behavior.
3306 * platform/Pasteboard.h: Removed most of the Mac specific methods.
3307 * platform/mac/ClipboardMac.mm:
3308 (WebCore::ClipboardMac::writeRange):
3309 (WebCore::ClipboardMac::writeURL):
3310 * platform/mac/DragDataMac.mm:
3311 (WebCore::DragData::asURL): Moved code from PasteboardMac.mm. Removed FIXME
3312 because we only want to handle the case of single file, otherwise the user
3313 doesn't know which of the files has been chosen.
3314 * platform/mac/PasteboardMac.mm:
3315 (WebCore::writeURLForTypes):
3316 (WebCore::Pasteboard::writeURL):
3317 (WebCore::writeFileWrapperAsRTFDAttachment): Now a static function.
3318 (WebCore::Pasteboard::writeImage):
3319 (WebCore::documentFragmentWithImageResource): Ditto.
3320 (WebCore::documentFragmentWithRTF): Ditto.
3321 (WebCore::Pasteboard::documentFragment):
3323 2012-02-06 James Robinson <jamesr@chromium.org>
3325 [chromium] Drop tiles completely outside of layer bounds when resizing to a smaller size
3326 https://bugs.webkit.org/show_bug.cgi?id=77910
3328 Reviewed by Kenneth Russell.
3330 When resizing a tiled layer to a smaller size, drop all tiles that lie completely outside the new layer bounds.
3331 This avoids attempting to access out-of-bounds tiles when iterating over all tiles in the tiler, which triggers
3332 ASSERT()s, as well as saves some memory.
3334 New unit test added to TiledLayerChromiumTest.
3336 * platform/graphics/chromium/TiledLayerChromium.cpp:
3337 (WebCore::TiledLayerChromium::invalidateRect):
3338 * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
3339 (WebCore::CCLayerTilingData::setBounds):
3341 2012-02-06 Chris Rogers <crogers@google.com>
3343 zvmul incorrectly multiplies complex arrays on Windows.
3344 https://bugs.webkit.org/show_bug.cgi?id=77900
3346 Reviewed by Kenneth Russell.
3348 * platform/audio/VectorMath.cpp:
3349 (WebCore::VectorMath::zvmul):
3351 2012-02-06 Andreas Kling <awesomekling@apple.com>
3353 REGRESSION(r106756): 10% performance hit on DOM/Template.
3354 <http://webkit.org/b/77831>
3356 Reviewed by Ryosuke Niwa.
3358 Let the StylePropertySet used for element attribute style have the element as its parent.
3359 This is accomplished by adding an m_parentIsElement bit to StylePropertySet and sharing
3360 some of the internal logic with inline styles.
3362 In the end, this means that CSSParser will now pick up the document's CSSValuePool when
3363 parsing properties for attribute styles, which fixes the perf regression from r106756.
3365 * css/StylePropertySet.cpp:
3366 (WebCore::StylePropertySet::StylePropertySet):
3367 (WebCore::StylePropertySet::contextStyleSheet):
3369 Find contextStyleSheet via the parentElement() when there is one.
3371 (WebCore::StylePropertySet::setNeedsStyleRecalc):
3373 Always set FullStyleChange for attribute style mutations. We can probably use the
3374 same lighter invalidation as inline styles, but that's a topic for another patch.
3376 * css/StylePropertySet.h:
3377 (WebCore::StylePropertySet::createInline):
3378 (WebCore::StylePropertySet::createAttributeStyle):
3379 (WebCore::StylePropertySet::parentRuleInternal):
3380 (WebCore::StylePropertySet::clearParentRule):
3382 (WebCore::StylePropertySet::parentElement):
3383 (WebCore::StylePropertySet::clearParentElement):
3385 Added m_parentIsElement bit and update assertions as appropriate to not just
3386 cover the inline style case. Added a createAttributeStyle() helper to create
3387 a StylePropertySet for use as Element::attributeStyle().
3389 * dom/StyledElement.h:
3390 * dom/ElementAttributeData.h:
3391 * dom/ElementAttributeData.cpp:
3392 (WebCore::ElementAttributeData::ensureAttributeStyle):
3394 Use StylePropertySet::createAttributeStyle().
3396 * dom/StyledElement.cpp:
3397 (WebCore::StyledElement::removeCSSProperties):
3398 (WebCore::StyledElement::addCSSProperty):
3399 (WebCore::StyledElement::addCSSImageProperty):
3401 Remove setNeedsStyleRecalc() calls since that is now handled automatically by
3402 StylePropertySet's mutation methods.
3404 2012-02-06 Kentaro Hara <haraken@chromium.org>
3406 In AppleWebKit, stop rebuilding IDLs that need not to be rebuilt
3407 https://bugs.webkit.org/show_bug.cgi?id=77510
3409 Reviewed by Adam Barth.
3411 Currently, if any IDL file is updated, all IDL files are rebuilt.
3412 This patch stops rebuilding IDL files which are not modified nor
3413 whose supplemental dependencies are not changed.
3415 The new build flow is as follows:
3417 supplemental.dep : $(ALL_IDLS)
3418 perl resolve-supplemental.pl ...
3420 %.idl-needs-rebuild : %.idl supplemental.dep
3421 perl update-idl-needs-rebuild.pl ...
3423 JS%.cpp : %.idl-needs-rebuild
3424 perl generate-bindings.pl ...
3426 resolve-supplemental.pl generates the following supplemental.dep.
3427 The number in () is the last access timestamp of the file.
3430 B.idl(1000) B-supplemental1.idl(800) B-supplemental2.idl(1200)
3433 update-idl-needs-rebuild.pl for X.idl touches X.idl-needs-rebuild,
3434 if X.idl-needs-rebuild is older than X.idl or the IDL files which are
3435 supplementing X.idl. For example, if the timestamps of A.idl-needs-rebuild,
3436 B.idl-needs-rebuild and C.idl-needs-rebuild are all 1000, then A.idl-needs-rebuild
3437 and B.idl-needs-rebuild will be touched.
3439 Even if no IDL files are modified, update-idl-needs-rebuild.pl can run for all IDL files,
3440 but generate-bindings.pl won't run. If any IDL file is updated, resolve-supplemental.pl
3441 will run once, update-idl-needs-rebuild.pl will run for all IDL files, and
3442 generate-bindings.pl will run for the IDL files which are modified or whose
3443 dependencies are changed.
3445 No tests. I manually confirmed the followings:
3446 - Touch Element.idl, then only Element.idl is rebuilt
3447 - Touch DOMWindow.idl, then only DOMWindow.idl is rebuilt
3448 - Touch DOMWindowWebAudio.idl, then only DOMWindow.idl and DOMWindowWebAudio.idl are rebuilt
3450 * DerivedSources.make: Modified the build flow as described above.
3451 * bindings/scripts/generate-bindings.pl: Modified to read an IDL file path from .idl-needs-rebuild.
3452 * bindings/scripts/update-idl-needs-rebuild.pl: Added. Touches X.idl-needs-rebuild if
3453 the X.idl-needs-rebuild is older than X.idl or the IDL files which are supplementing X.idl.
3456 2012-02-06 Wei James <james.wei@intel.com>
3458 AudioBus need to support stereo->mono down mix in copyFrom sumFrom etc.
3459 https://bugs.webkit.org/show_bug.cgi?id=77609
3461 Reviewed by Kenneth Russell.
3463 Test: webaudio/stereo2mono-down-mixing.html
3465 * platform/audio/AudioBus.cpp:
3467 (WebCore::AudioBus::copyFrom):
3468 (WebCore::AudioBus::sumFrom):
3470 2012-02-06 Cris Neckar <cdn@chromium.org>
3472 Add RefPtrs for parent and sibling counter nodes
3473 https://bugs.webkit.org/show_bug.cgi?id=75212
3475 Reviewed by Adam Barth.
3477 Test: fast/css/counters/reparent-table-children-with-counters-crash.html
3479 * rendering/RenderCounter.cpp:
3480 (WebCore::findPlaceForCounter):
3481 (WebCore::makeCounterNode):
3482 (WebCore::updateCounters):
3484 2012-02-06 Kalev Lember <kalevlember@gmail.com>
3486 [GTK] Add missing pango include dir to fix build
3487 https://bugs.webkit.org/show_bug.cgi?id=77832
3489 Reviewed by Martin Robinson.
3491 * GNUmakefile.am: Added $(PANGO_CFLAGS) to libWebCore_la_CPPFLAGS.
3493 2012-02-06 Jochen Eisinger <jochen@chromium.org>
3495 Before accessing a frame's script controller in V8 bindings, first check that the frame actually exists
3496 https://bugs.webkit.org/show_bug.cgi?id=77370
3498 Reviewed by Adam Barth.