Commit graph

43 commits

Author SHA1 Message Date
Jan Henning
0e575681dc Bug 1265818 - Part 2 - Add scriptable methods for getting and setting PresStates from JS. r=jst
This will allow the session store to store and restore scroll positions (and pinch zoom on Android) for past session history entries as well, whereas today only the scroll position of the current page is saved.

As a LayoutHistoryState saves its PresStates in a hash table that doesn't allow direct access to its contents if you don't already know the entry's key, we provide a function to iterate over all stored PresStates and retrieve their keys, which can then be used to get access to each individual PresState in turn. Since nsPresState is little more than a fancy struct and we don't want to have to turn it into a full-blown XPCOM-compatible interface, we just pass the scroll/zoom-related values we're interested in as in/out parameters from/to JS via the LayoutHistoryState.

We also require a helper method for initialising an SHEntry's LayoutHistoryState, since normally this doesn't happen until the PresShell wants to capture the history state in it. We on the other hand require a LayoutHistoryState to be present immediately after creation of a fresh SHEntry object, so we can feed it the session store data during history restoration.

MozReview-Commit-ID: FfZf8KDsVWl
***

--HG--
extra : rebase_source : 0b3f729bff3ac24680d6fe8a0fb796979886170b
2017-03-25 14:01:29 +01:00
Jan Henning
3d605b1465 Bug 1265818 - Part 1 - Convert nsILayoutHistoryState header to IDL. r=jst
Preparatory step to make nsILayoutHistoryState scriptable.

MozReview-Commit-ID: DWgXr0imRVb

--HG--
rename : layout/base/nsILayoutHistoryState.h => layout/base/nsILayoutHistoryState.idl
extra : rebase_source : c64ef4108df187c750852d5a364a5cb15d4e9d0d
2017-03-04 14:06:11 +01:00
Olli Pettay
2b2b2cc690 Bug 1155730, implement History.scrollRestoration r=jst 2015-12-26 12:59:09 +02:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Andrea Marchesini
e6f385fb3d Bug 1148527 - Indentation fix after bug 1145631, r=ehsan 2015-03-27 18:52:19 +00:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Birunthan Mohanathas
5f1fde8824 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
Robert O'Callahan
03e7828db2 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Ms2ger
59ef6e7599 Bug 893925 - Cleanup nsILayoutHistoryState and nsGenericHTMLElement::GetPrimaryPresState; r=smaug 2013-07-24 09:38:13 +02:00
Aryeh Gregor
d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Ehsan Akhgari
65884fba1f Bug 758992 - Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor (layout parts); r=roc
--HG--
extra : rebase_source : 9f3da1b47dcb9d7cc950488b9b70aa682b6984de
2012-06-18 23:26:34 -04:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Benjamin Smedberg
eaa4878487 Bug 734847 part 2 - treewide changes resulting from the default-infallibility of hashtables; either remove useless result checks, or use the fallible version of APIs, depending on context, r=jlebar
--HG--
extra : rebase_source : 844b008c5167e6ca39a7ba9eeec8b30672938704
2012-05-18 13:30:49 -04:00
Ehsan Akhgari
92064e6d3f Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
d2b70213ac 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
Craig Topper
26bac156fd Bug 654369 - Part 11: Remove OOM checks from layout/base r=bz
--HG--
extra : rebase_source : a725d78f3e128d6d4ca1eb48eec1cfc78f7762bf
2011-04-28 22:02:40 -07:00
Graeme McCutcheon
38c89ebd70 Bug 215405. Restore scroll position, but not form state, on no-store and SSL no-cache sites. r+sr=bzbarsky 2008-12-03 12:55:14 -05:00
bzbarsky@mit.edu
70f1323690 Don't generate state keys at all, if there's nothing to get. Bug 388387, r+sr=sicking. 2007-07-20 20:00:02 -07:00
dbaron%dbaron.org
60ca049cfc Oops, added the comment in the wrong place. 2006-03-30 06:16:27 +00:00
dbaron%dbaron.org
5dcd0b1309 One-line descriptions of files, partly because they show up in LXR. 2006-03-30 05:56:38 +00:00
bryner%brianryner.com
d94c0df713 Remove nsIPresState (bug 279699). r+sr=roc. 2005-01-27 22:52:53 +00:00
gerv%gerv.net
708b56cff4 Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-18 14:30:37 +00:00
bryner%brianryner.com
9d11b3c424 Fix build on gcc 3.4 by removing extra semicolons (bug 218551). r/sr=dbaron, a=brendan. 2003-09-07 22:37:27 +00:00
dbaron%dbaron.org
3ea0dc57d4 Bug 178643: Remove uses of NS_INIT_ISUPPORTS, since it is no longer needed. r=timeless sr=jag 2003-01-08 21:07:51 +00:00
dougt%netscape.com
68faeb5241 166917. Clean up xpcom SDK includes. r=rpotts@netscape.com, sr=alecf@netscape.com, a=rjesup@wgate.com 2002-09-07 17:13:19 +00:00
gerv%gerv.net
4e12e44b2f Relicensing Round 1, Take 2. Most C-like NPL files -> NPL/GPL/LGPL. Bug 98089. 2001-09-28 20:14:13 +00:00
pollmann%netscape.com
1ac7a3715e Bug 77834: Fix problem where form control state is being restored to the wrong form control or not restored at all when going back and forth through session history. The problem was that the hash key we used was the content ID, which was not consistent from page load to page load. The fix was to key instead by index of form in document / index of control in form, with logic to fall back to content ID if we are unable to do this. r=nisheeth@netscape.com, sr=jst@netscape.com, a=drivers@mozilla.org (blizzard@mozilla.org) 2001-05-30 11:26:21 +00:00
locka%iol.ie
f423c1c8d0 Fix window.print crash when called early during page loading. b=66934 r=pollmann@netscape.com sr=jst@netscape.com 2001-05-12 15:52:06 +00:00
dbaron%fas.harvard.edu
6a1cef6f9a Remove trailing semicolons after all uses of MOZ_DECL_CTOR_COUNTER to quiet build warnings on Mac. b=60415 a=brendan@mozilla.org 2001-01-27 23:06:33 +00:00
warren%netscape.com
cd56c0575b Bug 47207. Backing out logging/PRINTF changes until we can fix stopwatch.h, introduce double parens, etc. 2000-10-28 22:17:53 +00:00
warren%netscape.com
9a6d92a433 Bug 47207. Changing printf to PRINTF to use new logging facility. r=valeski,sr=waterson 2000-10-27 22:43:51 +00:00
warren%netscape.com
84b5fd67e3 Bug 46711. Removed nsAutoString travisty from nsStringKey. Introduced nsCStringKey. Made them both share the underlying string when possible. r=waterson 2000-08-10 06:19:37 +00:00
inaky.gonzalez%intel.com
98157fd5a1 Fixed nsSupportsHashtable behaviour and API to fix leaks in
nsDirectoryService. Fixes bugs #38606 and #39859.

