Граф коммитов

125 Коммитов

Автор SHA1 Сообщение Дата
J. Ryan Stinnett 013ba36705 Bug 1242644 - HTML swapFrameLoaders. r=bz
Adds swapFrameLoaders for HTML frames.  It is also possible to swap frame
loaders between XUL and HTML frames.

MozReview-Commit-ID: 43JeiBuMcOL
2016-03-31 19:47:44 -05:00
David Anderson f3dc22db8d Rename PCompositor to PCompositorBridge. (bug 1258479 part 2, r=mattwoodrow)
--HG--
rename : gfx/layers/ipc/CompositorChild.cpp => gfx/layers/ipc/CompositorBridgeChild.cpp
rename : gfx/layers/ipc/CompositorChild.h => gfx/layers/ipc/CompositorBridgeChild.h
rename : gfx/layers/ipc/CompositorParent.cpp => gfx/layers/ipc/CompositorBridgeParent.cpp
rename : gfx/layers/ipc/CompositorParent.h => gfx/layers/ipc/CompositorBridgeParent.h
2016-03-22 14:08:38 -04:00
Yoshi Huang e8cb28ed02 Bug 1252811 - remove mIsInIsolatedMozBrowser from nsDocShell. r=smaug 2016-03-07 12:21:49 +08:00
Yoshi Huang ce8e69a274 Bug 1227861 - Add OriginAttributes getter/setter into nsIDocShell. r=smaug, sicking 2016-02-16 15:04:14 +08:00
J. Ryan Stinnett 95f8000ac8 Bug 1238160 - Add assertions in non-desktop code paths. r=bz,fabrice
Several code paths try to ask the principal if it's in a browser element, but
the principal now only knows about *isolated* browser elements.  All such code
paths are currently unused on desktop.  The frame loader now asserts that
isolation remains enabled for cases where apps are used.

MozReview-Commit-ID: 775DZecc35t
2016-03-02 10:35:56 -06:00
J. Ryan Stinnett 764b9f1ffa Bug 1238160 - Set frame type on TabContext. r=billm,mayhemer
This change renames TabContext::IsBrowserElement to IsIsolatedMozBrowserElement.
Other methods that pass these values around also have name changes.

Adds TabContext::IsMozBrowserElement which is set by the frame loader for all
browser frames.  This is in contrast to its previous implementation, which has
since been renamed IsIsolatedMozBrowserElement, since it checks isolated state
in OriginAttributes.

TabContext methods related to browser elements (and their callers) are updated
to use IsIsolatedMozBrowserElement when check isolation / origins and
IsMozBrowserElement when checking frame types.

MozReview-Commit-ID: DDMZTkSn5yd
2016-03-02 10:35:56 -06:00
J. Ryan Stinnett 777c113bb3 Bug 1238160 - Set docshell isolation mode. r=smaug
Renames nsDocShell isBrowser* attributes to add a "Moz" prefix for clarity.

Adds nsDocShell::GetIsIsolatedMozBrowserElement, which parallels
GetIsInIsolatedMozBrowserElement, but only checks the immediate docshell.

Adds nsDocShell::SetIsInIsolatedMozBrowserElement for the frame loader and tab
child to set the isolation state.

nsDocShell methods related to mozbrowser elements (and their callers) are
updated to use GetIs(In)?IsolatedMozBrowserElement when checking isolation /
origins and GetIsMozBrowserElement when checking frame types.

MozReview-Commit-ID: 6pGD5fF47ZN
2016-03-02 10:35:56 -06:00
J. Ryan Stinnett a6d2c487b5 Bug 1238160 - Set tab context's isolation from frame attr. r=smaug
Renames existing nsFrameLoader::OwnerIsBrowser* methods to add "Moz" prefix for
clarity.

Adds nsFrameLoader::OwnerIsIsolatedMozBrowserFrame which checks the noisolation
attribute of mozbrowser frames, if present.

This is used to set isolation in nsFrameLoader::GetNewTabContext only when true.

MozReview-Commit-ID: Dz02xBoKh1P
2016-03-02 10:35:56 -06:00
J. Ryan Stinnett 2a55d065b7 Bug 1238160 - Rename OriginAttributes.mInBrowser and associated methods. r=bz,mayhemer
This change renames OriginAttributes.mInBrowser to mInIsolatedMozBrowser and
nsIPrincipal::GetIsInBrowserElement to GetIsInIsolatedMozBrowserElement.  Other
methods that pass these values around also have name changes.

Tokens such as "inBrowser" have previously been serialized into cache keys, used
as DB column names, stored in app registries, etc.  No changes are made to any
serialization formats.  Only runtime method and variable names are updated.

No behavior changes are made in this patch, so some renamed methods may have
nonsensical implementations.  These are corrected in subsequent patches
focused on behavior.

