Closed Bug 1066421 Opened 10 years ago Closed 10 years ago

Make APZStateChange a regular enum

Categories

(Core :: Panning and Zooming, defect)

All
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla35

People

(Reporter: kats, Assigned: kats)

References

Details

Attachments

(1 file)

Trying to write a gtest with a EXPECT_CALL that takes an APZStateChange fails to compile on some platforms. Specifically the patch I have in attachment 8488292 [details] [diff] [review] results in this error:

'MockContentController::gmock_NotifyAPZStateChange' : cannot convert parameter 2 from 'mozilla::layers::GeckoContentController::APZStateChange::Enum' to 'const testing::Matcher<T> &'

I've had other problems with MOZ_BEGIN_NESTED_ENUM_CLASS in the past, where it ended up using the wrong constructor (bug 1055760 comment 88) and wouldn't allow being private (bug 1040384 was filed for this). In general I'm pretty leery of using this construct as it provides a very leaky abstraction.

Lack of support of MOZ_BEGIN_NESTED_ENUM_CLASS in clang-format is also one of the things that has prevented me from clang-format'ing a bunch of APZ code, so that's another bonus of getting rid of this.
Attached patch PatchSplinter Review
Try push including this patch at https://tbpl.mozilla.org/?tree=Try&rev=3335fb5c02b6
Attachment #8488593 - Flags: review?(botond)
Attachment #8488593 - Flags: review?(botond) → review+
https://hg.mozilla.org/mozilla-central/rev/5bccb951e71f
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: