Commit Graph

136 Commits

Author SHA1 Message Date
Robert O'Callahan
ebc4bb841d Bug 508495. Let CSS borders and padding apply to plugin elements, and fix layout, painting and event handling to work with them. r=dbaron 2009-09-11 13:44:20 +12:00
Robert O'Callahan
9d5b5ae49a Bug 513082. Instead of passing aDirtyRect to nsDisplayItem::Paint, have nsDisplayList::OptimizeVisibility (renamed to ComputeVisibility) compute the intersection of the visible region with the bounds of each display item and store the result in the item's mVisibleRect. This lets us do less work to paint display items which have a small intersection with the visible region but a large intersection with the bounding-box of the visible region. r=dbaron 2009-09-07 12:35:14 +12:00
Zack Weinberg
b6fe8205dd Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc 2009-09-12 17:49:24 +01:00
Robert O'Callahan
e6f0521940 Bug 508134. Stop managing the visibility of views from SyncFrameViewProperties, except for nsSubdocumentFrames. r=dbaron 2009-08-25 00:44:42 -07:00
Robert O'Callahan
63894ccfd8 Bug 339548. Part 10.5: Eagerly fix up Mac plugin clip rect to be consistent with other platforms. 2009-07-22 12:45:02 +12:00
Robert O'Callahan
20a1764c05 Bug 339548. Part 9: Create nsRootPresContext::UpdatePluginGeometry, and use it. Make nsObjectFrame manage its widget directly. 2009-07-22 12:45:00 +12:00
Jeremy Lea
3e1e90f73a Bug 448830. Make nsIntRect/nsIntMargin/nsIntSize/nsIntPoint different types from nsRect/nsMargin/nsSize/nsPoint different types for better compile-type unit checking. r+sr=roc 2009-01-15 16:27:09 +13:00
Benjamin Smedberg
0f95227641 Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.
2009-01-12 14:20:59 -05:00
Benjamin Smedberg
7a084ac404 Backed out changeset 4c4df6ed1b41 - Bug 396185 - Make nsIFrame not inherit from nsISupports due to mochitest failures... these appear to be crashes in nsGenericHTMLElement::GetEditorInternal. 2009-01-09 11:35:24 -05:00
Benjamin Smedberg
991a16d8bc Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted

Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.

r+sr=roc

