Closed
Bug 629165
Opened 14 years ago
Closed 12 years ago
Need a better way to detect droppable space in Panorama (boxObject)
Categories
(Mozilla QA Graveyard :: Mozmill Tests, defect)
Mozilla QA Graveyard
Mozmill Tests
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: u279076, Unassigned)
References
()
Details
(Whiteboard: [lib])
With bug 515776 resolved, we now have the ability to drag and drop elements in Mozmill. In general it works like:
controller.dragToElement(elementToDrag, elementToDropOn, offsetX, offsetY);
Currently, we have to play around with values of offsetX and offsetY; it's essentially a trial and error game. This makes it less than ideal for community contributors and can cause problems when testing in environments with varying screen resolutions.
What we really need is to find a way to detect droppable space. Here are a couple examples:
* dragging and dropping a tab to empty space on the tab bar or empty space between tabs
* dragging and dropping a tab from a group in Panorama to empty space in another group to move it
* dragging and dropping a tab from a group in Panorama to empty space in content to create a new group
* dragging and dropping a tab into an area outside the browser window to move it to its own window
Comment 1•14 years ago
|
||
This is really a feature which is specific to each specific area and should be part of the shared module. Here you have a lot of stuff going on for Panorama so I would say lets keep this bug for the Panorama case.
Summary: Need a better way to detect droppable space → Need a better way to detect droppable space in Panorama
Whiteboard: [mozmill-panorama][shared-module]
Comment 2•14 years ago
|
||
Agree, I fear that if we start using hardcoded offsets effects may vary with associated assertions varying per platform and environment ran.
Comment 3•14 years ago
|
||
Each group and tab in Panorama has it's boundary box. It should be easy to find the right space for:
* drop it before/after/above/under a group or tab
* drop it on top of a given group or tab
* similar for resizing of groups and tabs
Anthony, the first thing you should do is to collect all the possible cases we are confronted with. Given that spec it shouldn't be that hard to implement.
I've cataloged the following use cases so far:
Drag Use Cases
--------------
- drag to resize group
- drag to move group
- drag tab to empty space to create new group
- drag tab to another group
- drag tab to reorder group
- drag group onto another to automatically resize
- drag group to snap-to-location (ie. group alignment)
- auto-resize/move tabs/groups on window-resize
Areas not Draggable
-------------------
- Panorama toggle button
- Search toggle button
- Group title box
- Group (x) button
- App-tab favicon area (far right)
- New tab button
- Outside of main window
Comment 5•14 years ago
|
||
(In reply to comment #4)
> - drag to resize group
> - drag to move group
The target position should be set by the test itself. I assume it will mostly be relative offsets.
> - drag tab to empty space to create new group
> - drag tab to another group
> - drag tab to reorder group
> - drag group onto another to automatically resize
> - drag group to snap-to-location (ie. group alignment)
> - auto-resize/move tabs/groups on window-resize
Something I could imagine is a general shared-module which handles the boxObject of elements. Lets say we have to define the surrounding box and can fold in separate elements. Then you can define what you want to have:
* empty space
* position at the top/right/bottom/left of an element
* (middle?) position of the wanted element
All the arithmetic will be handled in this shared module, while other modules or better tests can re-use it; not only for Panorama.
Comment 6•14 years ago
|
||
Here an example for the toolbar:
* root element: toolbar
* elements: back button, forward button, location bar, search bar, home button
Then you can request:
* left side of location bar
* center of the home button
* ...
A boxObjectAPI would work for me. What do you need from me to get started on this?
Comment 8•14 years ago
|
||
Not sure if I will have enough time to work on this in the next couple of weeks. But I can definitely give support to anyone who wants to work on it.
I've created a scratchpad so we can discuss, design, and develop a box object shared module:
http://mozqa.sync.in/mozmill-boxObjectAPI
At this point, I think Drag & Drop is far too difficult and unreliable to write tests against (based on experience in helping test developers so far). I'm going to block all Panorama tests which need drag & drop on this bug, unless someone objects. I'll give people 24 hours to object.
Reporter | ||
Comment 10•14 years ago
|
||
CCing Geo on this bug as well.
Comment 11•14 years ago
|
||
Anthony, this etherpad should be a public one. There is no need to have this secured on sync.in. I would like that interested parties also be able to access it.
Reporter | ||
Comment 12•14 years ago
|
||
(In reply to comment #11)
> Anthony, this etherpad should be a public one. There is no need to have this
> secured on sync.in. I would like that interested parties also be able to access
> it.
Fair enough, moved to http://etherpad.mozilla.com:9000/mozmill-boxObjectAPI
Comment 13•14 years ago
|
||
As we have discussed it a bit more in our 1-1 this week, could you also please those additional information? I miss it in that etherpad.
Reporter | ||
Comment 14•14 years ago
|
||
(In reply to comment #13)
> As we have discussed it a bit more in our 1-1 this week, could you also please
> those additional information? I miss it in that etherpad.
Those items have now been added. Feel free to add your own items as you think of them.
Thanks
Updated•14 years ago
|
Summary: Need a better way to detect droppable space in Panorama → Need a better way to detect droppable space in Panorama (boxObject)
Updated•14 years ago
|
Component: Mozmill Tests → Mozmill Shared Modules
Updated•13 years ago
|
Component: Mozmill Shared Modules → Mozmill Tests
Updated•13 years ago
|
Whiteboard: [mozmill-panorama][shared-module] → [lib]
Comment 15•12 years ago
|
||
Bug 836758 will remove Panorama from Firefox soon and make it available as add-on. That means no new tests are necessary. Closing as WONTFIX.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
Updated•6 years ago
|
Product: Mozilla QA → Mozilla QA Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•