Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 639504 Details for
Bug 872752
Embedding xulrunner can be fixed
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Patch to update mozembed
003-001-embedding-newxul-v5.patch (text/plain), 18.17 KB, created by
Zoltan Boszormenyi
on 2012-11-06 19:00:14 UTC
(
hide
)
Description:
Patch to update mozembed
Filename:
MIME Type:
Creator:
Zoltan Boszormenyi
Created:
2012-11-06 19:00:14 UTC
Size:
18.17 KB
patch
obsolete
>diff -durpN embedding-29ac0fe51754/common/ContentListener.cpp embedding-29ac0fe51754.1/common/ContentListener.cpp >--- embedding-29ac0fe51754/common/ContentListener.cpp 2010-09-02 19:24:18.000000000 +0200 >+++ embedding-29ac0fe51754.1/common/ContentListener.cpp 2012-11-05 12:42:08.744187957 +0100 >@@ -64,7 +64,7 @@ NS_IMPL_ISUPPORTS2(ContentListener, > nsISupportsWeakReference) > > NS_IMETHODIMP >-ContentListener::OnStartURIOpen(nsIURI *aURI, PRBool *aAbortOpen) >+ContentListener::OnStartURIOpen(nsIURI *aURI, bool *aAbortOpen) > { > nsresult rv; > nsCAutoString specString; >@@ -82,10 +82,10 @@ ContentListener::OnStartURIOpen(nsIURI * > > NS_IMETHODIMP > ContentListener::DoContent(const char * /*aContentType*/, >- PRBool /*aIsContentPreferred*/, >+ bool /*aIsContentPreferred*/, > nsIRequest * /*aRequest*/, > nsIStreamListener ** /*aContentHandler*/, >- PRBool * /*aAbortProcess*/) >+ bool * /*aAbortProcess*/) > { > return NS_ERROR_NOT_IMPLEMENTED; > } >@@ -93,7 +93,7 @@ ContentListener::DoContent(const char * > NS_IMETHODIMP > ContentListener::IsPreferred(const char * aContentType, > char ** aDesiredContentType, >- PRBool * aCanHandleContent) >+ bool * aCanHandleContent) > { > return CanHandleContent(aContentType, PR_TRUE, aDesiredContentType, > aCanHandleContent); >@@ -101,9 +101,9 @@ ContentListener::IsPreferred(const char > > NS_IMETHODIMP > ContentListener::CanHandleContent(const char * aContentType, >- PRBool /*aIsContentPreferred*/, >+ bool /*aIsContentPreferred*/, > char ** aDesiredContentType, >- PRBool * _retval) >+ bool * _retval) > { > *_retval = PR_FALSE; > *aDesiredContentType = nsnull; >diff -durpN embedding-29ac0fe51754/common/embed.cpp embedding-29ac0fe51754.1/common/embed.cpp >--- embedding-29ac0fe51754/common/embed.cpp 2010-09-02 19:24:18.000000000 +0200 >+++ embedding-29ac0fe51754.1/common/embed.cpp 2012-11-05 12:42:08.745187964 +0100 >@@ -40,6 +40,10 @@ > * > * ***** END LICENSE BLOCK ***** */ > >+#include "mozilla-config.h" >+ >+#pragma GCC visibility push(hidden) >+ > #include "embed.h" > #include "EmbeddingSetup.h" > #include "WebBrowserChrome.h" >@@ -47,11 +51,6 @@ > #include "ContentListener.h" > #include "DOMEventListener.h" > >-// CRT headers >-#include <iostream> >-#include <string> >-using namespace std; >- > #include "nsXULAppAPI.h" > #include "nsXPCOMGlue.h" > #include "nsCOMPtr.h" >@@ -64,8 +63,7 @@ using namespace std; > #include "nsIConsoleService.h" > #include "nsIDocShellTreeItem.h" > #include "nsIDOMEventTarget.h" >-#include "nsIDOMWindow2.h" >-#include "nsIDOMWindowInternal.h" >+#include "nsIDOMWindow.h" > #include "nsIPrefBranch.h" > #include "nsIPrefService.h" > #include "nsIScriptContext.h" >@@ -82,6 +80,13 @@ using namespace std; > #include "nsIWindowCreator2.h" > #include "nsIWindowWatcher.h" > >+#pragma GCC visibility pop >+ >+// CRT headers >+#include <iostream> >+#include <string> >+using namespace std; >+ > // globals > static nsCOMPtr<WindowCreator> sWindowCreator; > >@@ -138,7 +143,7 @@ nsresult MozApp::GetCharPref(const char > return pref->GetCharPref(aName, aValue); > } > >-nsresult MozApp::GetBoolPref(const char *aName, PRBool *aValue) >+nsresult MozApp::GetBoolPref(const char *aName, bool *aValue) > { > nsresult rv; > >@@ -213,7 +218,7 @@ public: > MozView* mParentView; > > nsCOMPtr<nsIWebBrowser> mWebBrowser; >- nsCOMPtr<nsIDOMWindow2> mDOMWindow; >+ nsCOMPtr<nsIDOMWindow> mDOMWindow; > nsCOMPtr<nsIWebNavigation> mWebNavigation; > nsCOMPtr<nsIWebBrowserChrome> mChrome; > nsCOMPtr<nsIURIContentListener> mContentListener; >@@ -267,7 +272,7 @@ NS_IMETHODIMP > WindowCreator::CreateChromeWindow2(nsIWebBrowserChrome *aParent, > PRUint32 aChromeFlags, > PRUint32 /*aContextFlags*/, >- nsIURI * /*aUri*/, PRBool * /*aCancel*/, >+ nsIURI * /*aUri*/, bool * /*aCancel*/, > nsIWebBrowserChrome **_retval) > { > return CreateChromeWindow(aParent, aChromeFlags, _retval); >@@ -442,16 +447,16 @@ nsresult MozView::GoForward() > return mPrivate->mWebNavigation->GoForward(); > } > >-PRBool MozView::CanGoBack() >+bool MozView::CanGoBack() > { >- PRBool allowBack; >+ bool allowBack; > mPrivate->mWebNavigation->GetCanGoBack(&allowBack); > return allowBack; > } > >-PRBool MozView::CanGoForward() >+bool MozView::CanGoForward() > { >- PRBool allowForward; >+ bool allowForward; > mPrivate->mWebNavigation->GetCanGoForward(&allowForward); > return allowForward; > } >@@ -534,7 +539,7 @@ void * MozView::GetBrowser() > return mPrivate->mWebBrowser; > } > >-nsIDOMWindow2 * MozView::GetDOMWindow() >+nsIDOMWindow * MozView::GetDOMWindow() > { > return mPrivate->mDOMWindow; > } >@@ -549,7 +554,7 @@ bool MozView::FindText(const PRUnichar * > bool aEntireWord, bool aBackwards) > { > nsAutoString str(aSubString); >- PRBool result; >+ bool result; > nsCOMPtr<nsIDOMWindowInternal> dom_window_internal = > do_QueryInterface(mPrivate->mDOMWindow); > dom_window_internal->Find(str, >@@ -570,8 +575,8 @@ char* MozView::EvaluateJavaScript(const > nsString retval; > nsCOMPtr<nsIScriptObjectPrincipal> sgoPrincipal = do_QueryInterface(sgo); > ctx->EvaluateString(NS_ConvertUTF8toUTF16(aScript), sgo->GetGlobalJSObject(), >- sgoPrincipal->GetPrincipal(), >- "mozembed", 0, nsnull, &retval, nsnull); >+ sgoPrincipal->GetPrincipal(), sgoPrincipal->GetPrincipal(), >+ "mozembed", 0, JSVERSION_DEFAULT, &retval, nsnull); > > NS_ConvertUTF16toUTF8 retvalUtf8(retval); > char* temp = new char[retvalUtf8.Length() + 1]; >diff -durpN embedding-29ac0fe51754/common/EmbeddingSetup.cpp embedding-29ac0fe51754.1/common/EmbeddingSetup.cpp >--- embedding-29ac0fe51754/common/EmbeddingSetup.cpp 2010-09-02 19:24:18.000000000 +0200 >+++ embedding-29ac0fe51754.1/common/EmbeddingSetup.cpp 2012-11-05 12:42:08.746187971 +0100 >@@ -79,7 +79,7 @@ static int gInitCount = 0; > // ------------------------------------------------------------------------ > > nsIDirectoryServiceProvider *sAppFileLocProvider = 0; >-nsCOMPtr<nsILocalFile> sProfileDir = 0; >+nsCOMPtr<nsIFile> sProfileDir = 0; > nsISupports * sProfileLock = 0; > > class MozEmbedDirectoryProvider : public nsIDirectoryServiceProvider2 >@@ -109,7 +109,7 @@ MozEmbedDirectoryProvider::Release() > } > > NS_IMETHODIMP >-MozEmbedDirectoryProvider::GetFile(const char *aKey, PRBool *aPersist, >+MozEmbedDirectoryProvider::GetFile(const char *aKey, bool *aPersist, > nsIFile* *aResult) > { > if (sAppFileLocProvider) { >@@ -157,6 +157,7 @@ nsresult InitEmbedding(const char* aProf > if (gInitCount > 1) > return NS_OK; > >+#if 0 > // Find the GRE (xul shared lib). We are only using frozen interfaces, so we > // should be compatible all the way up to (but not including) mozilla 2.0 > static const GREVersionRange vr = { >@@ -169,6 +170,16 @@ nsresult InitEmbedding(const char* aProf > char temp[MAX_PATH]; > rv = GRE_GetGREPathWithProperties(&vr, 1, nsnull, 0, temp, sizeof(temp)); > string xpcomPath(temp); >+#else >+ >+#if __WORDSIZE == 64 >+ string xpcomPath("/usr/lib64/xulrunner/libxpcom.so"); >+#else >+ string xpcomPath("/usr/lib/xulrunner/libxpcom.so"); >+#endif >+ >+#endif >+ > cout << "xpcom: " << xpcomPath << endl; > > if (NS_FAILED(rv)) { >@@ -210,7 +221,7 @@ nsresult InitEmbedding(const char* aProf > string xpcomDir = xpcomPath.substr(0, lastslash); > > // create nsILocalFile pointing to xpcomDir >- nsCOMPtr<nsILocalFile> xuldir; >+ nsCOMPtr<nsIFile> xuldir; > rv = NS_NewNativeLocalFile(nsCString(xpcomDir.c_str()), PR_FALSE, > getter_AddRefs(xuldir)); > if (NS_FAILED(rv)) { >@@ -219,7 +230,7 @@ nsresult InitEmbedding(const char* aProf > return 6; > } > >- // create nsILocalFile pointing to appdir >+ // create nsIFile pointing to appdir > char self[MAX_PATH]; > #ifdef WIN32 > GetModuleFileNameA(GetModuleHandle(NULL), self, sizeof(self)); >@@ -238,7 +249,7 @@ nsresult InitEmbedding(const char* aProf > > selfPath = selfPath.substr(0, lastslash); > >- nsCOMPtr<nsILocalFile> appdir; >+ nsCOMPtr<nsIFile> appdir; > rv = NS_NewNativeLocalFile(nsCString(selfPath.c_str()), PR_FALSE, > getter_AddRefs(appdir)); > if (NS_FAILED(rv)) { >@@ -262,7 +273,7 @@ nsresult InitEmbedding(const char* aProf > } > > // create dir if needed >- PRBool dirExists; >+ bool dirExists; > rv = sProfileDir->Exists(&dirExists); > NS_ENSURE_SUCCESS(rv, rv); > if (!dirExists) { >diff -durpN embedding-29ac0fe51754/common/embed.h embedding-29ac0fe51754.1/common/embed.h >--- embedding-29ac0fe51754/common/embed.h 2010-09-02 19:24:18.000000000 +0200 >+++ embedding-29ac0fe51754.1/common/embed.h 2012-11-05 12:42:08.747187978 +0100 >@@ -41,6 +41,7 @@ > #ifndef MOZEMBED_EMBED_H > #define MOZEMBED_EMBED_H > >+#include <stdint.h> > #include "prtypes.h" > > typedef PRUint32 nsresult; >@@ -48,7 +49,7 @@ typedef PRUint32 nsresult; > class MozViewListener; > class WindowCreator; > >-class nsIDOMWindow2; >+class nsIDOMWindow; > class nsIDOMWindowInternal; > class nsIInterfaceRequestor; > class nsIWebNavigation; >@@ -121,7 +122,7 @@ public: > * @param aValue the result is stored here. > * @return 0 on success > */ >- nsresult GetBoolPref(const char *aName, PRBool *aValue); >+ nsresult GetBoolPref(const char *aName, bool *aValue); > > /** > * Get an integer preference. >@@ -237,14 +238,14 @@ public: > * > * @return true if the browser can go back, false if not > */ >- PRBool CanGoBack(); >+ bool CanGoBack(); > > /** > * Indicates if the browser can go forward. > * > * @return true if the browser can go forward, false if not > */ >- PRBool CanGoForward(); >+ bool CanGoForward(); > > /** > * Change focus for the browser view. >@@ -329,11 +330,11 @@ public: > void * GetBrowser(); > > /** >- * Convenience method to get the nsIDOMWindow2. >+ * Convenience method to get the nsIDOMWindow. > * > * @return A pointer to the DOMWindow interface. > */ >- nsIDOMWindow2 * GetDOMWindow(); >+ nsIDOMWindow * GetDOMWindow(); > > /** > * Convenience method to get the nsIWebNavigation. >diff -durpN embedding-29ac0fe51754/common/WebBrowserChrome.cpp embedding-29ac0fe51754.1/common/WebBrowserChrome.cpp >--- embedding-29ac0fe51754/common/WebBrowserChrome.cpp 2010-09-02 19:24:18.000000000 +0200 >+++ embedding-29ac0fe51754.1/common/WebBrowserChrome.cpp 2012-11-05 12:42:08.747187978 +0100 >@@ -147,7 +147,7 @@ NS_IMETHODIMP WebBrowserChrome::ShowAsMo > return NS_OK; > } > >-NS_IMETHODIMP WebBrowserChrome::IsWindowModal(PRBool *_retval) >+NS_IMETHODIMP WebBrowserChrome::IsWindowModal(bool *_retval) > { > NS_ENSURE_ARG_POINTER(_retval); > *_retval = mIsModal; >@@ -211,9 +211,10 @@ NS_IMETHODIMP WebBrowserChrome::OnProgre > return NS_ERROR_NOT_IMPLEMENTED; > } > >-NS_IMETHODIMP WebBrowserChrome::OnLocationChange(nsIWebProgress * /*aWebProgress*/, >+NS_IMETHODIMP WebBrowserChrome::OnLocationChange(nsIWebProgress *aWebProgress, > nsIRequest * /*aRequest*/, >- nsIURI *aLocation) >+ nsIURI *aLocation, >+ PRUint32 aFlags) > { > NS_ENSURE_ARG_POINTER(aLocation); > >@@ -270,12 +271,17 @@ NS_IMETHODIMP WebBrowserChrome::SetFocus > return NS_ERROR_NOT_IMPLEMENTED; > } > >-NS_IMETHODIMP WebBrowserChrome::GetVisibility(PRBool * /*aVisibility*/) >+NS_IMETHODIMP WebBrowserChrome::Blur() > { > return NS_ERROR_NOT_IMPLEMENTED; > } > >-NS_IMETHODIMP WebBrowserChrome::SetVisibility(PRBool aVisibility) >+NS_IMETHODIMP WebBrowserChrome::GetVisibility(bool * /*aVisibility*/) >+{ >+ return NS_ERROR_NOT_IMPLEMENTED; >+} >+ >+NS_IMETHODIMP WebBrowserChrome::SetVisibility(bool aVisibility) > { > MozViewListener* pListener = pMozView->GetListener(); > if (!pListener) >diff -durpN embedding-29ac0fe51754/gtk/common/moz-web-view-common.cpp embedding-29ac0fe51754.1/gtk/common/moz-web-view-common.cpp >--- embedding-29ac0fe51754/gtk/common/moz-web-view-common.cpp 2010-09-02 19:24:18.000000000 +0200 >+++ embedding-29ac0fe51754.1/gtk/common/moz-web-view-common.cpp 2012-11-05 12:42:08.748187985 +0100 >@@ -119,7 +119,7 @@ moz_web_view_get_bool_pref(const char *n > { > g_return_val_if_fail(init_count > 0, FALSE); > >- return NS_SUCCEEDED(app->GetBoolPref(name, value)); >+ return NS_SUCCEEDED(app->GetBoolPref(name, (bool *)value)); > } > > gboolean >diff -durpN embedding-29ac0fe51754/gtk/tests/Makefile.x11 embedding-29ac0fe51754.1/gtk/tests/Makefile.x11 >--- embedding-29ac0fe51754/gtk/tests/Makefile.x11 2010-09-02 19:24:18.000000000 +0200 >+++ embedding-29ac0fe51754.1/gtk/tests/Makefile.x11 2012-11-05 12:42:08.748187985 +0100 >@@ -35,8 +35,8 @@ > # > # ***** END LICENSE BLOCK ***** > >-MOZ_CFLAGS=-DMOZ_DLL_SUFFIX="\".so\"" `pkg-config --cflags libxul-embedding-unstable` >-MOZ_LIBS=`pkg-config --libs libxul-embedding-unstable` >+MOZ_CFLAGS=-DMOZ_DLL_SUFFIX="\".so\"" `pkg-config --cflags libxul-embedding` >+MOZ_LIBS=`pkg-config --libs libxul-embedding` > > CFLAGS=-fno-rtti -I../common -I../include `pkg-config --cflags gtk+-2.0 libmozwebview` $(MOZ_CFLAGS) > LDFLAGS=`pkg-config --libs gtk+-2.0 libmozwebview` $(MOZ_LIBS) >diff -durpN embedding-29ac0fe51754/gtk/x11/configure.ac embedding-29ac0fe51754.1/gtk/x11/configure.ac >--- embedding-29ac0fe51754/gtk/x11/configure.ac 2010-09-02 19:24:18.000000000 +0200 >+++ embedding-29ac0fe51754.1/gtk/x11/configure.ac 2012-11-05 12:57:31.906362547 +0100 >@@ -58,7 +58,7 @@ PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.0. > AC_SUBST(GTK_CFLAGS) > AC_SUBST(GTK_LIBS) > >-PKG_CHECK_MODULES(LIBXUL_EMBEDDING, [libxul-embedding], [], [AC_MSG_ERROR([libxul-embedding is required])]) >+PKG_CHECK_MODULES(LIBXUL_EMBEDDING, [libxul-embedding-lib], [], [AC_MSG_ERROR([libxul-embedding-lib is required])]) > AC_SUBST(LIBXUL_EMBEDDING_CFLAGS) > AC_SUBST(LIBXUL_EMBEDDING_LIBS) > >@@ -66,11 +66,13 @@ dnl marshal generator > GLIB_GENMARSHAL="`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`" > AC_SUBST(GLIB_GENMARSHAL) > >-LIBMOZWEBVIEW_REQUIRES="gtk+-2.0 libxul-embedding-unstable" >+LIBMOZWEBVIEW_REQUIRES="gtk+-2.0 libxul-embedding-lib" > PACKAGE_CFLAGS="$MOZILLA_JS_CFLAGS $LIBXUL_EMBEDDING_CFLAGS $GTK_CFLAGS" >+MINCLUDEDIR="${includedir}/mozembed" > > AC_SUBST(LIBMOZWEBVIEW_REQUIRES) > AC_SUBST(PACKAGE_CFLAGS) >+AC_SUBST(MINCLUDEDIR) > > AC_OUTPUT([ > Makefile >diff -durpN embedding-29ac0fe51754/gtk/x11/libmozwebview.pc.in embedding-29ac0fe51754.1/gtk/x11/libmozwebview.pc.in >--- embedding-29ac0fe51754/gtk/x11/libmozwebview.pc.in 2010-09-02 19:24:18.000000000 +0200 >+++ embedding-29ac0fe51754.1/gtk/x11/libmozwebview.pc.in 2012-11-05 12:54:18.595061186 +0100 >@@ -2,7 +2,7 @@ > prefix=@prefix@ > exec_prefix=@exec_prefix@ > libdir=@libdir@ >-includedir=@includedir@ >+includedir=@MINCLUDEDIR@ > > > Name: libmozwebview >diff -durpN embedding-29ac0fe51754/gtk/x11/Makefile.am embedding-29ac0fe51754.1/gtk/x11/Makefile.am >--- embedding-29ac0fe51754/gtk/x11/Makefile.am 2010-09-02 19:24:18.000000000 +0200 >+++ embedding-29ac0fe51754.1/gtk/x11/Makefile.am 2012-11-05 12:54:07.161984063 +0100 >@@ -45,7 +45,7 @@ lib_LTLIBRARIES = libmozwebview.la > > libmozwebview_la_SOURCES = \ > ../common/moz-web-view-marshal.c \ >- moz-web-view.c \ >+ moz-web-view.cpp \ > ../../common/embed.cpp \ > ../../common/WebBrowserChrome.cpp \ > ../../common/EmbeddingSetup.cpp \ >@@ -55,7 +55,9 @@ libmozwebview_la_SOURCES = \ > ../common/moz-web-view-common.cpp \ > $(NULL) > >-include_HEADERS = \ >+mincludedir = @MINCLUDEDIR@ >+ >+minclude_HEADERS = \ > $(top_srcdir)/../../common/embed.h \ > $(top_srcdir)/../include/moz-web-view.h > $(NULL) >@@ -64,13 +66,13 @@ noinst_HEADERS = \ > $(srcdir)/../common/moz-web-view-marshal.h \ > $(NULL) > >-MOZ_CFLAGS = -DMOZ_DLL_SUFFIX="\".so\"" >+MOZ_CFLAGS = -DMOZ_DLL_SUFFIX="\".so\"" -DXPCOM_GLUE_USE_NSPR -std=gnu++0x -pthread > > CFLAGS += $(MOZ_CFLAGS) $(GTK_CFLAGS) $(LIBXUL_EMBEDDING_CFLAGS) -fno-rtti > CPPFLAGS += $(CFLAGS) > LDFLAGS += $(GTK_LIBS) $(LIBXUL_EMBEDDING_LIBS) > >-pkgconfigdir = $(prefix)/lib/pkgconfig >+pkgconfigdir = $(libdir)/pkgconfig > > pkgconfig_DATA = $(top_srcdir)/libmozwebview.pc > >diff -durpN embedding-29ac0fe51754/gtk/x11/moz-web-view.cpp embedding-29ac0fe51754.1/gtk/x11/moz-web-view.cpp >--- embedding-29ac0fe51754/gtk/x11/moz-web-view.cpp 2010-09-02 19:24:18.000000000 +0200 >+++ embedding-29ac0fe51754.1/gtk/x11/moz-web-view.cpp 2012-11-05 12:42:20.909268192 +0100 >@@ -46,32 +46,32 @@ public: > virtual void SetTitle(const char *new_title) { > update_property (mView, PROP_TITLE, new_title); > g_signal_emit (mView, signals[TITLE_CHANGED], >- NULL, new_title); >+ 0, new_title); > } > > virtual void StatusChanged(const char *new_status, PRUint32 flags) { > update_property (mView, PROP_STATUS, new_status); > g_signal_emit (mView, signals[STATUS_CHANGED], >- NULL, new_status); >+ 0, new_status); > } > > virtual void LocationChanged(const char *new_uri) { > update_property (mView, PROP_LOCATION, new_uri); > g_signal_emit (mView, signals[LOCATION_CHANGED], >- NULL, new_uri); >+ 0, new_uri); > } > > virtual PRBool OpenURI(const char* new_uri) { > gboolean abort_load = FALSE; > update_property (mView, PROP_REQUESTED_URI, new_uri); > g_signal_emit (mView, signals[URI_REQUESTED], >- NULL, new_uri, &abort_load); >+ 0, new_uri, &abort_load); > > return abort_load; > } > > virtual void DocumentLoaded() { >- g_signal_emit (mView, signals[DOCUMENT_LOADED], NULL); >+ g_signal_emit (mView, signals[DOCUMENT_LOADED], 0); > } > > private:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 872752
:
637292
|
639501
| 639504