1 2012-02-08 Gregg Tavares <gman@google.com>
3 Implement new WEBGL compressed texture extensions
4 https://bugs.webkit.org/show_bug.cgi?id=77066
6 This removes the old experimental compressed
7 texture extension and implements the first new
10 A test is in the WebGL conformance tests in
11 extensions/webgl-compressed-texture-s3tc.html
12 and will be copied here in a future patch.
14 Reviewed by Kenneth Russell.
16 No new tests. Test coming in future patch.
19 * DerivedSources.make:
20 * GNUmakefile.list.am:
23 * WebCore.xcodeproj/project.pbxproj:
24 * bindings/js/JSWebGLRenderingContextCustom.cpp:
26 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
27 (WebCore::toV8Object):
28 * html/canvas/WebGLCompressedTextureS3TC.cpp: Added.
30 (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
31 (WebCore::WebGLCompressedTextureS3TC::~WebGLCompressedTextureS3TC):
32 (WebCore::WebGLCompressedTextureS3TC::getName):
33 (WebCore::WebGLCompressedTextureS3TC::create):
34 (WebCore::WebGLCompressedTextureS3TC::supported):
35 * html/canvas/WebGLCompressedTextureS3TC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
37 (WebGLCompressedTextureS3TC):
38 * html/canvas/WebGLCompressedTextureS3TC.idl: Renamed from Source/WebCore/html/canvas/WebGLCompressedTextures.idl.
39 * html/canvas/WebGLCompressedTextures.cpp: Removed.
40 * html/canvas/WebGLCompressedTextures.h: Removed.
41 * html/canvas/WebGLExtension.h:
42 * html/canvas/WebGLGetInfo.cpp:
43 (WebCore::WebGLGetInfo::WebGLGetInfo):
45 (WebCore::WebGLGetInfo::getWebGLUnsignedIntArray):
46 * html/canvas/WebGLGetInfo.h:
47 * html/canvas/WebGLObject.cpp:
48 * html/canvas/WebGLRenderingContext.cpp:
50 (WebCore::WebGLRenderingContext::addCompressedTextureFormat):
51 (WebCore::WebGLRenderingContext::compressedTexImage2D):
52 (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
53 (WebCore::WebGLRenderingContext::getExtension):
54 (WebCore::WebGLRenderingContext::getParameter):
55 (WebCore::WebGLRenderingContext::getSupportedExtensions):
56 (WebCore::WebGLRenderingContext::validateCompressedTexFormat):
57 (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
58 (WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
59 (WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions):
60 * html/canvas/WebGLRenderingContext.h:
62 (WebGLRenderingContext):
63 * html/canvas/WebGLRenderingContext.idl:
65 2012-02-08 Ilya Tikhonovsky <loislo@chromium.org>
67 Web Inspector: heap snapshot: implement Distance column in Object's retaining tree.
68 https://bugs.webkit.org/show_bug.cgi?id=78113
70 Retaining path list was replaced with Retaining tree some time ago.
71 But it was not so useful when we want to track the retaining path from an object to a DOM Window node.
73 Drive by fix: sort doesn't work in retaining tree panel.
74 Drive by fix: save/load child nodes doesn't work for the retaining tree panel.
76 Reviewed by Yury Semikhatsky.
78 * inspector/front-end/DetailedHeapshotGridNodes.js:
79 (WebInspector.HeapSnapshotObjectNode):
80 (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity): save/load children fix
81 (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode): save/load children fix
82 (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
83 (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
84 * inspector/front-end/DetailedHeapshotView.js:
85 (WebInspector.HeapSnapshotContainmentDataGrid):
86 (WebInspector.HeapSnapshotRetainmentDataGrid):
87 (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
88 * inspector/front-end/HeapSnapshot.js:
89 (WebInspector.HeapSnapshotRetainerEdge.prototype.set retainerIndex):
90 (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
91 (WebInspector.HeapSnapshotRetainerEdge.prototype.get _node):
92 (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
93 (WebInspector.HeapSnapshotNode.prototype.get distanceToWindow):
94 (WebInspector.HeapSnapshot.prototype._init):
95 (WebInspector.HeapSnapshot.prototype._buildRetainers):
96 (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
97 (WebInspector.HeapSnapshot.prototype._bfs):
98 (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
99 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName):
100 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
101 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeAndNode):
102 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndEdge):
103 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndNode):
104 (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
105 (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
106 * inspector/front-end/heapProfiler.css:
107 (.detailed-heapshot-view .data-grid td.distanceToWindow-column):
109 2012-02-08 Anders Carlsson <andersca@apple.com>
111 Fix assertion in svg/dom/SVGStyledElement-pendingResource-crash.html
112 https://bugs.webkit.org/show_bug.cgi?id=78126
114 Reviewed by Dan Bernstein.
116 This broke in r106977 when I tried to change an early return into an ASSERT,
117 so let's bring back the early return.
119 * page/FrameView.cpp:
120 (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
122 2012-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
124 Unreviewed, rolling out r106920, r106924, r106933, r106939,
126 http://trac.webkit.org/changeset/106920
127 http://trac.webkit.org/changeset/106924
128 http://trac.webkit.org/changeset/106933
129 http://trac.webkit.org/changeset/106939
130 http://trac.webkit.org/changeset/107090
131 https://bugs.webkit.org/show_bug.cgi?id=78124
133 Something is completely wrong this change (Requested by
134 Ossy_gardener on #webkit).
136 * platform/FileSystem.h:
138 * platform/qt/FileSystemQt.cpp:
140 2012-02-08 David Hyatt <hyatt@apple.com>
142 https://bugs.webkit.org/show_bug.cgi?id=78122
144 Add support for the "contains" value for line-grid-snap. This value centers the line box in between the
145 text-top and text-bottom of the minimum number of grid lines that enclose the line box. This is useful for
146 centering headers in a line grid.
148 Reviewed by Adam Roben.
150 Added a new test in fast/line-grid.
152 * rendering/RootInlineBox.cpp:
153 (WebCore::RootInlineBox::lineGridSnapAdjustment):
155 2012-02-08 Cary Clark <caryclark@google.com>
157 [Skia Mac] Make misspelling underline dots unclipped
158 https://bugs.webkit.org/show_bug.cgi?id=78117
159 http://code.google.com/p/chromium/issues/detail?id=113154
161 Reviewed by Stephen White.
163 No new tests. Existing layout tests cover this.
165 As is done on the CoreGraphics Mac platform, adjust the
166 underline width to remove partial dots, not including the
167 trailing transparent pixel column.
169 * platform/graphics/skia/GraphicsContextSkia.cpp:
170 (WebCore::GraphicsContext::drawLineForTextChecking):
172 2012-02-08 Pavel Feldman <pfeldman@google.com>
174 Web Inspector: bind entire subtree upon childNodeInserted so that text node were accounted.
175 https://bugs.webkit.org/show_bug.cgi?id=78116
177 Reviewed by Yury Semikhatsky.
179 * inspector/front-end/DOMAgent.js:
180 (WebInspector.DOMNode):
181 (WebInspector.DOMDocument):
182 (WebInspector.DOMAgent.prototype._setDocument):
183 (WebInspector.DOMAgent.prototype._setDetachedRoot):
184 (WebInspector.DOMAgent.prototype._setChildNodes):
185 (WebInspector.DOMAgent.prototype._childNodeRemoved):
186 (WebInspector.DOMAgent.prototype._unbind):
188 2012-02-08 Peter Rybin <peter.rybin@gmail.com>
190 Web Inspector: Optional out arguments are not supported in the Web Inspector protocol, which breaks the implementation
191 https://bugs.webkit.org/show_bug.cgi?id=77967
193 Reviewed by Yury Semikhatsky.
195 Condition for RefPtr-based types added. This is more-or-less a hack
196 and it's should be redone together with the switch to type-safe API.
198 * inspector/CodeGeneratorInspector.py:
199 (Generator.process_command):
201 2012-02-07 Yury Semikhatsky <yurys@chromium.org>
203 Web Inspector: inspected object wrapper should be released by InjectedScript when popover closes
204 https://bugs.webkit.org/show_bug.cgi?id=77972
206 When object popover is shown the object under cursor is resolved and its
207 wrapper is put into 'popover' object wrapper group. The group is discarded
208 when the popover closes.
210 Reviewed by Pavel Feldman.
212 * bindings/js/ScriptProfiler.cpp:
213 (WebCore::ScriptProfiler::objectByHeapObjectId):
214 * bindings/js/ScriptProfiler.h:
217 * bindings/v8/ScriptProfiler.cpp:
218 (WebCore::ScriptProfiler::objectByHeapObjectId):
220 * bindings/v8/ScriptProfiler.h:
223 * inspector/Inspector.json:
224 * inspector/InspectorProfilerAgent.cpp:
225 (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
226 * inspector/InspectorProfilerAgent.h:
227 (InspectorProfilerAgent):
228 * inspector/front-end/DetailedHeapshotGridNodes.js:
229 (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
230 * inspector/front-end/DetailedHeapshotView.js:
231 (WebInspector.DetailedHeapshotView.prototype._resolveObjectForPopover):
232 * inspector/front-end/JavaScriptSourceFrame.js:
233 (WebInspector.JavaScriptSourceFrame):
234 (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
235 (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
236 * inspector/front-end/ObjectPopoverHelper.js:
237 (WebInspector.ObjectPopoverHelper):
238 (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
239 (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
241 2012-02-08 Mario Sanchez Prada <msanchez@igalia.com>
243 [Gtk] atk_text_get_text_at_offset() fails to provide the correct line for list items whose text wraps
244 https://bugs.webkit.org/show_bug.cgi?id=73431
246 Reviewed by Chris Fleizach.
248 Don't replace item's markers with the objectReplacementCharacter
249 character, as they will be treated in an special way later on.
251 * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
252 (textForRenderer): Don't append the objectReplacementCharacter
253 character for list item's markers.
255 2012-02-08 Pavel Feldman <pfeldman@google.com>
257 Web Inspector: do not clear entire tree map upon last element deletion.
258 https://bugs.webkit.org/show_bug.cgi?id=78112
260 Reviewed by Yury Semikhatsky.
262 * inspector/front-end/treeoutline.js:
263 (TreeOutline.prototype._forgetChildrenRecursive):
265 2012-02-08 Kaustubh Atrawalkar <kaustubh@motorola.com>
267 Migrate createObjectURL & revokeObjectURL to static (Class) methods.
268 https://bugs.webkit.org/show_bug.cgi?id=74386
270 Reviewed by Kentaro Hara.
272 Move createObjectURL & revokeObjectURL from DOMURL implementation to
273 static methods as per specs - http://www.w3.org/TR/FileAPI/#creating-revoking
275 Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
277 fast/files/revoke-blob-url.html
278 fast/dom/window-domurl-crash.html
279 fast/files/apply-blob-url-to-img.html
280 fast/files/create-blob-url-crash.html
281 fast/files/workers/inline-worker-via-blob-url.html
283 * GNUmakefile.list.am:
286 * WebCore.vcproj/WebCore.vcproj:
287 * WebCore.xcodeproj/project.pbxproj:
288 * dom/ScriptExecutionContext.cpp:
289 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
290 (WebCore::ScriptExecutionContext::fileThread):
292 (WebCore::ScriptExecutionContext::publicURLManager):
293 * dom/ScriptExecutionContext.h:
295 (ScriptExecutionContext):
298 (WebCore::DOMURL::createObjectURL): Changed to static.
299 (WebCore::DOMURL::revokeObjectURL): ditto.
302 (WebCore::DOMURL::create):
304 * html/PublicURLManager.h: Added.
307 (WebCore::PublicURLManager::create):
308 (WebCore::PublicURLManager::contextDestroyed):
309 (WebCore::PublicURLManager::blobURLs):
310 (WebCore::PublicURLManager::streamURLs):
311 * page/DOMWindow.cpp: Removed object initialization for DOMURL.
313 * page/DOMWindow.h: ditto.
315 * page/DOMWindow.idl:
316 * workers/WorkerContext.cpp:
318 * workers/WorkerContext.h:
320 * workers/WorkerContext.idl:
322 2012-02-01 Brian Grinstead <briangrinstead@gmail.com>
324 Web Inspector: Add changes for Spectrum colorpicker
325 https://bugs.webkit.org/show_bug.cgi?id=75454
327 Reviewed by Pavel Feldman.
329 * inspector/front-end/Color.js:
330 (WebInspector.Color.fromRGB):
331 * inspector/front-end/utilities.js:
332 (Element.prototype.totalOffsetLeft):
333 (Element.prototype.totalOffsetTop):
334 (Element.prototype.totalOffset):
335 (Element.prototype.scrollOffset):
338 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
340 Web Inspector: Avoid an avalanche of "class" attribute modifications in WatchExpressionsSidebarPane
341 https://bugs.webkit.org/show_bug.cgi?id=78102
343 Reviewed by Vsevolod Vlasov.
345 * inspector/front-end/WatchExpressionsSidebarPane.js:
346 (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
348 2012-02-08 Antaryami Pandia <antaryami.pandia@motorola.com>
350 CSS2 overflow: scrollbar not visible on SELECT elements when overflow: scroll is set.
351 https://bugs.webkit.org/show_bug.cgi?id=69993
353 Reviewed by Simon Fraser.
355 The issue was that for overflow:scroll, currently webkit always places the horizontal
356 and vertical scrollbar. But Since the listbox renderer handles its scrolling,
357 we should not set scrollbar for list-box.
359 Tests: fast/css/getComputedStyle/computed-style-select-overflow.html
360 fast/forms/select-overflow-scroll-inherited.html
361 fast/forms/select-overflow-scroll.html
363 * rendering/RenderBlock.cpp:
364 (WebCore::RenderBlock::layoutBlock):
365 * rendering/RenderLayer.cpp:
366 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
368 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
370 feImage doesn't invalidate when its target SVG element is animated
371 https://bugs.webkit.org/show_bug.cgi?id=73860
373 Reviewed by Dirk Schulze.
375 Consider following testcase:
377 <rect id="rect" fill="red" width="50" height="50"/>
379 <feImage xlink:href="#rect"/>
382 <rect width="50" height="50" filter="url(#filter)"/>
384 If the <rect id="rect"> gets changed dynamically (attribute/property/style change) the <feImage>
385 doesn't notice this, as there's no link between the <rect> and the <feImage>, as the <rect> is not
386 a child of the <feImage/>. To get invalidations working for these situations, we have to track
387 the referencingElement & referencedElement in SVGDocumentExtensions.
389 Fixes parts the SVG-Wow twirl testcase and David Daileys SVG waves example.
391 Tests: svg/filters/feImage-animated-transform-on-target-rect.svg
392 svg/filters/feImage-late-indirect-update.svg
393 svg/filters/feImage-mutliple-targets-id-change.svg
394 svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg
395 svg/filters/feImage-target-attribute-change-with-use-indirection.svg
396 svg/filters/feImage-target-attribute-change.svg
397 svg/filters/feImage-target-inline-style-change.svg
398 svg/filters/feImage-target-property-change.svg
399 svg/filters/feImage-target-style-change.svg
401 * rendering/svg/RenderSVGResource.cpp:
402 (WebCore::removeFromFilterCacheAndInvalidateDependencies): Renamed from removeFromFilterCache, as it has another purpose now.
403 (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): s/removeFromFilterCache/removeFromFilterCacheAndInvalidateDependencies/.
404 * rendering/svg/RenderSVGResource.h: Removed removeFromFilterCache, it got inlined.
405 * svg/SVGDocumentExtensions.cpp: Add a new HashMap<SVGElement*, OwnPtr<HashSet<SVGElement*> > > used for dependency tracking.
406 (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): Returns all elements the passed in element depends on.
407 (WebCore::SVGDocumentExtensions::addElementReferencingTarget): Register element 'a' referencing target 'b'.
408 (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): Called by element 'a' on destruction or any target change.
409 (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): Called by element 'b' on destruction.
410 * svg/SVGDocumentExtensions.h: Expose new methods.
411 * svg/SVGElement.cpp:
412 (WebCore::SVGElement::~SVGElement): Call remove removeAllElementReferencesForTarget on destruction.
413 * svg/SVGFEImageElement.cpp:
414 (WebCore::SVGFEImageElement::clearResourceReferences):
415 (WebCore::SVGFEImageElement::buildPendingResource):
417 2012-02-08 Kihong Kwon <kihong.kwon@samsung.com>
419 [EFL] Using string method instead of char* operation in the platformLanguage().
420 https://bugs.webkit.org/show_bug.cgi?id=78077
422 Reviewed by Andreas Kling.
424 No new tests. Just fix a bug of platformLanguage function.
426 * platform/efl/LanguageEfl.cpp:
427 (WebCore::platformLanguage):
428 Change char* operation to string operation.
430 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
432 Web Inspector: Touch event emulation fails for iframes
433 https://bugs.webkit.org/show_bug.cgi?id=77987
435 Reviewed by Pavel Feldman.
437 Test: fast/events/touch/emulated-touch-iframe.html
439 * page/EventHandler.cpp:
440 (WebCore::EventHandler::handleMouseReleaseEvent):
442 2012-02-08 Andreas Kling <awesomekling@apple.com>
444 StyledElement: Manully setNeedsStyleRecalc() after adding CSSProperties directly.
445 <http://webkit.org/b/78068>
447 Rubber-stamped by Ryosuke Niwa.
449 Turns out that setProperty() with a CSSProperty has quite different behavior from
450 the other setProperty() methods. We should probably clean that up (separately.)
451 For now, simply call setNeedsStyleRecalc() manually in the addCSS* functions that
452 use setProperty(CSSProperty).
454 * dom/StyledElement.cpp:
455 (WebCore::StyledElement::addCSSProperty):
456 (WebCore::StyledElement::addCSSImageProperty):
458 2012-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
460 Unreviewed, rolling out r107050.
461 http://trac.webkit.org/changeset/107050
462 https://bugs.webkit.org/show_bug.cgi?id=78094
464 May crash editing tests (Requested by morrita on #webkit).
466 * html/HTMLDetailsElement.cpp:
467 (WebCore::HTMLDetailsElement::createShadowSubtree):
468 * html/HTMLKeygenElement.cpp:
469 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
470 * html/HTMLMeterElement.cpp:
471 (WebCore::HTMLMeterElement::createShadowSubtree):
472 * html/HTMLProgressElement.cpp:
473 (WebCore::HTMLProgressElement::createShadowSubtree):
474 * html/HTMLSummaryElement.cpp:
475 (WebCore::HTMLSummaryElement::createShadowSubtree):
476 * html/HTMLTextAreaElement.cpp:
477 (WebCore::HTMLTextAreaElement::createShadowSubtree):
479 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
481 [Qt] REGRESSION(r106918): It made svg/zoom/page/zoom-foreignObject.svg crash with Qt5-WK1
482 https://bugs.webkit.org/show_bug.cgi?id=77995
484 Reviewed by Csaba Osztrogonác.
486 From the stack traces it's obvious that SVGImageChromeClient tried to invalidate the root view,
487 while its SVGImage was being destructed, due to an updateStyleIfNeeded() call, coming
488 from frameDetached(). There's no point in redrawing there, so we should just stop it.
490 Covered by existing tests on the Qt but, unfortunately I couldn't reproduce it on Mac.
492 * svg/graphics/SVGImage.cpp:
493 (WebCore::SVGImageChromeClient::invalidateContentsAndRootView): Stop invalidating if m_page is 0.
494 (WebCore::SVGImage::~SVGImage): Clear m_page, so that SVGImageChromeClient knows we're destructing.
495 * svg/graphics/SVGImage.h:
497 2012-02-08 Pablo Flouret <pablof@motorola.com>
499 Add state attribute to history's dom interface.
500 https://bugs.webkit.org/show_bug.cgi?id=76035
502 Reviewed by Kentaro Hara.
504 Tests: fast/loader/stateobjects/state-attribute-object-types.html
505 fast/loader/stateobjects/state-attribute-only-one-deserialization.html
507 * bindings/js/JSHistoryCustom.cpp:
508 (WebCore::JSHistory::state):
510 (WebCore::JSHistory::pushState):
511 (WebCore::JSHistory::replaceState):
512 * bindings/v8/custom/V8HistoryCustom.cpp:
513 (WebCore::V8History::stateAccessorGetter):
515 (WebCore::V8History::pushStateCallback):
516 (WebCore::V8History::replaceStateCallback):
518 (WebCore::History::History):
519 (WebCore::History::state):
521 (WebCore::History::stateInternal):
522 (WebCore::History::stateChanged):
527 2012-02-08 Nikolas Zimmermann <nzimmermann@rim.com>
529 SVGLoad event fires too early
530 https://bugs.webkit.org/show_bug.cgi?id=78084
532 Reviewed by Hajime Morita.
534 SVGLoad event fires too early, making it impossible to use the vanilla repaint.js harness (runRepaintTest).
536 We're using a hack called runSVGRepaintTest() at the moment in trunk, which runs runRepaintTest() from a 0ms timer,
537 which is not reliable. The main difference between HTML onload and SVG onload is that HTMLs event is a "window event",
538 thus dispatched through DOMWindow (eg. <body onload="alert(event.target)" will yield Document,
539 <svg onload="alert(evt.target)"> will say SVGSVGElement).
542 <svg onload="alert('1')>
543 <g onload="alert('2)">
544 <rect onload="alert('3')"/>
547 As soon as the <rect> finishes parsing (SVGElement::finishedParsingChildren), it's SVGLoad event is fired.
548 So first you'll see '3', then '2', then '1'.
551 <svg onload="alert('1')>
552 <g onload="alert('2)">
553 <image xlink:href="someExternal.jpg" onload="alert('3')"/>
556 will yield the same SVGLoad order. When using <image externalREsourcesRequired="true", first the '1' will fire,
557 then '3', then '2', all as expected and specified in SVG.
559 http://www.w3.org/TR/SVG/interact.html#LoadEvent says:
560 "The event is triggered at the point at which the user agent has fully parsed the element and its descendants and is
561 ready to act appropriately upon that element, such as being ready to render the element to the target device. Referenced
562 external resources that are required must be loaded, parsed and ready to render before the event is triggered. Optional
563 external resources are not required to be ready for the event to be triggered."
565 What we don't implement correctly is the second part of the first sentence: "and is ready to act appropriately upon that
566 element, such as being ready to render the element to the target device". We currently fire the SVGLoad event, right after
567 </svg> is seen, if no externalResourceRequired="true" attributes are set anywhere. This is not wrong, but not correct for
568 WebKit, as we're not yet "ready to render".
570 HTML fires its window onload event from Document::implicitClose(), where it calls Document::dispatchWindowLoadEvent.
571 At this point we're ready to render. So I'm now aligning the timing of the outermost <svg> elements SVGLoad event, to be
572 equal to HTML. This lets use use the repaint.js harness w/o any special SVG tricks.
574 Covered by existing tests.
577 (WebCore::Document::implicitClose): Dispatch SVGLoad event for outermost <svg> elements from here, as HTML does for its window onload event.
578 * svg/SVGDocumentExtensions.cpp:
579 (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements): Sends a SVGLoad event to all outermost <svg> elements in a document, if possible.
580 There can be multiple ones, if using <svg><foreignObject><svg>... - the <svg> in the <fO> also acts as outermost <svg> element.
581 * svg/SVGDocumentExtensions.h: Add new dispatchSVGLoadEventToOutermostSVGElements() helper.
582 * svg/SVGElement.cpp:
583 (WebCore::SVGElement::isOutermostSVGSVGElement): Moved from SVGSVGElement into SVGElement, and renamed from isOutermostSVG().
584 (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't dispatch load events to outermost <svg> elements, if Document::implicitClose() wasn't called yet.
585 (WebCore::SVGElement::finishParsingChildren): Stop using the default SVGLoad dispatching logic for outermost <svg> elements.
586 * svg/SVGElement.h: Add isOutermostSVGSVGElement().
587 * svg/SVGSVGElement.cpp: Rename isOutermostSVG to isOutermostSVGSVGElement.
588 (WebCore::SVGSVGElement::currentScale):
589 (WebCore::SVGSVGElement::setCurrentScale):
590 (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
591 (WebCore::SVGSVGElement::createRenderer):
592 * svg/SVGSVGElement.h: Move isOutermostSVG() to SVGElement.
593 * svg/SVGStyledElement.cpp:
594 (WebCore::SVGStyledElement::title): Rename isOutermostSVG to isOutermostSVGSVGElement.
596 2012-02-08 Alexander Pavlov <apavlov@chromium.org>
598 Web Inspector: [CRASH] InspectorDOMAgent::updateTouchEventEmulationInPage()
599 https://bugs.webkit.org/show_bug.cgi?id=78090
601 Reviewed by Vsevolod Vlasov.
603 * inspector/InspectorDOMAgent.cpp:
604 (WebCore::InspectorDOMAgent::updateTouchEventEmulationInPage):
606 2012-02-07 Alexander Pavlov <apavlov@chromium.org>
608 Web Inspector: Closed computed style sidebar pane rebuilds, resulting in slowness
609 https://bugs.webkit.org/show_bug.cgi?id=77865
611 Reviewed by Pavel Feldman.
613 Test: inspector/styles/lazy-computed-style.html
615 * inspector/front-end/StylesSidebarPane.js:
616 (WebInspector.StylesSidebarPane):
617 (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
618 (WebInspector.StylesSidebarPane.prototype._refreshComputedStyleSection):
619 (WebInspector.ComputedStyleSidebarPane.prototype.expand):
620 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
622 2012-02-08 Tommy Widenflycht <tommyw@google.com>
624 MediaStream API: Adding the onstatechange callback to PeerConnection
625 https://bugs.webkit.org/show_bug.cgi?id=77954
627 When readyState changes a callback should be triggered.
629 Reviewed by Adam Barth.
631 Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
635 * mediastream/PeerConnection.cpp:
636 (WebCore::PeerConnection::changeReadyState):
637 * mediastream/PeerConnection.h:
639 (WebCore::PeerConnection::didChangeState):
640 * mediastream/PeerConnection.idl:
641 * platform/mediastream/PeerConnectionHandlerClient.h:
642 (PeerConnectionHandlerClient):
644 2012-02-08 Kentaro Hara <haraken@chromium.org>
646 Rename [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL
647 https://bugs.webkit.org/show_bug.cgi?id=77963
649 Reviewed by Adam Barth.
651 This patch renames [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL,
652 for clarification and for naming consistency with [NamedGetter] and [CustomIndexedSetter].
654 No tests. No change in behavior.
656 * bindings/scripts/CodeGeneratorJS.pm:
658 (GenerateImplementation):
659 * bindings/scripts/CodeGeneratorV8.pm:
660 (GenerateHeaderNamedAndIndexedPropertyAccessors):
661 (GenerateImplementationIndexer):
662 (GenerateImplementationNamedPropertyGetter):
663 * bindings/scripts/test/TestInterface.idl:
664 * css/CSSStyleDeclaration.idl:
665 * dom/DOMStringMap.idl:
666 * html/HTMLAppletElement.idl:
667 * html/HTMLEmbedElement.idl:
668 * html/HTMLObjectElement.idl:
671 * storage/Storage.idl:
673 2012-02-08 Kentaro Hara <haraken@chromium.org>
675 Replace [CheckNodeSecurity] with [CheckAccessToNode]
676 https://bugs.webkit.org/show_bug.cgi?id=77971
678 Reviewed by Adam Barth.
680 [CheckNodeSecurity] is not implemented by code generators.
681 This patch replaces [CheckNodeSecurity] with [CheckAccessToNode].
683 Test: http/tests/security/cross-frame-access-frameelement.html
685 * page/DOMWindow.idl:
687 2012-02-08 Kentaro Hara <haraken@chromium.org>
689 Rename [CustomPushEventHandlerScope] to [JSCustomPushEventHandlerScope]
690 https://bugs.webkit.org/show_bug.cgi?id=78081
692 Reviewed by Adam Barth.
694 [CustomPushEventHandlerScope] is a JSC-specific IDL attribute.
695 This patch renames it to [JSCustomPushEventHandlerScope]
697 No tests. No change in behavior.
699 * bindings/scripts/CodeGeneratorJS.pm:
702 * html/HTMLElement.idl:
704 2012-02-06 Kentaro Hara <haraken@chromium.org>
706 Add "JS" prefix to JSC-specific IDLs
707 https://bugs.webkit.org/show_bug.cgi?id=77846
709 Reviewed by Darin Adler.
711 In bug 77693, we have added "JS" prefix to several JSC specific IDLs.
712 This patch adds "JS" prefix to the remaining JSC specific IDLs.
713 Specifically, this patch renames IDLs as follows:
715 [CustomDefineOwnProperty] => [JSCustomDefineOwnProperty]
716 [CustomPrototypeDefineOwnProperty] => [JSCustomPrototypeDefineOwnProperty]
717 [GenerateNativeConverter] => [JSGenerateToNativeObject] (Note: For naming consistency
718 with [JSGenerateToJS] and [JSCustomToNativeObject])
719 [DelegatingGetOwnPropertySlot] => [JSCustomGetOwnPropertySlotDelegate] (Note: Should be prefixed "JS",
720 should be prefixed with "Custom", and for naming consistency with [CustomGetOwnPropertySlot])
722 No tests. No change in behavior.
724 * bindings/scripts/CodeGeneratorJS.pm:
725 (GenerateGetOwnPropertySlotBody):
726 (GenerateGetOwnPropertyDescriptorBody):
728 (GenerateImplementation):
729 * bindings/scripts/test/TestTypedArray.idl:
731 * dom/DataTransferItemList.idl:
733 * dom/DocumentType.idl:
736 * fileapi/DirectoryEntry.idl:
737 * fileapi/DirectoryEntrySync.idl:
739 * fileapi/FileEntry.idl:
740 * fileapi/FileEntrySync.idl:
741 * fileapi/WebKitBlobBuilder.idl:
742 * html/DOMFormData.idl:
744 * html/HTMLAppletElement.idl:
745 * html/HTMLCanvasElement.idl:
746 * html/HTMLElement.idl:
747 * html/HTMLEmbedElement.idl:
748 * html/HTMLImageElement.idl:
749 * html/HTMLMediaElement.idl:
750 * html/HTMLObjectElement.idl:
751 * html/HTMLOptionElement.idl:
752 * html/HTMLOptionsCollection.idl:
753 * html/HTMLTableCaptionElement.idl:
754 * html/HTMLTableSectionElement.idl:
755 * html/HTMLVideoElement.idl:
756 * html/TextTrackCue.idl:
757 * html/canvas/Float32Array.idl:
758 * html/canvas/Float64Array.idl:
759 * html/canvas/Int16Array.idl:
760 * html/canvas/Int32Array.idl:
761 * html/canvas/Int8Array.idl:
762 * html/canvas/Uint16Array.idl:
763 * html/canvas/Uint32Array.idl:
764 * html/canvas/Uint8Array.idl:
765 * html/canvas/Uint8ClampedArray.idl:
766 * mediastream/LocalMediaStream.idl:
767 * page/DOMWindow.idl:
770 * storage/StorageInfo.idl:
771 * svg/SVGElement.idl:
772 * svg/SVGElementInstance.idl:
773 * workers/DedicatedWorkerContext.idl:
774 * workers/SharedWorker.idl:
775 * workers/SharedWorkerContext.idl:
776 * workers/Worker.idl:
777 * workers/WorkerContext.idl:
779 2012-02-07 Kentaro Hara <haraken@chromium.org>
781 Rename [HasOverridingNameGetter] attribute to [CustomNamedGetter] attribute
782 https://bugs.webkit.org/show_bug.cgi?id=78076
784 Reviewed by Adam Barth.
786 This patch renames the [HasOverridingNameGetter] attribute to the
787 [CustomNamedGetter] attribute, for naming consistency with [CustomNamedSetter].
789 Test: bindings/scripts/test/TestCustomNamedGetter.idl
791 * bindings/scripts/CodeGeneratorJS.pm:
792 (GenerateGetOwnPropertySlotBody):
793 (GenerateGetOwnPropertyDescriptorBody):
795 (GenerateImplementation):
796 * bindings/scripts/CodeGeneratorV8.pm:
797 (GenerateHeaderNamedAndIndexedPropertyAccessors):
798 (GenerateImplementationNamedPropertyGetter):
800 * html/HTMLDocument.idl:
801 * html/HTMLFormElement.idl:
802 * html/HTMLFrameSetElement.idl:
804 * bindings/scripts/test/TestCustomNamedGetter.idl: Renamed from Source/WebCore/bindings/scripts/test/TestOverridingNameGetter.idl.
806 * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Updated run-bindings-tests results.
807 (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate::WebDOMTestCustomNamedGetterPrivate):
808 (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate):
809 (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetter):
810 (WebDOMTestCustomNamedGetter::operator=):
811 (WebDOMTestCustomNamedGetter::impl):
812 (WebDOMTestCustomNamedGetter::~WebDOMTestCustomNamedGetter):
813 (WebDOMTestCustomNamedGetter::anotherFunction):
816 * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Ditto.
818 (WebDOMTestCustomNamedGetter):
819 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp: Ditto.
822 (webkit_dom_test_custom_named_getter_another_function):
824 (webkit_dom_test_custom_named_getter_finalize):
825 (webkit_dom_test_custom_named_getter_set_property):
826 (webkit_dom_test_custom_named_getter_get_property):
827 (webkit_dom_test_custom_named_getter_constructed):
828 (webkit_dom_test_custom_named_getter_class_init):
829 (webkit_dom_test_custom_named_getter_init):
830 (WebKit::wrapTestCustomNamedGetter):
831 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h: Ditto.
832 (_WebKitDOMTestCustomNamedGetter):
833 (_WebKitDOMTestCustomNamedGetterClass):
834 * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h: Ditto.
836 * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Ditto.
837 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
839 (WebCore::JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor):
840 (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
841 (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
842 (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
843 (WebCore::JSTestCustomNamedGetterPrototype::self):
844 (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot):
845 (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertyDescriptor):
846 (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
847 (WebCore::JSTestCustomNamedGetter::finishCreation):
848 (WebCore::JSTestCustomNamedGetter::createPrototype):
849 (WebCore::JSTestCustomNamedGetter::destroy):
850 (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
851 (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
852 (WebCore::jsTestCustomNamedGetterConstructor):
853 (WebCore::JSTestCustomNamedGetter::getConstructor):
854 (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
855 (WebCore::isObservable):
856 (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
857 (WebCore::JSTestCustomNamedGetterOwner::finalize):
859 (WebCore::toTestCustomNamedGetter):
860 * bindings/scripts/test/JS/JSTestCustomNamedGetter.h: Ditto.
862 (JSTestCustomNamedGetter):
863 (WebCore::JSTestCustomNamedGetter::create):
864 (WebCore::JSTestCustomNamedGetter::createStructure):
865 (WebCore::JSTestCustomNamedGetter::impl):
866 (WebCore::JSTestCustomNamedGetter::releaseImpl):
867 (WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):
868 (JSTestCustomNamedGetterOwner):
869 (WebCore::wrapperOwner):
870 (WebCore::wrapperContext):
871 (JSTestCustomNamedGetterPrototype):
872 (WebCore::JSTestCustomNamedGetterPrototype::create):
873 (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
874 (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
875 (JSTestCustomNamedGetterConstructor):
876 (WebCore::JSTestCustomNamedGetterConstructor::create):
877 (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
878 * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
879 * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Ditto.
880 * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Ditto.
881 (-[DOMTestCustomNamedGetter dealloc]):
882 (-[DOMTestCustomNamedGetter finalize]):
883 (-[DOMTestCustomNamedGetter anotherFunction:]):
886 * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Ditto.
888 * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
890 (TestCustomNamedGetterInternal):
891 (WebCore::TestCustomNamedGetterInternal::V8_USE):
892 (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
893 (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
894 (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
895 (WebCore::V8TestCustomNamedGetter::GetTemplate):
896 (WebCore::V8TestCustomNamedGetter::HasInstance):
897 (WebCore::V8TestCustomNamedGetter::wrapSlow):
898 (WebCore::V8TestCustomNamedGetter::derefObject):
899 * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: Ditto.
901 (V8TestCustomNamedGetter):
902 (WebCore::V8TestCustomNamedGetter::toNative):
903 (WebCore::V8TestCustomNamedGetter::existingWrapper):
904 (WebCore::V8TestCustomNamedGetter::wrap):
907 2012-02-07 Emil A Eklund <eae@chromium.org>
909 Revert TableSection cell and border calculations to integers
910 https://bugs.webkit.org/show_bug.cgi?id=77918
912 Reviewed by Eric Seidel.
914 Change RenderTableSection cell width, row height and border calculations
915 back to use integers. Table layout is done on integer bounds to comply
916 with the specification and to ensure that columns given the same width,
917 including percentage widths, are rendered with identical widths. The same
922 * rendering/RenderTableSection.cpp:
923 (WebCore::RenderTableSection::setCellLogicalWidths):
924 (WebCore::RenderTableSection::calcRowLogicalHeight):
925 (WebCore::RenderTableSection::layoutRows):
926 (WebCore::RenderTableSection::calcOuterBorderBefore):
927 (WebCore::RenderTableSection::calcOuterBorderAfter):
928 (WebCore::RenderTableSection::calcOuterBorderStart):
929 (WebCore::RenderTableSection::calcOuterBorderEnd):
930 (WebCore::RenderTableSection::paintObject):
931 (WebCore::RenderTableSection::nodeAtPoint):
932 * rendering/RenderTableSection.h:
933 (RenderTableSection):
934 (WebCore::RenderTableSection::RowStruct::RowStruct):
935 (WebCore::RenderTableSection::outerBorderBefore):
936 (WebCore::RenderTableSection::outerBorderAfter):
937 (WebCore::RenderTableSection::outerBorderStart):
938 (WebCore::RenderTableSection::outerBorderEnd):
940 2012-02-07 Robert Kroeger <rjkroege@chromium.org>
942 [chromium] Remove the no longer necessary Chromium gesture recognizer.
943 https://bugs.webkit.org/show_bug.cgi?id=77492
945 Reviewed by Adam Barth.
948 * platform/PlatformGestureRecognizer.h: Removed.
949 * platform/chromium/FramelessScrollView.h:
951 (FramelessScrollView):
952 * platform/chromium/GestureRecognizerChromium.cpp: Removed.
953 * platform/chromium/GestureRecognizerChromium.h: Removed.
954 * platform/chromium/PopupContainer.cpp:
956 * platform/chromium/PopupContainer.h:
957 * platform/chromium/PopupListBox.cpp:
959 * platform/chromium/PopupListBox.h:
962 2012-02-07 Erik Arvidsson <arv@chromium.org>
964 [V8] Allow bindings for attributes on DOM nodes to also set a named hidden reference
965 https://bugs.webkit.org/show_bug.cgi?id=78052
967 Reviewed by Nate Chapin.
969 Before this patch the code generator did not add the named hidden reference when the data node
970 was a DOM Node. This lead to us having to create custom toV8 bindings in a few places.
972 Covered by existing tests
977 * bindings/scripts/CodeGeneratorV8.pm:
978 (GenerateNormalAttrGetter):
979 (HasCustomToV8Implementation):
980 * bindings/v8/custom/V8DOMStringMapCustom.cpp:
981 * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
982 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
984 2012-02-07 Kentaro Hara <haraken@chromium.org>
986 [GTK] Ignore [Custom] attributes in CodeGeneratorGObject.pm
987 https://bugs.webkit.org/show_bug.cgi?id=78059
989 Reviewed by Adam Barth.
991 CodeGeneratorGObject.pm does not support custom attributes.
992 We can skip generating code for attributes with [Custom].
993 The change would make sense, since CodeGeneratorGObject.pm already
994 skips attributes with [CustomGetter] or [CustomSetter].
996 Test: bindings/scripts/test/TestObj.idl
998 * bindings/scripts/CodeGeneratorGObject.pm:
1000 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1002 2012-02-07 Emil A Eklund <eae@chromium.org>
1004 Add pixelSnappedX/Y/Width/Height methods
1005 https://bugs.webkit.org/show_bug.cgi?id=78040
1007 Reviewed by Eric Seidel.
1009 Add pixel snapped versions of x/y/width/height methods. These return the
1010 same value as the x/w/width/height methods for now but once we move over
1011 to sub pixel layout they will snap the subpixel value to a device pixel
1012 and return an integer value.
1014 When snapping the left and top edge is simply rounded to the nearest
1016 The right and bottom edges are computed by subtracting the rounded left/
1017 top edge from the precise location and size. This ensures that the edges
1018 all line up with device pixels and that the total size of an object,
1019 including borders, is at most one pixel off.
1021 In summary, the values are computed as follows:
1024 maxX: round(x + width)
1025 maxY: round(y + height)
1026 width: round(x + width) - round(x)
1027 height: round(y + height) - round(y)
1029 We use the term pixel snapped to indicate that the numbers are not merely
1030 rounded. This also matches the naming used by the line box tree.
1032 No new tests, no functionality changes.
1034 * page/PrintContext.cpp:
1035 (WebCore::PrintContext::pageNumberForElement):
1036 * rendering/RenderBlock.cpp:
1037 (WebCore::::collectIfNeeded):
1038 * rendering/RenderBlock.h:
1040 (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
1041 (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
1042 (WebCore::RenderBlock::FloatingObject::pixelSnappedX):
1043 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
1044 (WebCore::RenderBlock::FloatingObject::pixelSnappedY):
1045 (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
1046 (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
1047 (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
1049 (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
1050 (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
1051 (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
1052 (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
1053 * rendering/RenderBlockLineLayout.cpp:
1054 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1055 * rendering/RenderBox.cpp:
1056 (WebCore::RenderBox::pixelSnappedClientWidth):
1058 (WebCore::RenderBox::pixelSnappedClientHeight):
1059 (WebCore::RenderBox::scrollHeight):
1060 * rendering/RenderBox.h:
1061 (WebCore::RenderBox::pixelSnappedWidth):
1062 (WebCore::RenderBox::pixelSnappedHeight):
1064 (WebCore::RenderBox::pixelSnappedOffsetWidth):
1065 (WebCore::RenderBox::pixelSnappedOffsetHeight):
1066 (WebCore::RenderBox::clientLogicalWidth):
1067 (WebCore::RenderBox::clientLogicalHeight):
1068 * rendering/RenderBoxModelObject.cpp:
1069 (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
1071 (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
1072 * rendering/RenderBoxModelObject.h:
1073 (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
1074 (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
1075 (RenderBoxModelObject):
1076 * rendering/RenderLayer.cpp:
1077 (WebCore::RenderLayer::pixelSnappedScrollWidth):
1079 (WebCore::RenderLayer::pixelSnappedScrollHeight):
1080 (WebCore::RenderLayer::computeScrollDimensions):
1081 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1082 * rendering/RenderLayer.h:
1084 * rendering/RenderListBox.cpp:
1085 (WebCore::RenderListBox::scrollHeight):
1086 * rendering/RenderTheme.cpp:
1087 (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
1088 * rendering/RenderTreeAsText.cpp:
1091 2012-02-07 Mike Lawther <mikelawther@chromium.org>
1093 CSS3 calc() - simple parse time evaluation
1094 https://bugs.webkit.org/show_bug.cgi?id=77960
1096 Adds simple number/percent expression evaluation. rgb() and hsl() functions now
1097 allow simple calc() expressions.
1099 Reviewed by Ojan Vafai.
1101 * css/CSSCalculationValue.cpp:
1103 (WebCore::CSSCalcValue::doubleValue):
1104 (WebCore::CSSCalcPrimitiveValue::doubleValue):
1105 (WebCore::CSSCalcBinaryOperation::doubleValue):
1106 (CSSCalcBinaryOperation):
1107 (WebCore::CSSCalcBinaryOperation::evaluate):
1108 * css/CSSCalculationValue.h:
1109 (CSSCalcExpressionNode):
1110 (WebCore::CSSCalcValue::isInt):
1112 * css/CSSParser.cpp:
1113 (WebCore::CSSParser::parsedDouble):
1115 2012-02-07 Andreas Kling <awesomekling@apple.com>
1117 REGRESSION(r106668-r106889): Chromium page cycler tests (Intl2) performance regressions.
1118 <http://webkit.org/b/78068>
1120 Reviewed by Ryosuke Niwa.
1122 Create CSS_IDENT values for attribute styles in the document's CSSValuePool.
1123 This regressed in r106756 and I suspect it'll fix up the cycler regression.
1125 * dom/StyledElement.cpp:
1126 (WebCore::StyledElement::addCSSProperty):
1128 2012-02-07 Noel Gordon <noel.gordon@gmail.com>
1130 Remove TextureMapperQt from the gyp projects
1131 https://bugs.webkit.org/show_bug.cgi?id=78055
1133 Reviewed by Noam Rosenthal.
1135 TextureMapperQt.{cpp,h} were removed in r106659, remove references to
1136 these files from the gyp projects.
1140 2012-02-07 Tony Chang <tony@chromium.org>
1142 merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
1143 https://bugs.webkit.org/show_bug.cgi?id=78036
1145 Reviewed by Darin Adler.
1147 In r89362, we started running the preprocessor through CSSPropertyNames.in.
1148 Now we can move DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
1149 and wrap it in an #if.
1151 No new tests, build refactoring.
1153 * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
1154 * DerivedSources.make: Remove DashboardSupportCSSPropertyNames.in.
1155 * DerivedSources.pri: Remove DashboardSupportCSSPropertyNames.in.
1156 * WebCore.xcodeproj/project.pbxproj: Remove DashboardSupportCSSPropertyNames.in.
1157 * css/CSSPropertyNames.in: Wrap -webkit-dashboard-region in an #if.
1158 * css/DashboardSupportCSSPropertyNames.in: Removed.
1160 2012-02-07 Xingnan Wang <xingnan.wang@intel.com>
1162 Enable IPP for FFTFrame
1163 https://bugs.webkit.org/show_bug.cgi?id=75522
1165 Reviewed by Tony Chang.
1167 Add the FFTFrame implementation using Intel IPP's DFT algorithm.
1169 * WebCore.gyp/WebCore.gyp:
1171 * platform/audio/FFTFrame.h:
1173 * platform/audio/FFTFrameStub.cpp:
1174 * platform/audio/ipp/FFTFrameIPP.cpp: Added.
1176 (WebCore::FFTFrame::FFTFrame):
1177 (WebCore::FFTFrame::initialize):
1178 (WebCore::FFTFrame::cleanup):
1179 (WebCore::FFTFrame::~FFTFrame):
1180 (WebCore::FFTFrame::multiply):
1181 (WebCore::FFTFrame::doFFT):
1182 (WebCore::FFTFrame::doInverseFFT):
1183 (WebCore::FFTFrame::realData):
1184 (WebCore::FFTFrame::imagData):
1185 (WebCore::FFTFrame::getUpToDateComplexData):
1187 2012-02-07 Adrienne Walker <enne@google.com>
1189 Properly detect top level frames when propogating compositing
1190 https://bugs.webkit.org/show_bug.cgi?id=78033
1192 Reviewed by James Robinson.
1194 There's no need to enumerate all tag names when searching for a
1195 top-level frame. If a render view's document has a frame, then that
1196 frame is not the top-level one.
1198 * rendering/RenderLayerCompositor.cpp:
1199 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
1200 * rendering/RenderLayerCompositor.h:
1201 (RenderLayerCompositor):
1203 2012-02-07 Chris Palmer <palmer@google.com>
1205 Resolve crash in FrameLoader::checkTimerFired.
1206 https://bugs.webkit.org/show_bug.cgi?id=77907
1208 Reviewed by Eric Seidel.
1210 Test is LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html.
1212 * loader/FrameLoader.cpp:
1213 (WebCore::FrameLoader::checkTimerFired):
1215 2012-02-07 Yong Li <yoli@rim.com>
1217 [BlackBerry] NetworkJob should stop redirecting when the request is cleared by client
1218 https://bugs.webkit.org/show_bug.cgi?id=78029
1220 Reviewed by Rob Buis.
1222 When a redirect is rejected by security origin check, the ResourceRequest
1223 will be cleared (see DocumentThreadableLoader::redirectReceived()). In this
1224 case, we should stop handling the request.
1226 No new tests because existing tests (like http:/tests/xmlhttprequest/redirect-cross
1227 -origin-tripmine.html) can cover this.
1229 * platform/network/blackberry/NetworkJob.cpp:
1230 (WebCore::NetworkJob::startNewJobWithRequest):
1232 2012-02-07 David Barton <dbarton@mathscribe.com>
1234 Remove extraneous MathML code before bug 52444 fix
1235 https://bugs.webkit.org/show_bug.cgi?id=78034
1237 Reviewed by Eric Seidel.
1239 Per Darin Adler, I am breaking up the patch fixing bug 52444 into smaller pieces.
1240 This patch removes a couple unused functions, some extra blank lines, unused #include
1241 directives, etc., and adds a very few WebKit-standard changes to these files.
1245 * rendering/mathml/RenderMathMLBlock.cpp:
1247 * rendering/mathml/RenderMathMLBlock.h:
1248 (WebCore::RenderMathMLBlock::getBoxModelObjectHeight):
1249 - changed to a static member function since 'this' is unused;
1250 removed redundant non-const version
1251 (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
1252 - changed to a static member function since 'this' is unused;
1253 removed redundant non-const version
1255 * rendering/mathml/RenderMathMLFraction.cpp:
1256 * rendering/mathml/RenderMathMLMath.cpp:
1257 * rendering/mathml/RenderMathMLMath.h:
1258 * rendering/mathml/RenderMathMLOperator.h:
1260 * rendering/mathml/RenderMathMLRoot.cpp:
1261 * rendering/mathml/RenderMathMLRow.cpp:
1262 * rendering/mathml/RenderMathMLRow.h:
1263 * rendering/mathml/RenderMathMLSquareRoot.cpp:
1264 * rendering/mathml/RenderMathMLSquareRoot.h:
1265 * rendering/mathml/RenderMathMLSubSup.cpp:
1266 * rendering/mathml/RenderMathMLSubSup.h:
1267 * rendering/mathml/RenderMathMLUnderOver.cpp:
1268 * rendering/mathml/RenderMathMLUnderOver.h:
1270 2012-02-07 David Reveman <reveman@chromium.org>
1272 [Chromium] REGRESSION(r101854): Causing large amounts of unnecessary repainting.
1273 https://bugs.webkit.org/show_bug.cgi?id=78020
1275 Reviewed by James Robinson.
1279 This patch is tested by the following unit test:
1280 - TextureManagerTest.requestTextureExceedingPreferredLimit
1282 * platform/graphics/chromium/ManagedTexture.cpp:
1283 (WebCore::ManagedTexture::reserve):
1284 * platform/graphics/chromium/TextureManager.cpp:
1285 (WebCore::TextureManager::requestTexture):
1286 * platform/graphics/chromium/TextureManager.h:
1289 2012-02-07 Anders Carlsson <andersca@apple.com>
1291 Use the non-fast-scrollable region to detect when we can't do fast scrolling
1292 https://bugs.webkit.org/show_bug.cgi?id=78056
1293 <rdar://problem/10247932>
1295 Reviewed by Sam Weinig.
1297 * page/scrolling/ScrollingCoordinator.cpp:
1298 (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1299 Actually set the non-fast scrollable region on the scrolling tree state.
1301 * page/scrolling/ScrollingTree.cpp:
1302 (WebCore::ScrollingTree::tryToHandleWheelEvent):
1303 Check if the wheel event's position is inside the non-fast-scrollable region
1304 and return false if it is.
1306 (WebCore::ScrollingTree::updateMainFrameScrollPosition):
1307 Store the cached main frame scroll position so we can use it in tryToHandleWheelEvent.
1309 * platform/graphics/Region.cpp:
1310 * platform/graphics/Region.h:
1311 Add a simple contains(const IntPoint&) member function.
1313 2012-02-07 Dan Bernstein <mitz@apple.com>
1315 <rdar://problem/10475450> Synthetic bold is illegible under some scaling transforms
1316 https://bugs.webkit.org/show_bug.cgi?id=78044
1318 Reviewed by Beth Dakin.
1320 Tests: fast/text/synthetic-bold-transformed-expected.html
1321 fast/text/synthetic-bold-transformed.html
1323 * platform/graphics/mac/FontMac.mm:
1324 (WebCore::Font::drawGlyphs): Changed to interpret syntheticBoldOffset as a length in device pixels.
1326 2012-02-07 Levi Weintraub <leviw@chromium.org>
1328 Update LayoutUnit usage in ColumnInfo and RenderFrameSet
1329 https://bugs.webkit.org/show_bug.cgi?id=77914
1331 Reviewed by Eric Seidel.
1333 Updating ColumnInfo and RenderFrameSet to use LayoutUnits
1334 instead of directly referencing integers for locations and
1337 No new tests. No changed behavior.
1339 * rendering/ColumnInfo.h:
1340 (WebCore::ColumnInfo::forcedBreakOffset):
1341 (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
1343 * rendering/RenderFrameSet.cpp:
1344 (WebCore::RenderFrameSet::paintColumnBorder):
1345 (WebCore::RenderFrameSet::paintRowBorder):
1346 * rendering/RenderFrameSet.h:
1349 2012-02-07 Adam Klein <adamk@chromium.org>
1351 Add JSC support for delivering mutations when the outermost script context exits
1352 https://bugs.webkit.org/show_bug.cgi?id=70289
1354 Reviewed by Eric Seidel.
1356 The meat of this change is in JSMainThreadExecState, where a counter
1357 is incremented every time WebCore calls into JSC and decremented every
1358 time it returns. When the counter reaches zero, any pending mutations
1359 are delivered (this mirrors very similar code in V8Proxy and V8RecursionScope).
1361 The rest of the changes are of two sorts: compilation/logic fixes for
1362 JSC code when ENABLE(MUTATION_OBSERVERS) is true, and additional
1363 usages of JSMainThreadExecState so as to trigger the above
1364 increment/decrements at the appropriate times.
1366 * bindings/js/JSCustomXPathNSResolver.cpp:
1367 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1368 Use JSMainThreadExecState instead of JSC::call.
1369 * bindings/js/JSDictionary.cpp:
1370 (WebCore::JSDictionary::convertValue): Add support
1371 for tryGetProperty with a HashMap<AtomicString>.
1372 * bindings/js/JSDictionary.h:
1373 * bindings/js/JSErrorHandler.cpp:
1374 (WebCore::JSErrorHandler::handleEvent):
1375 Use JSMainThreadExecState instead of JSC::call.
1376 * bindings/js/JSHTMLDocumentCustom.cpp:
1377 (WebCore::JSHTMLDocument::open):
1378 Use JSMainThreadExecState instead of JSC::call.
1379 * bindings/js/JSMainThreadExecState.cpp:
1380 (WebCore::JSMainThreadExecState::didLeaveScriptContext):
1381 * bindings/js/JSMainThreadExecState.h:
1382 (WebCore::JSMainThreadExecState::JSMainThreadExecState):
1383 Increment a static recursion level counter.
1384 (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
1385 Decrement a static recursion level counter and, if we are
1386 at zero (the outermost script invocation), deliver any
1387 outstanding mutation records.
1388 * bindings/js/JSNodeFilterCondition.cpp:
1389 (WebCore::JSNodeFilterCondition::acceptNode):
1390 Use JSMainThreadExecState instead of JSC::call.
1391 * bindings/js/JSWebKitMutationObserverCustom.cpp:
1392 (WebCore::JSWebKitMutationObserver::observe):
1393 Fix JSDictionary logic, add support for attributeFilter.
1395 2012-02-07 Anders Carlsson <andersca@apple.com>
1399 * platform/ScrollableArea.h:
1400 (WebCore::ScrollableArea::scrollableAreaBoundingBox):
1402 2012-02-07 Levi Weintraub <leviw@chromium.org>
1404 [SVG] Use element disappears after scripted change
1405 https://bugs.webkit.org/show_bug.cgi?id=74392
1407 Reviewed by Eric Seidel.
1409 Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
1410 SVGUseElements to not update the shadow root's style, and therefor not render
1413 Test: svg/custom/use-disappears-after-style-update.svg
1415 * svg/SVGUseElement.cpp:
1416 (WebCore::SVGUseElement::didRecalcStyle):
1418 2012-02-07 Kentaro Hara <haraken@chromium.org>
1420 Rename [v8OnProto] IDL attribute to [V8OnProto] IDL attribute
1421 https://bugs.webkit.org/show_bug.cgi?id=77973
1423 Reviewed by Adam Barth.
1425 This patch renames [v8OnProto] to [V8OnProto], since V8 specific IDL
1426 attributes should be prefixed by "V8".
1428 No tests. No change in behavior.
1430 * bindings/scripts/CodeGeneratorV8.pm:
1431 (GenerateNormalAttrGetter):
1432 (GenerateNormalAttrSetter):
1433 (GenerateSingleBatchedAttribute):
1434 (GenerateImplementation):
1436 2011-10-10 Jer Noble <jer.noble@apple.com>
1438 media/audio-data-url.html test broken on Lion
1439 https://bugs.webkit.org/show_bug.cgi?id=69779
1441 Reviewed by Eric Carlson.
1443 Do not use "OpenForPlayback" attribute on data:// urls, as CoreMedia/QuickTime X cannot
1446 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1447 (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1449 2012-02-07 Anders Carlsson <andersca@apple.com>
1451 Scrolling tree should keep track of region we can't do fast scrolling for
1452 https://bugs.webkit.org/show_bug.cgi?id=78050
1454 Reviewed by Dan Bernstein.
1456 We currently won't do fast scrolling for subframes and other types of scrollable areas.
1457 Because of this, we'll have the scrolling tree keep a region of the page for which we can't
1458 do fast scrolling. This region will be updated after layout.
1460 * page/FrameView.cpp:
1461 (WebCore::FrameView::scrollableAreaBoundingBox):
1462 Return the bounding box.
1464 * page/scrolling/ScrollingCoordinator.cpp:
1465 (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1466 Go through all the scrollable areas in this frame view and compute the region which we can't do
1469 * page/scrolling/ScrollingTree.cpp:
1470 (WebCore::ScrollingTree::commitNewTreeState):
1471 Update the non-fast-scrollable region.
1473 * page/scrolling/ScrollingTreeState.cpp:
1474 (WebCore::ScrollingTreeState::setNonFastScrollableRegion):
1475 Set the non-fast-scrollable region if it's changed.
1477 * platform/ScrollableArea.h:
1478 Add scrollableAreaBoundingBox member function.
1480 * rendering/RenderLayer.cpp:
1481 (WebCore::RenderLayer::scrollableAreaBoundingBox):
1482 Return the bounding box.
1484 * rendering/RenderListBox.cpp:
1485 (WebCore::RenderListBox::scrollableAreaBoundingBox):
1486 Return the bounding box.
1488 2012-02-07 Levi Weintraub <leviw@chromium.org>
1490 unicode-bidi:plaintext is supposed to be effective on display:inline elements too
1491 https://bugs.webkit.org/show_bug.cgi?id=73310
1493 Reviewed by Eric Seidel.
1495 Adding support for unicode-bidi: plaintext as a property on inlines. These are treated
1496 like unicode-bidi: isolate with the addition of their directionality being determined
1499 Tests: fast/text/international/inline-plaintext-is-isolated-expected.html
1500 fast/text/international/inline-plaintext-is-isolated.html
1501 fast/text/international/inline-plaintext-relayout-with-leading-neutrals-expected.html
1502 fast/text/international/inline-plaintext-relayout-with-leading-neutrals.html
1503 fast/text/international/inline-plaintext-with-generated-content-expected.html
1504 fast/text/international/inline-plaintext-with-generated-content.html
1506 * platform/text/UnicodeBidi.h:
1507 (WebCore::isIsolated): Added this convenience function as Plaintext and Isolate Unicode-Bidi values
1508 are both treated as isolated content.
1509 * rendering/InlineIterator.h:
1510 (WebCore::notifyObserverEnteredObject): Inline now supports Unicode-Bidi Plaintext.
1511 (WebCore::notifyObserverWillExitObject): Ditto.
1512 (WebCore::bidiFirstSkippingEmptyInlines): Changed to support being called without a resolver.
1513 (WebCore::isIsolatedInline): Inline now supports Unicode-Bidi: Plaintext.
1514 * rendering/RenderBlockLineLayout.cpp:
1515 (WebCore::determineDirectionality): Generalized for inlines.
1516 (WebCore::constructBidiRuns): Added support for Unicode-Bidi: Plaintext as an isolated inline.
1517 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Fixed comment.
1518 (WebCore::RenderBlock::determineStartPosition): Fixed comment and switched to updated
1519 bidiFirstSkippingEmptyInlines.
1521 2012-02-07 Kentaro Hara <haraken@chromium.org>
1523 [Refactoring] Use the [IsWorkerContext] IDL in CodeGeneratorV8.pm
1524 https://bugs.webkit.org/show_bug.cgi?id=77957
1526 Reviewed by Adam Barth.
1528 This patch replaces IsSubType("WorkerContext") and something equivalent that
1529 with the [IsWorkerContext] IDL.
1531 No tests. No change in behavior.
1533 * bindings/scripts/CodeGeneratorV8.pm:
1534 (GetInternalFields):
1535 (GenerateConstructorGetter):
1536 (GenerateImplementation):
1538 2012-02-07 David Reveman <reveman@chromium.org>
1540 [Chromium] Crash when using per-tile painting on Windows.
1541 https://bugs.webkit.org/show_bug.cgi?id=75715
1543 Reviewed by James Robinson.
1545 PlatformCanvas constructor on win32 expects forth argument to be a
1546 shared section handle. Passing a pointer to a system memory causes
1547 it to crash. Fix this by not using the PlatformCanvas API for
1548 SkCanvas construction in per-tile texture uploader.
1550 Tested with manual tests.
1552 * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
1553 (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
1554 (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
1555 * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
1558 2012-02-07 Jer Noble <jer.noble@apple.com>
1560 Unreviewed build fix; make OSStatus the explicit return type for CMTimebase functions.
1562 * platform/mac/PlatformClockCM.mm:
1564 2012-02-07 James Robinson <jamesr@chromium.org>
1566 [chromium] Allow retaining texture across frames in composited video playback and correctly handle lost context
1567 https://bugs.webkit.org/show_bug.cgi?id=77923
1569 Reviewed by Kenneth Russell.
1571 Thanks to r106840, we can improve the video playback mode a bit. Instead of creating a new texture on every
1572 frame, this attempts to reuse the texture from the previous frame unless the context is lost. Also improves
1573 error checking in case the TextureManager cannot successfully reserve memory for the texture.
1575 Tested manually by killing the GPU process with an html5 video playing and verifying that the video playback
1576 continues and that we don't create a new set of textures for each plane on each frame.
1578 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
1579 (WebCore::CCVideoLayerImpl::draw):
1580 (WebCore::CCVideoLayerImpl::reserveTextures):
1582 2012-02-07 Matthew Delaney <mdelaney@apple.com>
1584 https://bugs.webkit.org/show_bug.cgi?id=77912
1585 Removing old CG shadow code.
1587 A CG-specific shadow offset hack was added in http://trac.webkit.org/changeset/34317
1588 for this particular setShadow method. However, this shadow offset adjustment for CG
1589 has since moved down into platform specific code. Thus, this offset adjustment here
1592 The CG-only shadow setting code block in this setShadow method is now redundant.
1593 Since it sets the shadow values to the CGContext directly - and not to the State object -
1594 it will be overwritten later by any subsequent calls to setting shadow values such as
1595 blur, offset, or shadow color.
1597 Reviewed by Simon Fraser.
1599 No new tests. Current canvas tests cover this path.
1601 * html/canvas/CanvasRenderingContext2D.cpp:
1602 (WebCore::CanvasRenderingContext2D::setShadow):
1604 2012-02-07 James Robinson <jamesr@chromium.org>
1606 [chromium] Gracefully handle compositor initialization failure in single-threaded proxy
1607 https://bugs.webkit.org/show_bug.cgi?id=78013
1609 Reviewed by Kenneth Russell.
1611 If compositor initialization fails it's not safe to proceed through the rest of the frame process. This adds
1614 Tested manually by forcing the first makeContextCurrent() call fail.
1616 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1617 (WebCore::CCLayerTreeHost::updateLayers):
1618 * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1620 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1621 (WebCore::CCSingleThreadProxy::compositeAndReadback):
1622 (WebCore::CCSingleThreadProxy::compositeImmediately):
1623 (WebCore::CCSingleThreadProxy::commitIfNeeded):
1624 * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1625 (CCSingleThreadProxy):
1627 2012-02-07 Brady Eidson <beidson@apple.com>
1629 <rdar://problem/9567286> and https://bugs.webkit.org/show_bug.cgi?id=78003
1630 WebKit associates credentials with the wrong site if the authentication challenge takes place after a redirect chain
1632 Reviewed by Alexey Proskuryakov.
1634 Test: http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html
1636 Associate the credential with the URL of the challenge itself, not the original request:
1637 * platform/network/cf/ResourceHandleCFNet.cpp:
1638 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1639 (WebCore::ResourceHandle::receivedCredential):
1640 * platform/network/mac/ResourceHandleMac.mm:
1641 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1642 (WebCore::ResourceHandle::receivedCredential):
1644 2012-02-07 Tony Chang <tony@chromium.org>
1646 move warning about css values and render style constants closer to where it applies
1647 https://bugs.webkit.org/show_bug.cgi?id=78017
1649 Reviewed by Darin Adler.
1651 Move the warning about keeping RenderStyleConstnats.h enums and
1652 CSSValueKeywords.in values in the same order closer to the properties
1653 that the warning applies to. The warning was easy to miss and was
1654 confusing since it doesn't apply to most values.
1656 Also refactor 2 conversion functions to
1657 enumerate the possible values so the order doesn't matter.
1659 No new tests, just refactoring and comment cleanup.
1661 * css/CSSPrimitiveValueMappings.h:
1662 (WebCore::CSSPrimitiveValue::operator EListStylePosition): Name all possible values and add a NOT_REACHED().
1663 (WebCore::CSSPrimitiveValue::operator EUserModify): Name all possible values and add a NOT_REACHED().
1664 * css/CSSValueKeywords.in:
1665 * css/SVGCSSPropertyNames.in:
1666 * css/SVGCSSValueKeywords.in:
1667 * rendering/style/RenderStyleConstants.h:
1669 2012-02-06 Jer Noble <jer.noble@apple.com>
1671 Use CMClock as a timing source for PlatformClock where available.
1672 https://bugs.webkit.org/show_bug.cgi?id=77885
1674 Reviewed by Eric Carlson.
1676 No new tests; performance improvement covered by existing test cases.
1678 * WebCore.xcodeproj/project.pbxproj:
1679 * platform/Clock.cpp:
1680 (Clock::create): Use PlatformClockCM if available.
1681 * platform/mac/PlatformClockCM.h: Added.
1682 (WebCore::PlatformClockCM::playRate):
1683 (WebCore::PlatformClockCM::isRunning):
1684 * platform/mac/PlatformClockCM.mm: Added.
1685 (PlatformClockCM::PlatformClockCM):
1686 (PlatformClockCM::initializeWithTimingSource):
1687 (PlatformClockCM::setCurrentTime):
1688 (PlatformClockCM::currentTime):
1689 (PlatformClockCM::setPlayRate):
1690 (PlatformClockCM::start):
1691 (PlatformClockCM::stop):
1693 2012-02-06 Anders Carlsson <andersca@apple.com>
1695 ScrollableAreaSet should be moved from Page to FrameView
1696 https://bugs.webkit.org/show_bug.cgi?id=62762
1698 Reviewed by Beth Dakin.
1700 It makes more sense for the set of scrollable areas to be per frame view instead of per page;
1701 scrollable areas are associated with a containing frame view and their lifecycle follows the lifecycle of the
1702 frame view much more closely. This could even fix a bunch of crashes where a scrollable area outlived its containing page.
1705 Replace the Page member functions with FrameView member functions instead.
1707 * page/EventHandler.cpp:
1708 (WebCore::EventHandler::mouseMoved):
1709 Check if the frame view contains the given layer.
1711 (WebCore::EventHandler::updateMouseEventTargetNode):
1714 * page/FocusController.cpp:
1715 (WebCore::contentAreaDidShowOrHide):
1716 Add helper function.
1718 (WebCore::FocusController::setContainingWindowIsVisible):
1719 Call contentAreaDidShowOrHide for the main frame view, and for all scrollable areas
1720 inside all subframe views.
1722 * page/FrameView.cpp:
1723 (WebCore::FrameView::FrameView):
1724 Use early returns to make the code more clear. Also, don't add the scrollable area to the set here.
1726 (WebCore::FrameView::~FrameView):
1727 Don't remove the scrollable area here.
1729 (WebCore::FrameView::zoomAnimatorTransformChanged):
1730 m_page is gone so use m_frame->page() instead.
1732 (WebCore::FrameView::setAnimatorsAreActive):
1733 Call ScrollAnimator::setIsActive for all the scrollable areas in this frame view. Previously we used to do
1734 this for all scrollable areas on the page, but since setAnimatorsAreActive will be called for each document,
1735 this will be done implicitly.
1737 (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
1738 Call ScrollableArea::contentDidPaint for this frame view and all its immediate scrollable areas. Previously, we used
1739 to do this for all scrollable areas on the page, but we only need to do it for this frame view.
1741 (WebCore::FrameView::scrollAnimatorEnabled):
1742 Get the page from m_frame since m_page is gone.
1744 (WebCore::FrameView::addScrollableArea):
1745 (WebCore::FrameView::removeScrollableArea):
1746 (WebCore::FrameView::containsScrollableArea):
1747 Move these member functions here from Page.
1749 (WebCore::FrameView::addChild):
1750 If we are adding a frame view, add it to the scrollable area set.
1752 (WebCore::FrameView::removeChild):
1753 If we are removing a frame view, remove it from the scrollable area set.
1756 Move the member function declarations and the scrollable area set member variable here from Page.
1759 (WebCore::Page::~Page):
1760 Don't call disconnectPage on the scrollable areas anymore.
1762 * platform/ScrollView.h:
1764 Make addChild and removeChild virtual.
1766 * platform/ScrollableArea.h:
1767 Remove disconnectFromPage.
1769 * rendering/RenderLayer.cpp:
1770 (WebCore::RenderLayer::RenderLayer):
1771 (WebCore::RenderLayer::~RenderLayer):
1772 (WebCore::RenderLayer::styleChanged):
1773 The frame view now keeps track of the scrollable areas.
1775 * rendering/RenderLayer.h:
1776 Remove the page member variable and disconnectFromPage.
1778 * rendering/RenderListBox.cpp:
1779 (WebCore::RenderListBox::RenderListBox):
1780 (WebCore::RenderListBox::~RenderListBox):
1781 The frame view now keeps track of the scrollable areas.
1783 * rendering/RenderListBox.h:
1784 Remove the page member variable and disconnectFromPage.
1786 2012-02-07 Matthew Delaney <mdelaney@apple.com>
1788 Remove redundant checks in CanvasRenderingContext2D.cpp
1789 https://bugs.webkit.org/show_bug.cgi?id=78000
1791 Reviewed by Dan Bernstein.
1793 * html/canvas/CanvasRenderingContext2D.cpp:
1794 (WebCore::CanvasRenderingContext2D::setShadowColor):
1795 (WebCore::CanvasRenderingContext2D::setShadow):
1796 (WebCore::CanvasRenderingContext2D::drawImage):
1798 2012-02-07 Abhishek Arya <inferno@chromium.org>
1800 Crash in ContainerNode functions due to mutation events.
1801 https://bugs.webkit.org/show_bug.cgi?id=77999
1803 Reviewed by Ryosuke Niwa.
1805 Add RefPtr to protect premature deletion of this due to mutation events.
1807 Tests: fast/dom/remove-body-during-body-replacement.html
1808 fast/dom/remove-body-during-body-replacement2.html
1810 * dom/ContainerNode.cpp:
1811 (WebCore::ContainerNode::insertBefore):
1812 (WebCore::ContainerNode::replaceChild):
1813 (WebCore::ContainerNode::removeChild):
1814 (WebCore::ContainerNode::appendChild):
1816 2012-02-07 Dana Jansens <danakj@chromium.org>
1818 [Chromium] Memory bug during occlusion tracking if Vector::append() needs to reallocate the buffer
1819 https://bugs.webkit.org/show_bug.cgi?id=77996
1821 Reviewed by James Robinson.
1823 We're holding onto the last element in the Vector and then calling
1824 append(). If append() reallocates the Vector's buffer, the pointer
1827 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1828 (WebCore::enterTargetRenderSurface):
1830 2012-02-07 Abhishek Arya <inferno@chromium.org>
1832 Crash due to column style not updated on post block
1834 https://bugs.webkit.org/show_bug.cgi?id=77939
1836 Reviewed by Julien Chaffraix.
1838 Test: fast/multicol/span/split-inline-wrong-post-block-crash.html
1840 * rendering/RenderInline.cpp:
1841 (WebCore::RenderInline::splitFlow):
1843 2012-02-07 Peter Rybin <peter.rybin@gmail.com>
1845 Web Inspector: CodeGeneratorInspector.py: extend Array validator functionality
1846 https://bugs.webkit.org/show_bug.cgi?id=77919
1848 Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-07
1849 Reviewed by Yury Semikhatsky.
1851 Array validator method runtimeCast is added, internal backing method
1852 is moved from .cpp to .h (it's template anyway), boolean validator is
1855 * inspector/CodeGeneratorInspector.py:
1856 (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
1857 (RawTypes.Bool.get_validate_method_params):
1860 2012-02-07 Dean Jackson <dino@apple.com>
1862 Apple/Safari: Enable WebGL multisampling on ATI cards
1863 for OS X 10.7.2 and above.
1864 https://bugs.webkit.org/show_bug.cgi?id=77922
1866 Address review comments by Alexey Proskuryakov and Mark Rowe.
1868 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1869 (WebCore::systemAllowsMultisamplingOnATICards):
1871 2012-02-07 Dean Jackson <dino@apple.com>
1873 Apple/Safari: Enable WebGL multisampling on ATI cards
1874 for OS X 10.7.2 and above.
1875 https://bugs.webkit.org/show_bug.cgi?id=77922
1877 Reviewed by Chris Marrin.
1879 Follow Chrome's lead to allow WebGL antialiasing
1880 on ATI cards as long as we're on 10.7.2 and above.
1882 No new tests. Covered by existing tests.
1884 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1885 (WebCore::systemAllowsMultisamplingOnATICards):
1887 (WebCore::GraphicsContext3D::validateAttributes):
1889 2012-02-07 Pavel Feldman <pfeldman@google.com>
1891 Web Inspector: add generic support for undo-ing DOM edits.
1892 https://bugs.webkit.org/show_bug.cgi?id=77875
1894 Reviewed by Yury Semikhatsky.
1896 This change introduces InspectorHistory::Action that encapsulates all DOM modifications
1897 initiated by the inspector. There is a way to undo these actions up until the undoable
1900 Tests: inspector/elements/undo-dom-edits-2.html
1901 inspector/elements/undo-dom-edits.html
1902 inspector/styles/undo-add-property.html
1903 inspector/styles/undo-change-property.html
1904 inspector/styles/undo-property-toggle.html
1907 * GNUmakefile.list.am:
1910 * WebCore.vcproj/WebCore.vcproj:
1911 * WebCore.xcodeproj/project.pbxproj:
1912 * inspector/Inspector.json:
1913 * inspector/InspectorAllInOne.cpp:
1914 * inspector/InspectorCSSAgent.cpp:
1915 (InspectorCSSAgent::StyleSheetAction):
1916 (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
1917 (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
1918 (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
1920 (InspectorCSSAgent::SetStyleSheetTextAction):
1921 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
1922 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
1923 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
1924 (InspectorCSSAgent::SetPropertyTextAction):
1925 (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
1926 (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
1927 (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
1928 (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
1929 (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
1930 (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
1931 (InspectorCSSAgent::TogglePropertyAction):
1932 (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
1933 (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
1934 (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
1935 (WebCore::InspectorCSSAgent::getStyleSheetText):
1936 (WebCore::InspectorCSSAgent::setStyleSheetText):
1937 (WebCore::InspectorCSSAgent::setPropertyText):
1938 (WebCore::InspectorCSSAgent::toggleProperty):
1939 * inspector/InspectorCSSAgent.h:
1940 (InspectorCSSAgent):
1941 * inspector/InspectorDOMAgent.cpp:
1942 (InspectorDOMAgent::DOMAction):
1943 (WebCore::InspectorDOMAgent::DOMAction::DOMAction):
1944 (WebCore::InspectorDOMAgent::DOMAction::perform):
1945 (WebCore::InspectorDOMAgent::DOMAction::undo):
1947 (InspectorDOMAgent::RemoveChildAction):
1948 (WebCore::InspectorDOMAgent::RemoveChildAction::RemoveChildAction):
1949 (WebCore::InspectorDOMAgent::RemoveChildAction::perform):
1950 (WebCore::InspectorDOMAgent::RemoveChildAction::undo):
1951 (InspectorDOMAgent::InsertBeforeAction):
1952 (WebCore::InspectorDOMAgent::InsertBeforeAction::InsertBeforeAction):
1953 (WebCore::InspectorDOMAgent::InsertBeforeAction::perform):
1954 (WebCore::InspectorDOMAgent::InsertBeforeAction::undo):
1955 (InspectorDOMAgent::RemoveAttributeAction):
1956 (WebCore::InspectorDOMAgent::RemoveAttributeAction::RemoveAttributeAction):
1957 (WebCore::InspectorDOMAgent::RemoveAttributeAction::perform):
1958 (WebCore::InspectorDOMAgent::RemoveAttributeAction::undo):
1959 (InspectorDOMAgent::SetAttributeAction):
1960 (WebCore::InspectorDOMAgent::SetAttributeAction::SetAttributeAction):
1961 (WebCore::InspectorDOMAgent::SetAttributeAction::perform):
1962 (WebCore::InspectorDOMAgent::SetAttributeAction::undo):
1963 (InspectorDOMAgent::SetOuterHTMLAction):
1964 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
1965 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::perform):
1966 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
1967 (WebCore::InspectorDOMAgent::SetOuterHTMLAction::newNode):
1968 (InspectorDOMAgent::ReplaceWholeTextAction):
1969 (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::ReplaceWholeTextAction):
1970 (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::perform):
1971 (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::undo):
1972 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1973 (WebCore::InspectorDOMAgent::reset):
1974 (WebCore::InspectorDOMAgent::setAttributeValue):
1975 (WebCore::InspectorDOMAgent::setAttributesAsText):
1976 (WebCore::InspectorDOMAgent::removeAttribute):
1977 (WebCore::InspectorDOMAgent::removeNode):
1978 (WebCore::InspectorDOMAgent::setNodeName):
1979 (WebCore::InspectorDOMAgent::setOuterHTML):
1980 (WebCore::InspectorDOMAgent::setNodeValue):
1981 (WebCore::InspectorDOMAgent::moveTo):
1982 (WebCore::InspectorDOMAgent::undo):
1983 (WebCore::InspectorDOMAgent::markUndoableState):
1984 * inspector/InspectorDOMAgent.h:
1985 (InspectorDOMAgent):
1986 (WebCore::InspectorDOMAgent::history):
1987 * inspector/InspectorHistory.cpp: Added.
1988 (WebCore::InspectorHistory::Action::Action):
1990 (WebCore::InspectorHistory::Action::~Action):
1991 (WebCore::InspectorHistory::Action::toString):
1992 (WebCore::InspectorHistory::Action::isUndoableStateMark):
1993 (WebCore::InspectorHistory::Action::mergeId):
1994 (WebCore::InspectorHistory::Action::merge):
1995 (WebCore::InspectorHistory::InspectorHistory):
1996 (WebCore::InspectorHistory::~InspectorHistory):
1997 (WebCore::InspectorHistory::perform):
1998 (WebCore::InspectorHistory::markUndoableState):
1999 (WebCore::InspectorHistory::undo):
2000 (WebCore::InspectorHistory::reset):
2001 * inspector/InspectorHistory.h: Added.
2005 * inspector/InspectorStyleSheet.cpp:
2006 (WebCore::InspectorStyle::setPropertyText):
2007 (WebCore::InspectorStyle::styleText):
2008 (WebCore::InspectorStyleSheet::addRule):
2009 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2010 (WebCore::InspectorStyleSheet::buildObjectForStyle):
2011 (WebCore::InspectorStyleSheet::setPropertyText):
2012 (WebCore::InspectorStyleSheet::getText):
2013 (WebCore::InspectorStyleSheetForInlineStyle::getText):
2014 * inspector/InspectorStyleSheet.h:
2016 (InspectorStyleSheet):
2017 (InspectorStyleSheetForInlineStyle):
2018 * inspector/front-end/CSSStyleModel.js:
2019 (WebInspector.CSSProperty.prototype.setText):
2020 * inspector/front-end/ElementsPanel.js:
2021 (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2022 (WebInspector.ElementsPanel.prototype._updateSidebars):
2023 (WebInspector.ElementsPanel.prototype.handleShortcut):
2024 * inspector/front-end/StylesSidebarPane.js:
2025 (WebInspector.StylePropertiesSection.prototype.onpopulate):
2026 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2027 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2028 (WebInspector.StylePropertyTreeElement):
2029 (WebInspector.StylePropertyTreeElement.prototype):
2031 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2033 Unreviewed, rolling out r106935.
2034 http://trac.webkit.org/changeset/106935
2035 https://bugs.webkit.org/show_bug.cgi?id=77994
2037 "Crashes runMultiThread webkit_unit_test" (Requested by tonyg-
2040 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2041 (WebCore::CCLayerTreeHost::setNeedsRedraw):
2042 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2043 (WebCore::CCSingleThreadProxy::setNeedsRedraw):
2044 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2045 (WebCore::CCThreadProxy::setNeedsRedraw):
2046 * platform/graphics/chromium/cc/CCThreadProxy.h:
2049 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2051 Unreviewed, rolling out r106932.
2052 http://trac.webkit.org/changeset/106932
2053 https://bugs.webkit.org/show_bug.cgi?id=77988
2055 Breaks Mac bots (Requested by pfeldman on #webkit).
2058 * GNUmakefile.list.am:
2061 * WebCore.vcproj/WebCore.vcproj:
2062 * WebCore.xcodeproj/project.pbxproj:
2063 * inspector/Inspector.json:
2064 * inspector/InspectorAllInOne.cpp:
2065 * inspector/InspectorCSSAgent.cpp:
2066 (WebCore::InspectorCSSAgent::getStyleSheetText):
2067 (WebCore::InspectorCSSAgent::setStyleSheetText):
2068 (WebCore::InspectorCSSAgent::setPropertyText):
2069 (WebCore::InspectorCSSAgent::toggleProperty):
2070 * inspector/InspectorCSSAgent.h:
2071 (InspectorCSSAgent):
2072 * inspector/InspectorDOMAgent.cpp:
2073 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2074 (WebCore::InspectorDOMAgent::reset):
2075 (WebCore::InspectorDOMAgent::setAttributeValue):
2076 (WebCore::InspectorDOMAgent::setAttributesAsText):
2077 (WebCore::InspectorDOMAgent::removeAttribute):
2078 (WebCore::InspectorDOMAgent::removeNode):
2079 (WebCore::InspectorDOMAgent::setNodeName):
2080 (WebCore::InspectorDOMAgent::setOuterHTML):
2081 (WebCore::InspectorDOMAgent::setNodeValue):
2082 (WebCore::InspectorDOMAgent::moveTo):
2083 * inspector/InspectorDOMAgent.h:
2084 (InspectorDOMAgent):
2085 * inspector/InspectorHistory.cpp: Removed.
2086 * inspector/InspectorHistory.h: Removed.
2087 * inspector/InspectorStyleSheet.cpp:
2088 (WebCore::InspectorStyle::setPropertyText):
2089 (WebCore::InspectorStyle::styleText):
2090 (WebCore::InspectorStyleSheet::addRule):
2091 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2092 (WebCore::InspectorStyleSheet::buildObjectForStyle):
2093 (WebCore::InspectorStyleSheet::setPropertyText):
2094 (WebCore::InspectorStyleSheet::text):
2095 (WebCore::InspectorStyleSheetForInlineStyle::text):
2096 * inspector/InspectorStyleSheet.h:
2098 (InspectorStyleSheet):
2099 (InspectorStyleSheetForInlineStyle):
2100 * inspector/front-end/CSSStyleModel.js:
2101 (WebInspector.CSSProperty.prototype.setText):
2102 * inspector/front-end/ElementsPanel.js:
2103 (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2104 (WebInspector.ElementsPanel.prototype.handleShortcut):
2105 * inspector/front-end/StylesSidebarPane.js:
2106 (WebInspector.StylePropertiesSection.prototype.onpopulate):
2107 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2108 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2109 (WebInspector.StylePropertyTreeElement):
2110 (WebInspector.StylePropertyTreeElement.prototype):
2112 2012-02-07 Priit Laes <plaes@plaes.org>
2114 [GTK] Build failure with --enable-web-audio
2115 https://bugs.webkit.org/show_bug.cgi?id=77978
2117 Reviewed by Gustavo Noronha Silva.
2119 * GNUmakefile.list.am: Include AudioSourceProviderClient.h
2121 2012-02-07 Alexei Filippov <alexeif@chromium.org>
2123 Web Inspector: fix objects duplication when switching filter in heap profiler.
2124 https://bugs.webkit.org/show_bug.cgi?id=77974
2126 Reviewed by Yury Semikhatsky.
2128 * inspector/front-end/DetailedHeapshotView.js:
2129 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
2131 2012-02-07 Jonathan Backer <backer@chromium.org>
2133 [chromium] Add setNeedsRedraw to WebWidget
2134 https://bugs.webkit.org/show_bug.cgi?id=77555
2136 Reviewed by James Robinson.
2138 * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2139 (WebCore::CCLayerTreeHost::setNeedsRedraw):
2140 * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2141 (WebCore::CCSingleThreadProxy::setNeedsRedraw):
2142 * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2143 (WebCore::CCThreadProxy::setNeedsRedraw):
2144 (WebCore::CCThreadProxy::resetDamageTrackerOnImplThread):
2146 * platform/graphics/chromium/cc/CCThreadProxy.h:
2149 2012-02-07 Michael Brüning <michael.bruning@nokia.com>
2151 [Qt][WK2] Compute and set cache capacities using the current CacheModel
2152 https://bugs.webkit.org/show_bug.cgi?id=73918
2154 Reviewed by Kenneth Rohde Christiansen.
2156 No new tests. (build fix)
2158 * platform/qt/FileSystemQt.cpp:
2159 (WebCore::getVolumeFreeSizeForPath):
2161 2012-02-07 Pavel Feldman <pfeldman@google.com>
2163 Web Inspector: add generic support for undo-ing DOM edits.
2164 https://bugs.webkit.org/show_bug.cgi?id=77875
2166 Reviewed by Yury Semikhatsky.
2168 This change introduces InspectorHistory::Action that encapsulates all DOM modifications
2169 initiated by the inspector. There is a way to undo these actions up until the undoable
2172 Tests: inspector/elements/undo-dom-edits-2.html
2173 inspector/elements/undo-dom-edits.html
2174 inspector/styles/undo-add-property.html
2175 inspector/styles/undo-change-property.html
2176 inspector/styles/undo-property-toggle.html
2179 * GNUmakefile.list.am:
2182 * WebCore.vcproj/WebCore.vcproj:
2183 * WebCore.xcodeproj/project.pbxproj:
2184 * inspector/Inspector.json:
2185 * inspector/InspectorAllInOne.cpp:
2186 * inspector/InspectorCSSAgent.cpp:
2187 (InspectorCSSAgent::StyleSheetAction):
2188 (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
2189 (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
2190 (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
2192 (InspectorCSSAgent::SetStyleSheetTextAction):
2193 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
2194 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
2195 (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
2196 (InspectorCSSAgent::SetPropertyTextAction):
2197 (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
2198 (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
2199 (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
2200 (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
2201 (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
2202 (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
2203 (InspectorCSSAgent::TogglePropertyAction):
2204 (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
2205 (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
2206 (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
2207 (WebCore::InspectorCSSAgent::getStyleSheetText):
2208 (WebCore::InspectorCSSAgent::setStyleSheetText):
2209 (WebCore::InspectorCSSAgent::setPropertyText):
2210 (WebCore::InspectorCSSAgent::toggleProperty):
2211 * inspector/InspectorCSSAgent.h:
2212 (InspectorCSSAgent):
2213 * inspector/InspectorDOMAgent.cpp:
2214 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2215 (WebCore::InspectorDOMAgent::reset):
2216 (WebCore::InspectorDOMAgent::setAttributeValue):
2217 (WebCore::InspectorDOMAgent::setAttributesAsText):
2218 (WebCore::InspectorDOMAgent::removeAttribute):
2219 (WebCore::InspectorDOMAgent::removeNode):
2220 (WebCore::InspectorDOMAgent::setNodeName):
2221 (WebCore::InspectorDOMAgent::setOuterHTML):
2222 (WebCore::InspectorDOMAgent::setNodeValue):
2223 (WebCore::InspectorDOMAgent::moveTo):
2224 (WebCore::InspectorDOMAgent::undo):
2226 (WebCore::InspectorDOMAgent::markUndoableState):
2227 * inspector/InspectorDOMAgent.h:
2228 (InspectorDOMAgent):
2229 (WebCore::InspectorDOMAgent::history):
2230 * inspector/InspectorHistory.cpp: Added.
2231 (WebCore::InspectorHistory::Action::Action):
2233 (WebCore::InspectorHistory::Action::~Action):
2234 (WebCore::InspectorHistory::Action::toString):
2235 (WebCore::InspectorHistory::Action::isUndoableStateMark):
2236 (WebCore::InspectorHistory::Action::mergeId):
2237 (WebCore::InspectorHistory::Action::merge):
2238 (WebCore::InspectorHistory::InspectorHistory):
2239 (WebCore::InspectorHistory::~InspectorHistory):
2240 (WebCore::InspectorHistory::perform):
2241 (WebCore::InspectorHistory::markUndoableState):
2242 (WebCore::InspectorHistory::undo):
2243 (WebCore::InspectorHistory::reset):
2244 * inspector/InspectorHistory.h: Added.
2248 * inspector/InspectorStyleSheet.cpp:
2249 (WebCore::InspectorStyle::setPropertyText):
2250 (WebCore::InspectorStyle::styleText):
2251 (WebCore::InspectorStyleSheet::addRule):
2252 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2253 (WebCore::InspectorStyleSheet::buildObjectForStyle):
2254 (WebCore::InspectorStyleSheet::setPropertyText):
2255 (WebCore::InspectorStyleSheet::getText):
2256 (WebCore::InspectorStyleSheetForInlineStyle::getText):
2257 * inspector/InspectorStyleSheet.h:
2259 (InspectorStyleSheet):
2260 (InspectorStyleSheetForInlineStyle):
2261 * inspector/front-end/CSSStyleModel.js:
2262 (WebInspector.CSSProperty.prototype.setText):
2263 * inspector/front-end/ElementsPanel.js:
2264 (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
2265 (WebInspector.ElementsPanel.prototype._updateSidebars):
2266 (WebInspector.ElementsPanel.prototype.handleShortcut):
2267 * inspector/front-end/StylesSidebarPane.js:
2268 (WebInspector.StylePropertiesSection.prototype.onpopulate):
2269 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2270 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2271 (WebInspector.StylePropertyTreeElement):
2272 (WebInspector.StylePropertyTreeElement.prototype):
2274 2012-02-07 Chris Guan <chris.guan@torchmobile.com.cn>
2276 [Blackberry] Clean up Networkjob and Networkmanger: remove unused variables in release build and change some public functions into be private ones
2277 https://bugs.webkit.org/show_bug.cgi?id=77926
2279 Reviewed by Rob Buis.
2281 1. rename clientIsOk to isClientAvailable.
2282 2. m_isRunning is only for an ASSERT in NetWorkManager, So move out from
2283 release build but keep available in debug build.
2285 No changes in behavior, so no new tests.
2287 * platform/network/blackberry/NetworkJob.cpp:
2288 (WebCore::NetworkJob::NetworkJob):
2289 (WebCore::NetworkJob::handleNotifyDataReceived):
2290 (WebCore::NetworkJob::handleNotifyDataSent):
2291 (WebCore::NetworkJob::handleNotifyClose):
2292 (WebCore::NetworkJob::startNewJobWithRequest):
2293 (WebCore::NetworkJob::sendResponseIfNeeded):
2294 (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
2295 * platform/network/blackberry/NetworkJob.h:
2297 (WebCore::NetworkJob::isClientAvailable):
2299 2012-02-06 Yury Semikhatsky <yurys@chromium.org>
2301 Web Inspector: don't mark object is queriable if it is only reachable by internal reference
2302 https://bugs.webkit.org/show_bug.cgi?id=77877
2304 Reviewed by Pavel Feldman.
2306 * inspector/front-end/HeapSnapshot.js:
2307 (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
2309 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2311 Unreviewed, rolling out r106909.
2312 http://trac.webkit.org/changeset/106909
2313 https://bugs.webkit.org/show_bug.cgi?id=77965
2315 ~20 tests are crashing on chromium win release bot. (Requested
2316 by loislo on #webkit).
2318 * html/HTMLDetailsElement.cpp:
2319 (WebCore::HTMLDetailsElement::createShadowSubtree):
2320 * html/HTMLKeygenElement.cpp:
2321 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2322 * html/HTMLMeterElement.cpp:
2323 (WebCore::HTMLMeterElement::createShadowSubtree):
2324 * html/HTMLProgressElement.cpp:
2325 (WebCore::HTMLProgressElement::createShadowSubtree):
2326 * html/HTMLSummaryElement.cpp:
2327 (WebCore::HTMLSummaryElement::createShadowSubtree):
2328 * html/HTMLTextAreaElement.cpp:
2329 (WebCore::HTMLTextAreaElement::createShadowSubtree):
2331 2012-02-07 Andreas Kling <awesomekling@apple.com>
2333 REGRESSION(r106819): ~28% or so performance regression on the ManInBlue HTML benchmark
2334 <http://webkit.org/b/77952>
2336 Reviewed by Andreas Kling.
2337 Patch by Ryosuke Niwa.
2339 The performance regression was caused by using ensureAttributeData() which forces the
2340 regeneration of invalidated attributes ("style" and SVG animatable attributes.)
2341 Added an ensureAttributeDataWithoutUpdate() helper that only ensures the presence
2342 of ElementAttributeData, not the validity of its contents. Use that when grabbing
2343 at an element's inline and attribute styles.
2347 (WebCore::Element::ensureAttributeDataWithoutUpdate):
2348 * dom/StyledElement.h:
2349 (WebCore::StyledElement::ensureInlineStyleDecl):
2350 (WebCore::StyledElement::ensureAttributeStyle):
2352 2012-02-07 Michael Brüning <michael.bruning@nokia.com>
2354 [Qt][WK2] Compute and set cache capacities using the current CacheModel
2355 https://bugs.webkit.org/show_bug.cgi?id=73918
2357 Reviewed by Csaba Osztrogonác.
2359 No new tests. (build fix).
2361 * platform/qt/FileSystemQt.cpp:
2363 2012-02-07 Michael Brüning <michael.bruning@nokia.com>
2365 [Qt][WK2] Compute and set cache capacities using the current CacheModel
2366 https://bugs.webkit.org/show_bug.cgi?id=73918
2368 Reviewed by Kenneth Rohde Christiansen.
2370 No new tests. (Not applicable)
2372 Added OS-specific implementation for retrieving the free disk space.
2374 * platform/FileSystem.h:
2376 * platform/qt/FileSystemQt.cpp:
2377 (WebCore::getVolumeFreeSizeForPath):
2380 2012-02-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
2382 [Inspector] Add the Nokia N9 user agent
2383 https://bugs.webkit.org/show_bug.cgi?id=77949
2385 Reviewed by Simon Hausmann.
2387 * inspector/front-end/SettingsScreen.js:
2388 (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
2390 2012-02-07 Alexander Pavlov <apavlov@chromium.org>
2392 [CRASH] bool EventHandler::dispatchSyntheticTouchEventIfEnabled(const PlatformMouseEvent& event) references a NULL pointer
2393 https://bugs.webkit.org/show_bug.cgi?id=77953
2395 Reviewed by Andreas Kling.
2397 * page/EventHandler.cpp:
2398 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
2400 2012-02-07 Sheriff Bot <webkit.review.bot@gmail.com>
2402 Unreviewed, rolling out r106912.
2403 http://trac.webkit.org/changeset/106912
2404 https://bugs.webkit.org/show_bug.cgi?id=77947
2406 "AppleWebKit build is broken" (Requested by haraken on
2409 * dom/ScriptExecutionContext.cpp:
2410 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2412 * dom/ScriptExecutionContext.h:
2414 (ScriptExecutionContext):
2416 (WebCore::DOMURL::DOMURL):
2418 (WebCore::DOMURL::~DOMURL):
2419 (WebCore::DOMURL::contextDestroyed):
2420 (WebCore::DOMURL::createObjectURL):
2421 (WebCore::DOMURL::revokeObjectURL):
2423 (WebCore::DOMURL::create):
2426 * html/PublicURLManager.h: Removed.
2427 * page/DOMWindow.cpp:
2429 (WebCore::DOMWindow::webkitURL):
2432 * page/DOMWindow.idl:
2433 * workers/WorkerContext.cpp:
2435 (WebCore::WorkerContext::webkitURL):
2436 * workers/WorkerContext.h:
2438 * workers/WorkerContext.idl:
2440 2012-02-07 Kentaro Hara <haraken@chromium.org>
2442 Unreviewed, rolling out r106862.
2443 http://trac.webkit.org/changeset/106862
2444 https://bugs.webkit.org/show_bug.cgi?id=77510
2446 Mac build fails if we manually remove generated code
2448 * DerivedSources.make:
2449 * bindings/scripts/generate-bindings.pl:
2450 (generateEmptyHeaderAndCpp):
2451 * bindings/scripts/resolve-supplemental.pl:
2452 * bindings/scripts/update-idl-needs-rebuild.pl: Removed.
2454 2012-02-07 Kaustubh Atrawalkar <kaustubh@motorola.com>
2456 Migrate createObjectURL & revokeObjectURL to static (Class) methods.
2457 https://bugs.webkit.org/show_bug.cgi?id=74386
2459 Reviewed by David Levin.
2461 Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
2463 fast/files/revoke-blob-url.html
2464 fast/dom/window-domurl-crash.html
2465 fast/files/apply-blob-url-to-img.html
2466 fast/files/create-blob-url-crash.html
2467 fast/files/workers/inline-worker-via-blob-url.html
2469 * dom/ScriptExecutionContext.cpp:
2470 (WebCore::ScriptExecutionContext::fileThread):
2472 (WebCore::ScriptExecutionContext::publicURLManager):
2473 * dom/ScriptExecutionContext.h:
2475 (ScriptExecutionContext):
2478 (WebCore::DOMURL::createObjectURL): Changed to static.
2479 (WebCore::DOMURL::revokeObjectURL): ditto.
2482 (WebCore::DOMURL::create):
2484 * html/PublicURLManager.h: Added.
2487 (WebCore::PublicURLManager::create):
2488 (WebCore::PublicURLManager::contextDestroyed):
2489 (WebCore::PublicURLManager::blobURLs):
2490 (WebCore::PublicURLManager::streamURLs):
2491 * page/DOMWindow.cpp: Removed object initialization for DOMURL.
2493 * page/DOMWindow.h: ditto.
2495 * page/DOMWindow.idl:
2496 * workers/WorkerContext.cpp:
2498 * workers/WorkerContext.h:
2500 * workers/WorkerContext.idl:
2502 2012-02-03 Vsevolod Vlasov <vsevik@chromium.org>
2504 http/tests/inspector/indexeddb/database-structure.html failing on chromium win/linux
2505 https://bugs.webkit.org/show_bug.cgi?id=77661
2507 Reviewed by Yury Semikhatsky.
2509 * inspector/InspectorIndexedDBAgent.cpp:
2512 2012-02-07 Hayato Ito <hayato@chromium.org>
2514 Fix build on Mac with '--shadow-dom'.
2515 https://bugs.webkit.org/show_bug.cgi?id=77940
2517 Reviewed by Hajime Morita.
2519 * WebCore.xcodeproj/project.pbxproj:
2521 2012-02-06 Shinya Kawanaka <shinyak@google.com>
2523 Stop calling Element::ensureShadowRoot() if it is used in construction phase.
2524 https://bugs.webkit.org/show_bug.cgi?id=77929
2526 Reviewed by Hajime Morita.
2528 ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
2529 So we want to remove Element::ensureShadowRoot().
2530 This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
2532 No new tests, no change in behavior.
2534 * html/HTMLDetailsElement.cpp:
2535 (WebCore::HTMLDetailsElement::createShadowSubtree):
2536 * html/HTMLKeygenElement.cpp:
2537 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2538 * html/HTMLMeterElement.cpp:
2539 (WebCore::HTMLMeterElement::createShadowSubtree):
2540 * html/HTMLProgressElement.cpp:
2541 (WebCore::HTMLProgressElement::createShadowSubtree):
2542 * html/HTMLSummaryElement.cpp:
2543 (WebCore::HTMLSummaryElement::createShadowSubtree):
2544 * html/HTMLTextAreaElement.cpp:
2545 (WebCore::HTMLTextAreaElement::createShadowSubtree):
2547 2012-02-06 Shinya Kawanaka <shinyak@google.com>
2549 Remove Element::ensureShadowRoot export.
2550 https://bugs.webkit.org/show_bug.cgi?id=77932
2552 Reviewed by Hajime Morita.
2554 Removes Element::ensureShadowRoot export.
2556 No new tests, no change in behavior.
2560 2012-02-06 Ilya Tikhonovsky <loislo@chromium.org>
2562 Unreviewed. Web Inspector: rename Artificial to Synthetic according to v8 patch r10614.
2564 * inspector/front-end/DetailedHeapshotGridNodes.js:
2565 * inspector/front-end/HeapSnapshot.js:
2566 (WebInspector.HeapSnapshotNode.prototype.get isSynthetic):
2567 (WebInspector.HeapSnapshot.prototype._init):
2569 2012-02-06 Hayato Ito <hayato@chromium.org>
2571 Implement querySelector on ShadowRoot.
2572 https://bugs.webkit.org/show_bug.cgi?id=77714
2574 Reviewed by Dimitri Glazkov.
2576 * dom/SelectorQuery.cpp:
2577 (WebCore::nodeIsRootNodeOfTreeScope):
2579 (WebCore::SelectorDataList::execute):
2581 2012-02-06 Martin Robinson <mrobinson@igalia.com> and Nayan Kumar K <nayankk@motorola.com>
2583 [GTK] Add TextureMapperGL implementation
2584 https://bugs.webkit.org/show_bug.cgi?id=75308
2586 Reviewed by Alejandro G. Castro.
2588 No new tests. This will be covered by accelerated compositing and
2589 3D CSS transform tests eventually.
2591 * GNUmakefile.list.am: Added some files necessary to build TextureMapperGL.
2592 * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added implementations.
2593 * platform/graphics/cairo/TextureMapperGLCairo.h: Updated member list.
2594 * platform/graphics/gtk/WindowGLContext.h: Added.
2595 * platform/graphics/gtk/WindowGLContextGLX.cpp: Added.
2596 * platform/graphics/opengl/TextureMapperGL.cpp: Use the GL shims on GTK.
2598 2012-02-06 Emil A Eklund <eae@chromium.org>
2600 Change baselinePosition and lineHeight to LayoutUnit
2601 https://bugs.webkit.org/show_bug.cgi?id=77905
2603 Reviewed by Eric Seidel.
2605 Change the virtual baselinePosition and lineHeight methods to return
2606 LayoutUnits as they are both computed from the height and top/bottom
2607 margins (or width and left/right margins for vertical text), all of
2608 which are LayoutUnits.
2612 * platform/efl/RenderThemeEfl.cpp:
2613 (WebCore::RenderThemeEfl::baselinePosition):
2614 * platform/efl/RenderThemeEfl.h:
2616 * platform/gtk/RenderThemeGtk.cpp:
2617 (WebCore::RenderThemeGtk::baselinePosition):
2618 * platform/gtk/RenderThemeGtk.h:
2620 * platform/qt/RenderThemeQt.cpp:
2621 (WebCore::RenderThemeQt::baselinePosition):
2622 * platform/qt/RenderThemeQt.h:
2624 * rendering/RenderListMarker.cpp:
2625 (WebCore::RenderListMarker::lineHeight):
2626 (WebCore::RenderListMarker::baselinePosition):
2627 * rendering/RenderListMarker.h:
2629 * rendering/RenderSlider.cpp:
2630 (WebCore::RenderSlider::baselinePosition):
2631 * rendering/RenderSlider.h:
2633 * rendering/RootInlineBox.h:
2634 (WebCore::RootInlineBox::baselinePosition):
2635 (WebCore::RootInlineBox::lineHeight):
2636 * rendering/mathml/RenderMathMLFraction.cpp:
2637 (WebCore::RenderMathMLFraction::baselinePosition):
2638 * rendering/mathml/RenderMathMLFraction.h:
2639 (RenderMathMLFraction):
2640 * rendering/mathml/RenderMathMLOperator.cpp:
2641 (WebCore::RenderMathMLOperator::baselinePosition):
2642 * rendering/mathml/RenderMathMLOperator.h:
2643 (RenderMathMLOperator):
2644 * rendering/mathml/RenderMathMLRow.cpp:
2645 (WebCore::RenderMathMLRow::baselinePosition):
2646 * rendering/mathml/RenderMathMLRow.h:
2648 * rendering/mathml/RenderMathMLSubSup.cpp:
2649 (WebCore::RenderMathMLSubSup::baselinePosition):
2650 * rendering/mathml/RenderMathMLSubSup.h:
2651 (RenderMathMLSubSup):
2652 * rendering/mathml/RenderMathMLUnderOver.cpp:
2653 (WebCore::RenderMathMLUnderOver::baselinePosition):
2654 * rendering/mathml/RenderMathMLUnderOver.h:
2655 (RenderMathMLUnderOver):
2657 2012-02-06 Xianzhu Wang <wangxianzhu@chromium.org>
2659 Avoid Page::updateViewportArguments() if the causing frame is not the main frame
2660 https://bugs.webkit.org/show_bug.cgi?id=77387
2662 Reviewed by Kenneth Rohde Christiansen.
2665 (WebCore::Document::processViewport):
2666 (WebCore::Document::updateViewportArguments):
2667 (WebCore::Document::setInPageCache):
2670 * html/HTMLBodyElement.cpp:
2671 (WebCore::HTMLBodyElement::insertedIntoDocument):
2673 (WebCore::Frame::setDocument):
2675 (WebCore::Page::viewportArguments):
2680 2012-02-06 Martin Robinson <mrobinson@igalia.com>
2682 Fix some miscellaneous 'make dist' error for WebKitGTK+.
2684 * GNUmakefile.list.am: Add some missing Shadow DOM files to the
2687 2012-02-06 Dana Jansens <danakj@chromium.org>
2689 Add contains() test to Region
2690 https://bugs.webkit.org/show_bug.cgi?id=72294
2692 Reviewed by Anders Carlsson.
2694 * platform/graphics/Region.cpp:
2695 (WebCore::Region::contains):
2697 * platform/graphics/Region.h:
2700 (WebCore::operator==):
2703 2012-02-06 Kentaro Hara <haraken@chromium.org>
2705 Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
2706 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
2707 https://bugs.webkit.org/show_bug.cgi?id=77852
2709 Reviewed by Adam Barth.
2711 This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
2712 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
2714 [DontCheckEnums] => [DoNotCheckConstants] (This IDL inserts assertions to check if a
2715 constant value is equal to the expected constant value)
2716 [ReturnsNew] => [ReturnNewObject] (For clarification)
2717 [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
2718 with other [*Getter] IDLs)
2719 [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
2720 with other [*Setter] IDLs)
2721 [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
2722 name in implementation)
2724 No tests. No change in behavior.
2726 * bindings/scripts/CodeGenerator.pm:
2728 (GenerateCompileTimeCheckForEnumsIfNeeded):
2729 * bindings/scripts/CodeGeneratorJS.pm:
2731 (GenerateImplementation):
2733 * bindings/scripts/CodeGeneratorV8.pm:
2734 (GenerateSingleBatchedAttribute):
2735 (GenerateFunctionCallString):
2738 * bindings/scripts/test/TestObj.idl:
2739 * bindings/scripts/test/TestTypedArray.idl:
2741 * bindings/scripts/test/JS/JSTestInterface.cpp:
2743 * bindings/scripts/test/JS/JSTestObj.cpp:
2745 * bindings/scripts/test/V8/V8TestInterface.cpp:
2747 * bindings/scripts/test/V8/V8TestObj.cpp:
2750 * css/WebKitCSSFilterValue.idl:
2751 * css/WebKitCSSTransformValue.idl:
2752 * dom/DOMCoreException.idl:
2754 * dom/EventException.idl:
2755 * dom/RangeException.idl:
2756 * fileapi/FileException.idl:
2757 * fileapi/OperationNotAllowedException.idl:
2758 * html/HTMLFormElement.idl:
2759 * html/canvas/Float32Array.idl:
2760 * html/canvas/Float64Array.idl:
2761 * html/canvas/Int16Array.idl:
2762 * html/canvas/Int32Array.idl:
2763 * html/canvas/Int8Array.idl:
2764 * html/canvas/OESStandardDerivatives.idl:
2765 * html/canvas/OESVertexArrayObject.idl:
2766 * html/canvas/Uint16Array.idl:
2767 * html/canvas/Uint32Array.idl:
2768 * html/canvas/Uint8Array.idl:
2769 * html/canvas/Uint8ClampedArray.idl:
2770 * html/canvas/WebGLCompressedTextures.idl:
2771 * html/canvas/WebGLDebugRendererInfo.idl:
2772 * html/canvas/WebGLRenderingContext.idl:
2773 * inspector/JavaScriptCallFrame.idl:
2774 * loader/appcache/DOMApplicationCache.idl:
2776 * page/DOMWindow.idl:
2777 * page/Location.idl:
2778 * storage/IDBCursor.idl:
2779 * storage/IDBDatabaseException.idl:
2780 * storage/IDBObjectStore.idl:
2781 * storage/SQLException.idl:
2782 * svg/SVGComponentTransferFunctionElement.idl:
2783 * svg/SVGException.idl:
2784 * svg/SVGFEBlendElement.idl:
2785 * svg/SVGFEColorMatrixElement.idl:
2786 * svg/SVGFECompositeElement.idl:
2787 * svg/SVGFEConvolveMatrixElement.idl:
2788 * svg/SVGFEDisplacementMapElement.idl:
2789 * svg/SVGFEMorphologyElement.idl:
2790 * svg/SVGFETurbulenceElement.idl:
2791 * svg/SVGGradientElement.idl:
2792 * xml/XMLHttpRequestException.idl:
2793 * xml/XPathException.idl:
2795 2012-02-06 James Robinson <jamesr@chromium.org>
2797 [chromium] canvas demo is slow due to unnecessary resource cleanups
2798 https://bugs.webkit.org/show_bug.cgi?id=77135
2800 Reviewed by Kenneth Russell.
2802 This defers dropping a ManagedTexture until it is evicted by the manager, the layer is destroyed, the
2803 TextureManager is destroyed, or the layer is added to a CCLayerTreeHost that has a different texture manager. In
2804 particular, removing a layer from a CCLayerTreeHost and then adding it back to the same host does not drop any
2805 ManagedTextures unless the manager has to evict it for other reasons. This provides a big speedup on sites that
2806 rebuild the compositing tree frequently.
2808 New unit test added for ManagedTexture / TextureManager interaction.
2810 * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2811 (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
2812 (WebCore::Canvas2DLayerChromium::setTextureManager):
2813 * platform/graphics/chromium/Canvas2DLayerChromium.h:
2814 (Canvas2DLayerChromium):
2815 * platform/graphics/chromium/LayerChromium.cpp:
2816 (WebCore::LayerChromium::setLayerTreeHost):
2817 * platform/graphics/chromium/LayerChromium.h:
2819 * platform/graphics/chromium/ManagedTexture.cpp:
2820 (WebCore::ManagedTexture::setTextureManager):
2822 (WebCore::ManagedTexture::steal):
2823 (WebCore::ManagedTexture::clear):
2824 * platform/graphics/chromium/ManagedTexture.h:
2826 * platform/graphics/chromium/RenderSurfaceChromium.h:
2827 (RenderSurfaceChromium):
2828 * platform/graphics/chromium/TiledLayerChromium.cpp:
2829 (WebCore::TiledLayerChromium::setLayerTreeHost):
2831 (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2832 * platform/graphics/chromium/TiledLayerChromium.h:
2834 2012-02-06 Kentaro Hara <haraken@chromium.org>
2836 Unreviewed, rolling out r106883.
2837 http://trac.webkit.org/changeset/106883
2838 https://bugs.webkit.org/show_bug.cgi?id=77852
2840 build failure around Chromium V8 bindings
2842 * bindings/scripts/CodeGenerator.pm:
2844 (GenerateCompileTimeCheckForEnumsIfNeeded):
2845 * bindings/scripts/CodeGeneratorJS.pm:
2847 (GenerateImplementation):
2849 * bindings/scripts/CodeGeneratorV8.pm:
2850 (GenerateSingleBatchedAttribute):
2851 (GenerateFunctionCallString):
2853 * bindings/scripts/test/JS/JSTestInterface.cpp:
2855 * bindings/scripts/test/JS/JSTestObj.cpp:
2857 * bindings/scripts/test/TestObj.idl:
2858 * bindings/scripts/test/TestTypedArray.idl:
2859 * bindings/scripts/test/V8/V8TestInterface.cpp:
2861 * bindings/scripts/test/V8/V8TestObj.cpp:
2863 * css/WebKitCSSFilterValue.idl:
2864 * css/WebKitCSSTransformValue.idl:
2865 * dom/DOMCoreException.idl:
2867 * dom/EventException.idl:
2868 * dom/RangeException.idl:
2869 * fileapi/FileException.idl:
2870 * fileapi/OperationNotAllowedException.idl:
2871 * html/HTMLFormElement.idl:
2872 * html/canvas/Float32Array.idl:
2873 * html/canvas/Float64Array.idl:
2874 * html/canvas/Int16Array.idl:
2875 * html/canvas/Int32Array.idl:
2876 * html/canvas/Int8Array.idl:
2877 * html/canvas/OESStandardDerivatives.idl:
2878 * html/canvas/OESVertexArrayObject.idl:
2879 * html/canvas/Uint16Array.idl:
2880 * html/canvas/Uint32Array.idl:
2881 * html/canvas/Uint8Array.idl:
2882 * html/canvas/Uint8ClampedArray.idl:
2883 * html/canvas/WebGLCompressedTextures.idl:
2884 * html/canvas/WebGLDebugRendererInfo.idl:
2885 * html/canvas/WebGLRenderingContext.idl:
2886 * inspector/JavaScriptCallFrame.idl:
2887 * loader/appcache/DOMApplicationCache.idl:
2889 * page/DOMWindow.idl:
2890 * page/Location.idl:
2891 * storage/IDBCursor.idl:
2892 * storage/IDBDatabaseException.idl:
2893 * storage/IDBObjectStore.idl:
2894 * storage/SQLException.idl:
2895 * svg/SVGComponentTransferFunctionElement.idl:
2896 * svg/SVGException.idl:
2897 * svg/SVGFEBlendElement.idl:
2898 * svg/SVGFEColorMatrixElement.idl:
2899 * svg/SVGFECompositeElement.idl:
2900 * svg/SVGFEConvolveMatrixElement.idl:
2901 * svg/SVGFEDisplacementMapElement.idl:
2902 * svg/SVGFEMorphologyElement.idl:
2903 * svg/SVGFETurbulenceElement.idl:
2904 * svg/SVGGradientElement.idl:
2905 * xml/XMLHttpRequestException.idl:
2906 * xml/XPathException.idl:
2908 2012-02-06 Yongsheng Zhu <yongsheng.zhu@intel.com>
2910 WebGL must allocate smaller drawing buffer when the allocation fails.
2911 https://bugs.webkit.org/show_bug.cgi?id=76654
2913 Reviewed by Kenneth Russell.
2915 Test: fast/canvas/webgl/drawingbuffer-test.html
2917 * platform/graphics/gpu/DrawingBuffer.cpp:
2919 (WebCore::DrawingBuffer::create):
2920 (WebCore::DrawingBuffer::reset):
2922 2012-02-06 Kentaro Hara <haraken@chromium.org>
2924 Unreviewed. Rebaselined run-bindings-tests results.
2926 * bindings/scripts/test/V8/V8TestObj.cpp:
2927 (WebCore::TestObjInternal::optionsObjectCallback):
2929 2012-02-06 Levi Weintraub <leviw@chromium.org>
2931 Correct usage of LayoutUnits in dom, editing, page, accessibility, inspector, and loader
2932 https://bugs.webkit.org/show_bug.cgi?id=77891
2934 Reviewed by Darin Adler.
2936 Updating the usage of LayoutUnits in the dom, editing, page, accessibility, inspector, and loader
2937 directories to properly use LayoutUnits vs ints.
2939 No new tests. No new behavior.
2941 * accessibility/AccessibilityObject.h:
2942 (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
2943 (WebCore::AccessibilityObject::doAXBoundsForRange):
2944 * accessibility/AccessibilityRenderObject.cpp:
2945 (WebCore::AccessibilityRenderObject::isOffScreen):
2946 (WebCore::AccessibilityRenderObject::clickPoint):
2947 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
2948 (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
2949 (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
2950 * accessibility/AccessibilityRenderObject.h:
2951 (AccessibilityRenderObject):
2952 * accessibility/AccessibilitySlider.cpp:
2953 (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
2954 * accessibility/AccessibilitySlider.h:
2955 (AccessibilitySlider):
2956 * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2957 (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
2958 * css/CSSComputedStyleDeclaration.cpp:
2959 (WebCore::computedTransform):
2960 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2962 (WebCore::Clipboard::dragLocation):
2964 * dom/DocumentMarkerController.cpp:
2965 (WebCore::DocumentMarkerController::renderedRectsForMarkers):
2966 * dom/DocumentMarkerController.h:
2968 (WebCore::Element::screenRect):
2971 * editing/Editor.cpp:
2972 (WebCore::Editor::rangeForPoint):
2973 (WebCore::Editor::firstRectForRange):
2974 * editing/RenderedPosition.cpp:
2975 (WebCore::RenderedPosition::absoluteRect):
2976 * editing/RenderedPosition.h:
2977 (WebCore::RenderedPosition::absoluteRect):
2979 * editing/VisiblePosition.h:
2981 * inspector/DOMNodeHighlighter.cpp:
2982 * loader/SubframeLoader.cpp:
2983 (WebCore::SubframeLoader::createJavaAppletWidget):
2984 * loader/SubframeLoader.h:
2986 * page/EventHandler.cpp:
2987 (WebCore::EventHandler::handleMousePressEvent):
2989 (WebCore::Frame::nodeImage):
2990 * page/win/FrameCGWin.cpp:
2991 (WebCore::Frame::nodeImage):
2993 2012-02-05 Kentaro Hara <haraken@chromium.org>
2995 Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
2996 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
2997 https://bugs.webkit.org/show_bug.cgi?id=77852
2999 Reviewed by Adam Barth.
3001 This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
3002 [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
3004 [DontCheckEnums] => [DoNotCheckConstants] (This IDL inserts assertions to check if a
3005 constant value is equal to the expected constant value)
3006 [ReturnsNew] => [ReturnNewObject] (For clarification)
3007 [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
3008 with other [*Getter] IDLs)
3009 [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
3010 with other [*Setter] IDLs)
3011 [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
3012 name in implementation)
3014 No tests. No change in behavior.
3016 * bindings/scripts/CodeGenerator.pm:
3018 (GenerateCompileTimeCheckForEnumsIfNeeded):
3019 * bindings/scripts/CodeGeneratorJS.pm:
3021 (GenerateImplementation):
3023 * bindings/scripts/CodeGeneratorV8.pm:
3024 (GenerateSingleBatchedAttribute):
3025 (GenerateFunctionCallString):
3028 * bindings/scripts/test/TestObj.idl:
3029 * bindings/scripts/test/TestTypedArray.idl:
3031 * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
3033 * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
3035 * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
3037 * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
3040 * bindings/scripts/test/TestObj.idl:
3041 * bindings/scripts/test/TestTypedArray.idl:
3042 * css/WebKitCSSFilterValue.idl:
3043 * css/WebKitCSSTransformValue.idl:
3044 * dom/DOMCoreException.idl:
3046 * dom/EventException.idl:
3047 * dom/RangeException.idl:
3048 * fileapi/FileException.idl:
3049 * fileapi/OperationNotAllowedException.idl:
3050 * html/HTMLFormElement.idl:
3051 * html/canvas/Float32Array.idl:
3052 * html/canvas/Float64Array.idl:
3053 * html/canvas/Int16Array.idl:
3054 * html/canvas/Int32Array.idl:
3055 * html/canvas/Int8Array.idl:
3056 * html/canvas/OESStandardDerivatives.idl:
3057 * html/canvas/OESVertexArrayObject.idl:
3058 * html/canvas/Uint16Array.idl:
3059 * html/canvas/Uint32Array.idl:
3060 * html/canvas/Uint8Array.idl:
3061 * html/canvas/Uint8ClampedArray.idl:
3062 * html/canvas/WebGLCompressedTextures.idl:
3063 * html/canvas/WebGLDebugRendererInfo.idl:
3064 * html/canvas/WebGLRenderingContext.idl:
3065 * inspector/JavaScriptCallFrame.idl:
3066 * loader/appcache/DOMApplicationCache.idl:
3068 * page/DOMWindow.idl:
3069 * page/Location.idl:
3070 * storage/IDBCursor.idl:
3071 * storage/IDBDatabaseException.idl:
3072 * storage/IDBObjectStore.idl:
3073 * storage/SQLException.idl:
3074 * svg/SVGComponentTransferFunctionElement.idl:
3075 * svg/SVGException.idl:
3076 * svg/SVGFEBlendElement.idl:
3077 * svg/SVGFEColorMatrixElement.idl:
3078 * svg/SVGFECompositeElement.idl:
3079 * svg/SVGFEConvolveMatrixElement.idl:
3080 * svg/SVGFEDisplacementMapElement.idl:
3081 * svg/SVGFEMorphologyElement.idl:
3082 * svg/SVGFETurbulenceElement.idl:
3083 * svg/SVGGradientElement.idl:
3084 * xml/XMLHttpRequestException.idl:
3086 2012-02-06 Stephen Chenney <schenney@chromium.org>
3088 RenderSVGShape::strokeContains will fail for some strokes
3089 https://bugs.webkit.org/show_bug.cgi?id=76931
3091 Reviewed by Darin Adler.
3093 Adding support for rounded zero-length endcaps for SVG path hit
3096 Tests: svg/hittest/zero-length-butt-cap-path.xhtml
3097 svg/hittest/zero-length-round-cap-path.xhtml
3098 svg/hittest/zero-length-square-cap-path.xhtml
3100 * rendering/svg/RenderSVGShape.cpp:
3101 (WebCore::RenderSVGShape::strokeContains):
3103 2012-02-06 Gregg Tavares <gman@google.com>
3105 Add webGLErrorsToConsoleEnabled Settings flag
3106 https://bugs.webkit.org/show_bug.cgi?id=77696
3108 Reviewed by Kenneth Russell.
3110 No new tests as there is no change in behavior.
3112 * html/canvas/WebGLRenderingContext.cpp:
3114 (WebCore::WebGLRenderingContext::setupFlags):
3115 * page/Settings.cpp:
3116 (WebCore::Settings::Settings):
3119 (WebCore::Settings::webGLErrorsToConsoleEnabled):
3121 2012-02-06 Emil A Eklund <eae@chromium.org>
3123 Convert PopupMenuClient::clientPadding over to new layout abstraction
3124 https://bugs.webkit.org/show_bug.cgi?id=77798
3126 Reviewed by Eric Seidel.
3128 Change PopupMenuClient and all classes inheriting from it to use the new
3129 layout types for padding.
3133 * platform/PopupMenuClient.h:
3135 * rendering/RenderMenuList.h:
3136 * rendering/RenderTextControlSingleLine.cpp:
3137 (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
3138 (WebCore::RenderTextControlSingleLine::clientPaddingRight):
3139 * rendering/RenderTextControlSingleLine.h:
3141 2012-02-06 Philip Rogers <pdr@google.com>
3143 Fix color animations by value
3144 https://bugs.webkit.org/show_bug.cgi?id=77812
3146 Reviewed by Darin Adler.
3148 Test: svg/animations/animate-color-fill-from-by.html
3150 * svg/SVGAnimatedColor.cpp:
3151 (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
3153 2012-02-03 Jer Noble <jer.noble@apple.com>
3155 REGRESSION (r104303): Clicking inline video controls gives the video a focus ring
3156 https://bugs.webkit.org/show_bug.cgi?id=77288
3158 Reviewed by Darin Adler.
3160 Test: media/video-mouse-focus.html
3162 Do not allow media elements to be focused by mouse click by overriding isMouseFocusable
3163 and returning false.
3165 * html/HTMLMediaElement.cpp:
3166 (WebCore::HTMLMediaElement::isMouseFocusable):
3167 * html/HTMLMediaElement.h:
3169 2012-02-06 Anders Carlsson <andersca@apple.com>
3171 Overlay scrollbars flash when window is simply activated
3172 https://bugs.webkit.org/show_bug.cgi?id=77911
3173 <rdar://problem/10211995>
3175 Reviewed by Kenneth Russell.
3177 Add a new member function, FocusController::setContainingWindowIsVisible, and move the code
3178 that calls ScrollableArea::contentAreaDidShow/ScrollableArea::contentAreaDidHide there, since
3179 we only want to flash scrollers when the window becomes visible.
3182 * page/FocusController.cpp:
3183 (WebCore::FocusController::FocusController):
3184 (WebCore::FocusController::setActive):
3185 (WebCore::FocusController::setContainingWindowIsVisible):
3187 * page/FocusController.h:
3189 (WebCore::FocusController::containingWindowIsVisible):
3191 * platform/mac/ScrollAnimatorMac.mm:
3192 (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
3193 Call ScrollAnimatorMac::contentAreaWillPaint here, since that will trigger AppKit to flash the scrollers.
3195 2012-02-06 Greg Simon <gregsimon@chromium.org>
3197 postMessage leaks MemoryEvent object
3198 https://bugs.webkit.org/show_bug.cgi?id=77893
3200 Reviewed by Adam Barth.
3202 Changed from PassRefPtr().leakRef() to RefPtr.get() when
3203 calling into FrameLoaderClient to stop +1 extra ref.
3205 * page/DOMWindow.cpp:
3206 (WebCore::DOMWindow::postMessageTimerFired):
3208 2012-02-06 Ehsan Akhgari <ehsan.akhgari@gmail.com>
3210 WebGL conformance test misc/functions-returning-strings.html fails
3211 https://bugs.webkit.org/show_bug.cgi?id=77149
3213 Make sure that WebGL methods returning strings don't return null when
3214 they run successfully.
3216 Reviewed by Kenneth Russell.
3218 Test: fast/canvas/webgl/functions-returning-strings.html
3220 * html/canvas/WebGLRenderingContext.cpp:
3222 (WebCore::WebGLRenderingContext::getProgramInfoLog):
3223 (WebCore::WebGLRenderingContext::getShaderInfoLog):
3224 (WebCore::WebGLRenderingContext::getShaderSource):
3225 (WebCore::WebGLRenderingContext::ensureNotNull):
3226 * html/canvas/WebGLRenderingContext.h:
3227 (WebGLRenderingContext):
3229 2012-02-06 Enrica Casucci <enrica@apple.com>
3231 Refactor Mac platform implementation of the Pasteboard class.
3232 https://bugs.webkit.org/show_bug.cgi?id=77567
3234 The goal of this change is to remove the majority of the methods in
3235 the class interface that are Mac specific.
3236 writeSelectionForTypes has been left to support OS X services.
3237 Some of the methods have been turned into static functions.
3238 The method asURL was being used only by the DragData class and its
3239 implementation has been moved there.
3240 This is a first step in the direction of removing NSPasteboard access from
3241 the WebProcess for WebKit2 (https://bugs.webkit.org/show_bug.cgi?id=77259)
3242 leaving the WebKit1 behavior unchanged.
3244 Reviewed by Alexey Proskuryakov.
3246 No new tests. No changes in behavior.
3248 * platform/Pasteboard.h: Removed most of the Mac specific methods.
3249 * platform/mac/ClipboardMac.mm:
3250 (WebCore::ClipboardMac::writeRange):
3251 (WebCore::ClipboardMac::writeURL):
3252 * platform/mac/DragDataMac.mm:
3253 (WebCore::DragData::asURL): Moved code from PasteboardMac.mm. Removed FIXME
3254 because we only want to handle the case of single file, otherwise the user
3255 doesn't know which of the files has been chosen.
3256 * platform/mac/PasteboardMac.mm:
3257 (WebCore::writeURLForTypes):
3258 (WebCore::Pasteboard::writeURL):
3259 (WebCore::writeFileWrapperAsRTFDAttachment): Now a static function.
3260 (WebCore::Pasteboard::writeImage):
3261 (WebCore::documentFragmentWithImageResource): Ditto.
3262 (WebCore::documentFragmentWithRTF): Ditto.
3263 (WebCore::Pasteboard::documentFragment):
3265 2012-02-06 James Robinson <jamesr@chromium.org>
3267 [chromium] Drop tiles completely outside of layer bounds when resizing to a smaller size
3268 https://bugs.webkit.org/show_bug.cgi?id=77910
3270 Reviewed by Kenneth Russell.
3272 When resizing a tiled layer to a smaller size, drop all tiles that lie completely outside the new layer bounds.
3273 This avoids attempting to access out-of-bounds tiles when iterating over all tiles in the tiler, which triggers
3274 ASSERT()s, as well as saves some memory.
3276 New unit test added to TiledLayerChromiumTest.
3278 * platform/graphics/chromium/TiledLayerChromium.cpp:
3279 (WebCore::TiledLayerChromium::invalidateRect):
3280 * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
3281 (WebCore::CCLayerTilingData::setBounds):
3283 2012-02-06 Chris Rogers <crogers@google.com>
3285 zvmul incorrectly multiplies complex arrays on Windows.
3286 https://bugs.webkit.org/show_bug.cgi?id=77900
3288 Reviewed by Kenneth Russell.
3290 * platform/audio/VectorMath.cpp:
3291 (WebCore::VectorMath::zvmul):
3293 2012-02-06 Andreas Kling <awesomekling@apple.com>
3295 REGRESSION(r106756): 10% performance hit on DOM/Template.
3296 <http://webkit.org/b/77831>
3298 Reviewed by Ryosuke Niwa.
3300 Let the StylePropertySet used for element attribute style have the element as its parent.
3301 This is accomplished by adding an m_parentIsElement bit to StylePropertySet and sharing
3302 some of the internal logic with inline styles.
3304 In the end, this means that CSSParser will now pick up the document's CSSValuePool when
3305 parsing properties for attribute styles, which fixes the perf regression from r106756.
3307 * css/StylePropertySet.cpp:
3308 (WebCore::StylePropertySet::StylePropertySet):
3309 (WebCore::StylePropertySet::contextStyleSheet):
3311 Find contextStyleSheet via the parentElement() when there is one.
3313 (WebCore::StylePropertySet::setNeedsStyleRecalc):
3315 Always set FullStyleChange for attribute style mutations. We can probably use the
3316 same lighter invalidation as inline styles, but that's a topic for another patch.
3318 * css/StylePropertySet.h:
3319 (WebCore::StylePropertySet::createInline):
3320 (WebCore::StylePropertySet::createAttributeStyle):
3321 (WebCore::StylePropertySet::parentRuleInternal):
3322 (WebCore::StylePropertySet::clearParentRule):
3324 (WebCore::StylePropertySet::parentElement):
3325 (WebCore::StylePropertySet::clearParentElement):
3327 Added m_parentIsElement bit and update assertions as appropriate to not just
3328 cover the inline style case. Added a createAttributeStyle() helper to create
3329 a StylePropertySet for use as Element::attributeStyle().
3331 * dom/StyledElement.h:
3332 * dom/ElementAttributeData.h:
3333 * dom/ElementAttributeData.cpp:
3334 (WebCore::ElementAttributeData::ensureAttributeStyle):
3336 Use StylePropertySet::createAttributeStyle().
3338 * dom/StyledElement.cpp:
3339 (WebCore::StyledElement::removeCSSProperties):
3340 (WebCore::StyledElement::addCSSProperty):
3341 (WebCore::StyledElement::addCSSImageProperty):
3343 Remove setNeedsStyleRecalc() calls since that is now handled automatically by
3344 StylePropertySet's mutation methods.
3346 2012-02-06 Kentaro Hara <haraken@chromium.org>
3348 In AppleWebKit, stop rebuilding IDLs that need not to be rebuilt
3349 https://bugs.webkit.org/show_bug.cgi?id=77510
3351 Reviewed by Adam Barth.
3353 Currently, if any IDL file is updated, all IDL files are rebuilt.
3354 This patch stops rebuilding IDL files which are not modified nor
3355 whose supplemental dependencies are not changed.
3357 The new build flow is as follows:
3359 supplemental.dep : $(ALL_IDLS)
3360 perl resolve-supplemental.pl ...
3362 %.idl-needs-rebuild : %.idl supplemental.dep
3363 perl update-idl-needs-rebuild.pl ...
3365 JS%.cpp : %.idl-needs-rebuild
3366 perl generate-bindings.pl ...
3368 resolve-supplemental.pl generates the following supplemental.dep.
3369 The number in () is the last access timestamp of the file.
3372 B.idl(1000) B-supplemental1.idl(800) B-supplemental2.idl(1200)
3375 update-idl-needs-rebuild.pl for X.idl touches X.idl-needs-rebuild,
3376 if X.idl-needs-rebuild is older than X.idl or the IDL files which are
3377 supplementing X.idl. For example, if the timestamps of A.idl-needs-rebuild,
3378 B.idl-needs-rebuild and C.idl-needs-rebuild are all 1000, then A.idl-needs-rebuild
3379 and B.idl-needs-rebuild will be touched.
3381 Even if no IDL files are modified, update-idl-needs-rebuild.pl can run for all IDL files,
3382 but generate-bindings.pl won't run. If any IDL file is updated, resolve-supplemental.pl
3383 will run once, update-idl-needs-rebuild.pl will run for all IDL files, and
3384 generate-bindings.pl will run for the IDL files which are modified or whose
3385 dependencies are changed.
3387 No tests. I manually confirmed the followings:
3388 - Touch Element.idl, then only Element.idl is rebuilt
3389 - Touch DOMWindow.idl, then only DOMWindow.idl is rebuilt
3390 - Touch DOMWindowWebAudio.idl, then only DOMWindow.idl and DOMWindowWebAudio.idl are rebuilt
3392 * DerivedSources.make: Modified the build flow as described above.
3393 * bindings/scripts/generate-bindings.pl: Modified to read an IDL file path from .idl-needs-rebuild.
3394 * bindings/scripts/update-idl-needs-rebuild.pl: Added. Touches X.idl-needs-rebuild if
3395 the X.idl-needs-rebuild is older than X.idl or the IDL files which are supplementing X.idl.
3398 2012-02-06 Wei James <james.wei@intel.com>
3400 AudioBus need to support stereo->mono down mix in copyFrom sumFrom etc.
3401 https://bugs.webkit.org/show_bug.cgi?id=77609
3403 Reviewed by Kenneth Russell.
3405 Test: webaudio/stereo2mono-down-mixing.html
3407 * platform/audio/AudioBus.cpp:
3409 (WebCore::AudioBus::copyFrom):
3410 (WebCore::AudioBus::sumFrom):
3412 2012-02-06 Cris Neckar <cdn@chromium.org>
3414 Add RefPtrs for parent and sibling counter nodes
3415 https://bugs.webkit.org/show_bug.cgi?id=75212
3417 Reviewed by Adam Barth.
3419 Test: fast/css/counters/reparent-table-children-with-counters-crash.html
3421 * rendering/RenderCounter.cpp:
3422 (WebCore::findPlaceForCounter):
3423 (WebCore::makeCounterNode):
3424 (WebCore::updateCounters):
3426 2012-02-06 Kalev Lember <kalevlember@gmail.com>
3428 [GTK] Add missing pango include dir to fix build
3429 https://bugs.webkit.org/show_bug.cgi?id=77832
3431 Reviewed by Martin Robinson.
3433 * GNUmakefile.am: Added $(PANGO_CFLAGS) to libWebCore_la_CPPFLAGS.
3435 2012-02-06 Jochen Eisinger <jochen@chromium.org>
3437 Before accessing a frame's script controller in V8 bindings, first check that the frame actually exists
3438 https://bugs.webkit.org/show_bug.cgi?id=77370
3440 Reviewed by Adam Barth.
3442 I don't have a working reproduction of the crash yet. As soon as I have
3443 one, I will add new layout tests.
3445 * bindings/v8/PageScriptDebugServer.cpp:
3446 (WebCore::PageScriptDebugServer::addListener):
3447 * bindings/v8/ScheduledAction.cpp:
3448 (WebCore::ScheduledAction::execute):
3449 * bindings/v8/ScriptCachedFrameData.cpp:
3450 (WebCore::ScriptCachedFrameData::restore):
3451 * page/DOMTimer.cpp:
3452 (WebCore::DOMTimer::DOMTimer): remove temporary debug code
3454 2012-02-06 James Robinson <jamesr@chromium.org>
3456 Support detaching TextureManager from ManagedTexture
3457 https://bugs.webkit.org/show_bug.cgi?id=77655
3459 Reviewed by Kenneth Russell.
3460 Initial patch by Alok Priyadarshi.
3462 TextureManager now holds references to the textures it manages.
3463 This allows TextureManager to inform managed textures when it gets deleted
3464 so that the texture that outlive the TextureManager can handle the situation gracefully.
3466 Unit test in TextureManagerTest.cpp
3468 * platform/graphics/chromium/ManagedTexture.cpp:
3469 (WebCore::ManagedTexture::ManagedTexture):
3470 (WebCore::ManagedTexture::~ManagedTexture):
3472 (WebCore::ManagedTexture::managerWillDie):
3473 (WebCore::ManagedTexture::isValid):
3474 (WebCore::ManagedTexture::reserve):
3475 (WebCore::ManagedTexture::unreserve):
3476 (WebCore::ManagedTexture::steal):
3477 (WebCore::ManagedTexture::reset):
3478 * platform/graphics/chromium/ManagedTexture.h:
3479 (WebCore::ManagedTexture::manager):
3481 (WebCore::ManagedTexture::isReserved):
3482 * platform/graphics/chromium/TextureManager.cpp:
3483 (WebCore::TextureManager::~TextureManager):
3485 (WebCore::TextureManager::setPreferredMemoryLimitBytes):
3486 (WebCore::TextureManager::registerTexture):
3487 (WebCore::TextureManager::unregisterTexture):
3488 * platform/graphics/chromium/TextureManager.h:
3492 2012-02-06 Anders Carlsson <andersca@apple.com>
3494 Wheel event handler count not updated when adding handlers to the window
3495 https://bugs.webkit.org/show_bug.cgi?id=77895
3497 Reviewed by Dan Bernstein.
3499 Test: fast/events/wheelevent-handler-count.html
3501 * page/DOMWindow.cpp:
3502 (WebCore::DOMWindow::addEventListener):
3503 (WebCore::DOMWindow::removeEventListener):
3504 Update the wheel event count.
3506 * testing/Internals.cpp:
3507 (WebCore::Internals::wheelEventHandlerCount):
3508 * testing/Internals.h:
3509 * testing/Internals.idl:
3510 Add wheelEventHandlerCount to window.internals.
3512 2012-02-06 Matthew Delaney <mdelaney@apple.com>
3514 toDataURL() uses stale data after putImageData()
3515 https://bugs.webkit.org/show_bug.cgi?id=65767
3517 This patch fixes the issue we've encountered of getting back
3518 stale copies of the CGContext of accelerated ImageBuffers who have seen
3519 putImageData calls but have not been drawn into via the CG API.
3520 This issue is fixed by modifying the way we implement putImageData
3521 in ImageBufferCG to draw the bits wrapped in a CGImage while the CGContext
3522 is in a state where the data will effectively be copied (as is needed for
3523 implementing putImageData) instead of directly modifying the bits of the IOSurface.
3525 Reviewed by Chris Marrin.
3527 Test: fast/canvas/check-stale-putImageData, pixel test to check that the canvas is in fact painted.
3529 * platform/graphics/cg/ImageBufferCG.cpp: Implement new way of putting image data.
3530 * platform/graphics/ImageBuffer.h: Merged two previously separate put data calls
3531 into a single and more sensibly named 'putByteArray', since that's what it does!
3533 * WebCore.exp.in: Added new WKSI call for use in ImageBufferCG.cpp
3534 * platform/mac/WebCoreSystemInterface.h:
3535 * platform/mac/WebCoreSystemInterface.mm:
3537 Using new method name.
3538 * html/canvas/CanvasRenderingContext2D.cpp:
3539 * platform/graphics/ImageBuffer.cpp:
3540 * platform/graphics/ShadowBlur.cpp:
3541 * platform/graphics/filters/FEColorMatrix.cpp:
3542 * platform/graphics/filters/FEDropShadow.cpp:
3543 * platform/graphics/filters/FilterEffect.cpp:
3545 Updated other ports' ImageBuffers to use new method.
3546 * platform/graphics/cairo/ImageBufferCairo.cpp:
3547 * platform/graphics/qt/ImageBufferQt.cpp:
3548 * platform/graphics/skia/ImageBufferSkia.cpp:
3549 * platform/graphics/wince/ImageBufferWinCE.cpp:
3550 * platform/graphics/wx/ImageBufferWx.cpp:
3552 2012-02-06 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
3554 Provide more attribute methods in Element
3555 https://bugs.webkit.org/show_bug.cgi?id=77800
3557 Reviewed by Ryosuke Niwa.
3559 Reduce the clients of NamedNodeMap. This will make easier to change the
3560 implementation of our attribute storage. The clients now use Element methods
3561 that expose Attribute* accessors.
3563 Instead of checking the existence of NamedNodeMap, clients can call
3564 hasAttributes() or hasAttributesWithoutUpdate() (that skips updating invalid
3565 style or animation svg attributes).
3567 If there are attributes, they can be accessed by index via attributeCount() /
3568 attributeItem(), as well as by QualifiedName. Those accessors assume there are an
3571 * css/SelectorChecker.cpp:
3572 (WebCore::anyAttributeMatches):
3573 (WebCore::SelectorChecker::checkOneSelector):
3574 * css/SelectorChecker.h:
3575 (WebCore::SelectorChecker::checkExactAttribute):
3576 * dom/DatasetDOMStringMap.cpp:
3577 (WebCore::DatasetDOMStringMap::getNames):
3578 (WebCore::DatasetDOMStringMap::item):
3579 (WebCore::DatasetDOMStringMap::contains):
3581 (WebCore::Document::importNode): use setAttributesFromElement() instead of manually copying.
3584 (WebCore::Element::hasAttributesWithoutUpdate):
3586 (WebCore::Element::attributeCount):
3587 (WebCore::Element::attributeItem):
3588 (WebCore::Element::getAttributeItem):
3589 (WebCore::Element::removeAttribute):
3591 (WebCore::Node::isDefaultNamespace):
3592 (WebCore::Node::lookupNamespaceURI):
3593 (WebCore::Node::lookupNamespacePrefix):
3594 (WebCore::Node::compareDocumentPosition):
3595 * editing/ApplyStyleCommand.cpp:
3596 (WebCore::hasNoAttributeOrOnlyStyleAttribute):
3597 (WebCore::isEmptyFontTag):
3598 * editing/EditingStyle.cpp:
3599 (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
3600 * editing/InsertParagraphSeparatorCommand.cpp:
3601 (WebCore::highestVisuallyEquivalentDivBelowRoot):
3602 * editing/MarkupAccumulator.cpp:
3603 (WebCore::MarkupAccumulator::appendElement):
3604 * editing/markup.cpp:
3605 (WebCore::completeURLs):
3606 (WebCore::StyledMarkupAccumulator::appendElement):
3607 * html/HTMLEmbedElement.cpp:
3608 (WebCore::HTMLEmbedElement::parametersForPlugin):
3609 * html/HTMLInputElement.cpp:
3610 (WebCore::HTMLInputElement::updateType):
3611 * html/HTMLObjectElement.cpp:
3612 (WebCore::HTMLObjectElement::parametersForPlugin):
3613 * html/HTMLParamElement.cpp:
3614 (WebCore::HTMLParamElement::isURLAttribute):
3615 * html/parser/HTMLFormattingElementList.cpp:
3616 (WebCore::attributeCountWithoutUpdate):
3617 (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
3618 (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition): Store Attribute*
3619 to avoid looking up the right element again by name.
3620 * inspector/DOMEditor.cpp:
3621 (WebCore::DOMEditor::innerPatchNode):
3622 (WebCore::DOMEditor::createDigest):
3623 * inspector/InspectorDOMAgent.cpp:
3624 (WebCore::InspectorDOMAgent::setAttributesAsText):
3625 (WebCore::InspectorDOMAgent::performSearch):
3626 (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
3627 * page/PageSerializer.cpp:
3628 (WebCore::isCharsetSpecifyingNode):
3629 * svg/SVGStyledElement.cpp:
3630 (WebCore::SVGStyledElement::getPresentationAttribute):
3631 * xml/XPathFunctions.cpp:
3632 (WebCore::XPath::FunLang::evaluate):
3633 * xml/XPathNodeSet.cpp:
3634 (WebCore::XPath::NodeSet::traversalSort):
3635 * xml/XPathStep.cpp:
3636 (WebCore::XPath::Step::nodesInAxis):
3637 * xml/parser/XMLDocumentParserLibxml2.cpp:
3638 (WebCore::XMLDocumentParser::XMLDocumentParser):
3639 * xml/parser/XMLTreeBuilder.cpp:
3640 (WebCore::XMLTreeBuilder::XMLTreeBuilder):
3642 2012-02-06 Joshua Bell <jsbell@chromium.org>
3644 IndexedDB: Raise exception during add/put call if autoIncrement key insertion will fail
3645 https://bugs.webkit.org/show_bug.cgi?id=77374
3647 If a put request will use a key generator, try inserting a dummy key during the sync
3648 put() call to check if the key insertion will succeed so an exception can be raised
3649 early, rather than deferring to the asynchronous task.
3651 Reviewed by Tony Chang.
3653 Test: storage/indexeddb/keypath-edges.html
3655 * storage/IDBObjectStoreBackendImpl.cpp:
3656 (WebCore::IDBObjectStoreBackendImpl::put):
3658 2012-02-06 Gustavo Noronha Silva <gns@gnome.org>
3660 Add a null check for the gdkwindow, that will happen if the window
3663 Reviewed by Martin Robinson.
3665 * platform/gtk/GtkUtilities.cpp:
3666 (WebCore::convertWidgetPointToScreenPoint):
3668 2012-02-06 Eugene Girard <girard@chromium.org>
3670 IndexedDB createObjectStore should throw if options arg is invalid
3671 Added logic to OptionsObject to determine if an invalid object was created.
3672 Javascript bindings now detect invalid OptionsObject's and throw TypeError when found.
3673 https://bugs.webkit.org/show_bug.cgi?id=58471
3675 Reviewed by Adam Barth.
3677 Test: storage/indexeddb/createObjectStore-bad-options.html
3679 * bindings/scripts/CodeGeneratorV8.pm:
3680 (GenerateParametersCheck):
3681 * bindings/v8/OptionsObject.cpp:
3682 (WebCore::OptionsObject::isObject):
3683 * bindings/v8/OptionsObject.h:
3685 2012-02-06 Sheriff Bot <webkit.review.bot@gmail.com>
3687 Unreviewed, rolling out r106797 and r106806.
3688 http://trac.webkit.org/changeset/106797
3689 http://trac.webkit.org/changeset/106806
3690 https://bugs.webkit.org/show_bug.cgi?id=77888
3692 The change is still causing some crashes in webaudio/ on the
3693 Chromium bots (Requested by jchaffraix on #webkit).
3695 * Modules/intents/IntentRequest.cpp:
3696 (WebCore::IntentRequest::create):
3697 * bindings/generic/ActiveDOMCallback.cpp:
3698 (WebCore::ActiveDOMCallback::ActiveDOMCallback):
3699 * dom/ActiveDOMObject.cpp:
3700 (WebCore::ActiveDOMObject::ActiveDOMObject):
3701 (WebCore::ActiveDOMObject::~ActiveDOMObject):
3702 * dom/ActiveDOMObject.h:
3704 * dom/DocumentEventQueue.cpp:
3705 (WebCore::DocumentEventQueue::DocumentEventQueue):
3706 * dom/ScriptExecutionContext.cpp:
3707 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
3708 (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3709 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
3710 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
3711 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
3712 (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
3713 * dom/ScriptExecutionContext.h:
3714 (ScriptExecutionContext):
3715 * fileapi/DOMFileSystem.cpp:
3716 (WebCore::DOMFileSystem::create):
3717 * fileapi/FileReader.cpp:
3719 * fileapi/FileReader.h:
3720 (WebCore::FileReader::create):
3721 * fileapi/FileWriter.cpp:
3723 * fileapi/FileWriter.h:
3724 (WebCore::FileWriter::create):
3725 * history/CachedFrame.cpp:
3726 (WebCore::CachedFrame::CachedFrame):
3727 * html/HTMLAudioElement.cpp:
3728 (WebCore::HTMLAudioElement::create):
3729 (WebCore::HTMLAudioElement::createForJSConstructor):
3730 * html/HTMLMarqueeElement.cpp:
3731 (WebCore::HTMLMarqueeElement::create):
3732 * html/HTMLVideoElement.cpp:
3733 (WebCore::HTMLVideoElement::create):
3734 * mediastream/PeerConnection.cpp:
3735 (WebCore::PeerConnection::create):
3736 * notifications/Notification.cpp:
3737 (WebCore::Notification::create):
3738 * notifications/NotificationCenter.cpp:
3739 * notifications/NotificationCenter.h:
3740 (WebCore::NotificationCenter::create):
3741 * page/DOMTimer.cpp:
3742 (WebCore::DOMTimer::install):
3743 (WebCore::DOMTimer::fired):
3744 * page/EventSource.cpp:
3745 (WebCore::EventSource::create):
3746 * page/SuspendableTimer.cpp:
3747 (WebCore::SuspendableTimer::SuspendableTimer):
3748 * storage/IDBDatabase.cpp:
3749 (WebCore::IDBDatabase::create):
3750 * storage/IDBRequest.cpp:
3751 (WebCore::IDBRequest::create):
3752 * storage/IDBTransaction.cpp:
3753 (WebCore::IDBTransaction::create):
3754 * storage/IDBVersionChangeRequest.cpp:
3755 (WebCore::IDBVersionChangeRequest::create):
3756 * webaudio/AudioContext.cpp:
3757 (WebCore::AudioContext::create):
3758 * websockets/WebSocket.cpp:
3759 * websockets/WebSocket.h:
3760 (WebCore::WebSocket::create):
3761 * workers/SharedWorker.cpp:
3762 (WebCore::SharedWorker::create):
3763 * workers/Worker.cpp:
3764 (WebCore::Worker::create):
3765 * xml/XMLHttpRequest.cpp:
3766 (WebCore::XMLHttpRequest::create):
3768 2012-02-06 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
3770 Move style related functions from NamedNodeMap to ElementAttributeData
3771 https://bugs.webkit.org/show_bug.cgi?id=77879
3773 Reviewed by Ryosuke Niwa.
3775 This commit also removes the NamedNodeMap::mappedAttributeCount(),
3776 which is a leftover from removal of mapped attributes.
3778 * dom/ElementAttributeData.cpp:
3779 (WebCore::ElementAttributeData::ensureInlineStyleDecl):
3781 (WebCore::ElementAttributeData::destroyInlineStyleDecl):
3782 (WebCore::ElementAttributeData::ensureAttributeStyle):
3783 * dom/ElementAttributeData.h:
3784 (WebCore::ElementAttributeData::inlineStyleDecl):
3785 (ElementAttributeData):
3786 (WebCore::ElementAttributeData::attributeStyle):
3787 * dom/NamedNodeMap.cpp:
3788 * dom/NamedNodeMap.h:
3789 * dom/StyledElement.h:
3791 (WebCore::StyledElement::inlineStyleDecl):
3792 (WebCore::StyledElement::ensureInlineStyleDecl):
3793 (WebCore::StyledElement::attributeStyle):
3794 (WebCore::StyledElement::ensureAttributeStyle):
3795 (WebCore::StyledElement::destroyInlineStyleDecl):
3797 2012-02-06 Abhishek Arya <inferno@chromium.org>
3799 Crash in SubframeLoader::loadSubframe.
3800 https://bugs.webkit.org/show_bug.cgi?id=77345
3802 Reviewed by Nate Chapin.
3804 Mutation event when loading subframe can blow away the
3805 main frame. Add a RefPtr to protect against that.
3807 Test: fast/frames/subframe-load-crash-main.html
3809 * loader/SubframeLoader.cpp:
3810 (WebCore::SubframeLoader::loadSubframe):
3812 2012-02-06 ChangSeok Oh <shivamidow@gmail.com>
3814 Initial implementation of GraphicsContext3DOpenGLES.cpp
3815 https://bugs.webkit.org/show_bug.cgi?id=76248
3817 Reviewed by Martin Robinson.
3819 Implemented APIs in GraphicsContext3DOpenGLES.cpp according to the GLES spec. roughly.
3820 But no way to run these codes right now, because they need an extra port
3821 specific implementation to work. I plan to add these extra codes for the GTK port
3822 in the next patch. And also this patch doesn't support anti-aliasing yet. Another bug
3824 Moved some APIs in GraphicsContext3DOpenGLES.cpp to GraphicsContext3DCommon.cpp.
3825 It looks it could be shared between gl and gles.
3826 Two helper functions are added to avoid code duplication in GraphicsContext3D.
3827 Added a missing period at the end of comment lines.
3829 No new tests required.
3830 We'll be able to verify this patch by using the existing webgl test cases.
3832 * platform/graphics/GraphicsContext3D.h: Add build flag to access stencilBuffer & depthBuffer for gles.
3834 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3835 (WebCore::GraphicsContext3D::reshapeFBOs): Helper function extracted from GC3D::reshape to resize regular & multisampled FBOs.
3836 (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Helper function to resolve multisampling.
3837 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3838 (WebCore::GraphicsContext3D::validateAttributes): Add condition to disable antialiasing & packedDepthStencilExtension for GLES.
3839 (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
3840 (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
3842 Following APIs looked shareable so that moved into GC3DOpenGLCommon.cpp.
3843 (WebCore::GraphicsContext3D::prepareTexture):
3845 (WebCore::GraphicsContext3D::readRenderingResults):
3846 (WebCore::GraphicsContext3D::reshape):
3847 (WebCore::GraphicsContext3D::bindFramebuffer):
3848 (WebCore::GraphicsContext3D::copyTexImage2D):
3849 (WebCore::GraphicsContext3D::copyTexSubImage2D):
3850 (WebCore::GraphicsContext3D::getActiveUniform):
3851 (WebCore::GraphicsContext3D::readPixels):
3853 Added a missing period at the end of comment line.
3854 (WebCore::GraphicsContext3D::compileShader):
3855 (WebCore::GraphicsContext3D::getActiveAttrib):
3856 (WebCore::GraphicsContext3D::uniform2fv):
3857 (WebCore::GraphicsContext3D::uniform3fv):
3858 (WebCore::GraphicsContext3D::uniform4fv):
3859 (WebCore::GraphicsContext3D::uniform2iv):
3860 (WebCore::GraphicsContext3D::uniform3iv):
3861 (WebCore::GraphicsContext3D::uniform4iv):
3862 (WebCore::GraphicsContext3D::uniformMatrix2fv):
3863 (WebCore::GraphicsContext3D::uniformMatrix3fv):
3864 (WebCore::GraphicsContext3D::uniformMatrix4fv):
3865 (WebCore::GraphicsContext3D::texSubImage2D):
3867 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
3868 (WebCore::GraphicsContext3D::reshapeFBOs): Same with the above.
3869 (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Same with the above.
3871 Brief explanation about what the differences are between gl and gles.
3872 (WebCore::GraphicsContext3D::renderbufferStorage): Removed codes for converting GLES parameter to GL parameter.
3873 (WebCore::GraphicsContext3D::getIntegerv): Removed codes that emulate GLES.
3874 (WebCore::GraphicsContext3D::texImage2D): Removed codes for converting GLES parameter to GL parameter.
3876 2012-02-06 Alexander Pavlov <apavlov@chromium.org>
3878 Web Inspector: [Meta] Allow emulation of touch events
3879 https://bugs.webkit.org/show_bug.cgi?id=77096
3881 Reviewed by Pavel Feldman.
3883 This is the inspector part of the change, core part implementation tracked in bug 77105.
3885 * English.lproj/localizedStrings.js:
3886 * inspector/Inspector.json:
3887 * inspector/InspectorDOMAgent.cpp:
3889 (WebCore::InspectorDOMAgent::clearFrontend):
3890 (WebCore::InspectorDOMAgent::restore):
3892 (WebCore::InspectorDOMAgent::updateTouchEventEmulationInDocuments):
3893 (WebCore::InspectorDOMAgent::setTouchEmulationEnabled):
3894 * inspector/InspectorDOMAgent.h:
3895 (InspectorDOMAgent):
3896 * inspector/front-end/DOMAgent.js:
3897 (WebInspector.DOMAgent.prototype._captureDOM):
3898 (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
3899 * inspector/front-end/Settings.js:
3900 (WebInspector.Settings):
3901 * inspector/front-end/SettingsScreen.js:
3902 (WebInspector.SettingsScreen):
3904 2012-02-06 Chris Guan <chris.guan@torchmobile.com.cn>
3906 [Blackberry] Non-supported about: operations never stops loading
3907 https://bugs.webkit.org/show_bug.cgi?id=76366
3909 Reviewed by Rob Buis.
3911 If user typed a non-supported "about:" scheme such as "about:nonsupport",
3912 the loadAboutURL() function in NetworkManger should recognize and handle it as
3913 an error of invalid url.
3915 * platform/network/blackberry/NetworkJob.cpp:
3916 (WebCore::NetworkJob::loadAboutURL):
3917 (WebCore::NetworkJob::handleAbout):
3918 * platform/network/blackberry/NetworkJob.h:
3920 * platform/network/blackberry/NetworkManager.cpp:
3921 (WebCore::NetworkManager::startJob):
3923 2012-02-06 Alexander Pavlov <apavlov@chromium.org>
3925 Web Inspector: Remove unused disabledComputedProperties from methods in StylesSidebarPane
3926 https://bugs.webkit.org/show_bug.cgi?id=77876
3928 Reviewed by Pavel Feldman.
3930 * inspector/front-end/StylesSidebarPane.js:
3931 (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
3932 (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
3933 (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
3934 (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
3935 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
3936 (WebInspector.StylePropertiesSection.prototype.onpopulate):
3937 (WebInspector.ComputedStylePropertiesSection):
3938 (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
3940 2012-02-06 Alexei Filippov <alexeif@chromium.org>
3942 Web Inspector: Redesign summary view / retaining tree contents
3943 https://bugs.webkit.org/show_bug.cgi?id=77870
3945 Reviewed by Pavel Feldman.
3947 1. Make object IDs less contrast.
3948 2. Put array indices in [].
3949 3. Do not write type if it's just "Object".
3951 * inspector/front-end/DetailedHeapshotGridNodes.js:
3952 (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
3953 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
3954 (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
3955 (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
3956 (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
3957 (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
3958 * inspector/front-end/heapProfiler.css:
3959 (.detailed-heapshot-view .console-formatted-id):
3960 (.detailed-heapshot-view td.object-column span.grayed):
3962 2012-02-06 No'am Rosenthal <noam.rosenthal@nokia.com>
3964 [Texmap][Qt] Avoid an image copy when uploading textures in WebKit1
3965 https://bugs.webkit.org/show_bug.cgi?id=77748
3967 Reviewed by Kenneth Rohde Christiansen.
3969 Use QPixmap::buffer() API to get access to the QPixmap's pixels without implicit copies.
3971 Instrumentation shows that the deep image copies created from TextureMapperGL are
3974 * platform/graphics/opengl/TextureMapperGL.cpp:
3975 (WebCore::BitmapTextureGL::updateContents):
3977 2012-02-06 Allan Sandfeld Jensen <allan.jensen@nokia.com>
3979 LayoutTest failures on r106797
3980 https://bugs.webkit.org/show_bug.cgi?id=77868
3982 Call suspendIfNeeded from subclass of IDBRequest, IDBVersionChangeRequest.
3984 Reviewed by Simon Hausmann.
3986 * storage/IDBVersionChangeRequest.cpp:
3987 (WebCore::IDBVersionChangeRequest::create):
3989 2012-02-06 No'am Rosenthal <noam.rosenthal@nokia.com>
3991 [Qt] Implement ImageBuffer::copyImage(ImageBuffer::DontCopyBackingStore)
3992 https://bugs.webkit.org/show_bug.cgi?id=77689
3994 Reviewed by Kenneth Rohde Christiansen.
3996 Use StillImageQt::createForRendering when using DontCopyBackingStore.
3997 Enable DontCopyBackingStore in TextureMapperNode.
3998 This removes deep copies resulting from the use of ImageBuffer.
4000 Instrumentation shows that deep image copies resulted from ImageBuffer are eliminated.
4002 * platform/graphics/qt/ImageBufferQt.cpp:
4003 (WebCore::ImageBuffer::copyImage):
4004 * platform/graphics/texmap/TextureMapperNode.cpp:
4005 (WebCore::TextureMapperNode::renderContent):
4007 2012-02-06 Allan Sandfeld Jensen <allan.jensen@nokia.com>
4009 WebGestureEvent can not encode delta and area.
4010 https://bugs.webkit.org/show_bug.cgi?id=77728
4012 Add area field to PlatformGestureEvent.
4014 Reviewed by Kenneth Rohde Christiansen.
4016 * platform/PlatformGestureEvent.h:
4017 (WebCore::PlatformGestureEvent::PlatformGestureEvent):
4018 (WebCore::PlatformGestureEvent::area):
4020 2012-02-06 Charles Wei <charles.wei@torchmobile.com.cn>
4022 [BlackBerry]Use extension for a mimetype as the suggested extension
4023 if the url file doesn't have an extension.
4024 https://bugs.webkit.org/show_bug.cgi?id=76779
4026 Reviewed by Antonio Gomes.
4030 * platform/network/blackberry/NetworkJob.cpp:
4031 (WebCore::NetworkJob::sendResponseIfNeeded):
4033 2012-02-06 Kentaro Hara <haraken@chromium.org>
4035 Rename [HasIndexGetter], [HasNameGetter] and [HasCustomIndexSetter] IDLs
4036 https://bugs.webkit.org/show_bug.cgi?id=77848
4038 Reviewed by Adam Barth.
4040 For naming consistency with [CustomGetter] and [CustomSetter],
4041 this patch renames the following IDLs:
4043 [HasIndexGetter] => [IndexedGetter] (Remove "Has". This IDL is for "indexed" properties
4044 in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-indexed-properties)
4045 [HasCustomIndexSetter] => [CustomIndexedSetter] (Ditto.)
4046 [HasNameGetter] => [NamedGetter] (Remove "Has". This IDL is for "named" properties
4047 in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-named-properties)
4049 No tests. No change in behavior.
4051 * bindings/scripts/CodeGeneratorJS.pm:
4052 (GenerateGetOwnPropertySlotBody):
4053 (GenerateGetOwnPropertyDescriptorBody):
4055 (GenerateImplementation):
4056 * bindings/scripts/CodeGeneratorV8.pm:
4057 (GenerateHeaderNamedAndIndexedPropertyAccessors):
4058 (GenerateImplementationIndexer):
4059 (GenerateImplementationNamedPropertyGetter):
4061 * bindings/scripts/test/TestEventTarget.idl: No change in run-bindings-tests results.
4062 * bindings/scripts/test/TestTypedArray.idl: Ditto.
4064 * Modules/gamepad/GamepadList.idl:
4065 * css/CSSRuleList.idl:
4066 * css/CSSStyleDeclaration.idl:
4067 * css/CSSValueList.idl:
4068 * css/MediaList.idl:
4069 * css/StyleSheetList.idl:
4070 * css/WebKitCSSFilterValue.idl:
4071 * css/WebKitCSSKeyframesRule.idl:
4072 * css/WebKitCSSTransformValue.idl:
4073 * dom/ClientRectList.idl:
4074 * dom/DOMStringList.idl:
4075 * dom/DOMStringMap.idl:
4076 * dom/DataTransferItemList.idl:
4077 * dom/NamedNodeMap.idl:
4079 * dom/TouchList.idl:
4080 * fileapi/EntryArray.idl:
4081 * fileapi/EntryArraySync.idl:
4082 * fileapi/FileList.idl:
4083 * html/DOMSettableTokenList.idl:
4084 * html/DOMTokenList.idl:
4085 * html/HTMLAllCollection.idl:
4086 * html/HTMLCollection.idl:
4087 * html/HTMLFormElement.idl:
4088 * html/HTMLOptionsCollection.idl:
4089 * html/HTMLPropertiesCollection.idl:
4090 * html/HTMLSelectElement.idl:
4091 * html/TextTrackCueList.idl:
4092 * html/canvas/CanvasPixelArray.idl:
4093 * html/canvas/Float32Array.idl:
4094 * html/canvas/Float64Array.idl:
4095 * html/canvas/Int16Array.idl:
4096 * html/canvas/Int32Array.idl:
4097 * html/canvas/Int8Array.idl:
4098 * html/canvas/Uint16Array.idl:
4099 * html/canvas/Uint32Array.idl:
4100 * html/canvas/Uint8Array.idl:
4101 * html/canvas/Uint8ClampedArray.idl:
4102 * html/track/TextTrackList.idl:
4103 * mediastream/MediaStreamList.idl:
4104 * mediastream/MediaStreamTrackList.idl:
4105 * page/SpeechInputResultList.idl:
4106 * page/WebKitAnimationList.idl:
4107 * plugins/DOMMimeTypeArray.idl:
4108 * plugins/DOMPlugin.idl:
4109 * plugins/DOMPluginArray.idl: