Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Issue 397733004: Allow assertions to be enabled in Blink Release builds. (Closed)

Created:
6 years, 5 months ago by Ken Russell (switch to Gerrit)
Modified:
6 years, 5 months ago
CC:
blink-reviews, shans, jamesr, tzik, webcomponents-bugzilla_chromium.org, eae+blinkwatch, fs, jsbell+idb_chromium.org, yurys+blink_chromium.org, apavlov+blink_chromium.org, ericu+idb_chromium.org, leviw+bidiwatch_chromium.org, loislo+blink_chromium.org, blink-reviews-wtf_chromium.org, Steve Block, rune+blink, blink-layers+watch_chromium.org, caseq+blink_chromium.org, aandrey+blink_chromium.org, arv+blink, aboxhall, blink-reviews-dom_chromium.org, malch+blink_chromium.org, blink-reviews-css, blink-reviews-html_chromium.org, alecflett, Timothy Loh, abarth-chromium, danakj, dstockwell, dglazkov+blink, blink-reviews-events_chromium.org, blink-reviews-bindings_chromium.org, gavinp+loader_chromium.org, jchaffraix+rendering, devtools-reviews_chromium.org, pdr., rwlbuis, Raymond Toy, Eric Willigers, jfernandez, rjwright, Mads Ager (chromium), zoltan1, Manuel Rego, sof, jbroman, nhiroki, pfeldman+blink_chromium.org, eustas+blink_chromium.org, dmazzoni, lushnikov+blink_chromium.org, darktears, haraken, krit, Nate Chapin, Stephen Chennney, blink-reviews-rendering, Rik, blink-reviews-animation_chromium.org, kouhei+svg_chromium.org, leviw+renderwatch, vsevik+blink_chromium.org, Mike Lawther (Google), ed+blinkwatch_opera.com, paulirish+reviews_chromium.org, f(malita), groby+blinkspell_chromium.org, cmumford, svillar, dgrogan, sergeyv+blink_chromium.org, Mikhail, kouhei+heap_chromium.org, kinuko+fileapi, gyuyoung.kim_webkit.org, bajones, Zhenyao Mo
Project:
blink
Visibility:
Public.

Description

Allow assertions to be enabled in Blink Release builds. The new GYP/GN variable blink_asserts_always_on (mirroring Chromium's dcheck_always_on) can be set to 1 to enable assertions in Release builds. Tests of NDEBUG related to assertions have been changed to test ENABLE(ASSERT). Printing/debugging-only code is still guarded under NDEBUG. Debug-only fields and counters remain debug-only. Once this CL lands, Blink's assertions will be enabled on the GPU bots, which only test Release builds (with dcheck_always_on). Tested: - WebGL conformance tests, Release build, asserts on - Release build, asserts on, inserted ASSERT(FALSE) guarded under ENABLE(ASSERT), verified it was triggered - Release build, asserts on, inserted ASSERT(FALSE) guarded under ENABLE(SECURITY_ASSERT), verified it was triggered - WebGL conformance/context tests, Release build, asserts on, with https://codereview.chromium.org/251373005, verified assertion failure was triggered - WebGL conformance/context tests, Debug build, default assertion behavior, with https://codereview.chromium.org/251373005, verified assertion failure was triggered - wtf_unittests, Release build, asserts on BUG=393838 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=178404

Patch Set 1 #

Patch Set 2 : Fixed config.gni. Minor cleanups. #

Total comments: 10

Patch Set 3 : Rebased after ENABLE(ASSERT) renaming. #

Total comments: 2

Patch Set 4 : Rebased. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+386 lines, -391 lines) Patch
M Source/bindings/core/v8/DOMWrapperWorld.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/core/v8/SerializedScriptValue.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/core/v8/V8PerIsolateData.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/bindings/core/v8/V8PerIsolateData.cpp View 3 chunks +4 lines, -4 lines 0 comments Download
M Source/bindings/core/v8/V8RecursionScope.h View 1 2 2 chunks +5 lines, -5 lines 0 comments Download
M Source/bindings/core/v8/V8StringResource.h View 5 chunks +5 lines, -5 lines 0 comments Download
M Source/bindings/core/v8/custom/V8BlobCustomHelpers.h View 1 chunk +2 lines, -2 lines 0 comments Download
M Source/bindings/core/v8/custom/V8BlobCustomHelpers.cpp View 2 chunks +4 lines, -4 lines 0 comments Download
M Source/bindings/core/v8/custom/V8CSSStyleDeclarationCustom.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/core/v8/npruntime.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/modules/v8/IDBBindingUtilities.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/modules/v8/IDBBindingUtilities.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/build/features.gypi View 2 chunks +7 lines, -1 line 0 comments Download
M Source/config.gni View 1 2 chunks +5 lines, -0 lines 0 comments Download
M Source/core/accessibility/AXNodeObject.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/accessibility/AXNodeObject.cpp View 3 chunks +3 lines, -3 lines 0 comments Download
M Source/core/accessibility/AXObjectCache.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/accessibility/AXRenderObject.cpp View 1 2 3 chunks +3 lines, -3 lines 0 comments Download
M Source/core/animation/CompositorAnimationsTest.cpp View 1 chunk +1 line, -2 lines 0 comments Download
M Source/core/css/CSSTokenizer-in.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/css/parser/CSSPropertyParser.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/dom/ChildFrameDisconnector.cpp View 2 chunks +3 lines, -3 lines 0 comments Download
M Source/core/dom/ChildListMutationScope.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/dom/ContainerNode.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/dom/ContainerNode.cpp View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/dom/Document.h View 2 chunks +0 lines, -7 lines 0 comments Download
M Source/core/dom/Document.cpp View 1 2 2 chunks +0 lines, -6 lines 0 comments Download
M Source/core/dom/Element.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/dom/Element.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/dom/NoEventDispatchAssertion.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/dom/Node.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/dom/Node.cpp View 1 2 3 chunks +3 lines, -3 lines 0 comments Download
M Source/core/dom/TreeScopeAdopter.h View 1 chunk +3 lines, -3 lines 0 comments Download
M Source/core/dom/TreeScopeAdopter.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/dom/shadow/ComposedTreeWalker.h View 3 chunks +3 lines, -3 lines 0 comments Download
M Source/core/editing/EditCommand.h View 1 chunk +0 lines, -4 lines 0 comments Download
M Source/core/editing/TextIterator.cpp View 1 2 4 chunks +4 lines, -4 lines 0 comments Download
M Source/core/editing/VisiblePosition.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/events/EventDispatcher.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/events/EventDispatcher.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/events/EventListenerMap.h View 3 chunks +3 lines, -3 lines 0 comments Download
M Source/core/events/EventListenerMap.cpp View 5 chunks +5 lines, -5 lines 0 comments Download
M Source/core/events/EventPath.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/events/EventPath.cpp View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/events/EventSender.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/events/TreeScopeEventContext.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/fetch/FontResource.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/fileapi/File.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/frame/FrameView.cpp View 1 2 3 chunks +3 lines, -3 lines 0 comments Download
M Source/core/html/parser/BackgroundHTMLInputStream.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/html/parser/BackgroundHTMLParser.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/html/parser/HTMLToken.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/html/parser/HTMLTreeBuilder.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/html/parser/HTMLTreeBuilder.cpp View 3 chunks +3 lines, -3 lines 0 comments Download
M Source/core/inspector/InspectorTimelineAgent.cpp View 4 chunks +4 lines, -4 lines 0 comments Download
M Source/core/page/Page.h View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/page/Page.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/FastTextAutosizer.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/rendering/FastTextAutosizer.cpp View 8 chunks +8 lines, -8 lines 0 comments Download
M Source/core/rendering/FloatingObjects.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/rendering/FloatingObjects.cpp View 4 chunks +4 lines, -4 lines 0 comments Download
M Source/core/rendering/InlineBox.h View 4 chunks +6 lines, -6 lines 0 comments Download
M Source/core/rendering/InlineBox.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/rendering/InlineFlowBox.h View 5 chunks +7 lines, -5 lines 0 comments Download
M Source/core/rendering/InlineFlowBox.cpp View 3 chunks +6 lines, -3 lines 0 comments Download
M Source/core/rendering/RenderBlock.h View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M Source/core/rendering/RenderBlock.cpp View 1 2 3 chunks +6 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderBox.cpp View 1 2 3 3 chunks +3 lines, -3 lines 0 comments Download
M Source/core/rendering/RenderGrid.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/RenderGrid.cpp View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderLineBoxList.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderLineBoxList.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderMultiColumnSet.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderObject.h View 1 2 6 chunks +7 lines, -5 lines 0 comments Download
M Source/core/rendering/RenderObject.cpp View 1 2 5 chunks +5 lines, -5 lines 0 comments Download
M Source/core/rendering/RenderTableCell.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/RenderTableSection.cpp View 7 chunks +7 lines, -7 lines 0 comments Download
M Source/core/rendering/RenderText.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderText.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/rendering/RenderView.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/RenderView.cpp View 1 2 2 chunks +3 lines, -3 lines 0 comments Download
M Source/core/rendering/SubtreeLayoutScope.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/SubtreeLayoutScope.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/rendering/TextAutosizer.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/compositing/CompositedLayerMapping.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/compositing/CompositedLayerMapping.cpp View 1 2 4 chunks +4 lines, -4 lines 0 comments Download
M Source/core/rendering/compositing/CompositingRequirementsUpdater.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/svg/RenderSVGText.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/rendering/svg/SVGRenderingContext.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGElement.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGElement.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGScriptElement.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/SVGScriptElement.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/animation/SMILTimeContainer.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/svg/animation/SMILTimeContainer.cpp View 9 chunks +9 lines, -9 lines 0 comments Download
M Source/core/xml/XPathNodeSet.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/modules/filesystem/FileWriterSync.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/modules/filesystem/FileWriterSync.cpp View 4 chunks +5 lines, -5 lines 0 comments Download
M Source/modules/indexeddb/IDBCursor.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/modules/indexeddb/IDBKeyPath.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/modules/indexeddb/IDBRequest.cpp View 1 2 2 chunks +2 lines, -4 lines 0 comments Download
M Source/modules/webdatabase/DatabaseSync.h View 1 chunk +0 lines, -5 lines 0 comments Download
M Source/modules/webdatabase/DatabaseTask.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/modules/webdatabase/DatabaseThread.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/modules/webdatabase/SQLTransactionStateMachine.h View 3 chunks +4 lines, -4 lines 0 comments Download
M Source/modules/webdatabase/sqlite/SQLiteStatement.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/modules/webdatabase/sqlite/SQLiteStatement.cpp View 3 chunks +3 lines, -3 lines 0 comments Download
M Source/platform/LayoutUnit.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/TaskSynchronizer.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/platform/TaskSynchronizer.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/Timer.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/Timer.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/platform/fonts/GlyphPageTreeNode.h View 2 chunks +4 lines, -3 lines 0 comments Download
M Source/platform/fonts/GlyphPageTreeNode.cpp View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M Source/platform/graphics/GraphicsLayer.cpp View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M Source/platform/graphics/GraphicsLayerClient.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/graphics/ImageDecodingStore.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/heap/Handle.h View 1 2 4 chunks +4 lines, -4 lines 0 comments Download
M Source/platform/heap/Heap.h View 1 2 17 chunks +17 lines, -17 lines 0 comments Download
M Source/platform/heap/Heap.cpp View 1 2 15 chunks +15 lines, -15 lines 0 comments Download
M Source/platform/heap/HeapTest.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/heap/ThreadState.cpp View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M Source/platform/heap/Visitor.h View 1 2 7 chunks +7 lines, -7 lines 0 comments Download
M Source/platform/heap/Visitor.cpp View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/text/BidiResolver.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/platform/weborigin/KURL.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/platform/weborigin/KnownPorts.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/web/WebScopedMicrotaskSuppression.cpp View 2 chunks +4 lines, -3 lines 0 comments Download
M Source/wtf/Assertions.h View 1 2 1 chunk +8 lines, -11 lines 0 comments Download
M Source/wtf/DefaultAllocator.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/wtf/ListHashSet.h View 4 chunks +4 lines, -4 lines 0 comments Download
M Source/wtf/PartitionAlloc.h View 9 chunks +9 lines, -9 lines 0 comments Download
M Source/wtf/PartitionAlloc.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/wtf/PartitionAllocTest.cpp View 1 5 chunks +8 lines, -7 lines 0 comments Download
M Source/wtf/RawPtr.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/wtf/RefCounted.h View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M Source/wtf/RefCountedLeakCounter.h View 2 chunks +2 lines, -1 line 0 comments Download
M Source/wtf/RefCountedLeakCounter.cpp View 1 chunk +3 lines, -3 lines 0 comments Download
M Source/wtf/SizeLimits.cpp View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M Source/wtf/TerminatedArrayBuilder.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/wtf/ThreadRestrictionVerifier.h View 1 2 3 chunks +4 lines, -5 lines 0 comments Download
M Source/wtf/WTF.cpp View 1 chunk +0 lines, -4 lines 0 comments Download
M Source/wtf/WeakPtr.h View 2 chunks +3 lines, -3 lines 0 comments Download
M Source/wtf/dtoa/cached-powers.cc View 1 2 3 chunks +2 lines, -4 lines 0 comments Download
M Source/wtf/text/ASCIIFastPath.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/wtf/text/StringImpl.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/wtf/text/StringImpl.cpp View 3 chunks +3 lines, -3 lines 0 comments Download
M public/web/WebScopedMicrotaskSuppression.h View 1 chunk +4 lines, -2 lines 0 comments Download

Messages

Total messages: 16 (0 generated)
Ken Russell (switch to Gerrit)
eseidel, abarth, or jochen: please review everything. ager or haraken: please review Source/platform/heap. pfeldman: please ...
6 years, 5 months ago (2014-07-15 23:25:35 UTC) #1
eseidel
Is there any way we can do this in smaller pieces? :(
6 years, 5 months ago (2014-07-15 23:27:50 UTC) #2
Ken Russell (switch to Gerrit)
On 2014/07/15 23:27:50, eseidel wrote: > Is there any way we can do this in ...
6 years, 5 months ago (2014-07-15 23:38:22 UTC) #3
jsbell
modules/ lgtm https://codereview.chromium.org/397733004/diff/20001/Source/modules/indexeddb/IDBRequest.cpp File Source/modules/indexeddb/IDBRequest.cpp (right): https://codereview.chromium.org/397733004/diff/20001/Source/modules/indexeddb/IDBRequest.cpp#newcode325 Source/modules/indexeddb/IDBRequest.cpp:325: #if ENABLE(ASSERT) Looks like we can remove ...
6 years, 5 months ago (2014-07-16 00:03:16 UTC) #4
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/397733004/diff/20001/Source/modules/indexeddb/IDBRequest.cpp File Source/modules/indexeddb/IDBRequest.cpp (right): https://codereview.chromium.org/397733004/diff/20001/Source/modules/indexeddb/IDBRequest.cpp#newcode325 Source/modules/indexeddb/IDBRequest.cpp:325: #if ENABLE(ASSERT) On 2014/07/16 00:03:16, jsbell wrote: > Looks ...
6 years, 5 months ago (2014-07-16 00:05:46 UTC) #5
Mads Ager (chromium)
platform/heap LGTM
6 years, 5 months ago (2014-07-16 05:28:09 UTC) #6
dshwang
That's cool. non-owner lgtm I've been looking forward of it as I submitted similar CL ...
6 years, 5 months ago (2014-07-16 12:31:20 UTC) #7
eae
LGTM for LayoutUnit.h
6 years, 5 months ago (2014-07-16 12:48:38 UTC) #8
Ken Russell (switch to Gerrit)
After discussion with abarth and eseidel I'm going to put up a separate CL mechanically ...
6 years, 5 months ago (2014-07-16 21:19:07 UTC) #9
Ken Russell (switch to Gerrit)
FYI, the mechanical search-and-replace is being reviewed under https://codereview.chromium.org/394353002 .
6 years, 5 months ago (2014-07-16 22:06:03 UTC) #10
Ken Russell (switch to Gerrit)
This CL has been rebased on top of the mechanical renaming of ASSERT_ENABLED to ENABLE(ASSERT). ...
6 years, 5 months ago (2014-07-17 20:52:43 UTC) #11
abarth-chromium
LGTM https://codereview.chromium.org/397733004/diff/40001/Source/core/rendering/InlineFlowBox.h File Source/core/rendering/InlineFlowBox.h (right): https://codereview.chromium.org/397733004/diff/40001/Source/core/rendering/InlineFlowBox.h#newcode74 Source/core/rendering/InlineFlowBox.h:74: #endif This change looks incorrect. We should be ...
6 years, 5 months ago (2014-07-17 21:02:41 UTC) #12
Ken Russell (switch to Gerrit)
At this point I'm confident in the correctness of these changes and they're strongly desired ...
6 years, 5 months ago (2014-07-17 21:25:24 UTC) #13
Ken Russell (switch to Gerrit)
The CQ bit was checked by kbr@chromium.org
6 years, 5 months ago (2014-07-17 21:27:14 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kbr@chromium.org/397733004/60001
6 years, 5 months ago (2014-07-17 21:27:54 UTC) #15
commit-bot: I haz the power
6 years, 5 months ago (2014-07-17 23:17:31 UTC) #16
Message was sent while issue was closed.
Change committed as 178404

Powered by Google App Engine
This is Rietveld 408576698