Commit Graph

92 Commits

Author SHA1 Message Date
Karl Tomlinson
9da873f8c3 b=797568 remove obsolete nsObjectFrame::GetImageContainer() r=roc
--HG--
extra : transplant_source : h%CB%86%8A%E4%9B%1A%7DqS9%AC6%93s%0D%099%0A%B2
2012-10-31 15:53:37 +13:00
Robert O'Callahan
fe1244558e Bug 801763. Don't try to update geometry for plugin widgets with no parent. r=mats
--HG--
extra : rebase_source : d7d0f7c5536adc2cd0ad77c2b3169410f237d206
2012-10-17 17:51:57 +13:00
Timothy Nikkel
ada10776c7 Bug 642257. If there are no plugins in the display list skip a potentially expensive compute visibility pass with accurate visible regions to determine plugin geometry because it is not needed. r=roc
If there is a plugin in a background tab and a complex scene in a foreground tab the accurate visible regions can cause us to bog down, for no good reason.
2012-10-18 00:34:58 -05:00
Trevor Saunders
b51bb304d8 bug 542039 - accessible object types r=surkov, roc 2012-09-28 17:53:44 -04:00
Robert O'Callahan
e7f231d6c8 Bug 626245. Part 4: Compute plugin widget geometry updates via the refresh driver's painting, and defer actual widget updates until we've just composited the window. r=mats
Updating plugin widget geometry every time we paint means we don't have to
explicitly request plugin geometry updates.
This patch stops us from flushing plugin geometry changes in
FlushPendingNotifications(Flush_Layout). There are too many Flush_Layouts and
flushing plugin geometry changes on them produces frequent
desynchronization of the plugin geometry with the rendered window contents.
There is some Web compatibility risk there --- it means we have to change
our tests, for one thing --- but hopefully it's OK.

--HG--
extra : rebase_source : 87adde45795ea2cab362ed9df54e62c5cc97e16c
2012-10-07 02:03:23 +13:00
Matt Woodrow
ab9f5929bd Bug 788044 - Make inactive layer subtrees relative to the ContainerLayer, not the reference frame. r=roc 2012-09-17 10:25:33 +12:00
Arnaud Sourioux
815396c1bb Bug 733186: Annotate ~1000 methods with MOZ_OVERRIDE in /layout r=dholbert r=dbaron 2012-09-14 09:10:08 -07:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Chris Pearce
7e1bf09317 Bug 775965 - Store root pres context used to register plugins on nsObjectFrame. r=roc 2012-08-17 16:25:19 +12:00
David Zbarsky
06ea1f66f2 Bug 778519 - Don't include Layers.h everywhere Part 2 r=cjones 2012-07-30 17:42:26 -07:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Timothy Nikkel
5732526407 Bug 771351. Disallow plugins in popup panels gracefully. r=roc 2012-07-05 19:45:23 -05:00
Trevor Saunders
3b1f9183dc bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov
--HG--
rename : accessible/src/atk/nsAccessibleWrap.cpp => accessible/src/atk/AccessibleWrap.cpp
rename : accessible/src/atk/nsAccessibleWrap.h => accessible/src/atk/AccessibleWrap.h
rename : accessible/src/base/nsAccessible.cpp => accessible/src/generic/Accessible.cpp
rename : accessible/src/base/nsAccessible.h => accessible/src/generic/Accessible.h
rename : accessible/src/mac/nsAccessibleWrap.h => accessible/src/mac/AccessibleWrap.h
rename : accessible/src/mac/nsAccessibleWrap.mm => accessible/src/mac/AccessibleWrap.mm
rename : accessible/src/msaa/nsAccessibleWrap.cpp => accessible/src/msaa/AccessibleWrap.cpp
rename : accessible/src/msaa/nsAccessibleWrap.h => accessible/src/msaa/AccessibleWrap.h
rename : accessible/src/other/nsAccessibleWrap.cpp => accessible/src/other/AccessibleWrap.cpp
rename : accessible/src/other/nsAccessibleWrap.h => accessible/src/other/AccessibleWrap.h
2012-05-28 21:18:45 -04:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Andreas Gal
6ced71cf11 Do image scaling on the GPU (bug 650988, r=roc,cjones). 2012-05-03 07:05:55 -07:00
Robert O'Callahan
3e30bf4a46 Bug 749075. Part 1: Refactor the nsDisplayItem API for testing whether the item needs to be rendered to a transparent surface. r=mattwoodrow
Currently we return an extra out parameter on GetOpaqueRegion. This is ugly and it's also going to be inefficient
because in a followup patch I'm going to avoid calls to GetOpaqueRegion, but we still need to know whether the item
needs a transparent surface. So this patch removes that out parameter. Instead, we rely on the fact that only
Windows' glass-window-background display item needs to force a transparent surface, and there can only be one
of those per window. So we store a reference to it in the nsDisplayListBuilder if there is one, and then we can
efficiently tell if any leaf display item is the one that forces a transparent surface. For display items that
wrap a list, we continue to store whether they need to force a transparent surface in a boolean in the list.
2012-05-03 16:29:05 +12:00
Robert O'Callahan
d0dd680745 Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel
Previously we snapped the results of nsDisplayItem::GetBounds and
nsDisplayItem::GetOpaqueRegion internally. By tracking which display items were
inside transforms, we disabled snapping quite conservatively whenever an ancestor
had a transform, which is undesirable.