This patch locally causes two REFTEST-UNEXPECTED-PASS for Bidi stuff. It's possible that I accidentally fixed a bug, but I'm not sure, so I'm going to wait for the tinderboxes to confirm my local results.
2008-11-05 14:25:30 -05:00
Bernd
9ef8b0cecd bug 258377, make border collapsed tables to listen for dynamic border style changes r/sr=bzbarsky 2008-10-26 11:11:34 +01:00
L. David Baron
b43247c0c7 Make sure DidSetStyleContext methods call the base class DidSetStyleContext, and change the signature to return void. (Bug 459649) r+sr=bzbarsky 2008-10-13 18:03:28 -04:00
Karl Tomlinson
8b99701c40 Bug 430450 – vertical stripes in windowless plugins.
Snap to pixels and round dirty rect out. r+sr=roc
2008-07-07 14:49:38 +12:00
a257aee2b4 Fixing bug 430802 (and bug 405357). Prevent plugin instantiation code re-entrancy. r=jwatt@jwatt.org, sr=bzbarsky@mit.edu, a=beltzner 2008-05-06 13:49:30 -07:00
b73bc06331 Fixing bug 410946. Prevent plugins from being destroyed while there's code from those plugins on the stack. r+sr=bzbarsky@mit.edu, a=beltzner@mozilla.com 2008-02-28 18:06:00 -08:00
ebeab7cd1f Fix bug 402937 -- don't allow recursion into Instantiate(). r=biesi, sr=jst, a=dsicore. 2007-12-03 14:09:00 -08:00
81cd33c9c5 Don't show the plug-in view when it should actually be hidden. Bug 398213, r+sr=roc 2007-10-18 20:41:07 -07:00
c0e2e8d51d 391261 call SetWindow a second time after instantiating the plugin, like we used to do (fixes WMP 10) r+sr=bz 2007-08-20 10:40:08 -07:00
ed2e5957de Bug 3477743: plugin crash. patch by myself and Johnny Stenback, r+sr=roc 2007-08-13 13:47:04 -07:00
8c4a05fbf5 382378 call NotifyContentObjectWrapper after the plugin has been instantiated so that scriptable plugins work correctly r+sr=bz 2007-08-02 14:15:05 -07:00
f91837df0b backing out bug 347743 due to major crasher in 386332 2007-06-29 10:21:55 -07:00
38c1a37798 Fixing bug 347743. Delay plugin destruction on windows to get it out of layout frame destruction. r+sr=roc@ocallahan.org 2007-06-27 17:15:11 -07:00
7334d31070 Bug 376636 - Building with gcc 4.3 and -pendatic fails due to extra semicolons, patch by Art Haas <ahaas@airmail.net>, rs=me 2007-04-23 07:21:53 -07:00
dbaron@dbaron.org
a4cc40910e Clean up IsFrameOfType methods to call their base class IsFrameOfType methods reliably. b=341326 r+sr=roc 2007-02-24 18:33:33 +00:00
dbaron@dbaron.org
d21cb374bd Bug 300030: Move intrinsic width computation out of nsIFrame::Reflow and into its own methods on nsIFrame. Replace reflow reasons, types, and commands with dirty bits/notifications. Thanks to bzbarsky for almost all of the HTML form controls (mozilla/layout/forms) changes, and many others for help testing and patching. For detailed commit logs, see REFLOW_YYYYMMDD_BRANCH, where YYYYMMDD is one of 20061031, 20060830, 20060603, 20060302, 20060119, 20051011, 20050804, 20050429, 20050315, 20050111, and 20041213. 2006-12-08 05:38:33 +00:00
darin@meer.net
0700b87ece landing patch for bug 326273 "Implement nsIThreadManager" (Mac portions by Mark Mentovai) with reviews from bienvenu, bsmedberg, bzbarsky, josh, roc, and ssieb 2006-05-10 17:30:15 +00:00
roc+@cs.cmu.edu
24f6f0ed12 Bug 328926. Remove aPresContext parameter from nsIFrame::Destroy, nsIFrame::SetInitialChildList and nsIFrame::RemovedAsPrimaryFrame. patch by Marc Liddell, r+sr=roc 2006-04-10 00:16:29 +00:00
dbaron@dbaron.org
60eede3c11 Single line comments to describe files (helpful in LXR) 2006-03-29 18:29:03 +00:00
roc+@cs.cmu.edu
54d3415318 Bug 330934. Set a nsIFrame's stylecontext in its constructor, to ensure that there's always one available for GetPresContext() to use even if Init hasn't been called. Patch by Marc Liddell, r+sr=roc 2006-03-26 21:30:36 +00:00
pavlov@pavlov.net
93222d8d4f backing out roc's patch for bug 328926 due to crash running tests on vc8 machines. 2006-03-15 06:43:36 +00:00
roc+@cs.cmu.edu
c92e50faf4 Bug 328926. Remove aPresContext parameter from Destroy and SetInitialChildList. patch by Marc Liddell, r+sr=roc 2006-03-15 03:14:02 +00:00
roc+@cs.cmu.edu
79c7894a78 Bug 328926. Remove aPresContext from nsIFrame::Init and nsIFrame::DidSetStyleContext. r+sr=roc, patch by Marc Liddell 2006-03-09 18:55:21 +00:00
cbiesinger@web.de
90559f53ed bug 322414
- clean up nsObjectFrame and remove unnecessary includes
- make the instanceowner hold an owning reference to the content node
- use GetOwnerDoc rather than GetCurrentDoc
r+sr=bz
2006-02-02 19:29:10 +00:00
roc+@cs.cmu.edu
a1b6a30f14 Bug 317375. Reorganize frame painting and mouse event targeting around frame display lists. Some review from dbaron, lots of testing help from Martijn, Julien and others 2006-01-26 02:29:17 +00:00
cbiesinger@web.de
f4b03ae2d0 bug 322052 remove now-unused mFullURL r+sr=bz 2006-01-02 18:57:14 +00:00
dbaron@dbaron.org
702bf8c9fb Make nsObjectFrame not be a container anymore. b=309532 r=biesi sr=bzbarsky 2005-12-31 00:25:36 +00:00
cbiesinger@web.de
35eb4789cb Bug 309521
- add pseudo-classes for :-moz-type-unsupported and :-moz-has-handlerref (and a
  content state for the former)
  - make nsObjectLoadingContent return the right content state
