Improve the display of apple.com. innerWidth and innerHeight refer to the size...
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 May 2005 07:47:43 +0000 (07:47 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 12 May 2005 07:47:43 +0000 (07:47 +0000)
so they do not need to do a layout in order to yield correct values from JS.  Removing this stops an
early layout and paint before the apple.com images are typically loaded.

This is an improvement of the fix for wired.com's FOUC.  For that bug I eliminated the need to ignore pending
stylesheets, but now I'm going further and just eliminating the layout all together.  This means that the old
updateLayout function can be reverted to how it was before the wired.com fix.

        Reviewed by john

        * khtml/ecma/kjs_window.cpp:
        (Window::get):
        (Window::updateLayout):
        * khtml/ecma/kjs_window.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9164 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog-2005-08-23
WebCore/khtml/ecma/kjs_window.cpp
WebCore/khtml/ecma/kjs_window.h

index f8112686a70a0fc98d4a12aa51088bfaf3b781b4..b93820ba55e7b150224b250e56b94231f2353dc0 100644 (file)
@@ -1,3 +1,20 @@
+2005-05-11  David Hyatt  <hyatt@apple.com>
+
+       Improve the display of apple.com.  innerWidth and innerHeight refer to the size of the visible view and
+       so they do not need to do a layout in order to yield correct values from JS.  Removing this stops an
+       early layout and paint before the apple.com images are typically loaded.
+
+       This is an improvement of the fix for wired.com's FOUC.  For that bug I eliminated the need to ignore pending
+       stylesheets, but now I'm going further and just eliminating the layout all together.  This means that the old
+       updateLayout function can be reverted to how it was before the wired.com fix.
+       
+        Reviewed by john
+
+        * khtml/ecma/kjs_window.cpp:
+        (Window::get):
+        (Window::updateLayout):
+        * khtml/ecma/kjs_window.h:
+
 2005-05-11  Maciej Stachowiak  <mjs@apple.com>
 
         Reviewed by Kevin.
index 9a181d0e062fc6e7e386a1be68085d4d100b9b3c..8747bd0ffb7ef4cfb45fac90ced81a330e12244e 100644 (file)
@@ -572,12 +572,10 @@ Value Window::get(ExecState *exec, const Identifier &p) const
     case InnerHeight:
       if (!m_part->view())
         return Undefined();
-      updateLayout(false);
       return Number(m_part->view()->visibleHeight());
     case InnerWidth:
       if (!m_part->view())
         return Undefined();
-      updateLayout(false);
       return Number(m_part->view()->visibleWidth());
     case Length:
       return Number(m_part->frames().count());
@@ -1876,15 +1874,11 @@ Value WindowFunc::tryCall(ExecState *exec, Object &thisObj, const List &args)
   return Undefined();
 }
 
-void Window::updateLayout(bool ignoreStylesheets) const
+void Window::updateLayout() const
 {
   DOM::DocumentImpl* docimpl = static_cast<DOM::DocumentImpl *>(m_part->document().handle());
-  if (docimpl) {
-    if (ignoreStylesheets)
-      docimpl->updateLayoutIgnorePendingStylesheets();
-    else
-      docimpl->updateLayout();
-  }
+  if (docimpl)
+    docimpl->updateLayoutIgnorePendingStylesheets();
 }
 
 
index 5d499a5ddc8c5b34aedae8e9e288cad2812d90b1..14a147e37ee03ab4ebe483cfdd2e1da6bc4d7d8c 100644 (file)
@@ -147,7 +147,7 @@ namespace KJS {
     Value getListener(ExecState *exec, int eventId) const;
     void setListener(ExecState *exec, int eventId, Value func);
   private:
-    void updateLayout(bool ignoreStylesheets = true) const;
+    void updateLayout() const;
 
     QGuardedPtr<KHTMLPart> m_part;
     Screen *screen;