With this patch, we don't snap inside GetBounds or GetOpaqueRegion, but just return
a boolean flag indicating whether the item will draw with snapping or not. This flag
is conservative so that "true" means we will snap (if the graphics context has a transform
that allows snapping), but "false" means we might or might not snap (so it's always safe
to return false).

FrameLayerBuilder takes over responsibility for snapping item bounds. When it converts
display item bounds to layer pixel coordinates, it checks the snap flag returned from
the display item and checks whether the transform when we draw into the layer will be
a known scale (the ContainerParameters scale factors) plus integer translation. If both
are true, we snap the item bounds when converting to layer pixel coordinates. With
this approach, we can snap item bounds even when the items have ancestors with active
transforms.
2012-04-10 23:24:18 +12:00
Edwin Flores
2930697827 Bug 738392 - Fix plugins not rendering inside CSS transform on Mac OSX r=roc 2012-03-23 11:21:57 -07:00
Bas Schouten
b0ee08da26 Bug 724886: Push images from plugin code instead of pulling from nsObjectFrame. r=roc 2012-02-08 16:34:27 +01:00
Matt Brubeck
7e74c1f71e Merge mozilla-central and mozilla-inbound 2012-02-01 17:09:34 -08:00
Josh Aas
b0e5e866d9 Bug 90268: Change plugin instance ownership from layout to content. r=roc r=bsmedberg 2012-01-31 16:55:54 -05:00
Bas Schouten
f987b74374 Bug 715785: Make ImageContainers independent of LayerManagers. r=roc 2012-02-01 03:18:30 +01:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Josh Aas
32d0be0cd8 Backed out changeset 33031c875984. Bug 90268. r=josh 2011-08-30 02:09:56 -04:00
Josh Aas
4ab4397277 Bug 90268: Make content own plugin instances instead of frames. Allows display:none instances and re-parenting instances without stopping them. r=roc 2011-08-29 03:09:22 -04:00
Oleg Romashin
9ed09830e6 Bug 621228 - Make plugins listening presShell SetActive calls. r=jst 2011-08-18 22:08:38 +02:00
Robert O'Callahan
93793566d0 Bug 637852: Part 5: Create ContainerParameters structure to carry resolution scale factors through layer creation. r=tnikkel
This patch shouldn't change any behavior. It just passes the ContainerParameters around, which will contain scale factors that should have been
applied when BuildLayer returns a ContainerLayer.

