[Webkit-unassigned] [Bug 47264] Introduce the device element as an experimental feature
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Feb 1 16:08:35 PST 2011
https://bugs.webkit.org/show_bug.cgi?id=47264
--- Comment #10 from Andrei Popescu <andreip at google.com> 2011-02-01 16:08:34 PST ---
A few more comments:
> for (int i = ((int) m_listEntries.size()) - 1; i >= 0; i--) {
Please do not use C-style casts.
> for (j = ((int) otherSelectedEntries.size()) - 1; j >= 0; j--)
ditto
> void HTMLDeviceElement::defaultEventHandler(Event* evt)
> {
> if (evt->type() == eventNames().DOMActivateEvent) {
> runDialog();
...
> void HTMLDeviceElement::runDialog()
> {
(....)
> m_deviceList = deviceManagerProxy().createDeviceList(deviceType());
(...)
> if (Chrome* chrome = page->chrome())
> chrome->runDeviceDialog(m_deviceList.get());
The above design is a reason for concern: it seems you are invoking synchronously, from inside an event handler, two potentially expensive operations:
1. deviceManagerProxy().createDeviceList(deviceType());
createDeviceList() method above is synchronous and is implemented in platform code and probes for a list of devices (cameras, microphones).
2. runDeviceDialog() is also synchronous and seems to involve running a modal dialog
I am wondering why you made these choices and whether the alternative design proposed by Leandro in https://lists.webkit.org/pipermail/webkit-dev/2011-January/015822.html isn't a much better choice.
Leandro has actually been working on this and has a patch that he could upload for review. Perhaps the best way to proceed is for him to upload it and see how it differs to the current proposal?
Thanks,
Andrei
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list