The JDK provides the JRE, so mozilla can use that JRE, instead of needing a separate install. Whether this means changing mozilla to depend on either, or changing virtual/jdk to providing virtual/jre or changing each JDK package, I don't know.
This is a limitation in Portage. Will hopefully be addressed soon.
Once we can conditionally depend on the JRE | JDK, this will get addressed.
I'm pretty new, but I see no reason why JDK can't provide both virtual/JDK and virtual/JRE. There are other packages that provide more than one service, no? Another thing I just thought of, why not include a dependence on a 'dummy' JRE in JDK that points at the JDK's own JRE?
All the jdk ebuilds PROVIDE 'virtual/jre', so if you want to use a jdk, just merge it before mozilla. Closing this one.