1 2012-02-08 Dirk Schulze <krit@webkit.org>
3 viewBox on nested SVG causes wrong content size for relative values
4 https://bugs.webkit.org/show_bug.cgi?id=69459
8 In the past we just checked the change of the viewport size of the root SVG element. If the size changed, all childs
9 with relative length values needed a relayout. We did not consider that we might have other viewports in the document.
10 Childs with relative lengths had a strange zooming, if just the viewport size of an inner SVG element changed.
12 With this patch we check if the size of the nearest viewport changes. Is this the case, childs with relative lengths
15 Test: inner-svg-change-viewBox.svg
17 * rendering/svg/RenderSVGContainer.cpp:
18 (WebCore::RenderSVGContainer::layout):
19 * rendering/svg/RenderSVGContainer.h:
21 (WebCore::RenderSVGContainer::determineIfLayoutSizeChanged): Check if we need layout and have relative length values.
22 * rendering/svg/RenderSVGRoot.cpp:
23 (WebCore::RenderSVGRoot::layout): Remove resetting 'viewport size changed' flag for code operability. No influence on the layout.
24 * rendering/svg/RenderSVGViewportContainer.cpp:
25 (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): Add a flag that indicates that the viewport size changes.
26 (WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged): The flag gets set during the layout phase of the SVG element if the size changes.
28 * rendering/svg/RenderSVGViewportContainer.h:
29 (WebCore::RenderSVGViewportContainer::isLayoutSizeChanged): Added getter to get flag status.
30 (RenderSVGViewportContainer):
31 (WebCore::toRenderSVGViewportContainer): Added casting function for constant RenderObjects.
33 * rendering/svg/SVGRenderSupport.cpp:
34 (WebCore::layoutSizeOfNearestViewportChanged): Search the nearest viewport and check if the size changed.
36 (WebCore::SVGRenderSupport::layoutChildren): Don't check the roots viewport for size changes, but the nearest viewport.
37 * svg/SVGSVGElement.cpp:
38 (WebCore::SVGSVGElement::svgAttributeChanged): Added viewBoxAttr to the list of attributes that cause relayout.
40 2012-02-08 Gregg Tavares <gman@google.com>
42 Implement new WEBGL compressed texture extensions
43 https://bugs.webkit.org/show_bug.cgi?id=77066
45 This removes the old experimental compressed
46 texture extension and implements the first new
49 A test is in the WebGL conformance tests in
50 extensions/webgl-compressed-texture-s3tc.html
51 and will be copied here in a future patch.
53 Reviewed by Kenneth Russell.
55 No new tests. Test coming in future patch.
58 * DerivedSources.make:
59 * GNUmakefile.list.am:
62 * WebCore.xcodeproj/project.pbxproj:
63 * bindings/js/JSWebGLRenderingContextCustom.cpp:
65 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
66 (WebCore::toV8Object):
67 * html/canvas/WebGLCompressedTextureS3TC.cpp: Added.
69 (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
70 (WebCore::WebGLCompressedTextureS3TC::~WebGLCompressedTextureS3TC):
71 (WebCore::WebGLCompressedTextureS3TC::getName):
72 (WebCore::WebGLCompressedTextureS3TC::create):
73 (WebCore::WebGLCompressedTextureS3TC::supported):
74 * html/canvas/WebGLCompressedTextureS3TC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
76 (WebGLCompressedTextureS3TC):
77 * html/canvas/WebGLCompressedTextureS3TC.idl: Renamed from Source/WebCore/html/canvas/WebGLCompressedTextures.idl.
78 * html/canvas/WebGLCompressedTextures.cpp: Removed.
79 * html/canvas/WebGLCompressedTextures.h: Removed.
80 * html/canvas/WebGLExtension.h:
81 * html/canvas/WebGLGetInfo.cpp:
82 (WebCore::WebGLGetInfo::WebGLGetInfo):
84 (WebCore::WebGLGetInfo::getWebGLUnsignedIntArray):
85 * html/canvas/WebGLGetInfo.h:
86 * html/canvas/WebGLObject.cpp:
87 * html/canvas/WebGLRenderingContext.cpp:
89 (WebCore::WebGLRenderingContext::addCompressedTextureFormat):
90 (WebCore::WebGLRenderingContext::compressedTexImage2D):
91 (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
92 (WebCore::WebGLRenderingContext::getExtension):
93 (WebCore::WebGLRenderingContext::getParameter):
94 (WebCore::WebGLRenderingContext::getSupportedExtensions):
95 (WebCore::WebGLRenderingContext::validateCompressedTexFormat):
96 (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
97 (WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
98 (WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions):
99 * html/canvas/WebGLRenderingContext.h:
101 (WebGLRenderingContext):
102 * html/canvas/WebGLRenderingContext.idl:
104 2012-02-08 Ilya Tikhonovsky <loislo@chromium.org>
106 Web Inspector: heap snapshot: implement Distance column in Object's retaining tree.
107 https://bugs.webkit.org/show_bug.cgi?id=78113
109 Retaining path list was replaced with Retaining tree some time ago.
110 But it was not so useful when we want to track the retaining path from an object to a DOM Window node.
112 Drive by fix: sort doesn't work in retaining tree panel.
113 Drive by fix: save/load child nodes doesn't work for the retaining tree panel.
115 Reviewed by Yury Semikhatsky.
117 * inspector/front-end/DetailedHeapshotGridNodes.js:
118 (WebInspector.HeapSnapshotObjectNode):
119 (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity): save/load children fix
120 (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode): save/load children fix
121 (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
122 (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
123 * inspector/front-end/DetailedHeapshotView.js:
124 (WebInspector.HeapSnapshotContainmentDataGrid):
125 (WebInspector.HeapSnapshotRetainmentDataGrid):
126 (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
127 * inspector/front-end/HeapSnapshot.js:
128 (WebInspector.HeapSnapshotRetainerEdge.prototype.set retainerIndex):
129 (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
130 (WebInspector.HeapSnapshotRetainerEdge.prototype.get _node):
131 (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
132 (WebInspector.HeapSnapshotNode.prototype.get distanceToWindow):
133 (WebInspector.HeapSnapshot.prototype._init):
134 (WebInspector.HeapSnapshot.prototype._buildRetainers):
135 (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
136 (WebInspector.HeapSnapshot.prototype._bfs):
137 (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
138 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName):
139 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
140 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeAndNode):
141 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndEdge):
142 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndNode):
143 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
144 (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
145 * inspector/front-end/heapProfiler.css:
146 (.detailed-heapshot-view .data-grid td.distanceToWindow-column):
148 2012-02-08 Anders Carlsson <andersca@apple.com>
150 Fix assertion in svg/dom/SVGStyledElement-pendingResource-crash.html
151 https://bugs.webkit.org/show_bug.cgi?id=78126
153 Reviewed by Dan Bernstein.
155 This broke in r106977 when I tried to change an early return into an ASSERT,
156 so let's bring back the early return.
158 * page/FrameView.cpp:
159 (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
161 2012-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
163 Unreviewed, rolling out r106920, r106924, r106933, r106939,
165 http://trac.webkit.org/changeset/106920
166 http://trac.webkit.org/changeset/106924
167 http://trac.webkit.org/changeset/106933
168 http://trac.webkit.org/changeset/106939
169 http://trac.webkit.org/changeset/107090
170 https://bugs.webkit.org/show_bug.cgi?id=78124
172 Something is completely wrong this change (Requested by
173 Ossy_gardener on #webkit).
175 * platform/FileSystem.h:
177 * platform/qt/FileSystemQt.cpp:
179 2012-02-08 David Hyatt <hyatt@apple.com>
181 https://bugs.webkit.org/show_bug.cgi?id=78122
183 Add support for the "contains" value for line-grid-snap. This value centers the line box in between the
184 text-top and text-bottom of the minimum number of grid lines that enclose the line box. This is useful for
185 centering headers in a line grid.
187 Reviewed by Adam Roben.
189 Added a new test in fast/line-grid.
191 * rendering/RootInlineBox.cpp:
192 (WebCore::RootInlineBox::lineGridSnapAdjustment):
194 2012-02-08 Cary Clark <caryclark@google.com>
196 [Skia Mac] Make misspelling underline dots unclipped
197 https://bugs.webkit.org/show_bug.cgi?id=78117
198 http://code.google.com/p/chromium/issues/detail?id=113154
200 Reviewed by Stephen White.
202 No new tests. Existing layout tests cover this.
204 As is done on the CoreGraphics Mac platform, adjust the
205 underline width to remove partial dots, not including the
206 trailing transparent pixel column.
208 * platform/graphics/skia/GraphicsContextSkia.cpp:
209 (WebCore::GraphicsContext::drawLineForTextChecking):
211 2012-02-08 Pavel Feldman <pfeldman@google.com>
213 Web Inspector: bind entire subtree upon childNodeInserted so that text node were accounted.
214 https://bugs.webkit.org/show_bug.cgi?id=78116
216 Reviewed by Yury Semikhatsky.
218 * inspector/front-end/DOMAgent.js:
219 (WebInspector.DOMNode):
220 (WebInspector.DOMDocument):
221 (WebInspector.DOMAgent.prototype._setDocument):
222 (WebInspector.DOMAgent.prototype._setDetachedRoot):
223 (WebInspector.DOMAgent.prototype._setChildNodes):
224 (WebInspector.DOMAgent.prototype._childNodeRemoved):
225 (WebInspector.DOMAgent.prototype._unbind):
227 2012-02-08 Peter Rybin <peter.rybin@gmail.com>
229 Web Inspector: Optional out arguments are not supported in the Web Inspector protocol, which breaks the implementation
230 https://bugs.webkit.org/show_bug.cgi?id=77967
232 Reviewed by Yury Semikhatsky.
234 Condition for RefPtr-based types added. This is more-or-less a hack
235 and it's should be redone together with the switch to type-safe API.
237 * inspector/CodeGeneratorInspector.py:
238 (Generator.process_command):
240 2012-02-07 Yury Semikhatsky <yurys@chromium.org>
242 Web Inspector: inspected object wrapper should be released by InjectedScript when popover closes
243 https://bugs.webkit.org/show_bug.cgi?id=77972
245 When object popover is shown the object under cursor is resolved and its
246 wrapper is put into 'popover' object wrapper group. The group is discarded
247 when the popover closes.
249 Reviewed by Pavel Feldman.
251 * bindings/js/ScriptProfiler.cpp:
252 (WebCore::ScriptProfiler::objectByHeapObjectId):
253 * bindings/js/ScriptProfiler.h:
256 * bindings/v8/ScriptProfiler.cpp:
257 (WebCore::ScriptProfiler::objectByHeapObjectId):
259 * bindings/v8/ScriptProfiler.h:
262 * inspector/Inspector.json:
263 * inspector/InspectorProfilerAgent.cpp:
264 (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
265 * inspector/InspectorProfilerAgent.h:
266 (InspectorProfilerAgent):
267 * inspector/front-end/DetailedHeapshotGridNodes.js:
268 (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
269 * inspector/front-end/DetailedHeapshotView.js:
270 (WebInspector.DetailedHeapshotView.prototype._resolveObjectForPopover):
271 * inspector/front-end/JavaScriptSourceFrame.js:
272 (WebInspector.JavaScriptSourceFrame):
273 (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
274 (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
275 * inspector/front-end/ObjectPopoverHelper.js:
276 (WebInspector.ObjectPopoverHelper):
277 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
278 (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
280 2012-02-08 Mario Sanchez Prada <msanchez@igalia.com>
282 [Gtk] atk_text_get_text_at_offset() fails to provide the correct line for list items whose text wraps
283 https://bugs.webkit.org/show_bug.cgi?id=73431
285 Reviewed by Chris Fleizach.
287 Don't replace item's markers with the objectReplacementCharacter
288 character, as they will be treated in an special way later on.
290 * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
291 (textForRenderer): Don't append the objectReplacementCharacter
292 character for list item's markers.
294 2012-02-08 Pavel Feldman <pfeldman@google.com>
296 Web Inspector: do not clear entire tree map upon last element deletion.
297 https://bugs.webkit.org/show_bug.cgi?id=78112
299 Reviewed by Yury Semikhatsky.
301 * inspector/front-end/treeoutline.js:
302 (TreeOutline.prototype._forgetChildrenRecursive):
304 2012-02-08 Kaustubh Atrawalkar <kaustubh@motorola.com>
306 Migrate createObjectURL & revokeObjectURL to static (Class) methods.
307 https://bugs.webkit.org/show_bug.cgi?id=74386
309 Reviewed by Kentaro Hara.
311 Move createObjectURL & revokeObjectURL from DOMURL implementation to
312 static methods as per specs - http://www.w3.org/TR/FileAPI/#creating-revoking
314 Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
316 fast/files/revoke-blob-url.html
317 fast/dom/window-domurl-crash.html
318 fast/files/apply-blob-url-to-img.html
319 fast/files/create-blob-url-crash.html
320 fast/files/workers/inline-worker-via-blob-url.html
322 * GNUmakefile.list.am:
325 * WebCore.vcproj/WebCore.vcproj:
326 * WebCore.xcodeproj/project.pbxproj:
327 * dom/ScriptExecutionContext.cpp:
328 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
329 (WebCore::ScriptExecutionContext::fileThread):
331 (WebCore::ScriptExecutionContext::publicURLManager):
332 * dom/ScriptExecutionContext.h:
334 (ScriptExecutionContext):
337 (WebCore::DOMURL::createObjectURL): Changed to static.
338 (WebCore::DOMURL::revokeObjectURL): ditto.
341 (WebCore::DOMURL::create):
343 * html/PublicURLManager.h: Added.
346 (WebCore::PublicURLManager::create):
347 (WebCore::PublicURLManager::contextDestroyed):
348 (WebCore::PublicURLManager::blobURLs):
349 (WebCore::PublicURLManager::streamURLs):
350 * page/DOMWindow.cpp: Removed object initialization for DOMURL.
352 * page/DOMWindow.h: ditto.
354 * page/DOMWindow.idl:
355 * workers/WorkerContext.cpp:
357 * workers/WorkerContext.h:
359 * workers/WorkerContext.idl:
361 2012-02-01 Brian Grinstead <briangrinstead@gmail.com>
363 Web Inspector: Add changes for Spectrum colorpicker
364 https://bugs.webkit.org/show_bug.cgi?id=75454
366 Reviewed by Pavel Feldman.
368 * inspector/front-end/Color.js:
369 (WebInspector.Color.fromRGB):
370 * inspector/front-end/utilities.js:
371 (Element.prototype.totalOffsetLeft):
372 (Element.prototype.totalOffsetTop):
373 (Element.prototype.totalOffset):
374 (Element.prototype.scrollOffset):
377 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
379 Web Inspector: Avoid an avalanche of "class" attribute modifications in WatchExpressionsSidebarPane
380 https://bugs.webkit.org/show_bug.cgi?id=78102
382 Reviewed by Vsevolod Vlasov.
384 * inspector/front-end/WatchExpressionsSidebarPane.js:
385 (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
387 2012-02-08 Antaryami Pandia <antaryami.pandia@motorola.com>
389 CSS2 overflow: scrollbar not visible on SELECT elements when overflow: scroll is set.
390 https://bugs.webkit.org/show_bug.cgi?id=69993
392 Reviewed by Simon Fraser.
394 The issue was that for overflow:scroll, currently webkit always places the horizontal
395 and vertical scrollbar. But Since the listbox renderer handles its scrolling,
396 we should not set scrollbar for list-box.
398 Tests: fast/css/getComputedStyle/computed-style-select-overflow.html
399 fast/forms/select-overflow-scroll-inherited.html
400 fast/forms/select-overflow-scroll.html
402 * rendering/RenderBlock.cpp:
403 (WebCore::RenderBlock::layoutBlock):
404 * rendering/RenderLayer.cpp:
405 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
407 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
409 feImage doesn't invalidate when its target SVG element is animated
410 https://bugs.webkit.org/show_bug.cgi?id=73860
412 Reviewed by Dirk Schulze.
414 Consider following testcase:
416 <rect id="rect" fill="red" width="50" height="50"/>
418 <feImage xlink:href="#rect"/>
421 <rect width="50" height="50" filter="url(#filter)"/>
423 If the <rect id="rect"> gets changed dynamically (attribute/property/style change) the <feImage>
424 doesn't notice this, as there's no link between the <rect> and the <feImage>, as the <rect> is not
425 a child of the <feImage/>. To get invalidations working for these situations, we have to track
426 the referencingElement & referencedElement in SVGDocumentExtensions.
428 Fixes parts the SVG-Wow twirl testcase and David Daileys SVG waves example.
430 Tests: svg/filters/feImage-animated-transform-on-target-rect.svg
431 svg/filters/feImage-late-indirect-update.svg
432 svg/filters/feImage-mutliple-targets-id-change.svg
433 svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg
434 svg/filters/feImage-target-attribute-change-with-use-indirection.svg
435 svg/filters/feImage-target-attribute-change.svg
436 svg/filters/feImage-target-inline-style-change.svg
437 svg/filters/feImage-target-property-change.svg
438 svg/filters/feImage-target-style-change.svg
440 * rendering/svg/RenderSVGResource.cpp:
441 (WebCore::removeFromFilterCacheAndInvalidateDependencies): Renamed from removeFromFilterCache, as it has another purpose now.
442 (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): s/removeFromFilterCache/removeFromFilterCacheAndInvalidateDependencies/.
443 * rendering/svg/RenderSVGResource.h: Removed removeFromFilterCache, it got inlined.
444 * svg/SVGDocumentExtensions.cpp: Add a new HashMap<SVGElement*, OwnPtr<HashSet<SVGElement*> > > used for dependency tracking.
445 (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): Returns all elements the passed in element depends on.
446 (WebCore::SVGDocumentExtensions::addElementReferencingTarget): Register element 'a' referencing target 'b'.
447 (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): Called by element 'a' on destruction or any target change.
448 (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): Called by element 'b' on destruction.
449 * svg/SVGDocumentExtensions.h: Expose new methods.
450 * svg/SVGElement.cpp:
451 (WebCore::SVGElement::~SVGElement): Call remove removeAllElementReferencesForTarget on destruction.
452 * svg/SVGFEImageElement.cpp:
453 (WebCore::SVGFEImageElement::clearResourceReferences):
454 (WebCore::SVGFEImageElement::buildPendingResource):
456 2012-02-08 Kihong Kwon <kihong.kwon@samsung.com>
458 [EFL] Using string method instead of char* operation in the platformLanguage().
459 https://bugs.webkit.org/show_bug.cgi?id=78077
461 Reviewed by Andreas Kling.
463 No new tests. Just fix a bug of platformLanguage function.
465 * platform/efl/LanguageEfl.cpp:
466 (WebCore::platformLanguage):
467 Change char* operation to string operation.
469 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
471 Web Inspector: Touch event emulation fails for iframes
472 https://bugs.webkit.org/show_bug.cgi?id=77987
474 Reviewed by Pavel Feldman.
476 Test: fast/events/touch/emulated-touch-iframe.html
478 * page/EventHandler.cpp:
479 (WebCore::EventHandler::handleMouseReleaseEvent):
481 2012-02-08 Andreas Kling <awesomekling@apple.com>
483 StyledElement: Manully setNeedsStyleRecalc() after adding CSSProperties directly.
484 <http://webkit.org/b/78068>
486 Rubber-stamped by Ryosuke Niwa.
488 Turns out that setProperty() with a CSSProperty has quite different behavior from
489 the other setProperty() methods. We should probably clean that up (separately.)
490 For now, simply call setNeedsStyleRecalc() manually in the addCSS* functions that
491 use setProperty(CSSProperty).
493 * dom/StyledElement.cpp:
494 (WebCore::StyledElement::addCSSProperty):
495 (WebCore::StyledElement::addCSSImageProperty):
497 2012-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
499 Unreviewed, rolling out r107050.
500 http://trac.webkit.org/changeset/107050
501 https://bugs.webkit.org/show_bug.cgi?id=78094
503 May crash editing tests (Requested by morrita on #webkit).
505 * html/HTMLDetailsElement.cpp:
506 (WebCore::HTMLDetailsElement::createShadowSubtree):
507 * html/HTMLKeygenElement.cpp:
508 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
509 * html/HTMLMeterElement.cpp:
510 (WebCore::HTMLMeterElement::createShadowSubtree):
511 * html/HTMLProgressElement.cpp:
512 (WebCore::HTMLProgressElement::createShadowSubtree):
513 * html/HTMLSummaryElement.cpp:
514 (WebCore::HTMLSummaryElement::createShadowSubtree):
515 * html/HTMLTextAreaElement.cpp:
516 (WebCore::HTMLTextAreaElement::createShadowSubtree):
518 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
520 [Qt] REGRESSION(r106918): It made svg/zoom/page/zoom-foreignObject.svg crash with Qt5-WK1
521 https://bugs.webkit.org/show_bug.cgi?id=77995
523 Reviewed by Csaba Osztrogonác.
525 From the stack traces it's obvious that SVGImageChromeClient tried to invalidate the root view,
526 while its SVGImage was being destructed, due to an updateStyleIfNeeded() call, coming
527 from frameDetached(). There's no point in redrawing there, so we should just stop it.
529 Covered by existing tests on the Qt but, unfortunately I couldn't reproduce it on Mac.
531 * svg/graphics/SVGImage.cpp:
532 (WebCore::SVGImageChromeClient::invalidateContentsAndRootView): Stop invalidating if m_page is 0.
533 (WebCore::SVGImage::~SVGImage): Clear m_page, so that SVGImageChromeClient knows we're destructing.
534 * svg/graphics/SVGImage.h:
536 2012-02-08 Pablo Flouret <pablof@motorola.com>
538 Add state attribute to history's dom interface.
539 https://bugs.webkit.org/show_bug.cgi?id=76035
541 Reviewed by Kentaro Hara.
543 Tests: fast/loader/stateobjects/state-attribute-object-types.html
544 fast/loader/stateobjects/state-attribute-only-one-deserialization.html
546 * bindings/js/JSHistoryCustom.cpp:
547 (WebCore::JSHistory::state):
549 (WebCore::JSHistory::pushState):
550 (WebCore::JSHistory::replaceState):
551 * bindings/v8/custom/V8HistoryCustom.cpp:
552 (WebCore::V8History::stateAccessorGetter):
554 (WebCore::V8History::pushStateCallback):
555 (WebCore::V8History::replaceStateCallback):
557 (WebCore::History::History):
558 (WebCore::History::state):
560 (WebCore::History::stateInternal):
561 (WebCore::History::stateChanged):
566 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
568 SVGLoad event fires too early
569 https://bugs.webkit.org/show_bug.cgi?id=78084
571 Reviewed by Hajime Morita.
573 SVGLoad event fires too early, making it impossible to use the vanilla repaint.js harness (runRepaintTest).
575 We're using a hack called runSVGRepaintTest() at the moment in trunk, which runs runRepaintTest() from a 0ms timer,
576 which is not reliable. The main difference between HTML onload and SVG onload is that HTMLs event is a "window event",
577 thus dispatched through DOMWindow (eg. <body onload="alert(event.target)" will yield Document,
578 <svg onload="alert(evt.target)"> will say SVGSVGElement).
581 <svg onload="alert('1')>
582 <g onload="alert('2)">
583 <rect onload="alert('3')"/>
586 As soon as the <rect> finishes parsing (SVGElement::finishedParsingChildren), it's SVGLoad event is fired.
587 So first you'll see '3', then '2', then '1'.
590 <svg onload="alert('1')>
591 <g onload="alert('2)">
592 <image xlink:href="someExternal.jpg" onload="alert('3')"/>
595 will yield the same SVGLoad order. When using <image externalREsourcesRequired="true", first the '1' will fire,
596 then '3', then '2', all as expected and specified in SVG.
598 http://www.w3.org/TR/SVG/interact.html#LoadEvent says:
599 "The event is triggered at the point at which the user agent has fully parsed the element and its descendants and is
600 ready to act appropriately upon that element, such as being ready to render the element to the target device. Referenced
601 external resources that are required must be loaded, parsed and ready to render before the event is triggered. Optional
602 external resources are not required to be ready for the event to be triggered."
604 What we don't implement correctly is the second part of the first sentence: "and is ready to act appropriately upon that
605 element, such as being ready to render the element to the target device". We currently fire the SVGLoad event, right after
606 </svg> is seen, if no externalResourceRequired="true" attributes are set anywhere. This is not wrong, but not correct for
607 WebKit, as we're not yet "ready to render".
609 HTML fires its window onload event from Document::implicitClose(), where it calls Document::dispatchWindowLoadEvent.
610 At this point we're ready to render. So I'm now aligning the timing of the outermost <svg> elements SVGLoad event, to be
611 equal to HTML. This lets use use the repaint.js harness w/o any special SVG tricks.
613 Covered by existing tests.
616 (WebCore::Document::implicitClose): Dispatch SVGLoad event for outermost <svg> elements from here, as HTML does for its window onload event.
617 * svg/SVGDocumentExtensions.cpp:
618 (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements): Sends a SVGLoad event to all outermost <svg> elements in a document, if possible.
619 There can be multiple ones, if using <svg><foreignObject><svg>... - the <svg> in the <fO> also acts as outermost <svg> element.
620 * svg/SVGDocumentExtensions.h: Add new dispatchSVGLoadEventToOutermostSVGElements() helper.
621 * svg/SVGElement.cpp:
622 (WebCore::SVGElement::isOutermostSVGSVGElement): Moved from SVGSVGElement into SVGElement, and renamed from isOutermostSVG().
623 (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't dispatch load events to outermost <svg> elements, if Document::implicitClose() wasn't called yet.
624 (WebCore::SVGElement::finishParsingChildren): Stop using the default SVGLoad dispatching logic for outermost <svg> elements.
625 * svg/SVGElement.h: Add isOutermostSVGSVGElement().
626 * svg/SVGSVGElement.cpp: Rename isOutermostSVG to isOutermostSVGSVGElement.
627 (WebCore::SVGSVGElement::currentScale):
628 (WebCore::SVGSVGElement::setCurrentScale):
629 (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
630 (WebCore::SVGSVGElement::createRenderer):
631 * svg/SVGSVGElement.h: Move isOutermostSVG() to SVGElement.
632 * svg/SVGStyledElement.cpp:
633 (WebCore::SVGStyledElement::title): Rename isOutermostSVG to isOutermostSVGSVGElement.
635 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
637 Web Inspector: [CRASH] InspectorDOMAgent::updateTouchEventEmulationInPage()
638 https://bugs.webkit.org/show_bug.cgi?id=78090
640 Reviewed by Vsevolod Vlasov.
642 * inspector/InspectorDOMAgent.cpp:
643 (WebCore::InspectorDOMAgent::updateTouchEventEmulationInPage):
645 2012-02-07 Alexander Pavlov <apavlov@chromium.org>
647 Web Inspector: Closed computed style sidebar pane rebuilds, resulting in slowness
648 https://bugs.webkit.org/show_bug.cgi?id=77865
650 Reviewed by Pavel Feldman.
652 Test: inspector/styles/lazy-computed-style.html
654 * inspector/front-end/StylesSidebarPane.js:
655 (WebInspector.StylesSidebarPane):
656 (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
657 (WebInspector.StylesSidebarPane.prototype._refreshComputedStyleSection):
658 (WebInspector.ComputedStyleSidebarPane.prototype.expand):
659 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
661 2012-02-08 Tommy Widenflycht <tommyw@google.com>
663 MediaStream API: Adding the onstatechange callback to PeerConnection
664 https://bugs.webkit.org/show_bug.cgi?id=77954
666 When readyState changes a callback should be triggered.
668 Reviewed by Adam Barth.
670 Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
674 * mediastream/PeerConnection.cpp:
675 (WebCore::PeerConnection::changeReadyState):
676 * mediastream/PeerConnection.h:
678 (WebCore::PeerConnection::didChangeState):
679 * mediastream/PeerConnection.idl:
680 * platform/mediastream/PeerConnectionHandlerClient.h:
681 (PeerConnectionHandlerClient):
683 2012-02-08 Kentaro Hara <haraken@chromium.org>
685 Rename [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL
686 https://bugs.webkit.org/show_bug.cgi?id=77963
688 Reviewed by Adam Barth.
690 This patch renames [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL,
691 for clarification and for naming consistency with [NamedGetter] and [CustomIndexedSetter].
693 No tests. No change in behavior.
695 * bindings/scripts/CodeGeneratorJS.pm:
697 (GenerateImplementation):
698 * bindings/scripts/CodeGeneratorV8.pm:
699 (GenerateHeaderNamedAndIndexedPropertyAccessors):
700 (GenerateImplementationIndexer):
701 (GenerateImplementationNamedPropertyGetter):
702 * bindings/scripts/test/TestInterface.idl:
703 * css/CSSStyleDeclaration.idl:
704 * dom/DOMStringMap.idl:
705 * html/HTMLAppletElement.idl:
706 * html/HTMLEmbedElement.idl:
707 * html/HTMLObjectElement.idl:
710 * storage/Storage.idl:
712 2012-02-08 Kentaro Hara <haraken@chromium.org>
714 Replace [CheckNodeSecurity] with [CheckAccessToNode]
715 https://bugs.webkit.org/show_bug.cgi?id=77971
717 Reviewed by Adam Barth.
719 [CheckNodeSecurity] is not implemented by code generators.
720 This patch replaces [CheckNodeSecurity] with [CheckAccessToNode].
722 Test: http/tests/security/cross-frame-access-frameelement.html
724 * page/DOMWindow.idl:
726 2012-02-08 Kentaro Hara <haraken@chromium.org>
728 Rename [CustomPushEventHandlerScope] to [JSCustomPushEventHandlerScope]
729 https://bugs.webkit.org/show_bug.cgi?id=78081
731 Reviewed by Adam Barth.
733 [CustomPushEventHandlerScope] is a JSC-specific IDL attribute.
734 This patch renames it to [JSCustomPushEventHandlerScope]
736 No tests. No change in behavior.
738 * bindings/scripts/CodeGeneratorJS.pm:
741 * html/HTMLElement.idl:
743 2012-02-06 Kentaro Hara <haraken@chromium.org>
745 Add "JS" prefix to JSC-specific IDLs
746 https://bugs.webkit.org/show_bug.cgi?id=77846
748 Reviewed by Darin Adler.
750 In bug 77693, we have added "JS" prefix to several JSC specific IDLs.
751 This patch adds "JS" prefix to the remaining JSC specific IDLs.
752 Specifically, this patch renames IDLs as follows:
754 [CustomDefineOwnProperty] => [JSCustomDefineOwnProperty]
755 [CustomPrototypeDefineOwnProperty] => [JSCustomPrototypeDefineOwnProperty]
756 [GenerateNativeConverter] => [JSGenerateToNativeObject] (Note: For naming consistency
757 with [JSGenerateToJS] and [JSCustomToNativeObject])
758 [DelegatingGetOwnPropertySlot] => [JSCustomGetOwnPropertySlotDelegate] (Note: Should be prefixed "JS",
759 should be prefixed with "Custom", and for naming consistency with [CustomGetOwnPropertySlot])
761 No tests. No change in behavior.
763 * bindings/scripts/CodeGeneratorJS.pm:
764 (GenerateGetOwnPropertySlotBody):
765 (GenerateGetOwnPropertyDescriptorBody):
767 (GenerateImplementation):
768 * bindings/scripts/test/TestTypedArray.idl:
770 * dom/DataTransferItemList.idl:
772 * dom/DocumentType.idl:
775 * fileapi/DirectoryEntry.idl:
776 * fileapi/DirectoryEntrySync.idl:
778 * fileapi/FileEntry.idl:
779 * fileapi/FileEntrySync.idl:
780 * fileapi/WebKitBlobBuilder.idl:
781 * html/DOMFormData.idl:
783 * html/HTMLAppletElement.idl:
784 * html/HTMLCanvasElement.idl:
785 * html/HTMLElement.idl:
786 * html/HTMLEmbedElement.idl:
787 * html/HTMLImageElement.idl:
788 * html/HTMLMediaElement.idl:
789 * html/HTMLObjectElement.idl:
790 * html/HTMLOptionElement.idl:
791 * html/HTMLOptionsCollection.idl:
792 * html/HTMLTableCaptionElement.idl:
793 * html/HTMLTableSectionElement.idl:
794 * html/HTMLVideoElement.idl:
795 * html/TextTrackCue.idl:
796 * html/canvas/Float32Array.idl:
797 * html/canvas/Float64Array.idl:
798 * html/canvas/Int16Array.idl:
799 * html/canvas/Int32Array.idl:
800 * html/canvas/Int8Array.idl:
801 * html/canvas/Uint16Array.idl:
802 * html/canvas/Uint32Array.idl:
803 * html/canvas/Uint8Array.idl:
804 * html/canvas/Uint8ClampedArray.idl:
805 * mediastream/LocalMediaStream.idl:
806 * page/DOMWindow.idl:
809 * storage/StorageInfo.idl:
810 * svg/SVGElement.idl:
811 * svg/SVGElementInstance.idl:
812 * workers/DedicatedWorkerContext.idl:
813 * workers/SharedWorker.idl:
814 * workers/SharedWorkerContext.idl:
815 * workers/Worker.idl:
816 * workers/WorkerContext.idl:
818 2012-02-07 Kentaro Hara <haraken@chromium.org>
820 Rename [HasOverridingNameGetter] attribute to [CustomNamedGetter] attribute
821 https://bugs.webkit.org/show_bug.cgi?id=78076
823 Reviewed by Adam Barth.
825 This patch renames the [HasOverridingNameGetter] attribute to the
826 [CustomNamedGetter] attribute, for naming consistency with [CustomNamedSetter].
828 Test: bindings/scripts/test/TestCustomNamedGetter.idl
830 * bindings/scripts/CodeGeneratorJS.pm:
831 (GenerateGetOwnPropertySlotBody):
832 (GenerateGetOwnPropertyDescriptorBody):
834 (GenerateImplementation):
835 * bindings/scripts/CodeGeneratorV8.pm:
836 (GenerateHeaderNamedAndIndexedPropertyAccessors):
837 (GenerateImplementationNamedPropertyGetter):
839 * html/HTMLDocument.idl:
840 * html/HTMLFormElement.idl:
841 * html/HTMLFrameSetElement.idl:
843 * bindings/scripts/test/TestCustomNamedGetter.idl: Renamed from Source/WebCore/bindings/scripts/test/TestOverridingNameGetter.idl.
845 * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Updated run-bindings-tests results.
846 (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate::WebDOMTestCustomNamedGetterPrivate):
847 (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate):
848 (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetter):
849 (WebDOMTestCustomNamedGetter::operator=):
850 (WebDOMTestCustomNamedGetter::impl):
851 (WebDOMTestCustomNamedGetter::~WebDOMTestCustomNamedGetter):
852 (WebDOMTestCustomNamedGetter::anotherFunction):
855 * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Ditto.
857 (WebDOMTestCustomNamedGetter):
858 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp: Ditto.
861 (webkit_dom_test_custom_named_getter_another_function):
863 (webkit_dom_test_custom_named_getter_finalize):
864 (webkit_dom_test_custom_named_getter_set_property):
865 (webkit_dom_test_custom_named_getter_get_property):
866 (webkit_dom_test_custom_named_getter_constructed):
867 (webkit_dom_test_custom_named_getter_class_init):
868 (webkit_dom_test_custom_named_getter_init):
869 (WebKit::wrapTestCustomNamedGetter):
870 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h: Ditto.
871 (_WebKitDOMTestCustomNamedGetter):
872 (_WebKitDOMTestCustomNamedGetterClass):
873 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h: Ditto.
875 * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Ditto.
876 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
878 (WebCore::JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor):
879 (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
880 (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
881 (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
882 (WebCore::JSTestCustomNamedGetterPrototype::self):
883 (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot):
884 (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertyDescriptor):
885 (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
886 (WebCore::JSTestCustomNamedGetter::finishCreation):
887 (WebCore::JSTestCustomNamedGetter::createPrototype):
888 (WebCore::JSTestCustomNamedGetter::destroy):
889 (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
890 (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
891 (WebCore::jsTestCustomNamedGetterConstructor):
892 (WebCore::JSTestCustomNamedGetter::getConstructor):
893 (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
894 (WebCore::isObservable):
895 (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
896 (WebCore::JSTestCustomNamedGetterOwner::finalize):
898 (WebCore::toTestCustomNamedGetter):
899 * bindings/scripts/test/JS/JSTestCustomNamedGetter.h: Ditto.
901 (JSTestCustomNamedGetter):
902 (WebCore::JSTestCustomNamedGetter::create):
903 (WebCore::JSTestCustomNamedGetter::createStructure):
904 (WebCore::JSTestCustomNamedGetter::impl):
905 (WebCore::JSTestCustomNamedGetter::releaseImpl):
906 (WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):
907 (JSTestCustomNamedGetterOwner):
908 (WebCore::wrapperOwner):
909 (WebCore::wrapperContext):
910 (JSTestCustomNamedGetterPrototype):
911 (WebCore::JSTestCustomNamedGetterPrototype::create):
912 (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
913 (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
914 (JSTestCustomNamedGetterConstructor):
915 (WebCore::JSTestCustomNamedGetterConstructor::create):
916 (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
917 * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
918 * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Ditto.
919 * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Ditto.
920 (-[DOMTestCustomNamedGetter dealloc]):
921 (-[DOMTestCustomNamedGetter finalize]):
922 (-[DOMTestCustomNamedGetter anotherFunction:]):
925 * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Ditto.
927 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
929 (TestCustomNamedGetterInternal):
930 (WebCore::TestCustomNamedGetterInternal::V8_USE):
931 (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
932 (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
933 (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
934 (WebCore::V8TestCustomNamedGetter::GetTemplate):
935 (WebCore::V8TestCustomNamedGetter::HasInstance):
936 (WebCore::V8TestCustomNamedGetter::wrapSlow):
937 (WebCore::V8TestCustomNamedGetter::derefObject):
938 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: Ditto.
940 (V8TestCustomNamedGetter):
941 (WebCore::V8TestCustomNamedGetter::toNative):
942 (WebCore::V8TestCustomNamedGetter::existingWrapper):
943 (WebCore::V8TestCustomNamedGetter::wrap):
946 2012-02-07 Emil A Eklund <eae@chromium.org>
948 Revert TableSection cell and border calculations to integers
949 https://bugs.webkit.org/show_bug.cgi?id=77918
951 Reviewed by Eric Seidel.
953 Change RenderTableSection cell width, row height and border calculations
954 back to use integers. Table layout is done on integer bounds to comply
955 with the specification and to ensure that columns given the same width,
956 including percentage widths, are rendered with identical widths. The same
961 * rendering/RenderTableSection.cpp:
962 (WebCore::RenderTableSection::setCellLogicalWidths):
963 (WebCore::RenderTableSection::calcRowLogicalHeight):
964 (WebCore::RenderTableSection::layoutRows):
965 (WebCore::RenderTableSection::calcOuterBorderBefore):
966 (WebCore::RenderTableSection::calcOuterBorderAfter):
967 (WebCore::RenderTableSection::calcOuterBorderStart):
968 (WebCore::RenderTableSection::calcOuterBorderEnd):
969 (WebCore::RenderTableSection::paintObject):
970 (WebCore::RenderTableSection::nodeAtPoint):
971 * rendering/RenderTableSection.h:
972 (RenderTableSection):
973 (WebCore::RenderTableSection::RowStruct::RowStruct):
974 (WebCore::RenderTableSection::outerBorderBefore):
975 (WebCore::RenderTableSection::outerBorderAfter):
976 (WebCore::RenderTableSection::outerBorderStart):
977 (WebCore::RenderTableSection::outerBorderEnd):
979 2012-02-07 Robert Kroeger <rjkroege@chromium.org>
981 [chromium] Remove the no longer necessary Chromium gesture recognizer.
982 https://bugs.webkit.org/show_bug.cgi?id=77492
984 Reviewed by Adam Barth.
987 * platform/PlatformGestureRecognizer.h: Removed.
988 * platform/chromium/FramelessScrollView.h:
990 (FramelessScrollView):
991 * platform/chromium/GestureRecognizerChromium.cpp: Removed.
992 * platform/chromium/GestureRecognizerChromium.h: Removed.
993 * platform/chromium/PopupContainer.cpp:
995 * platform/chromium/PopupContainer.h:
996 * platform/chromium/PopupListBox.cpp:
998 * platform/chromium/PopupListBox.h:
1001 2012-02-07 Erik Arvidsson <arv@chromium.org>
1003 [V8] Allow bindings for attributes on DOM nodes to also set a named hidden reference
1004 https://bugs.webkit.org/show_bug.cgi?id=78052
1006 Reviewed by Nate Chapin.
1008 Before this patch the code generator did not add the named hidden reference when the data node
1009 was a DOM Node. This lead to us having to create custom toV8 bindings in a few places.
1011 Covered by existing tests
1016 * bindings/scripts/CodeGeneratorV8.pm:
1017 (GenerateNormalAttrGetter):
1018 (HasCustomToV8Implementation):
1019 * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1020 * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
1021 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1023 2012-02-07 Kentaro Hara <haraken@chromium.org>
1025 [GTK] Ignore [Custom] attributes in CodeGeneratorGObject.pm
1026 https://bugs.webkit.org/show_bug.cgi?id=78059
1028 Reviewed by Adam Barth.
1030 CodeGeneratorGObject.pm does not support custom attributes.
1031 We can skip generating code for attributes with [Custom].
1032 The change would make sense, since CodeGeneratorGObject.pm already
1033 skips attributes with [CustomGetter] or [CustomSetter].
1035 Test: bindings/scripts/test/TestObj.idl
1037 * bindings/scripts/CodeGeneratorGObject.pm:
1039 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1041 2012-02-07 Emil A Eklund <eae@chromium.org>
1043 Add pixelSnappedX/Y/Width/Height methods
1044 https://bugs.webkit.org/show_bug.cgi?id=78040
1046 Reviewed by Eric Seidel.
1048 Add pixel snapped versions of x/y/width/height methods. These return the
1049 same value as the x/w/width/height methods for now but once we move over
1050 to sub pixel layout they will snap the subpixel value to a device pixel
1051 and return an integer value.
1053 When snapping the left and top edge is simply rounded to the nearest
1055 The right and bottom edges are computed by subtracting the rounded left/
1056 top edge from the precise location and size. This ensures that the edges
1057 all line up with device pixels and that the total size of an object,
1058 including borders, is at most one pixel off.
1060 In summary, the values are computed as follows:
1063 maxX: round(x + width)
1064 maxY: round(y + height)
1065 width: round(x + width) - round(x)
1066 height: round(y + height) - round(y)
1068 We use the term pixel snapped to indicate that the numbers are not merely
1069 rounded. This also matches the naming used by the line box tree.
1071 No new tests, no functionality changes.
1073 * page/PrintContext.cpp:
1074 (WebCore::PrintContext::pageNumberForElement):
1075 * rendering/RenderBlock.cpp:
1076 (WebCore::::collectIfNeeded):
1077 * rendering/RenderBlock.h:
1079 (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
1080 (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
1081 (WebCore::RenderBlock::FloatingObject::pixelSnappedX):
1082 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
1083 (WebCore::RenderBlock::FloatingObject::pixelSnappedY):
1084 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
1085 (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
1086 (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
1088 (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
1089 (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
1090 (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
1091 (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
1092 * rendering/RenderBlockLineLayout.cpp:
1093 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1094 * rendering/RenderBox.cpp:
1095 (WebCore::RenderBox::pixelSnappedClientWidth):
1097 (WebCore::RenderBox::pixelSnappedClientHeight):
1098 (WebCore::RenderBox::scrollHeight):
1099 * rendering/RenderBox.h:
1100 (WebCore::RenderBox::pixelSnappedWidth):
1101 (WebCore::RenderBox::pixelSnappedHeight):
1103 (WebCore::RenderBox::pixelSnappedOffsetWidth):
1104 (WebCore::RenderBox::pixelSnappedOffsetHeight):
1105 (WebCore::RenderBox::clientLogicalWidth):
1106 (WebCore::RenderBox::clientLogicalHeight):
1107 * rendering/RenderBoxModelObject.cpp:
1108 (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
1110 (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
1111 * rendering/RenderBoxModelObject.h:
1112 (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
1113 (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
1114 (RenderBoxModelObject):
1115 * rendering/RenderLayer.cpp:
1116 (WebCore::RenderLayer::pixelSnappedScrollWidth):
1118 (WebCore::RenderLayer::pixelSnappedScrollHeight):
1119 (WebCore::RenderLayer::computeScrollDimensions):
1120 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1121 * rendering/RenderLayer.h:
1123 * rendering/RenderListBox.cpp:
1124 (WebCore::RenderListBox::scrollHeight):
1125 * rendering/RenderTheme.cpp:
1126 (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
1127 * rendering/RenderTreeAsText.cpp:
1130 2012-02-07 Mike Lawther <mikelawther@chromium.org>
1132 CSS3 calc() - simple parse time evaluation
1133 https://bugs.webkit.org/show_bug.cgi?id=77960
1135 Adds simple number/percent expression evaluation. rgb() and hsl() functions now
1136 allow simple calc() expressions.
1138 Reviewed by Ojan Vafai.
1140 * css/CSSCalculationValue.cpp:
1142 (WebCore::CSSCalcValue::doubleValue):
1143 (WebCore::CSSCalcPrimitiveValue::doubleValue):
1144 (WebCore::CSSCalcBinaryOperation::doubleValue):
1145 (CSSCalcBinaryOperation):
1146 (WebCore::CSSCalcBinaryOperation::evaluate):
1147 * css/CSSCalculationValue.h:
1148 (CSSCalcExpressionNode):
1149 (WebCore::CSSCalcValue::isInt):
1151 * css/CSSParser.cpp:
1152 (WebCore::CSSParser::parsedDouble):
1154 2012-02-07 Andreas Kling <awesomekling@apple.com>
1156 REGRESSION(r106668-r106889): Chromium page cycler tests (Intl2) performance regressions.
1157 <http://webkit.org/b/78068>
1159 Reviewed by Ryosuke Niwa.
1161 Create CSS_IDENT values for attribute styles in the document's CSSValuePool.
1162 This regressed in r106756 and I suspect it'll fix up the cycler regression.
1164 * dom/StyledElement.cpp:
1165 (WebCore::StyledElement::addCSSProperty):
1167 2012-02-07 Noel Gordon <noel.gordon@gmail.com>
1169 Remove TextureMapperQt from the gyp projects
1170 https://bugs.webkit.org/show_bug.cgi?id=78055
1172 Reviewed by Noam Rosenthal.
1174 TextureMapperQt.{cpp,h} were removed in r106659, remove references to
1175 these files from the gyp projects.
1179 2012-02-07 Tony Chang <tony@chromium.org>
1181 merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
1182 https://bugs.webkit.org/show_bug.cgi?id=78036
1184 Reviewed by Darin Adler.
1186 In r89362, we started running the preprocessor through CSSPropertyNames.in.
1187 Now we can move DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
1188 and wrap it in an #if.
1190 No new tests, build refactoring.
1192 * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
1193 * DerivedSources.make: Remove DashboardSupportCSSPropertyNames.in.
1194 * DerivedSources.pri: Remove DashboardSupportCSSPropertyNames.in.
1195 * WebCore.xcodeproj/project.pbxproj: Remove DashboardSupportCSSPropertyNames.in.
1196 * css/CSSPropertyNames.in: Wrap -webkit-dashboard-region in an #if.
1197 * css/DashboardSupportCSSPropertyNames.in: Removed.
1199 2012-02-07 Xingnan Wang <xingnan.wang@intel.com>
1201 Enable IPP for FFTFrame
1202 https://bugs.webkit.org/show_bug.cgi?id=75522
1204 Reviewed by Tony Chang.
1206 Add the FFTFrame implementation using Intel IPP's DFT algorithm.
1208 * WebCore.gyp/WebCore.gyp:
1210 * platform/audio/FFTFrame.h:
1212 * platform/audio/FFTFrameStub.cpp:
1213 * platform/audio/ipp/FFTFrameIPP.cpp: Added.
1215 (WebCore::FFTFrame::FFTFrame):
1216 (WebCore::FFTFrame::initialize):
1217 (WebCore::FFTFrame::cleanup):
1218 (WebCore::FFTFrame::~FFTFrame):
1219 (WebCore::FFTFrame::multiply):
1220 (WebCore::FFTFrame::doFFT):
1221 (WebCore::FFTFrame::doInverseFFT):
1222 (WebCore::FFTFrame::realData):
1223 (WebCore::FFTFrame::imagData):
1224 (WebCore::FFTFrame::getUpToDateComplexData):
1226 2012-02-07 Adrienne Walker <enne@google.com>
1228 Properly detect top level frames when propogating compositing
1229 https://bugs.webkit.org/show_bug.cgi?id=78033
1231 Reviewed by James Robinson.
1233 There's no need to enumerate all tag names when searching for a
1234 top-level frame. If a render view's document has a frame, then that
1235 frame is not the top-level one.
1237 * rendering/RenderLayerCompositor.cpp:
1238 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
1239 * rendering/RenderLayerCompositor.h:
1240 (RenderLayerCompositor):
1242 2012-02-07 Chris Palmer <palmer@google.com>
1244 Resolve crash in FrameLoader::checkTimerFired.
1245 https://bugs.webkit.org/show_bug.cgi?id=77907
1247 Reviewed by Eric Seidel.
1249 Test is LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html.
1251 * loader/FrameLoader.cpp:
1252 (WebCore::FrameLoader::checkTimerFired):
1254 2012-02-07 Yong Li <yoli@rim.com>
1256 [BlackBerry] NetworkJob should stop redirecting when the request is cleared by client
1257 https://bugs.webkit.org/show_bug.cgi?id=78029
1259 Reviewed by Rob Buis.
1261 When a redirect is rejected by security origin check, the ResourceRequest
1262 will be cleared (see DocumentThreadableLoader::redirectReceived()). In this
1263 case, we should stop handling the request.
1265 No new tests because existing tests (like http:/tests/xmlhttprequest/redirect-cross
1266 -origin-tripmine.html) can cover this.
1268 * platform/network/blackberry/NetworkJob.cpp:
1269 (WebCore::NetworkJob::startNewJobWithRequest):
1271 2012-02-07 David Barton <dbarton@mathscribe.com>
1273 Remove extraneous MathML code before bug 52444 fix
1274 https://bugs.webkit.org/show_bug.cgi?id=78034
1276 Reviewed by Eric Seidel.
1278 Per Darin Adler, I am breaking up the patch fixing bug 52444 into smaller pieces.
1279 This patch removes a couple unused functions, some extra blank lines, unused #include
1280 directives, etc., and adds a very few WebKit-standard changes to these files.
1284 * rendering/mathml/RenderMathMLBlock.cpp:
1286 * rendering/mathml/RenderMathMLBlock.h:
1287 (WebCore::RenderMathMLBlock::getBoxModelObjectHeight):
1288 - changed to a static member function since 'this' is unused;
1289 removed redundant non-const version
1290 (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
1291 - changed to a static member function since 'this' is unused;
1292 removed redundant non-const version
1294 * rendering/mathml/RenderMathMLFraction.cpp:
1295 * rendering/mathml/RenderMathMLMath.cpp:
1296 * rendering/mathml/RenderMathMLMath.h:
1297 * rendering/mathml/RenderMathMLOperator.h:
1299 * rendering/mathml/RenderMathMLRoot.cpp:
1300 * rendering/mathml/RenderMathMLRow.cpp:
1301 * rendering/mathml/RenderMathMLRow.h:
1302 * rendering/mathml/RenderMathMLSquareRoot.cpp:
1303 * rendering/mathml/RenderMathMLSquareRoot.h:
1304 * rendering/mathml/RenderMathMLSubSup.cpp:
1305 * rendering/mathml/RenderMathMLSubSup.h:
1306 * rendering/mathml/RenderMathMLUnderOver.cpp:
1307 * rendering/mathml/RenderMathMLUnderOver.h:
1309 2012-02-07 David Reveman <reveman@chromium.org>
1311 [Chromium] REGRESSION(r101854): Causing large amounts of unnecessary repainting.
1312 https://bugs.webkit.org/show_bug.cgi?id=78020
1314 Reviewed by James Robinson.
1318 This patch is tested by the following unit test:
1319 - TextureManagerTest.requestTextureExceedingPreferredLimit
1321 * platform/graphics/chromium/ManagedTexture.cpp:
1322 (WebCore::ManagedTexture::reserve):
1323 * platform/graphics/chromium/TextureManager.cpp:
1324 (WebCore::TextureManager::requestTexture):
1325 * platform/graphics/chromium/TextureManager.h:
1328 2012-02-07 Anders Carlsson <andersca@apple.com>
1330 Use the non-fast-scrollable region to detect when we can't do fast scrolling
1331 https://bugs.webkit.org/show_bug.cgi?id=78056
1332 <rdar://problem/10247932>
1334 Reviewed by Sam Weinig.
1336 * page/scrolling/ScrollingCoordinator.cpp:
1337 (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1338 Actually set the non-fast scrollable region on the scrolling tree state.
1340 * page/scrolling/ScrollingTree.cpp:
1341 (WebCore::ScrollingTree::tryToHandleWheelEvent):
1342 Check if the wheel event's position is inside the non-fast-scrollable region
1343 and return false if it is.
1345 (WebCore::ScrollingTree::updateMainFrameScrollPosition):
1346 Store the cached main frame scroll position so we can use it in tryToHandleWheelEvent.
1348 * platform/graphics/Region.cpp:
1349 * platform/graphics/Region.h:
1350 Add a simple contains(const IntPoint&) member function.
1352 2012-02-07 Dan Bernstein <mitz@apple.com>
1354 <rdar://problem/10475450> Synthetic bold is illegible under some scaling transforms
1355 https://bugs.webkit.org/show_bug.cgi?id=78044
1357 Reviewed by Beth Dakin.
1359 Tests: fast/text/synthetic-bold-transformed-expected.html
1360 fast/text/synthetic-bold-transformed.html
1362 * platform/graphics/mac/FontMac.mm:
1363 (WebCore::Font::drawGlyphs): Changed to interpret syntheticBoldOffset as a length in device pixels.
1365 2012-02-07 Levi Weintraub <leviw@chromium.org>
1367 Update LayoutUnit usage in ColumnInfo and RenderFrameSet
1368 https://bugs.webkit.org/show_bug.cgi?id=77914
1370 Reviewed by Eric Seidel.
1372 Updating ColumnInfo and RenderFrameSet to use LayoutUnits
1373 instead of directly referencing integers for locations and
1376 No new tests. No changed behavior.
1378 * rendering/ColumnInfo.h:
1379 (WebCore::ColumnInfo::forcedBreakOffset):
1380 (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
1382 * rendering/RenderFrameSet.cpp:
1383 (WebCore::RenderFrameSet::paintColumnBorder):
1384 (WebCore::RenderFrameSet::paintRowBorder):
1385 * rendering/RenderFrameSet.h:
1388 2012-02-07 Adam Klein <adamk@chromium.org>
1390 Add JSC support for delivering mutations when the outermost script context exits
1391 https://bugs.webkit.org/show_bug.cgi?id=70289
1393 Reviewed by Eric Seidel.
1395 The meat of this change is in JSMainThreadExecState, where a counter
1396 is incremented every time WebCore calls into JSC and decremented every
1397 time it returns. When the counter reaches zero, any pending mutations
1398 are delivered (this mirrors very similar code in V8Proxy and V8RecursionScope).
1400 The rest of the changes are of two sorts: compilation/logic fixes for
1401 JSC code when ENABLE(MUTATION_OBSERVERS) is true, and additional
1402 usages of JSMainThreadExecState so as to trigger the above
1403 increment/decrements at the appropriate times.
1405 * bindings/js/JSCustomXPathNSResolver.cpp:
1406 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1407 Use JSMainThreadExecState instead of JSC::call.
1408 * bindings/js/JSDictionary.cpp:
1409 (WebCore::JSDictionary::convertValue): Add support
1410 for tryGetProperty with a HashMap<AtomicString>.
1411 * bindings/js/JSDictionary.h:
1412 * bindings/js/JSErrorHandler.cpp:
1413 (WebCore::JSErrorHandler::handleEvent):
1414 Use JSMainThreadExecState instead of JSC::call.
1415 * bindings/js/JSHTMLDocumentCustom.cpp:
1416 (WebCore::JSHTMLDocument::open):
1417 Use JSMainThreadExecState instead of JSC::call.
1418 * bindings/js/JSMainThreadExecState.cpp:
1419 (WebCore::JSMainThreadExecState::didLeaveScriptContext):
1420 * bindings/js/JSMainThreadExecState.h:
1421 (WebCore::JSMainThreadExecState::JSMainThreadExecState):
1422 Increment a static recursion level counter.
1423 (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
1424 Decrement a static recursion level counter and, if we are
1425 at zero (the outermost script invocation), deliver any
1426 outstanding mutation records.
1427 * bindings/js/JSNodeFilterCondition.cpp:
1428 (WebCore::JSNodeFilterCondition::acceptNode):
1429 Use JSMainThreadExecState instead of JSC::call.
1430 * bindings/js/JSWebKitMutationObserverCustom.cpp:
1431 (WebCore::JSWebKitMutationObserver::observe):
1432 Fix JSDictionary logic, add support for attributeFilter.
1434 2012-02-07 Anders Carlsson <andersca@apple.com>
1438 * platform/ScrollableArea.h:
1439 (WebCore::ScrollableArea::scrollableAreaBoundingBox):
1441 2012-02-07 Levi Weintraub <leviw@chromium.org>
1443 [SVG] Use element disappears after scripted change
1444 https://bugs.webkit.org/show_bug.cgi?id=74392
1446 Reviewed by Eric Seidel.
1448 Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
1449 SVGUseElements to not update the shadow root's style, and therefor not render
1452 Test: svg/custom/use-disappears-after-style-update.svg
1454 * svg/SVGUseElement.cpp:
1455 (WebCore::SVGUseElement::didRecalcStyle):
1457 2012-02-07 Kentaro Hara <haraken@chromium.org>
1459 Rename [v8OnProto] IDL attribute to [V8OnProto] IDL attribute
1460 https://bugs.webkit.org/show_bug.cgi?id=77973
1462 Reviewed by Adam Barth.
1464 This patch renames [v8OnProto] to [V8OnProto], since V8 specific IDL
1465 attributes should be prefixed by "V8".
1467 No tests. No change in behavior.
1469 * bindings/scripts/CodeGeneratorV8.pm:
1470 (GenerateNormalAttrGetter):
1471 (GenerateNormalAttrSetter):
1472 (GenerateSingleBatchedAttribute):
1473 (GenerateImplementation):
1475 2011-10-10 Jer Noble <jer.noble@apple.com>
1477 media/audio-data-url.html test broken on Lion
1478 https://bugs.webkit.org/show_bug.cgi?id=69779
1480 Reviewed by Eric Carlson.
1482 Do not use "OpenForPlayback" attribute on data:// urls, as CoreMedia/QuickTime X cannot
1485 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1486 (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1488 2012-02-07 Anders Carlsson <andersca@apple.com>
1490 Scrolling tree should keep track of region we can't do fast scrolling for
1491 https://bugs.webkit.org/show_bug.cgi?id=78050
1493 Reviewed by Dan Bernstein.
1495 We currently won't do fast scrolling for subframes and other types of scrollable areas.
1496 Because of this, we'll have the scrolling tree keep a region of the page for which we can't
1497 do fast scrolling. This region will be updated after layout.
1499 * page/FrameView.cpp:
1500 (WebCore::FrameView::scrollableAreaBoundingBox):
1501 Return the bounding box.
1503 * page/scrolling/ScrollingCoordinator.cpp:
1504 (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1505 Go through all the scrollable areas in this frame view and compute the region which we can't do
1508 * page/scrolling/ScrollingTree.cpp:
1509 (WebCore::ScrollingTree::commitNewTreeState):
1510 Update the non-fast-scrollable region.
1512 * page/scrolling/ScrollingTreeState.cpp:
1513 (WebCore::ScrollingTreeState::setNonFastScrollableRegion):
1514 Set the non-fast-scrollable region if it's changed.
1516 * platform/ScrollableArea.h:
1517 Add scrollableAreaBoundingBox member function.
1519 * rendering/RenderLayer.cpp:
1520 (WebCore::RenderLayer::scrollableAreaBoundingBox):
1521 Return the bounding box.
1523 * rendering/RenderListBox.cpp:
1524 (WebCore::RenderListBox::scrollableAreaBoundingBox):
1525 Return the bounding box.
1527 2012-02-07 Levi Weintraub <leviw@chromium.org>
1529 unicode-bidi:plaintext is supposed to be effective on display:inline elements too
1530 https://bugs.webkit.org/show_bug.cgi?id=73310
1532 Reviewed by Eric Seidel.
1534 Adding support for unicode-bidi: plaintext as a property on inlines. These are treated
1535 like unicode-bidi: isolate with the addition of their directionality being determined
1538 Tests: fast/text/international/inline-plaintext-is-isolated-expected.html
1539 fast/text/international/inline-plaintext-is-isolated.html
1540 fast/text/international/inline-plaintext-relayout-with-leading-neutrals-expected.html
1541 fast/text/international/inline-plaintext-relayout-with-leading-neutrals.html
1542 fast/text/international/inline-plaintext-with-generated-content-expected.html
1543 fast/text/international/inline-plaintext-with-generated-content.html
1545 * platform/text/UnicodeBidi.h:
1546 (WebCore::isIsolated): Added this convenience function as Plaintext and Isolate Unicode-Bidi values
1547 are both treated as isolated content.
1548 * rendering/InlineIterator.h:
1549 (WebCore::notifyObserverEnteredObject): Inline now supports Unicode-Bidi Plaintext.
1550 (WebCore::notifyObserverWillExitObject): Ditto.
1551 (WebCore::bidiFirstSkippingEmptyInlines): Changed to support being called without a resolver.
1552 (WebCore::isIsolatedInline): Inline now supports Unicode-Bidi: Plaintext.
1553 * rendering/RenderBlockLineLayout.cpp:
1554 (WebCore::determineDirectionality): Generalized for inlines.
1555 (WebCore::constructBidiRuns): Added support for Unicode-Bidi: Plaintext as an isolated inline.
1556 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Fixed comment.
1557 (WebCore::RenderBlock::determineStartPosition): Fixed comment and switched to updated
1558 bidiFirstSkippingEmptyInlines.
1560 2012-02-07 Kentaro Hara <haraken@chromium.org>
1562 [Refactoring] Use the [IsWorkerContext] IDL in CodeGeneratorV8.pm
1563 https://bugs.webkit.org/show_bug.cgi?id=77957
1565 Reviewed by Adam Barth.
1567 This patch replaces IsSubType("WorkerContext") and something equivalent that
1568 with the [IsWorkerContext] IDL.
1570 No tests. No change in behavior.
1572 * bindings/scripts/CodeGeneratorV8.pm:
1573 (GetInternalFields):
1574 (GenerateConstructorGetter):
1575 (GenerateImplementation):
1577 2012-02-07 David Reveman <reveman@chromium.org>
1579 [Chromium] Crash when using per-tile painting on Windows.
1580 https://bugs.webkit.org/show_bug.cgi?id=75715
1582 Reviewed by James Robinson.
1584 PlatformCanvas constructor on win32 expects forth argument to be a
1585 shared section handle. Passing a pointer to a system memory causes
1586 it to crash. Fix this by not using the PlatformCanvas API for
1587 SkCanvas construction in per-tile texture uploader.
1589 Tested with manual tests.
1591 * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
1592 (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
1593 (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
1594 * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
1597 2012-02-07 Jer Noble <jer.noble@apple.com>
1599 Unreviewed build fix; make OSStatus the explicit return type for CMTimebase functions.
1601 * platform/mac/PlatformClockCM.mm:
1603 2012-02-07 James Robinson <jamesr@chromium.org>
1605 [chromium] Allow retaining texture across frames in composited video playback and correctly handle lost context
1606 https://bugs.webkit.org/show_bug.cgi?id=77923
1608 Reviewed by Kenneth Russell.
1610 Thanks to r106840, we can improve the video playback mode a bit. Instead of creating a new texture on every
1611 frame, this attempts to reuse the texture from the previous frame unless the context is lost. Also improves
1612 error checking in case the TextureManager cannot successfully reserve memory for the texture.
1614 Tested manually by killing the GPU process with an html5 video playing and verifying that the video playback
1615 continues and that we don't create a new set of textures for each plane on each frame.
1617 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1618 (WebCore::CCVideoLayerImpl::draw):
1619 (WebCore::CCVideoLayerImpl::reserveTextures):
1621 2012-02-07 Matthew Delaney <mdelaney@apple.com>
1623 https://bugs.webkit.org/show_bug.cgi?id=77912
1624 Removing old CG shadow code.
1626 A CG-specific shadow offset hack was added in http://trac.webkit.org/changeset/34317
1627 for this particular setShadow method. However, this shadow offset adjustment for CG
1628 has since moved down into platform specific code. Thus, this offset adjustment here
1631 The CG-only shadow setting code block in this setShadow method is now redundant.
1632 Since it sets the shadow values to the CGContext directly - and not to the State object -
1633 it will be overwritten later by any subsequent calls to setting shadow values such as
1634 blur, offset, or shadow color.
1636 Reviewed by Simon Fraser.
1638 No new tests. Current canvas tests cover this path.
1640 * html/canvas/CanvasRenderingContext2D.cpp:
1641 (WebCore::CanvasRenderingContext2D::setShadow):
1643 2012-02-07 James Robinson <jamesr@chromium.org>
1645 [chromium] Gracefully handle compositor initialization failure in single-threaded proxy
1646 https://bugs.webkit.org/show_bug.cgi?id=78013
1648 Reviewed by Kenneth Russell.
1650 If compositor initialization fails it's not safe to proceed through the rest of the frame process. This adds
1653 Tested manually by forcing the first makeContextCurrent() call fail.
1655 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1656 (WebCore::CCLayerTreeHost::updateLayers):
1657 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1659 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1660 (WebCore::CCSingleThreadProxy::compositeAndReadback):
1661 (WebCore::CCSingleThreadProxy::compositeImmediately):
1662 (WebCore::CCSingleThreadProxy::commitIfNeeded):
1663 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1664 (CCSingleThreadProxy):
1666 2012-02-07 Brady Eidson <beidson@apple.com>
1668 <rdar://problem/9567286> and https://bugs.webkit.org/show_bug.cgi?id=78003
1669 WebKit associates credentials with the wrong site if the authentication challenge takes place after a redirect chain
1671 Reviewed by Alexey Proskuryakov.
1673 Test: http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html
1675 Associate the credential with the URL of the challenge itself, not the original request:
1676 * platform/network/cf/ResourceHandleCFNet.cpp:
1677 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1678 (WebCore::ResourceHandle::receivedCredential):
1679 * platform/network/mac/ResourceHandleMac.mm:
1680 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1681 (WebCore::ResourceHandle::receivedCredential):
1683 2012-02-07 Tony Chang <tony@chromium.org>
1685 move warning about css values and render style constants closer to where it applies
1686 https://bugs.webkit.org/show_bug.cgi?id=78017
1688 Reviewed by Darin Adler.
1690 Move the warning about keeping RenderStyleConstnats.h enums and
1691 CSSValueKeywords.in values in the same order closer to the properties
1692 that the warning applies to. The warning was easy to miss and was
1693 confusing since it doesn't apply to most values.
1695 Also refactor 2 conversion functions to
1696 enumerate the possible values so the order doesn't matter.
1698 No new tests, just refactoring and comment cleanup.
1700 * css/CSSPrimitiveValueMappings.h:
1701 (WebCore::CSSPrimitiveValue::operator EListStylePosition): Name all possible values and add a NOT_REACHED().
1702 (WebCore::CSSPrimitiveValue::operator EUserModify): Name all possible values and add a NOT_REACHED().
1703 * css/CSSValueKeywords.in:
1704 * css/SVGCSSPropertyNames.in:
1705 * css/SVGCSSValueKeywords.in:
1706 * rendering/style/RenderStyleConstants.h:
1708 2012-02-06 Jer Noble <jer.noble@apple.com>
1710 Use CMClock as a timing source for PlatformClock where available.
1711 https://bugs.webkit.org/show_bug.cgi?id=77885
1713 Reviewed by Eric Carlson.
1715 No new tests; performance improvement covered by existing test cases.
1717 * WebCore.xcodeproj/project.pbxproj:
1718 * platform/Clock.cpp:
1719 (Clock::create): Use PlatformClockCM if available.
1720 * platform/mac/PlatformClockCM.h: Added.
1721 (WebCore::PlatformClockCM::playRate):
1722 (WebCore::PlatformClockCM::isRunning):
1723 * platform/mac/PlatformClockCM.mm: Added.
1724 (PlatformClockCM::PlatformClockCM):
1725 (PlatformClockCM::initializeWithTimingSource):
1726 (PlatformClockCM::setCurrentTime):
1727 (PlatformClockCM::currentTime):
1728 (PlatformClockCM::setPlayRate):
1729 (PlatformClockCM::start):
1730 (PlatformClockCM::stop):
1732 2012-02-06 Anders Carlsson <andersca@apple.com>
1734 ScrollableAreaSet should be moved from Page to FrameView
1735 https://bugs.webkit.org/show_bug.cgi?id=62762
1737 Reviewed by Beth Dakin.
1739 It makes more sense for the set of scrollable areas to be per frame view instead of per page;
1740 scrollable areas are associated with a containing frame view and their lifecycle follows the lifecycle of the
1741 frame view much more closely. This could even fix a bunch of crashes where a scrollable area outlived its containing page.
1744 Replace the Page member functions with FrameView member functions instead.
1746 * page/EventHandler.cpp:
1747 (WebCore::EventHandler::mouseMoved):
1748 Check if the frame view contains the given layer.
1750 (WebCore::EventHandler::updateMouseEventTargetNode):
1753 * page/FocusController.cpp:
1754 (WebCore::contentAreaDidShowOrHide):
1755 Add helper function.
1757 (WebCore::FocusController::setContainingWindowIsVisible):
1758 Call contentAreaDidShowOrHide for the main frame view, and for all scrollable areas
1759 inside all subframe views.
1761 * page/FrameView.cpp:
1762 (WebCore::FrameView::FrameView):
1763 Use early returns to make the code more clear. Also, don't add the scrollable area to the set here.
1765 (WebCore::FrameView::~FrameView):
1766 Don't remove the scrollable area here.
1768 (WebCore::FrameView::zoomAnimatorTransformChanged):
1769 m_page is gone so use m_frame->page() instead.
1771 (WebCore::FrameView::setAnimatorsAreActive):
1772 Call ScrollAnimator::setIsActive for all the scrollable areas in this frame view. Previously we used to do
1773 this for all scrollable areas on the page, but since setAnimatorsAreActive will be called for each document,
1774 this will be done implicitly.
1776 (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
1777 Call ScrollableArea::contentDidPaint for this frame view and all its immediate scrollable areas. Previously, we used
1778 to do this for all scrollable areas on the page, but we only need to do it for this frame view.
1780 (WebCore::FrameView::scrollAnimatorEnabled):
1781 Get the page from m_frame since m_page is gone.
1783 (WebCore::FrameView::addScrollableArea):
1784 (WebCore::FrameView::removeScrollableArea):
1785 (WebCore::FrameView::containsScrollableArea):
1786 Move these member functions here from Page.
1788 (WebCore::FrameView::addChild):
1789 If we are adding a frame view, add it to the scrollable area set.
1791 (WebCore::FrameView::removeChild):
1792 If we are removing a frame view, remove it from the scrollable area set.
1795 Move the member function declarations and the scrollable area set member variable here from Page.
1798 (WebCore::Page::~Page):
1799 Don't call disconnectPage on the scrollable areas anymore.
1801 * platform/ScrollView.h:
1803 Make addChild and removeChild virtual.
1805 * platform/ScrollableArea.h:
1806 Remove disconnectFromPage.
1808 * rendering/RenderLayer.cpp:
1809 (WebCore::RenderLayer::RenderLayer):
1810 (WebCore::RenderLayer::~RenderLayer):
1811 (WebCore::RenderLayer::styleChanged):
1812 The frame view now keeps track of the scrollable areas.
1814 * rendering/RenderLayer.h:
1815 Remove the page member variable and disconnectFromPage.
1817 * rendering/RenderListBox.cpp:
1818 (WebCore::RenderListBox::RenderListBox):
1819 (WebCore::RenderListBox::~RenderListBox):
1820 The frame view now keeps track of the scrollable areas.
1822 * rendering/RenderListBox.h:
1823 Remove the page member variable and disconnectFromPage.
1825 2012-02-07 Matthew Delaney <mdelaney@apple.com>
1827 Remove redundant checks in CanvasRenderingContext2D.cpp
1828 https://bugs.webkit.org/show_bug.cgi?id=78000
1830 Reviewed by Dan Bernstein.
1832 * html/canvas/CanvasRenderingContext2D.cpp:
1833 (WebCore::CanvasRenderingContext2D::setShadowColor):
1834 (WebCore::CanvasRenderingContext2D::setShadow):
1835 (WebCore::CanvasRenderingContext2D::drawImage):
1837 2012-02-07 Abhishek Arya <inferno@chromium.org>
1839 Crash in ContainerNode functions due to mutation events.
1840 https://bugs.webkit.org/show_bug.cgi?id=77999
1842 Reviewed by Ryosuke Niwa.
1844 Add RefPtr to protect premature deletion of this due to mutation events.
1846 Tests: fast/dom/remove-body-during-body-replacement.html
1847 fast/dom/remove-body-during-body-replacement2.html
1849 * dom/ContainerNode.cpp:
1850 (WebCore::ContainerNode::insertBefore):
1851 (WebCore::ContainerNode::replaceChild):
1852 (WebCore::ContainerNode::removeChild):
1853 (WebCore::ContainerNode::appendChild):
1855 2012-02-07 Dana Jansens <danakj@chromium.org>
1857 [Chromium] Memory bug during occlusion tracking if Vector::append() needs to reallocate the buffer
1858 https://bugs.webkit.org/show_bug.cgi?id=77996
1860 Reviewed by James Robinson.
1862 We're holding onto the last element in the Vector and then calling
1863 append(). If append() reallocates the Vector's buffer, the pointer
1866 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1867 (WebCore::enterTargetRenderSurface):
1869 2012-02-07 Abhishek Arya <inferno@chromium.org>
1871 Crash due to column style not updated on post block
1873 https://bugs.webkit.org/show_bug.cgi?id=77939
1875 Reviewed by Julien Chaffraix.
1877 Test: fast/multicol/span/split-inline-wrong-post-block-crash.html
1879 * rendering/RenderInline.cpp:
1880 (WebCore::RenderInline::splitFlow):
1882 2012-02-07 Peter Rybin <peter.rybin@gmail.com>
1884 Web Inspector: CodeGeneratorInspector.py: extend Array validator functionality
1885 https://bugs.webkit.org/show_bug.cgi?id=77919
1887 Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-07
1888 Reviewed by Yury Semikhatsky.
1890 Array validator method runtimeCast is added, internal backing method
1891 is moved from .cpp to .h (it's template anyway), boolean validator is
1894 * inspector/CodeGeneratorInspector.py:
1895 (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
1896 (RawTypes.Bool.get_validate_method_params):
1899 2012-02-07 Dean Jackson <dino@apple.com>
1901 Apple/Safari: Enable WebGL multisampling on ATI cards
1902 for OS X 10.7.2 and above.
1903 https://bugs.webkit.org/show_bug.cgi?id=77922
1905 Address review comments by Alexey Proskuryakov and Mark Rowe.
1907 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1908 (WebCore::systemAllowsMultisamplingOnATICards):
1910 2012-02-07 Dean Jackson <dino@apple.com>
1912 Apple/Safari: Enable WebGL multisampling on ATI cards
1913 for OS X 10.7.2 and above.
1914 https://bugs.webkit.org/show_bug.cgi?id=77922
1916 Reviewed by Chris Marrin.
1918 Follow Chrome's lead to allow WebGL antialiasing
1919 on ATI cards as long as we're on 10.7.2 and above.
1921 No new tests. Covered by existing tests.
1923 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1924 (WebCore::systemAllowsMultisamplingOnATICards):
1926 (WebCore::GraphicsContext3D::validateAttributes):
1928 2012-02-07 Pavel Feldman <pfeldman@google.com>
1930 Web Inspector: add generic support for undo-ing DOM edits.
1931 https://bugs.webkit.org/show_bug.cgi?id=77875
1933 Reviewed by Yury Semikhatsky.
1935 This change introduces InspectorHistory::Action that encapsulates all DOM modifications
1936 initiated by the inspector. There is a way to undo these actions up until the undoable
1939 Tests: inspector/elements/undo-dom-edits-2.html
1940 inspector/elements/undo-dom-edits.html
1941 inspector/styles/undo-add-property.html
1942 inspector/styles/undo-change-property.html
1943 inspector/styles/undo-property-toggle.html
1946 * GNUmakefile.list.am:
1949 * WebCore.vcproj/WebCore.vcproj:
1950 * WebCore.xcodeproj/project.pbxproj:
1951 * inspector/Inspector.json:
1952 * inspector/InspectorAllInOne.cpp:
1953 * inspector/InspectorCSSAgent.cpp:
1954 (InspectorCSSAgent::StyleSheetAction):
1955 (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
1956 (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
1957 (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
1959 (InspectorCSSAgent::SetStyleSheetTextAction):
1960 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
1961 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
1962 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
1963 (InspectorCSSAgent::SetPropertyTextAction):
1964 (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
1965 (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
1966 (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
1967 (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
1968 (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
1969 (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
1970 (InspectorCSSAgent::TogglePropertyAction):
1971 (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
1972 (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
1973 (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
1974 (WebCore::InspectorCSSAgent::getStyleSheetText):
1975 (WebCore::InspectorCSSAgent::setStyleSheetText):
1976 (WebCore::InspectorCSSAgent::setPropertyText):
1977 (WebCore::InspectorCSSAgent::toggleProperty):
1978 * inspector/InspectorCSSAgent.h:
1979 (InspectorCSSAgent):
1980 * inspector/InspectorDOMAgent.cpp:
1981 (InspectorDOMAgent::DOMAction):
1982 (WebCore::InspectorDOMAgent::DOMAction::DOMAction):
1983 (WebCore::InspectorDOMAgent::DOMAction::perform):
1984 (WebCore::InspectorDOMAgent::DOMAction::undo):
1986 (InspectorDOMAgent::RemoveChildAction):
1987 (WebCore::InspectorDOMAgent::RemoveChildAction::RemoveChildAction):
1988 (WebCore::InspectorDOMAgent::RemoveChildAction::perform):
1989 (WebCore::InspectorDOMAgent::RemoveChildAction::undo):
1990 (InspectorDOMAgent::InsertBeforeAction):
1991 (WebCore::InspectorDOMAgent::InsertBeforeAction::InsertBeforeAction):
1992 (WebCore::InspectorDOMAgent::InsertBeforeAction::perform):
1993 (WebCore::InspectorDOMAgent::InsertBeforeAction::undo):
1994 (InspectorDOMAgent::RemoveAttributeAction):
1995 (WebCore::InspectorDOMAgent::RemoveAttributeAction::RemoveAttributeAction):
1996 (WebCore::InspectorDOMAgent::RemoveAttributeAction::perform):
1997 (WebCore::InspectorDOMAgent::RemoveAttributeAction::undo):
1998 (InspectorDOMAgent::SetAttributeAction):
1999 (WebCore::InspectorDOMAgent::SetAttributeAction::SetAttributeAction):
2000 (WebCore::InspectorDOMAgent::SetAttributeAction::perform):
2001 (WebCore::InspectorDOMAgent::SetAttributeAction::undo):
2002 (InspectorDOMAgent::SetOuterHTMLAction):
2003 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
2004 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::perform):
2005 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
2006 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::newNode):
2007 (InspectorDOMAgent::ReplaceWholeTextAction):
2008 (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::ReplaceWholeTextAction):
2009 (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::perform):
2010 (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::undo):
2011 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2012 (WebCore::InspectorDOMAgent::reset):
2013 (WebCore::InspectorDOMAgent::setAttributeValue):
2014 (WebCore::InspectorDOMAgent::setAttributesAsText):
2015 (WebCore::InspectorDOMAgent::removeAttribute):
2016 (WebCore::InspectorDOMAgent::removeNode):
2017 (WebCore::InspectorDOMAgent::setNodeName):
2018 (WebCore::InspectorDOMAgent::setOuterHTML):
2019 (WebCore::InspectorDOMAgent::setNodeValue):
2020 (WebCore::InspectorDOMAgent::moveTo):
2021 (WebCore::InspectorDOMAgent::undo):
2022 (WebCore::InspectorDOMAgent::markUndoableState):
2023 * inspector/InspectorDOMAgent.h:
2024 (InspectorDOMAgent):
2025 (WebCore::InspectorDOMAgent::history):
2026 * inspector/InspectorHistory.cpp: Added.
2027 (WebCore::InspectorHistory::Action::Action):
2029 (WebCore::InspectorHistory::Action::~Action):
2030 (WebCore::InspectorHistory::Action::toString):
2031 (WebCore::InspectorHistory::Action::isUndoableStateMark):
2032 (WebCore::InspectorHistory::Action::mergeId):
2033 (WebCore::InspectorHistory::Action::merge):
2034 (WebCore::InspectorHistory::InspectorHistory):
2035 (WebCore::InspectorHistory::~InspectorHistory):
2036 (WebCore::InspectorHistory::perform):
2037 (WebCore::InspectorHistory::markUndoableState):
2038 (WebCore::InspectorHistory::undo):
2039 (WebCore::InspectorHistory::reset):
2040 * inspector/InspectorHistory.h: Added.
2044 * inspector/InspectorStyleSheet.cpp:
2045 (WebCore::InspectorStyle::setPropertyText):
2046 (WebCore::InspectorStyle::styleText):
2047 (WebCore::InspectorStyleSheet::addRule):
2048 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2049 (WebCore::InspectorStyleSheet::buildObjectForStyle):
2050 (WebCore::InspectorStyleSheet::setPropertyText):
2051 (WebCore::InspectorStyleSheet::getText):
2052 (WebCore::InspectorStyleSheetForInlineStyle::getText):
2053 * inspector/InspectorStyleSheet.h:
2055 (InspectorStyleSheet):
2056 (InspectorStyleSheetForInlineStyle):
2057 * inspector/front-end/CSSStyleModel.js:
2058 (WebInspector.CSSProperty.prototype.setText):
2059 * inspector/front-end/ElementsPanel.js:
2060 (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2061 (WebInspector.ElementsPanel.prototype._updateSidebars):
2062 (WebInspector.ElementsPanel.prototype.handleShortcut):
2063 * inspector/front-end/StylesSidebarPane.js:
2064 (WebInspector.StylePropertiesSection.prototype.onpopulate):
2065 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2066 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2067 (WebInspector.StylePropertyTreeElement):
2068 (WebInspector.StylePropertyTreeElement.prototype):
2070 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2072 Unreviewed, rolling out r106935.
2073 http://trac.webkit.org/changeset/106935
2074 https://bugs.webkit.org/show_bug.cgi?id=77994
2076 "Crashes runMultiThread webkit_unit_test" (Requested by tonyg-
2079 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2080 (WebCore::CCLayerTreeHost::setNeedsRedraw):
2081 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2082 (WebCore::CCSingleThreadProxy::setNeedsRedraw):
2083 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2084 (WebCore::CCThreadProxy::setNeedsRedraw):
2085 * platform/graphics/chromium/cc/CCThreadProxy.h:
2088 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2090 Unreviewed, rolling out r106932.
2091 http://trac.webkit.org/changeset/106932
2092 https://bugs.webkit.org/show_bug.cgi?id=77988
2094 Breaks Mac bots (Requested by pfeldman on #webkit).
2097 * GNUmakefile.list.am:
2100 * WebCore.vcproj/WebCore.vcproj:
2101 * WebCore.xcodeproj/project.pbxproj:
2102 * inspector/Inspector.json:
2103 * inspector/InspectorAllInOne.cpp:
2104 * inspector/InspectorCSSAgent.cpp:
2105 (WebCore::InspectorCSSAgent::getStyleSheetText):
2106 (WebCore::InspectorCSSAgent::setStyleSheetText):
2107 (WebCore::InspectorCSSAgent::setPropertyText):
2108 (WebCore::InspectorCSSAgent::toggleProperty):
2109 * inspector/InspectorCSSAgent.h:
2110 (InspectorCSSAgent):
2111 * inspector/InspectorDOMAgent.cpp:
2112 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2113 (WebCore::InspectorDOMAgent::reset):
2114 (WebCore::InspectorDOMAgent::setAttributeValue):
2115 (WebCore::InspectorDOMAgent::setAttributesAsText):
2116 (WebCore::InspectorDOMAgent::removeAttribute):
2117 (WebCore::InspectorDOMAgent::removeNode):
2118 (WebCore::InspectorDOMAgent::setNodeName):
2119 (WebCore::InspectorDOMAgent::setOuterHTML):
2120 (WebCore::InspectorDOMAgent::setNodeValue):
2121 (WebCore::InspectorDOMAgent::moveTo):
2122 * inspector/InspectorDOMAgent.h:
2123 (InspectorDOMAgent):
2124 * inspector/InspectorHistory.cpp: Removed.
2125 * inspector/InspectorHistory.h: Removed.
2126 * inspector/InspectorStyleSheet.cpp:
2127 (WebCore::InspectorStyle::setPropertyText):
2128 (WebCore::InspectorStyle::styleText):
2129 (WebCore::InspectorStyleSheet::addRule):
2130 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2131 (WebCore::InspectorStyleSheet::buildObjectForStyle):
2132 (WebCore::InspectorStyleSheet::setPropertyText):
2133 (WebCore::InspectorStyleSheet::text):
2134 (WebCore::InspectorStyleSheetForInlineStyle::text):
2135 * inspector/InspectorStyleSheet.h:
2137 (InspectorStyleSheet):
2138 (InspectorStyleSheetForInlineStyle):
2139 * inspector/front-end/CSSStyleModel.js:
2140 (WebInspector.CSSProperty.prototype.setText):
2141 * inspector/front-end/ElementsPanel.js:
2142 (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2143 (WebInspector.ElementsPanel.prototype.handleShortcut):
2144 * inspector/front-end/StylesSidebarPane.js:
2145 (WebInspector.StylePropertiesSection.prototype.onpopulate):
2146 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2147 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2148 (WebInspector.StylePropertyTreeElement):
2149 (WebInspector.StylePropertyTreeElement.prototype):
2151 2012-02-07 Priit Laes <plaes@plaes.org>
2153 [GTK] Build failure with --enable-web-audio
2154 https://bugs.webkit.org/show_bug.cgi?id=77978
2156 Reviewed by Gustavo Noronha Silva.
2158 * GNUmakefile.list.am: Include AudioSourceProviderClient.h
2160 2012-02-07 Alexei Filippov <alexeif@chromium.org>
2162 Web Inspector: fix objects duplication when switching filter in heap profiler.
2163 https://bugs.webkit.org/show_bug.cgi?id=77974
2165 Reviewed by Yury Semikhatsky.
2167 * inspector/front-end/DetailedHeapshotView.js:
2168 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
2170 2012-02-07 Jonathan Backer <backer@chromium.org>
2172 [chromium] Add setNeedsRedraw to WebWidget
2173 https://bugs.webkit.org/show_bug.cgi?id=77555
2175 Reviewed by James Robinson.
2177 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2178 (WebCore::CCLayerTreeHost::setNeedsRedraw):
2179 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2180 (WebCore::CCSingleThreadProxy::setNeedsRedraw):
2181 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2182 (WebCore::CCThreadProxy::setNeedsRedraw):
2183 (WebCore::CCThreadProxy::resetDamageTrackerOnImplThread):
2185 * platform/graphics/chromium/cc/CCThreadProxy.h:
2188 2012-02-07 Michael Brüning <michael.bruning@nokia.com>
2190 [Qt][WK2] Compute and set cache capacities using the current CacheModel
2191 https://bugs.webkit.org/show_bug.cgi?id=73918
2193 Reviewed by Kenneth Rohde Christiansen.
2195 No new tests. (build fix)
2197 * platform/qt/FileSystemQt.cpp:
2198 (WebCore::getVolumeFreeSizeForPath):
2200 2012-02-07 Pavel Feldman <pfeldman@google.com>
2202 Web Inspector: add generic support for undo-ing DOM edits.
2203 https://bugs.webkit.org/show_bug.cgi?id=77875
2205 Reviewed by Yury Semikhatsky.
2207 This change introduces InspectorHistory::Action that encapsulates all DOM modifications
2208 initiated by the inspector. There is a way to undo these actions up until the undoable
2211 Tests: inspector/elements/undo-dom-edits-2.html
2212 inspector/elements/undo-dom-edits.html
2213 inspector/styles/undo-add-property.html
2214 inspector/styles/undo-change-property.html
2215 inspector/styles/undo-property-toggle.html
2218 * GNUmakefile.list.am:
2221 * WebCore.vcproj/WebCore.vcproj:
2222 * WebCore.xcodeproj/project.pbxproj:
2223 * inspector/Inspector.json:
2224 * inspector/InspectorAllInOne.cpp:
2225 * inspector/InspectorCSSAgent.cpp:
2226 (InspectorCSSAgent::StyleSheetAction):
2227 (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
2228 (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
2229 (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
2231 (InspectorCSSAgent::SetStyleSheetTextAction):
2232 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
2233 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
2234 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
2235 (InspectorCSSAgent::SetPropertyTextAction):
2236 (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
2237 (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
2238 (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
2239 (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
2240 (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
2241 (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
2242 (InspectorCSSAgent::TogglePropertyAction):
2243 (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
2244 (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
2245 (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
2246 (WebCore::InspectorCSSAgent::getStyleSheetText):
2247 (WebCore::InspectorCSSAgent::setStyleSheetText):
2248 (WebCore::InspectorCSSAgent::setPropertyText):
2249 (WebCore::InspectorCSSAgent::toggleProperty):
2250 * inspector/InspectorCSSAgent.h:
2251 (InspectorCSSAgent):
2252 * inspector/InspectorDOMAgent.cpp:
2253 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2254 (WebCore::InspectorDOMAgent::reset):
2255 (WebCore::InspectorDOMAgent::setAttributeValue):
2256 (WebCore::InspectorDOMAgent::setAttributesAsText):
2257 (WebCore::InspectorDOMAgent::removeAttribute):
2258 (WebCore::InspectorDOMAgent::removeNode):
2259 (WebCore::InspectorDOMAgent::setNodeName):
2260 (WebCore::InspectorDOMAgent::setOuterHTML):
2261 (WebCore::InspectorDOMAgent::setNodeValue):
2262 (WebCore::InspectorDOMAgent::moveTo):
2263 (WebCore::InspectorDOMAgent::undo):
2265 (WebCore::InspectorDOMAgent::markUndoableState):
2266 * inspector/InspectorDOMAgent.h:
2267 (InspectorDOMAgent):
2268 (WebCore::InspectorDOMAgent::history):
2269 * inspector/InspectorHistory.cpp: Added.
2270 (WebCore::InspectorHistory::Action::Action):
2272 (WebCore::InspectorHistory::Action::~Action):
2273 (WebCore::InspectorHistory::Action::toString):
2274 (WebCore::InspectorHistory::Action::isUndoableStateMark):
2275 (WebCore::InspectorHistory::Action::mergeId):
2276 (WebCore::InspectorHistory::Action::merge):
2277 (WebCore::InspectorHistory::InspectorHistory):
2278 (WebCore::InspectorHistory::~InspectorHistory):
2279 (WebCore::InspectorHistory::perform):
2280 (WebCore::InspectorHistory::markUndoableState):
2281 (WebCore::InspectorHistory::undo):
2282 (WebCore::InspectorHistory::reset):
2283 * inspector/InspectorHistory.h: Added.
2287 * inspector/InspectorStyleSheet.cpp:
2288 (WebCore::InspectorStyle::setPropertyText):
2289 (WebCore::InspectorStyle::styleText):
2290 (WebCore::InspectorStyleSheet::addRule):
2291 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2292 (WebCore::InspectorStyleSheet::buildObjectForStyle):
2293 (WebCore::InspectorStyleSheet::setPropertyText):
2294 (WebCore::InspectorStyleSheet::getText):
2295 (WebCore::InspectorStyleSheetForInlineStyle::getText):
2296 * inspector/InspectorStyleSheet.h:
2298 (InspectorStyleSheet):
2299 (InspectorStyleSheetForInlineStyle):
2300 * inspector/front-end/CSSStyleModel.js:
2301 (WebInspector.CSSProperty.prototype.setText):
2302 * inspector/front-end/ElementsPanel.js:
2303 (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2304 (WebInspector.ElementsPanel.prototype._updateSidebars):
2305 (WebInspector.ElementsPanel.prototype.handleShortcut):
2306 * inspector/front-end/StylesSidebarPane.js:
2307 (WebInspector.StylePropertiesSection.prototype.onpopulate):
2308 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2309 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2310 (WebInspector.StylePropertyTreeElement):
2311 (WebInspector.StylePropertyTreeElement.prototype):
2313 2012-02-07 Chris Guan <chris.guan@torchmobile.com.cn>
2315 [Blackberry] Clean up Networkjob and Networkmanger: remove unused variables in release build and change some public functions into be private ones
2316 https://bugs.webkit.org/show_bug.cgi?id=77926
2318 Reviewed by Rob Buis.
2320 1. rename clientIsOk to isClientAvailable.
2321 2. m_isRunning is only for an ASSERT in NetWorkManager, So move out from
2322 release build but keep available in debug build.
2324 No changes in behavior, so no new tests.
2326 * platform/network/blackberry/NetworkJob.cpp:
2327 (WebCore::NetworkJob::NetworkJob):
2328 (WebCore::NetworkJob::handleNotifyDataReceived):
2329 (WebCore::NetworkJob::handleNotifyDataSent):
2330 (WebCore::NetworkJob::handleNotifyClose):
2331 (WebCore::NetworkJob::startNewJobWithRequest):
2332 (WebCore::NetworkJob::sendResponseIfNeeded):
2333 (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
2334 * platform/network/blackberry/NetworkJob.h:
2336 (WebCore::NetworkJob::isClientAvailable):
2338 2012-02-06 Yury Semikhatsky <yurys@chromium.org>
2340 Web Inspector: don't mark object is queriable if it is only reachable by internal reference
2341 https://bugs.webkit.org/show_bug.cgi?id=77877
2343 Reviewed by Pavel Feldman.
2345 * inspector/front-end/HeapSnapshot.js:
2346 (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
2348 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2350 Unreviewed, rolling out r106909.
2351 http://trac.webkit.org/changeset/106909
2352 https://bugs.webkit.org/show_bug.cgi?id=77965
2354 ~20 tests are crashing on chromium win release bot. (Requested
2355 by loislo on #webkit).
2357 * html/HTMLDetailsElement.cpp:
2358 (WebCore::HTMLDetailsElement::createShadowSubtree):
2359 * html/HTMLKeygenElement.cpp:
2360 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2361 * html/HTMLMeterElement.cpp:
2362 (WebCore::HTMLMeterElement::createShadowSubtree):
2363 * html/HTMLProgressElement.cpp:
2364 (WebCore::HTMLProgressElement::createShadowSubtree):
2365 * html/HTMLSummaryElement.cpp:
2366 (WebCore::HTMLSummaryElement::createShadowSubtree):
2367 * html/HTMLTextAreaElement.cpp:
2368 (WebCore::HTMLTextAreaElement::createShadowSubtree):
2370 2012-02-07 Andreas Kling <awesomekling@apple.com>
2372 REGRESSION(r106819): ~28% or so performance regression on the ManInBlue HTML benchmark
2373 <http://webkit.org/b/77952>
2375 Reviewed by Andreas Kling.
2376 Patch by Ryosuke Niwa.
2378 The performance regression was caused by using ensureAttributeData() which forces the
2379 regeneration of invalidated attributes ("style" and SVG animatable attributes.)
2380 Added an ensureAttributeDataWithoutUpdate() helper that only ensures the presence
2381 of ElementAttributeData, not the validity of its contents. Use that when grabbing
2382 at an element's inline and attribute styles.
2386 (WebCore::Element::ensureAttributeDataWithoutUpdate):
2387 * dom/StyledElement.h:
2388 (WebCore::StyledElement::ensureInlineStyleDecl):
2389 (WebCore::StyledElement::ensureAttributeStyle):
2391 2012-02-07 Michael Brüning <michael.bruning@nokia.com>
2393 [Qt][WK2] Compute and set cache capacities using the current CacheModel
2394 https://bugs.webkit.org/show_bug.cgi?id=73918
2396 Reviewed by Csaba Osztrogonác.
2398 No new tests. (build fix).
2400 * platform/qt/FileSystemQt.cpp:
2402 2012-02-07 Michael Brüning <michael.bruning@nokia.com>
2404 [Qt][WK2] Compute and set cache capacities using the current CacheModel
2405 https://bugs.webkit.org/show_bug.cgi?id=73918
2407 Reviewed by Kenneth Rohde Christiansen.
2409 No new tests. (Not applicable)
2411 Added OS-specific implementation for retrieving the free disk space.
2413 * platform/FileSystem.h:
2415 * platform/qt/FileSystemQt.cpp:
2416 (WebCore::getVolumeFreeSizeForPath):
2419 2012-02-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
2421 [Inspector] Add the Nokia N9 user agent
2422 https://bugs.webkit.org/show_bug.cgi?id=77949
2424 Reviewed by Simon Hausmann.
2426 * inspector/front-end/SettingsScreen.js:
2427 (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
2429 2012-02-07 Alexander Pavlov <apavlov@chromium.org>
2431 [CRASH] bool EventHandler::dispatchSyntheticTouchEventIfEnabled(const PlatformMouseEvent& event) references a NULL pointer
2432 https://bugs.webkit.org/show_bug.cgi?id=77953
2434 Reviewed by Andreas Kling.
2436 * page/EventHandler.cpp:
2437 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
2439 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2441 Unreviewed, rolling out r106912.
2442 http://trac.webkit.org/changeset/106912
2443 https://bugs.webkit.org/show_bug.cgi?id=77947
2445 "AppleWebKit build is broken" (Requested by haraken on
2448 * dom/ScriptExecutionContext.cpp:
2449 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2451 * dom/ScriptExecutionContext.h:
2453 (ScriptExecutionContext):
2455 (WebCore::DOMURL::DOMURL):
2457 (WebCore::DOMURL::~DOMURL):
2458 (WebCore::DOMURL::contextDestroyed):
2459 (WebCore::DOMURL::createObjectURL):
2460 (WebCore::DOMURL::revokeObjectURL):
2462 (WebCore::DOMURL::create):
2465 * html/PublicURLManager.h: Removed.
2466 * page/DOMWindow.cpp:
2468 (WebCore::DOMWindow::webkitURL):
2471 * page/DOMWindow.idl:
2472 * workers/WorkerContext.cpp:
2474 (WebCore::WorkerContext::webkitURL):
2475 * workers/WorkerContext.h:
2477 * workers/WorkerContext.idl:
2479 2012-02-07 Kentaro Hara <haraken@chromium.org>
2481 Unreviewed, rolling out r106862.
2482 http://trac.webkit.org/changeset/106862
2483 https://bugs.webkit.org/show_bug.cgi?id=77510
2485 Mac build fails if we manually remove generated code
2487 * DerivedSources.make:
2488 * bindings/scripts/generate-bindings.pl:
2489 (generateEmptyHeaderAndCpp):
2490 * bindings/scripts/resolve-supplemental.pl:
2491 * bindings/scripts/update-idl-needs-rebuild.pl: Removed.
2493 2012-02-07 Kaustubh Atrawalkar <kaustubh@motorola.com>
2495 Migrate createObjectURL & revokeObjectURL to static (Class) methods.
2496 https://bugs.webkit.org/show_bug.cgi?id=74386
2498 Reviewed by David Levin.
2500 Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
2502 fast/files/revoke-blob-url.html
2503 fast/dom/window-domurl-crash.html
2504 fast/files/apply-blob-url-to-img.html
2505 fast/files/create-blob-url-crash.html
2506 fast/files/workers/inline-worker-via-blob-url.html
2508 * dom/ScriptExecutionContext.cpp:
2509 (WebCore::ScriptExecutionContext::fileThread):
2511 (WebCore::ScriptExecutionContext::publicURLManager):
2512 * dom/ScriptExecutionContext.h:
2514 (ScriptExecutionContext):
2517 (WebCore::DOMURL::createObjectURL): Changed to static.
2518 (WebCore::DOMURL::revokeObjectURL): ditto.
2521 (WebCore::DOMURL::create):
2523 * html/PublicURLManager.h: Added.
2526 (WebCore::PublicURLManager::create):
2527 (WebCore::PublicURLManager::contextDestroyed):
2528 (WebCore::PublicURLManager::blobURLs):
2529 (WebCore::PublicURLManager::streamURLs):
2530 * page/DOMWindow.cpp: Removed object initialization for DOMURL.
2532 * page/DOMWindow.h: ditto.
2534 * page/DOMWindow.idl:
2535 * workers/WorkerContext.cpp:
2537 * workers/WorkerContext.h:
2539 * workers/WorkerContext.idl:
2541 2012-02-03 Vsevolod Vlasov <vsevik@chromium.org>
2543 http/tests/inspector/indexeddb/database-structure.html failing on chromium win/linux
2544 https://bugs.webkit.org/show_bug.cgi?id=77661
2546 Reviewed by Yury Semikhatsky.
2548 * inspector/InspectorIndexedDBAgent.cpp:
2551 2012-02-07 Hayato Ito <hayato@chromium.org>
2553 Fix build on Mac with '--shadow-dom'.
2554 https://bugs.webkit.org/show_bug.cgi?id=77940
2556 Reviewed by Hajime Morita.
2558 * WebCore.xcodeproj/project.pbxproj:
2560 2012-02-06 Shinya Kawanaka <shinyak@google.com>
2562 Stop calling Element::ensureShadowRoot() if it is used in construction phase.
2563 https://bugs.webkit.org/show_bug.cgi?id=77929
2565 Reviewed by Hajime Morita.
2567 ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
2568 So we want to remove Element::ensureShadowRoot().
2569 This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
2571 No new tests, no change in behavior.
2573 * html/HTMLDetailsElement.cpp:
2574 (WebCore::HTMLDetailsElement::createShadowSubtree):
2575 * html/HTMLKeygenElement.cpp:
2576 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2577 * html/HTMLMeterElement.cpp:
2578 (WebCore::HTMLMeterElement::createShadowSubtree):
2579 * html/HTMLProgressElement.cpp:
2580 (WebCore::HTMLProgressElement::createShadowSubtree):
2581 * html/HTMLSummaryElement.cpp:
2582 (WebCore::HTMLSummaryElement::createShadowSubtree):
2583 * html/HTMLTextAreaElement.cpp:
2584 (WebCore::HTMLTextAreaElement::createShadowSubtree):
2586 2012-02-06 Shinya Kawanaka <shinyak@google.com>
2588 Remove Element::ensureShadowRoot export.
2589 https://bugs.webkit.org/show_bug.cgi?id=77932
2591 Reviewed by Hajime Morita.
2593 Removes Element::ensureShadowRoot export.
2595 No new tests, no change in behavior.
2599 2012-02-06 Ilya Tikhonovsky <loislo@chromium.org>
2601 Unreviewed. Web Inspector: rename Artificial to Synthetic according to v8 patch r10614.
2603 * inspector/front-end/DetailedHeapshotGridNodes.js:
2604 * inspector/front-end/HeapSnapshot.js:
2605 (WebInspector.HeapSnapshotNode.prototype.get isSynthetic):
2606 (WebInspector.HeapSnapshot.prototype._init):
2608 2012-02-06 Hayato Ito <hayato@chromium.org>
2610 Implement querySelector on ShadowRoot.
2611 https://bugs.webkit.org/show_bug.cgi?id=77714
2613 Reviewed by Dimitri Glazkov.
2615 * dom/SelectorQuery.cpp:
2616 (WebCore::nodeIsRootNodeOfTreeScope):
2618 (WebCore::SelectorDataList::execute):
2620 2012-02-06 Martin Robinson <mrobinson@igalia.com> and Nayan Kumar K <nayankk@motorola.com>
2622 [GTK] Add TextureMapperGL implementation
2623 https://bugs.webkit.org/show_bug.cgi?id=75308
2625 Reviewed by Alejandro G. Castro.
2627 No new tests. This will be covered by accelerated compositing and
2628 3D CSS transform tests eventually.
2630 * GNUmakefile.list.am: Added some files necessary to build TextureMapperGL.
2631 * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added implementations.
2632 * platform/graphics/cairo/TextureMapperGLCairo.h: Updated member list.
2633 * platform/graphics/gtk/WindowGLContext.h: Added.
2634 * platform/graphics/gtk/WindowGLContextGLX.cpp: Added.
2635 * platform/graphics/opengl/TextureMapperGL.cpp: Use the GL shims on GTK.
2637 2012-02-06 Emil A Eklund <eae@chromium.org>
2639 Change baselinePosition and lineHeight to LayoutUnit
2640 https://bugs.webkit.org/show_bug.cgi?id=77905
2642 Reviewed by Eric Seidel.
2644 Change the virtual baselinePosition and lineHeight methods to return
2645 LayoutUnits as they are both computed from the height and top/bottom
2646 margins (or width and left/right margins for vertical text), all of
2647 which are LayoutUnits.
2651 * platform/efl/RenderThemeEfl.cpp:
2652 (WebCore::RenderThemeEfl::baselinePosition):
2653 * platform/efl/RenderThemeEfl.h:
2655 * platform/gtk/RenderThemeGtk.cpp:
2656 (WebCore::RenderThemeGtk::baselinePosition):
2657 * platform/gtk/RenderThemeGtk.h:
2659 * platform/qt/RenderThemeQt.cpp:
2660 (WebCore::RenderThemeQt::baselinePosition):
2661 * platform/qt/RenderThemeQt.h:
2663 * rendering/RenderListMarker.cpp:
2664 (WebCore::RenderListMarker::lineHeight):
2665 (WebCore::RenderListMarker::baselinePosition):
2666 * rendering/RenderListMarker.h:
2668 * rendering/RenderSlider.cpp:
2669 (WebCore::RenderSlider::baselinePosition):
2670 * rendering/RenderSlider.h:
2672 * rendering/RootInlineBox.h:
2673 (WebCore::RootInlineBox::baselinePosition):
2674 (WebCore::RootInlineBox::lineHeight):
2675 * rendering/mathml/RenderMathMLFraction.cpp:
2676 (WebCore::RenderMathMLFraction::baselinePosition):
2677 * rendering/mathml/RenderMathMLFraction.h:
2678 (RenderMathMLFraction):
2679 * rendering/mathml/RenderMathMLOperator.cpp:
2680 (WebCore::RenderMathMLOperator::baselinePosition):
2681 * rendering/mathml/RenderMathMLOperator.h:
2682 (RenderMathMLOperator):
2683 * rendering/mathml/RenderMathMLRow.cpp:
2684 (WebCore::RenderMathMLRow::baselinePosition):
2685 * rendering/mathml/RenderMathMLRow.h:
2687 * rendering/mathml/RenderMathMLSubSup.cpp:
2688 (WebCore::RenderMathMLSubSup::baselinePosition):
2689 * rendering/mathml/RenderMathMLSubSup.h:
2690 (RenderMathMLSubSup):
2691 * rendering/mathml/RenderMathMLUnderOver.cpp:
2692 (WebCore::RenderMathMLUnderOver::baselinePosition):
2693 * rendering/mathml/RenderMathMLUnderOver.h:
2694 (RenderMathMLUnderOver):
2696 2012-02-06 Xianzhu Wang <wangxianzhu@chromium.org>
2698 Avoid Page::updateViewportArguments() if the causing frame is not the main frame
2699 https://bugs.webkit.org/show_bug.cgi?id=77387
2701 Reviewed by Kenneth Rohde Christiansen.
2704 (WebCore::Document::processViewport):
2705 (WebCore::Document::updateViewportArguments):
2706 (WebCore::Document::setInPageCache):
2709 * html/HTMLBodyElement.cpp:
2710 (WebCore::HTMLBodyElement::insertedIntoDocument):
2712 (WebCore::Frame::setDocument):
2714 (WebCore::Page::viewportArguments):
2719 2012-02-06 Martin Robinson <mrobinson@igalia.com>
2721 Fix some miscellaneous 'make dist' error for WebKitGTK+.
2723 * GNUmakefile.list.am: Add some missing Shadow DOM files to the
2726 2012-02-06 Dana Jansens <danakj@chromium.org>
2728 Add contains() test to Region
2729 https://bugs.webkit.org/show_bug.cgi?id=72294
2731 Reviewed by Anders Carlsson.
2733 * platform/graphics/Region.cpp:
2734 (WebCore::Region::contains):
2736 * platform/graphics/Region.h:
2739 (WebCore::operator==):
2742 2012-02-06 Kentaro Hara <haraken@chromium.org>
2744 Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
2745 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
2746 https://bugs.webkit.org/show_bug.cgi?id=77852
2748 Reviewed by Adam Barth.
2750 This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
2751 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
2753 [DontCheckEnums] => [DoNotCheckConstants] (This IDL inserts assertions to check if a
2754 constant value is equal to the expected constant value)
2755 [ReturnsNew] => [ReturnNewObject] (For clarification)
2756 [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
2757 with other [*Getter] IDLs)
2758 [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
2759 with other [*Setter] IDLs)
2760 [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
2761 name in implementation)
2763 No tests. No change in behavior.
2765 * bindings/scripts/CodeGenerator.pm:
2767 (GenerateCompileTimeCheckForEnumsIfNeeded):
2768 * bindings/scripts/CodeGeneratorJS.pm:
2770 (GenerateImplementation):
2772 * bindings/scripts/CodeGeneratorV8.pm:
2773 (GenerateSingleBatchedAttribute):
2774 (GenerateFunctionCallString):
2777 * bindings/scripts/test/TestObj.idl:
2778 * bindings/scripts/test/TestTypedArray.idl:
2780 * bindings/scripts/test/JS/JSTestInterface.cpp:
2782 * bindings/scripts/test/JS/JSTestObj.cpp:
2784 * bindings/scripts/test/V8/V8TestInterface.cpp:
2786 * bindings/scripts/test/V8/V8TestObj.cpp:
2789 * css/WebKitCSSFilterValue.idl:
2790 * css/WebKitCSSTransformValue.idl:
2791 * dom/DOMCoreException.idl:
2793 * dom/EventException.idl:
2794 * dom/RangeException.idl:
2795 * fileapi/FileException.idl:
2796 * fileapi/OperationNotAllowedException.idl:
2797 * html/HTMLFormElement.idl:
2798 * html/canvas/Float32Array.idl:
2799 * html/canvas/Float64Array.idl:
2800 * html/canvas/Int16Array.idl:
2801 * html/canvas/Int32Array.idl:
2802 * html/canvas/Int8Array.idl:
2803 * html/canvas/OESStandardDerivatives.idl:
2804 * html/canvas/OESVertexArrayObject.idl:
2805 * html/canvas/Uint16Array.idl:
2806 * html/canvas/Uint32Array.idl:
2807 * html/canvas/Uint8Array.idl:
2808 * html/canvas/Uint8ClampedArray.idl:
2809 * html/canvas/WebGLCompressedTextures.idl:
2810 * html/canvas/WebGLDebugRendererInfo.idl:
2811 * html/canvas/WebGLRenderingContext.idl:
2812 * inspector/JavaScriptCallFrame.idl:
2813 * loader/appcache/DOMApplicationCache.idl:
2815 * page/DOMWindow.idl:
2816 * page/Location.idl:
2817 * storage/IDBCursor.idl:
2818 * storage/IDBDatabaseException.idl:
2819 * storage/IDBObjectStore.idl:
2820 * storage/SQLException.idl:
2821 * svg/SVGComponentTransferFunctionElement.idl:
2822 * svg/SVGException.idl:
2823 * svg/SVGFEBlendElement.idl:
2824 * svg/SVGFEColorMatrixElement.idl:
2825 * svg/SVGFECompositeElement.idl:
2826 * svg/SVGFEConvolveMatrixElement.idl:
2827 * svg/SVGFEDisplacementMapElement.idl:
2828 * svg/SVGFEMorphologyElement.idl:
2829 * svg/SVGFETurbulenceElement.idl:
2830 * svg/SVGGradientElement.idl:
2831 * xml/XMLHttpRequestException.idl:
2832 * xml/XPathException.idl:
2834 2012-02-06 James Robinson <jamesr@chromium.org>
2836 [chromium] canvas demo is slow due to unnecessary resource cleanups
2837 https://bugs.webkit.org/show_bug.cgi?id=77135
2839 Reviewed by Kenneth Russell.
2841 This defers dropping a ManagedTexture until it is evicted by the manager, the layer is destroyed, the
2842 TextureManager is destroyed, or the layer is added to a CCLayerTreeHost that has a different texture manager. In
2843 particular, removing a layer from a CCLayerTreeHost and then adding it back to the same host does not drop any
2844 ManagedTextures unless the manager has to evict it for other reasons. This provides a big speedup on sites that
2845 rebuild the compositing tree frequently.
2847 New unit test added for ManagedTexture / TextureManager interaction.
2849 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2850 (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
2851 (WebCore::Canvas2DLayerChromium::setTextureManager):
2852 * platform/graphics/chromium/Canvas2DLayerChromium.h:
2853 (Canvas2DLayerChromium):
2854 * platform/graphics/chromium/LayerChromium.cpp:
2855 (WebCore::LayerChromium::setLayerTreeHost):
2856 * platform/graphics/chromium/LayerChromium.h:
2858 * platform/graphics/chromium/ManagedTexture.cpp:
2859 (WebCore::ManagedTexture::setTextureManager):
2861 (WebCore::ManagedTexture::steal):
2862 (WebCore::ManagedTexture::clear):
2863 * platform/graphics/chromium/ManagedTexture.h:
2865 * platform/graphics/chromium/RenderSurfaceChromium.h:
2866 (RenderSurfaceChromium):
2867 * platform/graphics/chromium/TiledLayerChromium.cpp:
2868 (WebCore::TiledLayerChromium::setLayerTreeHost):
2870 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2871 * platform/graphics/chromium/TiledLayerChromium.h:
2873 2012-02-06 Kentaro Hara <haraken@chromium.org>
2875 Unreviewed, rolling out r106883.
2876 http://trac.webkit.org/changeset/106883
2877 https://bugs.webkit.org/show_bug.cgi?id=77852
2879 build failure around Chromium V8 bindings
2881 * bindings/scripts/CodeGenerator.pm:
2883 (GenerateCompileTimeCheckForEnumsIfNeeded):
2884 * bindings/scripts/CodeGeneratorJS.pm:
2886 (GenerateImplementation):
2888 * bindings/scripts/CodeGeneratorV8.pm:
2889 (GenerateSingleBatchedAttribute):
2890 (GenerateFunctionCallString):
2892 * bindings/scripts/test/JS/JSTestInterface.cpp:
2894 * bindings/scripts/test/JS/JSTestObj.cpp:
2896 * bindings/scripts/test/TestObj.idl:
2897 * bindings/scripts/test/TestTypedArray.idl:
2898 * bindings/scripts/test/V8/V8TestInterface.cpp:
2900 * bindings/scripts/test/V8/V8TestObj.cpp:
2902 * css/WebKitCSSFilterValue.idl:
2903 * css/WebKitCSSTransformValue.idl:
2904 * dom/DOMCoreException.idl:
2906 * dom/EventException.idl:
2907 * dom/RangeException.idl:
2908 * fileapi/FileException.idl:
2909 * fileapi/OperationNotAllowedException.idl:
2910 * html/HTMLFormElement.idl:
2911 * html/canvas/Float32Array.idl:
2912 * html/canvas/Float64Array.idl:
2913 * html/canvas/Int16Array.idl:
2914 * html/canvas/Int32Array.idl:
2915 * html/canvas/Int8Array.idl:
2916 * html/canvas/OESStandardDerivatives.idl:
2917 * html/canvas/OESVertexArrayObject.idl:
2918 * html/canvas/Uint16Array.idl:
2919 * html/canvas/Uint32Array.idl:
2920 * html/canvas/Uint8Array.idl:
2921 * html/canvas/Uint8ClampedArray.idl:
2922 * html/canvas/WebGLCompressedTextures.idl:
2923 * html/canvas/WebGLDebugRendererInfo.idl:
2924 * html/canvas/WebGLRenderingContext.idl:
2925 * inspector/JavaScriptCallFrame.idl:
2926 * loader/appcache/DOMApplicationCache.idl:
2928 * page/DOMWindow.idl:
2929 * page/Location.idl:
2930 * storage/IDBCursor.idl:
2931 * storage/IDBDatabaseException.idl:
2932 * storage/IDBObjectStore.idl:
2933 * storage/SQLException.idl:
2934 * svg/SVGComponentTransferFunctionElement.idl:
2935 * svg/SVGException.idl:
2936 * svg/SVGFEBlendElement.idl:
2937 * svg/SVGFEColorMatrixElement.idl:
2938 * svg/SVGFECompositeElement.idl:
2939 * svg/SVGFEConvolveMatrixElement.idl:
2940 * svg/SVGFEDisplacementMapElement.idl:
2941 * svg/SVGFEMorphologyElement.idl:
2942 * svg/SVGFETurbulenceElement.idl:
2943 * svg/SVGGradientElement.idl:
2944 * xml/XMLHttpRequestException.idl:
2945 * xml/XPathException.idl:
2947 2012-02-06 Yongsheng Zhu <yongsheng.zhu@intel.com>
2949 WebGL must allocate smaller drawing buffer when the allocation fails.
2950 https://bugs.webkit.org/show_bug.cgi?id=76654
2952 Reviewed by Kenneth Russell.
2954 Test: fast/canvas/webgl/drawingbuffer-test.html
2956 * platform/graphics/gpu/DrawingBuffer.cpp:
2958 (WebCore::DrawingBuffer::create):
2959 (WebCore::DrawingBuffer::reset):
2961 2012-02-06 Kentaro Hara <haraken@chromium.org>
2963 Unreviewed. Rebaselined run-bindings-tests results.
2965 * bindings/scripts/test/V8/V8TestObj.cpp:
2966 (WebCore::TestObjInternal::optionsObjectCallback):
2968 2012-02-06 Levi Weintraub <leviw@chromium.org>
2970 Correct usage of LayoutUnits in dom, editing, page, accessibility, inspector, and loader
2971 https://bugs.webkit.org/show_bug.cgi?id=77891
2973 Reviewed by Darin Adler.
2975 Updating the usage of LayoutUnits in the dom, editing, page, accessibility, inspector, and loader
2976 directories to properly use LayoutUnits vs ints.
2978 No new tests. No new behavior.
2980 * accessibility/AccessibilityObject.h:
2981 (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
2982 (WebCore::AccessibilityObject::doAXBoundsForRange):
2983 * accessibility/AccessibilityRenderObject.cpp:
2984 (WebCore::AccessibilityRenderObject::isOffScreen):
2985 (WebCore::AccessibilityRenderObject::clickPoint):
2986 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2987 (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
2988 (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
2989 * accessibility/AccessibilityRenderObject.h:
2990 (AccessibilityRenderObject):
2991 * accessibility/AccessibilitySlider.cpp:
2992 (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
2993 * accessibility/AccessibilitySlider.h:
2994 (AccessibilitySlider):
2995 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2996 (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
2997 * css/CSSComputedStyleDeclaration.cpp:
2998 (WebCore::computedTransform):
2999 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3001 (WebCore::Clipboard::dragLocation):
3003 * dom/DocumentMarkerController.cpp:
3004 (WebCore::DocumentMarkerController::renderedRectsForMarkers):
3005 * dom/DocumentMarkerController.h:
3007 (WebCore::Element::screenRect):
3010 * editing/Editor.cpp:
3011 (WebCore::Editor::rangeForPoint):
3012 (WebCore::Editor::firstRectForRange):
3013 * editing/RenderedPosition.cpp:
3014 (WebCore::RenderedPosition::absoluteRect):
3015 * editing/RenderedPosition.h:
3016 (WebCore::RenderedPosition::absoluteRect):
3018 * editing/VisiblePosition.h:
3020 * inspector/DOMNodeHighlighter.cpp:
3021 * loader/SubframeLoader.cpp:
3022 (WebCore::SubframeLoader::createJavaAppletWidget):
3023 * loader/SubframeLoader.h:
3025 * page/EventHandler.cpp:
3026 (WebCore::EventHandler::handleMousePressEvent):
3028 (WebCore::Frame::nodeImage):
3029 * page/win/FrameCGWin.cpp:
3030 (WebCore::Frame::nodeImage):
3032 2012-02-05 Kentaro Hara <haraken@chromium.org>
3034 Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
3035 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
3036 https://bugs.webkit.org/show_bug.cgi?id=77852
3038 Reviewed by Adam Barth.
3040 This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
3041 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
3043 [DontCheckEnums] => [DoNotCheckConstants] (This IDL inserts assertions to check if a
3044 constant value is equal to the expected constant value)
3045 [ReturnsNew] => [ReturnNewObject] (For clarification)
3046 [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
3047 with other [*Getter] IDLs)
3048 [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
3049 with other [*Setter] IDLs)
3050 [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
3051 name in implementation)
3053 No tests. No change in behavior.
3055 * bindings/scripts/CodeGenerator.pm:
3057 (GenerateCompileTimeCheckForEnumsIfNeeded):
3058 * bindings/scripts/CodeGeneratorJS.pm:
3060 (GenerateImplementation):
3062 * bindings/scripts/CodeGeneratorV8.pm:
3063 (GenerateSingleBatchedAttribute):
3064 (GenerateFunctionCallString):
3067 * bindings/scripts/test/TestObj.idl:
3068 * bindings/scripts/test/TestTypedArray.idl:
3070 * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
3072 * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
3074 * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
3076 * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
3079 * bindings/scripts/test/TestObj.idl:
3080 * bindings/scripts/test/TestTypedArray.idl:
3081 * css/WebKitCSSFilterValue.idl:
3082 * css/WebKitCSSTransformValue.idl:
3083 * dom/DOMCoreException.idl:
3085 * dom/EventException.idl:
3086 * dom/RangeException.idl:
3087 * fileapi/FileException.idl:
3088 * fileapi/OperationNotAllowedException.idl:
3089 * html/HTMLFormElement.idl:
3090 * html/canvas/Float32Array.idl:
3091 * html/canvas/Float64Array.idl:
3092 * html/canvas/Int16Array.idl:
3093 * html/canvas/Int32Array.idl:
3094 * html/canvas/Int8Array.idl:
3095 * html/canvas/OESStandardDerivatives.idl:
3096 * html/canvas/OESVertexArrayObject.idl:
3097 * html/canvas/Uint16Array.idl:
3098 * html/canvas/Uint32Array.idl:
3099 * html/canvas/Uint8Array.idl:
3100 * html/canvas/Uint8ClampedArray.idl:
3101 * html/canvas/WebGLCompressedTextures.idl:
3102 * html/canvas/WebGLDebugRendererInfo.idl:
3103 * html/canvas/WebGLRenderingContext.idl:
3104 * inspector/JavaScriptCallFrame.idl:
3105 * loader/appcache/DOMApplicationCache.idl:
3107 * page/DOMWindow.idl:
3108 * page/Location.idl:
3109 * storage/IDBCursor.idl:
3110 * storage/IDBDatabaseException.idl:
3111 * storage/IDBObjectStore.idl:
3112 * storage/SQLException.idl:
3113 * svg/SVGComponentTransferFunctionElement.idl:
3114 * svg/SVGException.idl:
3115 * svg/SVGFEBlendElement.idl:
3116 * svg/SVGFEColorMatrixElement.idl:
3117 * svg/SVGFECompositeElement.idl:
3118 * svg/SVGFEConvolveMatrixElement.idl:
3119 * svg/SVGFEDisplacementMapElement.idl:
3120 * svg/SVGFEMorphologyElement.idl:
3121 * svg/SVGFETurbulenceElement.idl:
3122 * svg/SVGGradientElement.idl:
3123 * xml/XMLHttpRequestException.idl:
3125 2012-02-06 Stephen Chenney <schenney@chromium.org>
3127 RenderSVGShape::strokeContains will fail for some strokes
3128 https://bugs.webkit.org/show_bug.cgi?id=76931
3130 Reviewed by Darin Adler.
3132 Adding support for rounded zero-length endcaps for SVG path hit
3135 Tests: svg/hittest/zero-length-butt-cap-path.xhtml
3136 svg/hittest/zero-length-round-cap-path.xhtml
3137 svg/hittest/zero-length-square-cap-path.xhtml
3139 * rendering/svg/RenderSVGShape.cpp:
3140 (WebCore::RenderSVGShape::strokeContains):
3142 2012-02-06 Gregg Tavares <gman@google.com>
3144 Add webGLErrorsToConsoleEnabled Settings flag
3145 https://bugs.webkit.org/show_bug.cgi?id=77696
3147 Reviewed by Kenneth Russell.
3149 No new tests as there is no change in behavior.
3151 * html/canvas/WebGLRenderingContext.cpp:
3153 (WebCore::WebGLRenderingContext::setupFlags):
3154 * page/Settings.cpp:
3155 (WebCore::Settings::Settings):
3158 (WebCore::Settings::webGLErrorsToConsoleEnabled):
3160 2012-02-06 Emil A Eklund <eae@chromium.org>
3162 Convert PopupMenuClient::clientPadding over to new layout abstraction
3163 https://bugs.webkit.org/show_bug.cgi?id=77798
3165 Reviewed by Eric Seidel.
3167 Change PopupMenuClient and all classes inheriting from it to use the new
3168 layout types for padding.
3172 * platform/PopupMenuClient.h:
3174 * rendering/RenderMenuList.h:
3175 * rendering/RenderTextControlSingleLine.cpp:
3176 (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
3177 (WebCore::RenderTextControlSingleLine::clientPaddingRight):
3178 * rendering/RenderTextControlSingleLine.h:
3180 2012-02-06 Philip Rogers <pdr@google.com>
3182 Fix color animations by value
3183 https://bugs.webkit.org/show_bug.cgi?id=77812
3185 Reviewed by Darin Adler.
3187 Test: svg/animations/animate-color-fill-from-by.html
3189 * svg/SVGAnimatedColor.cpp:
3190 (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
3192 2012-02-03 Jer Noble <jer.noble@apple.com>
3194 REGRESSION (r104303): Clicking inline video controls gives the video a focus ring
3195 https://bugs.webkit.org/show_bug.cgi?id=77288
3197 Reviewed by Darin Adler.
3199 Test: media/video-mouse-focus.html
3201 Do not allow media elements to be focused by mouse click by overriding isMouseFocusable
3202 and returning false.
3204 * html/HTMLMediaElement.cpp:
3205 (WebCore::HTMLMediaElement::isMouseFocusable):
3206 * html/HTMLMediaElement.h:
3208 2012-02-06 Anders Carlsson <andersca@apple.com>
3210 Overlay scrollbars flash when window is simply activated
3211 https://bugs.webkit.org/show_bug.cgi?id=77911
3212 <rdar://problem/10211995>
3214 Reviewed by Kenneth Russell.
3216 Add a new member function, FocusController::setContainingWindowIsVisible, and move the code
3217 that calls ScrollableArea::contentAreaDidShow/ScrollableArea::contentAreaDidHide there, since
3218 we only want to flash scrollers when the window becomes visible.
3221 * page/FocusController.cpp:
3222 (WebCore::FocusController::FocusController):
3223 (WebCore::FocusController::setActive):
3224 (WebCore::FocusController::setContainingWindowIsVisible):
3226 * page/FocusController.h:
3228 (WebCore::FocusController::containingWindowIsVisible):
3230 * platform/mac/ScrollAnimatorMac.mm:
3231 (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
3232 Call ScrollAnimatorMac::contentAreaWillPaint here, since that will trigger AppKit to flash the scrollers.
3234 2012-02-06 Greg Simon <gregsimon@chromium.org>
3236 postMessage leaks MemoryEvent object
3237 https://bugs.webkit.org/show_bug.cgi?id=77893
3239 Reviewed by Adam Barth.
3241 Changed from PassRefPtr().leakRef() to RefPtr.get() when
3242 calling into FrameLoaderClient to stop +1 extra ref.
3244 * page/DOMWindow.cpp:
3245 (WebCore::DOMWindow::postMessageTimerFired):
3247 2012-02-06 Ehsan Akhgari <ehsan.akhgari@gmail.com>
3249 WebGL conformance test misc/functions-returning-strings.html fails
3250 https://bugs.webkit.org/show_bug.cgi?id=77149
3252 Make sure that WebGL methods returning strings don't return null when
3253 they run successfully.
3255 Reviewed by Kenneth Russell.
3257 Test: fast/canvas/webgl/functions-returning-strings.html
3259 * html/canvas/WebGLRenderingContext.cpp:
3261 (WebCore::WebGLRenderingContext::getProgramInfoLog):
3262 (WebCore::WebGLRenderingContext::getShaderInfoLog):
3263 (WebCore::WebGLRenderingContext::getShaderSource):
3264 (WebCore::WebGLRenderingContext::ensureNotNull):
3265 * html/canvas/WebGLRenderingContext.h:
3266 (WebGLRenderingContext):
3268 2012-02-06 Enrica Casucci <enrica@apple.com>
3270 Refactor Mac platform implementation of the Pasteboard class.
3271 https://bugs.webkit.org/show_bug.cgi?id=77567
3273 The goal of this change is to remove the majority of the methods in
3274 the class interface that are Mac specific.
3275 writeSelectionForTypes has been left to support OS X services.
3276 Some of the methods have been turned into static functions.
3277 The method asURL was being used only by the DragData class and its
3278 implementation has been moved there.
3279 This is a first step in the direction of removing NSPasteboard access from
3280 the WebProcess for WebKit2 (https://bugs.webkit.org/show_bug.cgi?id=77259)
3281 leaving the WebKit1 behavior unchanged.
3283 Reviewed by Alexey Proskuryakov.
3285 No new tests. No changes in behavior.
3287 * platform/Pasteboard.h: Removed most of the Mac specific methods.
3288 * platform/mac/ClipboardMac.mm:
3289 (WebCore::ClipboardMac::writeRange):
3290 (WebCore::ClipboardMac::writeURL):
3291 * platform/mac/DragDataMac.mm:
3292 (WebCore::DragData::asURL): Moved code from PasteboardMac.mm. Removed FIXME
3293 because we only want to handle the case of single file, otherwise the user
3294 doesn't know which of the files has been chosen.
3295 * platform/mac/PasteboardMac.mm:
3296 (WebCore::writeURLForTypes):
3297 (WebCore::Pasteboard::writeURL):
3298 (WebCore::writeFileWrapperAsRTFDAttachment): Now a static function.
3299 (WebCore::Pasteboard::writeImage):
3300 (WebCore::documentFragmentWithImageResource): Ditto.
3301 (WebCore::documentFragmentWithRTF): Ditto.
3302 (WebCore::Pasteboard::documentFragment):
3304 2012-02-06 James Robinson <jamesr@chromium.org>
3306 [chromium] Drop tiles completely outside of layer bounds when resizing to a smaller size
3307 https://bugs.webkit.org/show_bug.cgi?id=77910
3309 Reviewed by Kenneth Russell.
3311 When resizing a tiled layer to a smaller size, drop all tiles that lie completely outside the new layer bounds.
3312 This avoids attempting to access out-of-bounds tiles when iterating over all tiles in the tiler, which triggers
3313 ASSERT()s, as well as saves some memory.
3315 New unit test added to TiledLayerChromiumTest.
3317 * platform/graphics/chromium/TiledLayerChromium.cpp:
3318 (WebCore::TiledLayerChromium::invalidateRect):
3319 * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
3320 (WebCore::CCLayerTilingData::setBounds):
3322 2012-02-06 Chris Rogers <crogers@google.com>
3324 zvmul incorrectly multiplies complex arrays on Windows.
3325 https://bugs.webkit.org/show_bug.cgi?id=77900
3327 Reviewed by Kenneth Russell.
3329 * platform/audio/VectorMath.cpp:
3330 (WebCore::VectorMath::zvmul):
3332 2012-02-06 Andreas Kling <awesomekling@apple.com>
3334 REGRESSION(r106756): 10% performance hit on DOM/Template.
3335 <http://webkit.org/b/77831>
3337 Reviewed by Ryosuke Niwa.
3339 Let the StylePropertySet used for element attribute style have the element as its parent.
3340 This is accomplished by adding an m_parentIsElement bit to StylePropertySet and sharing
3341 some of the internal logic with inline styles.
3343 In the end, this means that CSSParser will now pick up the document's CSSValuePool when
3344 parsing properties for attribute styles, which fixes the perf regression from r106756.
3346 * css/StylePropertySet.cpp:
3347 (WebCore::StylePropertySet::StylePropertySet):
3348 (WebCore::StylePropertySet::contextStyleSheet):
3350 Find contextStyleSheet via the parentElement() when there is one.
3352 (WebCore::StylePropertySet::setNeedsStyleRecalc):
3354 Always set FullStyleChange for attribute style mutations. We can probably use the
3355 same lighter invalidation as inline styles, but that's a topic for another patch.
3357 * css/StylePropertySet.h:
3358 (WebCore::StylePropertySet::createInline):
3359 (WebCore::StylePropertySet::createAttributeStyle):
3360 (WebCore::StylePropertySet::parentRuleInternal):
3361 (WebCore::StylePropertySet::clearParentRule):
3363 (WebCore::StylePropertySet::parentElement):
3364 (WebCore::StylePropertySet::clearParentElement):
3366 Added m_parentIsElement bit and update assertions as appropriate to not just
3367 cover the inline style case. Added a createAttributeStyle() helper to create
3368 a StylePropertySet for use as Element::attributeStyle().
3370 * dom/StyledElement.h:
3371 * dom/ElementAttributeData.h:
3372 * dom/ElementAttributeData.cpp:
3373 (WebCore::ElementAttributeData::ensureAttributeStyle):
3375 Use StylePropertySet::createAttributeStyle().
3377 * dom/StyledElement.cpp:
3378 (WebCore::StyledElement::removeCSSProperties):
3379 (WebCore::StyledElement::addCSSProperty):
3380 (WebCore::StyledElement::addCSSImageProperty):
3382 Remove setNeedsStyleRecalc() calls since that is now handled automatically by
3383 StylePropertySet's mutation methods.
3385 2012-02-06 Kentaro Hara <haraken@chromium.org>
3387 In AppleWebKit, stop rebuilding IDLs that need not to be rebuilt
3388 https://bugs.webkit.org/show_bug.cgi?id=77510
3390 Reviewed by Adam Barth.
3392 Currently, if any IDL file is updated, all IDL files are rebuilt.
3393 This patch stops rebuilding IDL files which are not modified nor
3394 whose supplemental dependencies are not changed.
3396 The new build flow is as follows:
3398 supplemental.dep : $(ALL_IDLS)
3399 perl resolve-supplemental.pl ...
3401 %.idl-needs-rebuild : %.idl supplemental.dep
3402 perl update-idl-needs-rebuild.pl ...
3404 JS%.cpp : %.idl-needs-rebuild
3405 perl generate-bindings.pl ...
3407 resolve-supplemental.pl generates the following supplemental.dep.
3408 The number in () is the last access timestamp of the file.
3411 B.idl(1000) B-supplemental1.idl(800) B-supplemental2.idl(1200)
3414 update-idl-needs-rebuild.pl for X.idl touches X.idl-needs-rebuild,
3415 if X.idl-needs-rebuild is older than X.idl or the IDL files which are
3416 supplementing X.idl. For example, if the timestamps of A.idl-needs-rebuild,
3417 B.idl-needs-rebuild and C.idl-needs-rebuild are all 1000, then A.idl-needs-rebuild
3418 and B.idl-needs-rebuild will be touched.
3420 Even if no IDL files are modified, update-idl-needs-rebuild.pl can run for all IDL files,
3421 but generate-bindings.pl won't run. If any IDL file is updated, resolve-supplemental.pl
3422 will run once, update-idl-needs-rebuild.pl will run for all IDL files, and
3423 generate-bindings.pl will run for the IDL files which are modified or whose
3424 dependencies are changed.
3426 No tests. I manually confirmed the followings:
3427 - Touch Element.idl, then only Element.idl is rebuilt
3428 - Touch DOMWindow.idl, then only DOMWindow.idl is rebuilt
3429 - Touch DOMWindowWebAudio.idl, then only DOMWindow.idl and DOMWindowWebAudio.idl are rebuilt
3431 * DerivedSources.make: Modified the build flow as described above.
3432 * bindings/scripts/generate-bindings.pl: Modified to read an IDL file path from .idl-needs-rebuild.
3433 * bindings/scripts/update-idl-needs-rebuild.pl: Added. Touches X.idl-needs-rebuild if
3434 the X.idl-needs-rebuild is older than X.idl or the IDL files which are supplementing X.idl.
3437 2012-02-06 Wei James <james.wei@intel.com>
3439 AudioBus need to support stereo->mono down mix in copyFrom sumFrom etc.
3440 https://bugs.webkit.org/show_bug.cgi?id=77609
3442 Reviewed by Kenneth Russell.
3444 Test: webaudio/stereo2mono-down-mixing.html
3446 * platform/audio/AudioBus.cpp:
3448 (WebCore::AudioBus::copyFrom):
3449 (WebCore::AudioBus::sumFrom):
3451 2012-02-06 Cris Neckar <cdn@chromium.org>
3453 Add RefPtrs for parent and sibling counter nodes
3454 https://bugs.webkit.org/show_bug.cgi?id=75212
3456 Reviewed by Adam Barth.
3458 Test: fast/css/counters/reparent-table-children-with-counters-crash.html
3460 * rendering/RenderCounter.cpp:
3461 (WebCore::findPlaceForCounter):
3462 (WebCore::makeCounterNode):
3463 (WebCore::updateCounters):
3465 2012-02-06 Kalev Lember <kalevlember@gmail.com>
3467 [GTK] Add missing pango include dir to fix build
3468 https://bugs.webkit.org/show_bug.cgi?id=77832
3470 Reviewed by Martin Robinson.
3472 * GNUmakefile.am: Added $(PANGO_CFLAGS) to libWebCore_la_CPPFLAGS.
3474 2012-02-06 Jochen Eisinger <jochen@chromium.org>
3476 Before accessing a frame's script controller in V8 bindings, first check that the frame actually exists
3477 https://bugs.webkit.org/show_bug.cgi?id=77370
3479 Reviewed by Adam Barth.
3481 I don't have a working reproduction of the crash yet. As soon as I have
3482 one, I will add new layout tests.
3484 * bindings/v8/PageScriptDebugServer.cpp:
3485 (WebCore::PageScriptDebugServer::addListener):
3486 * bindings/v8/ScheduledAction.cpp:
3487 (WebCore::ScheduledAction::execute):
3488 * bindings/v8/ScriptCachedFrameData.cpp:
3489 (WebCore::ScriptCachedFrameData::restore):
3490 * page/DOMTimer.cpp:
3491 (WebCore::DOMTimer::DOMTimer): remove temporary debug code
3493 2012-02-06 James Robinson <jamesr@chromium.org>
3495 Support detaching TextureManager from ManagedTexture
3496 https://bugs.webkit.org/show_bug.cgi?id=77655