MozReview-Commit-ID: 66HfMlsXFLs
2016-03-02 10:35:56 -06:00
Mike de Boer 16115798a5 Bug 1250871 - only send messages to child scripts when the docShell is still around. r=smaug 2016-02-29 12:25:48 +01:00
Olli Pettay 945a19d7cd Bug 1249795 - Clear strong refs to message managers once we've destroyed nsFrameLoader, r=billm 2016-02-20 12:33:30 +02:00
Mike de Boer 4af5fc2b24 Bug 1154277: Part 1 - allow to swap docShells on remote browsers that are not a child of a BrowserDOMWindow. r=smaug 2016-02-04 12:50:03 +01:00
Kyle Huey 91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
David Rajchenbach-Teller 42b6a4145f Bug 1224374 - Profiler labels for the 25 top chrome hangs;r=BenWa,MarcoZ
Experience shows that we do not have enough profiler labels to make
BHR hang reports meaningful. This patch adds enough labels to let us
exploit hang reports matching the 25 topmost chrome hangs.

--HG--
extra : rebase_source : b9ec379c58255a250db1020377147c95c82df712
2016-01-14 23:03:11 +01:00
Sebastian Hengst d8d4a2d1a5 Backed out 2 changesets (bug 1224374) for Windows bustage. r=bustage on a CLOSED TREE
Backed out changeset 5f458e6e4997 (bug 1224374)
Backed out changeset 0dc02cb0b604 (bug 1224374)
2016-01-19 21:30:41 +01:00
David Rajchenbach-Teller f5531f5260 Bug 1224374 - Profiler labels for the 25 top chrome hangs;r=BenWa,MarcoZ
Experience shows that we do not have enough profiler labels to make
BHR hang reports meaningful. This patch adds enough labels to let us
exploit hang reports matching the 25 topmost chrome hangs.

--HG--
extra : rebase_source : b9ec379c58255a250db1020377147c95c82df712
2016-01-14 23:03:11 +01:00
Andrea Marchesini 61ab7bb2ca Bug 1237364 - nsFrameLoader.cpp can set the userContextId directly using nsIDocShell, r=smaug 2016-01-06 20:02:41 +00:00
Bogdan Postelnicu 9242692238 Bug 1236900 - Remove useless null check since mOwnerContent cannot be null. r=jst
--HG--
extra : amend_source : f6f9afd2cd7d81c29aa3705f332b42ae19d83423
2016-01-06 00:56:00 -05:00
Bill McCloskey a4a149fd8d Bug 1211401 - Use global message manager as parent of <iframe mozbrowser> MM (r=smaug,ahal) 2015-12-23 12:29:39 -08:00
Kate McKinley 20bcd25937 Bug 1191460 Rebased patch and added userContextId to origin attributes. (r=tanvi,r=sicking) 2015-11-24 10:40:02 +09:00
Franziskus Kiefer 6bf24410e1 Bug 1187357 - rename referrer attribute to referrerpolicy. r=hsivonen 2015-11-30 16:13:03 -08:00
Yoshi Huang 4b500464f5 Bug 1209162 - Create OriginAttributes subtypes. IGNORE IDL r=sicking. 2015-11-03 09:50:54 +08:00
Birunthan Mohanathas 9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Henry 9fe43dfb43 Bug 1180088 - Use origin-based permission check on parent side for signed packaged web app. r=kanru. 2015-10-22 05:44:00 +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
Nathan Froyd fe57e31ffe Bug 1212027 - part 7 - modify IPDL codegen to store sub-protocols in a hashtable rather than an array; r=jld,nical,cpearce,billm 2015-10-07 14:30:33 -04:00
Carsten "Tomcat" Book 6ffd4fc09b Merge m-c to mozilla-inbound 2015-10-14 12:47:31 +02:00
Kan-Ru Chen 8fe3285641 Bug 1191740 - Factor out nsFrameLoader::GetNewTabContext. r=bholley 2015-10-14 10:52:07 +08:00
Steven Englehardt c184280166 Bug 1191740 - Add originAttributes in TabContext. r=bholley 2015-10-14 10:52:06 +08:00
David Rajchenbach-Teller cbe8e23af4 Bug 1212244 - Same-process sendAsyncMessage can now throw instead of OOM. r=smaug
--HG--
extra : rebase_source : 50d89efacee7103452218782c92a53a7cf07dd9b
2015-10-07 12:42:43 +02:00
Olli Pettay 73e3069a93 Bug 1209621 - Add a way to get the TabParent for the content-primary tab, r=mconley
--HG--
extra : rebase_source : 2755b86bf3b247cbb2931eda3cc9433d2878125e
2015-10-01 20:06:51 +03:00
Kit Cambridge a958ff06d5 Bug 1209361 - Add missing includes to `dom/base`. r=mccr8
--HG--
extra : commitid : 3rsv1VgB0jB
extra : rebase_source : 677d913e8a0e0955963bbdb65d0e759e9148df7a
2015-09-28 21:31:56 -07:00
Kan-Ru Chen 352ceeac46 Bug 1186843 - Don't recreate message manager. r=smaug 2015-09-21 17:51:08 +08:00
Michael Layzell 0097c41e01 Bug 1201190 - Part 3: Mark every consumer of GUARD_OBJECT as MOZ_RAII, r=ehsan 2015-09-12 16:53:33 -04:00
Andrea Marchesini cd4473d62f Bug 1203426 - Rename StructuredCloneIPCHelper to StructuredCloneData, r=smaug
--HG--
rename : dom/ipc/StructuredCloneIPCHelper.cpp => dom/ipc/StructuredCloneData.cpp
rename : dom/ipc/StructuredCloneIPCHelper.h => dom/ipc/StructuredCloneData.h
2015-09-10 21:50:58 +01:00
Kan-Ru Chen 57f614afaf Bug 1170894 - Implement nsIFrameLoader::SwitchProcessAndLoadURI. r=smaug 2015-09-03 13:21:21 +08:00
Andrea Marchesini efd3b25c78 Bug 1198795 - ipc/StructuredCloneUtils should be merged with StructuredCloneHelper, r=smaug
--HG--
rename : dom/ipc/StructuredCloneUtils.cpp => dom/ipc/StructuredCloneIPCHelper.cpp
rename : dom/ipc/StructuredCloneUtils.h => dom/ipc/StructuredCloneIPCHelper.h
2015-09-02 17:20:30 +01:00
chunminchang 411d08fdb3 Bug 1114507 - Part 1: Add/release the appId's refcnt if frame is in main process. r=kanru 2015-08-20 23:38:00 -04:00
Carsten "Tomcat" Book 5fc6f6bfbb Backed out changeset e4e12583c280 (bug 1170894) for various mochitest testfailures on a CLOSED TREE 2015-09-01 09:39:25 +02:00
Kan-Ru Chen 5c7496d286 Bug 1170894 - Implement nsIFrameLoader::SwitchProcessAndLoadURI. r=smaug 2015-09-01 12:54:36 +08:00
Mike Conley 77af80c31b Bug 1141337 - Update nsIWebBrowserPersistable to allow subframe targeting for Save Frame As. r=jld
This alters nsIWebBrowserPersistable so that startPersistence takes an
outerWindowID. This allows us to target a particular subframe from
beneath an nsFrameLoader, which is useful when attempting to Save
Frame As a remote browser.

--HG--
extra : commitid : KWck2rfRjXw
extra : rebase_source : d2390a8cf1b830e4e1c0fa52574455fbc0b05c14
2015-08-06 10:44:16 -04:00
Ehsan Akhgari 51c93c7eea Bug 1192252 - Add a helper RAII class for managing the cleanup in nsFrameLoader::SwapWithOtherLoader; r=smaug 2015-08-07 12:36:57 -04:00
Ehsan Akhgari 4db099dbd2 Bug 1191491 - Do not dispatch an audio-playback notification when swapping browsers; r=smaug
We send a pagehide event during swapping docshell frame loaders, and
before this patch we would not be able to differentiate this event with
the one that we send when navigating away from a page, so we would
incorrectly dispatch an audio-playback notification indicating that
audio playback has stopped.  This patch adds a flag to the root docshell
when the frame loader swapping is in progress and disables the above
behavior when that flag is set.
2015-08-07 12:18:24 -04:00
Jed Davis f9cdea85fa Bug 1101100 - Multiprocess-enable nsWebBrowserPersist. r=billm
The high-level overview is that the parts of nsWebBrowserPersist which
access the DOM have been factored out (as WebBrowserPersistLocalDocument)
and abstracted (nsIWebBrowserPersistDocument) such that they can be
implemented in the cross-process case using IPC.
2015-08-05 14:25:39 -07:00
Kan-Ru Chen c39f43550c Bug 1190245 - Make frame script loading and browser-api initialization easier to follow. r=smaug
Load frame script and initialize browser-api at the end of (1) DocShell
creation (2) RemoteBrowser creation (3) SetRemoteBrowser
2015-08-04 11:10:50 +08:00
Kan-Ru Chen 309aa3cc1d Bug 1190245 - Make the MaybeCreateDocShell using code path easier to follow. r=smaug
Don't rely on MaybeCreateDocShell to set mRemoteFrame so we don't have
to call MaybeCreateDocShell in weird places. Instead we set mRemoteFrame
early in the nsFrameLoader constructor. This should still allow us to
switch default remoteness dynamically.
2015-08-04 11:10:50 +08:00
Kan-Ru Chen e547fb4623 Bug 1190245 - Separate mMessageManager creation and FrameScript loading. r=smaug 2015-08-04 11:10:49 +08:00
Robert O'Callahan 1e49288224 Bug 1184842. Pass aOldValue to all mutation observers. r=peterv
--HG--
extra : commitid : CYjyQn3BAqb
extra : rebase_source : ef153c7cf1e08a058d8de6a76dbe7dc343a299fb
2015-07-25 18:01:19 +12:00
Franziskus Kiefer cafd09a21a Bug 1175736 - Implement the iframe referrer attribute. r=ckerschb, r=bz 2015-07-17 10:46:19 -07:00
Juan Gomez 258ad59e3f Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00