[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
mjs
mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:20:30 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 3ddf5d37e3ebe37e714d9f3afbfc16249bde3b70
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Jan 21 18:28:29 2003 +0000
Reviewed by Ken.
- fixed 3151982 - missing content at debka.com after iframe is written using document.write
- fixed 3000234 - javascript problem writing iframe at cycleworld.com
* khtml/html/htmltokenizer.cpp:
(HTMLTokenizer::scriptHandler): If we come out of the script with
the parser in skip mode, don't throw away the whole rest of the
document - instead, parse it as usual. The parser's skip mode will
take care of skipping stuff as needed and will detect close tags
for special tags like <iframe>.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 6bbed14..4d38a19 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,17 @@
+2003-01-21 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by Ken.
+
+ - fixed 3151982 - missing content at debka.com after iframe is written using document.write
+ - fixed 3000234 - javascript problem writing iframe at cycleworld.com
+
+ * khtml/html/htmltokenizer.cpp:
+ (HTMLTokenizer::scriptHandler): If we come out of the script with
+ the parser in skip mode, don't throw away the whole rest of the
+ document - instead, parse it as usual. The parser's skip mode will
+ take care of skipping stuff as needed and will detect close tags
+ for special tags like <iframe>.
+
2003-01-20 David Hyatt <hyatt at apple.com>
Fix :hover performance regression on wsj.com. Moving my
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 6bbed14..4d38a19 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,17 @@
+2003-01-21 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by Ken.
+
+ - fixed 3151982 - missing content at debka.com after iframe is written using document.write
+ - fixed 3000234 - javascript problem writing iframe at cycleworld.com
+
+ * khtml/html/htmltokenizer.cpp:
+ (HTMLTokenizer::scriptHandler): If we come out of the script with
+ the parser in skip mode, don't throw away the whole rest of the
+ document - instead, parse it as usual. The parser's skip mode will
+ take care of skipping stuff as needed and will detect close tags
+ for special tags like <iframe>.
+
2003-01-20 David Hyatt <hyatt at apple.com>
Fix :hover performance regression on wsj.com. Moving my
diff --git a/WebCore/khtml/html/html_documentimpl.cpp b/WebCore/khtml/html/html_documentimpl.cpp
index 4e95d50..acb2b7d 100644
--- a/WebCore/khtml/html/html_documentimpl.cpp
+++ b/WebCore/khtml/html/html_documentimpl.cpp
@@ -299,8 +299,12 @@ static bool isTransitional(const QString &spec, int start)
void HTMLDocumentImpl::close()
{
+ if (parsing() || loading()) {
+ return;
+ }
+
// First fire the onload.
- bool doload = !parsing() && m_tokenizer;
+ bool doload = !parsing() && !loading() && m_tokenizer;
bool wasNotRedirecting = !view() || view()->part()->d->m_redirectURL.isEmpty();
diff --git a/WebCore/khtml/html/htmltokenizer.cpp b/WebCore/khtml/html/htmltokenizer.cpp
index 4ff9456..94f7c3a 100644
--- a/WebCore/khtml/html/htmltokenizer.cpp
+++ b/WebCore/khtml/html/htmltokenizer.cpp
@@ -533,19 +533,17 @@ void HTMLTokenizer::scriptHandler()
script = false;
scriptCodeSize = scriptCodeResync = 0;
- if ( !parser->skipMode() ) {
- if ( !m_executingScript && !loadingExtScript ) {
- // kdDebug( 6036 ) << "adding pending Output to parsed string" << endl;
+ if ( !m_executingScript && !loadingExtScript ) {
+ // kdDebug( 6036 ) << "adding pending Output to parsed string" << endl;
#if APPLE_CHANGES
- pendingSrc.prepend(src.current(), src.length());
+ pendingSrc.prepend(src.current(), src.length());
#else
- pendingSrc.prepend(QString(src.current(), src.length());
+ pendingSrc.prepend(QString(src.current(), src.length()));
#endif
- setSrc(pendingSrc);
- pendingSrc = QString::null;
- }
- else if ( !prependingSrc.isEmpty() )
- write( prependingSrc, false );
+ setSrc(pendingSrc);
+ pendingSrc = QString::null;
+ } else if ( !prependingSrc.isEmpty() ) {
+ write( prependingSrc, false );
}
}
diff --git a/WebCore/khtml/khtml_part.cpp b/WebCore/khtml/khtml_part.cpp
index fc791a4..9b6ad11 100644
--- a/WebCore/khtml/khtml_part.cpp
+++ b/WebCore/khtml/khtml_part.cpp
@@ -404,6 +404,7 @@ bool KHTMLPart::openURL( const KURL &url )
d->m_bComplete = true;
d->m_doc->setParsing(false);
+ d->m_doc->setLoading(false);
kdDebug( 6050 ) << "completed..." << endl;
emit completed();
@@ -519,6 +520,7 @@ bool KHTMLPart::closeURL()
kdDebug( 6050 ) << " was still parsing... calling end " << endl;
slotFinishedParsing();
d->m_doc->setParsing(false);
+ d->m_doc->setLoading(false);
}
if ( !d->m_workingURL.isEmpty() )
@@ -1410,6 +1412,7 @@ void KHTMLPart::begin( const KURL &url, int xOffset, int yOffset )
#endif
d->m_doc->setParsing(true);
+ d->m_doc->setLoading(true);
}
void KHTMLPart::write( const char *str, int len )
@@ -1623,6 +1626,7 @@ void KHTMLPart::checkCompleted()
// OK, completed.
// Now do what should be done when we are really completed.
d->m_bComplete = true;
+ d->m_doc->setLoading(false);
checkEmitLoadEvent(); // if we didn't do it before
@@ -1682,7 +1686,7 @@ void KHTMLPart::checkCompleted()
void KHTMLPart::checkEmitLoadEvent()
{
- if ( d->m_bLoadEventEmitted || !d->m_doc || d->m_doc->parsing() ) return;
+ if ( d->m_bLoadEventEmitted || !d->m_doc || d->m_doc->parsing() || d->m_doc->loading() ) return;
ConstFrameIt it = d->m_frames.begin();
ConstFrameIt end = d->m_frames.end();
@@ -2829,6 +2833,10 @@ bool KHTMLPart::processObjectRequest( khtml::ChildFrame *child, const KURL &_url
if ( child->m_type != khtml::ChildFrame::Object )
{
+ d->m_bComplete = false;
+ d->m_bLoadEventEmitted = false;
+ d->m_doc->setLoading(true);
+
connect( part, SIGNAL( started( KIO::Job *) ),
this, SLOT( slotChildStarted( KIO::Job *) ) );
connect( part, SIGNAL( completed() ),
@@ -3237,7 +3245,7 @@ void KHTMLPart::slotChildStarted( KIO::Job *job )
emit d->m_extension->openURLNotify();
}
#endif
- d->m_bComplete = false;
+
emit started( job );
}
}
diff --git a/WebCore/khtml/xml/dom_docimpl.h b/WebCore/khtml/xml/dom_docimpl.h
index 121080f..01029d4 100644
--- a/WebCore/khtml/xml/dom_docimpl.h
+++ b/WebCore/khtml/xml/dom_docimpl.h
@@ -295,6 +295,8 @@ public:
void setParsing(bool b) { m_bParsing = b; }
bool parsing() const { return m_bParsing; }
+ void setLoading(bool b) { m_bLoading = b; }
+ bool loading() const { return m_bLoading; }
void setTextColor( DOMString color ) { m_textColor = color; }
DOMString textColor() const { return m_textColor; }
@@ -499,6 +501,7 @@ protected:
bool m_loadingSheet;
bool visuallyOrdered;
bool m_bParsing;
+ bool m_bLoading;
bool m_docChanged;
bool m_styleSelectorDirty;
bool m_inStyleRecalc;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list