a=waterson; r=rayw,brendan,warren
2000-06-06 22:06:56 +00:00
pp%ludusdesign.com
58065dda04 Converting ::GetIID() into NS_GET_IID(). Bug #20232. r=scc, r=mozbot 2000-02-02 22:24:56 +00:00
hyatt%netscape.com
0dfb94bf0a Fixes for bugs: 18193, 13971, 23440, 18444, 21462, 21818, 22619, 23498, 24081, and 21972. r=just about everybody. 2000-01-25 06:35:27 +00:00
hyatt%netscape.com
e740cdb714 Fixes for bugs 17460 and 21656. r=travis 2000-01-14 09:28:54 +00:00
dmose%mozilla.org
5312eacf8c updated license boilerplate to xPL 1.1, a=chofmann@netscape.com,r=endico@mozilla.org 1999-11-06 03:40:37 +00:00
kipp%netscape.com
65f6ba5343 Cleanup moz-decl-counter usage and fix NS_LOG_ADDREF usage 1999-10-08 20:41:19 +00:00
pollmann%netscape.com
73c3c9952a Bug 13058: Make global enum a public member. 1999-09-15 02:30:39 +00:00
pollmann%netscape.com
6d66da90de Bug 13058: Tweaks to StatefulFrame interface - and the hash key formula 1999-09-14 01:59:33 +00:00
radha%netscape.com
62e13990a1 Dummy checkin to provide log information for the previous commit.
Basically in the previous commit, added a dictionary to the history
state object and made AddState() and get() use the dictionary
1999-09-03 22:19:03 +00:00
radha%netscape.com
e6d7dbf9ab *** empty log message *** 1999-09-03 22:10:57 +00:00
nisheeth%netscape.com
a208673213 Added get/set document state API for use by session history. 1999-08-30 22:38:58 +00:00