This patch also adds an aTransform parameter to BuildContainerLayerFor, which nsDisplayTransform uses to set the
transform for the ContainerLayer. This way BuildContainerLayerFor knows what the container's transform is going to be
before constructing the children, which in the next patch will let us construct the children with the right resolution.
2011-06-23 00:11:27 +12:00
Josh Aas
aceea2590e Bug 660721: Move nsPluginInstanceOwner to its own files. r=roc
--HG--
rename : layout/generic/nsObjectFrame.cpp => dom/plugins/base/nsPluginInstanceOwner.cpp
2011-06-01 00:37:54 -04:00
Josh Aas
ad51d92173 Bug 653116: Sort plugins from most to least recently modified. Search them in this order for MIME/extension matches. They should also appear in this order in about:plugins. r=jst r=bent 2011-05-28 00:08:26 -04:00
Doug Turner
7ae2a4a388 Bug 653201: Remove expose image / maemo specific npapi support. r=blassey r=josh 2011-05-21 11:21:49 -04:00
Josh Aas
f6eb4c8df6 Bug 637253: Remove nsIPluginInstance interface. r=bsmedberg 2011-05-17 21:48:34 -04:00
Jim Mathies
9b7daaeb53 Bug 633282 - manual backout of 'fixup UpdatePossiblyTransparentRegion v.3' in bug 622328 due to merge conflicts. r=tn 2011-05-13 11:40:46 -05:00
Josh Aas
1593af8e53 Bug 606641: Cleanup for plugin initialization. r=bz 2011-04-28 16:08:33 -04:00
Jan Küchler
5ef6bf26cf Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Josh Aas
70a155c558 Bug 636872: Allow CSS cursor property to be used for plugins. r=bz 2011-04-08 12:58:04 -07:00
Robert O'Callahan
77ab860b5c Bug 644832. Windowless plugins inside CSS transforms should be rendered. r=tnikkel 2011-04-01 10:33:46 +13:00
Matt Woodrow
d23e549f03 Bug 637901 - Don't trash our cached ImageContainer unless the retained layer manager has changed. r=tnikkel a=blocking2.0 2011-03-02 21:53:27 +13:00
Robert O'Callahan
8c2e30a98c Bug 634844. Part 2: Don't create a new Image in BuildLayer if we already have one. r=cjones,a=blocking 2011-02-23 18:38:09 +13:00
Robert O'Callahan
134548e4e6 Bug 631388. Part 2: Don't let nsDisplayPlugin bounds depend on the ImageContainer's current image bounds, since that can change during display list processing. r=cjones,a=blocking 2011-02-23 18:38:09 +13:00
Matt Woodrow
9cb4fc37b6 Bug 634521 - Let mac plugins trigger empty transactions. r=roc a=roc 2011-02-17 16:56:06 +13:00
Robert O'Callahan
7344c3c89b Bug 626602. Part 4: Make the display items behind a plugin that needs readback be as visible as we can. r=tnikkel 2011-02-16 16:43:30 -06:00
Robert O'Callahan
354fb935c8 Bug 626602. Part 3: Hook up ReadbackLayers in nsObjectFrame. r=cjones 2011-02-16 16:43:30 -06:00
Matt Woodrow
5cacf25656 Bug 591687: Create MacIOSurfaceImages for Core Animation plugins. r=roc r=josh a=blocking2.0betaN+ 2011-02-12 11:09:03 -05:00
Timothy Nikkel
0123cc0fff Bug 622328 - Always make sure the area of the root content document is considered opaque. r=roc, a=blocking. 2011-01-27 16:58:50 -06:00
Matt Woodrow
f5f4d25848 Bug 586683 - Part 4 - Move images into a separate ImageLayer when they are the only item in a ThebesLayer. r=roc a=blocking2.0 2011-01-18 10:47:18 +13:00
Robert O'Callahan
e946441ff1 Bug 602757. Part 3: Change IsOpaque to GetOpaqueRegion so we can get useful opaque regions for content that uses border-radius. r=tnikkel,sr=dbaron,a=blocking 2011-01-03 14:48:09 +13:00
Steven Michaud
57a79c1b85 Bug 618487 - Divx Web Player Videos won't play on Vidbux.com and Vidxden.com and Movshare.net. r=josh a=blocking2.0BetaN+ 2010-12-20 13:49:37 -06:00
Steven Michaud
afd3294490 Bug 594482 - Java applets broken with content policies. r=josh,bsmedberg a=blocking2.0BetaN+ 2010-12-07 15:18:50 -06:00
Robert O'Callahan
d6707f1b58 Bug 593839. Part 1: Use nsDisplayListBuilder::IsPaintingToWindow instead of gfxContext::DESTINED_FOR_SCREEN. r=tnikkel 2010-10-25 16:38:09 +02:00
Felipe Gomes
c1ad5cb316 Bug 601603. Part 5 - Ensure that the layer that holds the window background is never opaque for glass windows. r=roc a=beta8 2010-10-19 15:02:25 -02:00