View | Details | Raw Unified | Return to bug 298822 | Differences between
and this patch

Collapse All | Expand All

(-)Eclipse SWT Browser/win32/org/eclipse/swt/browser/IE.java (-5 / +22 lines)
Lines 40-45 Link Here
40
	static String ProgId = "Shell.Explorer";	//$NON-NLS-1$
40
	static String ProgId = "Shell.Explorer";	//$NON-NLS-1$
41
	static int PDFCount;
41
	static int PDFCount;
42
42
43
	static final int navNoReadFromCache = 0x4;
43
	static final int BeforeNavigate2 = 0xfa;
44
	static final int BeforeNavigate2 = 0xfa;
44
	static final int CommandStateChange = 0x69;
45
	static final int CommandStateChange = 0x69;
45
	static final int DocumentComplete = 0x103;
46
	static final int DocumentComplete = 0x103;
Lines 1045-1056 Link Here
1045
		auto.invoke(rgdispid[0]);
1046
		auto.invoke(rgdispid[0]);
1046
	}
1047
	}
1047
1048
1048
	int[] rgdispid = auto.getIDsOfNames(new String[] { "Navigate", "URL" }); //$NON-NLS-1$ //$NON-NLS-2$
1049
	int[] rgdispid = auto.getIDsOfNames(new String[] { "Navigate", "URL", "Flags" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
1049
	navigate = true;
1050
	navigate = true;
1050
	Variant[] rgvarg = new Variant[1];
1051
	Variant[] rgvarg;
1051
	rgvarg[0] = new Variant(url);
1052
	int[] rgdispidNamedArgs;
1052
	int[] rgdispidNamedArgs = new int[1];
1053
	/*
1053
	rgdispidNamedArgs[0] = rgdispid[1];
1054
	 * Feature in Internet Explorer 8. Browser caches web pages and for the
1055
	 * same address display always the same page until not refreshed. Setting
1056
	 * flag navNoReadFromCache solves this problem. See bug #298822
1057
	 */
1058
	if (IEVersion >= 8) {
1059
		rgvarg = new Variant[2];
1060
		rgvarg[0] = new Variant(url);
1061
		rgdispidNamedArgs = new int[2];
1062
		rgdispidNamedArgs[0] = rgdispid[1];
1063
		rgvarg[1] = new Variant(navNoReadFromCache);
1064
		rgdispidNamedArgs[1] = rgdispid[2];
1065
	} else {
1066
		rgvarg = new Variant[1];
1067
		rgvarg[0] = new Variant(url);
1068
		rgdispidNamedArgs = new int[1];
1069
		rgdispidNamedArgs[0] = rgdispid[1];
1070
	}
1054
	Variant pVarResult = auto.invoke(rgdispid[0], rgvarg, rgdispidNamedArgs);
1071
	Variant pVarResult = auto.invoke(rgdispid[0], rgvarg, rgdispidNamedArgs);
1055
	rgvarg[0].dispose();
1072
	rgvarg[0].dispose();
1056
	if (pVarResult == null) return false;
1073
	if (pVarResult == null) return false;

Return to bug 298822