+++ This bug was initially created as a clone of Bug #1030741 +++
We are transitioning all fields of FrameMetrics to use getters/setter.
Anyone: feel free to pick one of the public fields in FrameMetrics, transition it, and post a patch here, flagging me for review. Thanks! See bug 1030741 for an example.

Great! As a first step you should download the source and get Firefox building using the instructions at https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions
Once you have a working firefox build, let me know and I'll assign this bug to you. The change needed here is a straightforward one, where we pick one of the public fields in the file at gfx/layers/FrameMetrics.h and make it private. Then we will add getter/setter methods for it and update all users of the field to use the methods.

Hi Mohit, in general we prefer if one person works on one bug at any given time. I would suggest you search for another bug that is mentored that you could work on. You can look at http://www.joshmatthews.net/bugsahoy/ to find bugs suitable to your area of interest and ability. Thanks!

Unassigning from Abhirav since it doesn't look like he's still working on it.
Himanshu, if you're interested in working on this please see comment 2 for first steps and getting a build set up, and let me know once you have that done. Thanks!

Comment on attachment 8480039[details][diff][review]
done
Ok, great! Please see comment 4 for the next step. Take a look at the mMayHaveTouchCaret field in FrameMetrics.h which is currently public. You should make it private and instead add public Get/Set methods to manipulate it. Then you also need to update all the places in the code that use mMayHaveTouchCaret to use the new functions.

Comment on attachment 8509172[details][diff][review]
1058614.patch
Review of attachment 8509172[details][diff][review]:
-----------------------------------------------------------------
Hey, this is a great start, but there are other pieces of code that are using mMayHaveTouchCaret which also need to be modified to use the new get/set methods. In fact the patch as you have it now shouldn't compile successfully - did you try building Firefox with this patch?

Comment on attachment 8509240[details][diff][review]
1058614.patch
Review of attachment 8509240[details][diff][review]:
-----------------------------------------------------------------
This is looking much better, thanks! I have one comment on the style below that needs to be fixed. Please upload a new patch with that addressed. Also, in the new patch, please include a proper commit message - generally our commit messages follow the syntax "Bug <number> - <message>. r=<reviewer>". So for this bug you'd have something like "Bug 1058614 - Transition mMayHaveTouchCaret to be private. r=kats" or something similar. With that done this should be ready to land.
::: gfx/layers/FrameMetrics.h
@@ +529,5 @@
>
> + bool GetMayHaveTouchCaret() const
> + {
> + return mMayHaveTouchCaret;
> + }
Please use two-space indents (spaces, not tab characters) in these functions.
@@ +540,5 @@
> private:
> // New fields from now on should be made private and old fields should
> // be refactored to be private.
>
> + // Whether or not this frame may have touch caret.
may have *a* touch caret

I also cloned this bug to bug 1087478 for transitioning additional fields. Himanshu, if you're interested doing another patch similar to this one to get more practice, feel free to take that bug. If you want to try for something a little more challenging you can look at http://www.joshmatthews.net/bugsahoy/ to find other mentored bugs.