~midori/midori/trunk

« back to all changes in this revision

Viewing changes to extensions/delayed-load.vala

  • Committer: André Auzi
  • Date: 2013-09-17 19:34:23 UTC
  • mfrom: (6402 midori)
  • mto: This revision was merged to the branch mainline in revision 6406.
  • Revision ID: aauzi@free.fr-20130917193423-j3tqi7tt4b8afu41
merge lp:midori to fix conficts

Show diffs side-by-side

added added

removed removed

Lines of Context:
106
106
 
107
107
    private class Manager : Midori.Extension {
108
108
        private int timeout = 0;
109
 
        private bool initialized = false;
110
109
        private HashTable<Midori.Browser, TabShaker> tasks;
111
110
 
112
111
        public signal void preferences_changed ();
141
140
                item.ref();
142
141
 
143
142
                int64 delay = item.get_meta_integer ("delay");
144
 
                if (delay == Midori.Delay.PENDING_UNDELAY && new_view.progress < 1.0 && this.initialized) {
 
143
                if (delay == Midori.Delay.PENDING_UNDELAY && new_view.progress < 1.0) {
145
144
                    this.schedule_reload (browser, new_view);
146
145
                }
147
146
            }
148
147
        }
149
148
 
150
 
        private bool reload_first_tab () {
151
 
            Midori.App app = get_app ();
152
 
            Midori.Browser? browser = app.browser;
153
 
            Midori.View? view = browser.tab as Midori.View;
154
 
 
155
 
            if (view != null) {
156
 
                this.initialized = true;
157
 
                Katze.Item item = view.get_proxy_item ();
158
 
                item.ref();
159
 
 
160
 
                int64 delay = item.get_meta_integer ("delay");
161
 
                if (delay != Midori.Delay.DELAYED) {
162
 
                    if (view.load_status == Midori.LoadStatus.FINISHED) {
163
 
                        if (this.timeout != 0)
164
 
                            this.tasks.set (browser, new TabShaker (browser));
165
 
 
166
 
                        if (view.progress < 1.0)
167
 
                            this.schedule_reload (browser, view);
168
 
 
169
 
                        return false;
170
 
                    }
171
 
                }
172
 
            }
173
 
 
174
 
            return true;
175
 
        }
176
 
 
177
149
        private void browser_added (Midori.Browser browser) {
178
150
            browser.switch_tab.connect_after (this.tab_changed);
179
151
        }
188
160
 
189
161
            this.preferences_changed ();
190
162
 
191
 
            Midori.Browser? focused_browser = app.browser;
192
 
            if (focused_browser == null)
193
 
                Midori.Timeout.add (50, this.reload_first_tab);
194
 
            else
195
 
                this.initialized = true;
196
 
 
197
163
            foreach (Midori.Browser browser in app.get_browsers ()) {
198
164
                browser_added (browser);
199
165
            }