edburns%acm.org 7cd6437c44 This checkin enables CurrentPage.getSource() to return the actual source
bytes, including whitespace, that is being shown in the BrowserControl.
The source actually comes from the browser's cache, and is not
re-fetched over the network unless the browser doesn't have an entry in
the cache.

Next step is to fix up the TestBrowser to show off this feature.

A src_moz/LoadCompleteProgressListener.cpp
A src_moz/LoadCompleteProgressListener.h

 * Simple nsIWebProgressListener that offers a "loadComplete" property
 * that can be queried to determine if the load has completed.

A test/manual/src/classes/org/mozilla/webclient/test/DOMAccessPanel.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMCellRenderer.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMTreeDumper.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMTreeModel.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMTreeNotifier.java
A test/manual/src/classes/org/mozilla/webclient/test/DOMViewerFrame.java

- move over from Old test browser.  Produces some thread issues.

M src_moz/CurrentPageImpl.cpp

- Leverage LoadCompleteProgressListener to discover when it's safe to
  call "selectAll" on the window.

M src_moz/Makefile.in

- add LoadCompleteProgressListener

M test/automated/src/classes/org/mozilla/webclient/CurrentPageTest.java

- re-enable GetSource test

M test/automated/src/test/ViewSourceTest.html

- re-edit for ease of comparison in CurrentPageTest

M test/manual/src/classes/org/mozilla/webclient/test/TestBrowser.java

- Hack: viewSource button.  A menu would be better.


git-svn-id: svn://10.0.0.236/trunk@172378 18797224-902f-48f8-a5cc-f745e15eee43
2005-04-17 20:19:46 +00:00

204 lines
4.6 KiB
Makefile

# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Sun Microsystems,
# Inc. Portions created by Sun are
# Copyright (C) 1999 Sun Microsystems, Inc. All
# Rights Reserved.
#
# Contributor(s):
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
# IMPORTANT: on Linux, if building webclient with a non-debug mozilla
# tree, the libwidget_gtk.so binary produced will not work with
# webclient. Namely, the symbol handle_gdk_event__FP9_GdkEventPv will
# be defined locally, not globaly, as is required. For the webclient
# 1.0 release, we're going to bundle a libwidget_gtk.so with the xpi.
# If you want to do a non-debug build of your own, you must make sure
# yor libwidget_gtk.so is linked without these options:
# -DNDEBUG -DTRIMMED
# and with these options
# -DNDEBUG -DDEBUG_edburns
# If your libwidget_gtk.so has this symbol:
# 0003b2d0 T handle_gdk_event__FP9_GdkEventPv
# with the capital T, you're ok. The version of libwidget_gtk.so used
# in the webclient 1.0 bundle is available at:
# <http://www.mozilla.org/projects/blackwood/webclient/bin/1.0/libwidget_gtk.so>.
# to build WEBCLIENT_PACKAGE_BUILD on linux, grab libwidget_gtk.so from
# the above URL and put it in the same directory as this file.
include $(DEPTH)/config/autoconf.mk
ifneq ($(BAL_INTERFACE),)
LIBRARY_NAME = webclient_bal
else
LIBRARY_NAME = webclient
endif
REQUIRES = xpcom \
layout \
shistory \
find \
appcomps \
appshell \
pref \
locale \
intl \
rdf \
bookmarks \
content \
editor \
string \
embed_base \
webBrowser_core \
webbrwsr \
webshell \
windowwatcher \
profile \
necko \
docshell \
dom \
widget \
uriloader \
webbrowserpersist \
gfx \
gtkembedmoz \
$(NULL)
# BROKEN SOURCES
# CBrowserContainer.cpp \
# PromptActionEvents.cpp \
# CurrentPageActionEvents.cpp \
# HistoryActionEvents.cpp \
# ISupportsPeer.cpp \
# NativeEventThreadActionEvents.cpp \
# WindowControlActionEvents.cpp \
CPPSRCS = \
HistoryImpl.cpp \
WindowCreator.cpp \
nsActions.cpp \
NavigationActionEvents.cpp \
InputStreamShim.cpp \
NativeInputStreamImpl.cpp \
LoadCompleteProgressListener.cpp \
CurrentPageImpl.cpp \
NativeBrowserControl.cpp \
NativeWrapperFactory.cpp \
EmbedWindow.cpp \
EmbedProgress.cpp \
EmbedEventListener.cpp \
EventRegistrationImpl.cpp \
HttpHeaderVisitorImpl.cpp \
NativeEventThread.cpp \
NavigationImpl.cpp \
ns_util.cpp \
ns_util_export.cpp \
dom_util.cpp \
rdf_util.cpp \
BookmarksImpl.cpp \
RDFEnumeration.cpp \
RDFTreeNode.cpp \
wsRDFObserver.cpp \
PreferencesImpl.cpp \
ProfileManagerImpl.cpp \
WrapperFactoryImpl.cpp \
WindowControlImpl.cpp \
$(NULL)
ifeq ($(OS_ARCH),Linux)
CPPSRCS += \
gtk/GtkBrowserControlCanvas.cpp \
$(NULL)
DIRS = gtk
else
ifeq ($(OS_ARCH),WINNT)
CPPSRCS += \
win32/Win32BrowserControlCanvas.cpp \
$(NULL)
else
CPPSRCS += \
gtk/GtkBrowserControlCanvas.cpp \
$(NULL)
DIRS = gtk
endif
endif
EXTRA_LIBS += \
$(XPCOM_LIBS) \
$(NSPR_LIBS) \
$(DIST)/lib/$(LIB_PREFIX)embed_base_s.$(LIB_SUFFIX) \
$(NULL)
ifeq ($(OS_ARCH),WINNT)
EXTRA_LIBS += \
$(DIST)/lib/wc_share.lib \
$(MOZ_JDKHOME)/lib/jawt.lib \
$(NULL)
endif
include $(topsrcdir)/config/rules.mk
ifdef MOZ_ENABLE_GTK
ifndef MOZ_MONOLITHIC_TOOLKIT
CXXFLAGS += $(MOZ_GTK_CFLAGS)
CFLAGS += $(MOZ_GTK_CFLAGS)
EXTRA_DSO_LDOPTS += -lgtkxtbin -lgtksuperwin -lwc_share -lembed_base_s -L/usr/X11R6/lib -lXt
else
CXXFLAGS += $(TK_CFLAGS)
CFLAGS += $(TK_CFLAGS)
EXTRA_DSO_LDOPTS += -lgtkxtbin -lgtksuperwin -lwc_share -lembed_base_s -L/usr/X11R6/lib -lXt
endif
endif
ifneq ($(BAL_INTERFACE),)
CXXFLAGS += -DBAL_INTERFACE
endif
ifneq ($(BAL_INTERFACE),)
EXTRA_DSO_LDOPTS += -lwc_share_bal
else
ifneq ($(OS_ARCH),WINNT)
EXTRA_DSO_LDOPTS += -lwc_share
endif
endif
ifeq ($(OS_ARCH),Linux)
INCLUDES := -I$(MOZ_JDKHOME)/include -I$(MOZ_JDKHOME)/include/linux $(INCLUDES) \
-I$(DEPTH)/widget/src/gtk -I../src_share
else
ifeq ($(OS_ARCH),WINNT)
INCLUDES := -I$(MOZ_JDKHOME)/include -I$(MOZ_JDKHOME)/include/win32 $(INCLUDES) \
-I../src_share -I.
else
INCLUDES := -I$(MOZ_JDKHOME)/include -I$(MOZ_JDKHOME)/include/solaris $(INCLUDES) \
-I$(DEPTH)/widget/src/gtk -I../src_share
endif
endif
clobber_all:: clobber