[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:24:35 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit cd0f59e609a2545bafd3e1607ad0f0f48a5a2f61
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Feb 13 22:40:07 2003 +0000
Reviewed by Trey.
- fixed 3162806 -- REGRESSION: handle == h assertion when clicking headphone link at cnn.com
* khtml/ecma/kjs_window.cpp: (HistoryFunc::tryCall): Instead of trying to actually do the
history navigation here, call the new KHTMLPart::scheduleHistoryNavigation.
* khtml/khtml_part.cpp:
(KHTMLPart::init): Add a few more #if !APPLE_CHANGES so we can leave out more unused fields.
(KHTMLPart::openURL): Ditto.
(KHTMLPart::createJavaContext): Ditto.
(KHTMLPart::clear): Also initialize m_scheduledRedirection to noRedirectionScheduled.
(KHTMLPart::checkCompleted): Use m_scheduledRedirection rather than m_redirectURL to check
whether a redirection is already in progress.
(KHTMLPart::scheduleRedirection): Use m_scheduledRedirection rather than m_redirectURL to check
whether a redirection is already in progress, and set m_scheduledRedirection to redirectionScheduled.
(KHTMLPart::scheduleHistoryNavigation): Added. Does the same thing as scheduleRedirection,
but always uses a delay of 0, sets m_scheduledRedirection to historyNavigationScheduled, and
sets m_scheduledHistoryNavigationSteps.
(KHTMLPart::slotRedirect): Add an if statement that does the history navigation. The code is
moved here from HistoryFunc::tryCall. Also set m_scheduledRedirection to noRedirectionScheduled.
(KHTMLPart::urlSelected): Add a few more #if !APPLE_CHANGES so we can leave out more unused fields.
(KHTMLPart::requestObject): Ditto.
(KHTMLPart::submitForm): Ditto.
(KHTMLPart::slotParentCompleted): Use m_scheduledRedirection rather than m_redirectURL to check
whether a redirection is already in progress.
(KHTMLPart::setZoomFactor): Add a few more #if !APPLE_CHANGES so we can leave out more unused fields.
* khtml/khtml_part.h: Added scheduleHistoryNavigation.
* khtml/khtmlpart_p.h: Added RedirectionScheduled enum. Added more #if !APPLE_CHANGES to leave out
a bunch more fields we don't use. Added m_scheduledRedirection and m_scheduledHistoryNavigationSteps.
* kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::redirectionTimerStartedOrStopped): Check and don't do anything
if the timer was being used for history redirection.
* khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close):
Check m_scheduledRedirection instead of m_redirectURL to figure out if there is a redirection
in progress. Not strictly necessary since we really don't care about the history case here,
but consistent with the rest.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 847fcb5..960cb5c 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,44 @@
+2003-02-13 Darin Adler <darin at apple.com>
+
+ Reviewed by Trey.
+
+ - fixed 3162806 -- REGRESSION: handle == h assertion when clicking headphone link at cnn.com
+
+ * khtml/ecma/kjs_window.cpp: (HistoryFunc::tryCall): Instead of trying to actually do the
+ history navigation here, call the new KHTMLPart::scheduleHistoryNavigation.
+
+ * khtml/khtml_part.cpp:
+ (KHTMLPart::init): Add a few more #if !APPLE_CHANGES so we can leave out more unused fields.
+ (KHTMLPart::openURL): Ditto.
+ (KHTMLPart::createJavaContext): Ditto.
+ (KHTMLPart::clear): Also initialize m_scheduledRedirection to noRedirectionScheduled.
+ (KHTMLPart::checkCompleted): Use m_scheduledRedirection rather than m_redirectURL to check
+ whether a redirection is already in progress.
+ (KHTMLPart::scheduleRedirection): Use m_scheduledRedirection rather than m_redirectURL to check
+ whether a redirection is already in progress, and set m_scheduledRedirection to redirectionScheduled.
+ (KHTMLPart::scheduleHistoryNavigation): Added. Does the same thing as scheduleRedirection,
+ but always uses a delay of 0, sets m_scheduledRedirection to historyNavigationScheduled, and
+ sets m_scheduledHistoryNavigationSteps.
+ (KHTMLPart::slotRedirect): Add an if statement that does the history navigation. The code is
+ moved here from HistoryFunc::tryCall. Also set m_scheduledRedirection to noRedirectionScheduled.
+ (KHTMLPart::urlSelected): Add a few more #if !APPLE_CHANGES so we can leave out more unused fields.
+ (KHTMLPart::requestObject): Ditto.
+ (KHTMLPart::submitForm): Ditto.
+ (KHTMLPart::slotParentCompleted): Use m_scheduledRedirection rather than m_redirectURL to check
+ whether a redirection is already in progress.
+ (KHTMLPart::setZoomFactor): Add a few more #if !APPLE_CHANGES so we can leave out more unused fields.
+
+ * khtml/khtml_part.h: Added scheduleHistoryNavigation.
+ * khtml/khtmlpart_p.h: Added RedirectionScheduled enum. Added more #if !APPLE_CHANGES to leave out
+ a bunch more fields we don't use. Added m_scheduledRedirection and m_scheduledHistoryNavigationSteps.
+ * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::redirectionTimerStartedOrStopped): Check and don't do anything
+ if the timer was being used for history redirection.
+
+ * khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close):
+ Check m_scheduledRedirection instead of m_redirectURL to figure out if there is a redirection
+ in progress. Not strictly necessary since we really don't care about the history case here,
+ but consistent with the rest.
+
2003-02-13 Chris Blumenberg <cblu at apple.com>
Fixed WebKit typos found by Peter Wilson.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 847fcb5..960cb5c 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,44 @@
+2003-02-13 Darin Adler <darin at apple.com>
+
+ Reviewed by Trey.
+
+ - fixed 3162806 -- REGRESSION: handle == h assertion when clicking headphone link at cnn.com
+
+ * khtml/ecma/kjs_window.cpp: (HistoryFunc::tryCall): Instead of trying to actually do the
+ history navigation here, call the new KHTMLPart::scheduleHistoryNavigation.
+
+ * khtml/khtml_part.cpp:
+ (KHTMLPart::init): Add a few more #if !APPLE_CHANGES so we can leave out more unused fields.
+ (KHTMLPart::openURL): Ditto.
+ (KHTMLPart::createJavaContext): Ditto.
+ (KHTMLPart::clear): Also initialize m_scheduledRedirection to noRedirectionScheduled.
+ (KHTMLPart::checkCompleted): Use m_scheduledRedirection rather than m_redirectURL to check
+ whether a redirection is already in progress.
+ (KHTMLPart::scheduleRedirection): Use m_scheduledRedirection rather than m_redirectURL to check
+ whether a redirection is already in progress, and set m_scheduledRedirection to redirectionScheduled.
+ (KHTMLPart::scheduleHistoryNavigation): Added. Does the same thing as scheduleRedirection,
+ but always uses a delay of 0, sets m_scheduledRedirection to historyNavigationScheduled, and
+ sets m_scheduledHistoryNavigationSteps.
+ (KHTMLPart::slotRedirect): Add an if statement that does the history navigation. The code is
+ moved here from HistoryFunc::tryCall. Also set m_scheduledRedirection to noRedirectionScheduled.
+ (KHTMLPart::urlSelected): Add a few more #if !APPLE_CHANGES so we can leave out more unused fields.
+ (KHTMLPart::requestObject): Ditto.
+ (KHTMLPart::submitForm): Ditto.
+ (KHTMLPart::slotParentCompleted): Use m_scheduledRedirection rather than m_redirectURL to check
+ whether a redirection is already in progress.
+ (KHTMLPart::setZoomFactor): Add a few more #if !APPLE_CHANGES so we can leave out more unused fields.
+
+ * khtml/khtml_part.h: Added scheduleHistoryNavigation.
+ * khtml/khtmlpart_p.h: Added RedirectionScheduled enum. Added more #if !APPLE_CHANGES to leave out
+ a bunch more fields we don't use. Added m_scheduledRedirection and m_scheduledHistoryNavigationSteps.
+ * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::redirectionTimerStartedOrStopped): Check and don't do anything
+ if the timer was being used for history redirection.
+
+ * khtml/html/html_documentimpl.cpp: (HTMLDocumentImpl::close):
+ Check m_scheduledRedirection instead of m_redirectURL to figure out if there is a redirection
+ in progress. Not strictly necessary since we really don't care about the history case here,
+ but consistent with the rest.
+
2003-02-13 Chris Blumenberg <cblu at apple.com>
Fixed WebKit typos found by Peter Wilson.
diff --git a/WebCore/khtml/ecma/kjs_window.cpp b/WebCore/khtml/ecma/kjs_window.cpp
index 0ba9fcf..382e492 100644
--- a/WebCore/khtml/ecma/kjs_window.cpp
+++ b/WebCore/khtml/ecma/kjs_window.cpp
@@ -1951,21 +1951,12 @@ Value HistoryFunc::tryCall(ExecState *exec, Object &thisObj, const List &args)
return err;
}
History *history = static_cast<History *>(thisObj.imp());
- KParts::BrowserExtension *ext = history->part->browserExtension();
Value v = args[0];
Number n;
if(!v.isNull())
n = v.toInteger(exec);
- if(!ext)
- return Undefined();
-
- KParts::BrowserInterface *iface = ext->browserInterface();
-
- if ( !iface )
- return Undefined();
-
int steps;
switch (id) {
case History::Back:
@@ -1981,18 +1972,7 @@ Value HistoryFunc::tryCall(ExecState *exec, Object &thisObj, const List &args)
return Undefined();
}
- // Special case for go(0) from a frame -> reload only the frame
- // go(i!=0) from a frame navigates into the history of the frame only,
- // in both IE and NS (but not in Mozilla).... we can't easily do that
- // in Konqueror...
- if (!steps) // add && history->part->parentPart() to get only frames, but doesn't matter
- {
- history->part->openURL( history->part->url() ); /// ## need args.reload=true?
- } else
- {
- iface->callMethod( "goHistory(int)", steps );
-// emit ext->goHistory(steps);
- }
+ history->part->scheduleHistoryNavigation(steps);
return Undefined();
}
diff --git a/WebCore/khtml/html/html_documentimpl.cpp b/WebCore/khtml/html/html_documentimpl.cpp
index 70e8e5a..61f5cc8 100644
--- a/WebCore/khtml/html/html_documentimpl.cpp
+++ b/WebCore/khtml/html/html_documentimpl.cpp
@@ -332,7 +332,7 @@ void HTMLDocumentImpl::close()
// First fire the onload.
bool doload = !parsing() && m_tokenizer;
- bool wasNotRedirecting = !view() || view()->part()->d->m_redirectURL.isEmpty();
+ bool wasNotRedirecting = !view() || view()->part()->d->m_scheduledRedirection == noRedirectionScheduled;
if (body() && doload) {
dispatchImageLoadEventsNow();
@@ -342,8 +342,9 @@ void HTMLDocumentImpl::close()
// Make sure both the initial layout and reflow happen after the onload
// fires. This will improve onload scores, and other browsers do it.
// If they wanna cheat, we can too. -dwh
- if (doload && wasNotRedirecting
- && view() && !view()->part()->d->m_redirectURL.isEmpty() && view()->part()->d->m_delayRedirect == 0
+ if (doload && wasNotRedirecting && view()
+ && view()->part()->d->m_scheduledRedirection != noRedirectionScheduled
+ && view()->part()->d->m_delayRedirect == 0
&& m_startTime.elapsed() < 1000) {
static int redirectCount = 0;
if (redirectCount++ % 4) {
diff --git a/WebCore/khtml/khtml_part.cpp b/WebCore/khtml/khtml_part.cpp
index ca4dec3..5449d04 100644
--- a/WebCore/khtml/khtml_part.cpp
+++ b/WebCore/khtml/khtml_part.cpp
@@ -99,6 +99,8 @@ using namespace DOM;
using khtml::RenderText;
using khtml::TextRunArray;
+using KParts::BrowserInterface;
+
namespace khtml {
class PartStyleSheetLoader : public CachedObjectClient
{
@@ -177,14 +179,16 @@ void KHTMLPart::init( KHTMLView *view, GUIProfile prof )
d->m_view = view;
setWidget( d->m_view );
+#if !APPLE_CHANGES
d->m_guiProfile = prof;
+#endif
d->m_extension = new KHTMLPartBrowserExtension( this );
d->m_hostExtension = new KHTMLPartBrowserHostExtension( this );
d->m_bSecurityInQuestion = false;
- d->m_paLoadImages = 0;
d->m_bMousePressed = false;
#if !APPLE_CHANGES
+ d->m_paLoadImages = 0;
d->m_paViewDocument = new KAction( i18n( "View Document Source" ), 0, this, SLOT( slotViewDocumentSource() ), actionCollection(), "viewDocumentSource" );
d->m_paViewFrame = new KAction( i18n( "View Frame Source" ), 0, this, SLOT( slotViewFrameSource() ), actionCollection(), "viewFrameSource" );
d->m_paSaveBackground = new KAction( i18n( "Save &Background Image As..." ), 0, this, SLOT( slotSaveBackground() ), actionCollection(), "saveBackground" );
@@ -433,9 +437,12 @@ bool KHTMLPart::openURL( const KURL &url )
closeURL();
}
+#if !APPLE_CHANGES
args.metaData().insert("main_frame_request", parentPart() == 0 ? "TRUE" : "FALSE" );
args.metaData().insert("ssl_was_in_use", d->m_ssl_in_use ? "TRUE" : "FALSE" );
args.metaData().insert("ssl_activate_warnings", "TRUE" );
+#endif
+
if (d->m_restored)
d->m_cachePolicy = KIO::CC_Cache;
else if (args.reload)
@@ -750,15 +757,15 @@ KJavaAppletContext *KHTMLPart::createJavaContext()
{
#ifndef Q_WS_QWS
if ( !d->m_javaContext ) {
-#if !APPLE_CHANGES
- d->m_javaContext = new KJavaAppletContext(d->m_dcopobject);
-#else
+#if APPLE_CHANGES
d->m_javaContext = new KJavaAppletContext(d->m_dcopobject, this);
-#endif
+#else
+ d->m_javaContext = new KJavaAppletContext(d->m_dcopobject);
connect( d->m_javaContext, SIGNAL(showStatus(const QString&)),
this, SIGNAL(setStatusBarText(const QString&)) );
connect( d->m_javaContext, SIGNAL(showDocument(const QString&, const QString&)),
this, SLOT(slotShowDocument(const QString&, const QString&)) );
+#endif
}
return d->m_javaContext;
@@ -971,6 +978,7 @@ void KHTMLPart::clear()
d->m_javaContext = 0;
#endif
+ d->m_scheduledRedirection = noRedirectionScheduled;
d->m_delayRedirect = 0;
d->m_redirectURL = QString::null;
d->m_redirectLockHistory = true;
@@ -1698,7 +1706,7 @@ void KHTMLPart::checkCompleted()
} // if (d->m_view)
#endif
- if ( !d->m_redirectURL.isEmpty() )
+ if ( d->m_scheduledRedirection != noRedirectionScheduled )
{
// Do not start redirection for frames here! That action is
// deferred until the parent emits a completed signal.
@@ -1815,8 +1823,9 @@ void KHTMLPart::scheduleRedirection( double delay, const QString &url, bool doLo
kdDebug(6050) << "KHTMLPart::scheduleRedirection delay=" << delay << " url=" << url << endl;
if (delay < 0 || delay > INT_MAX / 1000)
return;
- if( d->m_redirectURL.isEmpty() || delay < d->m_delayRedirect )
+ if ( d->m_scheduledRedirection == noRedirectionScheduled || delay < d->m_delayRedirect )
{
+ d->m_scheduledRedirection = redirectionScheduled;
d->m_delayRedirect = delay;
d->m_redirectURL = url;
d->m_redirectLockHistory = doLockHistory;
@@ -1827,9 +1836,41 @@ void KHTMLPart::scheduleRedirection( double delay, const QString &url, bool doLo
}
}
+void KHTMLPart::scheduleHistoryNavigation( int steps )
+{
+ d->m_scheduledRedirection = historyNavigationScheduled;
+ d->m_delayRedirect = 0;
+ d->m_redirectURL = QString::null;
+ d->m_scheduledHistoryNavigationSteps = steps;
+ if ( d->m_bComplete ) {
+ d->m_redirectionTimer.stop();
+ d->m_redirectionTimer.start( (int)(1000 * d->m_delayRedirect), true );
+ }
+}
+
void KHTMLPart::slotRedirect()
{
+ if (d->m_scheduledRedirection == historyNavigationScheduled) {
+ d->m_scheduledRedirection = noRedirectionScheduled;
+
+ // Special case for go(0) from a frame -> reload only the frame
+ // go(i!=0) from a frame navigates into the history of the frame only,
+ // in both IE and NS (but not in Mozilla).... we can't easily do that
+ // in Konqueror...
+ if (d->m_scheduledHistoryNavigationSteps == 0) // add && parentPart() to get only frames, but doesn't matter
+ openURL( url() ); /// ## need args.reload=true?
+ else {
+ if (d->m_extension) {
+ BrowserInterface *interface = d->m_extension->browserInterface();
+ if (interface)
+ interface->callMethod( "goHistory(int)", d->m_scheduledHistoryNavigationSteps );
+ }
+ }
+ return;
+ }
+
QString u = d->m_redirectURL;
+ d->m_scheduledRedirection = noRedirectionScheduled;
d->m_delayRedirect = 0;
d->m_redirectURL = QString::null;
if ( u.find( QString::fromLatin1( "javascript:" ), 0, false ) == 0 )
@@ -2438,10 +2479,12 @@ void KHTMLPart::urlSelected( const QString &url, int button, int state, const QS
args.metaData()["cache"] = "refresh";
}
+#if !APPLE_CHANGES
args.metaData().insert("main_frame_request",
parentPart() == 0 ? "TRUE":"FALSE");
args.metaData().insert("ssl_was_in_use", d->m_ssl_in_use ? "TRUE":"FALSE");
args.metaData().insert("ssl_activate_warnings", "TRUE");
+#endif
#if APPLE_CHANGES
args.metaData()["referrer"] = d->m_referrer;
@@ -2790,11 +2833,13 @@ bool KHTMLPart::requestObject( khtml::ChildFrame *child, const KURL &url, const
if (!d->m_referrer.isEmpty() && !child->m_args.metaData().contains( "referrer" ))
child->m_args.metaData()["referrer"] = d->m_referrer;
+#if !APPLE_CHANGES
child->m_args.metaData().insert("main_frame_request",
parentPart() == 0 ? "TRUE":"FALSE");
child->m_args.metaData().insert("ssl_was_in_use",
d->m_ssl_in_use ? "TRUE":"FALSE");
child->m_args.metaData().insert("ssl_activate_warnings", "TRUE");
+#endif
// We want a KHTMLPart if the HTML says <frame src=""> or <frame src="about:blank">
if ((url.isEmpty() || url.url() == "about:blank") && args.serviceType.isEmpty())
@@ -3153,10 +3198,12 @@ void KHTMLPart::submitForm( const char *action, const QString &url, const QByteA
if (!d->m_referrer.isEmpty())
args.metaData()["referrer"] = d->m_referrer;
+#if !APPLE_CHANGES
args.metaData().insert("main_frame_request",
parentPart() == 0 ? "TRUE":"FALSE");
args.metaData().insert("ssl_was_in_use", d->m_ssl_in_use ? "TRUE":"FALSE");
args.metaData().insert("ssl_activate_warnings", "TRUE");
+#endif
args.frameName = _target.isEmpty() ? d->m_doc->baseTarget() : _target ;
// Handle mailto: forms
@@ -3272,7 +3319,7 @@ void KHTMLPart::popupMenu( const QString &linkUrl )
void KHTMLPart::slotParentCompleted()
{
- if ( !d->m_redirectURL.isEmpty() && !d->m_redirectionTimer.isActive() )
+ if ( d->m_scheduledRedirection != noRedirectionScheduled && !d->m_redirectionTimer.isActive() )
{
// kdDebug(6050) << this << ": Child redirection -> " << d->m_redirectURL << endl;
d->m_redirectionTimer.start( (int)(1000 * d->m_delayRedirect), true );
@@ -3855,8 +3902,10 @@ void KHTMLPart::setZoomFactor (int percent)
static_cast<KHTMLPart*>( p )->setZoomFactor(d->m_zoomFactor);
}
+#if !APPLE_CHANGES
d->m_paDecZoomFactor->setEnabled( d->m_zoomFactor > minZoom );
d->m_paIncZoomFactor->setEnabled( d->m_zoomFactor < maxZoom );
+#endif
}
void KHTMLPart::setJSStatusBarText( const QString &text )
diff --git a/WebCore/khtml/khtml_part.h b/WebCore/khtml/khtml_part.h
index cb7cd0a..1748bd7 100644
--- a/WebCore/khtml/khtml_part.h
+++ b/WebCore/khtml/khtml_part.h
@@ -368,10 +368,17 @@ public:
/**
* Schedules a redirection after @p delay seconds.
+ * Note that this is used for JavaScript-triggered location changes as well.
*/
void scheduleRedirection( double delay, const QString &url, bool lockHistory = true );
/**
+ * Schedules a history navigation operation (go forward, go back, etc.).
+ * This is used for JavaScript-triggered location changes.
+ */
+ void scheduleHistoryNavigation( int steps );
+
+ /**
* Clears the widget and prepares it for new content.
*
* If you want @ref url() to return
diff --git a/WebCore/khtml/khtmlpart_p.h b/WebCore/khtml/khtmlpart_p.h
index 2a7b6d1..75488f2 100644
--- a/WebCore/khtml/khtmlpart_p.h
+++ b/WebCore/khtml/khtmlpart_p.h
@@ -93,6 +93,8 @@ typedef FrameList::Iterator FrameIt;
static int khtml_part_dcop_counter = 0;
+enum RedirectionScheduled { noRedirectionScheduled, redirectionScheduled, historyNavigationScheduled };
+
class KHTMLPartPrivate
{
public:
@@ -108,8 +110,8 @@ public:
m_bLoadEventEmitted = true;
m_bUnloadEventEmitted = true;
m_cachePolicy = KIO::CC_Verify;
- m_manager = 0L;
#if !APPLE_CHANGES
+ m_manager = 0L;
m_settings = new KHTMLSettings(*KHTMLFactory::defaultHTMLSettings());
#endif
m_bClearing = false;
@@ -124,8 +126,10 @@ public:
m_jobPercent = 0;
m_haveEncoding = false;
m_activeFrame = 0L;
+#if !APPLE_CHANGES
m_findDialog = 0;
m_ssl_in_use = false;
+#endif
#ifndef Q_WS_QWS
m_javaContext = 0;
#endif
@@ -150,6 +154,7 @@ public:
m_bFirstData = true;
m_submitForm = 0;
+ m_scheduledRedirection = noRedirectionScheduled;
m_delayRedirect = 0;
m_bPendingChildRedirection = false;
@@ -167,7 +172,9 @@ public:
m_bPluginsForce = part->d->m_bPluginsForce;
m_bPluginsOverride = part->d->m_bPluginsOverride;
// Same for SSL settings
+#if !APPLE_CHANGES
m_ssl_in_use = part->d->m_ssl_in_use;
+#endif
m_onlyLocalReferences = part->d->m_onlyLocalReferences;
m_zoomFactor = part->d->m_zoomFactor;
}
@@ -241,6 +248,7 @@ public:
QString m_kjsDefaultStatusBarText;
QString m_lastModified;
+#if !APPLE_CHANGES
// QStrings for SSL metadata
// Note: When adding new variables don't forget to update ::saveState()/::restoreState()!
bool m_ssl_in_use;
@@ -253,6 +261,7 @@ public:
m_ssl_cipher_used_bits,
m_ssl_cipher_bits,
m_ssl_cert_state;
+#endif
bool m_bComplete:1;
bool m_bLoadEventEmitted:1;
@@ -267,9 +276,13 @@ public:
KIO::CacheControl m_cachePolicy;
QTimer m_redirectionTimer;
QTime m_parsetime;
+
+ RedirectionScheduled m_scheduledRedirection;
double m_delayRedirect;
QString m_redirectURL;
+ int m_scheduledHistoryNavigationSteps;
+#if !APPLE_CHANGES
KAction *m_paViewDocument;
KAction *m_paViewFrame;
KAction *m_paSaveBackground;
@@ -291,6 +304,7 @@ public:
QString m_popupMenuXML;
KHTMLPart::GUIProfile m_guiProfile;
+#endif
int m_zoomFactor;
@@ -317,13 +331,13 @@ public:
DOM::Node m_mousePressNode; //node under the mouse when the mouse was pressed (set in the mouse handler)
#if APPLE_CHANGES
- DOM::Node m_initialSelectionStart;
- long m_initialSelectionStartOffset;
- DOM::Node m_initialSelectionEnd;
- long m_initialSelectionEndOffset;
- bool m_selectionInitiatedWithDoubleClick:1;
- bool m_selectionInitiatedWithTripleClick:1;
- bool m_mouseMovedSinceLastMousePress;
+ DOM::Node m_initialSelectionStart;
+ long m_initialSelectionStartOffset;
+ DOM::Node m_initialSelectionEnd;
+ long m_initialSelectionEndOffset;
+ bool m_selectionInitiatedWithDoubleClick:1;
+ bool m_selectionInitiatedWithTripleClick:1;
+ bool m_mouseMovedSinceLastMousePress:1;
#endif
DOM::Node m_selectionStart;
long m_startOffset;
@@ -354,6 +368,7 @@ public:
unsigned long m_totalObjectCount;
unsigned int m_jobPercent;
+#if !APPLE_CHANGES
KHTMLFind *m_findDialog;
struct findState
@@ -366,6 +381,7 @@ public:
};
findState m_lastFindState;
+#endif
//QGuardedPtr<KParts::Part> m_activeFrame;
KParts::Part * m_activeFrame;
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 7291b14..e19f3a3 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -384,6 +384,11 @@ void KWQKHTMLPart::jumpToSelection()
void KWQKHTMLPart::redirectionTimerStartedOrStopped()
{
+ // Don't report history navigations, just actual redirection.
+ if (d->m_scheduledRedirection == historyNavigationScheduled) {
+ return;
+ }
+
if (d->m_redirectionTimer.isActive()) {
[_bridge reportClientRedirectToURL:d->m_redirectURL.getNSString()
delay:d->m_delayRedirect
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list