- Add an XBL binding that gets instantiated for broken plugins
  - Make it themable
- Remove a lot of now-unused code in nsObjectFrame
- Fixes pluginfinder.
r+sr=bz, r=mconnor
2005-12-29 14:15:33 +00:00
cbiesinger@web.de
426d60d25c bug 314679 remove some unused code from nsObjectFrame
r+sr=bz
2005-11-02 16:34:32 +00:00
cbiesinger@web.de
5296ca74b1 bug 309706
- Add some logging to nsObjectLoadingContent
- Add a StopPlugin() method to nsIObjectFrame
  - Make use of that in PrepareInstanceOwner, so that loading a new plugin in
    the same frame works as expected
- Initialize <applet> and <embed> elements to eType_Loading, so that the type is
  only eType_Plugin if mURI and mContentType are valid

r+sr=bz
2005-10-31 18:28:56 +00:00
cbiesinger@web.de
1f31017068 Bug 309529
Move logic from nsObjectFrame::Instantiate(const char*, nsIURI*) into
nsObjectLoadingContent.

Also, fixes ext-to-type mapping if the URI does not implement nsIURL.

r+sr=bz
2005-10-29 12:56:44 +00:00
bzbarsky@mit.edu
722ee2ccaa Remove no longer used code. Bug 312685, r=biesi, sr=dbaron 2005-10-17 23:06:16 +00:00
cbiesinger@web.de
d729b5d0b1 bug 1156
- Make object frames have no children
  - Make the frame constructor construct a subdocumentframe, object frame or
    image frame as appropriate
- start the load of <applet>, <embed> and <object> in content code
- fallback to alternate rendering correctly

NOTE: This checkin will break the plugin finder. This will be fixed soon.

r+sr=bz
2005-09-21 19:14:30 +00:00
bzbarsky@mit.edu
b51a6bf60e Make frames know whether they're leaves or not from the frame construction
point of view; use this in the frame constructor.  Bug 265367, r+sr=dbaron
2005-08-16 22:52:48 +00:00
dbaron@dbaron.org
53db0e956e Add assertion that warns when we're about to crash due to bug 136927. b=136927 r+sr=jst a=asa 2005-04-14 21:50:46 +00:00
roc+@cs.cmu.edu
658ef0212b Bug 285996. Checking in update to nsObjectFrame.h. r+sr=dbaron,a=asa. 2005-04-07 04:34:46 +00:00
roc+@cs.cmu.edu
47dfcd9b72 Bug 288117. Reland nsScrollBoxFrame removal. This will regress Tp a bit. r+sr=dbaron 2005-04-03 21:00:41 +00:00
dbaron@dbaron.org
c7fad4aada Back out roc's checkin for bug 288117 to isolate performance regressions during tinderbox downtime. 2005-03-31 18:04:50 +00:00
roc+@cs.cmu.edu
d84745e0fc Bug 288117. Fix up function name as dbaron requested. 2005-03-31 03:44:38 +00:00
roc+@cs.cmu.edu
1191e43f13 Bug 288117. Eliminate nsScrollBoxFrame. r+sr=dbaron 2005-03-31 03:40:12 +00:00
aaronleventhal@moonset.net
2fc3960ad6 Bug 245349. Puzzle piece placeholder that says click here to download plugin is not focusable or accessible. r=bz, sr=jst 2005-03-31 01:38:04 +00:00