[Webkit-unassigned] [Bug 23196] Add scheduletimer to PluginView
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat May 23 12:33:26 PDT 2009
https://bugs.webkit.org/show_bug.cgi?id=23196
darin at apple.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #26537|review? |review-
Flag| |
------- Comment #15 from darin at apple.com 2009-05-23 12:33 PDT -------
(From update of attachment 26537)
WebKit style has no indentation of code inside namespaces in .cpp files.
> + static uint32 gTimerID;
Since this global is only used inside the constructor it can be defined inside
the constructor.
> +
> + PluginTimer::PluginTimer(PluginTimer** list, NPP instance, bool repeat,
> + void (*timerFunc)(NPP npp, uint32 timerID))
> + : m_list(list),
> + m_instance(instance),
> + m_timerFunc(timerFunc),
> + m_repeat(repeat)
WebKit style has a certain formatting for initializer lists that this does not
follow.
> + m_next = *list;
> + if (m_next) {
> + m_next->m_prev = this;
> + }
> + m_prev = 0;
Can m_next and m_prev be set in the initializer list instead of the body?
WebKit style has no braces around single-line if statements and while
statements.
> + PluginTimer* next() const { return m_next; }
I'm not sure it's useful to have a function like this if it's private, since
member functions already have access to the m_next field.
> + PluginTimer** m_list;
> + PluginTimer* m_prev;
> + PluginTimer* m_next;
> + NPP m_instance;
> + void (*m_timerFunc)(NPP, uint32);
> + uint32 m_timerID;
> + bool m_repeat;
WebKit formatting does not line up things like this.
> + class PluginTimerList {
Should inherit from Noncopyable. As should PluginTimer itself.
> + uint32 schedule(NPP instance, uint32 interval, bool repeat,
> + void (*proc)(NPP npp, uint32 timerID));
The argument names "instance" and "proc" aren't helpful here and should be
omitted.
I think the PluginTimer class can be private and left out this header. I
believe it's an implementation detail, and it's only the PluginTimerList class
that needs to be public. Ideally the source file would be named after that
class.
> + uint32 scheduleTimer(NPP, uint32 interval, bool repeat,
> + void (*timerFunc)(NPP, uint32 timerID));
> + void unscheduleTimer(NPP, uint32 timerID);
I think this code would be easier to read if we had a typedef for the timer
function. I don't think the name "timerFunc" is needed here and I suggest it be
omitted.
It's great to have this new feature. We also should add test cases for it.
There are enough comments here in total that I'll say review-. Omission of a
test case is probably the single biggest issue. Also would be nice to do this
for the Mac platform too. Should be easy to hook it up there.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list