|
|
Created:
4 years, 4 months ago by sashab Modified:
4 years, 3 months ago Reviewers:
esprehn CC:
blink-reviews, blink-reviews-css, blink-reviews-style_chromium.org, chromium-reviews, esprehn, glazkov+blink_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@_make_visibility_enum_class_rebase Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionAdd a generated ComputedStyleBase class that ComputedStyle extends
Add a generated ComputedStyleBase class that ComputedStyle extends from,
as well as a generated ComputedStyleBaseConstants file that
ComputedStyleConstants includes. Moved the 'visibility' field to be
generated in ComputedStyleBase and it's type, the EVisibility enum, to
be generated as well.
This patch adds the 'keyword_only' field to CSSProperties.in, which is
used to detect keyword-only properties that can be stored as bitfields,
as well as enough generation code to generate enum bitfields. Other
field types, as well as support for custom storage and methods, will be
added in future patches.
This is the beginning of an effort to move properties across to
ComputedStyleBase and then, eventually, remove ComputedStyle and rename
the base to ComputedStyle.
Design doc:
https://docs.google.com/document/d/1sWf_kCtVSokx8oDJZwTrUk2JNqrgTZDV0Z-jsy6tWxg/edit
BUG=628043
Committed: https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf
Cr-Commit-Position: refs/heads/master@{#420508}
Patch Set 1 #
Total comments: 4
Patch Set 2 : Rebase to use unsigned #Patch Set 3 : Added TODOs for future fixes #Patch Set 4 : Rebase #Patch Set 5 : Rebase #Patch Set 6 : Renamed BaseComputedStyle to ComputedStyleBase #Patch Set 7 : Rebase onto fast path patches #
Total comments: 2
Patch Set 8 : Moved enum back to ComputedStyleBase and removed TODO #Patch Set 9 : Updated ComputedStyle.cpp to use new size check method #Patch Set 10 : Small fix to SameSizeAs check -- used inheritance instead of manual vtable sizing #Patch Set 11 : Fixed typo; ComputedStyleBase instead of BaseComputedStyle #Patch Set 12 : Rebase #Patch Set 13 : Moved RefCounted<> down to ComputedStyle to fix memory leak #Patch Set 14 : Re-ordered inheritance to match initializers #Dependent Patchsets: Messages
Total messages: 90 (69 generated)
Description was changed from ========== done wip wip compiling omfg wip wip done permissions done BUG= ========== to ========== Add a generated BaseComputedStyle class that ComputedStyle extends from Add a generated BaseComputedStyle class that ComputedStyle extends from, as well as a generated BaseComputedStyleConstants file that ComputedStyleConstants includes. Moved the 'visibility' field to be generated in BaseComputedStyle and it's type, the EVisibility enum, to be generated as well. This patch adds the 'keyword_only' field to CSSProperties.in, which is used to detect keyword-only properties that can be stored as bitfields, as well as enough generation code to generate enum bitfields. Other field types, as well as support for custom storage and methods, will be added in future patches. This is the beginning of an effort to move properties across to BaseComputedStyle and then, eventually, remove ComputedStyle and rename the base to ComputedStyle. Design doc: https://docs.google.com/document/d/1sWf_kCtVSokx8oDJZwTrUk2JNqrgTZDV0Z-jsy6tW... BUG=628043 gcli ==========
Description was changed from ========== Add a generated BaseComputedStyle class that ComputedStyle extends from Add a generated BaseComputedStyle class that ComputedStyle extends from, as well as a generated BaseComputedStyleConstants file that ComputedStyleConstants includes. Moved the 'visibility' field to be generated in BaseComputedStyle and it's type, the EVisibility enum, to be generated as well. This patch adds the 'keyword_only' field to CSSProperties.in, which is used to detect keyword-only properties that can be stored as bitfields, as well as enough generation code to generate enum bitfields. Other field types, as well as support for custom storage and methods, will be added in future patches. This is the beginning of an effort to move properties across to BaseComputedStyle and then, eventually, remove ComputedStyle and rename the base to ComputedStyle. Design doc: https://docs.google.com/document/d/1sWf_kCtVSokx8oDJZwTrUk2JNqrgTZDV0Z-jsy6tW... BUG=628043 gcli ========== to ========== Add a generated BaseComputedStyle class that ComputedStyle extends Add a generated BaseComputedStyle class that ComputedStyle extends from, as well as a generated BaseComputedStyleConstants file that ComputedStyleConstants includes. Moved the 'visibility' field to be generated in BaseComputedStyle and it's type, the EVisibility enum, to be generated as well. This patch adds the 'keyword_only' field to CSSProperties.in, which is used to detect keyword-only properties that can be stored as bitfields, as well as enough generation code to generate enum bitfields. Other field types, as well as support for custom storage and methods, will be added in future patches. This is the beginning of an effort to move properties across to BaseComputedStyle and then, eventually, remove ComputedStyle and rename the base to ComputedStyle. Design doc: https://docs.google.com/document/d/1sWf_kCtVSokx8oDJZwTrUk2JNqrgTZDV0Z-jsy6tW... BUG=628043 gcli ==========
Description was changed from ========== Add a generated BaseComputedStyle class that ComputedStyle extends Add a generated BaseComputedStyle class that ComputedStyle extends from, as well as a generated BaseComputedStyleConstants file that ComputedStyleConstants includes. Moved the 'visibility' field to be generated in BaseComputedStyle and it's type, the EVisibility enum, to be generated as well. This patch adds the 'keyword_only' field to CSSProperties.in, which is used to detect keyword-only properties that can be stored as bitfields, as well as enough generation code to generate enum bitfields. Other field types, as well as support for custom storage and methods, will be added in future patches. This is the beginning of an effort to move properties across to BaseComputedStyle and then, eventually, remove ComputedStyle and rename the base to ComputedStyle. Design doc: https://docs.google.com/document/d/1sWf_kCtVSokx8oDJZwTrUk2JNqrgTZDV0Z-jsy6tW... BUG=628043 gcli ========== to ========== Add a generated BaseComputedStyle class that ComputedStyle extends Add a generated BaseComputedStyle class that ComputedStyle extends from, as well as a generated BaseComputedStyleConstants file that ComputedStyleConstants includes. Moved the 'visibility' field to be generated in BaseComputedStyle and it's type, the EVisibility enum, to be generated as well. This patch adds the 'keyword_only' field to CSSProperties.in, which is used to detect keyword-only properties that can be stored as bitfields, as well as enough generation code to generate enum bitfields. Other field types, as well as support for custom storage and methods, will be added in future patches. This is the beginning of an effort to move properties across to BaseComputedStyle and then, eventually, remove ComputedStyle and rename the base to ComputedStyle. Design doc: https://docs.google.com/document/d/1sWf_kCtVSokx8oDJZwTrUk2JNqrgTZDV0Z-jsy6tW... BUG=628043 ==========
sashab@chromium.org changed reviewers: + rjwright@chromium.org
Hey Renee! Please take a look at this patch I wrote to start generating computedstyle. Thanks!! https://codereview.chromium.org/2187493004/diff/1/third_party/WebKit/Source/b... File third_party/WebKit/Source/build/scripts/make_base_computed_style.py (right): https://codereview.chromium.org/2187493004/diff/1/third_party/WebKit/Source/b... third_party/WebKit/Source/build/scripts/make_base_computed_style.py:34: Field = namedtuple('Field', [ This is just a quick way of creating a class in Python. I can do the full class thing if its not in our style guide or whatever https://codereview.chromium.org/2187493004/diff/1/third_party/WebKit/Source/b... third_party/WebKit/Source/build/scripts/make_base_computed_style.py:69: } Although technically not all 3 things are used in all 3 places... Why not haha https://codereview.chromium.org/2187493004/diff/1/third_party/WebKit/Source/b... File third_party/WebKit/Source/build/scripts/templates/BaseComputedStyle.h.tmpl (right): https://codereview.chromium.org/2187493004/diff/1/third_party/WebKit/Source/b... third_party/WebKit/Source/build/scripts/templates/BaseComputedStyle.h.tmpl:1: {% from 'macros.tmpl' import license %} Ugh, this is so hard to read with no syntax highlighting... Here's what it generates if that helps: // Copyright (c) 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef BaseComputedStyle_h #define BaseComputedStyle_h #include "core/BaseComputedStyleConstants.h" #include "core/CoreExport.h" #include "wtf/RefCounted.h" namespace blink { // The generated portion of ComputedStyle. For more info, see the header comment // in ComputedStyle.h. class CORE_EXPORT BaseComputedStyle : public RefCounted<BaseComputedStyle> { public: ALWAYS_INLINE BaseComputedStyle() : RefCounted<BaseComputedStyle>(), m_visibility(static_cast<unsigned>(EVisibility::Visible)) {} ~BaseComputedStyle() {} ALWAYS_INLINE BaseComputedStyle(const BaseComputedStyle& o) : m_visibility(o.m_visibility) {} bool operator==(const BaseComputedStyle& o) const { return true && m_visibility == o.m_visibility && true; } bool operator!=(const BaseComputedStyle& o) const { return !(*this == o); } inline bool inheritedEqual(const BaseComputedStyle& o) const { return true && m_visibility == o.m_visibility && true; } inline bool nonInheritedEqual(const BaseComputedStyle& o) const { return true && true; } void setBitDefaults() { resetVisibility(); } void inheritFrom(const BaseComputedStyle& inheritParent, IsAtShadowBoundary isAtShadowBoundary = NotAtShadowBoundary); // Fields. // TODO(sashab): Remove initialFoo() static methods and update callers to // use resetFoo(), which can be more efficient. // visibility inline static EVisibility initialVisibility() { return EVisibility::Visible; } EVisibility visibility() const { return static_cast<EVisibility>(m_visibility); } void setVisibility(EVisibility v) { m_visibility = static_cast<unsigned>(v); } inline void resetVisibility() { m_visibility = static_cast<unsigned>(EVisibility::Visible); } protected: // Storage. unsigned m_visibility : 2; // EVisibility }; } // namespace blink #endif // BaseComputedStyle_h https://codereview.chromium.org/2187493004/diff/1/third_party/WebKit/Source/b... third_party/WebKit/Source/build/scripts/templates/BaseComputedStyle.h.tmpl:44: && true; This && true stuff was just my not-so-clever way of not having to worry about trailing/leading stuff. Unfortunately there's no way around it in the initializer list stuff above, but here the && trues should hopefully be optimized out by the compiler so it should be OK.
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win8_chromium_gyp_rel on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_gyp...)
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...)
esprehn FYI (you'll be reviewing this after Renee :) ), added TODOs to the generated constants file: // TODO(sashab): Move these enums to their own namespace, or add a CSS prefix, // for consistency and to prevent name conflicts. // TODO(sashab): Add a static_assert when these enums are used in bitfields to // ensure they use unsigned as the underlying type.
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm6...) android_clang_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_clan...) android_compile_dbg on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_comp...) cast_shell_android on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_a...) linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...) cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linu...) chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...) chromeos_daisy_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_...) chromeos_x86-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_x86-ge...) chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...) linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_chromeos_compile_dbg_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_clobber_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_compile_dbg_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...)
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...) chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...) linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...)
sashab@chromium.org changed reviewers: + esprehn@chromium.org - rjwright@chromium.org
I am now aware that BaseComputedStyle has been used in Animations and so forth... Maybe another name would be better. :)
I think we usually out the base in the other side btw. It's FooBase not BaseFoo. So this would be ComputedStyleBase. -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
I think we usually out the base in the other side btw. It's FooBase not BaseFoo. So this would be ComputedStyleBase. -- You received this message because you are subscribed to the Google Groups "Blink Reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_...)
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Add a generated BaseComputedStyle class that ComputedStyle extends Add a generated BaseComputedStyle class that ComputedStyle extends from, as well as a generated BaseComputedStyleConstants file that ComputedStyleConstants includes. Moved the 'visibility' field to be generated in BaseComputedStyle and it's type, the EVisibility enum, to be generated as well. This patch adds the 'keyword_only' field to CSSProperties.in, which is used to detect keyword-only properties that can be stored as bitfields, as well as enough generation code to generate enum bitfields. Other field types, as well as support for custom storage and methods, will be added in future patches. This is the beginning of an effort to move properties across to BaseComputedStyle and then, eventually, remove ComputedStyle and rename the base to ComputedStyle. Design doc: https://docs.google.com/document/d/1sWf_kCtVSokx8oDJZwTrUk2JNqrgTZDV0Z-jsy6tW... BUG=628043 ========== to ========== Add a generated ComputedStyleBase class that ComputedStyle extends Add a generated ComputedStyleBase class that ComputedStyle extends from, as well as a generated ComputedStyleBaseConstants file that ComputedStyleConstants includes. Moved the 'visibility' field to be generated in ComputedStyleBase and it's type, the EVisibility enum, to be generated as well. This patch adds the 'keyword_only' field to CSSProperties.in, which is used to detect keyword-only properties that can be stored as bitfields, as well as enough generation code to generate enum bitfields. Other field types, as well as support for custom storage and methods, will be added in future patches. This is the beginning of an effort to move properties across to ComputedStyleBase and then, eventually, remove ComputedStyle and rename the base to ComputedStyle. Design doc: https://docs.google.com/document/d/1sWf_kCtVSokx8oDJZwTrUk2JNqrgTZDV0Z-jsy6tW... BUG=628043 ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...)
Done! Please review. Also see WIP follow-up patch if you're interested which moves the isInherited flag as well: https://codereview.chromium.org/2312823002
https://codereview.chromium.org/2187493004/diff/120001/third_party/WebKit/Sou... File third_party/WebKit/Source/core/css/CSSProperties.in (right): https://codereview.chromium.org/2187493004/diff/120001/third_party/WebKit/Sou... third_party/WebKit/Source/core/css/CSSProperties.in:38: // CSSValueKeywords.in and use this list instead. <3
lgtm. This is how I feel about this patch: http://i.imgur.com/H5KUTKM.gif https://codereview.chromium.org/2187493004/diff/120001/third_party/WebKit/Sou... File third_party/WebKit/Source/build/scripts/templates/ComputedStyleBaseConstants.h.tmpl (right): https://codereview.chromium.org/2187493004/diff/120001/third_party/WebKit/Sou... third_party/WebKit/Source/build/scripts/templates/ComputedStyleBaseConstants.h.tmpl:9: // TODO(sashab): Remove this and update callsites to use a boolean. hmm, booleans aren't great, can we move this enum out of the generated header too?
LOL @ gif. Also re the enum: it only has 1 use, here: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/style/Com... and I think isAtShadowBoundary is a pretty clear enum name to be true or false. It sort of has to be in the generated header because it's needed for the function signature, ie: enum IsAtShadowBoundary { AtShadowBoundary, NotAtShadowBoundary, }; void inheritFrom(const RenderStyle* inheritParent, IsAtShadowBoundary = NotAtShadowBoundary); Patch where it's added: https://chromium.googlesource.com/chromium/src/+/1c600947ce35e7a6d9c0c04de7d5...
On 2016/09/08 at 23:25:12, sashab wrote: > LOL @ gif. > > Also re the enum: it only has 1 use, here: > https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/style/Com... > > and I think isAtShadowBoundary is a pretty clear enum name to be true or false. > > It sort of has to be in the generated header because it's needed for the function signature, ie: > enum IsAtShadowBoundary { > AtShadowBoundary, > NotAtShadowBoundary, > }; > > void inheritFrom(const RenderStyle* inheritParent, IsAtShadowBoundary = NotAtShadowBoundary); > > Patch where it's added: > https://chromium.googlesource.com/chromium/src/+/1c600947ce35e7a6d9c0c04de7d5... Ahh ok hold on, after reading the blink style guide I think I now understand: https://www.chromium.org/blink/coding-style "Prefer enums to bools on function parameters if callers are likely to be passing constants, since named constants are easier to read at the call site." Alright, I agree and now understand a bit better :) Moved the enum to the callsite where its used.
The CQ bit was checked by sashab@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from esprehn@chromium.org Link to the patchset: https://codereview.chromium.org/2187493004/#ps140001 (title: "Moved enum back to ComputedStyleBase and removed TODO")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...)
On 2016/09/09 at 02:15:05, commit-bot wrote: > Try jobs failed on following builders: > chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...) Hmm! On chromeos amd64 *only*, ComputedStyle is a different size to what's expected. Will have more info once https://codereview.chromium.org/2231953003 lands, heh I wonder what's special about that bot, and how much bigger the object is. Also just as well we have a size check! :-)
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...)
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...) linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by sashab@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from esprehn@chromium.org Link to the patchset: https://codereview.chromium.org/2187493004/#ps200001 (title: "Fixed typo; ComputedStyleBase instead of BaseComputedStyle")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by sashab@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by sashab@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from esprehn@chromium.org Link to the patchset: https://codereview.chromium.org/2187493004/#ps260001 (title: "Re-ordered inheritance to match initializers")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Committed patchset #14 (id:260001)
Message was sent while issue was closed.
Description was changed from ========== Add a generated ComputedStyleBase class that ComputedStyle extends Add a generated ComputedStyleBase class that ComputedStyle extends from, as well as a generated ComputedStyleBaseConstants file that ComputedStyleConstants includes. Moved the 'visibility' field to be generated in ComputedStyleBase and it's type, the EVisibility enum, to be generated as well. This patch adds the 'keyword_only' field to CSSProperties.in, which is used to detect keyword-only properties that can be stored as bitfields, as well as enough generation code to generate enum bitfields. Other field types, as well as support for custom storage and methods, will be added in future patches. This is the beginning of an effort to move properties across to ComputedStyleBase and then, eventually, remove ComputedStyle and rename the base to ComputedStyle. Design doc: https://docs.google.com/document/d/1sWf_kCtVSokx8oDJZwTrUk2JNqrgTZDV0Z-jsy6tW... BUG=628043 ========== to ========== Add a generated ComputedStyleBase class that ComputedStyle extends Add a generated ComputedStyleBase class that ComputedStyle extends from, as well as a generated ComputedStyleBaseConstants file that ComputedStyleConstants includes. Moved the 'visibility' field to be generated in ComputedStyleBase and it's type, the EVisibility enum, to be generated as well. This patch adds the 'keyword_only' field to CSSProperties.in, which is used to detect keyword-only properties that can be stored as bitfields, as well as enough generation code to generate enum bitfields. Other field types, as well as support for custom storage and methods, will be added in future patches. This is the beginning of an effort to move properties across to ComputedStyleBase and then, eventually, remove ComputedStyle and rename the base to ComputedStyle. Design doc: https://docs.google.com/document/d/1sWf_kCtVSokx8oDJZwTrUk2JNqrgTZDV0Z-jsy6tW... BUG=628043 Committed: https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf Cr-Commit-Position: refs/heads/master@{#420508} ==========
Message was sent while issue was closed.
Patchset 14 (id:??) landed as https://crrev.com/8439075a9356236aa3f893f67f23faab867baccf Cr-Commit-Position: refs/heads/master@{#420508}
Message was sent while issue was closed.
Fyi esprehn; there was a memory leak caused by ComputedStyleBase not having a virtual destructor and inheriting from RefCounted<>. RefCounted<ComputedStyleBase> was calling ~ComputedStyleBase which doesn't call ~ComputedStyle. The LSAN bot caught this and I fixed it by leaving RefCounted<> as a parent of ComputedStyle. When we're all done with ComputedStyleBase I'll move RefCounted<> to the new ComputedStyle :) |