diff options
42 files changed, 6436 insertions, 723 deletions
diff --git a/api/current.xml b/api/current.xml index f30c505..cf10857 100644 --- a/api/current.xml +++ b/api/current.xml @@ -29035,6 +29035,19 @@ <parameter name="mode" type="int"> </parameter> </method> +<method name="getSharedPrefsFile" + return="java.io.File" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="name" type="java.lang.String"> +</parameter> +</method> <method name="getSystemService" return="java.lang.Object" abstract="false" @@ -115907,6 +115920,19 @@ <parameter name="mode" type="int"> </parameter> </method> +<method name="getSharedPrefsFile" + return="java.io.File" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="name" type="java.lang.String"> +</parameter> +</method> <method name="getSystemService" return="java.lang.Object" abstract="false" diff --git a/core/java/android/app/ApplicationContext.java b/core/java/android/app/ApplicationContext.java index 98bbf7b..fc3cdcf 100644 --- a/core/java/android/app/ApplicationContext.java +++ b/core/java/android/app/ApplicationContext.java @@ -300,10 +300,14 @@ class ApplicationContext extends Context { return new File(prefsFile.getPath() + ".bak"); } + public File getSharedPrefsFile(String name) { + return makeFilename(getPreferencesDir(), name + ".xml"); + } + @Override public SharedPreferences getSharedPreferences(String name, int mode) { SharedPreferencesImpl sp; - File f = makeFilename(getPreferencesDir(), name + ".xml"); + File f = getSharedPrefsFile(name); synchronized (sSharedPrefs) { sp = sSharedPrefs.get(f); if (sp != null && !sp.hasFileChanged()) { diff --git a/core/java/android/app/SuggestionsAdapter.java b/core/java/android/app/SuggestionsAdapter.java index 8c5cee3..ed76f4e 100644 --- a/core/java/android/app/SuggestionsAdapter.java +++ b/core/java/android/app/SuggestionsAdapter.java @@ -68,9 +68,6 @@ class SuggestionsAdapter extends ResourceCursorAdapter { private int mIconName2Col; private int mBackgroundColorCol; - // Cached item background color. - private int mDefaultBackgroundColor; - // This value is stored in SuggestionsAdapter by the SearchDialog to indicate whether // a particular list item should be selected upon the next call to notifyDataSetChanged. // This is used to indicate the index of the "More results..." list item so that when @@ -102,11 +99,6 @@ class SuggestionsAdapter extends ResourceCursorAdapter { Context activityContext = mSearchable.getActivityContext(mContext); mProviderContext = mSearchable.getProviderContext(mContext, activityContext); - TypedValue colorValue = new TypedValue(); - mProviderContext.getTheme().resolveAttribute( - com.android.internal.R.attr.searchWidgetItemBackground, colorValue, true); - mDefaultBackgroundColor = mProviderContext.getResources().getColor(colorValue.resourceId); - mOutsideDrawablesCache = outsideDrawablesCache; mGlobalSearchMode = globalSearchMode; @@ -303,9 +295,6 @@ class SuggestionsAdapter extends ResourceCursorAdapter { if (mBackgroundColorCol != -1) { backgroundColor = cursor.getInt(mBackgroundColorCol); } - if (backgroundColor == 0) { - backgroundColor = mDefaultBackgroundColor; - } ((SuggestionItemView)view).setColor(backgroundColor); final boolean isHtml = mFormatCol > 0 && "html".equals(cursor.getString(mFormatCol)); @@ -524,6 +513,7 @@ class SuggestionsAdapter extends ResourceCursorAdapter { protected SuggestionItemView(Context context, Cursor cursor) { // Initialize ourselves super(context); + mBackgroundColor = 0; // transparent by default. // For our layout use the default list item height from the current theme. TypedValue lineHeight = new TypedValue(); @@ -551,7 +541,7 @@ class SuggestionsAdapter extends ResourceCursorAdapter { @Override public void dispatchDraw(Canvas canvas) { - if (!isPressed()) { + if (mBackgroundColor != 0 && !isPressed() && !isSelected()) { canvas.drawColor(mBackgroundColor); } super.dispatchDraw(canvas); diff --git a/core/java/android/backup/FileBackupHelper.java b/core/java/android/backup/FileBackupHelper.java index ec16eb1..99051bf 100644 --- a/core/java/android/backup/FileBackupHelper.java +++ b/core/java/android/backup/FileBackupHelper.java @@ -20,6 +20,7 @@ import android.content.Context; import android.os.ParcelFileDescriptor; import android.util.Log; +import java.io.File; import java.io.FileDescriptor; /** @hide */ @@ -34,22 +35,34 @@ public class FileBackupHelper { public static void performBackup(Context context, ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState, String[] files) { - String basePath = context.getFilesDir().getAbsolutePath(); - performBackup_checked(basePath, oldState, data, newState, files); + File base = context.getFilesDir(); + final int N = files.length; + String[] fullPaths = new String[N]; + for (int i=0; i<N; i++) { + fullPaths[i] = (new File(base, files[i])).getAbsolutePath(); + } + performBackup_checked(oldState, data, newState, fullPaths, files); } /** * Check the parameters so the native code doens't have to throw all the exceptions * since it's easier to do that from java. */ - static void performBackup_checked(String basePath, - ParcelFileDescriptor oldState, BackupDataOutput data, - ParcelFileDescriptor newState, String[] files) { + static void performBackup_checked(ParcelFileDescriptor oldState, BackupDataOutput data, + ParcelFileDescriptor newState, String[] files, String[] keys) { if (files.length == 0) { return; } - if (basePath == null) { - throw new NullPointerException(); + // files must be all absolute paths + for (String f: files) { + if (f.charAt(0) != '/') { + throw new RuntimeException("files must have all absolute paths: " + f); + } + } + // the length of files and keys must be the same + if (files.length != keys.length) { + throw new RuntimeException("files.length=" + files.length + + " keys.length=" + keys.length); } // oldStateFd can be null FileDescriptor oldStateFd = oldState != null ? oldState.getFileDescriptor() : null; @@ -58,13 +71,14 @@ public class FileBackupHelper { throw new NullPointerException(); } - int err = performBackup_native(basePath, oldStateFd, data.mBackupWriter, newStateFd, files); + int err = performBackup_native(oldStateFd, data.mBackupWriter, newStateFd, files, keys); if (err != 0) { - throw new RuntimeException("Backup failed"); // TODO: more here + // TODO: more here + throw new RuntimeException("Backup failed 0x" + Integer.toHexString(err)); } } - native private static int performBackup_native(String basePath, FileDescriptor oldState, - int data, FileDescriptor newState, String[] files); + native private static int performBackup_native(FileDescriptor oldState, + int data, FileDescriptor newState, String[] files, String[] keys); } diff --git a/core/java/android/backup/SharedPreferencesBackupHelper.java b/core/java/android/backup/SharedPreferencesBackupHelper.java index 8627f08..923dc1b 100644 --- a/core/java/android/backup/SharedPreferencesBackupHelper.java +++ b/core/java/android/backup/SharedPreferencesBackupHelper.java @@ -26,16 +26,14 @@ public class SharedPreferencesBackupHelper { public static void performBackup(Context context, ParcelFileDescriptor oldSnapshot, ParcelFileDescriptor newSnapshot, BackupDataOutput data, String[] prefGroups) { - String basePath = "/xxx"; //context.getPreferencesDir(); - // make filenames for the prefGroups final int N = prefGroups.length; String[] files = new String[N]; for (int i=0; i<N; i++) { - files[i] = prefGroups[i] + ".xml"; + files[i] = context.getSharedPrefsFile(prefGroups[i]).toString(); } - FileBackupHelper.performBackup_checked(basePath, oldSnapshot, data, newSnapshot, files); + FileBackupHelper.performBackup_checked(oldSnapshot, data, newSnapshot, files, prefGroups); } } diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index ec847a4..925249e 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -254,12 +254,20 @@ public abstract class Context { * <p>Note: this is not generally useful for applications, since they should * not be directly accessing the file system. * - * * @return String Path to the code and assets. */ public abstract String getPackageCodePath(); /** + * {@hide} + * Return the full path to the shared prefs file for the given prefs group name. + * + * <p>Note: this is not generally useful for applications, since they should + * not be directly accessing the file system. + */ + public abstract File getSharedPrefsFile(String name); + + /** * Retrieve and hold the contents of the preferences file 'name', returning * a SharedPreferences through which you can retrieve and modify its * values. Only one instance of the SharedPreferences object is returned diff --git a/core/java/android/content/ContextWrapper.java b/core/java/android/content/ContextWrapper.java index 36e1c34..262204e 100644 --- a/core/java/android/content/ContextWrapper.java +++ b/core/java/android/content/ContextWrapper.java @@ -130,6 +130,11 @@ public class ContextWrapper extends Context { } @Override + public File getSharedPrefsFile(String name) { + return mBase.getSharedPrefsFile(name); + } + + @Override public SharedPreferences getSharedPreferences(String name, int mode) { return mBase.getSharedPreferences(name, mode); } diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index bcb97ed..0497344 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -75,17 +75,17 @@ import java.util.WeakHashMap; * This class represents the basic building block for user interface components. A View * occupies a rectangular area on the screen and is responsible for drawing and * event handling. View is the base class for <em>widgets</em>, which are - * used to create interactive UI components (buttons, text fields, etc.). The + * used to create interactive UI components (buttons, text fields, etc.). The * {@link android.view.ViewGroup} subclass is the base class for <em>layouts</em>, which * are invisible containers that hold other Views (or other ViewGroups) and define * their layout properties. * </p> * * <div class="special"> - * <p>For an introduction to using this class to develop your - * application's user interface, read the Developer Guide documentation on + * <p>For an introduction to using this class to develop your + * application's user interface, read the Developer Guide documentation on * <strong><a href="{@docRoot}guide/topics/ui/index.html">User Interface</a></strong>. Special topics - * include: + * include: * <br/><a href="{@docRoot}guide/topics/ui/declaring-layout.html">Declaring Layout</a> * <br/><a href="{@docRoot}guide/topics/ui/menus.html">Creating Menus</a> * <br/><a href="{@docRoot}guide/topics/ui/layout-objects.html">Common Layout Objects</a> @@ -96,7 +96,7 @@ import java.util.WeakHashMap; * <br/><a href="{@docRoot}guide/topics/ui/how-android-draws.html">How Android Draws Views</a>. * </p> * </div> - * + * * <a name="Using"></a> * <h3>Using Views</h3> * <p> @@ -422,7 +422,7 @@ import java.util.WeakHashMap; * </p> * * <p> - * Note that the framework will not draw views that are not in the invalid region. + * Note that the framework will not draw views that are not in the invalid region. * </p> * * <p> @@ -1830,7 +1830,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility int viewFlagMasks = 0; boolean setScrollContainer = false; - + int x = 0; int y = 0; @@ -2464,7 +2464,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility if (!(parent instanceof View)) { break; } - + child = (View) parent; parent = child.getParent(); } @@ -2556,7 +2556,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility * and previouslyFocusedRect provide insight into where the focus is coming from. * When overriding, be sure to call up through to the super class so that * the standard focus handling will occur. - * + * * @param gainFocus True if the View has focus; false otherwise. * @param direction The direction focus has moved when requestFocus() * is called to give this view focus. Values are @@ -2587,7 +2587,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility && mAttachInfo.mHasWindowFocus) { imm.focusIn(this); } - + invalidate(); if (mOnFocusChangeListener != null) { mOnFocusChangeListener.onFocusChange(this, gainFocus); @@ -2676,7 +2676,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility * Subclasses of View overriding this method should always call super.onFocusLost(). * * @see #onFocusChanged(boolean, int, android.graphics.Rect) - * @see #onWindowFocusChanged(boolean) + * @see #onWindowFocusChanged(boolean) * * @hide pending API council approval */ @@ -3578,14 +3578,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility */ public void onStartTemporaryDetach() { } - + /** * Called after {@link #onStartTemporaryDetach} when the container is done * changing the view. */ public void onFinishTemporaryDetach() { } - + /** * capture information of this view for later analysis: developement only * check dynamic switch to make sure we only dump view @@ -3970,25 +3970,25 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility * a call on that method would return a non-null InputConnection, and * they are really a first-class editor that the user would normally * start typing on when the go into a window containing your view. - * + * * <p>The default implementation always returns false. This does * <em>not</em> mean that its {@link #onCreateInputConnection(EditorInfo)} * will not be called or the user can not otherwise perform edits on your * view; it is just a hint to the system that this is not the primary * purpose of this view. - * + * * @return Returns true if this view is a text editor, else false. */ public boolean onCheckIsTextEditor() { return false; } - + /** * Create a new InputConnection for an InputMethod to interact * with the view. The default implementation returns null, since it doesn't * support input methods. You can override this to implement such support. * This is only needed for views that take focus and text input. - * + * * <p>When implementing this, you probably also want to implement * {@link #onCheckIsTextEditor()} to indicate you will return a * non-null InputConnection. @@ -4012,7 +4012,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility public boolean checkInputConnectionProxy(View view) { return false; } - + /** * Show the context menu for this view. It is not safe to hold on to the * menu after returning from this method. @@ -4743,7 +4743,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility * whether an instance is opaque. Opaque Views are treated in a special way by * the View hierarchy, possibly allowing it to perform optimizations during * invalidate/draw passes. - * + * * @return True if this View is guaranteed to be fully opaque, false otherwise. * * @hide Pending API council approval @@ -5343,9 +5343,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility } } } - + /** - * Override this if the vertical scrollbar needs to be hidden in a subclass, like when + * Override this if the vertical scrollbar needs to be hidden in a subclass, like when * FastScroller is visible. * @return whether to temporarily hide the vertical scrollbar * @hide @@ -5868,8 +5868,17 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility EventLog.writeEvent(60002, hashCode()); } - final int width = mRight - mLeft; - final int height = mBottom - mTop; + int width = mRight - mLeft; + int height = mBottom - mTop; + + final AttachInfo attachInfo = mAttachInfo; + if (attachInfo != null) { + final boolean scalingRequired = attachInfo.mScalingRequired; + if (scalingRequired) { + width = (int) ((width * attachInfo.mApplicationScale) + 0.5f); + height = (int) ((height * attachInfo.mApplicationScale) + 0.5f); + } + } final int drawingCacheBackgroundColor = mDrawingCacheBackgroundColor; final boolean opaque = drawingCacheBackgroundColor != 0 || @@ -5925,11 +5934,17 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility } Canvas canvas; - final AttachInfo attachInfo = mAttachInfo; if (attachInfo != null) { canvas = attachInfo.mCanvas; if (canvas == null) { canvas = new Canvas(); + + // NOTE: This should have to happen only once since compatibility + // mode should not change at runtime + if (attachInfo.mScalingRequired) { + final float scale = attachInfo.mApplicationScale; + canvas.scale(scale, scale); + } } canvas.setBitmap(bitmap); // Temporarily clobber the cached Canvas in case one of our children @@ -6031,7 +6046,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility // Restore the cached Canvas for our siblings attachInfo.mCanvas = canvas; } - + return bitmap; } @@ -6971,7 +6986,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility mUserPaddingBottom = bottom; final int viewFlags = mViewFlags; - + // Common case is there are no scroll bars. if ((viewFlags & (SCROLLBARS_VERTICAL|SCROLLBARS_HORIZONTAL)) != 0) { // TODO: Deal with RTL languages to adjust left padding instead of right. @@ -6984,7 +6999,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility ? 0 : getHorizontalScrollbarHeight(); } } - + if (mPaddingLeft != left) { changed = true; mPaddingLeft = left; @@ -7121,7 +7136,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility return v; } } - + View parent = this; while (parent.mParent != null && parent.mParent instanceof View) { @@ -7169,7 +7184,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility location[1] += view.mTop - view.mScrollY; viewParent = view.mParent; } - + if (viewParent instanceof ViewRoot) { // *cough* final ViewRoot vr = (ViewRoot)viewParent; @@ -7320,7 +7335,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility * @return the Object stored in this view as a tag * * @see #setTag(int, Object) - * @see #getTag() + * @see #getTag() */ public Object getTag(int key) { SparseArray<Object> tags = null; @@ -7376,7 +7391,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility + "resource id."); } - setTagInternal(this, key, tag); + setTagInternal(this, key, tag); } private static void setTagInternal(View view, int key, Object tag) { @@ -7411,7 +7426,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility /** * Method that subclasses should implement to check their consistency. The type of * consistency check is indicated by the bit field passed as a parameter. - * + * * @param consistency The type of consistency. See ViewDebug for more information. * * @throws IllegalStateException if the view is in an inconsistent state. @@ -7966,7 +7981,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility /** * BZZZTT!!1! - * + * * <p>Provide haptic feedback to the user for this view. * * <p>The framework will provide haptic feedback for some built in actions, @@ -7985,7 +8000,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility /** * BZZZTT!!1! - * + * * <p>Like {@link #performHapticFeedback(int)}, with additional options. * * @param feedbackConstant One of the constants defined in @@ -8448,11 +8463,21 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility * The top view of the hierarchy. */ View mRootView; - + IBinder mPanelParentWindowToken; Surface mSurface; /** + * Scale factor used by the compatibility mode + */ + float mApplicationScale; + + /** + * Indicates whether the application is in compatibility mode + */ + boolean mScalingRequired; + + /** * Left position of this view's window */ int mWindowLeft; @@ -8639,18 +8664,18 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility // use use a height of 1, and then wack the matrix each time we // actually use it. shader = new LinearGradient(0, 0, 0, 1, 0xFF000000, 0, Shader.TileMode.CLAMP); - + paint.setShader(shader); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT)); } - + public void setFadeColor(int color) { if (color != 0 && color != mLastColor) { mLastColor = color; color |= 0xFF000000; - + shader = new LinearGradient(0, 0, 0, 1, color, 0, Shader.TileMode.CLAMP); - + paint.setShader(shader); // Restore the default transfer mode (src_over) paint.setXfermode(null); diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index 8b0629c..af05501 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -99,7 +99,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager /** * Internal flags. - * + * * This field should be made private, so it is hidden from the SDK. * {@hide} */ @@ -152,7 +152,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * to get the index of the child to draw for that iteration. */ protected static final int FLAG_USE_CHILD_DRAWING_ORDER = 0x400; - + /** * When set, this ViewGroup supports static transformations on children; this causes * {@link #getChildStaticTransformation(View, android.view.animation.Transformation)} to be @@ -161,7 +161,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * Any subclass overriding * {@link #getChildStaticTransformation(View, android.view.animation.Transformation)} should * set this flags in {@link #mGroupFlags}. - * + * * {@hide} */ protected static final int FLAG_SUPPORT_STATIC_TRANSFORMATIONS = 0x800; @@ -222,7 +222,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * When set, this ViewGroup should not intercept touch events. */ private static final int FLAG_DISALLOW_INTERCEPT = 0x80000; - + /** * Indicates which types of drawing caches are to be kept in memory. * This field should be made private, so it is hidden from the SDK. @@ -698,7 +698,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager ViewParent parent = mParent; if (parent != null) parent.recomputeViewAttributes(this); } - + @Override void dispatchCollectViewAttributes(int visibility) { visibility |= mViewFlags&VISIBILITY_MASK; @@ -830,16 +830,16 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } } } - + boolean isUpOrCancel = (action == MotionEvent.ACTION_UP) || - (action == MotionEvent.ACTION_CANCEL); + (action == MotionEvent.ACTION_CANCEL); if (isUpOrCancel) { // Note, we've already copied the previous state to our local // variable, so this takes effect on the next event mGroupFlags &= ~FLAG_DISALLOW_INTERCEPT; } - + // The event wasn't an ACTION_DOWN, dispatch it to our target if // we have one. final View target = mMotionTarget; @@ -886,18 +886,18 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * {@inheritDoc} */ public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) { - + if (disallowIntercept == ((mGroupFlags & FLAG_DISALLOW_INTERCEPT) != 0)) { // We're already in this state, assume our ancestors are too return; } - + if (disallowIntercept) { mGroupFlags |= FLAG_DISALLOW_INTERCEPT; } else { mGroupFlags &= ~FLAG_DISALLOW_INTERCEPT; } - + // Pass it up to our parent if (mParent != null) { mParent.requestDisallowInterceptTouchEvent(disallowIntercept); @@ -1301,7 +1301,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager post(end); } } - + /** * Returns the index of the child to draw for this iteration. Override this * if you want to change the drawing order of children. By default, it @@ -1309,14 +1309,14 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * <p> * NOTE: In order for this method to be called, the * {@link #FLAG_USE_CHILD_DRAWING_ORDER} must be set. - * + * * @param i The current iteration. * @return The index of the child to draw this iteration. */ protected int getChildDrawingOrder(int childCount, int i) { return i; } - + private void notifyAnimationListener() { mGroupFlags &= ~FLAG_NOTIFY_ANIMATION_LISTENER; mGroupFlags |= FLAG_ANIMATION_DONE; @@ -1444,10 +1444,12 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager final int sx = child.mScrollX; final int sy = child.mScrollY; + boolean scalingRequired = false; Bitmap cache = null; if ((flags & FLAG_CHILDREN_DRAWN_WITH_CACHE) == FLAG_CHILDREN_DRAWN_WITH_CACHE || (flags & FLAG_ALWAYS_DRAWN_WITH_CACHE) == FLAG_ALWAYS_DRAWN_WITH_CACHE) { cache = child.getDrawingCache(); + scalingRequired = mAttachInfo.mScalingRequired; } final boolean hasNoCache = cache == null; @@ -1457,6 +1459,10 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager canvas.translate(cl - sx, ct - sy); } else { canvas.translate(cl, ct); + if (scalingRequired) { + final float scale = 1.0f / mAttachInfo.mApplicationScale; + canvas.scale(scale, scale); + } } float alpha = 1.0f; @@ -1499,7 +1505,11 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager if (hasNoCache) { canvas.clipRect(sx, sy, sx + (cr - cl), sy + (cb - ct)); } else { - canvas.clipRect(0, 0, cr - cl, cb - ct); + if (!scalingRequired) { + canvas.clipRect(0, 0, cr - cl, cb - ct); + } else { + canvas.clipRect(0, 0, cache.getWidth(), cache.getHeight()); + } } } @@ -1509,7 +1519,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager if (ViewDebug.TRACE_HIERARCHY) { ViewDebug.trace(this, ViewDebug.HierarchyTraceType.DRAW); } - child.mPrivateFlags &= ~DIRTY_MASK; + child.mPrivateFlags &= ~DIRTY_MASK; child.dispatchDraw(canvas); } else { child.draw(canvas); @@ -1574,7 +1584,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager children[i].setSelected(selected); } } - + @Override protected void dispatchSetPressed(boolean pressed) { final View[] children = mChildren; @@ -1605,7 +1615,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager /** * {@inheritDoc} * - * @see #setStaticTransformationsEnabled(boolean) + * @see #setStaticTransformationsEnabled(boolean) */ protected boolean getChildStaticTransformation(View child, Transformation t) { return false; @@ -1872,10 +1882,10 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager if (child.hasFocus()) { requestChildFocus(child, child.findFocus()); } - + AttachInfo ai = mAttachInfo; if (ai != null) { - boolean lastKeepOn = ai.mKeepScreenOn; + boolean lastKeepOn = ai.mKeepScreenOn; ai.mKeepScreenOn = false; child.dispatchAttachedToWindow(mAttachInfo, (mViewFlags&VISIBILITY_MASK)); if (ai.mKeepScreenOn) { @@ -2075,7 +2085,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } needGlobalAttributesUpdate(false); - + removeFromArray(index); if (clearChildFocus) { @@ -2108,7 +2118,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } needGlobalAttributesUpdate(false); - + if (notifyListener) { onHierarchyChangeListener.onChildViewRemoved(this, view); } @@ -2156,7 +2166,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager View clearChildFocus = null; needGlobalAttributesUpdate(false); - + for (int i = count - 1; i >= 0; i--) { final View view = children[i]; @@ -2201,7 +2211,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager if (child == mFocused) { child.clearFocus(); } - + if (animate && child.getAnimation() != null) { addDisappearingView(child); } else if (child.mAttachInfo != null) { @@ -3164,7 +3174,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } } } - + @Override protected boolean fitSystemWindows(Rect insets) { @@ -3298,7 +3308,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * laid out. See * {@link android.R.styleable#ViewGroup_Layout ViewGroup Layout Attributes} * for a list of all child view attributes that this class supports. - * + * * <p> * The base LayoutParams class just describes how big the view wants to be * for both width and height. For each dimension, it can specify one of: @@ -3429,7 +3439,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * @param output the String to prepend to the internal representation * @return a String with the following format: output + * "ViewGroup.LayoutParams={ width=WIDTH, height=HEIGHT }" - * + * * @hide */ public String debug(String output) { @@ -3442,7 +3452,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager * * @param size the size to convert * @return a String instance representing the supplied size - * + * * @hide */ protected static String sizeToString(int size) { diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java index ee8229d..d35b048 100644 --- a/core/java/android/view/ViewRoot.java +++ b/core/java/android/view/ViewRoot.java @@ -94,18 +94,18 @@ public final class ViewRoot extends Handler implements ViewParent, static final ThreadLocal<RunQueue> sRunQueues = new ThreadLocal<RunQueue>(); - private static int sDrawTime; + private static int sDrawTime; long mLastTrackballTime = 0; final TrackballAxis mTrackballAxisX = new TrackballAxis(); final TrackballAxis mTrackballAxisY = new TrackballAxis(); final int[] mTmpLocation = new int[2]; - + final InputMethodCallback mInputMethodCallback; final SparseArray<Object> mPendingEvents = new SparseArray<Object>(); int mPendingEventSeq = 0; - + final Thread mThread; final WindowLeaked mLocation; @@ -127,7 +127,7 @@ public final class ViewRoot extends Handler implements ViewParent, int mHeight; Rect mDirty; // will be a graphics.Region soon boolean mIsAnimating; - + private CompatibilityInfo mCompatibilityInfo; final View.AttachInfo mAttachInfo; @@ -170,7 +170,7 @@ public final class ViewRoot extends Handler implements ViewParent, int mScrollY; int mCurScrollY; Scroller mScroller; - + EGL10 mEgl; EGLDisplay mEglDisplay; EGLContext mEglContext; @@ -180,7 +180,7 @@ public final class ViewRoot extends Handler implements ViewParent, boolean mUseGL; boolean mGlWanted; - final ViewConfiguration mViewConfiguration; + final ViewConfiguration mViewConfiguration; /** * see {@link #playSoundEffect(int)} @@ -399,13 +399,15 @@ public final class ViewRoot extends Handler implements ViewParent, mSoftInputMode = attrs.softInputMode; mWindowAttributesChanged = true; mAttachInfo.mRootView = view; + mAttachInfo.mScalingRequired = mCompatibilityInfo.mScalingRequired; + mAttachInfo.mApplicationScale = mCompatibilityInfo.mApplicationScale; if (panelParentView != null) { mAttachInfo.mPanelParentWindowToken = panelParentView.getApplicationWindowToken(); } mAdded = true; int res; /* = WindowManagerImpl.ADD_OKAY; */ - + // Schedule the first layout -before- adding to the window // manager, to make sure we do the relayout before receiving // any other events from the system. @@ -594,7 +596,7 @@ public final class ViewRoot extends Handler implements ViewParent, int getHostVisibility() { return mAppVisible ? mView.getVisibility() : View.GONE; } - + private void performTraversals() { // cache mView since it is used so much below... final View host = mView; @@ -638,7 +640,7 @@ public final class ViewRoot extends Handler implements ViewParent, fullRedrawNeeded = true; mLayoutRequested = true; - DisplayMetrics packageMetrics = + DisplayMetrics packageMetrics = mView.getContext().getResources().getDisplayMetrics(); desiredWindowWidth = packageMetrics.widthPixels; desiredWindowHeight = packageMetrics.heightPixels; @@ -685,7 +687,7 @@ public final class ViewRoot extends Handler implements ViewParent, } boolean insetsChanged = false; - + if (mLayoutRequested) { if (mFirst) { host.fitSystemWindows(mAttachInfo.mContentInsets); @@ -710,7 +712,7 @@ public final class ViewRoot extends Handler implements ViewParent, || lp.height == ViewGroup.LayoutParams.WRAP_CONTENT) { windowResizesToFitContent = true; - DisplayMetrics packageMetrics = + DisplayMetrics packageMetrics = mView.getContext().getResources().getDisplayMetrics(); desiredWindowWidth = packageMetrics.widthPixels; desiredWindowHeight = packageMetrics.heightPixels; @@ -770,7 +772,7 @@ public final class ViewRoot extends Handler implements ViewParent, } } } - + if (params != null && (host.mPrivateFlags & View.REQUEST_TRANSPARENT_REGIONS) != 0) { if (!PixelFormat.formatHasAlpha(params.format)) { params.format = PixelFormat.TRANSLUCENT; @@ -799,7 +801,7 @@ public final class ViewRoot extends Handler implements ViewParent, // computed insets. insetsPending = computesInternalInsets && (mFirst || viewVisibilityChanged); - + if (mWindowAttributes.memoryType == WindowManager.LayoutParams.MEMORY_TYPE_GPU) { if (params == null) { params = mWindowAttributes; @@ -835,7 +837,7 @@ public final class ViewRoot extends Handler implements ViewParent, + " content=" + mPendingContentInsets.toShortString() + " visible=" + mPendingVisibleInsets.toShortString() + " surface=" + mSurface); - + contentInsetsChanged = !mPendingContentInsets.equals( mAttachInfo.mContentInsets); visibleInsetsChanged = !mPendingVisibleInsets.equals( @@ -863,7 +865,7 @@ public final class ViewRoot extends Handler implements ViewParent, // all at once. newSurface = true; fullRedrawNeeded = true; - + if (mGlWanted && !mUseGL) { initializeGL(); initialized = mGlCanvas != null; @@ -908,7 +910,7 @@ public final class ViewRoot extends Handler implements ViewParent, + " mHeight=" + mHeight + " measuredHeight" + host.mMeasuredHeight + " coveredInsetsChanged=" + contentInsetsChanged); - + // Ask host how big it wants to be host.measure(childWidthMeasureSpec, childHeightMeasureSpec); @@ -983,7 +985,7 @@ public final class ViewRoot extends Handler implements ViewParent, mTmpLocation[1] + host.mBottom - host.mTop); host.gatherTransparentRegion(mTransparentRegion); - mTransparentRegion.scale(appScale); + mTransparentRegion.scale(appScale); if (!mTransparentRegion.equals(mPreviousTransparentRegion)) { mPreviousTransparentRegion.set(mTransparentRegion); // reconfigure window manager @@ -1027,7 +1029,7 @@ public final class ViewRoot extends Handler implements ViewParent, } } } - + if (mFirst) { // handle first focus request if (DEBUG_INPUT_RESIZE) Log.v(TAG, "First: mView.hasFocus()=" @@ -1065,7 +1067,7 @@ public final class ViewRoot extends Handler implements ViewParent, } } } - + boolean cancelDraw = attachInfo.mTreeObserver.dispatchOnPreDraw(); if (!cancelDraw && !newSurface) { @@ -1153,7 +1155,7 @@ public final class ViewRoot extends Handler implements ViewParent, mAttachInfo.mViewScrollChanged = false; mAttachInfo.mTreeObserver.dispatchOnScrollChanged(); } - + int yoff; final boolean scrolling = mScroller != null && mScroller.computeScrollOffset(); if (scrolling) { @@ -1318,7 +1320,7 @@ public final class ViewRoot extends Handler implements ViewParent, EventLog.writeEvent(60000, SystemClock.elapsedRealtime() - startTime); } } - + } finally { surface.unlockCanvasAndPost(canvas); } @@ -1326,7 +1328,7 @@ public final class ViewRoot extends Handler implements ViewParent, if (LOCAL_LOGV) { Log.v("ViewRoot", "Surface " + surface + " unlockCanvasAndPost"); } - + if (scrolling) { mFullRedrawNeeded = true; scheduleTraversals(); @@ -1339,7 +1341,7 @@ public final class ViewRoot extends Handler implements ViewParent, final Rect vi = attachInfo.mVisibleInsets; int scrollY = 0; boolean handled = false; - + if (vi.left > ci.left || vi.top > ci.top || vi.right > ci.right || vi.bottom > ci.bottom) { // We'll assume that we aren't going to change the scroll @@ -1426,7 +1428,7 @@ public final class ViewRoot extends Handler implements ViewParent, } } } - + if (scrollY != mScrollY) { if (DEBUG_INPUT_RESIZE) Log.v(TAG, "Pan scroll changed: old=" + mScrollY + " , new=" + scrollY); @@ -1440,10 +1442,10 @@ public final class ViewRoot extends Handler implements ViewParent, } mScrollY = scrollY; } - + return handled; } - + public void requestChildFocus(View child, View focused) { checkThread(); if (mFocusedView != focused) { @@ -1523,7 +1525,7 @@ public final class ViewRoot extends Handler implements ViewParent, } catch (RemoteException e) { } } - + /** * Return true if child is an ancestor of parent, (or equal to the parent). */ @@ -1727,10 +1729,10 @@ public final class ViewRoot extends Handler implements ViewParent, } } } - + mLastWasImTarget = WindowManager.LayoutParams .mayUseInputMethod(mWindowAttributes.flags); - + InputMethodManager imm = InputMethodManager.peekInstance(); if (mView != null) { if (hasWindowFocus && imm != null && mLastWasImTarget) { @@ -2151,50 +2153,50 @@ public final class ViewRoot extends Handler implements ViewParent, } /** - * log motion events + * log motion events */ private static void captureMotionLog(String subTag, MotionEvent ev) { - //check dynamic switch + //check dynamic switch if (ev == null || SystemProperties.getInt(ViewDebug.SYSTEM_PROPERTY_CAPTURE_EVENT, 0) == 0) { return; - } - - StringBuilder sb = new StringBuilder(subTag + ": "); - sb.append(ev.getDownTime()).append(','); - sb.append(ev.getEventTime()).append(','); - sb.append(ev.getAction()).append(','); - sb.append(ev.getX()).append(','); - sb.append(ev.getY()).append(','); - sb.append(ev.getPressure()).append(','); - sb.append(ev.getSize()).append(','); - sb.append(ev.getMetaState()).append(','); - sb.append(ev.getXPrecision()).append(','); - sb.append(ev.getYPrecision()).append(','); - sb.append(ev.getDeviceId()).append(','); + } + + StringBuilder sb = new StringBuilder(subTag + ": "); + sb.append(ev.getDownTime()).append(','); + sb.append(ev.getEventTime()).append(','); + sb.append(ev.getAction()).append(','); + sb.append(ev.getX()).append(','); + sb.append(ev.getY()).append(','); + sb.append(ev.getPressure()).append(','); + sb.append(ev.getSize()).append(','); + sb.append(ev.getMetaState()).append(','); + sb.append(ev.getXPrecision()).append(','); + sb.append(ev.getYPrecision()).append(','); + sb.append(ev.getDeviceId()).append(','); sb.append(ev.getEdgeFlags()); - Log.d(TAG, sb.toString()); + Log.d(TAG, sb.toString()); } /** - * log motion events + * log motion events */ private static void captureKeyLog(String subTag, KeyEvent ev) { - //check dynamic switch - if (ev == null || + //check dynamic switch + if (ev == null || SystemProperties.getInt(ViewDebug.SYSTEM_PROPERTY_CAPTURE_EVENT, 0) == 0) { return; } - StringBuilder sb = new StringBuilder(subTag + ": "); + StringBuilder sb = new StringBuilder(subTag + ": "); sb.append(ev.getDownTime()).append(','); sb.append(ev.getEventTime()).append(','); sb.append(ev.getAction()).append(','); - sb.append(ev.getKeyCode()).append(','); + sb.append(ev.getKeyCode()).append(','); sb.append(ev.getRepeatCount()).append(','); sb.append(ev.getMetaState()).append(','); sb.append(ev.getDeviceId()).append(','); sb.append(ev.getScanCode()); - Log.d(TAG, sb.toString()); - } + Log.d(TAG, sb.toString()); + } int enqueuePendingEvent(Object event, boolean sendDone) { int seq = mPendingEventSeq+1; @@ -2212,7 +2214,7 @@ public final class ViewRoot extends Handler implements ViewParent, } return event; } - + private void deliverKeyEvent(KeyEvent event, boolean sendDone) { // If mView is null, we just consume the key event because it doesn't // make sense to do anything else with it. @@ -2269,7 +2271,7 @@ public final class ViewRoot extends Handler implements ViewParent, } } } - + private void deliverKeyEventToViewHierarchy(KeyEvent event, boolean sendDone) { try { if (mView != null && mAdded) { @@ -2278,8 +2280,8 @@ public final class ViewRoot extends Handler implements ViewParent, if (checkForLeavingTouchModeAndConsume(event)) { return; - } - + } + if (Config.LOGV) { captureKeyLog("captureDispatchKeyEvent", event); } @@ -2384,12 +2386,12 @@ public final class ViewRoot extends Handler implements ViewParent, } return relayoutResult; } - + /** * Adjust the window's layout parameter for compatibility mode. It replaces FILL_PARENT * with the default window size, and centers if the window wanted to fill * horizontally. - * + * * @param attrs the window's layout params to adjust */ private void adjustWindowAttributesForCompatibleMode(WindowManager.LayoutParams attrs) { @@ -2628,14 +2630,14 @@ public final class ViewRoot extends Handler implements ViewParent, boolean immediate) { return scrollToRectOrFocus(rectangle, immediate); } - + static class InputMethodCallback extends IInputMethodCallback.Stub { private WeakReference<ViewRoot> mViewRoot; public InputMethodCallback(ViewRoot viewRoot) { mViewRoot = new WeakReference<ViewRoot>(viewRoot); } - + public void finishedEvent(int seq, boolean handled) { final ViewRoot viewRoot = mViewRoot.get(); if (viewRoot != null) { @@ -2647,13 +2649,13 @@ public final class ViewRoot extends Handler implements ViewParent, // Stub -- not for use in the client. } } - + static class EventCompletion extends Handler { final IWindow mWindow; final KeyEvent mKeyEvent; final boolean mIsPointer; final MotionEvent mMotionEvent; - + EventCompletion(Looper looper, IWindow window, KeyEvent key, boolean isPointer, MotionEvent motion) { super(looper); @@ -2663,7 +2665,7 @@ public final class ViewRoot extends Handler implements ViewParent, mMotionEvent = motion; sendEmptyMessage(0); } - + @Override public void handleMessage(Message msg) { if (mKeyEvent != null) { @@ -2705,7 +2707,7 @@ public final class ViewRoot extends Handler implements ViewParent, } } } - + static class W extends IWindow.Stub { private final WeakReference<ViewRoot> mViewRoot; private final Looper mMainLooper; @@ -2827,14 +2829,14 @@ public final class ViewRoot extends Handler implements ViewParent, * The maximum amount of acceleration we will apply. */ static final float MAX_ACCELERATION = 20; - + /** * The maximum amount of time (in milliseconds) between events in order * for us to consider the user to be doing fast trackball movements, * and thus apply an acceleration. */ static final long FAST_MOVE_TIME = 150; - + /** * Scaling factor to the time (in milliseconds) between events to how * much to multiple/divide the current acceleration. When movement @@ -2842,7 +2844,7 @@ public final class ViewRoot extends Handler implements ViewParent, * FAST_MOVE_TIME it divides it. */ static final float ACCEL_MOVE_SCALING_FACTOR = (1.0f/40); - + float position; float absPosition; float acceleration = 1; @@ -2894,7 +2896,7 @@ public final class ViewRoot extends Handler implements ViewParent, } else { normTime = 0; } - + // The number of milliseconds between each movement that is // considered "normal" and will not result in any acceleration // or deceleration, scaled by the offset we have here. @@ -3052,7 +3054,7 @@ public final class ViewRoot extends Handler implements ViewParent, sRunQueues.set(rq); return rq; } - + /** * @hide */ diff --git a/core/jni/android_backup_FileBackupHelper.cpp b/core/jni/android_backup_FileBackupHelper.cpp index a46f37b..2ee064b 100644 --- a/core/jni/android_backup_FileBackupHelper.cpp +++ b/core/jni/android_backup_FileBackupHelper.cpp @@ -28,8 +28,8 @@ namespace android static jfieldID s_descriptorField = 0; static int -performBackup_native(JNIEnv* env, jobject clazz, jstring basePath, jobject oldState, int data, - jobject newState, jobjectArray files) +performBackup_native(JNIEnv* env, jobject clazz, jobject oldState, int data, + jobject newState, jobjectArray files, jobjectArray keys) { int err; @@ -39,29 +39,37 @@ performBackup_native(JNIEnv* env, jobject clazz, jstring basePath, jobject oldSt int newStateFD = env->GetIntField(newState, s_descriptorField); BackupDataWriter* dataStream = (BackupDataWriter*)data; - char const* basePathUTF = env->GetStringUTFChars(basePath, NULL); - LOGD("basePathUTF=\"%s\"\n", basePathUTF); const int fileCount = env->GetArrayLength(files); char const** filesUTF = (char const**)malloc(sizeof(char*)*fileCount); for (int i=0; i<fileCount; i++) { filesUTF[i] = env->GetStringUTFChars((jstring)env->GetObjectArrayElement(files, i), NULL); } - err = back_up_files(oldStateFD, dataStream, newStateFD, basePathUTF, filesUTF, fileCount); + const int keyCount = env->GetArrayLength(keys); + char const** keysUTF = (char const**)malloc(sizeof(char*)*keyCount); + for (int i=0; i<keyCount; i++) { + keysUTF[i] = env->GetStringUTFChars((jstring)env->GetObjectArrayElement(keys, i), NULL); + } + + err = back_up_files(oldStateFD, dataStream, newStateFD, filesUTF, keysUTF, fileCount); for (int i=0; i<fileCount; i++) { env->ReleaseStringUTFChars((jstring)env->GetObjectArrayElement(files, i), filesUTF[i]); } free(filesUTF); - env->ReleaseStringUTFChars(basePath, basePathUTF); + + for (int i=0; i<keyCount; i++) { + env->ReleaseStringUTFChars((jstring)env->GetObjectArrayElement(keys, i), keysUTF[i]); + } + free(keysUTF); return err; } static const JNINativeMethod g_methods[] = { { "performBackup_native", - "(Ljava/lang/String;Ljava/io/FileDescriptor;ILjava/io/FileDescriptor;[Ljava/lang/String;)I", - (void*)performBackup_native }, + "(Ljava/io/FileDescriptor;ILjava/io/FileDescriptor;[Ljava/lang/String;[Ljava/lang/String;)I", + (void*)performBackup_native }, }; int register_android_backup_FileBackupHelper(JNIEnv* env) diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 99fe9c8..23ab573 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -82,9 +82,7 @@ <!-- Text color for urls in search suggestions, used by things like global search and the browser. @hide --> <attr name="textColorSearchUrl" format="reference|color" /> - <!-- Search widget result item background. --> - <attr name="searchWidgetItemBackground" format="reference|color" /> - <!-- Search widget expandable result item background. --> + <!-- Search widget more corpus result item background. --> <attr name="searchWidgetCorpusItemBackground" format="reference|color" /> <!-- Text color, typeface, size, and style for "large" text. Defaults to primary text color. --> diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml index 29d8f73..d284d0f 100644 --- a/core/res/res/values/colors.xml +++ b/core/res/res/values/colors.xml @@ -75,7 +75,6 @@ <!-- For search-related UIs --> <color name="search_url_text">#7fa87f</color> - <color name="search_widget_item_background">@android:color/white</color> <color name="search_widget_corpus_item_background">@android:color/lighter_gray</color> </resources> diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml index 0641021..f37d514 100644 --- a/core/res/res/values/themes.xml +++ b/core/res/res/values/themes.xml @@ -185,7 +185,6 @@ <item name="preferenceLayoutChild">@android:layout/preference_child</item> <!-- Search widget styles --> - <item name="searchWidgetItemBackground">@android:color/search_widget_item_background</item> <item name="searchWidgetCorpusItemBackground">@android:color/search_widget_corpus_item_background</item> </style> diff --git a/include/utils/BackupHelpers.h b/include/utils/BackupHelpers.h index 24b6c9e..f60f4ea 100644 --- a/include/utils/BackupHelpers.h +++ b/include/utils/BackupHelpers.h @@ -118,7 +118,7 @@ private: }; int back_up_files(int oldSnapshotFD, BackupDataWriter* dataStream, int newSnapshotFD, - char const* fileBase, char const* const* files, int fileCount); + char const* const* files, char const* const *keys, int fileCount); #define TEST_BACKUP_HELPERS 1 @@ -127,6 +127,8 @@ int back_up_files(int oldSnapshotFD, BackupDataWriter* dataStream, int newSnapsh int backup_helper_test_empty(); int backup_helper_test_four(); int backup_helper_test_files(); +int backup_helper_test_null_base(); +int backup_helper_test_missing_file(); int backup_helper_test_data_writer(); int backup_helper_test_data_reader(); #endif diff --git a/libs/utils/BackupHelpers.cpp b/libs/utils/BackupHelpers.cpp index 7f423a8..4c3e37d 100644 --- a/libs/utils/BackupHelpers.cpp +++ b/libs/utils/BackupHelpers.cpp @@ -41,8 +41,8 @@ namespace android { #define MAGIC0 0x70616e53 // Snap #define MAGIC1 0x656c6946 // File -#if 0 // TEST_BACKUP_HELPERS -#define LOGP(x...) printf(x) +#if 1 // TEST_BACKUP_HELPERS +#define LOGP(f, x...) printf(f "\n", x) #else #define LOGP(x...) LOGD(x) #endif @@ -62,6 +62,12 @@ struct FileState { int nameLen; }; +struct FileRec { + char const* file; // this object does not own this string + bool deleted; + FileState s; +}; + const static int ROUND_UP[4] = { 0, 3, 2, 1 }; static inline int @@ -92,8 +98,8 @@ read_snapshot_file(int fd, KeyedVector<String8,FileState>* snapshot) FileState file; char filenameBuf[128]; - amt = read(fd, &file, sizeof(file)); - if (amt != sizeof(file)) { + amt = read(fd, &file, sizeof(FileState)); + if (amt != sizeof(FileState)) { LOGW("read_snapshot_file FileState truncated/error with read at %d bytes\n", bytesRead); return 1; } @@ -128,20 +134,25 @@ read_snapshot_file(int fd, KeyedVector<String8,FileState>* snapshot) } static int -write_snapshot_file(int fd, const KeyedVector<String8,FileState>& snapshot) +write_snapshot_file(int fd, const KeyedVector<String8,FileRec>& snapshot) { + int fileCount = 0; int bytesWritten = sizeof(SnapshotHeader); // preflight size const int N = snapshot.size(); for (int i=0; i<N; i++) { - const String8& name = snapshot.keyAt(i); - bytesWritten += sizeof(FileState) + round_up(name.length()); + const FileRec& g = snapshot.valueAt(i); + if (!g.deleted) { + const String8& name = snapshot.keyAt(i); + bytesWritten += sizeof(FileState) + round_up(name.length()); + fileCount++; + } } LOGP("write_snapshot_file fd=%d\n", fd); int amt; - SnapshotHeader header = { MAGIC0, N, MAGIC1, bytesWritten }; + SnapshotHeader header = { MAGIC0, fileCount, MAGIC1, bytesWritten }; amt = write(fd, &header, sizeof(header)); if (amt != sizeof(header)) { @@ -149,32 +160,34 @@ write_snapshot_file(int fd, const KeyedVector<String8,FileState>& snapshot) return errno; } - for (int i=0; i<header.fileCount; i++) { - const String8& name = snapshot.keyAt(i); - FileState file = snapshot.valueAt(i); - int nameLen = file.nameLen = name.length(); - - amt = write(fd, &file, sizeof(file)); - if (amt != sizeof(file)) { - LOGW("write_snapshot_file error writing header %s", strerror(errno)); - return 1; - } + for (int i=0; i<N; i++) { + FileRec r = snapshot.valueAt(i); + if (!r.deleted) { + const String8& name = snapshot.keyAt(i); + int nameLen = r.s.nameLen = name.length(); + + amt = write(fd, &r.s, sizeof(FileState)); + if (amt != sizeof(FileState)) { + LOGW("write_snapshot_file error writing header %s", strerror(errno)); + return 1; + } - // filename is not NULL terminated, but it is padded - amt = write(fd, name.string(), nameLen); - if (amt != nameLen) { - LOGW("write_snapshot_file error writing filename %s", strerror(errno)); - return 1; - } - int paddingLen = ROUND_UP[nameLen % 4]; - if (paddingLen != 0) { - int padding = 0xabababab; - amt = write(fd, &padding, paddingLen); - if (amt != paddingLen) { - LOGW("write_snapshot_file error writing %d bytes of filename padding %s", - paddingLen, strerror(errno)); + // filename is not NULL terminated, but it is padded + amt = write(fd, name.string(), nameLen); + if (amt != nameLen) { + LOGW("write_snapshot_file error writing filename %s", strerror(errno)); return 1; } + int paddingLen = ROUND_UP[nameLen % 4]; + if (paddingLen != 0) { + int padding = 0xabababab; + amt = write(fd, &padding, paddingLen); + if (amt != paddingLen) { + LOGW("write_snapshot_file error writing %d bytes of filename padding %s", + paddingLen, strerror(errno)); + return 1; + } + } } } @@ -190,9 +203,9 @@ write_delete_file(BackupDataWriter* dataStream, const String8& key) static int write_update_file(BackupDataWriter* dataStream, int fd, const String8& key, - const String8& realFilename) + char const* realFilename) { - LOGP("write_update_file %s (%s)\n", realFilename.string(), key.string()); + LOGP("write_update_file %s (%s)\n", realFilename, key.string()); const int bufsize = 4*1024; int err; @@ -237,8 +250,7 @@ write_update_file(BackupDataWriter* dataStream, int fd, const String8& key, } } LOGE("write_update_file size mismatch for %s. expected=%d actual=%d." - " You aren't doing proper locking!", - realFilename.string(), fileSize, fileSize-bytesLeft); + " You aren't doing proper locking!", realFilename, fileSize, fileSize-bytesLeft); } free(buf); @@ -247,10 +259,10 @@ write_update_file(BackupDataWriter* dataStream, int fd, const String8& key, } static int -write_update_file(BackupDataWriter* dataStream, const String8& key, const String8& realFilename) +write_update_file(BackupDataWriter* dataStream, const String8& key, char const* realFilename) { int err; - int fd = open(realFilename.string(), O_RDONLY); + int fd = open(realFilename, O_RDONLY); if (fd == -1) { return errno; } @@ -281,12 +293,11 @@ compute_crc32(int fd) int back_up_files(int oldSnapshotFD, BackupDataWriter* dataStream, int newSnapshotFD, - char const* fileBase, char const* const* files, int fileCount) + char const* const* files, char const* const* keys, int fileCount) { int err; - const String8 base(fileBase); KeyedVector<String8,FileState> oldSnapshot; - KeyedVector<String8,FileState> newSnapshot; + KeyedVector<String8,FileRec> newSnapshot; if (oldSnapshotFD != -1) { err = read_snapshot_file(oldSnapshotFD, &oldSnapshot); @@ -297,26 +308,29 @@ back_up_files(int oldSnapshotFD, BackupDataWriter* dataStream, int newSnapshotFD } for (int i=0; i<fileCount; i++) { - String8 name(files[i]); - FileState s; + String8 key(keys[i]); + FileRec r; + char const* file = r.file = files[i]; struct stat st; - String8 realFilename(base); - realFilename.appendPath(name); - err = stat(realFilename.string(), &st); + err = stat(file, &st); if (err != 0) { - LOGW("Error stating file %s", realFilename.string()); - continue; + LOGW("Error stating file %s", file); + r.deleted = true; + } else { + r.deleted = false; + r.s.modTime_sec = st.st_mtime; + r.s.modTime_nsec = 0; // workaround sim breakage + //r.s.modTime_nsec = st.st_mtime_nsec; + r.s.size = st.st_size; + // we compute the crc32 later down below, when we already have the file open. + + if (newSnapshot.indexOfKey(key) >= 0) { + LOGP("back_up_files key already in use '%s'", key.string()); + return -1; + } } - - s.modTime_sec = st.st_mtime; - s.modTime_nsec = 0; // workaround sim breakage - //s.modTime_nsec = st.st_mtime_nsec; - s.size = st.st_size; - - // we compute the crc32 later down below, when we already have the file open. - - newSnapshot.add(name, s); + newSnapshot.add(key, r); } int n = 0; @@ -326,46 +340,42 @@ back_up_files(int oldSnapshotFD, BackupDataWriter* dataStream, int newSnapshotFD while (n<N && m<fileCount) { const String8& p = oldSnapshot.keyAt(n); const String8& q = newSnapshot.keyAt(m); + FileRec& g = newSnapshot.editValueAt(m); int cmp = p.compare(q); - if (cmp > 0) { - // file added - String8 realFilename(base); - realFilename.appendPath(q); - LOGP("file added: %s\n", realFilename.string()); - write_update_file(dataStream, q, realFilename); - m++; - } - else if (cmp < 0) { + if (g.deleted || cmp < 0) { // file removed - LOGP("file removed: %s\n", p.string()); + LOGP("file removed: %s", p.string()); + g.deleted = true; // They didn't mention the file, but we noticed that it's gone. dataStream->WriteEntityHeader(p, -1); n++; } + else if (cmp > 0) { + // file added + LOGP("file added: %s", g.file); + write_update_file(dataStream, q, g.file); + m++; + } else { - // both files exist, check them - String8 realFilename(base); - realFilename.appendPath(q); const FileState& f = oldSnapshot.valueAt(n); - FileState& g = newSnapshot.editValueAt(m); - int fd = open(realFilename.string(), O_RDONLY); + int fd = open(g.file, O_RDONLY); if (fd < 0) { // We can't open the file. Don't report it as a delete either. Let the // server keep the old version. Maybe they'll be able to deal with it // on restore. - LOGP("Unable to open file %s - skipping", realFilename.string()); + LOGP("Unable to open file %s - skipping", g.file); } else { - g.crc32 = compute_crc32(fd); + g.s.crc32 = compute_crc32(fd); - LOGP("%s\n", q.string()); - LOGP(" new: modTime=%d,%d size=%-3d crc32=0x%08x\n", + LOGP("%s", q.string()); + LOGP(" new: modTime=%d,%d size=%-3d crc32=0x%08x", f.modTime_sec, f.modTime_nsec, f.size, f.crc32); - LOGP(" old: modTime=%d,%d size=%-3d crc32=0x%08x\n", - g.modTime_sec, g.modTime_nsec, g.size, g.crc32); - if (f.modTime_sec != g.modTime_sec || f.modTime_nsec != g.modTime_nsec - || f.size != g.size || f.crc32 != g.crc32) { - write_update_file(dataStream, fd, p, realFilename); + LOGP(" old: modTime=%d,%d size=%-3d crc32=0x%08x", + g.s.modTime_sec, g.s.modTime_nsec, g.s.size, g.s.crc32); + if (f.modTime_sec != g.s.modTime_sec || f.modTime_nsec != g.s.modTime_nsec + || f.size != g.s.size || f.crc32 != g.s.crc32) { + write_update_file(dataStream, fd, p, g.file); } close(fd); @@ -384,9 +394,8 @@ back_up_files(int oldSnapshotFD, BackupDataWriter* dataStream, int newSnapshotFD // these were added while (m<fileCount) { const String8& q = newSnapshot.keyAt(m); - String8 realFilename(base); - realFilename.appendPath(q); - write_update_file(dataStream, q, realFilename); + FileRec& g = newSnapshot.editValueAt(m); + write_update_file(dataStream, q, g.file); m++; } @@ -475,7 +484,7 @@ backup_helper_test_empty() { int err; int fd; - KeyedVector<String8,FileState> snapshot; + KeyedVector<String8,FileRec> snapshot; const char* filename = SCRATCH_DIR "backup_helper_test_empty.snap"; system("rm -r " SCRATCH_DIR); @@ -534,7 +543,7 @@ backup_helper_test_four() { int err; int fd; - KeyedVector<String8,FileState> snapshot; + KeyedVector<String8,FileRec> snapshot; const char* filename = SCRATCH_DIR "backup_helper_test_four.snap"; system("rm -r " SCRATCH_DIR); @@ -549,38 +558,45 @@ backup_helper_test_four() String8 filenames[4]; FileState states[4]; + FileRec r; + r.deleted = false; + r.file = NULL; states[0].modTime_sec = 0xfedcba98; states[0].modTime_nsec = 0xdeadbeef; states[0].size = 0xababbcbc; states[0].crc32 = 0x12345678; states[0].nameLen = -12; + r.s = states[0]; filenames[0] = String8("bytes_of_padding"); - snapshot.add(filenames[0], states[0]); + snapshot.add(filenames[0], r); states[1].modTime_sec = 0x93400031; states[1].modTime_nsec = 0xdeadbeef; states[1].size = 0x88557766; states[1].crc32 = 0x22334422; states[1].nameLen = -1; + r.s = states[1]; filenames[1] = String8("bytes_of_padding3"); - snapshot.add(filenames[1], states[1]); + snapshot.add(filenames[1], r); states[2].modTime_sec = 0x33221144; states[2].modTime_nsec = 0xdeadbeef; states[2].size = 0x11223344; states[2].crc32 = 0x01122334; states[2].nameLen = 0; + r.s = states[2]; filenames[2] = String8("bytes_of_padding_2"); - snapshot.add(filenames[2], states[2]); + snapshot.add(filenames[2], r); states[3].modTime_sec = 0x33221144; states[3].modTime_nsec = 0xdeadbeef; states[3].size = 0x11223344; states[3].crc32 = 0x01122334; states[3].nameLen = 0; + r.s = states[3]; filenames[3] = String8("bytes_of_padding__1"); - snapshot.add(filenames[3], states[3]); + snapshot.add(filenames[3], r); err = write_snapshot_file(fd, snapshot); @@ -982,6 +998,14 @@ backup_helper_test_files() write_text_file(SCRATCH_DIR "data/h", "h\nhh\n"); char const* files_before[] = { + SCRATCH_DIR "data/b", + SCRATCH_DIR "data/c", + SCRATCH_DIR "data/d", + SCRATCH_DIR "data/e", + SCRATCH_DIR "data/f" + }; + + char const* keys_before[] = { "data/b", "data/c", "data/d", @@ -1004,7 +1028,7 @@ backup_helper_test_files() { BackupDataWriter dataStream(dataStreamFD); - err = back_up_files(-1, &dataStream, newSnapshotFD, SCRATCH_DIR, files_before, 5); + err = back_up_files(-1, &dataStream, newSnapshotFD, files_before, keys_before, 5); if (err != 0) { return err; } @@ -1035,6 +1059,15 @@ backup_helper_test_files() unlink(SCRATCH_DIR "data/f"); char const* files_after[] = { + SCRATCH_DIR "data/a", // added + SCRATCH_DIR "data/b", // same + SCRATCH_DIR "data/c", // different mod time + SCRATCH_DIR "data/d", // different size (same mod time) + SCRATCH_DIR "data/e", // different contents (same mod time, same size) + SCRATCH_DIR "data/g" // added + }; + + char const* keys_after[] = { "data/a", // added "data/b", // same "data/c", // different mod time @@ -1064,8 +1097,7 @@ backup_helper_test_files() { BackupDataWriter dataStream(dataStreamFD); - err = back_up_files(oldSnapshotFD, &dataStream, newSnapshotFD, SCRATCH_DIR, - files_after, 6); + err = back_up_files(oldSnapshotFD, &dataStream, newSnapshotFD, files_after, keys_after, 6); if (err != 0) { return err; } @@ -1078,6 +1110,109 @@ backup_helper_test_files() return 0; } +int +backup_helper_test_null_base() +{ + int err; + int oldSnapshotFD; + int dataStreamFD; + int newSnapshotFD; + + system("rm -r " SCRATCH_DIR); + mkdir(SCRATCH_DIR, 0777); + mkdir(SCRATCH_DIR "data", 0777); + + write_text_file(SCRATCH_DIR "data/a", "a\naa\n"); + + char const* files[] = { + SCRATCH_DIR "data/a", + }; + + char const* keys[] = { + "a", + }; + + dataStreamFD = creat(SCRATCH_DIR "null_base.data", 0666); + if (dataStreamFD == -1) { + fprintf(stderr, "error creating: %s\n", strerror(errno)); + return errno; + } + + newSnapshotFD = creat(SCRATCH_DIR "null_base.snap", 0666); + if (newSnapshotFD == -1) { + fprintf(stderr, "error creating: %s\n", strerror(errno)); + return errno; + } + + { + BackupDataWriter dataStream(dataStreamFD); + + err = back_up_files(-1, &dataStream, newSnapshotFD, files, keys, 1); + if (err != 0) { + return err; + } + } + + close(dataStreamFD); + close(newSnapshotFD); + + return 0; +} + +int +backup_helper_test_missing_file() +{ + int err; + int oldSnapshotFD; + int dataStreamFD; + int newSnapshotFD; + + system("rm -r " SCRATCH_DIR); + mkdir(SCRATCH_DIR, 0777); + mkdir(SCRATCH_DIR "data", 0777); + + write_text_file(SCRATCH_DIR "data/b", "b\nbb\n"); + + char const* files[] = { + SCRATCH_DIR "data/a", + SCRATCH_DIR "data/b", + SCRATCH_DIR "data/c", + }; + + char const* keys[] = { + "a", + "b", + "c", + }; + + dataStreamFD = creat(SCRATCH_DIR "null_base.data", 0666); + if (dataStreamFD == -1) { + fprintf(stderr, "error creating: %s\n", strerror(errno)); + return errno; + } + + newSnapshotFD = creat(SCRATCH_DIR "null_base.snap", 0666); + if (newSnapshotFD == -1) { + fprintf(stderr, "error creating: %s\n", strerror(errno)); + return errno; + } + + { + BackupDataWriter dataStream(dataStreamFD); + + err = back_up_files(-1, &dataStream, newSnapshotFD, files, keys, 1); + if (err != 0) { + return err; + } + } + + close(dataStreamFD); + close(newSnapshotFD); + + return 0; +} + + #endif // TEST_BACKUP_HELPERS } diff --git a/packages/VpnServices/Android.mk b/packages/VpnServices/Android.mk new file mode 100644 index 0000000..eb27ed5 --- /dev/null +++ b/packages/VpnServices/Android.mk @@ -0,0 +1,16 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS := user + +LOCAL_SRC_FILES := $(call all-subdir-java-files) + +LOCAL_JAVA_LIBRARIES := + +LOCAL_PACKAGE_NAME := VpnServices +LOCAL_CERTIFICATE := platform + +include $(BUILD_PACKAGE) + +######################## +include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/packages/VpnServices/AndroidManifest.xml b/packages/VpnServices/AndroidManifest.xml new file mode 100644 index 0000000..e48b2da --- /dev/null +++ b/packages/VpnServices/AndroidManifest.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.server.vpn" + android:sharedUserId="android.uid.system" + > + <application android:label="VPN Services"> + + <service android:name=".VpnServiceBinder" android:process=":remote"> + <intent-filter> + <!-- These are the interfaces supported by the service, which + you can bind to. --> + <action android:name="android.net.vpn.IVpnService" /> + <!-- This is an action code you can use to select the service + without explicitly supplying the implementation class. --> + <action android:name="android.net.vpn.SERVICE" /> + </intent-filter> + </service> + + </application> + + <uses-permission android:name="android.permission.INTERNET"></uses-permission> +</manifest> diff --git a/packages/VpnServices/MODULE_LICENSE_APACHE2 b/packages/VpnServices/MODULE_LICENSE_APACHE2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/packages/VpnServices/MODULE_LICENSE_APACHE2 diff --git a/packages/VpnServices/NOTICE b/packages/VpnServices/NOTICE new file mode 100644 index 0000000..c5b1efa --- /dev/null +++ b/packages/VpnServices/NOTICE @@ -0,0 +1,190 @@ + + Copyright (c) 2005-2008, The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/packages/VpnServices/res/drawable/vpn_connected.png b/packages/VpnServices/res/drawable/vpn_connected.png Binary files differnew file mode 100644 index 0000000..65fc6db --- /dev/null +++ b/packages/VpnServices/res/drawable/vpn_connected.png diff --git a/packages/VpnServices/res/drawable/vpn_disconnected.png b/packages/VpnServices/res/drawable/vpn_disconnected.png Binary files differnew file mode 100644 index 0000000..2440c69 --- /dev/null +++ b/packages/VpnServices/res/drawable/vpn_disconnected.png diff --git a/packages/VpnServices/res/values/strings.xml b/packages/VpnServices/res/values/strings.xml new file mode 100755 index 0000000..892850a --- /dev/null +++ b/packages/VpnServices/res/values/strings.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="vpn_notification_title">%s VPN %s</string> + <string name="vpn_notification_connected">connected</string> + <string name="vpn_notification_disconnected">disconnected</string> + <string name="vpn_notification_connected_message">Up time: %s</string> +</resources> + diff --git a/packages/VpnServices/src/com/android/server/vpn/AndroidServiceProxy.java b/packages/VpnServices/src/com/android/server/vpn/AndroidServiceProxy.java new file mode 100644 index 0000000..a12db8c --- /dev/null +++ b/packages/VpnServices/src/com/android/server/vpn/AndroidServiceProxy.java @@ -0,0 +1,258 @@ +/* + * Copyright (C) 2007, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.vpn; + +import android.net.LocalSocket; +import android.net.LocalSocketAddress; +import android.os.SystemProperties; +import android.util.Log; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * Proxy to start, stop and interact with an Android service defined in init.rc. + * The android service is expected to accept connection through Unix domain + * socket. When the proxy successfully starts the service, it will establish a + * socket connection with the service. The socket serves two purposes: (1) send + * commands to the service; (2) for the proxy to know whether the service is + * alive. + * + * After the service receives commands from the proxy, it should return either + * 0 if the service will close the socket (and the proxy will re-establish + * another connection immediately after), or 1 if the socket is remained alive. + */ +public class AndroidServiceProxy extends ProcessProxy { + private static final int WAITING_TIME = 15; // sec + + private static final String SVC_STATE_CMD_PREFIX = "init.svc."; + private static final String SVC_START_CMD = "ctl.start"; + private static final String SVC_STOP_CMD = "ctl.stop"; + private static final String SVC_STATE_RUNNING = "running"; + private static final String SVC_STATE_STOPPED = "stopped"; + + private static final int END_OF_ARGUMENTS = 255; + + private String mServiceName; + private String mSocketName; + private LocalSocket mKeepaliveSocket; + private boolean mControlSocketInUse; + private Integer mSocketResult = null; + private String mTag; + + /** + * Creates a proxy with the service name. + * @param serviceName the service name + */ + public AndroidServiceProxy(String serviceName) { + mServiceName = serviceName; + mSocketName = serviceName; + mTag = "SProxy_" + serviceName; + } + + @Override + public String getName() { + return "Service " + mServiceName; + } + + @Override + public synchronized void stop() { + if (isRunning()) setResultAndCloseControlSocket(-1); + SystemProperties.set(SVC_STOP_CMD, mServiceName); + } + + /** + * Sends a command with arguments to the service through the control socket. + * Each argument is sent as a C-style zero-terminated string. + */ + public void sendCommand(String ...args) throws IOException { + OutputStream out = getControlSocketOutput(); + for (String arg : args) outputString(out, arg); + checkSocketResult(); + } + + /** + * Sends a command with arguments to the service through the control socket. + */ + public void sendCommand2(String ...args) throws IOException { + OutputStream out = getControlSocketOutput(); + for (String arg : args) outputString2(out, arg); + out.write(END_OF_ARGUMENTS); + out.flush(); + checkSocketResult(); + } + + /** + * {@inheritDoc} + * The method returns when the service exits. + */ + @Override + protected void performTask() throws IOException { + String svc = mServiceName; + Log.d(mTag, "+++++ Execute: " + svc); + SystemProperties.set(SVC_START_CMD, svc); + + boolean success = blockUntil(SVC_STATE_RUNNING, WAITING_TIME); + + if (success) { + Log.d(mTag, "----- Running: " + svc + ", create keepalive socket"); + LocalSocket s = mKeepaliveSocket = createServiceSocket(); + setState(ProcessState.RUNNING); + + if (s == null) { + // no socket connection, stop hosting the service + stop(); + return; + } + try { + for (;;) { + InputStream in = s.getInputStream(); + int data = in.read(); + if (data >= 0) { + Log.d(mTag, "got data from keepalive socket: " + data); + + if (data == 0) { + // re-establish the connection: + // synchronized here so that checkSocketResult() returns + // when new mKeepaliveSocket is available for next cmd + synchronized (this) { + setResultAndCloseControlSocket((byte) data); + s = mKeepaliveSocket = createServiceSocket(); + } + } else { + // keep the socket + setSocketResult(data); + } + } else { + // service is gone + if (mControlSocketInUse) setSocketResult(-1); + break; + } + } + Log.d(mTag, "keepalive connection closed"); + } catch (IOException e) { + Log.d(mTag, "keepalive socket broken: " + e.getMessage()); + } + + // Wait 5 seconds for the service to exit + success = blockUntil(SVC_STATE_STOPPED, 5); + Log.d(mTag, "stopping " + svc + ", success? " + success); + } else { + setState(ProcessState.STOPPED); + throw new IOException("cannot start service: " + svc); + } + } + + private LocalSocket createServiceSocket() throws IOException { + LocalSocket s = new LocalSocket(); + LocalSocketAddress a = new LocalSocketAddress(mSocketName, + LocalSocketAddress.Namespace.RESERVED); + + // try a few times in case the service has not listen()ed + IOException excp = null; + for (int i = 0; i < 10; i++) { + try { + s.connect(a); + return s; + } catch (IOException e) { + Log.d(mTag, "service not yet listen()ing; try again"); + excp = e; + sleep(500); + } + } + throw excp; + } + + private OutputStream getControlSocketOutput() throws IOException { + if (mKeepaliveSocket != null) { + mControlSocketInUse = true; + mSocketResult = null; + return mKeepaliveSocket.getOutputStream(); + } else { + throw new IOException("no control socket available"); + } + } + + private synchronized void checkSocketResult() throws IOException { + try { + // will be notified when the result comes back from service + if (mSocketResult == null) wait(); + } catch (InterruptedException e) { + Log.d(mTag, "checkSocketResult(): " + e); + } finally { + mControlSocketInUse = false; + if ((mSocketResult == null) || (mSocketResult < 0)) { + throw new IOException("socket error, result from service: " + + mSocketResult); + } + } + } + + private synchronized void setSocketResult(int result) { + if (mControlSocketInUse) { + mSocketResult = result; + notifyAll(); + } + } + + private void setResultAndCloseControlSocket(int result) { + setSocketResult(result); + try { + mKeepaliveSocket.shutdownInput(); + mKeepaliveSocket.shutdownOutput(); + mKeepaliveSocket.close(); + } catch (IOException e) { + Log.e(mTag, "close keepalive socket", e); + } finally { + mKeepaliveSocket = null; + } + } + + /** + * Waits for the process to be in the expected state. The method returns + * false if after the specified duration (in seconds), the process is still + * not in the expected state. + */ + private boolean blockUntil(String expectedState, int waitTime) { + String cmd = SVC_STATE_CMD_PREFIX + mServiceName; + int sleepTime = 200; // ms + int n = waitTime * 1000 / sleepTime; + for (int i = 0; i < n; i++) { + if (expectedState.equals(SystemProperties.get(cmd))) { + Log.d(mTag, mServiceName + " is " + expectedState + " after " + + (i * sleepTime) + " msec"); + break; + } + sleep(sleepTime); + } + return expectedState.equals(SystemProperties.get(cmd)); + } + + private void outputString(OutputStream out, String s) throws IOException { + out.write(s.getBytes()); + out.write(0); + out.flush(); + } + + private void outputString2(OutputStream out, String s) throws IOException { + byte[] bytes = s.getBytes(); + out.write(bytes.length); + out.write(bytes); + out.flush(); + } +} diff --git a/packages/VpnServices/src/com/android/server/vpn/L2tpIpsecService.java b/packages/VpnServices/src/com/android/server/vpn/L2tpIpsecService.java new file mode 100644 index 0000000..ce56921 --- /dev/null +++ b/packages/VpnServices/src/com/android/server/vpn/L2tpIpsecService.java @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2007, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.vpn; + +import android.net.vpn.L2tpIpsecProfile; +import android.security.Keystore; + +import java.io.IOException; + +/** + * The service that manages the L2TP-over-IPSec VPN connection. + */ +class L2tpIpsecService extends VpnService<L2tpIpsecProfile> { + private static final String IPSEC_SERVICE = "racoon"; + private static final String L2TP_SERVICE = "mtpd"; + + @Override + protected void connect(String serverIp, String username, String password) + throws IOException { + String hostIp = getHostIp(); + + // IPSEC + AndroidServiceProxy ipsecService = startService(IPSEC_SERVICE); + ipsecService.sendCommand( + String.format("SETKEY %s %s", hostIp, serverIp)); + ipsecService.sendCommand(String.format("SET_CERTS %s %s %s %s", + serverIp, getCaCertPath(), getUserCertPath(), + getUserkeyPath())); + + // L2TP + AndroidServiceProxy l2tpService = startService(L2TP_SERVICE); + l2tpService.sendCommand2("l2tp", serverIp, "1701", "", + "file", getPppOptionFilePath(), + "name", username, + "password", password); + } + + private String getCaCertPath() { + return Keystore.getInstance().getCertificate( + getProfile().getCaCertificate()); + } + + private String getUserCertPath() { + return Keystore.getInstance().getCertificate( + getProfile().getUserCertificate()); + } + + private String getUserkeyPath() { + return Keystore.getInstance().getUserkey(getProfile().getUserkey()); + } +} diff --git a/packages/VpnServices/src/com/android/server/vpn/L2tpService.java b/packages/VpnServices/src/com/android/server/vpn/L2tpService.java new file mode 100644 index 0000000..9aad7a1 --- /dev/null +++ b/packages/VpnServices/src/com/android/server/vpn/L2tpService.java @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2007, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.vpn; + +import android.net.vpn.L2tpProfile; + +import java.io.IOException; + +/** + * The service that manages the L2TP VPN connection. + */ +class L2tpService extends VpnService<L2tpProfile> { + private static final String L2TP_SERVICE = "mtpd"; + + @Override + protected void connect(String serverIp, String username, String password) + throws IOException { + String hostIp = getHostIp(); + + // L2TP + AndroidServiceProxy l2tpService = startService(L2TP_SERVICE); + l2tpService.sendCommand2("l2tp", serverIp, "1701", "", + "file", getPppOptionFilePath(), + "name", username, + "password", password); + } + +} diff --git a/packages/VpnServices/src/com/android/server/vpn/NormalProcessProxy.java b/packages/VpnServices/src/com/android/server/vpn/NormalProcessProxy.java new file mode 100644 index 0000000..f20d85f --- /dev/null +++ b/packages/VpnServices/src/com/android/server/vpn/NormalProcessProxy.java @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2007, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.vpn; + +import android.util.Log; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.IOException; + +/** + * Proxy to perform a command with arguments. + */ +public class NormalProcessProxy extends ProcessProxy { + private Process mProcess; + private String[] mArgs; + private String mTag; + + /** + * Creates a proxy with the arguments. + * @param args the argument list with the first one being the command + */ + public NormalProcessProxy(String ...args) { + if ((args == null) || (args.length == 0)) { + throw new IllegalArgumentException(); + } + mArgs = args; + mTag = "PProxy_" + getName(); + } + + @Override + public String getName() { + return mArgs[0]; + } + + @Override + public synchronized void stop() { + if (isStopped()) return; + getHostThread().interrupt(); + // TODO: not sure how to reliably kill a process + mProcess.destroy(); + setState(ProcessState.STOPPING); + } + + @Override + protected void performTask() throws IOException, InterruptedException { + String[] args = mArgs; + Log.d(mTag, "+++++ Execute: " + getEntireCommand()); + ProcessBuilder pb = new ProcessBuilder(args); + setState(ProcessState.RUNNING); + Process p = mProcess = pb.start(); + BufferedReader reader = new BufferedReader(new InputStreamReader( + p.getInputStream())); + while (true) { + String line = reader.readLine(); + if ((line == null) || isStopping()) break; + Log.d(mTag, line); + } + + Log.d(mTag, "----- p.waitFor(): " + getName()); + p.waitFor(); + Log.d(mTag, "----- Done: " + getName()); + } + + private CharSequence getEntireCommand() { + String[] args = mArgs; + StringBuilder sb = new StringBuilder(args[0]); + for (int i = 1; i < args.length; i++) sb.append(' ').append(args[i]); + return sb; + } +} diff --git a/packages/VpnServices/src/com/android/server/vpn/ProcessProxy.java b/packages/VpnServices/src/com/android/server/vpn/ProcessProxy.java new file mode 100644 index 0000000..14d7521 --- /dev/null +++ b/packages/VpnServices/src/com/android/server/vpn/ProcessProxy.java @@ -0,0 +1,210 @@ +/* + * Copyright (C) 2007, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.vpn; + +import android.os.ConditionVariable; + +import java.io.IOException; + +/** + * A proxy class that spawns a process to accomplish a certain task. + */ +public abstract class ProcessProxy { + /** + * Defines the interface to call back when the process is finished or an + * error occurs during execution. + */ + public static interface Callback { + /** + * Called when the process is finished. + * @param proxy the proxy that hosts the process + */ + void done(ProcessProxy proxy); + + /** + * Called when some error occurs. + * @param proxy the proxy that hosts the process + */ + void error(ProcessProxy proxy, Throwable error); + } + + protected enum ProcessState { + STOPPED, STARTING, RUNNING, STOPPING, ERROR + } + + private ProcessState mState = ProcessState.STOPPED; + private ConditionVariable mLock = new ConditionVariable(); + private Thread mThread; + + /** + * Returns the name of the process. + */ + public abstract String getName(); + + /** + * Starts the process with a callback. + * @param callback the callback to get notified when the process is finished + * or an error occurs during execution + * @throws IOException when the process is already running or failed to + * start + */ + public synchronized void start(final Callback callback) throws IOException { + if (!isStopped()) { + throw new IOException("Process is already running: " + this); + } + mLock.close(); + setState(ProcessState.STARTING); + Thread thread = new Thread(new Runnable() { + public void run() { + try { + performTask(); + setState(ProcessState.STOPPED); + mLock.open(); + if (callback != null) callback.done(ProcessProxy.this); + } catch (Throwable e) { + setState(ProcessState.ERROR); + if (callback != null) callback.error(ProcessProxy.this, e); + } finally { + mThread = null; + } + } + }); + thread.setPriority(Thread.MIN_PRIORITY); + thread.start(); + mThread = thread; + if (!waitUntilRunning()) { + throw new IOException("Failed to start the process: " + this); + } + } + + /** + * Starts the process. + * @throws IOException when the process is already running or failed to + * start + */ + public synchronized void start() throws IOException { + start(null); + if (!waitUntilDone()) { + throw new IOException("Failed to complete the process: " + this); + } + } + + /** + * Returns the thread that hosts the process. + */ + public Thread getHostThread() { + return mThread; + } + + /** + * Blocks the current thread until the hosted process is finished. + * + * @return true if the process is finished normally; false if an error + * occurs + */ + public boolean waitUntilDone() { + while (!mLock.block(1000)) { + if (isStopped() || isInError()) break; + } + return isStopped(); + } + + /** + * Blocks the current thread until the hosted process is running. + * + * @return true if the process is running normally; false if the process + * is in another state + */ + private boolean waitUntilRunning() { + for (;;) { + if (!isStarting()) break; + } + return isRunning(); + } + + /** + * Stops and destroys the process. + */ + public abstract void stop(); + + /** + * Checks whether the process is finished. + * @return true if the process is stopped + */ + public boolean isStopped() { + return (mState == ProcessState.STOPPED); + } + + /** + * Checks whether the process is being stopped. + * @return true if the process is being stopped + */ + public boolean isStopping() { + return (mState == ProcessState.STOPPING); + } + + /** + * Checks whether the process is being started. + * @return true if the process is being started + */ + public boolean isStarting() { + return (mState == ProcessState.STARTING); + } + + /** + * Checks whether the process is running. + * @return true if the process is running + */ + public boolean isRunning() { + return (mState == ProcessState.RUNNING); + } + + /** + * Checks whether some error has occurred and the process is stopped. + * @return true if some error has occurred and the process is stopped + */ + public boolean isInError() { + return (mState == ProcessState.ERROR); + } + + /** + * Performs the actual task. Subclasses must make sure that the method + * is blocked until the task is done or an error occurs. + */ + protected abstract void performTask() + throws IOException, InterruptedException; + + /** + * Sets the process state. + * @param state the new state to be in + */ + protected void setState(ProcessState state) { + mState = state; + } + + /** + * Makes the current thread sleep for the specified time. + * @param msec time to sleep in miliseconds + */ + protected void sleep(int msec) { + try { + Thread.currentThread().sleep(msec); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } +} diff --git a/packages/VpnServices/src/com/android/server/vpn/VpnService.java b/packages/VpnServices/src/com/android/server/vpn/VpnService.java new file mode 100644 index 0000000..01106b3 --- /dev/null +++ b/packages/VpnServices/src/com/android/server/vpn/VpnService.java @@ -0,0 +1,627 @@ +/* + * Copyright (C) 2007, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.vpn; + +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.Context; +import android.net.vpn.SingleServerProfile; +import android.net.vpn.VpnManager; +import android.net.vpn.VpnState; +import android.os.FileObserver; +import android.os.SystemProperties; +import android.util.Log; + +import java.io.File; +import java.io.IOException; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.util.ArrayList; +import java.util.List; + +/** + * The service base class for managing a type of VPN connection. + */ +abstract class VpnService<E extends SingleServerProfile> { + private static final int NOTIFICATION_ID = 1; + private static final String PROFILES_ROOT = VpnManager.PROFILES_PATH + "/"; + public static final String DEFAULT_CONFIG_PATH = "/etc"; + + private static final int DNS_TIMEOUT = 3000; // ms + private static final String DNS1 = "net.dns1"; + private static final String DNS2 = "net.dns2"; + private static final String REMOTE_IP = "net.ipremote"; + private static final String DNS_DOMAIN_SUFFICES = "net.dns.search"; + private static final String SERVER_IP = "net.vpn.server_ip"; + + private static final int VPN_TIMEOUT = 30000; // milliseconds + private static final int ONE_SECOND = 1000; // milliseconds + private static final int FIVE_SECOND = 5000; // milliseconds + + private static final String LOGWRAPPER = "/system/bin/logwrapper"; + private final String TAG = VpnService.class.getSimpleName(); + + E mProfile; + VpnServiceBinder mContext; + + private VpnState mState = VpnState.IDLE; + private boolean mInError; + + // connection settings + private String mOriginalDns1; + private String mOriginalDns2; + private String mVpnDns1 = ""; + private String mVpnDns2 = ""; + private String mOriginalDomainSuffices; + private String mHostIp; + + private long mStartTime; // VPN connection start time + + // monitors if the VPN connection is sucessfully established + private FileMonitor mConnectMonitor; + + // watch dog timer; fired up if the connection cannot be established within + // VPN_TIMEOUT + private Object mWatchdog; + + // for helping managing multiple Android services + private ServiceHelper mServiceHelper = new ServiceHelper(); + + // for helping showing, updating notification + private NotificationHelper mNotification = new NotificationHelper(); + + /** + * Establishes a VPN connection with the specified username and password. + */ + protected abstract void connect(String serverIp, String username, + String password) throws IOException; + + /** + * Tears down the VPN connection. The base class simply terminates all the + * Android services. A subclass may need to do some clean-up before that. + */ + protected void disconnect() { + } + + /** + * Starts an Android service defined in init.rc. + */ + protected AndroidServiceProxy startService(String serviceName) + throws IOException { + return mServiceHelper.startService(serviceName); + } + + protected String getPppOptionFilePath() throws IOException { + String subpath = getProfileSubpath("/ppp/peers"); + String[] kids = new File(subpath).list(); + if ((kids == null) || (kids.length == 0)) { + throw new IOException("no option file found in " + subpath); + } + if (kids.length > 1) { + Log.w(TAG, "more than one option file found in " + subpath + + ", arbitrarily choose " + kids[0]); + } + return subpath + "/" + kids[0]; + } + + /** + * Returns the VPN profile associated with the connection. + */ + protected E getProfile() { + return mProfile; + } + + /** + * Returns the profile path where configuration files reside. + */ + protected String getProfilePath() throws IOException { + String path = PROFILES_ROOT + mProfile.getId(); + File dir = new File(path); + if (!dir.exists()) throw new IOException("Profile dir does not exist"); + return path; + } + + /** + * Returns the path where default configuration files reside. + */ + protected String getDefaultConfigPath() throws IOException { + return DEFAULT_CONFIG_PATH; + } + + /** + * Returns the host IP for establishing the VPN connection. + */ + protected String getHostIp() throws IOException { + if (mHostIp == null) mHostIp = reallyGetHostIp(); + return mHostIp; + } + + /** + * Returns the IP of the specified host name. + */ + protected String getIp(String hostName) throws IOException { + InetAddress iaddr = InetAddress.getByName(hostName); + byte[] aa = iaddr.getAddress(); + StringBuilder sb = new StringBuilder().append(byteToInt(aa[0])); + for (int i = 1; i < aa.length; i++) { + sb.append(".").append(byteToInt(aa[i])); + } + return sb.toString(); + } + + /** + * Returns the path of the script file that is executed when the VPN + * connection is established. + */ + protected String getConnectMonitorFile() { + return "/etc/ppp/ip-up"; + } + + /** + * Sets the system property. The method is blocked until the value is + * settled in. + * @param name the name of the property + * @param value the value of the property + * @throws IOException if it fails to set the property within 2 seconds + */ + protected void setSystemProperty(String name, String value) + throws IOException { + SystemProperties.set(name, value); + for (int i = 0; i < 5; i++) { + String v = SystemProperties.get(name); + if (v.equals(value)) { + return; + } else { + Log.d(TAG, "sys_prop: wait for " + name + " to settle in"); + sleep(400); + } + } + throw new IOException("Failed to set system property: " + name); + } + + void setContext(VpnServiceBinder context, E profile) { + mContext = context; + mProfile = profile; + } + + VpnState getState() { + return mState; + } + + synchronized void onConnect(String username, String password) + throws IOException { + mState = VpnState.CONNECTING; + broadcastConnectivity(VpnState.CONNECTING); + + String serverIp = getIp(getProfile().getServerName()); + setSystemProperty(SERVER_IP, serverIp); + onBeforeConnect(); + + connect(serverIp, username, password); + } + + synchronized void onDisconnect(boolean cleanUpServices) { + try { + mState = VpnState.DISCONNECTING; + broadcastConnectivity(VpnState.DISCONNECTING); + mNotification.showDisconnect(); + + // subclass implementation + if (cleanUpServices) disconnect(); + + mServiceHelper.stop(); + } catch (Throwable e) { + Log.e(TAG, "onError()", e); + onFinalCleanUp(); + } + } + + synchronized void onError() { + // error may occur during or after connection setup + // and it may be due to one or all services gone + mInError = true; + switch (mState) { + case CONNECTED: + onDisconnect(true); + break; + + case CONNECTING: + onDisconnect(false); + break; + } + } + + private void createConnectMonitor() { + mConnectMonitor = new FileMonitor(getConnectMonitorFile(), + new Runnable() { + public void run() { + onConnectMonitorTriggered(); + } + }); + } + + private void onBeforeConnect() { + mNotification.disableNotification(); + + createConnectMonitor(); + mConnectMonitor.startWatching(); + saveOriginalDnsProperties(); + + mWatchdog = startTimer(VPN_TIMEOUT, new Runnable() { + public void run() { + synchronized (VpnService.this) { + if (mState == VpnState.CONNECTING) { + Log.d(TAG, " watchdog timer is fired !!"); + onError(); + } + } + } + }); + } + + private synchronized void onConnectMonitorTriggered() { + Log.d(TAG, "onConnectMonitorTriggered()"); + + stopTimer(mWatchdog); + mConnectMonitor.stopWatching(); + saveVpnDnsProperties(); + saveAndSetDomainSuffices(); + startConnectivityMonitor(); + + mState = VpnState.CONNECTED; + broadcastConnectivity(VpnState.CONNECTED); + } + + private synchronized void onFinalCleanUp() { + Log.d(TAG, "onFinalCleanUp()"); + + if (mState == VpnState.IDLE) return; + + // keep the notification when error occurs + if (!mInError) mNotification.disableNotification(); + + restoreOriginalDnsProperties(); + restoreOriginalDomainSuffices(); + if (mConnectMonitor != null) mConnectMonitor.stopWatching(); + if (mWatchdog != null) stopTimer(mWatchdog); + mState = VpnState.IDLE; + broadcastConnectivity(VpnState.IDLE); + + // stop the service itself + mContext.stopSelf(); + } + + private synchronized void onOneServiceGone() { + switch (mState) { + case IDLE: + case DISCONNECTING: + break; + + default: + onError(); + } + } + + private synchronized void onAllServicesGone() { + switch (mState) { + case IDLE: + break; + + case DISCONNECTING: + // daemons are gone; now clean up everything + onFinalCleanUp(); + break; + + default: + onError(); + } + } + + private void saveOriginalDnsProperties() { + mOriginalDns1 = SystemProperties.get(DNS1); + mOriginalDns2 = SystemProperties.get(DNS2); + Log.d(TAG, String.format("save original dns prop: %s, %s", + mOriginalDns1, mOriginalDns2)); + } + + private void restoreOriginalDnsProperties() { + // restore only if they are not overridden + if (mVpnDns1.equals(SystemProperties.get(DNS1))) { + Log.d(TAG, String.format("restore original dns prop: %s --> %s", + SystemProperties.get(DNS1), mOriginalDns1)); + Log.d(TAG, String.format("restore original dns prop: %s --> %s", + SystemProperties.get(DNS2), mOriginalDns2)); + SystemProperties.set(DNS1, mOriginalDns1); + SystemProperties.set(DNS2, mOriginalDns2); + } + } + + private void saveVpnDnsProperties() { + mVpnDns1 = mVpnDns2 = ""; + for (int i = 0; i < 10; i++) { + mVpnDns1 = SystemProperties.get(DNS1); + mVpnDns2 = SystemProperties.get(DNS2); + if (mVpnDns1.equals(mOriginalDns1)) { + Log.d(TAG, "wait for vpn dns to settle in..." + i); + sleep(500); + } else { + Log.d(TAG, String.format("save vpn dns prop: %s, %s", + mVpnDns1, mVpnDns2)); + return; + } + } + Log.e(TAG, "saveVpnDnsProperties(): DNS not updated??"); + } + + private void restoreVpnDnsProperties() { + if (isNullOrEmpty(mVpnDns1) && isNullOrEmpty(mVpnDns2)) { + return; + } + Log.d(TAG, String.format("restore vpn dns prop: %s --> %s", + SystemProperties.get(DNS1), mVpnDns1)); + Log.d(TAG, String.format("restore vpn dns prop: %s --> %s", + SystemProperties.get(DNS2), mVpnDns2)); + SystemProperties.set(DNS1, mVpnDns1); + SystemProperties.set(DNS2, mVpnDns2); + } + + private void saveAndSetDomainSuffices() { + mOriginalDomainSuffices = SystemProperties.get(DNS_DOMAIN_SUFFICES); + Log.d(TAG, "save original dns search: " + mOriginalDomainSuffices); + String list = mProfile.getDomainSuffices(); + if (!isNullOrEmpty(list)) { + SystemProperties.set(DNS_DOMAIN_SUFFICES, list); + } + } + + private void restoreOriginalDomainSuffices() { + Log.d(TAG, "restore original dns search --> " + mOriginalDomainSuffices); + SystemProperties.set(DNS_DOMAIN_SUFFICES, mOriginalDomainSuffices); + } + + private void broadcastConnectivity(VpnState s) { + new VpnManager(mContext).broadcastConnectivity(mProfile.getName(), s); + } + + private void startConnectivityMonitor() { + mStartTime = System.currentTimeMillis(); + + new Thread(new Runnable() { + public void run() { + Log.d(TAG, " +++++ connectivity monitor running"); + try { + for (;;) { + synchronized (VpnService.this) { + if (mState != VpnState.CONNECTED) break; + mNotification.update(); + checkConnectivity(); + VpnService.this.wait(ONE_SECOND); + } + } + } catch (InterruptedException e) { + Log.e(TAG, "connectivity monitor", e); + } + Log.d(TAG, " ----- connectivity monitor stopped"); + } + }).start(); + } + + private void checkConnectivity() { + checkDnsProperties(); + } + + private void checkDnsProperties() { + String dns1 = SystemProperties.get(DNS1); + if (!mVpnDns1.equals(dns1)) { + Log.w(TAG, " @@ !!! dns being overridden"); + onError(); + } + } + + private Object startTimer(final int milliseconds, final Runnable task) { + Thread thread = new Thread(new Runnable() { + public void run() { + Log.d(TAG, "watchdog timer started"); + Thread t = Thread.currentThread(); + try { + synchronized (t) { + t.wait(milliseconds); + } + task.run(); + } catch (InterruptedException e) { + // ignored + } + Log.d(TAG, "watchdog timer stopped"); + } + }); + thread.start(); + return thread; + } + + private void stopTimer(Object timer) { + synchronized (timer) { + timer.notify(); + } + } + + private String reallyGetHostIp() throws IOException { + Socket s = new Socket(); + s.connect(new InetSocketAddress("www.google.com", 80), DNS_TIMEOUT); + String ipAddress = s.getLocalAddress().getHostAddress(); + Log.d(TAG, "Host IP: " + ipAddress); + s.close(); + return ipAddress; + } + + private String getProfileSubpath(String subpath) throws IOException { + String path = getProfilePath() + subpath; + if (new File(path).exists()) { + return path; + } else { + Log.w(TAG, "Profile subpath does not exist: " + path + + ", use default one"); + String path2 = getDefaultConfigPath() + subpath; + if (!new File(path2).exists()) { + throw new IOException("Profile subpath does not exist at " + + path + " or " + path2); + } + return path2; + } + } + + private void sleep(int ms) { + try { + Thread.currentThread().sleep(ms); + } catch (InterruptedException e) { + } + } + + private static boolean isNullOrEmpty(String message) { + return ((message == null) || (message.length() == 0)); + } + + private static int byteToInt(byte b) { + return ((int) b) & 0x0FF; + } + + private class ServiceHelper implements ProcessProxy.Callback { + private List<AndroidServiceProxy> mServiceList = + new ArrayList<AndroidServiceProxy>(); + + // starts an Android service + AndroidServiceProxy startService(String serviceName) + throws IOException { + AndroidServiceProxy service = new AndroidServiceProxy(serviceName); + mServiceList.add(service); + service.start(this); + return service; + } + + // stops all the Android services + void stop() { + if (mServiceList.isEmpty()) { + onFinalCleanUp(); + } else { + for (AndroidServiceProxy s : mServiceList) s.stop(); + } + } + + //@Override + public void done(ProcessProxy p) { + Log.d(TAG, "service done: " + p.getName()); + commonCallback((AndroidServiceProxy) p); + } + + //@Override + public void error(ProcessProxy p, Throwable e) { + Log.e(TAG, "service error: " + p.getName(), e); + commonCallback((AndroidServiceProxy) p); + } + + private void commonCallback(AndroidServiceProxy service) { + mServiceList.remove(service); + onOneServiceGone(); + if (mServiceList.isEmpty()) onAllServicesGone(); + } + } + + private class FileMonitor extends FileObserver { + private Runnable mCallback; + + FileMonitor(String path, Runnable callback) { + super(path, CLOSE_NOWRITE); + mCallback = callback; + } + + @Override + public void onEvent(int event, String path) { + if ((event & CLOSE_NOWRITE) > 0) mCallback.run(); + } + } + + // Helper class for showing, updating notification. + private class NotificationHelper { + void update() { + String title = getNotificationTitle(true); + Notification n = new Notification(R.drawable.vpn_connected, title, + mStartTime); + n.setLatestEventInfo(mContext, title, + getNotificationMessage(true), prepareNotificationIntent()); + n.flags |= Notification.FLAG_NO_CLEAR; + n.flags |= Notification.FLAG_ONGOING_EVENT; + enableNotification(n); + } + + void showDisconnect() { + String title = getNotificationTitle(false); + Notification n = new Notification(R.drawable.vpn_disconnected, + title, System.currentTimeMillis()); + n.setLatestEventInfo(mContext, title, + getNotificationMessage(false), prepareNotificationIntent()); + n.flags |= Notification.FLAG_AUTO_CANCEL; + disableNotification(); + enableNotification(n); + } + + void disableNotification() { + ((NotificationManager) mContext.getSystemService( + Context.NOTIFICATION_SERVICE)).cancel(NOTIFICATION_ID); + } + + private void enableNotification(Notification n) { + ((NotificationManager) mContext.getSystemService( + Context.NOTIFICATION_SERVICE)).notify(NOTIFICATION_ID, n); + } + + private PendingIntent prepareNotificationIntent() { + return PendingIntent.getActivity(mContext, 0, + new VpnManager(mContext).createSettingsActivityIntent(), 0); + } + + private String getNotificationTitle(boolean connected) { + String connectedOrNot = connected + ? mContext.getString(R.string.vpn_notification_connected) + : mContext.getString( + R.string.vpn_notification_disconnected); + return String.format( + mContext.getString(R.string.vpn_notification_title), + mProfile.getName(), connectedOrNot); + } + + private String getTimeFormat(long duration) { + long hours = duration / 3600; + StringBuilder sb = new StringBuilder(); + if (hours > 0) sb.append(hours).append(':'); + sb.append(String.format("%02d:%02d", (duration % 3600 / 60), + (duration % 60))); + return sb.toString(); + } + + private String getNotificationMessage(boolean connected) { + if (connected) { + long time = (System.currentTimeMillis() - mStartTime) / 1000; + return String.format(mContext.getString( + R.string.vpn_notification_connected_message), + getTimeFormat(time)); + } else { + return ""; + } + } + } +} diff --git a/packages/VpnServices/src/com/android/server/vpn/VpnServiceBinder.java b/packages/VpnServices/src/com/android/server/vpn/VpnServiceBinder.java new file mode 100644 index 0000000..7195ea6 --- /dev/null +++ b/packages/VpnServices/src/com/android/server/vpn/VpnServiceBinder.java @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2007, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.vpn; + +import android.app.Service; +import android.content.Intent; +import android.net.vpn.IVpnService; +import android.net.vpn.L2tpIpsecProfile; +import android.net.vpn.L2tpProfile; +import android.net.vpn.VpnManager; +import android.net.vpn.VpnProfile; +import android.net.vpn.VpnState; +import android.os.IBinder; +import android.util.Log; + +import java.io.IOException; + +/** + * The service class for managing a VPN connection. It implements the + * {@link IVpnService} binder interface. + */ +public class VpnServiceBinder extends Service { + private final String TAG = VpnServiceBinder.class.getSimpleName(); + + // The actual implementation is delegated to the VpnService class. + private VpnService<? extends VpnProfile> mService; + + private final IBinder mBinder = new IVpnService.Stub() { + public boolean connect(VpnProfile p, String username, String password) { + return VpnServiceBinder.this.connect(p, username, password); + } + + public void disconnect() { + if (mService != null) mService.onDisconnect(true); + } + + public void checkStatus(VpnProfile p) { + VpnServiceBinder.this.checkStatus(p); + } + }; + + public IBinder onBind(Intent intent) { + return mBinder; + } + + private synchronized boolean connect( + VpnProfile p, String username, String password) { + if (mService != null) return false; + try { + mService = createService(p); + mService.onConnect(username, password); + return true; + } catch (Throwable e) { + Log.e(TAG, "connect()", e); + if (mService != null) mService.onError(); + return false; + } + } + + private synchronized void checkStatus(VpnProfile p) { + if (mService == null) broadcastConnectivity(p.getName(), VpnState.IDLE); + + if (!p.getName().equals(mService.mProfile.getName())) { + broadcastConnectivity(p.getName(), VpnState.IDLE); + } else { + broadcastConnectivity(p.getName(), mService.getState()); + } + } + + private VpnService<? extends VpnProfile> createService(VpnProfile p) { + switch (p.getType()) { + case L2TP_IPSEC: + L2tpIpsecService l2tpIpsec = new L2tpIpsecService(); + l2tpIpsec.setContext(this, (L2tpIpsecProfile) p); + return l2tpIpsec; + + case L2TP: + L2tpService l2tp = new L2tpService(); + l2tp.setContext(this, (L2tpProfile) p); + return l2tp; + + default: + return null; + } + } + + private void broadcastConnectivity(String name, VpnState s) { + new VpnManager(this).broadcastConnectivity(name, s); + } +} diff --git a/test-runner/android/test/mock/MockContext.java b/test-runner/android/test/mock/MockContext.java index e733dd1..9e0cf2c 100644 --- a/test-runner/android/test/mock/MockContext.java +++ b/test-runner/android/test/mock/MockContext.java @@ -105,6 +105,11 @@ public class MockContext extends Context { } @Override + public File getSharedPrefsFile(String name) { + throw new UnsupportedOperationException(); + } + + @Override public String getPackageCodePath() { throw new UnsupportedOperationException(); } diff --git a/tests/DumpRenderTree/assets/results/layout_tests_failed.txt b/tests/DumpRenderTree/assets/results/layout_tests_failed.txt index 3cec40d..651b324 100644 --- a/tests/DumpRenderTree/assets/results/layout_tests_failed.txt +++ b/tests/DumpRenderTree/assets/results/layout_tests_failed.txt @@ -1,280 +1,698 @@ -/sdcard/android/layout_tests/fast/replaced/image-map-bug16782.html : different length -/sdcard/android/layout_tests/fast/replaced/table-percent-height.html : different length -/sdcard/android/layout_tests/fast/replaced/image-map.html : different length -/sdcard/android/layout_tests/fast/dynamic/paused-event-dispatch.html : @offset: 117 -/sdcard/android/layout_tests/fast/text/plain-text-line-breaks.html : different length -/sdcard/android/layout_tests/fast/text/zero-width-characters.html : different length -/sdcard/android/layout_tests/fast/text/reset-drag-on-mouse-down.html : TIMEDOUT -/sdcard/android/layout_tests/fast/encoding/invalid-xml.html : different length -/sdcard/android/layout_tests/fast/encoding/char-decoding-mac.html : different length -/sdcard/android/layout_tests/fast/encoding/frame-default-enc.html : @offset: 0 -/sdcard/android/layout_tests/fast/encoding/mailto-always-utf-8.html : different length -/sdcard/android/layout_tests/fast/encoding/char-decoding.html : different length -/sdcard/android/layout_tests/fast/encoding/url-host-name-non-ascii.html : different length -/sdcard/android/layout_tests/fast/encoding/idn-security.html : different length -/sdcard/android/layout_tests/fast/encoding/percent-escaping.html : TIMEDOUT -/sdcard/android/layout_tests/fast/encoding/xml-utf-8-default.xml : different length -/sdcard/android/layout_tests/fast/encoding/char-encoding-mac.html : different length -/sdcard/android/layout_tests/fast/encoding/charset-koi8-u.html : @offset: 147 -/sdcard/android/layout_tests/fast/encoding/preload-encoding.html : different length -/sdcard/android/layout_tests/fast/workers/worker-location.html : TIMEDOUT -/sdcard/android/layout_tests/fast/workers/worker-constructor.html : different length -/sdcard/android/layout_tests/fast/workers/worker-terminate.html : different length -/sdcard/android/layout_tests/fast/workers/worker-gc.html : different length -/sdcard/android/layout_tests/fast/workers/worker-navigator.html : different length -/sdcard/android/layout_tests/fast/workers/worker-replace-global-constructor.html : TIMEDOUT -/sdcard/android/layout_tests/fast/workers/worker-replace-self.html : TIMEDOUT -/sdcard/android/layout_tests/fast/workers/worker-event-listener.html : TIMEDOUT -/sdcard/android/layout_tests/fast/overflow/scroll-vertical-not-horizontal.html : different length -/sdcard/android/layout_tests/fast/events/onunload.html : different length -/sdcard/android/layout_tests/fast/events/mouseup-outside-document.html : different length -/sdcard/android/layout_tests/fast/events/offsetX-offsetY.html : different length -/sdcard/android/layout_tests/fast/events/scroll-event-does-not-bubble.html : different length -/sdcard/android/layout_tests/fast/events/mouseover-mouseout.html : different length -/sdcard/android/layout_tests/fast/events/option-tab.html : different length -/sdcard/android/layout_tests/fast/events/popup-blocking-click-in-iframe.html : different length -/sdcard/android/layout_tests/fast/events/onchange-passwordfield.html : different length -/sdcard/android/layout_tests/fast/events/drag-in-frames.html : different length -/sdcard/android/layout_tests/fast/events/frame-tab-focus.html : different length -/sdcard/android/layout_tests/fast/events/autoscroll-in-textfield.html : different length -/sdcard/android/layout_tests/fast/events/arrow-navigation.html : different length -/sdcard/android/layout_tests/fast/events/fire-scroll-event.html : different length -/sdcard/android/layout_tests/fast/events/mouseclick-target-and-positioning.html : different length -/sdcard/android/layout_tests/fast/events/keydown-keypress-focus-change.html : @offset: 172 -/sdcard/android/layout_tests/fast/events/input-image-scrolled-x-y.html : TIMEDOUT -/sdcard/android/layout_tests/fast/events/dblclick-addEventListener.html : different length -/sdcard/android/layout_tests/fast/events/frame-programmatic-focus.html : different length -/sdcard/android/layout_tests/fast/events/related-target.html : different length -/sdcard/android/layout_tests/fast/events/content-changed-during-drop.html : different length -/sdcard/android/layout_tests/fast/events/onload-fires-twice.html : different length -/sdcard/android/layout_tests/fast/events/autoscroll-with-non-scrollable-parent.html : different length -/sdcard/android/layout_tests/fast/events/window-events-capture.html : different length -/sdcard/android/layout_tests/fast/events/onchange-click-hang.html : TIMEDOUT -/sdcard/android/layout_tests/fast/events/onload-webkit-before-webcore.html : @offset: 105 -/sdcard/android/layout_tests/fast/events/window-events-bubble2.html : different length -/sdcard/android/layout_tests/fast/events/js-keyboard-event-creation.html : different length -/sdcard/android/layout_tests/fast/events/event-view-toString.html : TIMEDOUT -/sdcard/android/layout_tests/fast/events/onchange-select-popup.html : different length -/sdcard/android/layout_tests/fast/events/access-key-self-destruct.html : different length -/sdcard/android/layout_tests/fast/events/scrollbar-double-click.html : different length -/sdcard/android/layout_tests/fast/events/onunload-clears-onbeforeunload.html : different length -/sdcard/android/layout_tests/fast/events/tabindex-focus-chain.html : @offset: 0 -/sdcard/android/layout_tests/fast/events/capture-on-target.html : different length -/sdcard/android/layout_tests/fast/events/window-events-bubble.html : different length -/sdcard/android/layout_tests/fast/events/mouseup-from-button2.html : different length -/sdcard/android/layout_tests/fast/events/frame-click-focus.html : different length -/sdcard/android/layout_tests/fast/events/mouseout-on-window.html : different length -/sdcard/android/layout_tests/fast/events/keypress-insert-tab.html : @offset: 85 -/sdcard/android/layout_tests/fast/events/mouseout-dead-subframe.html : TIMEDOUT -/sdcard/android/layout_tests/fast/events/iframe-object-onload.html : different length -/sdcard/android/layout_tests/fast/events/onunload-not-on-body.html : different length -/sdcard/android/layout_tests/fast/events/mousemove-after-drag-over-scrollbar.html : different length -/sdcard/android/layout_tests/fast/events/contextmenu-scrolled-page-with-frame.html : different length -/sdcard/android/layout_tests/fast/events/key-events-in-input-button.html : different length -/sdcard/android/layout_tests/fast/events/arrow-keys-on-body.html : different length -/sdcard/android/layout_tests/fast/events/ondragenter.html : different length -/sdcard/android/layout_tests/fast/events/scroll-to-anchor-in-overflow-hidden.html : different length -/sdcard/android/layout_tests/fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html : different length -/sdcard/android/layout_tests/fast/events/keypress-focus-change.html : different length -/sdcard/android/layout_tests/fast/events/key-events-in-input-text.html : different length -/sdcard/android/layout_tests/fast/events/drag-outside-window.html : @offset: 20 -/sdcard/android/layout_tests/fast/events/selectstart-during-autoscroll.html : different length -/sdcard/android/layout_tests/fast/events/click-count.html : different length -/sdcard/android/layout_tests/fast/events/onchange-searchfield.html : different length -/sdcard/android/layout_tests/fast/events/special-key-events-in-input-text.html : different length -/sdcard/android/layout_tests/fast/events/keydown-keypress-preventDefault.html : @offset: 228 -/sdcard/android/layout_tests/fast/events/mouse-click-events.html : different length -/sdcard/android/layout_tests/fast/events/onsearch-enter.html : different length -/sdcard/android/layout_tests/fast/events/mouseover-mouseout2.html : different length -/sdcard/android/layout_tests/fast/events/open-window-from-another-frame.html : different length -/sdcard/android/layout_tests/fast/events/init-events.html : different length -/sdcard/android/layout_tests/fast/events/onchange-textfield.html : different length -/sdcard/android/layout_tests/fast/events/onclick-list-marker.html : different length -/sdcard/android/layout_tests/fast/events/anchor-image-scrolled-x-y.html : TIMEDOUT -/sdcard/android/layout_tests/fast/html/tab-order.html : @offset: 246 -/sdcard/android/layout_tests/fast/js/exception-sequencing-binops.html : TIMEDOUT -/sdcard/android/layout_tests/fast/js/recursion-limit-equal.html : different length -/sdcard/android/layout_tests/fast/js/exception-sequencing-binops2.html : TIMEDOUT -/sdcard/android/layout_tests/fast/js/math-transforms.html : TIMEDOUT -/sdcard/android/layout_tests/fast/js/try-catch-crash.html : TIMEDOUT -/sdcard/android/layout_tests/fast/js/navigator-mimeTypes-length.html : different length -/sdcard/android/layout_tests/fast/js/global-constructors.html : different length -/sdcard/android/layout_tests/fast/js/uncaught-exception-line-number.html : different length -/sdcard/android/layout_tests/fast/js/exceptions-thrown-in-callbacks.html : TIMEDOUT -/sdcard/android/layout_tests/fast/js/toString-and-valueOf-override.html : TIMEDOUT -/sdcard/android/layout_tests/fast/js/exception-sequencing.html : TIMEDOUT -/sdcard/android/layout_tests/fast/js/exception-codegen-crash.html : different length -/sdcard/android/layout_tests/fast/dom/HTMLDocument/activeElement.html : different length -/sdcard/android/layout_tests/fast/dom/HTMLDocument/hasFocus.html : different length -/sdcard/android/layout_tests/fast/dom/HTMLSelectElement/listbox-select-reset.html : different length -/sdcard/android/layout_tests/fast/dom/Element/offsetLeft-offsetTop-body-quirk.html : different length -/sdcard/android/layout_tests/fast/dom/DOMException/XPathException.html : different length -/sdcard/android/layout_tests/fast/dom/getElementsByClassName/010.xml : different length -/sdcard/android/layout_tests/fast/dom/getElementsByClassName/011.xml : different length -/sdcard/android/layout_tests/fast/dom/Window/window-resize-and-move-arguments.html : different length -/sdcard/android/layout_tests/fast/dom/Window/window-function-name-getter-precedence.html : different length -/sdcard/android/layout_tests/fast/dom/Window/window-xy-properties.html : different length -/sdcard/android/layout_tests/fast/dom/Window/console-functions.html : different length -/sdcard/android/layout_tests/fast/dom/Window/window-screen-properties.html : @offset: 65 -/sdcard/android/layout_tests/fast/dom/Window/window-properties.html : TIMEDOUT -/sdcard/android/layout_tests/fast/dom/Window/window-onFocus.html : different length -/sdcard/android/layout_tests/fast/dom/Window/new-window-opener.html : TIMEDOUT -/sdcard/android/layout_tests/fast/dom/Window/window-open-pending-url.html : different length -/sdcard/android/layout_tests/fast/dom/Window/setting-properties-on-closed-window.html : TIMEDOUT -/sdcard/android/layout_tests/fast/dom/Window/dom-access-from-closure-window.html : different length -/sdcard/android/layout_tests/fast/dom/Window/window-resize.html : different length -/sdcard/android/layout_tests/fast/dom/Window/window-custom-prototype.html : different length -/sdcard/android/layout_tests/fast/dom/Window/dom-access-from-closure-iframe.html : different length -/sdcard/android/layout_tests/fast/dom/Window/Plug-ins.html : different length -/sdcard/android/layout_tests/fast/dom/Window/get-set-properties.html : different length -/sdcard/android/layout_tests/fast/dom/Window/window-scroll-arguments.html : different length -/sdcard/android/layout_tests/fast/dom/Window/window-early-properties.html : different length -/sdcard/android/layout_tests/fast/dom/StyleSheet/ownerNode-lifetime-2.html : different length -/sdcard/android/layout_tests/fast/dom/dom-constructors.html : different length -/sdcard/android/layout_tests/fast/dom/assign-to-window-status.html : different length -/sdcard/android/layout_tests/fast/dom/gc-8.html : different length -/sdcard/android/layout_tests/fast/dom/object-embed-plugin-scripting.html : different length -/sdcard/android/layout_tests/fast/dom/gc-9.html : different length -/sdcard/android/layout_tests/fast/dom/NamedNodeMap-setNamedItem-crash.html : different length -/sdcard/android/layout_tests/fast/dom/wrapper-classes.html : different length -/sdcard/android/layout_tests/fast/dom/select-selectedIndex.html : different length -/sdcard/android/layout_tests/fast/dom/document-width-height-force-layout.html : @offset: 142 -/sdcard/android/layout_tests/fast/dom/client-width-height.html : @offset: 119 -/sdcard/android/layout_tests/fast/dom/clone-node-form-elements-with-attr.html : different length -/sdcard/android/layout_tests/fast/dom/dom-add-optionelement.html : different length -/sdcard/android/layout_tests/fast/dom/location-assign.html : different length -/sdcard/android/layout_tests/fast/dom/javascript-backslash.html : different length -/sdcard/android/layout_tests/fast/dom/global-constructors.html : different length -/sdcard/android/layout_tests/fast/dom/client-width-height-quirks.html : @offset: 115 -/sdcard/android/layout_tests/fast/dom/javascript-url-crash-function.html : different length -/sdcard/android/layout_tests/fast/dom/location-hash.html : different length -/sdcard/android/layout_tests/fast/dom/constructors-cached.html : different length -/sdcard/android/layout_tests/fast/dom/documenturi-can-hold-arbitrary-string.html : different length -/sdcard/android/layout_tests/fast/dom/documenturi-not-affected-by-base-tag.html : different length -/sdcard/android/layout_tests/fast/dom/open-and-close-by-DOM.html : different length -/sdcard/android/layout_tests/fast/dom/document_write_params.html : TIMEDOUT -/sdcard/android/layout_tests/fast/dom/tabindex-clamp.html : different length -/sdcard/android/layout_tests/fast/dom/constructors-cached-navigate.html : different length -/sdcard/android/layout_tests/fast/dom/frame-loading-via-document-write.html : TIMEDOUT -/sdcard/android/layout_tests/fast/dom/ImageDocument-image-deletion.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/get-non-ascii-text-plain.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/advanced-get.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/get-non-ascii-text-plain-latin-1.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/post-multiple-items-multipart-form-data.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/get-multiple-items.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/get-non-ascii-always-utf-8.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/post-multiple-items.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/post-append-query.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/get-overwrite-query.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/get-multiple-items-text-plain.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/post-multiple-items-text-plain.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/get-non-ascii.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/post-text-plain-with-accept-charset.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/post-text-plain.html : different length -/sdcard/android/layout_tests/fast/forms/mailto/advanced-put.html : different length -/sdcard/android/layout_tests/fast/forms/listbox-typeahead-scroll.html : different length -/sdcard/android/layout_tests/fast/forms/select-empty-list.html : different length -/sdcard/android/layout_tests/fast/forms/select-accesskey.html : different length -/sdcard/android/layout_tests/fast/forms/focus2.html : different length -/sdcard/android/layout_tests/fast/forms/password-doubleclick-selection.html : different length -/sdcard/android/layout_tests/fast/forms/textfield-inside-anchor.html : different length -/sdcard/android/layout_tests/fast/forms/input-maxlength.html : different length -/sdcard/android/layout_tests/fast/forms/input-text-option-delete.html : TIMEDOUT -/sdcard/android/layout_tests/fast/forms/selection-functions.html : @offset: 306 -/sdcard/android/layout_tests/fast/forms/textfield-to-password-on-focus.html : different length -/sdcard/android/layout_tests/fast/forms/focus-selection-textarea.html : different length -/sdcard/android/layout_tests/fast/forms/enter-clicks-buttons.html : different length -/sdcard/android/layout_tests/fast/forms/menulist-no-renderer-onmousedown.html : different length -/sdcard/android/layout_tests/fast/forms/select-display-none-style-resolve.html : TIMEDOUT -/sdcard/android/layout_tests/fast/forms/radio_checked_name.html : @offset: 303 -/sdcard/android/layout_tests/fast/forms/select-double-onchange.html : different length -/sdcard/android/layout_tests/fast/forms/button-enter-click.html : different length -/sdcard/android/layout_tests/fast/forms/11423.html : different length -/sdcard/android/layout_tests/fast/forms/search-click-in-placeholder.html : @offset: 1 -/sdcard/android/layout_tests/fast/forms/autofocus-opera-003.html : @offset: 51 -/sdcard/android/layout_tests/fast/forms/search-hidden-cancel-button.html : different length -/sdcard/android/layout_tests/fast/forms/willvalidate-004.html : different length -/sdcard/android/layout_tests/fast/forms/textarea-paste-newline.html : different length -/sdcard/android/layout_tests/fast/forms/drag-into-textarea.html : different length -/sdcard/android/layout_tests/fast/forms/onselect-textfield.html : different length -/sdcard/android/layout_tests/fast/forms/input-implicit-length-limit.html : TIMEDOUT -/sdcard/android/layout_tests/fast/forms/form-and-frame-interaction-retains-values.html : different length -/sdcard/android/layout_tests/fast/forms/input-appearance-focus.html : TIMEDOUT -/sdcard/android/layout_tests/fast/forms/slider-transformed.html : different length -/sdcard/android/layout_tests/fast/forms/listbox-select-all.html : different length -/sdcard/android/layout_tests/fast/forms/textfield-onchange-deletion.html : different length -/sdcard/android/layout_tests/fast/forms/focus-control-to-page.html : different length -/sdcard/android/layout_tests/fast/forms/select-type-ahead-non-latin.html : different length -/sdcard/android/layout_tests/fast/forms/textarea-no-scroll-on-blur.html : @offset: 79 -/sdcard/android/layout_tests/fast/forms/focus-selection-input.html : different length -/sdcard/android/layout_tests/fast/forms/listbox-onchange.html : different length -/sdcard/android/layout_tests/fast/forms/button-spacebar-click.html : different length -/sdcard/android/layout_tests/fast/forms/search-event-delay.html : different length -/sdcard/android/layout_tests/fast/forms/search-cancel-button-mouseup.html : different length -/sdcard/android/layout_tests/fast/forms/select-enter-key.html : different length -/sdcard/android/layout_tests/fast/forms/drag-out-of-textarea.html : different length -/sdcard/android/layout_tests/fast/forms/textarea-hard-linewrap.html : different length -/sdcard/android/layout_tests/fast/forms/input-type-change-in-onfocus-keyboard.html : different length -/sdcard/android/layout_tests/fast/forms/dragging-to-disabled-file-input.html : different length -/sdcard/android/layout_tests/fast/forms/input-radio-checked-tab.html : @offset: 115 -/sdcard/android/layout_tests/fast/forms/plaintext-mode-1.html : different length -/sdcard/android/layout_tests/fast/forms/option-in-optgroup-removal.html : different length -/sdcard/android/layout_tests/fast/forms/search-display-none-cancel-button.html : TIMEDOUT -/sdcard/android/layout_tests/fast/forms/check-box-enter-key.html : different length -/sdcard/android/layout_tests/fast/forms/input-select-on-click.html : different length -/sdcard/android/layout_tests/fast/forms/button-state-restore.html : different length -/sdcard/android/layout_tests/fast/forms/access-key.html : different length -/sdcard/android/layout_tests/fast/forms/textarea-scrolled-endline-caret.html : different length -/sdcard/android/layout_tests/fast/forms/textarea-type-spaces.html : different length -/sdcard/android/layout_tests/fast/forms/slider-mouse-events.html : different length -/sdcard/android/layout_tests/fast/forms/textarea-selection-preservation.html : different length -/sdcard/android/layout_tests/fast/forms/slider-onchange-event.html : different length -/sdcard/android/layout_tests/fast/forms/textarea-appearance-wrap.html : different length -/sdcard/android/layout_tests/fast/forms/onselect-textarea.html : different length -/sdcard/android/layout_tests/fast/forms/textarea-initial-caret-position.html : different length -/sdcard/android/layout_tests/fast/forms/listbox-selection.html : different length -/sdcard/android/layout_tests/fast/css/variables/color-hex-test.html : different length -/sdcard/android/layout_tests/fast/css/dashboard-region-parser.html : different length -/sdcard/android/layout_tests/fast/css/hover-affects-child.html : different length -/sdcard/android/layout_tests/fast/css/html-attr-case-sensitivity.html : TIMEDOUT -/sdcard/android/layout_tests/fast/css/computed-style.html : different length -/sdcard/android/layout_tests/fast/css/getComputedStyle-transform.html : different length -/sdcard/android/layout_tests/fast/css/computed-style-without-renderer.html : different length -/sdcard/android/layout_tests/fast/parser/entity-comment-in-iframe.html : @offset: 0 -/sdcard/android/layout_tests/fast/parser/external-entities.xml : different length -/sdcard/android/layout_tests/fast/parser/script-tag-with-trailing-slash.html : different length -/sdcard/android/layout_tests/fast/parser/comment-in-iframe.html : @offset: 0 -/sdcard/android/layout_tests/fast/parser/xml-declaration-missing-ending-mark.html : different length -/sdcard/android/layout_tests/fast/parser/entity-end-script-tag.html : different length -/sdcard/android/layout_tests/fast/parser/tabindex-parsing.html : different length -/sdcard/android/layout_tests/fast/history/subframe-is-visited.html : different length -/sdcard/android/layout_tests/fast/history/window-open.html : TIMEDOUT -/sdcard/android/layout_tests/fast/history/go-back-to-changed-name.html : different length -/sdcard/android/layout_tests/fast/loader/cancel-load-during-port-block-timer.html : TIMEDOUT -/sdcard/android/layout_tests/fast/loader/local-iFrame-source-from-local.html : different length -/sdcard/android/layout_tests/fast/loader/null-request-after-willSendRequest.html : different length -/sdcard/android/layout_tests/fast/loader/stop-provisional-loads.html : different length -/sdcard/android/layout_tests/fast/loader/xmlhttprequest-missing-file-exception.html : different length -/sdcard/android/layout_tests/fast/loader/onunload-form-submit-crash-2.html : different length -/sdcard/android/layout_tests/fast/loader/plain-text-document.html : different length -/sdcard/android/layout_tests/fast/loader/onunload-form-submit-crash.html : different length -/sdcard/android/layout_tests/fast/loader/local-image-from-local.html : different length -/sdcard/android/layout_tests/fast/loader/local-CSS-from-local.html : TIMEDOUT -/sdcard/android/layout_tests/fast/loader/local-JavaScript-from-local.html : different length -/sdcard/android/layout_tests/fast/loader/data-url-encoding-svg.html : different length -/sdcard/android/layout_tests/fast/loader/opaque-base-url.html : @offset: 129 -/sdcard/android/layout_tests/fast/canvas/canvas-alphaImageData-behavior.html : different length -/sdcard/android/layout_tests/fast/canvas/pointInPath.html : different length -/sdcard/android/layout_tests/fast/canvas/toDataURL-supportedTypes.html : different length -/sdcard/android/layout_tests/fast/canvas/canvas-getImageData.html : different length -/sdcard/android/layout_tests/fast/canvas/canvas-longlived-context.html : TIMEDOUT -/sdcard/android/layout_tests/fast/canvas/canvas-save-restore-with-path.html : different length -/sdcard/android/layout_tests/fast/canvas/set-colors.html : different length -/sdcard/android/layout_tests/fast/frames/viewsource-empty-attribute-value.html : different length -/sdcard/android/layout_tests/fast/frames/frame-deep-nested-resize.html : different length -/sdcard/android/layout_tests/fast/frames/iframe-window-focus.html : different length -/sdcard/android/layout_tests/fast/frames/frameElement-widthheight.html : different length -/sdcard/android/layout_tests/fast/frames/removal-before-attach-crash.html : different length -/sdcard/android/layout_tests/fast/frames/frame-js-url-clientWidth.html : different length +/sdcard/android/layout_tests/webarchive/loading/test-loading-archive.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement19.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFormElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement16.html +/sdcard/android/layout_tests/media/video-error-does-not-exist.html +/sdcard/android/layout_tests/media/audio-constructor.html +/sdcard/android/layout_tests/media/video-start.html +/sdcard/android/layout_tests/media/video-loopend.html +/sdcard/android/layout_tests/media/video-play-empty-events.html +/sdcard/android/layout_tests/media/constructors.html +/sdcard/android/layout_tests/media/video-append-source.html +/sdcard/android/layout_tests/media/unsupported-rtsp.html +/sdcard/android/layout_tests/media/video-dom-autoplay.html +/sdcard/android/layout_tests/media/video-currentTime-set2.html +/sdcard/android/layout_tests/media/video-poster.html +/sdcard/android/layout_tests/media/video-source-media.html +/sdcard/android/layout_tests/media/video-muted.html +/sdcard/android/layout_tests/media/progress-event.html +/sdcard/android/layout_tests/media/video-source-type.html +/sdcard/android/layout_tests/media/video-seek-past-end-playing.html +/sdcard/android/layout_tests/media/video-dom-src.html +/sdcard/android/layout_tests/media/remove-from-document.html +/sdcard/android/layout_tests/media/video-end.html +/sdcard/android/layout_tests/media/video-src-change.html +/sdcard/android/layout_tests/media/video-seekable.html +/sdcard/android/layout_tests/media/video-click-dblckick-standalone.html +/sdcard/android/layout_tests/media/video-src-set.html +/sdcard/android/layout_tests/media/video-seeking.html +/sdcard/android/layout_tests/media/video-controls-transformed.html +/sdcard/android/layout_tests/media/loopend-limits.html +/sdcard/android/layout_tests/media/video-volume.html +/sdcard/android/layout_tests/media/video-size.html +/sdcard/android/layout_tests/media/video-width-height.html +/sdcard/android/layout_tests/media/video-loopstart.html +/sdcard/android/layout_tests/media/video-source.html +/sdcard/android/layout_tests/media/video-currentTime.html +/sdcard/android/layout_tests/media/video-dom-loopstart.html +/sdcard/android/layout_tests/media/broken-video.html +/sdcard/android/layout_tests/media/video-buffered.html +/sdcard/android/layout_tests/media/video-load-readyState.html +/sdcard/android/layout_tests/media/video-dom-end.html +/sdcard/android/layout_tests/media/fallback.html +/sdcard/android/layout_tests/media/video-load-networkState.html +/sdcard/android/layout_tests/media/unsupported-tracks.html +/sdcard/android/layout_tests/media/video-dom-start.html +/sdcard/android/layout_tests/media/video-seek-past-end-paused.html +/sdcard/android/layout_tests/media/video-play-pause-events.html +/sdcard/android/layout_tests/media/video-autoplay.html +/sdcard/android/layout_tests/media/video-controls.html +/sdcard/android/layout_tests/media/loopstart-limits.html +/sdcard/android/layout_tests/media/video-src-source.html +/sdcard/android/layout_tests/media/video-currentTime-set.html +/sdcard/android/layout_tests/media/video-source-type-params.html +/sdcard/android/layout_tests/media/video-no-autoplay.html +/sdcard/android/layout_tests/media/video-pause-empty-events.html +/sdcard/android/layout_tests/media/video-play-pause-exception.html +/sdcard/android/layout_tests/media/video-dom-loopend.html +/sdcard/android/layout_tests/media/video-loopcount.html +/sdcard/android/layout_tests/media/video-src-remove.html +/sdcard/android/layout_tests/media/video-src.html +/sdcard/android/layout_tests/media/video-error-abort.html +/sdcard/android/layout_tests/media/video-dom-loopcount.html +/sdcard/android/layout_tests/media/progress-event-total.html +/sdcard/android/layout_tests/media/audio-constructor-src.html +/sdcard/android/layout_tests/plugins/throw-on-dealloc.html +/sdcard/android/layout_tests/plugins/invoke.html +/sdcard/android/layout_tests/plugins/plugin-remove-subframe.html +/sdcard/android/layout_tests/plugins/netscape-identifier-conversion.html +/sdcard/android/layout_tests/plugins/call-as-function-test.html +/sdcard/android/layout_tests/plugins/npruntime.html +/sdcard/android/layout_tests/plugins/netscape-construct.html +/sdcard/android/layout_tests/plugins/root-object-premature-delete-crash.html +/sdcard/android/layout_tests/plugins/netscape-get-property-return-value.html +/sdcard/android/layout_tests/plugins/mouse-events.html +/sdcard/android/layout_tests/plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html +/sdcard/android/layout_tests/plugins/destroy-stream-twice.html +/sdcard/android/layout_tests/plugins/jsobjc-simple.html +/sdcard/android/layout_tests/plugins/embed-attributes-setting.html +/sdcard/android/layout_tests/plugins/inner-html-display-none.html +/sdcard/android/layout_tests/plugins/netscape-invoke-default.html +/sdcard/android/layout_tests/plugins/undefined-property-crash.html +/sdcard/android/layout_tests/plugins/netscape-plugin-setwindow-size-2.html +/sdcard/android/layout_tests/plugins/jsobjc-dom-wrappers.html +/sdcard/android/layout_tests/plugins/plugin-javascript-access.html +/sdcard/android/layout_tests/plugins/getintidentifier-special-values.html +/sdcard/android/layout_tests/plugins/geturl-replace-query.html +/sdcard/android/layout_tests/plugins/netscape-destroy-plugin-script-objects.html +/sdcard/android/layout_tests/plugins/open-and-close-window-with-plugin.html +/sdcard/android/layout_tests/plugins/netscape-enumerate.html +/sdcard/android/layout_tests/plugins/get-url-that-the-resource-load-delegate-will-disallow.html +/sdcard/android/layout_tests/plugins/netscape-plugin-setwindow-size.html +/sdcard/android/layout_tests/plugins/embed-inside-object.html +/sdcard/android/layout_tests/plugins/netscape-throw-exception.html +/sdcard/android/layout_tests/plugins/get-url-with-blank-target.html +/sdcard/android/layout_tests/plugins/bindings-test.html +/sdcard/android/layout_tests/editing/input/textarea-arrow-navigation.html +/sdcard/android/layout_tests/editing/inserting/typing-tab-designmode.html +/sdcard/android/layout_tests/editing/inserting/5994480-2.html +/sdcard/android/layout_tests/editing/execCommand/queryCommandState-01.html +/sdcard/android/layout_tests/editing/execCommand/5543472-3.html +/sdcard/android/layout_tests/editing/execCommand/enabling-and-selection.html +/sdcard/android/layout_tests/editing/execCommand/5658933-2.html +/sdcard/android/layout_tests/editing/execCommand/insert-line-break-no-scroll.html +/sdcard/android/layout_tests/editing/execCommand/enabling-and-selection-2.html +/sdcard/android/layout_tests/editing/execCommand/delete-no-scroll.html +/sdcard/android/layout_tests/editing/execCommand/forward-delete-no-scroll.html +/sdcard/android/layout_tests/editing/execCommand/19089.html +/sdcard/android/layout_tests/editing/execCommand/unlink.html +/sdcard/android/layout_tests/editing/execCommand/5543472-2.html +/sdcard/android/layout_tests/editing/execCommand/copy-without-selection.html +/sdcard/android/layout_tests/editing/execCommand/findString-diacriticals.html +/sdcard/android/layout_tests/editing/execCommand/5658933-3.html +/sdcard/android/layout_tests/editing/execCommand/createLink.html +/sdcard/android/layout_tests/editing/execCommand/5543472-1.html +/sdcard/android/layout_tests/editing/execCommand/5939887.html +/sdcard/android/layout_tests/editing/pasteboard/paste-into-anchor-text.html +/sdcard/android/layout_tests/editing/pasteboard/copy-crash.html +/sdcard/android/layout_tests/editing/pasteboard/5665299.html +/sdcard/android/layout_tests/editing/pasteboard/5761530-1.html +/sdcard/android/layout_tests/editing/pasteboard/copy-in-password-field.html +/sdcard/android/layout_tests/editing/pasteboard/paste-plaintext-user-select-none.html +/sdcard/android/layout_tests/editing/pasteboard/drag-image-in-about-blank-frame.html +/sdcard/android/layout_tests/editing/pasteboard/4744008.html +/sdcard/android/layout_tests/editing/pasteboard/4922709.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-013.html +/sdcard/android/layout_tests/editing/pasteboard/5780697-2.html +/sdcard/android/layout_tests/editing/pasteboard/4840662.html +/sdcard/android/layout_tests/editing/pasteboard/paste-table-002.html +/sdcard/android/layout_tests/editing/selection/drag-text-delay.html +/sdcard/android/layout_tests/editing/selection/skip-non-editable-1.html +/sdcard/android/layout_tests/editing/selection/move-by-line-003.html +/sdcard/android/layout_tests/editing/selection/anchor-focus1.html +/sdcard/android/layout_tests/editing/selection/getRangeAt.html +/sdcard/android/layout_tests/editing/selection/select-all-textarea.html +/sdcard/android/layout_tests/editing/selection/doubleclick-whitespace.html +/sdcard/android/layout_tests/editing/selection/after-line-break.html +/sdcard/android/layout_tests/editing/selection/legal-positions.html +/sdcard/android/layout_tests/editing/selection/anchor-focus3.html +/sdcard/android/layout_tests/editing/selection/toString.html +/sdcard/android/layout_tests/editing/selection/extend-selection-bidi.html +/sdcard/android/layout_tests/editing/selection/inactive-selection.html +/sdcard/android/layout_tests/editing/selection/removeAllRanges.html +/sdcard/android/layout_tests/editing/selection/5209984.html +/sdcard/android/layout_tests/editing/selection/skip-non-editable-2.html +/sdcard/android/layout_tests/editing/selection/toString-1.html +/sdcard/android/layout_tests/editing/selection/anchor-focus2.html +/sdcard/android/layout_tests/editing/selection/move-begin-end.html +/sdcard/android/layout_tests/editing/selection/move-left-right.html +/sdcard/android/layout_tests/editing/selection/click-before-and-after-table.html +/sdcard/android/layout_tests/editing/undo/undo-iframe-location-change.html +/sdcard/android/layout_tests/editing/deleting/pruning-after-merge-1.html +/sdcard/android/layout_tests/editing/deleting/5546763.html +/sdcard/android/layout_tests/editing/deleting/5729680.html +/sdcard/android/layout_tests/editing/deleting/4916235-1.html +/sdcard/android/layout_tests/editing/deleting/delete-ligature-001.html +/sdcard/android/layout_tests/editing/deleting/delete-ligature-003.html +/sdcard/android/layout_tests/editing/deleting/5890684.html +/sdcard/android/layout_tests/editing/deleting/smart-editing-disabled.html +/sdcard/android/layout_tests/editing/deleting/delete-ligature-002.html +/sdcard/android/layout_tests/editing/deleting/delete-all-text-in-text-field-assertion.html +/sdcard/android/layout_tests/accessibility/image-map1.html +/sdcard/android/layout_tests/accessibility/aria-labelledby-on-input.html +/sdcard/android/layout_tests/accessibility/content-editable.html +/sdcard/android/layout_tests/accessibility/frame-with-title.html +/sdcard/android/layout_tests/accessibility/textarea-insertion-point-line-number.html +/sdcard/android/layout_tests/accessibility/table-with-rules.html +/sdcard/android/layout_tests/accessibility/aria-describedby-on-input.html +/sdcard/android/layout_tests/accessibility/radio-button-checkbox-size.html +/sdcard/android/layout_tests/accessibility/table-detection.html +/sdcard/android/layout_tests/accessibility/th-as-title-ui.html +/sdcard/android/layout_tests/accessibility/table-with-aria-role.html +/sdcard/android/layout_tests/accessibility/accesskey.html +/sdcard/android/layout_tests/accessibility/image-map2.html +/sdcard/android/layout_tests/accessibility/iframe-bastardization.html +/sdcard/android/layout_tests/accessibility/aria-spinbutton.html +/sdcard/android/layout_tests/accessibility/button-press-action.html +/sdcard/android/layout_tests/accessibility/table-cell-spans.html +/sdcard/android/layout_tests/accessibility/table-cells.html +/sdcard/android/layout_tests/accessibility/double-title.html +/sdcard/android/layout_tests/accessibility/lists.html +/sdcard/android/layout_tests/accessibility/plugin.html +/sdcard/android/layout_tests/accessibility/table-sections.html +/sdcard/android/layout_tests/accessibility/textarea-selected-text-range.html +/sdcard/android/layout_tests/accessibility/input-image-url.html +/sdcard/android/layout_tests/accessibility/aria-range-value.html +/sdcard/android/layout_tests/accessibility/table-one-cell.html +/sdcard/android/layout_tests/accessibility/internal-link-anchors2.html +/sdcard/android/layout_tests/accessibility/table-nofirstbody.html +/sdcard/android/layout_tests/accessibility/table-modification-crash.html +/sdcard/android/layout_tests/accessibility/radio-button-group-members.html +/sdcard/android/layout_tests/accessibility/aria-link-supports-press.html +/sdcard/android/layout_tests/accessibility/document-attributes.html +/sdcard/android/layout_tests/accessibility/table-notbody.html +/sdcard/android/layout_tests/accessibility/aria-range.html +/sdcard/android/layout_tests/accessibility/bounds-for-range.html +/sdcard/android/layout_tests/accessibility/table-attributes.html +/sdcard/android/layout_tests/accessibility/textarea-line-for-index.html +/sdcard/android/layout_tests/accessibility/aria-slider.html +/sdcard/android/layout_tests/accessibility/document-links.html +/sdcard/android/layout_tests/accessibility/legend.html +/sdcard/android/layout_tests/accessibility/aria-roles.html +/sdcard/android/layout_tests/accessibility/nochildren-elements.html +/sdcard/android/layout_tests/accessibility/internal-link-anchors.html +/sdcard/android/layout_tests/fast/replaced/image-map-bug16782.html +/sdcard/android/layout_tests/fast/replaced/table-percent-height.html +/sdcard/android/layout_tests/fast/replaced/image-map.html +/sdcard/android/layout_tests/fast/dynamic/paused-event-dispatch.html +/sdcard/android/layout_tests/fast/text/plain-text-line-breaks.html +/sdcard/android/layout_tests/fast/text/zero-width-characters.html +/sdcard/android/layout_tests/fast/text/reset-drag-on-mouse-down.html +/sdcard/android/layout_tests/fast/encoding/invalid-xml.html +/sdcard/android/layout_tests/fast/encoding/char-decoding-mac.html +/sdcard/android/layout_tests/fast/encoding/frame-default-enc.html +/sdcard/android/layout_tests/fast/encoding/mailto-always-utf-8.html +/sdcard/android/layout_tests/fast/encoding/char-decoding.html +/sdcard/android/layout_tests/fast/encoding/url-host-name-non-ascii.html +/sdcard/android/layout_tests/fast/encoding/idn-security.html +/sdcard/android/layout_tests/fast/encoding/percent-escaping.html +/sdcard/android/layout_tests/fast/encoding/xml-utf-8-default.xml +/sdcard/android/layout_tests/fast/encoding/char-encoding-mac.html +/sdcard/android/layout_tests/fast/encoding/yahoo-mail.html +/sdcard/android/layout_tests/fast/encoding/charset-koi8-u.html +/sdcard/android/layout_tests/fast/encoding/ahram-org-eg.html +/sdcard/android/layout_tests/fast/encoding/noscript-in-head.html +/sdcard/android/layout_tests/fast/workers/worker-location.html +/sdcard/android/layout_tests/fast/workers/worker-constructor.html +/sdcard/android/layout_tests/fast/workers/stress-js-execution.html +/sdcard/android/layout_tests/fast/workers/worker-terminate.html +/sdcard/android/layout_tests/fast/workers/worker-gc.html +/sdcard/android/layout_tests/fast/workers/worker-navigator.html +/sdcard/android/layout_tests/fast/workers/worker-replace-global-constructor.html +/sdcard/android/layout_tests/fast/workers/worker-replace-self.html +/sdcard/android/layout_tests/fast/workers/worker-event-listener.html +/sdcard/android/layout_tests/fast/selectors/lang-inheritance.html +/sdcard/android/layout_tests/fast/selectors/lang-vs-xml-lang.html +/sdcard/android/layout_tests/fast/selectors/lang-inheritance2.html +/sdcard/android/layout_tests/fast/overflow/scroll-vertical-not-horizontal.html +/sdcard/android/layout_tests/fast/events/onunload.html +/sdcard/android/layout_tests/fast/events/mouseup-outside-document.html +/sdcard/android/layout_tests/fast/events/offsetX-offsetY.html +/sdcard/android/layout_tests/fast/events/scroll-event-does-not-bubble.html +/sdcard/android/layout_tests/fast/events/mouseover-mouseout.html +/sdcard/android/layout_tests/fast/events/option-tab.html +/sdcard/android/layout_tests/fast/events/popup-blocking-click-in-iframe.html +/sdcard/android/layout_tests/fast/events/tabindex-focus-blur-all.html +/sdcard/android/layout_tests/fast/events/onchange-passwordfield.html +/sdcard/android/layout_tests/fast/events/drag-in-frames.html +/sdcard/android/layout_tests/fast/events/frame-tab-focus.html +/sdcard/android/layout_tests/fast/events/autoscroll-in-textfield.html +/sdcard/android/layout_tests/fast/events/arrow-navigation.html +/sdcard/android/layout_tests/fast/events/fire-scroll-event.html +/sdcard/android/layout_tests/fast/events/attempt-scroll-with-no-scrollbars.html +/sdcard/android/layout_tests/fast/events/mouseclick-target-and-positioning.html +/sdcard/android/layout_tests/fast/events/keydown-keypress-focus-change.html +/sdcard/android/layout_tests/fast/events/input-image-scrolled-x-y.html +/sdcard/android/layout_tests/fast/events/dblclick-addEventListener.html +/sdcard/android/layout_tests/fast/events/frame-programmatic-focus.html +/sdcard/android/layout_tests/fast/events/context-onmousedown-event.html +/sdcard/android/layout_tests/fast/events/content-changed-during-drop.html +/sdcard/android/layout_tests/fast/events/autoscroll-with-non-scrollable-parent.html +/sdcard/android/layout_tests/fast/events/window-events-capture.html +/sdcard/android/layout_tests/fast/events/onchange-click-hang.html +/sdcard/android/layout_tests/fast/events/onload-webkit-before-webcore.html +/sdcard/android/layout_tests/fast/events/window-events-bubble2.html +/sdcard/android/layout_tests/fast/events/js-keyboard-event-creation.html +/sdcard/android/layout_tests/fast/events/event-view-toString.html +/sdcard/android/layout_tests/fast/events/onchange-select-popup.html +/sdcard/android/layout_tests/fast/events/access-key-self-destruct.html +/sdcard/android/layout_tests/fast/events/scrollbar-double-click.html +/sdcard/android/layout_tests/fast/events/onunload-clears-onbeforeunload.html +/sdcard/android/layout_tests/fast/events/tabindex-focus-chain.html +/sdcard/android/layout_tests/fast/events/capture-on-target.html +/sdcard/android/layout_tests/fast/events/window-events-bubble.html +/sdcard/android/layout_tests/fast/events/mouseup-from-button2.html +/sdcard/android/layout_tests/fast/events/frame-click-focus.html +/sdcard/android/layout_tests/fast/events/mouseout-on-window.html +/sdcard/android/layout_tests/fast/events/keypress-insert-tab.html +/sdcard/android/layout_tests/fast/events/mouseout-dead-subframe.html +/sdcard/android/layout_tests/fast/events/iframe-object-onload.html +/sdcard/android/layout_tests/fast/events/onunload-not-on-body.html +/sdcard/android/layout_tests/fast/events/mousemove-after-drag-over-scrollbar.html +/sdcard/android/layout_tests/fast/events/contextmenu-scrolled-page-with-frame.html +/sdcard/android/layout_tests/fast/events/key-events-in-input-button.html +/sdcard/android/layout_tests/fast/events/arrow-keys-on-body.html +/sdcard/android/layout_tests/fast/events/ondragenter.html +/sdcard/android/layout_tests/fast/events/pointer-events.html +/sdcard/android/layout_tests/fast/events/scroll-to-anchor-in-overflow-hidden.html +/sdcard/android/layout_tests/fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html +/sdcard/android/layout_tests/fast/events/keypress-focus-change.html +/sdcard/android/layout_tests/fast/events/key-events-in-input-text.html +/sdcard/android/layout_tests/fast/events/pointer-events-2.html +/sdcard/android/layout_tests/fast/events/drag-outside-window.html +/sdcard/android/layout_tests/fast/events/click-count.html +/sdcard/android/layout_tests/fast/events/onchange-searchfield.html +/sdcard/android/layout_tests/fast/events/special-key-events-in-input-text.html +/sdcard/android/layout_tests/fast/events/keydown-keypress-preventDefault.html +/sdcard/android/layout_tests/fast/events/mouse-click-events.html +/sdcard/android/layout_tests/fast/events/onsearch-enter.html +/sdcard/android/layout_tests/fast/events/mouseover-mouseout2.html +/sdcard/android/layout_tests/fast/events/open-window-from-another-frame.html +/sdcard/android/layout_tests/fast/events/init-events.html +/sdcard/android/layout_tests/fast/events/onchange-textfield.html +/sdcard/android/layout_tests/fast/events/onclick-list-marker.html +/sdcard/android/layout_tests/fast/events/anchor-image-scrolled-x-y.html +/sdcard/android/layout_tests/fast/html/tab-order.html +/sdcard/android/layout_tests/fast/regex/test1.html +/sdcard/android/layout_tests/fast/js/kde/garbage-n.html +/sdcard/android/layout_tests/fast/js/kde/Number.html +/sdcard/android/layout_tests/fast/js/kde/string-2-n.html +/sdcard/android/layout_tests/fast/js/kde/encode_decode_uri.html +/sdcard/android/layout_tests/fast/js/kde/string-1-n.html +/sdcard/android/layout_tests/fast/js/exception-sequencing-binops.html +/sdcard/android/layout_tests/fast/js/recursion-limit-equal.html +/sdcard/android/layout_tests/fast/js/exception-sequencing-binops2.html +/sdcard/android/layout_tests/fast/js/math-transforms.html +/sdcard/android/layout_tests/fast/js/try-catch-crash.html +/sdcard/android/layout_tests/fast/js/array-iterate-backwards.html +/sdcard/android/layout_tests/fast/js/navigator-mimeTypes-length.html +/sdcard/android/layout_tests/fast/js/global-constructors.html +/sdcard/android/layout_tests/fast/js/uncaught-exception-line-number.html +/sdcard/android/layout_tests/fast/js/exceptions-thrown-in-callbacks.html +/sdcard/android/layout_tests/fast/js/toString-and-valueOf-override.html +/sdcard/android/layout_tests/fast/js/function-toString-parentheses.html +/sdcard/android/layout_tests/fast/js/large-expressions.html +/sdcard/android/layout_tests/fast/js/exception-sequencing.html +/sdcard/android/layout_tests/fast/js/exception-codegen-crash.html +/sdcard/android/layout_tests/fast/dom/HTMLDocument/activeElement.html +/sdcard/android/layout_tests/fast/dom/HTMLDocument/document-special-properties.html +/sdcard/android/layout_tests/fast/dom/HTMLDocument/url-getset.html +/sdcard/android/layout_tests/fast/dom/HTMLDocument/hasFocus.html +/sdcard/android/layout_tests/fast/dom/HTMLSelectElement/listbox-select-reset.html +/sdcard/android/layout_tests/fast/dom/Document/early-document-access.html +/sdcard/android/layout_tests/fast/dom/Element/offsetLeft-offsetTop-body-quirk.html +/sdcard/android/layout_tests/fast/dom/DOMException/XPathException.html +/sdcard/android/layout_tests/fast/dom/getElementsByClassName/010.xml +/sdcard/android/layout_tests/fast/dom/getElementsByClassName/011.xml +/sdcard/android/layout_tests/fast/dom/Window/window-resize-and-move-arguments.html +/sdcard/android/layout_tests/fast/dom/Window/timeout-released-on-close.html +/sdcard/android/layout_tests/fast/dom/Window/window-function-name-getter-precedence.html +/sdcard/android/layout_tests/fast/dom/Window/window-xy-properties.html +/sdcard/android/layout_tests/fast/dom/Window/console-functions.html +/sdcard/android/layout_tests/fast/dom/Window/window-screen-properties.html +/sdcard/android/layout_tests/fast/dom/Window/window-properties.html +/sdcard/android/layout_tests/fast/dom/Window/window-onFocus.html +/sdcard/android/layout_tests/fast/dom/Window/new-window-opener.html +/sdcard/android/layout_tests/fast/dom/Window/window-open-pending-url.html +/sdcard/android/layout_tests/fast/dom/Window/setting-properties-on-closed-window.html +/sdcard/android/layout_tests/fast/dom/Window/dom-access-from-closure-window.html +/sdcard/android/layout_tests/fast/dom/Window/window-resize.html +/sdcard/android/layout_tests/fast/dom/Window/closure-access-after-navigation-window.html +/sdcard/android/layout_tests/fast/dom/Window/window-special-properties.html +/sdcard/android/layout_tests/fast/dom/Window/dom-access-from-closure-iframe.html +/sdcard/android/layout_tests/fast/dom/Window/Plug-ins.html +/sdcard/android/layout_tests/fast/dom/Window/get-set-properties.html +/sdcard/android/layout_tests/fast/dom/Window/window-scroll-arguments.html +/sdcard/android/layout_tests/fast/dom/Window/window-early-properties.html +/sdcard/android/layout_tests/fast/dom/StyleSheet/ownerNode-lifetime-2.html +/sdcard/android/layout_tests/fast/dom/dom-constructors.html +/sdcard/android/layout_tests/fast/dom/assign-to-window-status.html +/sdcard/android/layout_tests/fast/dom/gc-8.html +/sdcard/android/layout_tests/fast/dom/object-embed-plugin-scripting.html +/sdcard/android/layout_tests/fast/dom/node-filter-gc.html +/sdcard/android/layout_tests/fast/dom/noscript-canvas-in-created-html-document.html +/sdcard/android/layout_tests/fast/dom/DOMParser-assign-variable.html +/sdcard/android/layout_tests/fast/dom/timer-clear-interval-in-handler.html +/sdcard/android/layout_tests/fast/dom/implementation-createHTMLDocument.html +/sdcard/android/layout_tests/fast/dom/iframe-document.html +/sdcard/android/layout_tests/fast/dom/document-all-input.html +/sdcard/android/layout_tests/fast/dom/null-document-location-href-put-crash.html +/sdcard/android/layout_tests/fast/dom/getelementsbytagnamens-mixed-namespaces.html +/sdcard/android/layout_tests/fast/dom/object-plugin-hides-properties.html +/sdcard/android/layout_tests/fast/dom/gc-2.html +/sdcard/android/layout_tests/fast/dom/computed-style-set-property.html +/sdcard/android/layout_tests/fast/dom/inner-text-001.html +/sdcard/android/layout_tests/fast/dom/css-selectorText.html +/sdcard/android/layout_tests/fast/dom/replace-first-child.html +/sdcard/android/layout_tests/fast/dom/importNode-null.html +/sdcard/android/layout_tests/fast/dom/select-selectedIndex-multiple.html +/sdcard/android/layout_tests/fast/dom/gc-9.html +/sdcard/android/layout_tests/fast/dom/NamedNodeMap-setNamedItem-crash.html +/sdcard/android/layout_tests/fast/dom/wrapper-classes.html +/sdcard/android/layout_tests/fast/dom/select-selectedIndex.html +/sdcard/android/layout_tests/fast/dom/document-width-height-force-layout.html +/sdcard/android/layout_tests/fast/dom/gc-acid3.html +/sdcard/android/layout_tests/fast/dom/client-width-height.html +/sdcard/android/layout_tests/fast/dom/global-constructors.html +/sdcard/android/layout_tests/fast/dom/client-width-height-quirks.html +/sdcard/android/layout_tests/fast/dom/javascript-url-crash-function.html +/sdcard/android/layout_tests/fast/dom/location-hash.html +/sdcard/android/layout_tests/fast/dom/constructors-cached.html +/sdcard/android/layout_tests/fast/dom/non-numeric-values-numeric-parameters.html +/sdcard/android/layout_tests/fast/dom/documenturi-can-hold-arbitrary-string.html +/sdcard/android/layout_tests/fast/dom/documenturi-not-affected-by-base-tag.html +/sdcard/android/layout_tests/fast/dom/open-and-close-by-DOM.html +/sdcard/android/layout_tests/fast/dom/set-frame-src-while-running-script-in-frame.html +/sdcard/android/layout_tests/fast/dom/document_write_params.html +/sdcard/android/layout_tests/fast/dom/namednodemap-namelookup.html +/sdcard/android/layout_tests/fast/dom/null-document-location-replace-crash.html +/sdcard/android/layout_tests/fast/dom/htmlcollection-detectability.html +/sdcard/android/layout_tests/fast/dom/documenturi-assigned-junk-implies-relative-urls-do-not-resolve.html +/sdcard/android/layout_tests/fast/dom/collection-namedItem-via-item.html +/sdcard/android/layout_tests/fast/dom/set-inner-text-newlines.html +/sdcard/android/layout_tests/fast/dom/document-dir-property.html +/sdcard/android/layout_tests/fast/dom/undetectable-style-filter.html +/sdcard/android/layout_tests/fast/dom/tabindex-clamp.html +/sdcard/android/layout_tests/fast/dom/constructors-cached-navigate.html +/sdcard/android/layout_tests/fast/dom/frame-loading-via-document-write.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Borrowed/od_20000608.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Borrowed/namespace-nodes.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Borrowed/rs_20010831.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Borrowed/sr_20021217.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Borrowed/kd_20010423.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Borrowed/cz_20030217.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Core/test_boolean_expr.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Core/test_core_functions.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Core/test_location_path.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Core/test_node_test.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Core/test_literal_expr.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Core/test_predicate_list.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Core/test_parser.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Core/test_nodeset_expr.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Core/test_numeric_expr.html +/sdcard/android/layout_tests/fast/xpath/4XPath/Core/test_step.html +/sdcard/android/layout_tests/fast/xpath/ancestor-axis.html +/sdcard/android/layout_tests/fast/xpath/string-value.html +/sdcard/android/layout_tests/fast/xpath/name-null-namespace.html +/sdcard/android/layout_tests/fast/xpath/id-simple.html +/sdcard/android/layout_tests/fast/xpath/id-path.html +/sdcard/android/layout_tests/fast/xpath/implicit-node-args.html +/sdcard/android/layout_tests/fast/xpath/text-nodes.html +/sdcard/android/layout_tests/fast/xpath/invalid-functions.html +/sdcard/android/layout_tests/fast/xpath/xpath-namespaces.html +/sdcard/android/layout_tests/fast/xpath/xpath-functional-test.html +/sdcard/android/layout_tests/fast/xpath/complex-id.html +/sdcard/android/layout_tests/fast/xpath/attr-namespace.html +/sdcard/android/layout_tests/fast/xpath/substring-after.html +/sdcard/android/layout_tests/fast/xpath/evaluate-twice.html +/sdcard/android/layout_tests/fast/xpath/empty-string-substring.html +/sdcard/android/layout_tests/fast/xpath/document-order.html +/sdcard/android/layout_tests/fast/xpath/nodeset-duplicates.html +/sdcard/android/layout_tests/fast/xpath/nan-to-boolean.html +/sdcard/android/layout_tests/fast/xpath/reverse-axes.html +/sdcard/android/layout_tests/fast/forms/mailto/get-non-ascii-text-plain.html +/sdcard/android/layout_tests/fast/forms/mailto/advanced-get.html +/sdcard/android/layout_tests/fast/forms/mailto/get-non-ascii-text-plain-latin-1.html +/sdcard/android/layout_tests/fast/forms/mailto/post-multiple-items-multipart-form-data.html +/sdcard/android/layout_tests/fast/forms/mailto/get-multiple-items.html +/sdcard/android/layout_tests/fast/forms/mailto/get-non-ascii-always-utf-8.html +/sdcard/android/layout_tests/fast/forms/mailto/post-multiple-items.html +/sdcard/android/layout_tests/fast/forms/mailto/post-append-query.html +/sdcard/android/layout_tests/fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html +/sdcard/android/layout_tests/fast/forms/mailto/get-overwrite-query.html +/sdcard/android/layout_tests/fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html +/sdcard/android/layout_tests/fast/forms/mailto/get-multiple-items-text-plain.html +/sdcard/android/layout_tests/fast/forms/mailto/post-multiple-items-text-plain.html +/sdcard/android/layout_tests/fast/forms/mailto/get-non-ascii.html +/sdcard/android/layout_tests/fast/forms/mailto/post-text-plain-with-accept-charset.html +/sdcard/android/layout_tests/fast/forms/mailto/post-text-plain.html +/sdcard/android/layout_tests/fast/forms/mailto/advanced-put.html +/sdcard/android/layout_tests/fast/forms/listbox-typeahead-scroll.html +/sdcard/android/layout_tests/fast/forms/select-empty-list.html +/sdcard/android/layout_tests/fast/forms/select-accesskey.html +/sdcard/android/layout_tests/fast/forms/focus2.html +/sdcard/android/layout_tests/fast/forms/password-doubleclick-selection.html +/sdcard/android/layout_tests/fast/forms/textfield-inside-anchor.html +/sdcard/android/layout_tests/fast/forms/textarea-trailing-newline.html +/sdcard/android/layout_tests/fast/forms/legend-access-key.html +/sdcard/android/layout_tests/fast/forms/input-maxlength.html +/sdcard/android/layout_tests/fast/forms/selection-functions.html +/sdcard/android/layout_tests/fast/forms/textfield-to-password-on-focus.html +/sdcard/android/layout_tests/fast/forms/select-reset.html +/sdcard/android/layout_tests/fast/forms/focus-selection-textarea.html +/sdcard/android/layout_tests/fast/forms/enter-clicks-buttons.html +/sdcard/android/layout_tests/fast/forms/radio_checked_name.html +/sdcard/android/layout_tests/fast/forms/radio-check-click-and-drag.html +/sdcard/android/layout_tests/fast/forms/select-double-onchange.html +/sdcard/android/layout_tests/fast/forms/button-enter-click.html +/sdcard/android/layout_tests/fast/forms/search-click-in-placeholder.html +/sdcard/android/layout_tests/fast/forms/autofocus-opera-003.html +/sdcard/android/layout_tests/fast/forms/search-hidden-cancel-button.html +/sdcard/android/layout_tests/fast/forms/dragging-to-file-input.html +/sdcard/android/layout_tests/fast/forms/textarea-paste-newline.html +/sdcard/android/layout_tests/fast/forms/drag-into-textarea.html +/sdcard/android/layout_tests/fast/forms/onselect-textfield.html +/sdcard/android/layout_tests/fast/forms/input-implicit-length-limit.html +/sdcard/android/layout_tests/fast/forms/form-and-frame-interaction-retains-values.html +/sdcard/android/layout_tests/fast/forms/slider-transformed.html +/sdcard/android/layout_tests/fast/forms/listbox-select-all.html +/sdcard/android/layout_tests/fast/forms/textfield-onchange-deletion.html +/sdcard/android/layout_tests/fast/forms/focus-control-to-page.html +/sdcard/android/layout_tests/fast/forms/select-type-ahead-non-latin.html +/sdcard/android/layout_tests/fast/forms/textarea-no-scroll-on-blur.html +/sdcard/android/layout_tests/fast/forms/focus-selection-input.html +/sdcard/android/layout_tests/fast/forms/listbox-onchange.html +/sdcard/android/layout_tests/fast/forms/button-spacebar-click.html +/sdcard/android/layout_tests/fast/forms/search-event-delay.html +/sdcard/android/layout_tests/fast/forms/search-cancel-button-mouseup.html +/sdcard/android/layout_tests/fast/forms/select-enter-key.html +/sdcard/android/layout_tests/fast/forms/drag-out-of-textarea.html +/sdcard/android/layout_tests/fast/forms/textarea-hard-linewrap.html +/sdcard/android/layout_tests/fast/forms/dragging-to-disabled-file-input.html +/sdcard/android/layout_tests/fast/forms/input-radio-checked-tab.html +/sdcard/android/layout_tests/fast/forms/plaintext-mode-1.html +/sdcard/android/layout_tests/fast/forms/check-box-enter-key.html +/sdcard/android/layout_tests/fast/forms/input-select-on-click.html +/sdcard/android/layout_tests/fast/forms/button-state-restore.html +/sdcard/android/layout_tests/fast/forms/input-appearance-elementFromPoint.html +/sdcard/android/layout_tests/fast/forms/select-set-inner.html +/sdcard/android/layout_tests/fast/forms/missing-action.html +/sdcard/android/layout_tests/fast/forms/access-key.html +/sdcard/android/layout_tests/fast/forms/textarea-scrolled-endline-caret.html +/sdcard/android/layout_tests/fast/forms/textarea-scrollbar-height.html +/sdcard/android/layout_tests/fast/forms/textarea-type-spaces.html +/sdcard/android/layout_tests/fast/forms/slider-mouse-events.html +/sdcard/android/layout_tests/fast/forms/textarea-selection-preservation.html +/sdcard/android/layout_tests/fast/forms/slider-onchange-event.html +/sdcard/android/layout_tests/fast/forms/add-remove-form-elements-stress-test.html +/sdcard/android/layout_tests/fast/forms/onchange-enter-submit.html +/sdcard/android/layout_tests/fast/forms/textarea-appearance-wrap.html +/sdcard/android/layout_tests/fast/forms/willvalidate-006.html +/sdcard/android/layout_tests/fast/forms/onselect-textarea.html +/sdcard/android/layout_tests/fast/forms/textarea-initial-caret-position.html +/sdcard/android/layout_tests/fast/forms/listbox-selection.html +/sdcard/android/layout_tests/fast/css/variables/color-hex-test.html +/sdcard/android/layout_tests/fast/css/dashboard-region-parser.html +/sdcard/android/layout_tests/fast/css/text-align.html +/sdcard/android/layout_tests/fast/css/hover-affects-child.html +/sdcard/android/layout_tests/fast/css/html-attr-case-sensitivity.html +/sdcard/android/layout_tests/fast/css/computed-style.html +/sdcard/android/layout_tests/fast/css/getComputedStyle-transform.html +/sdcard/android/layout_tests/fast/css/computed-style-without-renderer.html +/sdcard/android/layout_tests/fast/css/invalid-percentage-property.html +/sdcard/android/layout_tests/fast/parser/entity-comment-in-iframe.html +/sdcard/android/layout_tests/fast/parser/external-entities.xml +/sdcard/android/layout_tests/fast/parser/script-tag-with-trailing-slash.html +/sdcard/android/layout_tests/fast/parser/comment-in-iframe.html +/sdcard/android/layout_tests/fast/parser/external-entities-in-xslt.xml +/sdcard/android/layout_tests/fast/parser/xml-declaration-missing-ending-mark.html +/sdcard/android/layout_tests/fast/parser/entity-end-script-tag.html +/sdcard/android/layout_tests/fast/parser/tabindex-parsing.html +/sdcard/android/layout_tests/fast/history/subframe-is-visited.html +/sdcard/android/layout_tests/fast/history/window-open.html +/sdcard/android/layout_tests/fast/history/history_reload.html +/sdcard/android/layout_tests/fast/history/go-back-to-changed-name.html +/sdcard/android/layout_tests/fast/loader/cancel-load-during-port-block-timer.html +/sdcard/android/layout_tests/fast/loader/local-iFrame-source-from-local.html +/sdcard/android/layout_tests/fast/loader/null-request-after-willSendRequest.html +/sdcard/android/layout_tests/fast/loader/stop-provisional-loads.html +/sdcard/android/layout_tests/fast/loader/xmlhttprequest-missing-file-exception.html +/sdcard/android/layout_tests/fast/loader/onunload-form-submit-crash-2.html +/sdcard/android/layout_tests/fast/loader/plain-text-document.html +/sdcard/android/layout_tests/fast/loader/onunload-form-submit-crash.html +/sdcard/android/layout_tests/fast/loader/frame-creation-removal.html +/sdcard/android/layout_tests/fast/loader/local-image-from-local.html +/sdcard/android/layout_tests/fast/loader/local-CSS-from-local.html +/sdcard/android/layout_tests/fast/loader/local-JavaScript-from-local.html +/sdcard/android/layout_tests/fast/loader/data-url-encoding-svg.html +/sdcard/android/layout_tests/fast/loader/opaque-base-url.html +/sdcard/android/layout_tests/fast/xsl/sort-locale.xml +/sdcard/android/layout_tests/fast/xsl/transformToFragment-XML-declaration.html +/sdcard/android/layout_tests/fast/xsl/extra-lf-at-end.html +/sdcard/android/layout_tests/fast/xsl/xslt-doc-noenc.xml +/sdcard/android/layout_tests/fast/xsl/import-after-comment.xml +/sdcard/android/layout_tests/fast/xsl/xslt-processor.html +/sdcard/android/layout_tests/fast/xsl/sort-unicode.xml +/sdcard/android/layout_tests/fast/xsl/default-html.html +/sdcard/android/layout_tests/fast/xsl/nbsp-in-stylesheet.html +/sdcard/android/layout_tests/fast/xsl/xslt-string-parameters.html +/sdcard/android/layout_tests/fast/xsl/xslt-entity-enc.xml +/sdcard/android/layout_tests/fast/xsl/xslt-text.html +/sdcard/android/layout_tests/fast/xsl/xslt-nested-stylesheets.xml +/sdcard/android/layout_tests/fast/xsl/xslt-url.xml +/sdcard/android/layout_tests/fast/xsl/xslt-doc-enc.xml +/sdcard/android/layout_tests/fast/xsl/xslt-recursion.xml +/sdcard/android/layout_tests/fast/xsl/exslt-node-set.xml +/sdcard/android/layout_tests/fast/xsl/subframe-location.html +/sdcard/android/layout_tests/fast/xsl/xslt-second-level-import.xml +/sdcard/android/layout_tests/fast/xsl/dtd-in-source-document.xml +/sdcard/android/layout_tests/fast/xsl/mozilla-tests.xml +/sdcard/android/layout_tests/fast/canvas/canvas-alphaImageData-behavior.html +/sdcard/android/layout_tests/fast/canvas/canvas-transform-non-invertible.html +/sdcard/android/layout_tests/fast/canvas/pointInPath.html +/sdcard/android/layout_tests/fast/canvas/canvas-transform-infinity.html +/sdcard/android/layout_tests/fast/canvas/toDataURL-supportedTypes.html +/sdcard/android/layout_tests/fast/canvas/canvas-getImageData.html +/sdcard/android/layout_tests/fast/canvas/canvas-transform-skewed.html +/sdcard/android/layout_tests/fast/canvas/canvas-longlived-context.html +/sdcard/android/layout_tests/fast/canvas/canvas-save-restore-with-path.html +/sdcard/android/layout_tests/fast/canvas/set-colors.html +/sdcard/android/layout_tests/fast/canvas/canvas-transform-nan.html +/sdcard/android/layout_tests/fast/canvas/canvas-transform-identity.html +/sdcard/android/layout_tests/fast/canvas/canvas-transform-multiply.html +/sdcard/android/layout_tests/fast/frames/viewsource-empty-attribute-value.html +/sdcard/android/layout_tests/fast/frames/frame-deep-nested-resize.html +/sdcard/android/layout_tests/fast/frames/iframe-window-focus.html +/sdcard/android/layout_tests/fast/frames/frameElement-widthheight.html +/sdcard/android/layout_tests/fast/frames/removal-before-attach-crash.html +/sdcard/android/layout_tests/fast/frames/frame-js-url-clientWidth.html +/sdcard/android/layout_tests/fast/frames/frame-length-fractional.html +/sdcard/android/layout_tests/fast/frames/frame-limit.html +/sdcard/android/layout_tests/fast/frames/frame-display-none-focus.html +/sdcard/android/layout_tests/fast/frames/iframe-name-and-id.html +/sdcard/android/layout_tests/fast/reflections/teardown-crash.html +/sdcard/android/layout_tests/fast/reflections/reflection-computed-style.html +/sdcard/android/layout_tests/transforms/2d/transform-2d.html +/sdcard/android/layout_tests/transforms/2d/compound-2d-transforms.html +/sdcard/android/layout_tests/transforms/2d/transform-value-types.html +/sdcard/android/layout_tests/transforms/2d/computed-style-origin.html +/sdcard/android/layout_tests/transforms/2d/transform-accuracy.html +/sdcard/android/layout_tests/wml/variable-reference-valid.html +/sdcard/android/layout_tests/wml/go-task-get-method-external-deck-with-href.html +/sdcard/android/layout_tests/wml/variable-reference-invalid-character.html +/sdcard/android/layout_tests/wml/go-task-animation.html +/sdcard/android/layout_tests/wml/go-task-get-method-external-deck.html +/sdcard/android/layout_tests/wml/go-task-get-method-same-deck.html +/sdcard/android/layout_tests/animations/animation-css-rule-types.html +/sdcard/android/layout_tests/animations/animation-events-create.html +/sdcard/android/layout_tests/animations/animation-start-event-destroy-renderer.html +/sdcard/android/layout_tests/animations/combo-transform-translate+scale.html +/sdcard/android/layout_tests/animations/simultaneous-start-transform.html +/sdcard/android/layout_tests/animations/lineheight-animation.html +/sdcard/android/layout_tests/animations/import.html +/sdcard/android/layout_tests/animations/simultaneous-start-left.html +/sdcard/android/layout_tests/animations/fill-unset-properties.html +/sdcard/android/layout_tests/animations/keyframes-to-missing.html +/sdcard/android/layout_tests/animations/multiple-keyframes.html +/sdcard/android/layout_tests/animations/matrix-anim.html +/sdcard/android/layout_tests/animations/keyframes-comma-separated.html +/sdcard/android/layout_tests/animations/change-one-anim.html +/sdcard/android/layout_tests/animations/keyframes-rule.html +/sdcard/android/layout_tests/animations/generic-from-to.html +/sdcard/android/layout_tests/animations/big-rotation.html +/sdcard/android/layout_tests/animations/animation-controller-drt-api.html +/sdcard/android/layout_tests/animations/keyframe-timing-functions.html +/sdcard/android/layout_tests/animations/keyframes-from-missing.html +/sdcard/android/layout_tests/animations/transition-and-animation-1.html +/sdcard/android/layout_tests/animations/computed-style.html +/sdcard/android/layout_tests/animations/animation-iteration-event-destroy-renderer.html +/sdcard/android/layout_tests/animations/keyframes.html +/sdcard/android/layout_tests/animations/multiple-animations.html +/sdcard/android/layout_tests/animations/animation-end-event-destroy-renderer.html +/sdcard/android/layout_tests/animations/change-keyframes-name.html +/sdcard/android/layout_tests/animations/combo-transform-rotate+scale.html +/sdcard/android/layout_tests/animations/change-keyframes.html +/sdcard/android/layout_tests/traversal/hixie-node-iterator/010.xml +/sdcard/android/layout_tests/traversal/hixie-node-iterator/001.xml +/sdcard/android/layout_tests/traversal/hixie-node-iterator/002.xml +/sdcard/android/layout_tests/traversal/hixie-node-iterator/003.xml +/sdcard/android/layout_tests/traversal/hixie-node-iterator/004.xml +/sdcard/android/layout_tests/traversal/hixie-node-iterator/005.xml +/sdcard/android/layout_tests/traversal/hixie-node-iterator/006.xml +/sdcard/android/layout_tests/traversal/hixie-node-iterator/007.xml +/sdcard/android/layout_tests/traversal/hixie-node-iterator/008.xml +/sdcard/android/layout_tests/traversal/hixie-node-iterator/009.xml +/sdcard/android/layout_tests/storage/domstorage/localstorage/index-get-and-set.html +/sdcard/android/layout_tests/storage/domstorage/localstorage/onstorage-attribute-setattribute.html +/sdcard/android/layout_tests/storage/domstorage/localstorage/clear.html +/sdcard/android/layout_tests/storage/domstorage/localstorage/enumerate-storage.html +/sdcard/android/layout_tests/storage/domstorage/localstorage/simple-usage.html +/sdcard/android/layout_tests/storage/domstorage/localstorage/simple-events.html +/sdcard/android/layout_tests/storage/domstorage/localstorage/onstorage-attribute-markup.html +/sdcard/android/layout_tests/storage/domstorage/localstorage/iframe-events.html +/sdcard/android/layout_tests/storage/domstorage/localstorage/delete-removal.html +/sdcard/android/layout_tests/storage/domstorage/localstorage/window-open.html +/sdcard/android/layout_tests/storage/domstorage/sessionstorage/index-get-and-set.html +/sdcard/android/layout_tests/storage/domstorage/sessionstorage/onstorage-attribute-setattribute.html +/sdcard/android/layout_tests/storage/domstorage/sessionstorage/clear.html +/sdcard/android/layout_tests/storage/domstorage/sessionstorage/enumerate-storage.html +/sdcard/android/layout_tests/storage/domstorage/sessionstorage/simple-usage.html +/sdcard/android/layout_tests/storage/domstorage/sessionstorage/simple-events.html +/sdcard/android/layout_tests/storage/domstorage/sessionstorage/onstorage-attribute-markup.html +/sdcard/android/layout_tests/storage/domstorage/sessionstorage/iframe-events.html +/sdcard/android/layout_tests/storage/domstorage/sessionstorage/delete-removal.html +/sdcard/android/layout_tests/storage/domstorage/sessionstorage/window-open.html +/sdcard/android/layout_tests/storage/domstorage/window-attributes-exist.html +/sdcard/android/layout_tests/storage/open-database-empty-version.html +/sdcard/android/layout_tests/storage/close-during-stress-test.html +/sdcard/android/layout_tests/storage/execute-sql-args.html +/sdcard/android/layout_tests/storage/quota-tracking.html +/sdcard/android/layout_tests/storage/transaction_callback_exception_crash.html +/sdcard/android/layout_tests/storage/multiple-databases-garbage-collection.html +/sdcard/android/layout_tests/storage/empty-statement.html +/sdcard/android/layout_tests/storage/multiple-transactions.html +/sdcard/android/layout_tests/storage/success-callback.html +/sdcard/android/layout_tests/storage/sql-data-types.html +/sdcard/android/layout_tests/security/set-form-autocomplete-attribute.html +/sdcard/android/layout_tests/security/autocomplete-cleared-on-back.html +/sdcard/android/layout_tests/security/block-test.html +/sdcard/android/layout_tests/transitions/transition-shorthand-delay.html +/sdcard/android/layout_tests/transitions/transition-drt-api-delay.html +/sdcard/android/layout_tests/transitions/opacity-transition-zindex.html +/sdcard/android/layout_tests/transitions/shorthand-transitions.html +/sdcard/android/layout_tests/transitions/hang-with-bad-transition-list.html +/sdcard/android/layout_tests/transitions/zero-duration-in-list.html +/sdcard/android/layout_tests/transitions/shorthand-border-transitions.html +/sdcard/android/layout_tests/transitions/zero-duration-with-non-zero-delay-end.html +/sdcard/android/layout_tests/transitions/repeated-firing-background-color.html +/sdcard/android/layout_tests/transitions/start-transform-transition.html diff --git a/tests/DumpRenderTree/assets/results/layout_tests_nontext.txt b/tests/DumpRenderTree/assets/results/layout_tests_nontext.txt index c9e166c..eb5b6e0 100644 --- a/tests/DumpRenderTree/assets/results/layout_tests_nontext.txt +++ b/tests/DumpRenderTree/assets/results/layout_tests_nontext.txt @@ -1,3 +1,770 @@ +/sdcard/android/layout_tests/webarchive/loading/cache-expired-subresource.html +/sdcard/android/layout_tests/webarchive/test-css-import.html +/sdcard/android/layout_tests/webarchive/test-img-src.html +/sdcard/android/layout_tests/webarchive/archive-empty-frame-dom.html +/sdcard/android/layout_tests/webarchive/test-frameset.html +/sdcard/android/layout_tests/webarchive/test-body-background.html +/sdcard/android/layout_tests/webarchive/test-input-src.html +/sdcard/android/layout_tests/webarchive/archive-empty-frame-source.html +/sdcard/android/layout_tests/webarchive/doctype.html +/sdcard/android/layout_tests/webarchive/test-css-url-resources-inline-styles.html +/sdcard/android/layout_tests/webarchive/test-table-background.html +/sdcard/android/layout_tests/webarchive/test-object-data.html +/sdcard/android/layout_tests/webarchive/test-css-url-resources-in-stylesheets.html +/sdcard/android/layout_tests/webarchive/archive-with-unencoded-url.html +/sdcard/android/layout_tests/webarchive/test-link-href.html +/sdcard/android/layout_tests/webarchive/test-duplicate-resources.html +/sdcard/android/layout_tests/webarchive/test-xml-stylesheet.xml +/sdcard/android/layout_tests/webarchive/test-td-background.html +/sdcard/android/layout_tests/webarchive/test-script-src.html +/sdcard/android/layout_tests/media/video-transformed.html +/sdcard/android/layout_tests/media/video-display-toggle.html +/sdcard/android/layout_tests/media/audio-controls-rendering.html +/sdcard/android/layout_tests/media/video-controls-visible-audio-only.html +/sdcard/android/layout_tests/media/video-zoom.html +/sdcard/android/layout_tests/media/video-controls-rendering.html +/sdcard/android/layout_tests/media/video-aspect-ratio.html +/sdcard/android/layout_tests/media/video-layer-crash.html +/sdcard/android/layout_tests/plugins/netscape-dom-access.html +/sdcard/android/layout_tests/plugins/embed-attributes-style.html +/sdcard/android/layout_tests/editing/input/emacs-ctrl-o.html +/sdcard/android/layout_tests/editing/style/style-3681552-fix-001.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-013.html +/sdcard/android/layout_tests/editing/style/style-3690704-fix.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-005.html +/sdcard/android/layout_tests/editing/style/style-boundary-002.html +/sdcard/android/layout_tests/editing/style/remove-underline-after-paragraph.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-009.html +/sdcard/android/layout_tests/editing/style/5228141.html +/sdcard/android/layout_tests/editing/style/block-style-004.html +/sdcard/android/layout_tests/editing/style/apple-style-editable-mix.html +/sdcard/android/layout_tests/editing/style/unbold-in-bold.html +/sdcard/android/layout_tests/editing/style/typing-style-001.html +/sdcard/android/layout_tests/editing/style/remove-underline-from-stylesheet.html +/sdcard/android/layout_tests/editing/style/relative-font-size-change-004.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-010.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-002.html +/sdcard/android/layout_tests/editing/style/style-3681552-fix-002.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-006.html +/sdcard/android/layout_tests/editing/style/style-boundary-003.html +/sdcard/android/layout_tests/editing/style/block-style-001.html +/sdcard/android/layout_tests/editing/style/smoosh-styles-001.html +/sdcard/android/layout_tests/editing/style/font-family-with-space.html +/sdcard/android/layout_tests/editing/style/5084241.html +/sdcard/android/layout_tests/editing/style/5065910.html +/sdcard/android/layout_tests/editing/style/block-style-005.html +/sdcard/android/layout_tests/editing/style/remove-underline-across-paragraph-in-bold.html +/sdcard/android/layout_tests/editing/style/5279521.html +/sdcard/android/layout_tests/editing/style/non-inheritable-styles.html +/sdcard/android/layout_tests/editing/style/5046875-1.html +/sdcard/android/layout_tests/editing/style/style-3998892-fix.html +/sdcard/android/layout_tests/editing/style/remove-underline-in-bold.html +/sdcard/android/layout_tests/editing/style/typing-style-002.html +/sdcard/android/layout_tests/editing/style/relative-font-size-change-001.html +/sdcard/android/layout_tests/editing/style/4916887.html +/sdcard/android/layout_tests/editing/style/remove-underline-across-paragraph.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-011.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-003.html +/sdcard/android/layout_tests/editing/style/remove-underline.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-007.html +/sdcard/android/layout_tests/editing/style/style-boundary-004.html +/sdcard/android/layout_tests/editing/style/5017613-1.html +/sdcard/android/layout_tests/editing/style/block-style-002.html +/sdcard/android/layout_tests/editing/style/smoosh-styles-002.html +/sdcard/android/layout_tests/editing/style/block-style-006.html +/sdcard/android/layout_tests/editing/style/fontsize-1.html +/sdcard/android/layout_tests/editing/style/5046875-2.html +/sdcard/android/layout_tests/editing/style/typing-style-003.html +/sdcard/android/layout_tests/editing/style/relative-font-size-change-002.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-012.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-004.html +/sdcard/android/layout_tests/editing/style/designmode.html +/sdcard/android/layout_tests/editing/style/block-styles-007.html +/sdcard/android/layout_tests/editing/style/style-boundary-001.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-008.html +/sdcard/android/layout_tests/editing/style/style-boundary-005.html +/sdcard/android/layout_tests/editing/style/underline.html +/sdcard/android/layout_tests/editing/style/5017613-2.html +/sdcard/android/layout_tests/editing/style/block-style-003.html +/sdcard/android/layout_tests/editing/style/smoosh-styles-003.html +/sdcard/android/layout_tests/editing/style/remove-underline-after-paragraph-in-bold.html +/sdcard/android/layout_tests/editing/style/highlight.html +/sdcard/android/layout_tests/editing/style/table-selection.html +/sdcard/android/layout_tests/editing/style/relative-font-size-change-003.html +/sdcard/android/layout_tests/editing/style/create-block-for-style-001.html +/sdcard/android/layout_tests/editing/unsupported-content/table-delete-001.html +/sdcard/android/layout_tests/editing/unsupported-content/table-type-after.html +/sdcard/android/layout_tests/editing/unsupported-content/table-delete-002.html +/sdcard/android/layout_tests/editing/unsupported-content/table-type-before.html +/sdcard/android/layout_tests/editing/unsupported-content/table-delete-003.html +/sdcard/android/layout_tests/editing/unsupported-content/list-delete-001.html +/sdcard/android/layout_tests/editing/unsupported-content/list-type-after.html +/sdcard/android/layout_tests/editing/unsupported-content/list-type-before.html +/sdcard/android/layout_tests/editing/unsupported-content/list-delete-003.html +/sdcard/android/layout_tests/editing/inserting/insert-div-011.html +/sdcard/android/layout_tests/editing/inserting/4960120-1.html +/sdcard/android/layout_tests/editing/inserting/insert-div-023.html +/sdcard/android/layout_tests/editing/inserting/insert-paragraph-04.html +/sdcard/android/layout_tests/editing/inserting/insert-div-007.html +/sdcard/android/layout_tests/editing/inserting/5058163-2.html +/sdcard/android/layout_tests/editing/inserting/insert-div-019.html +/sdcard/android/layout_tests/editing/inserting/insert-br-at-tabspan-003.html +/sdcard/android/layout_tests/editing/inserting/5607069-2.html +/sdcard/android/layout_tests/editing/inserting/insert-br-quoted-003.html +/sdcard/android/layout_tests/editing/inserting/insert-br-003.html +/sdcard/android/layout_tests/editing/inserting/4875189-1.html +/sdcard/android/layout_tests/editing/inserting/typing-003.html +/sdcard/android/layout_tests/editing/inserting/insert-3907422-fix.html +/sdcard/android/layout_tests/editing/inserting/insert-div-020.html +/sdcard/android/layout_tests/editing/inserting/before-after-input-element.html +/sdcard/android/layout_tests/editing/inserting/insert-div-004.html +/sdcard/android/layout_tests/editing/inserting/insert-paragraph-01.html +/sdcard/android/layout_tests/editing/inserting/insert-div-016.html +/sdcard/android/layout_tests/editing/inserting/4959067.html +/sdcard/android/layout_tests/editing/inserting/insert-br-008.html +/sdcard/android/layout_tests/editing/inserting/insert-text-at-tabspan-001.html +/sdcard/android/layout_tests/editing/inserting/insert-div-001.html +/sdcard/android/layout_tests/editing/inserting/paragraph-separator-02.html +/sdcard/android/layout_tests/editing/inserting/insert-div-013.html +/sdcard/android/layout_tests/editing/inserting/insert-div-025.html +/sdcard/android/layout_tests/editing/inserting/insert-3654864-fix.html +/sdcard/android/layout_tests/editing/inserting/insert-div-009.html +/sdcard/android/layout_tests/editing/inserting/return-key-with-selection-002.html +/sdcard/android/layout_tests/editing/inserting/editable-html-element.html +/sdcard/android/layout_tests/editing/inserting/5418891.html +/sdcard/android/layout_tests/editing/inserting/insert-br-quoted-005.html +/sdcard/android/layout_tests/editing/inserting/insert-tab-002.html +/sdcard/android/layout_tests/editing/inserting/insert-br-005.html +/sdcard/android/layout_tests/editing/inserting/line-break.html +/sdcard/android/layout_tests/editing/inserting/5549929-3.html +/sdcard/android/layout_tests/editing/inserting/typing-tab-designmode-forms.html +/sdcard/android/layout_tests/editing/inserting/insert-div-010.html +/sdcard/android/layout_tests/editing/inserting/insert-div-022.html +/sdcard/android/layout_tests/editing/inserting/insert-paragraph-03.html +/sdcard/android/layout_tests/editing/inserting/insert-div-006.html +/sdcard/android/layout_tests/editing/inserting/5058163-1.html +/sdcard/android/layout_tests/editing/inserting/insert-div-018.html +/sdcard/android/layout_tests/editing/inserting/paragraph-separator-in-table-2.html +/sdcard/android/layout_tests/editing/inserting/insert-br-at-tabspan-002.html +/sdcard/android/layout_tests/editing/inserting/insert-br-quoted-002.html +/sdcard/android/layout_tests/editing/inserting/insert-br-002.html +/sdcard/android/layout_tests/editing/inserting/typing-002.html +/sdcard/android/layout_tests/editing/inserting/insert-3800346-fix.html +/sdcard/android/layout_tests/editing/inserting/insert-text-at-tabspan-003.html +/sdcard/android/layout_tests/editing/inserting/typing-around-image-001.html +/sdcard/android/layout_tests/editing/inserting/insert-text-with-newlines.html +/sdcard/android/layout_tests/editing/inserting/insert-div-003.html +/sdcard/android/layout_tests/editing/inserting/insert-div-015.html +/sdcard/android/layout_tests/editing/inserting/insert-at-end-02.html +/sdcard/android/layout_tests/editing/inserting/insert-div-027.html +/sdcard/android/layout_tests/editing/inserting/insert-3659587-fix.html +/sdcard/android/layout_tests/editing/inserting/insert-br-007.html +/sdcard/android/layout_tests/editing/inserting/insert-tab-004.html +/sdcard/android/layout_tests/editing/inserting/editable-inline-element.html +/sdcard/android/layout_tests/editing/inserting/insert-3851164-fix.html +/sdcard/android/layout_tests/editing/inserting/paragraph-separator-01.html +/sdcard/android/layout_tests/editing/inserting/5156401-2.html +/sdcard/android/layout_tests/editing/inserting/4960120-2.html +/sdcard/android/layout_tests/editing/inserting/insert-div-012.html +/sdcard/android/layout_tests/editing/inserting/insert-div-024.html +/sdcard/android/layout_tests/editing/inserting/insert-div-008.html +/sdcard/android/layout_tests/editing/inserting/insert-paragraph-05.html +/sdcard/android/layout_tests/editing/inserting/multiple-lines-selected.html +/sdcard/android/layout_tests/editing/inserting/insert-3778059-fix.html +/sdcard/android/layout_tests/editing/inserting/return-key-with-selection-001.html +/sdcard/android/layout_tests/editing/inserting/5607069-3.html +/sdcard/android/layout_tests/editing/inserting/insert-br-quoted-004.html +/sdcard/android/layout_tests/editing/inserting/insert-br-004.html +/sdcard/android/layout_tests/editing/inserting/insert-tab-001.html +/sdcard/android/layout_tests/editing/inserting/4875189-2.html +/sdcard/android/layout_tests/editing/inserting/5549929-2.html +/sdcard/android/layout_tests/editing/inserting/editing-empty-divs.html +/sdcard/android/layout_tests/editing/inserting/insert-div-021.html +/sdcard/android/layout_tests/editing/inserting/insert-div-005.html +/sdcard/android/layout_tests/editing/inserting/insert-paragraph-02.html +/sdcard/android/layout_tests/editing/inserting/insert-3786362-fix.html +/sdcard/android/layout_tests/editing/inserting/insert-div-017.html +/sdcard/android/layout_tests/editing/inserting/paragraph-separator-in-table-1.html +/sdcard/android/layout_tests/editing/inserting/insert-br-at-tabspan-001.html +/sdcard/android/layout_tests/editing/inserting/insert-space-in-empty-doc.html +/sdcard/android/layout_tests/editing/inserting/insert-after-delete-001.html +/sdcard/android/layout_tests/editing/inserting/insert-br-quoted-001.html +/sdcard/android/layout_tests/editing/inserting/insert-br-001.html +/sdcard/android/layout_tests/editing/inserting/typing-001.html +/sdcard/android/layout_tests/editing/inserting/4278698.html +/sdcard/android/layout_tests/editing/inserting/insert-br-009.html +/sdcard/android/layout_tests/editing/inserting/insert-text-at-tabspan-002.html +/sdcard/android/layout_tests/editing/inserting/5002441.html +/sdcard/android/layout_tests/editing/inserting/insert-div-002.html +/sdcard/android/layout_tests/editing/inserting/paragraph-separator-03.html +/sdcard/android/layout_tests/editing/inserting/12882.html +/sdcard/android/layout_tests/editing/inserting/insert-3775316-fix.html +/sdcard/android/layout_tests/editing/inserting/edited-whitespace-1.html +/sdcard/android/layout_tests/editing/inserting/insert-div-014.html +/sdcard/android/layout_tests/editing/inserting/insert-at-end-01.html +/sdcard/android/layout_tests/editing/inserting/redo.html +/sdcard/android/layout_tests/editing/inserting/insert-div-026.html +/sdcard/android/layout_tests/editing/inserting/4840662.html +/sdcard/android/layout_tests/editing/inserting/typing-around-br-001.html +/sdcard/android/layout_tests/editing/inserting/return-key-with-selection-003.html +/sdcard/android/layout_tests/editing/inserting/insert-br-quoted-006.html +/sdcard/android/layout_tests/editing/inserting/insert-tab-003.html +/sdcard/android/layout_tests/editing/inserting/insert-br-006.html +/sdcard/android/layout_tests/editing/execCommand/5142012-1.html +/sdcard/android/layout_tests/editing/execCommand/hilitecolor.html +/sdcard/android/layout_tests/editing/execCommand/5120591.html +/sdcard/android/layout_tests/editing/execCommand/format-block-with-braces.html +/sdcard/android/layout_tests/editing/execCommand/4920742-1.html +/sdcard/android/layout_tests/editing/execCommand/4924441.html +/sdcard/android/layout_tests/editing/execCommand/create-list-with-hr.html +/sdcard/android/layout_tests/editing/execCommand/5207369.html +/sdcard/android/layout_tests/editing/execCommand/format-block-with-trailing-br.html +/sdcard/android/layout_tests/editing/execCommand/4916583.html +/sdcard/android/layout_tests/editing/execCommand/remove-formatting-2.html +/sdcard/android/layout_tests/editing/execCommand/outdent-selection.html +/sdcard/android/layout_tests/editing/execCommand/strikethroughSelection.html +/sdcard/android/layout_tests/editing/execCommand/insert-list-with-id.html +/sdcard/android/layout_tests/editing/execCommand/5432254-1.html +/sdcard/android/layout_tests/editing/execCommand/5482023.html +/sdcard/android/layout_tests/editing/execCommand/5062376.html +/sdcard/android/layout_tests/editing/execCommand/4786404-1.html +/sdcard/android/layout_tests/editing/execCommand/remove-formatting.html +/sdcard/android/layout_tests/editing/execCommand/findString.html +/sdcard/android/layout_tests/editing/execCommand/5142012-3.html +/sdcard/android/layout_tests/editing/execCommand/5700414-1.html +/sdcard/android/layout_tests/editing/execCommand/italicizeByCharacter.html +/sdcard/android/layout_tests/editing/execCommand/switch-list-type.html +/sdcard/android/layout_tests/editing/execCommand/create-list-from-range-selection.html +/sdcard/android/layout_tests/editing/execCommand/5190926.html +/sdcard/android/layout_tests/editing/execCommand/remove-list-1.html +/sdcard/android/layout_tests/editing/execCommand/insertHorizontalRule.html +/sdcard/android/layout_tests/editing/execCommand/paste-1.html +/sdcard/android/layout_tests/editing/execCommand/nsresponder-outdent.html +/sdcard/android/layout_tests/editing/execCommand/5080333-2.html +/sdcard/android/layout_tests/editing/execCommand/5119244.html +/sdcard/android/layout_tests/editing/execCommand/5049671.html +/sdcard/android/layout_tests/editing/execCommand/4920488.html +/sdcard/android/layout_tests/editing/execCommand/5164796.html +/sdcard/android/layout_tests/editing/execCommand/nsresponder-indent.html +/sdcard/android/layout_tests/editing/execCommand/indent-list-item.html +/sdcard/android/layout_tests/editing/execCommand/insert-list-empty-div.html +/sdcard/android/layout_tests/editing/execCommand/5138441.html +/sdcard/android/layout_tests/editing/execCommand/4916402.html +/sdcard/android/layout_tests/editing/execCommand/5481523.html +/sdcard/android/layout_tests/editing/execCommand/print.html +/sdcard/android/layout_tests/editing/execCommand/4641880-2.html +/sdcard/android/layout_tests/editing/execCommand/4580583-2.html +/sdcard/android/layout_tests/editing/execCommand/remove-list-item-1.html +/sdcard/android/layout_tests/editing/execCommand/5569741.html +/sdcard/android/layout_tests/editing/execCommand/findString-2.html +/sdcard/android/layout_tests/editing/execCommand/modifyForeColorByCharacter.html +/sdcard/android/layout_tests/editing/execCommand/5142012-2.html +/sdcard/android/layout_tests/editing/execCommand/find-after-replace.html +/sdcard/android/layout_tests/editing/execCommand/format-block.html +/sdcard/android/layout_tests/editing/execCommand/5080333-1.html +/sdcard/android/layout_tests/editing/execCommand/remove-list-from-range-selection.html +/sdcard/android/layout_tests/editing/execCommand/remove-list-items.html +/sdcard/android/layout_tests/editing/execCommand/5432254-2.html +/sdcard/android/layout_tests/editing/execCommand/5144139-1.html +/sdcard/android/layout_tests/editing/execCommand/5136770.html +/sdcard/android/layout_tests/editing/execCommand/4916541.html +/sdcard/android/layout_tests/editing/execCommand/4786404-2.html +/sdcard/android/layout_tests/editing/execCommand/insertImage.html +/sdcard/android/layout_tests/editing/execCommand/insert-list-and-stitch.html +/sdcard/android/layout_tests/editing/execCommand/5573879.html +/sdcard/android/layout_tests/editing/execCommand/5210032.html +/sdcard/android/layout_tests/editing/execCommand/5700414-2.html +/sdcard/android/layout_tests/editing/execCommand/boldSelection.html +/sdcard/android/layout_tests/editing/execCommand/insertHTML.html +/sdcard/android/layout_tests/editing/execCommand/4641880-1.html +/sdcard/android/layout_tests/editing/execCommand/4747450.html +/sdcard/android/layout_tests/editing/execCommand/4580583-1.html +/sdcard/android/layout_tests/editing/execCommand/format-block-from-range-selection.html +/sdcard/android/layout_tests/editing/execCommand/indent-empty-root.html +/sdcard/android/layout_tests/editing/execCommand/indent-selection.html +/sdcard/android/layout_tests/editing/execCommand/selectAll.html +/sdcard/android/layout_tests/editing/execCommand/paste-2.html +/sdcard/android/layout_tests/editing/pasteboard/subframe-dragndrop-1.html +/sdcard/android/layout_tests/editing/pasteboard/innerText-inline-table.html +/sdcard/android/layout_tests/editing/pasteboard/5156401-1.html +/sdcard/android/layout_tests/editing/pasteboard/paste-list-001.html +/sdcard/android/layout_tests/editing/pasteboard/5032095.html +/sdcard/android/layout_tests/editing/pasteboard/4242293-1.html +/sdcard/android/layout_tests/editing/pasteboard/paste-line-endings-004.html +/sdcard/android/layout_tests/editing/pasteboard/5247341.html +/sdcard/android/layout_tests/editing/pasteboard/paste-4035648-fix.html +/sdcard/android/layout_tests/editing/pasteboard/4700297.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-003.html +/sdcard/android/layout_tests/editing/pasteboard/drop-link.html +/sdcard/android/layout_tests/editing/pasteboard/paste-blockquote-into-blockquote-3.html +/sdcard/android/layout_tests/editing/pasteboard/paste-blockquote-into-blockquote.html +/sdcard/android/layout_tests/editing/pasteboard/4944770-1.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-015.html +/sdcard/android/layout_tests/editing/pasteboard/5075944.html +/sdcard/android/layout_tests/editing/pasteboard/paste-match-style-001.html +/sdcard/android/layout_tests/editing/pasteboard/paste-4039777-fix.html +/sdcard/android/layout_tests/editing/pasteboard/merge-end-3.html +/sdcard/android/layout_tests/editing/pasteboard/smart-paste-007.html +/sdcard/android/layout_tests/editing/pasteboard/5483567.html +/sdcard/android/layout_tests/editing/pasteboard/7955.html +/sdcard/android/layout_tests/editing/pasteboard/merge-end-blockquote.html +/sdcard/android/layout_tests/editing/pasteboard/testcase-9507.html +/sdcard/android/layout_tests/editing/pasteboard/input-field-1.html +/sdcard/android/layout_tests/editing/pasteboard/paste-line-endings-001.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-at-tabspan-001.html +/sdcard/android/layout_tests/editing/pasteboard/interchange-newline-2.html +/sdcard/android/layout_tests/editing/pasteboard/block-wrappers-necessary.html +/sdcard/android/layout_tests/editing/pasteboard/4861080.html +/sdcard/android/layout_tests/editing/pasteboard/paste-line-endings-009.html +/sdcard/android/layout_tests/editing/pasteboard/merge-after-delete.html +/sdcard/android/layout_tests/editing/pasteboard/5478250.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-012.html +/sdcard/android/layout_tests/editing/pasteboard/prevent-block-nesting-01.html +/sdcard/android/layout_tests/editing/pasteboard/8145-2.html +/sdcard/android/layout_tests/editing/pasteboard/merge-end-borders.html +/sdcard/android/layout_tests/editing/pasteboard/5027857.html +/sdcard/android/layout_tests/editing/pasteboard/smart-paste-004.html +/sdcard/android/layout_tests/editing/pasteboard/merge-start-list.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-008.html +/sdcard/android/layout_tests/editing/pasteboard/4806874.html +/sdcard/android/layout_tests/editing/pasteboard/emacs-ctrl-a-k-y.html +/sdcard/android/layout_tests/editing/pasteboard/bad-placeholder.html +/sdcard/android/layout_tests/editing/pasteboard/displaced-placeholder.html +/sdcard/android/layout_tests/editing/pasteboard/5387578.html +/sdcard/android/layout_tests/editing/pasteboard/paste-blockquote-1.html +/sdcard/android/layout_tests/editing/pasteboard/paste-line-endings-010.html +/sdcard/android/layout_tests/editing/pasteboard/paste-line-endings-006.html +/sdcard/android/layout_tests/editing/pasteboard/5601583-1.html +/sdcard/android/layout_tests/editing/pasteboard/4947130.html +/sdcard/android/layout_tests/editing/pasteboard/pasting-tabs.html +/sdcard/android/layout_tests/editing/pasteboard/merge-after-delete-2.html +/sdcard/android/layout_tests/editing/pasteboard/smart-paste-001.html +/sdcard/android/layout_tests/editing/pasteboard/4076267-2.html +/sdcard/android/layout_tests/editing/pasteboard/paste-table-001.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-005.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-017.html +/sdcard/android/layout_tests/editing/pasteboard/merge-end-5.html +/sdcard/android/layout_tests/editing/pasteboard/drop-text-without-selection.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-at-tabspan-003.html +/sdcard/android/layout_tests/editing/pasteboard/paste-line-endings-003.html +/sdcard/android/layout_tests/editing/pasteboard/drag-drop-modifies-page.html +/sdcard/android/layout_tests/editing/pasteboard/emacs-ctrl-k-y-001.html +/sdcard/android/layout_tests/editing/pasteboard/5071074.html +/sdcard/android/layout_tests/editing/pasteboard/interchange-newline-4.html +/sdcard/android/layout_tests/editing/pasteboard/styled-element-markup.html +/sdcard/android/layout_tests/editing/pasteboard/paste-4038267-fix.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-002.html +/sdcard/android/layout_tests/editing/pasteboard/paste-blockquote-into-blockquote-2.html +/sdcard/android/layout_tests/editing/pasteboard/paste-pre-002.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-014.html +/sdcard/android/layout_tests/editing/pasteboard/drag-drop-dead-frame.html +/sdcard/android/layout_tests/editing/pasteboard/merge-end-2.html +/sdcard/android/layout_tests/editing/pasteboard/smart-paste-006.html +/sdcard/android/layout_tests/editing/pasteboard/5368833.html +/sdcard/android/layout_tests/editing/pasteboard/select-element-1.html +/sdcard/android/layout_tests/editing/pasteboard/paste-blockquote-3.html +/sdcard/android/layout_tests/editing/pasteboard/4641033.html +/sdcard/android/layout_tests/editing/pasteboard/drag-image-to-contenteditable-in-iframe.html +/sdcard/android/layout_tests/editing/pasteboard/interchange-newline-1.html +/sdcard/android/layout_tests/editing/pasteboard/copy-paste-bidi.html +/sdcard/android/layout_tests/editing/pasteboard/paste-line-endings-008.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-011.html +/sdcard/android/layout_tests/editing/pasteboard/8145-1.html +/sdcard/android/layout_tests/editing/pasteboard/smart-paste-003.html +/sdcard/android/layout_tests/editing/pasteboard/paste-table-003.html +/sdcard/android/layout_tests/editing/pasteboard/5075944-3.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-007.html +/sdcard/android/layout_tests/editing/pasteboard/paste-TIFF.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-019.html +/sdcard/android/layout_tests/editing/pasteboard/undoable-fragment-removes.html +/sdcard/android/layout_tests/editing/pasteboard/nested-blocks-with-text-field.html +/sdcard/android/layout_tests/editing/pasteboard/4989774.html +/sdcard/android/layout_tests/editing/pasteboard/paste-unrendered-select.html +/sdcard/android/layout_tests/editing/pasteboard/paste-line-endings-005.html +/sdcard/android/layout_tests/editing/pasteboard/emacs-cntl-y-001.html +/sdcard/android/layout_tests/editing/pasteboard/merge-after-delete-1.html +/sdcard/android/layout_tests/editing/pasteboard/unrendered-br.html +/sdcard/android/layout_tests/editing/pasteboard/4631972.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-004.html +/sdcard/android/layout_tests/editing/pasteboard/quirks-mode-br-1.html +/sdcard/android/layout_tests/editing/pasteboard/paste-blockquote-into-blockquote-4.html +/sdcard/android/layout_tests/editing/pasteboard/4944770-2.html +/sdcard/android/layout_tests/editing/pasteboard/paste-table-cells.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-016.html +/sdcard/android/layout_tests/editing/pasteboard/paste-match-style-002.html +/sdcard/android/layout_tests/editing/pasteboard/merge-end-4.html +/sdcard/android/layout_tests/editing/pasteboard/drag-selected-image-to-contenteditable.html +/sdcard/android/layout_tests/editing/pasteboard/smart-paste-008.html +/sdcard/android/layout_tests/editing/pasteboard/3976872.html +/sdcard/android/layout_tests/editing/pasteboard/pasting-object.html +/sdcard/android/layout_tests/editing/pasteboard/merge-end-list.html +/sdcard/android/layout_tests/editing/pasteboard/copy-standalone-image.html +/sdcard/android/layout_tests/editing/pasteboard/displaced-generic-placeholder.html +/sdcard/android/layout_tests/editing/pasteboard/paste-line-endings-002.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-at-tabspan-002.html +/sdcard/android/layout_tests/editing/pasteboard/interchange-newline-3.html +/sdcard/android/layout_tests/editing/pasteboard/5071074-2.html +/sdcard/android/layout_tests/editing/pasteboard/display-block-on-spans.html +/sdcard/android/layout_tests/editing/pasteboard/4242293.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-001.html +/sdcard/android/layout_tests/editing/pasteboard/paste-pre-001.html +/sdcard/android/layout_tests/editing/pasteboard/merge-start-blockquote.html +/sdcard/android/layout_tests/editing/pasteboard/merge-end-1.html +/sdcard/android/layout_tests/editing/pasteboard/8145-3.html +/sdcard/android/layout_tests/editing/pasteboard/5006779.html +/sdcard/android/layout_tests/editing/pasteboard/smart-paste-005.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-009.html +/sdcard/android/layout_tests/editing/pasteboard/paste-blockquote-2.html +/sdcard/android/layout_tests/editing/pasteboard/merge-end-table.html +/sdcard/android/layout_tests/editing/pasteboard/5065605.html +/sdcard/android/layout_tests/editing/pasteboard/paste-line-endings-007.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-010.html +/sdcard/android/layout_tests/editing/pasteboard/5028447.html +/sdcard/android/layout_tests/editing/pasteboard/nested-blocks-with-text-area.html +/sdcard/android/layout_tests/editing/pasteboard/4076267-3.html +/sdcard/android/layout_tests/editing/pasteboard/4076267.html +/sdcard/android/layout_tests/editing/pasteboard/smart-paste-002.html +/sdcard/android/layout_tests/editing/pasteboard/5075944-2.html +/sdcard/android/layout_tests/editing/pasteboard/5134759.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-006.html +/sdcard/android/layout_tests/editing/pasteboard/paste-text-018.html +/sdcard/android/layout_tests/editing/pasteboard/paste-RTFD.html +/sdcard/android/layout_tests/editing/pasteboard/cut-text-001.html +/sdcard/android/layout_tests/editing/selection/image-before-linebreak.html +/sdcard/android/layout_tests/editing/selection/mixed-editability-9.html +/sdcard/android/layout_tests/editing/selection/move-between-blocks-no-001.html +/sdcard/android/layout_tests/editing/selection/fake-drag.html +/sdcard/android/layout_tests/editing/selection/wrapped-line-caret-2.html +/sdcard/android/layout_tests/editing/selection/5131716-3.html +/sdcard/android/layout_tests/editing/selection/5081257-2.html +/sdcard/android/layout_tests/editing/selection/3690703-2.html +/sdcard/android/layout_tests/editing/selection/unrendered-002.html +/sdcard/android/layout_tests/editing/selection/extend-by-character-005.html +/sdcard/android/layout_tests/editing/selection/5354455-1.html +/sdcard/android/layout_tests/editing/selection/caret-rtl-2.html +/sdcard/android/layout_tests/editing/selection/paragraph-granularity.html +/sdcard/android/layout_tests/editing/selection/expanding-selections2.html +/sdcard/android/layout_tests/editing/selection/clear-selection.html +/sdcard/android/layout_tests/editing/selection/mixed-editability-6.html +/sdcard/android/layout_tests/editing/selection/display-table-text.html +/sdcard/android/layout_tests/editing/selection/13804.html +/sdcard/android/layout_tests/editing/selection/drag-in-iframe.html +/sdcard/android/layout_tests/editing/selection/table-caret-2.html +/sdcard/android/layout_tests/editing/selection/expanding-selections.html +/sdcard/android/layout_tests/editing/selection/unrendered-space.html +/sdcard/android/layout_tests/editing/selection/node-removal-1.html +/sdcard/android/layout_tests/editing/selection/5240265.html +/sdcard/android/layout_tests/editing/selection/select-all-005.html +/sdcard/android/layout_tests/editing/selection/extend-by-character-002.html +/sdcard/android/layout_tests/editing/selection/4932260-2.html +/sdcard/android/layout_tests/editing/selection/5076323-3.html +/sdcard/android/layout_tests/editing/selection/select-element-paragraph-boundary.html +/sdcard/android/layout_tests/editing/selection/line-wrap-1.html +/sdcard/android/layout_tests/editing/selection/replace-selection-1.html +/sdcard/android/layout_tests/editing/selection/caret-rtl.html +/sdcard/android/layout_tests/editing/selection/5109817.html +/sdcard/android/layout_tests/editing/selection/extend-by-sentence-001.html +/sdcard/android/layout_tests/editing/selection/3690719.html +/sdcard/android/layout_tests/editing/selection/5136696.html +/sdcard/android/layout_tests/editing/selection/editable-non-editable-crash.html +/sdcard/android/layout_tests/editing/selection/4397952.html +/sdcard/android/layout_tests/editing/selection/mixed-editability-3.html +/sdcard/android/layout_tests/editing/selection/caret-and-focus-ring.html +/sdcard/android/layout_tests/editing/selection/4895428-4.html +/sdcard/android/layout_tests/editing/selection/replaced-boundaries-3.html +/sdcard/android/layout_tests/editing/selection/4947387.html +/sdcard/android/layout_tests/editing/selection/move-by-sentence-linebreak.html +/sdcard/android/layout_tests/editing/selection/move-by-character-005.html +/sdcard/android/layout_tests/editing/selection/select-from-textfield-outwards.html +/sdcard/android/layout_tests/editing/selection/leave-requested-block.html +/sdcard/android/layout_tests/editing/selection/select-all-002.html +/sdcard/android/layout_tests/editing/selection/end-of-document.html +/sdcard/android/layout_tests/editing/selection/selectNode.html +/sdcard/android/layout_tests/editing/selection/editable-links.html +/sdcard/android/layout_tests/editing/selection/unrendered-004.html +/sdcard/android/layout_tests/editing/selection/7152-2.html +/sdcard/android/layout_tests/editing/selection/5195166-1.html +/sdcard/android/layout_tests/editing/selection/editable-html-element.html +/sdcard/android/layout_tests/editing/selection/4895428-1.html +/sdcard/android/layout_tests/editing/selection/4866671.html +/sdcard/android/layout_tests/editing/selection/move-by-character-002.html +/sdcard/android/layout_tests/editing/selection/extend-by-word-002.html +/sdcard/android/layout_tests/editing/selection/mixed-editability-8.html +/sdcard/android/layout_tests/editing/selection/wrapped-line-caret-1.html +/sdcard/android/layout_tests/editing/selection/selection-actions.html +/sdcard/android/layout_tests/editing/selection/14971.html +/sdcard/android/layout_tests/editing/selection/5131716-2.html +/sdcard/android/layout_tests/editing/selection/4402375.html +/sdcard/android/layout_tests/editing/selection/unrendered-001.html +/sdcard/android/layout_tests/editing/selection/move-3875641-fix.html +/sdcard/android/layout_tests/editing/selection/5081257-1.html +/sdcard/android/layout_tests/editing/selection/extend-by-character-004.html +/sdcard/android/layout_tests/editing/selection/5099303.html +/sdcard/android/layout_tests/editing/selection/contenteditable-click-inside.html +/sdcard/android/layout_tests/editing/selection/move-by-line-002.html +/sdcard/android/layout_tests/editing/selection/addRange.html +/sdcard/android/layout_tests/editing/selection/select-missing-image.html +/sdcard/android/layout_tests/editing/selection/selection-3748164-fix.html +/sdcard/android/layout_tests/editing/selection/mixed-editability-5.html +/sdcard/android/layout_tests/editing/selection/4983858.html +/sdcard/android/layout_tests/editing/selection/move-by-sentence-001.html +/sdcard/android/layout_tests/editing/selection/table-caret-1.html +/sdcard/android/layout_tests/editing/selection/5007143.html +/sdcard/android/layout_tests/editing/selection/fake-doubleclick.html +/sdcard/android/layout_tests/editing/selection/move-by-word-001.html +/sdcard/android/layout_tests/editing/selection/select-all-004.html +/sdcard/android/layout_tests/editing/selection/extend-by-character-001.html +/sdcard/android/layout_tests/editing/selection/4932260-1.html +/sdcard/android/layout_tests/editing/selection/5076323-2.html +/sdcard/android/layout_tests/editing/selection/5234383-2.html +/sdcard/android/layout_tests/editing/selection/5057506.html +/sdcard/android/layout_tests/editing/selection/focus_editable_html.html +/sdcard/android/layout_tests/editing/selection/move-3875618-fix.html +/sdcard/android/layout_tests/editing/selection/4818145.html +/sdcard/android/layout_tests/editing/selection/move-backwords-by-word-001.html +/sdcard/android/layout_tests/editing/selection/inline-table.html +/sdcard/android/layout_tests/editing/selection/mixed-editability-2.html +/sdcard/android/layout_tests/editing/selection/4895428-3.html +/sdcard/android/layout_tests/editing/selection/replaced-boundaries-2.html +/sdcard/android/layout_tests/editing/selection/move-by-character-004.html +/sdcard/android/layout_tests/editing/selection/caret-before-select.html +/sdcard/android/layout_tests/editing/selection/4889598.html +/sdcard/android/layout_tests/editing/selection/select-all-001.html +/sdcard/android/layout_tests/editing/selection/5131716-4.html +/sdcard/android/layout_tests/editing/selection/3690703.html +/sdcard/android/layout_tests/editing/selection/5333725.html +/sdcard/android/layout_tests/editing/selection/unrendered-003.html +/sdcard/android/layout_tests/editing/selection/extend-by-character-006.html +/sdcard/android/layout_tests/editing/selection/7152-1.html +/sdcard/android/layout_tests/editing/selection/5213963.html +/sdcard/android/layout_tests/editing/selection/5354455-2.html +/sdcard/android/layout_tests/editing/selection/selection-background.html +/sdcard/android/layout_tests/editing/selection/iframe.html +/sdcard/android/layout_tests/editing/selection/extend-by-word-001.html +/sdcard/android/layout_tests/editing/selection/move-by-character-001.html +/sdcard/android/layout_tests/editing/selection/mixed-editability-7.html +/sdcard/android/layout_tests/editing/selection/doubleclick-crash.html +/sdcard/android/layout_tests/editing/selection/table-caret-3.html +/sdcard/android/layout_tests/editing/selection/5131716-1.html +/sdcard/android/layout_tests/editing/selection/select-all-iframe.html +/sdcard/android/layout_tests/editing/selection/node-removal-2.html +/sdcard/android/layout_tests/editing/selection/drag-select-1.html +/sdcard/android/layout_tests/editing/selection/select-all-006.html +/sdcard/android/layout_tests/editing/selection/extend-by-character-003.html +/sdcard/android/layout_tests/editing/selection/4932260-3.html +/sdcard/android/layout_tests/editing/selection/4960116.html +/sdcard/android/layout_tests/editing/selection/after-line-wrap.html +/sdcard/android/layout_tests/editing/selection/line-wrap-2.html +/sdcard/android/layout_tests/editing/selection/drag-to-contenteditable-iframe.html +/sdcard/android/layout_tests/editing/selection/move-by-line-001.html +/sdcard/android/layout_tests/editing/selection/selectNodeContents.html +/sdcard/android/layout_tests/editing/selection/move-between-blocks-yes-001.html +/sdcard/android/layout_tests/editing/selection/6476.html +/sdcard/android/layout_tests/editing/selection/contains-boundaries.html +/sdcard/android/layout_tests/editing/selection/click-start-of-line.html +/sdcard/android/layout_tests/editing/selection/mixed-editability-4.html +/sdcard/android/layout_tests/editing/selection/focus-body.html +/sdcard/android/layout_tests/editing/selection/triple-click-in-pre.html +/sdcard/android/layout_tests/editing/selection/move-past-trailing-space.html +/sdcard/android/layout_tests/editing/selection/inline-closest-leaf-child.html +/sdcard/android/layout_tests/editing/selection/5007143-2.html +/sdcard/android/layout_tests/editing/selection/designmode-no-caret.html +/sdcard/android/layout_tests/editing/selection/select-all-003.html +/sdcard/android/layout_tests/editing/selection/5076323-1.html +/sdcard/android/layout_tests/editing/selection/5234383-1.html +/sdcard/android/layout_tests/editing/selection/5057506-2.html +/sdcard/android/layout_tests/editing/selection/5232159.html +/sdcard/android/layout_tests/editing/selection/4975120.html +/sdcard/android/layout_tests/editing/selection/4960137.html +/sdcard/android/layout_tests/editing/selection/unrendered-005.html +/sdcard/android/layout_tests/editing/selection/5195166-2.html +/sdcard/android/layout_tests/editing/selection/contenteditable-click-outside.html +/sdcard/android/layout_tests/editing/selection/previous-line-position.html +/sdcard/android/layout_tests/editing/selection/mixed-editability-1.html +/sdcard/android/layout_tests/editing/selection/select-box.html +/sdcard/android/layout_tests/editing/selection/4895428-2.html +/sdcard/android/layout_tests/editing/selection/replaced-boundaries-1.html +/sdcard/android/layout_tests/editing/selection/4776665.html +/sdcard/android/layout_tests/editing/selection/move-by-character-003.html +/sdcard/android/layout_tests/editing/selection/word-granularity.html +/sdcard/android/layout_tests/editing/selection/move-by-character-6.html +/sdcard/android/layout_tests/editing/undo/undo-misspellings.html +/sdcard/android/layout_tests/editing/undo/undo-combined-delete.html +/sdcard/android/layout_tests/editing/undo/undo-delete-boundary.html +/sdcard/android/layout_tests/editing/undo/undo-forward-delete-boundary.html +/sdcard/android/layout_tests/editing/undo/4063751.html +/sdcard/android/layout_tests/editing/undo/redo-typing-001.html +/sdcard/android/layout_tests/editing/undo/5378473.html +/sdcard/android/layout_tests/editing/undo/undo-combined-delete-boundary.html +/sdcard/android/layout_tests/editing/undo/undo-delete.html +/sdcard/android/layout_tests/editing/undo/undo-forward-delete.html +/sdcard/android/layout_tests/editing/undo/undo-typing-001.html +/sdcard/android/layout_tests/editing/deleting/delete-3608462-fix.html +/sdcard/android/layout_tests/editing/deleting/delete-image-001.html +/sdcard/android/layout_tests/editing/deleting/delete-3928305-fix.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-012.html +/sdcard/android/layout_tests/editing/deleting/5115601.html +/sdcard/android/layout_tests/editing/deleting/deletionUI-single-instance.html +/sdcard/android/layout_tests/editing/deleting/delete-block-contents-001.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-024.html +/sdcard/android/layout_tests/editing/deleting/delete-after-span-ws-001.html +/sdcard/android/layout_tests/editing/deleting/delete-line-011.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-008.html +/sdcard/android/layout_tests/editing/deleting/delete-listitem-001.html +/sdcard/android/layout_tests/editing/deleting/5300379.html +/sdcard/android/layout_tests/editing/deleting/delete-line-007.html +/sdcard/android/layout_tests/editing/deleting/5433862-2.html +/sdcard/android/layout_tests/editing/deleting/5026848-1.html +/sdcard/android/layout_tests/editing/deleting/delete-at-paragraph-boundaries-003.html +/sdcard/android/layout_tests/editing/deleting/delete-br-012.html +/sdcard/android/layout_tests/editing/deleting/delete-br-008.html +/sdcard/android/layout_tests/editing/deleting/5206311-2.html +/sdcard/android/layout_tests/editing/deleting/delete-at-start-or-end.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-021.html +/sdcard/android/layout_tests/editing/deleting/delete-ws-fixup-004.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-005.html +/sdcard/android/layout_tests/editing/deleting/delete-select-all-003.html +/sdcard/android/layout_tests/editing/deleting/smart-delete-002.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-017.html +/sdcard/android/layout_tests/editing/deleting/table-cells.html +/sdcard/android/layout_tests/editing/deleting/5156801-2.html +/sdcard/android/layout_tests/editing/deleting/delete-leading-ws-001.html +/sdcard/android/layout_tests/editing/deleting/delete-line-004.html +/sdcard/android/layout_tests/editing/deleting/delete-3857753-fix.html +/sdcard/android/layout_tests/editing/deleting/delete-3959464-fix.html +/sdcard/android/layout_tests/editing/deleting/delete-line-016.html +/sdcard/android/layout_tests/editing/deleting/delete-trailing-ws-001.html +/sdcard/android/layout_tests/editing/deleting/delete-br-005.html +/sdcard/android/layout_tests/editing/deleting/delete-at-paragraph-boundaries-008.html +/sdcard/android/layout_tests/editing/deleting/delete-tab-004.html +/sdcard/android/layout_tests/editing/deleting/merge-whitespace-pre.html +/sdcard/android/layout_tests/editing/deleting/delete-ws-fixup-001.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-002.html +/sdcard/android/layout_tests/editing/deleting/delete-line-end-ws-002.html +/sdcard/android/layout_tests/editing/deleting/merge-unrendered-space.html +/sdcard/android/layout_tests/editing/deleting/delete-by-word-002.html +/sdcard/android/layout_tests/editing/deleting/delete-image-003.html +/sdcard/android/layout_tests/editing/deleting/delete-selection-001.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-014.html +/sdcard/android/layout_tests/editing/deleting/merge-different-styles.html +/sdcard/android/layout_tests/editing/deleting/delete-block-contents-003.html +/sdcard/android/layout_tests/editing/deleting/delete-line-001.html +/sdcard/android/layout_tests/editing/deleting/delete-after-span-ws-003.html +/sdcard/android/layout_tests/editing/deleting/delete-line-013.html +/sdcard/android/layout_tests/editing/deleting/merge-into-empty-block-1.html +/sdcard/android/layout_tests/editing/deleting/5156801.html +/sdcard/android/layout_tests/editing/deleting/delete-3865854-fix.html +/sdcard/android/layout_tests/editing/deleting/delete-line-009.html +/sdcard/android/layout_tests/editing/deleting/5026848-3.html +/sdcard/android/layout_tests/editing/deleting/delete-at-paragraph-boundaries-005.html +/sdcard/android/layout_tests/editing/deleting/delete-br-002.html +/sdcard/android/layout_tests/editing/deleting/delete-tab-001.html +/sdcard/android/layout_tests/editing/deleting/4866671.html +/sdcard/android/layout_tests/editing/deleting/whitespace-pre-1.html +/sdcard/android/layout_tests/editing/deleting/delete-block-table.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-011.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-023.html +/sdcard/android/layout_tests/editing/deleting/delete-line-010.html +/sdcard/android/layout_tests/editing/deleting/5032066.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-007.html +/sdcard/android/layout_tests/editing/deleting/smart-delete-004.html +/sdcard/android/layout_tests/editing/deleting/5144139-2.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-019.html +/sdcard/android/layout_tests/editing/deleting/delete-line-006.html +/sdcard/android/layout_tests/editing/deleting/5126166.html +/sdcard/android/layout_tests/editing/deleting/delete-to-end-of-paragraph.html +/sdcard/android/layout_tests/editing/deleting/5408255.html +/sdcard/android/layout_tests/editing/deleting/5099303.html +/sdcard/android/layout_tests/editing/deleting/4845371.html +/sdcard/android/layout_tests/editing/deleting/delete-at-paragraph-boundaries-002.html +/sdcard/android/layout_tests/editing/deleting/4922367.html +/sdcard/android/layout_tests/editing/deleting/delete-br-011.html +/sdcard/android/layout_tests/editing/deleting/delete-br-007.html +/sdcard/android/layout_tests/editing/deleting/move-nodes-001.html +/sdcard/android/layout_tests/editing/deleting/merge-no-br.html +/sdcard/android/layout_tests/editing/deleting/delete-3800834-fix.html +/sdcard/android/layout_tests/editing/deleting/delete-4038408-fix.html +/sdcard/android/layout_tests/editing/deleting/5206311-1.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-020.html +/sdcard/android/layout_tests/editing/deleting/delete-ws-fixup-003.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-004.html +/sdcard/android/layout_tests/editing/deleting/smart-delete-001.html +/sdcard/android/layout_tests/editing/deleting/delete-to-select-table.html +/sdcard/android/layout_tests/editing/deleting/delete-select-all-002.html +/sdcard/android/layout_tests/editing/deleting/delete-contiguous-ws-001.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-016.html +/sdcard/android/layout_tests/editing/deleting/delete-line-003.html +/sdcard/android/layout_tests/editing/deleting/delete-line-015.html +/sdcard/android/layout_tests/editing/deleting/5390681.html +/sdcard/android/layout_tests/editing/deleting/delete-at-paragraph-boundaries-011.html +/sdcard/android/layout_tests/editing/deleting/forward-delete.html +/sdcard/android/layout_tests/editing/deleting/delete-at-paragraph-boundaries-007.html +/sdcard/android/layout_tests/editing/deleting/delete-br-004.html +/sdcard/android/layout_tests/editing/deleting/delete-tab-003.html +/sdcard/android/layout_tests/editing/deleting/collapse-whitespace-3587601-fix.html +/sdcard/android/layout_tests/editing/deleting/pruning-after-merge-2.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-001.html +/sdcard/android/layout_tests/editing/deleting/delete-line-end-ws-001.html +/sdcard/android/layout_tests/editing/deleting/delete-by-word-001.html +/sdcard/android/layout_tests/editing/deleting/delete-image-002.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-013.html +/sdcard/android/layout_tests/editing/deleting/delete-block-contents-002.html +/sdcard/android/layout_tests/editing/deleting/paragraph-in-preserveNewline.html +/sdcard/android/layout_tests/editing/deleting/delete-after-span-ws-002.html +/sdcard/android/layout_tests/editing/deleting/5272440.html +/sdcard/android/layout_tests/editing/deleting/delete-line-012.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-009.html +/sdcard/android/layout_tests/editing/deleting/delete-listitem-002.html +/sdcard/android/layout_tests/editing/deleting/delete-character-001.html +/sdcard/android/layout_tests/editing/deleting/delete-line-008.html +/sdcard/android/layout_tests/editing/deleting/5483370.html +/sdcard/android/layout_tests/editing/deleting/5026848-2.html +/sdcard/android/layout_tests/editing/deleting/delete-br-001.html +/sdcard/android/layout_tests/editing/deleting/delete-at-paragraph-boundaries-004.html +/sdcard/android/layout_tests/editing/deleting/5091898.html +/sdcard/android/layout_tests/editing/deleting/delete-br-009.html +/sdcard/android/layout_tests/editing/deleting/transpose-empty.html +/sdcard/android/layout_tests/editing/deleting/merge-endOfParagraph.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-010.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-022.html +/sdcard/android/layout_tests/editing/deleting/delete-3775172-fix.html +/sdcard/android/layout_tests/editing/deleting/delete-mixed-editable-content-001.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-006.html +/sdcard/android/layout_tests/editing/deleting/smart-delete-003.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-018.html +/sdcard/android/layout_tests/editing/deleting/delete-line-005.html +/sdcard/android/layout_tests/editing/deleting/delete-first-list-item.html +/sdcard/android/layout_tests/editing/deleting/delete-line-017.html +/sdcard/android/layout_tests/editing/deleting/delete-at-paragraph-boundaries-001.html +/sdcard/android/layout_tests/editing/deleting/delete-trailing-ws-002.html +/sdcard/android/layout_tests/editing/deleting/delete-br-010.html +/sdcard/android/layout_tests/editing/deleting/delete-and-undo.html +/sdcard/android/layout_tests/editing/deleting/delete-br-006.html +/sdcard/android/layout_tests/editing/deleting/delete-at-paragraph-boundaries-009.html +/sdcard/android/layout_tests/editing/deleting/delete-hr.html +/sdcard/android/layout_tests/editing/deleting/4875189.html +/sdcard/android/layout_tests/editing/deleting/delete-4083333-fix.html +/sdcard/android/layout_tests/editing/deleting/delete-3608445-fix.html +/sdcard/android/layout_tests/editing/deleting/delete-ws-fixup-002.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-003.html +/sdcard/android/layout_tests/editing/deleting/delete-image-004.html +/sdcard/android/layout_tests/editing/deleting/delete-select-all-001.html +/sdcard/android/layout_tests/editing/deleting/delete-block-merge-contents-015.html +/sdcard/android/layout_tests/editing/deleting/delete-line-002.html +/sdcard/android/layout_tests/editing/deleting/delete-line-014.html +/sdcard/android/layout_tests/editing/deleting/merge-into-empty-block-2.html +/sdcard/android/layout_tests/editing/deleting/delete-at-paragraph-boundaries-010.html +/sdcard/android/layout_tests/editing/deleting/5390681-2.html +/sdcard/android/layout_tests/editing/deleting/5369009.html +/sdcard/android/layout_tests/editing/deleting/delete-br-003.html +/sdcard/android/layout_tests/editing/deleting/delete-at-paragraph-boundaries-006.html +/sdcard/android/layout_tests/editing/deleting/delete-tab-002.html +/sdcard/android/layout_tests/editing/deleting/list-item-1.html +/sdcard/android/layout_tests/editing/deleting/5168598.html +/sdcard/android/layout_tests/editing/deleting/delete-3608430-fix.html +/sdcard/android/layout_tests/editing/spelling/spelling.html +/sdcard/android/layout_tests/editing/spelling/inline_spelling_markers.html +/sdcard/android/layout_tests/printing/media-queries-print.html /sdcard/android/layout_tests/fast/media/mq-relative-constraints-05.html /sdcard/android/layout_tests/fast/media/mq-grid-02.html /sdcard/android/layout_tests/fast/media/mq-compound-query-02.html @@ -144,6 +911,7 @@ /sdcard/android/layout_tests/fast/dynamic/014.html /sdcard/android/layout_tests/fast/dynamic/006.html /sdcard/android/layout_tests/fast/dynamic/flash-replacement-test.html +/sdcard/android/layout_tests/fast/dynamic/insertAdjacentElement.html /sdcard/android/layout_tests/fast/dynamic/insert-before-table-part-in-continuation.html /sdcard/android/layout_tests/fast/dynamic/staticY.html /sdcard/android/layout_tests/fast/dynamic/anonymous-block-orphaned-lines.html @@ -306,6 +1074,7 @@ /sdcard/android/layout_tests/fast/encoding/utf-16-big-endian.html /sdcard/android/layout_tests/fast/encoding/xmacroman-encoding-test.html /sdcard/android/layout_tests/fast/encoding/invalid-UTF-8.html +/sdcard/android/layout_tests/fast/multicol/float-avoidance.html /sdcard/android/layout_tests/fast/multicol/negativeColumnWidth.html /sdcard/android/layout_tests/fast/multicol/column-rules.html /sdcard/android/layout_tests/fast/multicol/zeroColumnCount.html @@ -345,7 +1114,6 @@ /sdcard/android/layout_tests/fast/css-generated-content/007.html /sdcard/android/layout_tests/fast/css-generated-content/009.html /sdcard/android/layout_tests/fast/css-generated-content/wbr-with-before-content.html -/sdcard/android/layout_tests/fast/workers/stress-js-execution.html : has expected results /sdcard/android/layout_tests/fast/lists/decimal-leading-zero.html /sdcard/android/layout_tests/fast/lists/ol-display-types.html /sdcard/android/layout_tests/fast/lists/li-style-alpha-huge-value-crash.html @@ -446,7 +1214,6 @@ /sdcard/android/layout_tests/fast/selectors/044.html /sdcard/android/layout_tests/fast/selectors/008.html /sdcard/android/layout_tests/fast/selectors/072.html -/sdcard/android/layout_tests/fast/selectors/lang-inheritance.html : has expected results /sdcard/android/layout_tests/fast/selectors/064.html /sdcard/android/layout_tests/fast/selectors/056.html /sdcard/android/layout_tests/fast/selectors/018b.html @@ -463,8 +1230,6 @@ /sdcard/android/layout_tests/fast/selectors/077b.html /sdcard/android/layout_tests/fast/selectors/177b.html /sdcard/android/layout_tests/fast/selectors/169a.html -/sdcard/android/layout_tests/fast/selectors/lang-vs-xml-lang.html : has expected results -/sdcard/android/layout_tests/fast/selectors/lang-inheritance2.html : has expected results /sdcard/android/layout_tests/fast/selectors/001.html /sdcard/android/layout_tests/fast/selectors/021.html /sdcard/android/layout_tests/fast/selectors/unqualified-hover-quirks.html @@ -563,19 +1328,13 @@ /sdcard/android/layout_tests/fast/overflow/hidden-scrollbar-resize.html /sdcard/android/layout_tests/fast/events/autoscroll.html /sdcard/android/layout_tests/fast/events/5056619.html -/sdcard/android/layout_tests/fast/events/attempt-scroll-with-no-scrollbars.html : has expected results /sdcard/android/layout_tests/fast/events/updateLayoutForHitTest.html /sdcard/android/layout_tests/fast/events/label-focus.html -/sdcard/android/layout_tests/fast/events/context-onmousedown-event.html : has expected results -/sdcard/android/layout_tests/fast/events/onsubmit-bubbling.html : has expected results /sdcard/android/layout_tests/fast/events/onloadFrameCrash.html /sdcard/android/layout_tests/fast/events/event-listener-on-link.html /sdcard/android/layout_tests/fast/events/keydown-1.html /sdcard/android/layout_tests/fast/events/onload-re-entry.html /sdcard/android/layout_tests/fast/events/standalone-image-drag-to-editable.html -/sdcard/android/layout_tests/fast/events/pointer-events.html : has expected results -/sdcard/android/layout_tests/fast/events/pointer-events-2.html : has expected results -/sdcard/android/layout_tests/fast/events/nested-window-event.html : has expected results /sdcard/android/layout_tests/fast/events/focusingUnloadedFrame.html /sdcard/android/layout_tests/fast/events/event-sender-mouse-moved.html /sdcard/android/layout_tests/fast/events/mouseout-dead-node.html @@ -655,6 +1414,8 @@ /sdcard/android/layout_tests/fast/box-shadow/border-radius-big.html /sdcard/android/layout_tests/fast/box-shadow/basic-shadows.html /sdcard/android/layout_tests/fast/js/exception-linenums-in-html-3.html +/sdcard/android/layout_tests/fast/js/missing-style-end-tag-js.html +/sdcard/android/layout_tests/fast/body-propagation/background-image/010.html /sdcard/android/layout_tests/fast/body-propagation/background-image/001.html /sdcard/android/layout_tests/fast/body-propagation/background-image/002.html /sdcard/android/layout_tests/fast/body-propagation/background-image/003.html @@ -698,21 +1459,13 @@ /sdcard/android/layout_tests/fast/dom/HTMLTableElement/colSpan.html /sdcard/android/layout_tests/fast/dom/HTMLTableElement/createCaption.html /sdcard/android/layout_tests/fast/dom/HTMLDocument/frameless-location-bugzilla10837.html -/sdcard/android/layout_tests/fast/dom/Document/early-document-access.html : has expected results /sdcard/android/layout_tests/fast/dom/Element/null-offset-parent.html /sdcard/android/layout_tests/fast/dom/Element/class-attribute-whitespace.html /sdcard/android/layout_tests/fast/dom/HTMLLinkElement/pending-stylesheet-count.html /sdcard/android/layout_tests/fast/dom/HTMLStyleElement/insert-parser-generated.html /sdcard/android/layout_tests/fast/dom/HTMLInputElement/input-image-alt-text.html -/sdcard/android/layout_tests/fast/dom/Window/timeout-released-on-close.html : has expected results /sdcard/android/layout_tests/fast/dom/Window/open-existing-pop-up-blocking.html -/sdcard/android/layout_tests/fast/dom/Window/global-opener-function.html : has expected results -/sdcard/android/layout_tests/fast/dom/Window/window-property-shadowing.html : has expected results -/sdcard/android/layout_tests/fast/dom/Window/closure-access-after-navigation-window.html : has expected results -/sdcard/android/layout_tests/fast/dom/Window/remove-timeout-crash.html : has expected results -/sdcard/android/layout_tests/fast/dom/Window/window-special-properties.html : has expected results -/sdcard/android/layout_tests/fast/dom/Window/timeout-callback-scope.html : has expected results -/sdcard/android/layout_tests/fast/dom/Window/window-property-shadowing-name.html : has expected results +/sdcard/android/layout_tests/fast/dom/Window/btoa-pnglet.html /sdcard/android/layout_tests/fast/dom/HTMLObjectElement/vspace-hspace-as-number.html /sdcard/android/layout_tests/fast/dom/HTMLElement/bdo.html /sdcard/android/layout_tests/fast/dom/Range/surroundContents-1.html @@ -742,10 +1495,7 @@ /sdcard/android/layout_tests/fast/dom/inner-text.html /sdcard/android/layout_tests/fast/dom/isindex-002.html /sdcard/android/layout_tests/fast/dom/outerText.html -/sdcard/android/layout_tests/fast/dom/setAttributeNS.html : has expected results -/sdcard/android/layout_tests/fast/dom/anchor-toString.html : has expected results -/sdcard/android/layout_tests/fast/dom/documenturi-affects-relative-paths.html : has expected results -/sdcard/android/layout_tests/fast/dom/setAttribute-using-initial-input-value.html : has expected results +/sdcard/android/layout_tests/fast/dom/row-inner-text.html /sdcard/android/layout_tests/fast/dom/blur-contenteditable.html /sdcard/android/layout_tests/fast/dom/setPrimitiveValue.html /sdcard/android/layout_tests/fast/dom/delete-contents.html @@ -756,11 +1506,13 @@ /sdcard/android/layout_tests/fast/dom/comment-not-documentElement.html /sdcard/android/layout_tests/fast/dom/clone-node-dynamic-style.html /sdcard/android/layout_tests/fast/dom/css-mediarule-insertRule-update.html -/sdcard/android/layout_tests/fast/dom/set-frame-src-while-running-script-in-frame.html : has expected results +/sdcard/android/layout_tests/fast/dom/css-insert-import-rule.html /sdcard/android/layout_tests/fast/dom/stripNullFromTextNodes.html -/sdcard/android/layout_tests/fast/dom/null-document-location-put-crash.html : has expected results -/sdcard/android/layout_tests/fast/dom/document-scripts.html : has expected results -/sdcard/android/layout_tests/fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html : has expected results +/sdcard/android/layout_tests/fast/gradients/generated-gradients.html +/sdcard/android/layout_tests/fast/gradients/list-item-gradient.html +/sdcard/android/layout_tests/fast/gradients/border-image-gradient-sides-and-corners.html +/sdcard/android/layout_tests/fast/gradients/simple-gradients.html +/sdcard/android/layout_tests/fast/gradients/border-image-gradient.html /sdcard/android/layout_tests/fast/invalid/table-inside-stray-table-content.html /sdcard/android/layout_tests/fast/invalid/010.html /sdcard/android/layout_tests/fast/invalid/002.html @@ -801,14 +1553,14 @@ /sdcard/android/layout_tests/fast/forms/plaintext-mode-2.html /sdcard/android/layout_tests/fast/forms/input-double-click-selection-gap-bug.html /sdcard/android/layout_tests/fast/forms/preserveFormDuringResidualStyle.html +/sdcard/android/layout_tests/fast/forms/search-rtl.html /sdcard/android/layout_tests/fast/forms/select-change-popup-to-listbox.html /sdcard/android/layout_tests/fast/forms/input-text-maxlength.html /sdcard/android/layout_tests/fast/forms/blankbuttons.html /sdcard/android/layout_tests/fast/forms/password-placeholder-text-security.html /sdcard/android/layout_tests/fast/forms/HTMLOptionElement_label05.html /sdcard/android/layout_tests/fast/forms/visual-hebrew-text-field.html -/sdcard/android/layout_tests/fast/forms/textarea-trailing-newline.html : has expected results -/sdcard/android/layout_tests/fast/forms/legend-access-key.html : has expected results +/sdcard/android/layout_tests/fast/forms/input-text-option-delete.html /sdcard/android/layout_tests/fast/forms/textfield-overflow.html /sdcard/android/layout_tests/fast/forms/005.html /sdcard/android/layout_tests/fast/forms/HTMLOptionElement_label02.html @@ -828,13 +1580,13 @@ /sdcard/android/layout_tests/fast/forms/option-text-clip.html /sdcard/android/layout_tests/fast/forms/textfield-drag-into-disabled.html /sdcard/android/layout_tests/fast/forms/input-text-paste-maxlength.html -/sdcard/android/layout_tests/fast/forms/tabs-with-modifiers.html : has expected results -/sdcard/android/layout_tests/fast/forms/saved-state-adoptNode-crash.html : has expected results +/sdcard/android/layout_tests/fast/forms/formmove.html +/sdcard/android/layout_tests/fast/forms/select-display-none-style-resolve.html /sdcard/android/layout_tests/fast/forms/input-readonly-autoscroll.html /sdcard/android/layout_tests/fast/forms/thumbslider-no-parent-slider.html /sdcard/android/layout_tests/fast/forms/textfield-outline.html /sdcard/android/layout_tests/fast/forms/button-text-transform.html -/sdcard/android/layout_tests/fast/forms/radio-check-click-and-drag.html : has expected results +/sdcard/android/layout_tests/fast/forms/listbox-clip.html /sdcard/android/layout_tests/fast/forms/textarea-scroll-height.html /sdcard/android/layout_tests/fast/forms/button-table-styles.html /sdcard/android/layout_tests/fast/forms/textarea-setinnerhtml.html @@ -842,14 +1594,16 @@ /sdcard/android/layout_tests/fast/forms/box-shadow-override.html /sdcard/android/layout_tests/fast/forms/button-cannot-be-nested.html /sdcard/android/layout_tests/fast/forms/input-type-change.html +/sdcard/android/layout_tests/fast/forms/searchfield-heights.html /sdcard/android/layout_tests/fast/forms/checkbox-radio-onchange.html /sdcard/android/layout_tests/fast/forms/input-spaces.html -/sdcard/android/layout_tests/fast/forms/dragging-to-file-input.html : has expected results /sdcard/android/layout_tests/fast/forms/menulist-option-wrap.html +/sdcard/android/layout_tests/fast/forms/select-empty-option-height.html +/sdcard/android/layout_tests/fast/forms/textarea-scrollbar.html /sdcard/android/layout_tests/fast/forms/float-before-fieldset.html /sdcard/android/layout_tests/fast/forms/radio_checked.html /sdcard/android/layout_tests/fast/forms/minWidthPercent.html -/sdcard/android/layout_tests/fast/forms/form-post-urlencoded.html : has expected results +/sdcard/android/layout_tests/fast/forms/input-appearance-focus.html /sdcard/android/layout_tests/fast/forms/input-value.html /sdcard/android/layout_tests/fast/forms/HTMLOptionElement_label06.html /sdcard/android/layout_tests/fast/forms/placeholder-pseudo-style.html @@ -868,11 +1622,16 @@ /sdcard/android/layout_tests/fast/forms/input-text-click-outside.html /sdcard/android/layout_tests/fast/forms/input-baseline.html /sdcard/android/layout_tests/fast/forms/targeted-frame-submission.html +/sdcard/android/layout_tests/fast/forms/input-text-scroll-left-on-blur.html +/sdcard/android/layout_tests/fast/forms/form-element-geometry.html /sdcard/android/layout_tests/fast/forms/input-table.html +/sdcard/android/layout_tests/fast/forms/textarea-scrolled-type.html /sdcard/android/layout_tests/fast/forms/select-change-listbox-to-popup.html /sdcard/android/layout_tests/fast/forms/select-align.html /sdcard/android/layout_tests/fast/forms/radio_checked_dynamic.html /sdcard/android/layout_tests/fast/forms/select-writing-direction-natural.html +/sdcard/android/layout_tests/fast/forms/search-cancel-button-style-sharing.html +/sdcard/android/layout_tests/fast/forms/tabbing-input-iframe.html /sdcard/android/layout_tests/fast/forms/hidden-input-file.html /sdcard/android/layout_tests/fast/forms/menulist-deselect-update.html /sdcard/android/layout_tests/fast/forms/button-sizes.html @@ -899,9 +1658,11 @@ /sdcard/android/layout_tests/fast/forms/listbox-selection-2.html /sdcard/android/layout_tests/fast/forms/input-readonly-empty.html /sdcard/android/layout_tests/fast/forms/input-align-image.html -/sdcard/android/layout_tests/fast/forms/input-selection-hidden.html : has expected results +/sdcard/android/layout_tests/fast/forms/HTMLOptionElement_label07.html /sdcard/android/layout_tests/fast/forms/option-index.html +/sdcard/android/layout_tests/fast/forms/menulist-clip.html /sdcard/android/layout_tests/fast/forms/indeterminate.html +/sdcard/android/layout_tests/fast/forms/search-display-none-cancel-button.html /sdcard/android/layout_tests/fast/forms/negativeLineHeight.html /sdcard/android/layout_tests/fast/forms/007.html /sdcard/android/layout_tests/fast/forms/HTMLOptionElement_label04.html @@ -916,10 +1677,9 @@ /sdcard/android/layout_tests/fast/forms/search-placeholder-value-changed.html /sdcard/android/layout_tests/fast/forms/input-field-text-truncated.html /sdcard/android/layout_tests/fast/forms/floating-textfield-relayout.html -/sdcard/android/layout_tests/fast/forms/add-remove-form-elements-stress-test.html : has expected results /sdcard/android/layout_tests/fast/forms/button-inner-block-reuse.html /sdcard/android/layout_tests/fast/forms/input-type-text-min-width.html -/sdcard/android/layout_tests/fast/forms/onchange-enter-submit.html : has expected results +/sdcard/android/layout_tests/fast/forms/001.html /sdcard/android/layout_tests/fast/forms/slider-thumb-shared-style.html /sdcard/android/layout_tests/fast/forms/option-script.html /sdcard/android/layout_tests/fast/forms/input-paste-undo.html @@ -934,6 +1694,7 @@ /sdcard/android/layout_tests/fast/forms/button-submit.html /sdcard/android/layout_tests/fast/forms/disabled-select-change-index.html /sdcard/android/layout_tests/fast/forms/formmove3.html +/sdcard/android/layout_tests/fast/forms/form-hides-table.html /sdcard/android/layout_tests/fast/forms/listbox-width-change.html /sdcard/android/layout_tests/fast/forms/input-text-self-emptying-click.html /sdcard/android/layout_tests/fast/forms/input-appearance-bkcolor.html @@ -941,7 +1702,7 @@ /sdcard/android/layout_tests/fast/forms/search-transformed.html /sdcard/android/layout_tests/fast/forms/image-border.html /sdcard/android/layout_tests/fast/forms/encoding-test.html -/sdcard/android/layout_tests/fast/forms/input-type-change-in-onfocus-mouse.html : has expected results +/sdcard/android/layout_tests/fast/forms/control-clip.html /sdcard/android/layout_tests/fast/compact/001.html /sdcard/android/layout_tests/fast/compact/002.html /sdcard/android/layout_tests/fast/compact/003.html @@ -1138,7 +1899,6 @@ /sdcard/android/layout_tests/fast/css/first-letter-skip-out-of-flow.html /sdcard/android/layout_tests/fast/css/font-face-multiple-remote-sources.html /sdcard/android/layout_tests/fast/css/hover-subselector.html -/sdcard/android/layout_tests/fast/css/text-align.html : has expected results /sdcard/android/layout_tests/fast/css/margin-bottom-form-element-strict.html /sdcard/android/layout_tests/fast/css/shadow-multiple.html /sdcard/android/layout_tests/fast/css/import_with_baseurl.html @@ -1185,6 +1945,7 @@ /sdcard/android/layout_tests/fast/css/zoom-property-parsing.html /sdcard/android/layout_tests/fast/css/style-outside-head.html /sdcard/android/layout_tests/fast/css/first-letter-capitalized.html +/sdcard/android/layout_tests/fast/css/font-face-locally-installed.html /sdcard/android/layout_tests/fast/css/word-space-extra.html /sdcard/android/layout_tests/fast/css/first-letter-float.html /sdcard/android/layout_tests/fast/css/simple-selector-chain-parsing.html @@ -1192,6 +1953,7 @@ /sdcard/android/layout_tests/fast/css/continuationCrash.html /sdcard/android/layout_tests/fast/css/vertical-align-lengths.html /sdcard/android/layout_tests/fast/css/first-child-pseudo-class.html +/sdcard/android/layout_tests/fast/css/beforeSelectorOnCodeElement.html /sdcard/android/layout_tests/fast/css/getFloatValueForUnit.html /sdcard/android/layout_tests/fast/css/first-letter-detach.html /sdcard/android/layout_tests/fast/css/line-height-font-order.html @@ -1210,7 +1972,6 @@ /sdcard/android/layout_tests/fast/css/link-outside-head.html /sdcard/android/layout_tests/fast/css/font-size-negative.html /sdcard/android/layout_tests/fast/css/position-negative-top-margin.html -/sdcard/android/layout_tests/fast/css/invalid-percentage-property.html : has expected results /sdcard/android/layout_tests/fast/css/ZeroOpacityLayers.html /sdcard/android/layout_tests/fast/css/only-of-type-pseudo-class.html /sdcard/android/layout_tests/fast/css/004.html @@ -1223,6 +1984,7 @@ /sdcard/android/layout_tests/fast/css/textCapitalizeEdgeCases.html /sdcard/android/layout_tests/fast/css/001.html /sdcard/android/layout_tests/fast/css/hsl-color.html +/sdcard/android/layout_tests/fast/css/font-face-implicit-local-font.html /sdcard/android/layout_tests/fast/css/first-letter-recalculation.html /sdcard/android/layout_tests/fast/css/inline-properties-important.html /sdcard/android/layout_tests/fast/css/dynamic-sibling-selector.html @@ -1502,7 +2264,6 @@ /sdcard/android/layout_tests/fast/parser/001.html /sdcard/android/layout_tests/fast/parser/open-comment-in-textarea.html /sdcard/android/layout_tests/fast/parser/tabs-in-scripts.html -/sdcard/android/layout_tests/fast/parser/external-entities-in-xslt.xml : has expected results /sdcard/android/layout_tests/fast/parser/parseCommentsInTitles.html /sdcard/android/layout_tests/fast/parser/remove-block-in-residual-style.html /sdcard/android/layout_tests/fast/parser/open-comment-in-style.html @@ -1523,7 +2284,6 @@ /sdcard/android/layout_tests/fast/layers/scroll-rect-to-visible.html /sdcard/android/layout_tests/fast/layers/opacity-stacking.html /sdcard/android/layout_tests/fast/history/clicked-link-is-visited.html -/sdcard/android/layout_tests/fast/history/history_reload.html : has expected results /sdcard/android/layout_tests/fast/backgrounds/repeat/mask-negative-offset-repeat.html /sdcard/android/layout_tests/fast/backgrounds/repeat/negative-offset-repeat.html /sdcard/android/layout_tests/fast/backgrounds/repeat/negative-offset-repeat-transformed.html @@ -1681,20 +2441,29 @@ /sdcard/android/layout_tests/fast/repaint/layer-child-outline.html /sdcard/android/layout_tests/fast/loader/start-load-in-unload.html /sdcard/android/layout_tests/fast/loader/text-document-wrapping.html +/sdcard/android/layout_tests/fast/xsl/document-function.xml +/sdcard/android/layout_tests/fast/xsl/xslt-extra-content-at-end.xml +/sdcard/android/layout_tests/fast/xsl/xslt-enc.xml +/sdcard/android/layout_tests/fast/xsl/xslt_unicode.xml +/sdcard/android/layout_tests/fast/xsl/xslt-import-depth.xml +/sdcard/android/layout_tests/fast/xsl/xslt-enc16.xml +/sdcard/android/layout_tests/fast/xsl/xslt-enc16to16.xml +/sdcard/android/layout_tests/fast/xsl/xslt-missing-namespace-in-xslt.xml +/sdcard/android/layout_tests/fast/xsl/xslt-enc-cyr.xml +/sdcard/android/layout_tests/fast/xsl/xslt-relative-path.xml +/sdcard/android/layout_tests/fast/xsl/xslt-mismatched-tags-in-xslt.xml +/sdcard/android/layout_tests/fast/xsl/xslt-entity.xml /sdcard/android/layout_tests/fast/canvas/fillrect-gradient-zero-stops.html /sdcard/android/layout_tests/fast/canvas/canvas-transforms-during-path.html /sdcard/android/layout_tests/fast/canvas/drawImage.html /sdcard/android/layout_tests/fast/canvas/shadow-offset-7.html -/sdcard/android/layout_tests/fast/canvas/canvas-transform-non-invertible.html : has expected results /sdcard/android/layout_tests/fast/canvas/shadow-offset-4.html -/sdcard/android/layout_tests/fast/canvas/canvas-transform-infinity.html : has expected results /sdcard/android/layout_tests/fast/canvas/canvas-text-baseline.html /sdcard/android/layout_tests/fast/canvas/canvas-as-image-incremental-repaint.html /sdcard/android/layout_tests/fast/canvas/shadow-offset-1.html /sdcard/android/layout_tests/fast/canvas/canvas-size-change-after-layout.html /sdcard/android/layout_tests/fast/canvas/canvas-resize-reset.html /sdcard/android/layout_tests/fast/canvas/canvas-bg.html -/sdcard/android/layout_tests/fast/canvas/canvas-transform-skewed.html : has expected results /sdcard/android/layout_tests/fast/canvas/zero-size-fill-rect.html /sdcard/android/layout_tests/fast/canvas/shadow-offset-6.html /sdcard/android/layout_tests/fast/canvas/patternfill-repeat.html @@ -1704,17 +2473,14 @@ /sdcard/android/layout_tests/fast/canvas/gradient-add-second-start-end-stop.html /sdcard/android/layout_tests/fast/canvas/quadraticCurveTo.xml /sdcard/android/layout_tests/fast/canvas/fill-stroke-clip-reset-path.html -/sdcard/android/layout_tests/fast/canvas/canvas-transform-nan.html : has expected results /sdcard/android/layout_tests/fast/canvas/canvas-text-alignment.html /sdcard/android/layout_tests/fast/canvas/canvas-incremental-repaint.html /sdcard/android/layout_tests/fast/canvas/canvasDrawingIntoSelf.html /sdcard/android/layout_tests/fast/canvas/canvas-as-image.html /sdcard/android/layout_tests/fast/canvas/canvas-before-css.html /sdcard/android/layout_tests/fast/canvas/canvas-incremental-repaint-2.html -/sdcard/android/layout_tests/fast/canvas/canvas-transform-identity.html : has expected results /sdcard/android/layout_tests/fast/canvas/shadow-offset-5.html /sdcard/android/layout_tests/fast/canvas/fillrect_gradient.html -/sdcard/android/layout_tests/fast/canvas/canvas-transform-multiply.html : has expected results /sdcard/android/layout_tests/fast/canvas/shadow-offset-2.html /sdcard/android/layout_tests/fast/frames/contentWindow_Frame.html /sdcard/android/layout_tests/fast/frames/onlyCommentInIFrame.html @@ -1739,15 +2505,1576 @@ /sdcard/android/layout_tests/fast/frames/iframe-text-contents.html /sdcard/android/layout_tests/fast/frames/frame-scrolling-attribute.html /sdcard/android/layout_tests/fast/frames/contentWindow_iFrame.html -/sdcard/android/layout_tests/fast/frames/frame-length-fractional.html : has expected results /sdcard/android/layout_tests/fast/frames/calculate-fixed.html /sdcard/android/layout_tests/fast/frames/frame-element-name.html /sdcard/android/layout_tests/fast/frames/frame-set-whitespace-attributes.html /sdcard/android/layout_tests/fast/frames/iframe-with-frameborder.html /sdcard/android/layout_tests/fast/frames/frameElement-iframe.html -/sdcard/android/layout_tests/fast/frames/iframe-name-and-id.html : has expected results /sdcard/android/layout_tests/fast/reflections/inline-crash.html /sdcard/android/layout_tests/fast/reflections/reflection-nesting.html /sdcard/android/layout_tests/fast/reflections/reflection-overflow-hidden.html /sdcard/android/layout_tests/fast/reflections/table-cell.html +/sdcard/android/layout_tests/fast/reflections/reflection-masks.html /sdcard/android/layout_tests/fast/reflections/reflection-direction.html +/sdcard/android/layout_tests/transforms/2d/zoom-menulist.html +/sdcard/android/layout_tests/transforms/2d/transform-origin-borderbox.html +/sdcard/android/layout_tests/transforms/2d/transform-borderbox.html +/sdcard/android/layout_tests/transforms/2d/compound-transforms-vs-containers.html +/sdcard/android/layout_tests/animations/animation-drt-api-multiple-keyframes.html +/sdcard/android/layout_tests/animations/animation-drt-api.html +/sdcard/android/layout_tests/scrollbars/scrollbar-orientation.html +/sdcard/android/layout_tests/scrollbars/scrollbar-buttons.html +/sdcard/android/layout_tests/scrollbars/basic-scrollbar.html +/sdcard/android/layout_tests/scrollbars/overflow-scrollbar-combinations.html +/sdcard/android/layout_tests/scrollbars/disabled-scrollbar.html +/sdcard/android/layout_tests/scrollbars/listbox-scrollbar-combinations.html +/sdcard/android/layout_tests/css2.1/t040103-ident-03-c.html +/sdcard/android/layout_tests/css2.1/t0804-c5509-padn-l-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t1205-c563-list-type-00-b.html +/sdcard/android/layout_tests/css2.1/t090402-c42-ibx-pad-00-d-ag.html +/sdcard/android/layout_tests/css2.1/t120401-scope-00-b.html +/sdcard/android/layout_tests/css2.1/t010403-shand-border-00-c.html +/sdcard/android/layout_tests/css2.1/t0805-c5518-ibrdr-t-00-a.html +/sdcard/android/layout_tests/css2.1/t1202-counter-03-b.html +/sdcard/android/layout_tests/css2.1/t1008-c44-ln-box-00-d-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-14-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-34-d.html +/sdcard/android/layout_tests/css2.1/t1204-implied-00-b.html +/sdcard/android/layout_tests/css2.1/t1001-abs-pos-cb-03-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-54-d.html +/sdcard/android/layout_tests/css2.1/t100801-c548-ln-ht-00-c-a.html +/sdcard/android/layout_tests/css2.1/t0905-c5526-fltclr-00-c-ag.html +/sdcard/android/layout_tests/css2.1/bogus-color-span.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-74-d.html +/sdcard/android/layout_tests/css2.1/t0803-c5504-imrgn-l-03-b-a.html +/sdcard/android/layout_tests/css2.1/t140201-c534-bgreps-04-c-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-94-d.html +/sdcard/android/layout_tests/css2.1/t0803-c5502-imrgn-r-03-b-a.html +/sdcard/android/layout_tests/css2.1/t040307-syntax-01-b.html +/sdcard/android/layout_tests/css2.1/t100801-c548-ln-ht-04-d-ag.html +/sdcard/android/layout_tests/css2.1/t1508-c527-font-06-b.html +/sdcard/android/layout_tests/css2.1/t040306-c63-color-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t1202-counters-02-b.html +/sdcard/android/layout_tests/css2.1/t080301-c411-vt-mrgn-00-b.html +/sdcard/android/layout_tests/css2.1/t010403-shand-font-03-b.html +/sdcard/android/layout_tests/css2.1/t051103-c21-focus-ln-00-e-i.html +/sdcard/android/layout_tests/css2.1/t120403-display-none-00-c.html +/sdcard/android/layout_tests/css2.1/t0805-c5512-brdr-rw-01-b-g.html +/sdcard/android/layout_tests/css2.1/t040103-ident-12-c.html +/sdcard/android/layout_tests/css2.1/t0805-c5515-ibrdr-00-b.html +/sdcard/android/layout_tests/css2.1/t0805-c5520-brdr-b-00-a.html +/sdcard/android/layout_tests/css2.1/t1505-c524-font-var-00-b.html +/sdcard/android/layout_tests/css2.1/t0509-c15-ids-00-a.html +/sdcard/android/layout_tests/css2.1/t060403-c21-pseu-cls-00-e-i.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-03-d.html +/sdcard/android/layout_tests/css2.1/t1202-counter-12-b.html +/sdcard/android/layout_tests/css2.1/t0402-c71-fwd-parsing-04-f.html +/sdcard/android/layout_tests/css2.1/t040303-c62-percent-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-23-d.html +/sdcard/android/layout_tests/css2.1/t140201-c535-bg-fixd-00-b-g.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-43-d.html +/sdcard/android/layout_tests/css2.1/t1204-increment-02-c-o.html +/sdcard/android/layout_tests/css2.1/t0602-c13-inh-underlin-00-e.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-63-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-83-d.html +/sdcard/android/layout_tests/css2.1/t1202-counter-16-f.html +/sdcard/android/layout_tests/css2.1/t040302-c61-phys-len-00-b.html +/sdcard/android/layout_tests/css2.1/t0805-c5516-ibrdr-c-00-a.html +/sdcard/android/layout_tests/css2.1/t0805-c5521-brdr-l-01-e.html +/sdcard/android/layout_tests/css2.1/t100801-c544-valgn-03-d-agi.html +/sdcard/android/layout_tests/css2.1/t040103-escapes-06-b.html +/sdcard/android/layout_tests/css2.1/t0402-syntax-03-f.html +/sdcard/android/layout_tests/css2.1/t050803-c14-classes-00-e.html +/sdcard/android/layout_tests/css2.1/t140201-c537-bgfxps-00-c-ag.html +/sdcard/android/layout_tests/css2.1/t1002-c5523-width-02-b-g.html +/sdcard/android/layout_tests/css2.1/t1004-c5524-width-00-b-g.html +/sdcard/android/layout_tests/css2.1/t1202-counters-11-b.html +/sdcard/android/layout_tests/css2.1/t0803-c5504-imrgn-l-06-b-ag.html +/sdcard/android/layout_tests/css2.1/t0805-c5522-brdr-02-e.html +/sdcard/android/layout_tests/css2.1/t0511-c21-pseud-anch-00-e-i.html +/sdcard/android/layout_tests/css2.1/t0804-c5508-ipadn-b-01-f-a.html +/sdcard/android/layout_tests/css2.1/t0803-c5502-imrgn-r-04-b-ag.html +/sdcard/android/layout_tests/css2.1/t040103-ident-01-c.html +/sdcard/android/layout_tests/css2.1/t040102-keywords-00-b.html +/sdcard/android/layout_tests/css2.1/t0505-c16-descendant-02-e.html +/sdcard/android/layout_tests/css2.1/t1507-c526-font-sz-03-f-a.html +/sdcard/android/layout_tests/css2.1/t1202-counters-09-b.html +/sdcard/android/layout_tests/css2.1/t1204-root-e.html +/sdcard/android/layout_tests/css2.1/t0905-c414-flt-fit-01-d-g.html +/sdcard/android/layout_tests/css2.1/t1202-counter-01-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-12-d.html +/sdcard/android/layout_tests/css2.1/t090501-c5525-flt-r-00-b-g.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-32-d.html +/sdcard/android/layout_tests/css2.1/t1001-abs-pos-cb-01-b.html +/sdcard/android/layout_tests/css2.1/t1004-c43-rpl-bbx-00-d-ag.html +/sdcard/android/layout_tests/css2.1/t140201-c534-bgre-01-b-ag.html +/sdcard/android/layout_tests/css2.1/t0804-c5509-ipadn-l-02-b-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-52-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5512-brdr-rw-02-b.html +/sdcard/android/layout_tests/css2.1/t040109-c17-comments-00-b.html +/sdcard/android/layout_tests/css2.1/t0804-c5507-ipadn-r-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-72-d.html +/sdcard/android/layout_tests/css2.1/t140201-c534-bgreps-01-c-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-92-d.html +/sdcard/android/layout_tests/css2.1/t0905-c414-flt-01-d-g.html +/sdcard/android/layout_tests/css2.1/t100801-c548-ln-ht-01-b-ag.html +/sdcard/android/layout_tests/css2.1/t090501-c414-flt-03-b-g.html +/sdcard/android/layout_tests/css2.1/t1204-multiple-01-c.html +/sdcard/android/layout_tests/css2.1/t0803-c5505-mrgn-03-c-ag.html +/sdcard/android/layout_tests/css2.1/t1508-c527-font-04-b.html +/sdcard/android/layout_tests/css2.1/t1202-counters-00-b.html +/sdcard/android/layout_tests/css2.1/t1602-c43-center-00-d-ag.html +/sdcard/android/layout_tests/css2.1/t140201-c532-bgcolor-00-a.html +/sdcard/android/layout_tests/css2.1/t0803-c5504-mrgn-l-03-c.html +/sdcard/android/layout_tests/css2.1/t010403-shand-font-01-b.html +/sdcard/android/layout_tests/css2.1/t1005-c5524-width-01-b-g.html +/sdcard/android/layout_tests/css2.1/t1601-c547-indent-01-d.html +/sdcard/android/layout_tests/css2.1/t040103-ident-10-c.html +/sdcard/android/layout_tests/css2.1/t090501-c414-flt-01-b.html +/sdcard/android/layout_tests/css2.1/t0803-c5505-mrgn-02-c.html +/sdcard/android/layout_tests/css2.1/t0905-c414-flt-04-c.html +/sdcard/android/layout_tests/css2.1/t051103-dom-hover-01-c-io.html +/sdcard/android/layout_tests/css2.1/t1604-c542-letter-sp-00-b-a.html +/sdcard/android/layout_tests/css2.1/t040103-ident-08-c.html +/sdcard/android/layout_tests/css2.1/t120401-scope-02-c.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-01-d.html +/sdcard/android/layout_tests/css2.1/t0402-c71-fwd-parsing-02-f.html +/sdcard/android/layout_tests/css2.1/t1204-reset-00-c-o.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-21-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-41-d.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltwidth-01-c-g.html +/sdcard/android/layout_tests/css2.1/t1507-c526-font-sz-00-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-61-d.html +/sdcard/android/layout_tests/css2.1/t1202-counter-08-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-81-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-19-d.html +/sdcard/android/layout_tests/css2.1/t040103-escapes-04-b.html +/sdcard/android/layout_tests/css2.1/t1604-c541-word-sp-01-b-a.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-39-d.html +/sdcard/android/layout_tests/css2.1/t1001-abs-pos-cb-08-b.html +/sdcard/android/layout_tests/css2.1/t0402-syntax-01-f.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-59-d.html +/sdcard/android/layout_tests/css2.1/t1205-c565-list-pos-00-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-79-d.html +/sdcard/android/layout_tests/css2.1/t1508-c527-font-10-c.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-99-d.html +/sdcard/android/layout_tests/css2.1/t0803-c5502-imrgn-r-01-b-ag.html +/sdcard/android/layout_tests/css2.1/t040306-syntax-01-f.html +/sdcard/android/layout_tests/css2.1/t1507-c526-font-sz-01-b-a.html +/sdcard/android/layout_tests/css2.1/t040105-atrule-04-b.html +/sdcard/android/layout_tests/css2.1/t0505-c16-descendant-00-e.html +/sdcard/android/layout_tests/css2.1/t0805-c5513-brdr-bw-02-b.html +/sdcard/android/layout_tests/css2.1/t0805-c5519-brdr-r-01-e.html +/sdcard/android/layout_tests/css2.1/t1202-counters-07-b.html +/sdcard/android/layout_tests/css2.1/t0804-c5510-padn-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t0805-c5517-ibrdr-s-00-a.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-10-d.html +/sdcard/android/layout_tests/css2.1/t040105-import-00-b.html +/sdcard/android/layout_tests/css2.1/t0804-c5509-ipadn-l-03-b-a.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-30-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5514-brdr-lw-02-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-50-d.html +/sdcard/android/layout_tests/css2.1/t0804-c5507-ipadn-r-03-b-a.html +/sdcard/android/layout_tests/css2.1/t1008-c44-ln-box-02-d-ag.html +/sdcard/android/layout_tests/css2.1/t0805-c5512-brdr-rw-00-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-70-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-08-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-90-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-28-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-48-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5513-brdr-bw-01-b-g.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-68-d.html +/sdcard/android/layout_tests/css2.1/t1402-c45-bg-canvas-00-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-88-d.html +/sdcard/android/layout_tests/css2.1/t1508-c527-font-02-b.html +/sdcard/android/layout_tests/css2.1/t0805-c5521-ibrdr-l-00-a.html +/sdcard/android/layout_tests/css2.1/t0805-c5522-brdr-00-b.html +/sdcard/android/layout_tests/css2.1/t1606-c562-white-sp-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t0905-c414-flt-02-c.html +/sdcard/android/layout_tests/css2.1/t100801-c544-valgn-00-a-ag.html +/sdcard/android/layout_tests/css2.1/t040103-ident-06-c.html +/sdcard/android/layout_tests/css2.1/t0402-c71-fwd-parsing-00-f.html +/sdcard/android/layout_tests/css2.1/t1204-reset-02-c-o.html +/sdcard/android/layout_tests/css2.1/t0602-c13-inheritance-00-e.html +/sdcard/android/layout_tests/css2.1/t090501-c414-flt-ln-02-d.html +/sdcard/android/layout_tests/css2.1/t1205-c566-list-stl-01-c-g.html +/sdcard/android/layout_tests/css2.1/t1202-counter-06-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-17-d.html +/sdcard/android/layout_tests/css2.1/t100304-c43-rpl-bbx-00-d-g.html +/sdcard/android/layout_tests/css2.1/t0803-c5504-mrgn-l-00-c-ag.html +/sdcard/android/layout_tests/css2.1/t1205-c566-list-stl-00-e-ag.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltwidth-03-c-g.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-37-d.html +/sdcard/android/layout_tests/css2.1/t1001-abs-pos-cb-06-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-57-d.html +/sdcard/android/layout_tests/css2.1/t0804-c5510-padn-02-f.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-77-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-97-d.html +/sdcard/android/layout_tests/css2.1/t0803-c5504-imrgn-l-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t090204-display-change-01-b-ao.html +/sdcard/android/layout_tests/css2.1/t040302-c61-ex-len-00-b-a.html +/sdcard/android/layout_tests/css2.1/t040105-atrule-02-b.html +/sdcard/android/layout_tests/css2.1/t0805-c5513-brdr-bw-00-b.html +/sdcard/android/layout_tests/css2.1/t1508-c527-font-09-b.html +/sdcard/android/layout_tests/css2.1/t1202-counters-05-b.html +/sdcard/android/layout_tests/css2.1/t0803-c5502-mrgn-r-02-c.html +/sdcard/android/layout_tests/css2.1/t0803-c5502-imrgn-r-06-b-ag.html +/sdcard/android/layout_tests/css2.1/t0804-c5507-padn-r-01-c-a.html +/sdcard/android/layout_tests/css2.1/t090501-c414-flt-00-d.html +/sdcard/android/layout_tests/css2.1/t1202-counters-17-d.html +/sdcard/android/layout_tests/css2.1/t0803-c5504-mrgn-l-01-c-a.html +/sdcard/android/layout_tests/css2.1/t0805-c5514-brdr-lw-00-b.html +/sdcard/android/layout_tests/css2.1/t140201-c536-bgpos-01-b-ag.html +/sdcard/android/layout_tests/css2.1/t100303-c412-blockw-00-d-ag.html +/sdcard/android/layout_tests/css2.1/t120401-scope-04-d.html +/sdcard/android/layout_tests/css2.1/t0804-c5506-ipadn-t-01-b-a.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-06-d.html +/sdcard/android/layout_tests/css2.1/t1202-counter-15-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-26-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5521-brdr-l-00-a.html +/sdcard/android/layout_tests/css2.1/t0805-c5511-brdr-tw-02-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-46-d.html +/sdcard/android/layout_tests/css2.1/t0804-c5507-ipadn-r-02-b-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-66-d.html +/sdcard/android/layout_tests/css2.1/t140201-c534-bgreps-03-c-ag.html +/sdcard/android/layout_tests/css2.1/t100801-c544-valgn-02-d-agi.html +/sdcard/android/layout_tests/css2.1/t0804-c5509-ipadn-l-04-f-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-86-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5512-ibrdr-rw-00-a.html +/sdcard/android/layout_tests/css2.1/t1508-c527-font-00-b.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltblck-01-d.html +/sdcard/android/layout_tests/css2.1/t0402-syntax-06-f.html +/sdcard/android/layout_tests/css2.1/t100801-c548-ln-ht-03-d-ag.html +/sdcard/android/layout_tests/css2.1/t0805-c5515-brdr-w-00-a.html +/sdcard/android/layout_tests/css2.1/t051202-c24-first-lttr-00-b.html +/sdcard/android/layout_tests/css2.1/t0511-c21-pseud-link-02-e.html +/sdcard/android/layout_tests/css2.1/t0804-c5510-padn-01-e-a.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltinln-00-c-ag.html +/sdcard/android/layout_tests/css2.1/t1202-counters-14-b.html +/sdcard/android/layout_tests/css2.1/t0805-c5518-brdr-t-01-e.html +/sdcard/android/layout_tests/css2.1/t040105-atkeyw-01-b.html +/sdcard/android/layout_tests/css2.1/t0805-c5511-brdr-tw-01-b-g.html +/sdcard/android/layout_tests/css2.1/t040103-ident-04-c.html +/sdcard/android/layout_tests/css2.1/t1205-c563-list-type-01-b.html +/sdcard/android/layout_tests/css2.1/t1202-counters-18-f.html +/sdcard/android/layout_tests/css2.1/t0509-id-sel-syntax-01-f.html +/sdcard/android/layout_tests/css2.1/t100801-c544-valgn-01-d-ag.html +/sdcard/android/layout_tests/css2.1/t090501-c414-flt-ln-00-d.html +/sdcard/android/layout_tests/css2.1/t1601-c547-indent-00-b-a.html +/sdcard/android/layout_tests/css2.1/t1202-counter-04-b.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-flthw-00-c-g.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-15-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5522-brdr-01-b-g.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-35-d.html +/sdcard/android/layout_tests/css2.1/t040103-escapes-00-b.html +/sdcard/android/layout_tests/css2.1/t1001-abs-pos-cb-04-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-55-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-75-d.html +/sdcard/android/layout_tests/css2.1/t1205-c564-list-img-00-b-g.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-95-d.html +/sdcard/android/layout_tests/css2.1/t120403-visibility-00-c.html +/sdcard/android/layout_tests/css2.1/t0803-c5502-imrgn-r-02-b-a.html +/sdcard/android/layout_tests/css2.1/t051103-c21-activ-ln-00-e-i.html +/sdcard/android/layout_tests/css2.1/t0801-c412-hz-box-00-b-a.html +/sdcard/android/layout_tests/css2.1/t090501-c414-flt-02-d-g.html +/sdcard/android/layout_tests/css2.1/t1605-c545-txttrans-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t040105-atrule-00-b.html +/sdcard/android/layout_tests/css2.1/t100801-c548-leadin-00-d-a.html +/sdcard/android/layout_tests/css2.1/t0803-c5504-imrgn-l-05-b-ag.html +/sdcard/android/layout_tests/css2.1/t0804-c5508-ipadn-b-03-b-a.html +/sdcard/android/layout_tests/css2.1/t1508-c527-font-07-b.html +/sdcard/android/layout_tests/css2.1/t1202-counters-03-b.html +/sdcard/android/layout_tests/css2.1/t040103-ident-13-c.html +/sdcard/android/layout_tests/css2.1/t1204-order-01-d.html +/sdcard/android/layout_tests/css2.1/t0804-c5510-ipadn-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-04-d.html +/sdcard/android/layout_tests/css2.1/t1202-counter-13-b.html +/sdcard/android/layout_tests/css2.1/t140201-c534-bgre-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t1504-c523-font-style-00-b.html +/sdcard/android/layout_tests/css2.1/t0804-c5509-ipadn-l-01-b-ag.html +/sdcard/android/layout_tests/css2.1/t0803-c5502-mrgn-r-01-c-a.html +/sdcard/android/layout_tests/css2.1/t1204-increment-01-c-o.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-24-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5511-brdr-tw-00-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-44-d.html +/sdcard/android/layout_tests/css2.1/t140201-c534-bgreps-00-c-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-64-d.html +/sdcard/android/layout_tests/css2.1/t1204-implied-02-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-84-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5521-brdr-l-02-e.html +/sdcard/android/layout_tests/css2.1/t040103-escapes-07-b.html +/sdcard/android/layout_tests/css2.1/t0804-c5507-padn-r-02-f.html +/sdcard/android/layout_tests/css2.1/t0402-syntax-04-f.html +/sdcard/android/layout_tests/css2.1/t1002-c5523-width-01-b-g.html +/sdcard/android/layout_tests/css2.1/t0805-c5519-brdr-r-00-a.html +/sdcard/android/layout_tests/css2.1/t0511-c21-pseud-link-00-e.html +/sdcard/android/layout_tests/css2.1/t1202-counters-12-b.html +/sdcard/android/layout_tests/css2.1/t040103-ident-02-c.html +/sdcard/android/layout_tests/css2.1/t040102-keywords-01-b.html +/sdcard/android/layout_tests/css2.1/t0803-c5503-imrgn-b-00-b-a.html +/sdcard/android/layout_tests/css2.1/t0805-c5513-ibrdr-bw-00-a.html +/sdcard/android/layout_tests/css2.1/css1_forward_compatible_parsing.html +/sdcard/android/layout_tests/css2.1/t0804-c5509-padn-l-03-f-g.html +/sdcard/android/layout_tests/css2.1/t1202-counter-02-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-13-d.html +/sdcard/android/layout_tests/css2.1/t0905-c5526-flthw-00-c-g.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-33-d.html +/sdcard/android/layout_tests/css2.1/t1001-abs-pos-cb-02-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-53-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5512-brdr-rw-03-b.html +/sdcard/android/layout_tests/css2.1/t040109-c17-comments-01-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-73-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-93-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5511-ibrdr-tw-00-a.html +/sdcard/android/layout_tests/css2.1/t0803-c5504-imrgn-l-02-b-ag.html +/sdcard/android/layout_tests/css2.1/t0803-c5502-imrgn-r-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t1508-c527-font-05-b.html +/sdcard/android/layout_tests/css2.1/t1202-counters-01-b.html +/sdcard/android/layout_tests/css2.1/t1005-c5524-width-00-b-g.html +/sdcard/android/layout_tests/css2.1/t0905-c414-flt-wrap-01-d-g.html +/sdcard/android/layout_tests/css2.1/t010403-shand-font-02-b.html +/sdcard/android/layout_tests/css2.1/t0805-c5515-brdr-w-02-b.html +/sdcard/android/layout_tests/css2.1/t060401-c32-cascading-00-b.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltcont-00-d-g.html +/sdcard/android/layout_tests/css2.1/t040103-ident-11-c.html +/sdcard/android/layout_tests/css2.1/t1202-counters-16-c.html +/sdcard/android/layout_tests/css2.1/t0509-id-sel-syntax-02-b.html +/sdcard/android/layout_tests/css2.1/t090501-c5525-flt-l-00-b-g.html +/sdcard/android/layout_tests/css2.1/t040103-ident-09-c.html +/sdcard/android/layout_tests/css2.1/t050201-c12-grouping-00-b.html +/sdcard/android/layout_tests/css2.1/t120401-scope-03-c.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-02-d.html +/sdcard/android/layout_tests/css2.1/t0905-c414-flt-wrap-00-e.html +/sdcard/android/layout_tests/css2.1/t0402-c71-fwd-parsing-03-f.html +/sdcard/android/layout_tests/css2.1/t1202-counter-11-b.html +/sdcard/android/layout_tests/css2.1/t1506-c525-font-wt-00-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-22-d.html +/sdcard/android/layout_tests/css2.1/t1008-c44-ln-box-01-d-ag.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltwidth-00-c-g.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-42-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-62-d.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltmult-00-d-g.html +/sdcard/android/layout_tests/css2.1/t1401-c531-color-00-a.html +/sdcard/android/layout_tests/css2.1/t0805-c5514-ibrdr-lw-00-a.html +/sdcard/android/layout_tests/css2.1/t1202-counter-09-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-82-d.html +/sdcard/android/layout_tests/css2.1/t1604-c541-word-sp-00-b-a.html +/sdcard/android/layout_tests/css2.1/t0805-c5515-brdr-w-01-b-g.html +/sdcard/android/layout_tests/css2.1/t0804-c5507-ipadn-r-04-b-ag.html +/sdcard/android/layout_tests/css2.1/t1001-abs-pos-cb-09-b.html +/sdcard/android/layout_tests/css2.1/t140201-c534-bgreps-05-c-ag.html +/sdcard/android/layout_tests/css2.1/t0402-syntax-02-f.html +/sdcard/android/layout_tests/css2.1/t0803-c5503-mrgn-b-00-b-a.html +/sdcard/android/layout_tests/css2.1/t0805-c5517-brdr-s-00-c.html +/sdcard/android/layout_tests/css2.1/t0805-c5514-brdr-lw-01-b-g.html +/sdcard/android/layout_tests/css2.1/t100801-c42-ibx-ht-00-d-a.html +/sdcard/android/layout_tests/css2.1/t040103-ident-00-c.html +/sdcard/android/layout_tests/css2.1/t0805-c5513-brdr-bw-03-b.html +/sdcard/android/layout_tests/css2.1/t0804-c5506-padn-t-00-b-a.html +/sdcard/android/layout_tests/css2.1/t0505-c16-descendant-01-e.html +/sdcard/android/layout_tests/css2.1/t0805-c5519-brdr-r-02-e.html +/sdcard/android/layout_tests/css2.1/t1202-counters-08-b.html +/sdcard/android/layout_tests/css2.1/t051103-c21-hover-ln-00-e-i.html +/sdcard/android/layout_tests/css2.1/t120403-content-none-00-c.html +/sdcard/android/layout_tests/css2.1/t1202-counter-00-b.html +/sdcard/android/layout_tests/css2.1/t040105-import-01-b.html +/sdcard/android/layout_tests/css2.1/t040103-case-01-c.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-11-d.html +/sdcard/android/layout_tests/css2.1/t09-c5526c-display-00-e.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltblck-00-d-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-31-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5514-brdr-lw-03-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-51-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-71-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-09-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-91-d.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltwrap-00-b.html +/sdcard/android/layout_tests/css2.1/t0905-c414-flt-fit-00-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-29-d.html +/sdcard/android/layout_tests/css2.1/t0803-c5505-mrgn-01-e-a.html +/sdcard/android/layout_tests/css2.1/t0803-c5502-mrgn-r-00-c-ag.html +/sdcard/android/layout_tests/css2.1/t1004-c43-rpl-ibx-00-d-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-49-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-69-d.html +/sdcard/android/layout_tests/css2.1/t1204-multiple-00-c.html +/sdcard/android/layout_tests/css2.1/t140201-c533-bgimage-01-b-g.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-89-d.html +/sdcard/android/layout_tests/css2.1/t1508-c527-font-03-b.html +/sdcard/android/layout_tests/css2.1/t0803-c5504-mrgn-l-02-c.html +/sdcard/android/layout_tests/css2.1/t0805-c5518-brdr-t-00-a.html +/sdcard/android/layout_tests/css2.1/t010403-shand-font-00-b.html +/sdcard/android/layout_tests/css2.1/t0510-c25-pseudo-elmnt-00-c.html +/sdcard/android/layout_tests/css2.1/t0803-c5505-imrgn-00-a-ag.html +/sdcard/android/layout_tests/css2.1/t0803-c5502-imrgn-r-05-b-ag.html +/sdcard/android/layout_tests/css2.1/t060402-c31-important-00-b.html +/sdcard/android/layout_tests/css2.1/t0905-c414-flt-00-d.html +/sdcard/android/layout_tests/css2.1/t0905-c414-flt-03-c.html +/sdcard/android/layout_tests/css2.1/t040103-ident-07-c.html +/sdcard/android/layout_tests/css2.1/t1204-order-00-c.html +/sdcard/android/layout_tests/css2.1/t120401-scope-01-c.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-00-d.html +/sdcard/android/layout_tests/css2.1/t0402-c71-fwd-parsing-01-f.html +/sdcard/android/layout_tests/css2.1/t1604-c542-letter-sp-01-b-a.html +/sdcard/android/layout_tests/css2.1/t0805-c5520-brdr-b-01-e.html +/sdcard/android/layout_tests/css2.1/t140201-c536-bgpos-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-20-d.html +/sdcard/android/layout_tests/css2.1/t0509-c15-ids-01-e.html +/sdcard/android/layout_tests/css2.1/t1204-reset-01-c-o.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-40-d.html +/sdcard/android/layout_tests/css2.1/t090501-c414-flt-ln-03-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-60-d.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltwidth-02-c-g.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltclr-00-c-ag.html +/sdcard/android/layout_tests/css2.1/t1202-counter-07-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-80-d.html +/sdcard/android/layout_tests/css2.1/t1204-implied-01-c.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-18-d.html +/sdcard/android/layout_tests/css2.1/t0804-c5507-ipadn-r-01-b-ag.html +/sdcard/android/layout_tests/css2.1/t040103-escapes-03-b.html +/sdcard/android/layout_tests/css2.1/t140201-c534-bgreps-02-c-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-38-d.html +/sdcard/android/layout_tests/css2.1/t1001-abs-pos-cb-07-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-58-d.html +/sdcard/android/layout_tests/css2.1/t0803-c5505-mrgn-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t100801-c544-valgn-04-d-agi.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-78-d.html +/sdcard/android/layout_tests/css2.1/t100801-c548-ln-ht-02-b-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-98-d.html +/sdcard/android/layout_tests/css2.1/t0804-c5508-ipadn-b-00-b-a.html +/sdcard/android/layout_tests/css2.1/t0804-c5509-padn-l-01-b-a.html +/sdcard/android/layout_tests/css2.1/t040105-atrule-03-b.html +/sdcard/android/layout_tests/css2.1/t1507-c526-font-sz-02-b-a.html +/sdcard/android/layout_tests/css2.1/t0805-c5522-ibrdr-00-a.html +/sdcard/android/layout_tests/css2.1/t0803-c5502-mrgn-r-03-c.html +/sdcard/android/layout_tests/css2.1/t1202-counters-06-b.html +/sdcard/android/layout_tests/css2.1/t0905-c5525-fltmrgn-00-c-ag.html +/sdcard/android/layout_tests/css2.1/t051103-dom-hover-02-c-io.html +/sdcard/android/layout_tests/css2.1/t0804-c5506-ipadn-t-00-b-a.html +/sdcard/android/layout_tests/css2.1/t040304-c64-uri-00-a-g.html +/sdcard/android/layout_tests/css2.1/t0803-c5501-mrgn-t-00-b-a.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-07-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-27-d.html +/sdcard/android/layout_tests/css2.1/t0805-c5511-brdr-tw-03-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-47-d.html +/sdcard/android/layout_tests/css2.1/t060403-c21-pseu-id-00-e-i.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-67-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-87-d.html +/sdcard/android/layout_tests/css2.1/t1508-c527-font-01-b.html +/sdcard/android/layout_tests/css2.1/t0603-c11-import-00-b.html +/sdcard/android/layout_tests/css2.1/t0803-c5504-imrgn-l-04-b-ag.html +/sdcard/android/layout_tests/css2.1/t1503-c522-font-family-00-b.html +/sdcard/android/layout_tests/css2.1/t090501-c414-flt-ln-01-d-g.html +/sdcard/android/layout_tests/css2.1/t0511-c21-pseud-link-03-e.html +/sdcard/android/layout_tests/css2.1/t1202-counters-15-b.html +/sdcard/android/layout_tests/css2.1/t040105-atkeyw-02-b.html +/sdcard/android/layout_tests/css2.1/t0805-c5519-ibrdr-r-00-a.html +/sdcard/android/layout_tests/css2.1/t040103-ident-05-c.html +/sdcard/android/layout_tests/css2.1/t0602-inherit-bdr-pad-b-00.html +/sdcard/android/layout_tests/css2.1/t040302-c61-rel-len-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t0804-c5507-padn-r-00-c-ag.html +/sdcard/android/layout_tests/css2.1/t0804-c5509-ipadn-l-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t0805-c5520-ibrdr-b-00-a.html +/sdcard/android/layout_tests/css2.1/t1202-counter-05-b.html +/sdcard/android/layout_tests/css2.1/t1008-c44-ln-box-03-d-ag.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-16-d.html +/sdcard/android/layout_tests/css2.1/t040103-escapes-01-b.html +/sdcard/android/layout_tests/css2.1/t100304-c43-rpl-bbx-01-d-g.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-36-d.html +/sdcard/android/layout_tests/css2.1/t1001-abs-pos-cb-05-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-56-d.html +/sdcard/android/layout_tests/css2.1/t0804-c5509-padn-l-02-f.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-76-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-96-d.html +/sdcard/android/layout_tests/css2.1/t051202-c26-psudo-nest-00-c.html +/sdcard/android/layout_tests/css2.1/t040105-atrule-01-b.html +/sdcard/android/layout_tests/css2.1/t0804-c5508-ipadn-b-02-b-a.html +/sdcard/android/layout_tests/css2.1/t0803-c5501-imrgn-t-00-b-ag.html +/sdcard/android/layout_tests/css2.1/t140201-c532-bgcolor-01-b.html +/sdcard/android/layout_tests/css2.1/t1508-c527-font-08-b.html +/sdcard/android/layout_tests/css2.1/t1202-counters-04-b.html +/sdcard/android/layout_tests/css2.1/t040103-case-00-b.html +/sdcard/android/layout_tests/css2.1/t1504-c543-txt-decor-00-d-g.html +/sdcard/android/layout_tests/css2.1/t0805-c5516-brdr-c-00-a.html +/sdcard/android/layout_tests/css2.1/t0804-c5506-ipadn-t-02-b-a.html +/sdcard/android/layout_tests/css2.1/t1204-increment-00-c-o.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-05-d.html +/sdcard/android/layout_tests/css2.1/t1202-counter-14-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-25-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-45-d.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-65-d.html +/sdcard/android/layout_tests/css2.1/t040103-escapes-02-d.html +/sdcard/android/layout_tests/css2.1/t1602-c546-txt-align-00-b.html +/sdcard/android/layout_tests/css2.1/t170602-bdr-conflct-w-85-d.html +/sdcard/android/layout_tests/css2.1/t040103-escapes-05-c.html +/sdcard/android/layout_tests/css2.1/t040103-escapes-08-b.html +/sdcard/android/layout_tests/css2.1/t0803-c5504-imrgn-l-01-b-ag.html +/sdcard/android/layout_tests/css2.1/t1002-c5523-width-00-b-g.html +/sdcard/android/layout_tests/css2.1/t0804-c5507-padn-r-03-f.html +/sdcard/android/layout_tests/css2.1/t0402-syntax-05-f.html +/sdcard/android/layout_tests/css2.1/t1205-c561-list-displ-00-b.html +/sdcard/android/layout_tests/css2.1/t0511-c21-pseud-link-01-e.html +/sdcard/android/layout_tests/css2.1/t051201-c23-first-line-00-b.html +/sdcard/android/layout_tests/css2.1/t1202-counters-13-b.html +/sdcard/android/layout_tests/css2.1/t140201-c533-bgimage-00-a.html +/sdcard/android/layout_tests/css2.1/t040105-atkeyw-00-b.html +/sdcard/android/layout_tests/css1/color_and_background/background_color.html +/sdcard/android/layout_tests/css1/color_and_background/color.html +/sdcard/android/layout_tests/css1/color_and_background/background.html +/sdcard/android/layout_tests/css1/color_and_background/background_repeat.html +/sdcard/android/layout_tests/css1/color_and_background/background_image.html +/sdcard/android/layout_tests/css1/color_and_background/background_position.html +/sdcard/android/layout_tests/css1/color_and_background/background_attachment.html +/sdcard/android/layout_tests/css1/pseudo/firstline.html +/sdcard/android/layout_tests/css1/pseudo/pseudo_elements_in_selectors.html +/sdcard/android/layout_tests/css1/pseudo/multiple_pseudo_elements.html +/sdcard/android/layout_tests/css1/pseudo/firstletter.html +/sdcard/android/layout_tests/css1/pseudo/anchor.html +/sdcard/android/layout_tests/css1/text_properties/text_align.html +/sdcard/android/layout_tests/css1/text_properties/line_height.html +/sdcard/android/layout_tests/css1/text_properties/text_transform.html +/sdcard/android/layout_tests/css1/text_properties/word_spacing.html +/sdcard/android/layout_tests/css1/text_properties/letter_spacing.html +/sdcard/android/layout_tests/css1/text_properties/vertical_align.html +/sdcard/android/layout_tests/css1/text_properties/text_indent.html +/sdcard/android/layout_tests/css1/text_properties/text_decoration.html +/sdcard/android/layout_tests/css1/basic/containment.html +/sdcard/android/layout_tests/css1/basic/id_as_selector.html +/sdcard/android/layout_tests/css1/basic/comments.html +/sdcard/android/layout_tests/css1/basic/class_as_selector.html +/sdcard/android/layout_tests/css1/basic/contextual_selectors.html +/sdcard/android/layout_tests/css1/basic/inheritance.html +/sdcard/android/layout_tests/css1/basic/grouping.html +/sdcard/android/layout_tests/css1/font_properties/font_weight.html +/sdcard/android/layout_tests/css1/font_properties/font_size.html +/sdcard/android/layout_tests/css1/font_properties/font.html +/sdcard/android/layout_tests/css1/font_properties/font_style.html +/sdcard/android/layout_tests/css1/font_properties/font_family.html +/sdcard/android/layout_tests/css1/font_properties/font_variant.html +/sdcard/android/layout_tests/css1/units/percentage_units.html +/sdcard/android/layout_tests/css1/units/color_units.html +/sdcard/android/layout_tests/css1/units/length_units.html +/sdcard/android/layout_tests/css1/units/urls.html +/sdcard/android/layout_tests/css1/cascade/important.html +/sdcard/android/layout_tests/css1/cascade/cascade_order.html +/sdcard/android/layout_tests/css1/box_properties/border_width.html +/sdcard/android/layout_tests/css1/box_properties/margin.html +/sdcard/android/layout_tests/css1/box_properties/width.html +/sdcard/android/layout_tests/css1/box_properties/padding_left.html +/sdcard/android/layout_tests/css1/box_properties/margin_left_inline.html +/sdcard/android/layout_tests/css1/box_properties/clear.html +/sdcard/android/layout_tests/css1/box_properties/border_left_width.html +/sdcard/android/layout_tests/css1/box_properties/margin_left.html +/sdcard/android/layout_tests/css1/box_properties/padding_top.html +/sdcard/android/layout_tests/css1/box_properties/padding_bottom.html +/sdcard/android/layout_tests/css1/box_properties/border_style_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_top_width_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_top_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_style.html +/sdcard/android/layout_tests/css1/box_properties/border_top.html +/sdcard/android/layout_tests/css1/box_properties/margin_bottom_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_bottom_width.html +/sdcard/android/layout_tests/css1/box_properties/margin_bottom.html +/sdcard/android/layout_tests/css1/box_properties/float_elements_in_series.html +/sdcard/android/layout_tests/css1/box_properties/float_on_text_elements.html +/sdcard/android/layout_tests/css1/box_properties/padding.html +/sdcard/android/layout_tests/css1/box_properties/border_right_width_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_right_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_right_width.html +/sdcard/android/layout_tests/css1/box_properties/margin_right.html +/sdcard/android/layout_tests/css1/box_properties/border_width_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_inline.html +/sdcard/android/layout_tests/css1/box_properties/clear_float.html +/sdcard/android/layout_tests/css1/box_properties/border.html +/sdcard/android/layout_tests/css1/box_properties/padding_left_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_left_width_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_left_inline.html +/sdcard/android/layout_tests/css1/box_properties/padding_top_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_left.html +/sdcard/android/layout_tests/css1/box_properties/padding_bottom_inline.html +/sdcard/android/layout_tests/css1/box_properties/margin_top_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_top_width.html +/sdcard/android/layout_tests/css1/box_properties/border_bottom_width_inline.html +/sdcard/android/layout_tests/css1/box_properties/acid_test.html +/sdcard/android/layout_tests/css1/box_properties/border_bottom_inline.html +/sdcard/android/layout_tests/css1/box_properties/margin_top.html +/sdcard/android/layout_tests/css1/box_properties/border_bottom.html +/sdcard/android/layout_tests/css1/box_properties/padding_right_inline.html +/sdcard/android/layout_tests/css1/box_properties/float_margin.html +/sdcard/android/layout_tests/css1/box_properties/padding_right.html +/sdcard/android/layout_tests/css1/box_properties/padding_inline.html +/sdcard/android/layout_tests/css1/box_properties/float.html +/sdcard/android/layout_tests/css1/box_properties/height.html +/sdcard/android/layout_tests/css1/box_properties/margin_right_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_color_inline.html +/sdcard/android/layout_tests/css1/box_properties/border_right.html +/sdcard/android/layout_tests/css1/box_properties/border_color.html +/sdcard/android/layout_tests/css1/box_properties/margin_inline.html +/sdcard/android/layout_tests/css1/conformance/forward_compatible_parsing.html +/sdcard/android/layout_tests/css1/formatting_model/floating_elements.html +/sdcard/android/layout_tests/css1/formatting_model/horizontal_formatting.html +/sdcard/android/layout_tests/css1/formatting_model/vertical_formatting.html +/sdcard/android/layout_tests/css1/formatting_model/height_of_lines.html +/sdcard/android/layout_tests/css1/formatting_model/inline_elements.html +/sdcard/android/layout_tests/css1/formatting_model/canvas.html +/sdcard/android/layout_tests/css1/formatting_model/replaced_elements.html +/sdcard/android/layout_tests/css1/classification/list_style_type.html +/sdcard/android/layout_tests/css1/classification/list_style_image.html +/sdcard/android/layout_tests/css1/classification/list_style_position.html +/sdcard/android/layout_tests/css1/classification/display.html +/sdcard/android/layout_tests/css1/classification/list_style.html +/sdcard/android/layout_tests/css1/classification/white_space.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/dom/insertTbodyRebuild1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/dom/appendCellsRebuild1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/dom/appendColGroup1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/dom/appendCol1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/dom/insertTbodyExpand1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/dom/appendCells1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug56024.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-14.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug11945.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-18.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug72393.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug23847.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug7121-2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug27993-2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug7243.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-3.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug1647.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-7.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug101759.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug2479-5.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug14007-1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-11.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug1010.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-15.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug14159-2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug25707.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug47163.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug91057.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug131020-3.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug19526.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug14489.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug73629.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug1725.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-4.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug106336.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-8.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug22122.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug10216.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug14007-2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug106966.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug32205-4.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug42043.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug178855.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-12.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug92868_1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug21518.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug45621.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-16.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug65372.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug59252.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug29058-2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug17826.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug67915-2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug46268-4.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug1128.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug1164.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/97619.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-5.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug10140.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-9.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug32205-1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug61042-1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug104898.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug8499.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug9879-1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug128876.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-13.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug58402-2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug24880-1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug85016.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-17.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug80762-2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug18770.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug33784.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3105.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug1055-2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug89315.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug92647-1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug1262.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug7113.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3517.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug220653.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug4294.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-6.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug6933.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug51000.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug11331.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug61042-2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/bugs/bug3166-10.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/other/empty_cells.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/other/test4.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/core/col_span2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/core/columns.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/core/captions1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/core/cols1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/core/backgrounds.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/core/captions2.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/core/captions3.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/core/conflicts.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/core/standards1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/collapsing_borders/bug41262-5.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/collapsing_borders/bug41262-6.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/collapsing_borders/bug41262-1.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_table_frame_below.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_position-table-cell.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_caption.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_position-table-column.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/tables_caption_align_right.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_frame_lhs.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_rules_rows.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_table_rules_all.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_frame_above.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_frame_void.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_table_frame_hsides.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_caption_right.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tbody.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_layers-show.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_caption_align_right.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_border-table-cell.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_frame_below.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_hidden_table.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_table_rules_cols.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_position-table-row.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_border-table-row.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_rules_cols.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_table_frame_border.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_colgroup_width_px.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_table_frame_box.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_table_rules_rows.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_frame_hsides.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_caption_left.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_caption_align_left.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_caption_hidden_table.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_border-table.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_frame_rhs.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_frame_vsides.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_layers-hide.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_table_frame_lhs.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_fixed-bg.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_td_dynamic_deactivate.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_table_frame_rhs.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_table_frame_above.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/x_table_frame_vsides.xml +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/backgr_border-table-column.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_caption_top.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table.html +/sdcard/android/layout_tests/tables/mozilla_expected_failures/marvin/tables_caption_align_left.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteCellsRebuild1.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteRowsShrink1.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertCellsRebuild1.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertCellsRebuild2.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteCol1.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteCol2.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertColGroups1.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteCol3.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertColGroups2.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteCellsShrink1.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteTbodyExpand1.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteCellsShrink2.html +/sdcard/android/layout_tests/tables/mozilla/dom/tableDom.html +/sdcard/android/layout_tests/tables/mozilla/dom/appendCol2.html +/sdcard/android/layout_tests/tables/mozilla/dom/appendTbodyExpand1.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteTbodyRebuild1.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteColGroup1.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteColGroup2.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertRowsExpand1.html +/sdcard/android/layout_tests/tables/mozilla/dom/appendRowsExpand1.html +/sdcard/android/layout_tests/tables/mozilla/dom/deleteRowsRebuild1.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertCols1.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertCols2.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertRowsRebuild1.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertCellsExpand1.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertCols3.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertCellsExpand2.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertCols4.html +/sdcard/android/layout_tests/tables/mozilla/dom/insertCols5.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug30418.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug14159-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46623-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug24661.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug30692.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug53690-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug88035-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug51727.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug81934.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug68912.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug60992.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug92647-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug120107.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1271.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug28928.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug103533.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4093.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2267.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug92868.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4429.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug5538.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug106816.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug10009.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug149275-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug32205-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug13118.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1802s.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug10296-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug647.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug48028-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug72359.xml +/sdcard/android/layout_tests/tables/mozilla/bugs/bug25367.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1430.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1224.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug67915-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug45486.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug113424.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug108340.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3454.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2479-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug139524-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4849-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug11321.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2886.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug219693-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug42443.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug54450.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug269566.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug12709.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug80762-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug21918.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1302.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug25663.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug55527.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug7112-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1055-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug69382-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug17587.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug102145-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2516.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4803.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug19599.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1188.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3718.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug110566.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug106158-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug5188.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug215629.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug154780.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug137388-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug10039.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug5798.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug22246-3a.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug25074.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug27038-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/45621.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug25086.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug43854-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug34538.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug131020.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug7121-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4501.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug53891.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug8032-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46268-5.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug63785.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug113235-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug69187.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug9024.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug120364.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug109043.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug220536.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1818-5.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2973.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug222467.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug6674.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug99948.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug277062.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug127267.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug30332-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug10036.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug16012.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2997.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug17130-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug650.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug14323.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug10565.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug52505.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug29314.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug13169.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug30559.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug29326.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug55545.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46268-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug18359.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3037-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug82946-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug55694.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug6304.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3263.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1818-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug101674.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug123862.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug221784-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug275625.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug106795.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug22513.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug57300.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug51037.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug119786.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug12908-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug15247.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46623-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug34176.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug53690-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug24880.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug41890.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug88035-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug50695-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1163-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug8411.xml +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1802.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3260.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug97138.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug9123-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3309-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3191.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1296.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug222336.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2773.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug8381.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug194024.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2947.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug5838.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug60013.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug138725.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug11026.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug175455-4.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug58402-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug43039.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug48028-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug24627.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug35662.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug21299.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug26178.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug18664.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug23299.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug88524.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug48827.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1318.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4427.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug6184.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug11384s.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug5835.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4576.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2479-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug139524-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug133948.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug9879-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug11944.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug13196.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug20579.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug29058-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug96334.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug7112-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug60749.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug59354.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug69382-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug27993-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug57378.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug102145-4.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug98196.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug9072.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2585.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug145572.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug137388-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug5799.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug157890.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug196870.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug22246-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug73321.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug18440.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug965.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug131020-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug43854-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug96343.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46368-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug102145-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug8032-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1067-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2065.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug97383.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug113235-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3681-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug9271-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1809.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2962.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1818-6.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2469.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug8950.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug133756-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2886-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug159108.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4849.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug25004.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug12910.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug43204.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug20804.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug23072.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug19061-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug10269-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug13526.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug52506.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug27038-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46480-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug42187.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2050.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3103.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug39209.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46268.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46268-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug38916.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug82946-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3037-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4523.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug67864.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug8361.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1818-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2981-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2684.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4385.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug126742.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug12910-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug8858.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug709.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug16252.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug33137.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug45350.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug12908-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug92143.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug14159-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug50695-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug29429.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1261.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4520.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46944.html +/sdcard/android/layout_tests/tables/mozilla/bugs/adforce_imgis_com.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug18955.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug227123.xml +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3309-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug9123-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug7342.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug83786.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4382.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug24200.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug641-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug625.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug32205-5.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug56201.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug32841.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug44505.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug45055-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug15544.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug40828.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1800.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug6404.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2509.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2479-4.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4739.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug139524-4.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug13105.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug149275-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug32205-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug12008.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug10296-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug727.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug278385.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug13484.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug15933.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug60807.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug93363.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug14929.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug86708.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug57828.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug11384q.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2954.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2479-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug139524-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug219693-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug137388-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug30273.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug22246-3.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug22246-2a.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug12384.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug44523.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug60804.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug86220.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug32447.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug17138.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug56405.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug26553.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1220.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug29058-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug33855.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug29157.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2123.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug19356.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug28933.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46368-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug18558.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug102145-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1067-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1474.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3681-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4284.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug4527.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug9271-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2296.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug106158-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2757.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug128229.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug133756-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug5797.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug278266.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug23235.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug19061-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug10269-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug963.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug27038-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug12268.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug45055.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug7471.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug75250.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46480-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug30985.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46924.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug56563.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug23994.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug113235-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug99923.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug55789.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2981-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1818-4.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug7714.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug222846.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug68998.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug30332-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug17130-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug51140.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug23151.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug10633.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug24503.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug28341.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug47432.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug101201.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug17168.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug46268-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug78162.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug17548.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug100334.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug57828-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1818-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug2763.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug1828.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug221784-1.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug3977.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug131020_iframe.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug641-2.html +/sdcard/android/layout_tests/tables/mozilla/bugs/bug22019.html +/sdcard/android/layout_tests/tables/mozilla/other/move_row.html +/sdcard/android/layout_tests/tables/mozilla/other/nestedTables.html +/sdcard/android/layout_tests/tables/mozilla/other/wa_table_tr_align.html +/sdcard/android/layout_tests/tables/mozilla/other/ms.html +/sdcard/android/layout_tests/tables/mozilla/other/cell_widths.html +/sdcard/android/layout_tests/tables/mozilla/other/test3.html +/sdcard/android/layout_tests/tables/mozilla/other/cellspacing.html +/sdcard/android/layout_tests/tables/mozilla/other/nested2.html +/sdcard/android/layout_tests/tables/mozilla/other/test6.html +/sdcard/android/layout_tests/tables/mozilla/other/padding.html +/sdcard/android/layout_tests/tables/mozilla/other/body_col.html +/sdcard/android/layout_tests/tables/mozilla/other/wa_table_thtd_rowspan.html +/sdcard/android/layout_tests/tables/mozilla/other/slashlogo.html +/sdcard/android/layout_tests/tables/mozilla/images/adforce_imgis_com.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_auto_auto.html +/sdcard/android/layout_tests/tables/mozilla/core/captions.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_fix_fixPer.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_auto_autoFix.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_auto_autoPer.html +/sdcard/android/layout_tests/tables/mozilla/core/row_span.html +/sdcard/android/layout_tests/tables/mozilla/core/cell_heights.html +/sdcard/android/layout_tests/tables/mozilla/core/misc.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_auto_autoFixPer.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_auto_fix.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_auto_per.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_fix_auto.html +/sdcard/android/layout_tests/tables/mozilla/core/col_span.html +/sdcard/android/layout_tests/tables/mozilla/core/margins.html +/sdcard/android/layout_tests/tables/mozilla/core/borders.html +/sdcard/android/layout_tests/tables/mozilla/core/table_frame.html +/sdcard/android/layout_tests/tables/mozilla/core/table_rules.html +/sdcard/android/layout_tests/tables/mozilla/core/table_heights.html +/sdcard/android/layout_tests/tables/mozilla/core/nested1.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_fix_autoFix.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_auto_fixPer.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_fix_autoPer.html +/sdcard/android/layout_tests/tables/mozilla/core/bloomberg.html +/sdcard/android/layout_tests/tables/mozilla/core/one_row.html +/sdcard/android/layout_tests/tables/mozilla/core/table_widths.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_fix_autoFixPer.html +/sdcard/android/layout_tests/tables/mozilla/core/box_sizing.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_fix_fix.html +/sdcard/android/layout_tests/tables/mozilla/core/col_widths_fix_per.html +/sdcard/android/layout_tests/tables/mozilla/collapsing_borders/bug41262-3.html +/sdcard/android/layout_tests/tables/mozilla/collapsing_borders/bug41262-4.html +/sdcard/android/layout_tests/tables/mozilla/collapsing_borders/bug127040.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_green.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tfoot_valign_top.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_olive.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_teal_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_align_center.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_width_pct.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_class.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_olive_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_border_0.html +/sdcard/android/layout_tests/tables/mozilla/marvin/backgr_simple-table-row-group.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_maroon_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_align_center.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/colgroup_valign_baseline.html +/sdcard/android/layout_tests/tables/mozilla/marvin/colgroup_align_right.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_width_rel.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_lime.html +/sdcard/android/layout_tests/tables/mozilla/marvin/td_valign_baseline.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_navy.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_align_char.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_valign_top.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/backgr_simple-table-column.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tbody_valign_baseline.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_nowrap.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_id.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_style.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_bgcolor_rgb.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_green_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_caption_id.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/thead_align_char.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_class.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_span.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_bgcolor_rgb.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/th_valign_bottom.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_silver_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/table_rules_groups.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_valign_baseline.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_gray.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_align_center.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tbody_valign_bottom.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_bgcolor_rgb.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_cellspacing.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_width_px.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_navy_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_align_left.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/td_valign_middle.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_valign_middle.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_yellow.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_style.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_td_width.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_green.html +/sdcard/android/layout_tests/tables/mozilla/marvin/backgr_simple-table-cell.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tbody_align_left.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_silver.html +/sdcard/android/layout_tests/tables/mozilla/marvin/thead_valign_top.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_align_center.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_border_px.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_valign_bottom.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_id.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_th_colspan.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_cellspacing_pct.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_td_nowrap.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tfoot_char.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_blue.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_navy.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_style.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tbody_align_center.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_lime_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/thead_align_right.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_aqua_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_valign_bottom.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_align_left.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_rowspan.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_bgcolor_name.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_id.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_align_char.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_rowspan.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_navy_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tfoot_valign_middle.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_valign_baseline.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_red.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_gray.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_align_right.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tfoot_align_justify.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_fuchsia.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_align_right.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_align_right.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_white_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_align_justify.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_valign_top.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_align_justify.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_class.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_align_left.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_maroon_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_rules_none.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/thead_valign_middle.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_caption_align_bot.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_cellpadding_pct.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_yellow_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_align_right.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_colspan.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_valign_top.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/thead_align_justify.html +/sdcard/android/layout_tests/tables/mozilla/marvin/th_valign_baseline.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_colspan.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/colgroup_align_left.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_valign_baseline.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_nowrap.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_lime_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_aqua_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_td_align_left.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_align_char.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_align_justify.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_border_none.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_border_1.html +/sdcard/android/layout_tests/tables/mozilla/marvin/table_row_align_center.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tbody_align_right.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_th_align_left.html +/sdcard/android/layout_tests/tables/mozilla/marvin/td_valign_bottom.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_maroon.html +/sdcard/android/layout_tests/tables/mozilla/marvin/table_frame_border.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_class.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/thead_align_center.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_caption_style.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_valign_bottom.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_blue.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_width_px.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_align_center.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_valign_middle.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_silver_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_style.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_td_align_center.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_width_rel.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/backgr_index.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_row_th_nowrap.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_black_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_id.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_align_char.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_align_left.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_valign_middle.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_width.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_align_justify.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tfoot_align_right.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_cellpadding_pct.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_gray_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_olive_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_valign_baseline.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_align_right.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tfoot_valign_bottom.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_align_right.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_id.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_valign_baseline.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tbody_align_char.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_valign_top.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/body_col.html +/sdcard/android/layout_tests/tables/mozilla/marvin/backgr_simple-table-row.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_fuchsia.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_cellpadding.html +/sdcard/android/layout_tests/tables/mozilla/marvin/colgroup_align_center.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_caption_class.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_frame_void.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_td_align_right.html +/sdcard/android/layout_tests/tables/mozilla/marvin/thead_valign_bottom.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_td_rowspan.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_align_char.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tbody_char.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_class.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_purple.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_rules_groups.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/backgr_simple-table.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_valign_middle.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_gray_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_style.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_align_left.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_class.html +/sdcard/android/layout_tests/tables/mozilla/marvin/colgroup_width_pct.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tbody_valign_top.html +/sdcard/android/layout_tests/tables/mozilla/marvin/body_tfoot.html +/sdcard/android/layout_tests/tables/mozilla/marvin/colgroup_span.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_width_pct.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_valign_baseline.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_yellow_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_align_left.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_height.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_white.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_align_justify.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_align_right.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_align_right.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_valign_baseline.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/table_frame_box.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_yellow.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_align_right.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tfoot_align_left.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_width_px.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/thead_char.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_valign_top.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_valign_bottom.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/table_row_align_right.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_border_2.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_aqua.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_valign_bottom.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/td_valign_top.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_id.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tfoot_valign_baseline.html +/sdcard/android/layout_tests/tables/mozilla/marvin/th_valign_top.html +/sdcard/android/layout_tests/tables/mozilla/marvin/col_span.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_align_left.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/table_row_align_left.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_purple_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_class.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_align_char.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_red_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_width_pct.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_green_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_valign_top.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_border.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_white_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/colgroup_valign_top.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_fuchsia_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_default.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_caption_align_bottom.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_silver.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_valign_bottom.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_align_center.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_red.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_black.html +/sdcard/android/layout_tests/tables/mozilla/marvin/table_overflow_td_dynamic_deactivate.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_valign_top.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_cellpadding.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/colgroup_valign_middle.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_th_align_right.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_th_rowspan.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_cellspacing.html +/sdcard/android/layout_tests/tables/mozilla/marvin/table_rules_none.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_white.html +/sdcard/android/layout_tests/tables/mozilla/marvin/colgroup_align_justify.html +/sdcard/android/layout_tests/tables/mozilla/marvin/table_rules_all.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_valign_bottom.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_align_left.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_blue_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_valign_top.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_valign_middle.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_black_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/thead_align_left.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_align_right.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_caption_align_top.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_valign_middle.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_align_left.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_id.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_col_span.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_bgcolor_name.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_align_justify.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_valign_middle.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_height.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_align_center.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_style.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_teal.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_td_height.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_olive.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_th_height.html +/sdcard/android/layout_tests/tables/mozilla/marvin/body_thead.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_align_justify.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_maroon.html +/sdcard/android/layout_tests/tables/mozilla/marvin/backgr_simple-table-column-group.html +/sdcard/android/layout_tests/tables/mozilla/marvin/table_overflow_hidden_td.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_valign_middle.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_black.html +/sdcard/android/layout_tests/tables/mozilla/marvin/backgr_layers-opacity.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_style.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_th_align_center.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_align_char.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_bgcolor_name.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_red_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_blue_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_valign_top.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_lime.html +/sdcard/android/layout_tests/tables/mozilla/marvin/th_valign_middle.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_width_percent.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_width.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_teal_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_valign_baseline.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tbody_valign_middle.html +/sdcard/android/layout_tests/tables/mozilla/marvin/colgroup_width_px.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_valign_baseline.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_align_char.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/backgr_position-table.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tfoot_align_char.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_th_width.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tfoot_align_center.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tbody_align_justify.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_bgcolor_rgb.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_purple_rgb.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_align_center.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/colgroup_valign_bottom.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_td_colspan.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_caption_align_top.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_table_align_center.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_valign_middle.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_colgroup_align_center.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/thead_valign_baseline.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_thead_style.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tbody_class.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_border_3.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_align_left.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tr_valign_bottom.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/body_tbody.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_td_bgcolor_name.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_bgcolor_teal.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_tfoot_align_justify.xml +/sdcard/android/layout_tests/tables/mozilla/marvin/tables_bgcolor_purple.html +/sdcard/android/layout_tests/tables/mozilla/marvin/tr_valign_bottom.html +/sdcard/android/layout_tests/tables/mozilla/marvin/x_th_id.xml +/sdcard/android/layout_tests/css3/css3-modsel-33.html +/sdcard/android/layout_tests/css3/css3-modsel-35.html +/sdcard/android/layout_tests/css3/css3-modsel-36.html +/sdcard/android/layout_tests/css3/css3-modsel-37.html +/sdcard/android/layout_tests/transitions/transition-drt-api.html diff --git a/tests/DumpRenderTree/assets/results/layout_tests_passed.txt b/tests/DumpRenderTree/assets/results/layout_tests_passed.txt index fbceabd..37a4bbe 100644 --- a/tests/DumpRenderTree/assets/results/layout_tests_passed.txt +++ b/tests/DumpRenderTree/assets/results/layout_tests_passed.txt @@ -1,3 +1,1051 @@ +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrlastchild.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementnormalize.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_noderemovechildnode.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementgetattributenodenull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapreturnfirstitem.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrparentnodenull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapreturnattrnode.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementsetattributenodenull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementnormalize2.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_noderemovechild.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeinsertbeforeinvalidnodetype.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodechildnodesappendchild.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrfirstchild.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodevalue05.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatagetlength.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodedocumentnodename.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementinvalidcharacterexception.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_textsplittexttwo.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrsetvalue1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeclonegetparentnull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentcreatetextnode.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentinvalidcharacterexceptioncreateelement.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodelistreturnlastitem.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrchildnodes1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodetextnodevalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementretrieveallattributes.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_domimplementationfeaturenoversion.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrprevioussiblingnull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementgetelementsbytagnamespecialvalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeappendchildnodeancestor.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrappendchild1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementgetelementsbytagnamenomatch.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeappendchildgetnodename.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatadeletedataend.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatareplacedataexceedslengthofarg.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_notationssetnameditem1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodereplacechildinvalidnodetype.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeinsertbeforenodename.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrinsertbefore7.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodereplacechild.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodegetprevioussiblingnull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodehaschildnodesfalse.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapreturnlastitem.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodegetfirstchildnull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_notationsremovenameditem1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeinsertbeforedocfragment.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataappenddata.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeattributenodevalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrspecifiedvalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrgetvalue1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodereplacechildnewchilddiffdocument.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_domimplementationfeaturenull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataindexsizeerrreplacedataoffsetnegative.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrinsertbefore1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeinsertbeforenewchildexists.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodevalue06.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodelistindexnotzero.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_textwithnomarkup.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_entitiessetnameditem1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrsetvalue2.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentgetelementsbytagnametotallength.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentinvalidcharacterexceptioncreateattribute1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodelistindexgetlengthofemptylist.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementchangeattributevalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeattributenodetype.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodegetnextsiblingnull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapinuseattributeerr.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrchildnodes2.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrcreatetextnode2.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodechildnodesempty.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataappenddatagetdata.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatareplacedataend.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodegetlastchildnull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrcreatetextnode.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeclonefalsenocopytext.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeappendchild.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrappendchild2.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataindexsizeerrreplacedataoffsetgreater.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodetextnodename.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeparentnode.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapnotfounderr.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementretrieveattrvalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodereplacechildoldchildnonexistent.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeinsertbefore.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodehaschildnodes.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodecommentnodename.html +/sdcard/android/layout_tests/dom/html/level1/core/documentinvalidcharacterexceptioncreateentref1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrgetvalue2.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementretrievetagname.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrspecifiedvaluechanged.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeinsertbeforenewchilddiffdocument.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrinsertbefore2.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataindexsizeerrreplacedatacountnegative.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatadeletedatabegining.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentcreateelement.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_textparseintolistofelements.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodevalue07.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodegetownerdocumentnull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatareplacedatamiddle.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeappendchildinvalidnodetype.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementremoveattributenode.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataindexsizeerrsubstringoffsetgreater.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatadeletedatamiddle.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatasubstringexceedsvalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentgetrootnode.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatainsertdataend.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodedocumentnodetype.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeclonenodetrue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapchildnoderange.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapnumberofnodes.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodevalue01.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentgetimplementation.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeappendchildchildexists.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrappendchild3.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentgetelementsbytagnamelength.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeelementnodeattributes.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataindexsizeerrsubstringnegativeoffset.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_noderemovechildgetnodename.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataindexsizeerrsubstringcountnegative.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementnotfounderr.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodedocumentfragmentnodename.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatasubstringvalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodegetownerdocument.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementassociatedattribute.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementinvalidcharacterexception1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_textindexsizeerroffsetoutofbounds.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatadeletedatagetlengthanddata.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodereplacechildnodeancestor.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodevalue08.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_textsplittextthree.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentcreateelementcasesensitive.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrinsertbefore3.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodedocumentnodeattribute.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeelementnodevalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodereplacechildnewchildexists.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_domimplementationfeaturexml.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementreplaceexistingattributegevalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeelementnodename.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementcreatenewattribute.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodecommentnodevalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrnextsiblingnull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrremovechild1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapwrongdocumenterr.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapreturnnull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodevalue02.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrappendchild4.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementinuseattributeerr.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodegetlastchild.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementgetattributenode.html +/sdcard/android/layout_tests/dom/html/level1/core/documentgetdoctypenodtd.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapsetnameditemreturnvalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatareplacedataexceedslengthofdata.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodetextnodetype.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeattributenodeattribute.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentgetdoctype.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapsetnameditemthatexists.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentcreatedocumentfragment.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_commentgetcomment.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attreffectivevalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_textsplittextfour.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeinsertbeforenodeancestor.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrinsertbefore4.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_textindexsizeerrnegativeoffset.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodecommentnodetype.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodetextnodeattribute.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodedocumentnodevalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatadeletedataexceedslength.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_textsplittextone.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodedocumentfragmentnodevalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatagetdata.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatainsertdatabeginning.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodegetnextsibling.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodelistreturnfirstitem.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrremovechild2.html +/sdcard/android/layout_tests/dom/html/level1/core/documentinvalidcharacterexceptioncreatepi.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodevalue03.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrappendchild5.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrhaschildnodes.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrreplacechild1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrnormalize.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodedocumentfragmentnodetype.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementreplaceexistingattribute.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeappendchildnewchilddiffdocument.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodelisttraverselist.html +/sdcard/android/layout_tests/dom/html/level1/core/documentinvalidcharacterexceptioncreateentref.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatasetnodevalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_entitiesremovenameditem1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrinsertbefore5.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementgetelementsbytagname.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrcreatedocumentfragment.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrclonenode1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapremovenameditem.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementaddnewattribute.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodelistindexequalzero.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodechildnodes.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementgetelementempty.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatainsertdatamiddle.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentcreatecomment.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodegetprevioussibling.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeinsertbeforerefchildnonexistent.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementremoveattributeaftercreate.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_noderemovechildoldchildnonexistent.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementwrongdocumenterr.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_characterdatareplacedatabegining.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeattributenodename.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodecommentnodeattributes.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodevalue04.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentinvalidcharacterexceptioncreateattribute.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementremoveattribute.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrappendchild6.html +/sdcard/android/layout_tests/dom/html/level1/core/documentinvalidcharacterexceptioncreatepi1.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeelementnodetype.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrname.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapgetnameditem.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementgettagname.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapsetnameditem.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeinsertbeforerefchildnull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrreplacechild2.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeparentnodenull.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodecloneattributescopied.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeclonenodefalse.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodereplacechildnodename.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementgetelementsbytagnameaccessnodelist.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeclonetruecopytext.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_attrinsertbefore6.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodelistindexgetlength.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_elementreplaceattributewithself.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentcreateattribute.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodeappendchilddocfragment.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_namednodemapsetnameditemwithnewvalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_documentgetelementsbytagnamevalue.html +/sdcard/android/layout_tests/dom/html/level1/core/hc_nodegetfirstchild.html +/sdcard/android/layout_tests/dom/html/level2/events/EventTargetCast01.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent12.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent04.html +/sdcard/android/layout_tests/dom/html/level2/events/createEvent02.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent08.html +/sdcard/android/layout_tests/dom/html/level2/events/initEvent04.html +/sdcard/android/layout_tests/dom/html/level2/events/DocumentEventCast01.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent01.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent13.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent05.html +/sdcard/android/layout_tests/dom/html/level2/events/initEvent01.html +/sdcard/android/layout_tests/dom/html/level2/events/createEvent03.html +/sdcard/android/layout_tests/dom/html/level2/events/initEvent05.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent09.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent10.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent02.html +/sdcard/android/layout_tests/dom/html/level2/events/initEvent02.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent06.html +/sdcard/android/layout_tests/dom/html/level2/events/createEvent04.html +/sdcard/android/layout_tests/dom/html/level2/events/initEvent06.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent11.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent03.html +/sdcard/android/layout_tests/dom/html/level2/events/createEvent01.html +/sdcard/android/layout_tests/dom/html/level2/events/dispatchEvent07.html +/sdcard/android/layout_tests/dom/html/level2/events/initEvent03.html +/sdcard/android/layout_tests/dom/html/level2/events/createEvent05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement87.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/hasFeature04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement26.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement141.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLButtonElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement37.html +/sdcard/android/layout_tests/dom/html/level2/html/table12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIsIndexElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFrameSetElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLModElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement27.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement90.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/table45.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionsCollection01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFrameElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement124.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement40.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLParamElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFormElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAreaElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement30.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptGroupElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement73.html +/sdcard/android/layout_tests/dom/html/level2/html/table28.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIFrameElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/anchor02.html +/sdcard/android/layout_tests/dom/html/level2/html/object09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement27.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement107.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement23.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLMetaElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument25.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement13.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement56.html +/sdcard/android/layout_tests/dom/html/level2/html/table31.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIFrameElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/object12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement30.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement89.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement110.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLabelElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/hasFeature06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement28.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement143.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBaseElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLButtonElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement39.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIsIndexElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLModElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement29.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement92.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement13.html +/sdcard/android/layout_tests/dom/html/level2/html/table47.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement16.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAppletElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionsCollection03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement126.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement42.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLParamElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFormElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAreaElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement75.html +/sdcard/android/layout_tests/dom/html/level2/html/table50.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/anchor04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement13.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement29.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLScriptElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement109.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement25.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement13.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument27.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement58.html +/sdcard/android/layout_tests/dom/html/level2/html/table33.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHeadingElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/area01.html +/sdcard/android/layout_tests/dom/html/level2/html/object14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement32.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement112.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLabelElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDivElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLUListElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement145.html +/sdcard/android/layout_tests/dom/html/level2/html/button01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLButtonElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement61.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLegendElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCaptionElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement13.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement94.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFieldSetElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/table49.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLIElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement18.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAppletElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionsCollection05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument13.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement128.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLMapElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement44.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAreaElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement77.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLinkElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/table52.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement21.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/anchor06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement16.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement131.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLParagraphElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLScriptElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement27.html +/sdcard/android/layout_tests/dom/html/level2/html/table02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement17.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement80.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/table35.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHeadingElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/area03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement34.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement114.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement30.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLStyleElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement20.html +/sdcard/android/layout_tests/dom/html/level2/html/button03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLButtonElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement63.html +/sdcard/android/layout_tests/dom/html/level2/html/table18.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLegendElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFrameElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement96.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement17.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement13.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAppletElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionsCollection07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement46.html +/sdcard/android/layout_tests/dom/html/level2/html/table21.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIFrameElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/object02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement20.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLQuoteElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement79.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLinkElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement100.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement13.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement17.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement18.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement133.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLScriptElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement29.html +/sdcard/android/layout_tests/dom/html/level2/html/table04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement17.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement19.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement82.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/table37.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHeadingElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement20.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement21.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement36.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement116.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement32.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/basefont01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLStyleElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement20.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement22.html +/sdcard/android/layout_tests/dom/html/level2/html/button05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement65.html +/sdcard/android/layout_tests/dom/html/level2/html/table40.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement17.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFrameElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement98.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement19.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAppletElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFormElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument17.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement48.html +/sdcard/android/layout_tests/dom/html/level2/html/table23.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIFrameElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/object04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement20.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLPreElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement22.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOListElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLinkElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement102.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAppletElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement19.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument20.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement135.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement51.html +/sdcard/android/layout_tests/dom/html/level2/html/table06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHeadElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement19.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement84.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/table39.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement13.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/hasFeature01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement23.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement38.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement118.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement34.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBaseFontElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement24.html +/sdcard/android/layout_tests/dom/html/level2/html/button07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement67.html +/sdcard/android/layout_tests/dom/html/level2/html/table42.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFrameElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement121.html +/sdcard/android/layout_tests/dom/html/level2/html/dlist01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement17.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFormElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument19.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement70.html +/sdcard/android/layout_tests/dom/html/level2/html/table25.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLMenuElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFontElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIFrameElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement24.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLinkElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement104.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement20.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLMetaElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument22.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement137.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHRElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement53.html +/sdcard/android/layout_tests/dom/html/level2/html/table08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement86.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/hasFeature03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement25.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement140.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLButtonElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement36.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBaseFontElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFrameSetElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement26.html +/sdcard/android/layout_tests/dom/html/level2/html/button09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement69.html +/sdcard/android/layout_tests/dom/html/level2/html/table44.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement13.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFrameElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement123.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement19.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLParamElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFormElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAreaElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement72.html +/sdcard/android/layout_tests/dom/html/level2/html/table27.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIFrameElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/anchor01.html +/sdcard/android/layout_tests/dom/html/level2/html/object08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement26.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement106.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLinkElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement22.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLMetaElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/body01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument24.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement139.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHRElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement55.html +/sdcard/android/layout_tests/dom/html/level2/html/table30.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIFrameElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/object11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement88.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHtmlElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLabelElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTitleElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/hasFeature05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement27.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement142.html +/sdcard/android/layout_tests/dom/html/level2/html/doc01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBaseElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLButtonElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/AppletsCollection.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement38.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIsIndexElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLModElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement28.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement91.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/table46.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAppletElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement30.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionsCollection02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFrameElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement125.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement41.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLParamElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFormElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAreaElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement31.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptGroupElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement74.html +/sdcard/android/layout_tests/dom/html/level2/html/table29.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIFrameElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/anchor03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement13.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement28.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLScriptElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement108.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement24.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument26.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement57.html +/sdcard/android/layout_tests/dom/html/level2/html/table32.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/object13.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement31.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement111.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLabelElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement29.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement144.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLButtonElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement60.html +/sdcard/android/layout_tests/dom/html/level2/html/table15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLegendElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLModElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement93.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFieldSetElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/table48.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLIElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement17.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAppletElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionsCollection04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement127.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement43.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFormElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAreaElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement76.html +/sdcard/android/layout_tests/dom/html/level2/html/table51.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement20.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/anchor05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement130.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLScriptElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement26.html +/sdcard/android/layout_tests/dom/html/level2/html/table01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement16.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement59.html +/sdcard/android/layout_tests/dom/html/level2/html/table34.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHeadingElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/area02.html +/sdcard/android/layout_tests/dom/html/level2/html/object15.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement33.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement113.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLUListElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBRElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/button02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLButtonElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement62.html +/sdcard/android/layout_tests/dom/html/level2/html/table17.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLegendElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement95.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement16.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement19.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAppletElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionsCollection06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement129.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLMapElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement45.html +/sdcard/android/layout_tests/dom/html/level2/html/table20.html +/sdcard/android/layout_tests/dom/html/level2/html/object01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAreaElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement78.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLinkElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/table53.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement22.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement16.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement17.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement132.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLScriptElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement28.html +/sdcard/android/layout_tests/dom/html/level2/html/table03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement16.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement18.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement81.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/table36.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHeadingElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/area04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement20.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement35.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement115.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDlistElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement31.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLStyleElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement21.html +/sdcard/android/layout_tests/dom/html/level2/html/button04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement64.html +/sdcard/android/layout_tests/dom/html/level2/html/table19.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFrameElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement97.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement18.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAppletElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument16.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement47.html +/sdcard/android/layout_tests/dom/html/level2/html/table22.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIFrameElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/object03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement21.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOListElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLQuoteElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement101.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLinkElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAppletElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement18.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement19.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement134.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLScriptElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement50.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement18.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement83.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/table38.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHeadingElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement21.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement22.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement37.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement117.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement33.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDirectoryElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement23.html +/sdcard/android/layout_tests/dom/html/level2/html/button06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement66.html +/sdcard/android/layout_tests/dom/html/level2/html/table41.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement18.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement40.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFrameElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement99.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement120.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement16.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAppletElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFormElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument18.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement49.html +/sdcard/android/layout_tests/dom/html/level2/html/table24.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIFrameElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFontElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/object05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLCollection11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLImageElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement23.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOListElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement103.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLinkElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument21.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement136.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHRElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement52.html +/sdcard/android/layout_tests/dom/html/level2/html/table07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLSelectElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableColElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement85.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement09.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAnchorElement14.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/hasFeature02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement24.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement39.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement119.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement35.html +/sdcard/android/layout_tests/dom/html/level2/html/table10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBaseFontElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement25.html +/sdcard/android/layout_tests/dom/html/level2/html/button08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement68.html +/sdcard/android/layout_tests/dom/html/level2/html/table43.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLInputElement12.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTextAreaElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableRowElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFrameElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement122.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement18.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFormElement04.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLAreaElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLObjectElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement71.html +/sdcard/android/layout_tests/dom/html/level2/html/table26.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLIFrameElement06.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLFontElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/object07.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableCellElement10.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableElement25.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement105.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLLinkElement08.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLOptionElement05.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement21.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLMetaElement02.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLBodyElement01.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLDocument23.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement138.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLHRElement03.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLTableSectionElement11.html +/sdcard/android/layout_tests/dom/html/level2/html/HTMLElement54.html +/sdcard/android/layout_tests/dom/html/level2/html/table09.html +/sdcard/android/layout_tests/dom/html/level2/html/object10.html +/sdcard/android/layout_tests/dom/html/level2/core/hc_notationsremovenameditemns1.html +/sdcard/android/layout_tests/dom/html/level2/core/hc_entitiessetnameditemns1.html +/sdcard/android/layout_tests/dom/html/level2/core/setAttributeNS10.html +/sdcard/android/layout_tests/dom/html/level2/core/hc_nodedocumentfragmentnormalize2.html +/sdcard/android/layout_tests/dom/html/level2/core/hc_namednodemapinvalidtype1.html +/sdcard/android/layout_tests/dom/html/level2/core/createAttributeNS06.html +/sdcard/android/layout_tests/dom/html/level2/core/createDocumentType04.html +/sdcard/android/layout_tests/dom/html/level2/core/hc_notationssetnameditemns1.html +/sdcard/android/layout_tests/dom/html/level2/core/hc_entitiesremovenameditemns1.html +/sdcard/android/layout_tests/dom/html/level2/core/hc_nodedocumentfragmentnormalize1.html +/sdcard/android/layout_tests/dom/html/level2/core/createDocument08.html +/sdcard/android/layout_tests/plugins/createScriptableObject-before-start.html +/sdcard/android/layout_tests/plugins/get-empty-url.html +/sdcard/android/layout_tests/plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html +/sdcard/android/layout_tests/editing/style/temporary-span-crash.html +/sdcard/android/layout_tests/editing/style/4230923.html +/sdcard/android/layout_tests/editing/inserting/5549929-1.html +/sdcard/android/layout_tests/editing/inserting/6104369.html +/sdcard/android/layout_tests/editing/inserting/5803706-2.html +/sdcard/android/layout_tests/editing/inserting/5685601-2.html +/sdcard/android/layout_tests/editing/inserting/5607069-1.html +/sdcard/android/layout_tests/editing/inserting/5803706-1.html +/sdcard/android/layout_tests/editing/inserting/5685601-1.html +/sdcard/android/layout_tests/editing/inserting/5994480.html +/sdcard/android/layout_tests/editing/inserting/6104369-2.html +/sdcard/android/layout_tests/editing/inserting/insert-before-link-1.html +/sdcard/android/layout_tests/editing/inserting/5378847.html +/sdcard/android/layout_tests/editing/inserting/5685601-3.html +/sdcard/android/layout_tests/editing/execCommand/19403.html +/sdcard/android/layout_tests/editing/execCommand/default-parameters.html +/sdcard/android/layout_tests/editing/execCommand/19455.html +/sdcard/android/layout_tests/editing/execCommand/19087.html +/sdcard/android/layout_tests/editing/execCommand/empty-span-removal.html +/sdcard/android/layout_tests/editing/execCommand/5469868.html +/sdcard/android/layout_tests/editing/execCommand/5575101-1.html +/sdcard/android/layout_tests/editing/execCommand/findString-3.html +/sdcard/android/layout_tests/editing/execCommand/16049.html +/sdcard/android/layout_tests/editing/execCommand/19653-1.html +/sdcard/android/layout_tests/editing/execCommand/arguments-combinations.html +/sdcard/android/layout_tests/editing/execCommand/5575101-3.html +/sdcard/android/layout_tests/editing/execCommand/5770834-1.html +/sdcard/android/layout_tests/editing/execCommand/5483526.html +/sdcard/android/layout_tests/editing/execCommand/5658933-1.html +/sdcard/android/layout_tests/editing/execCommand/6355786.html +/sdcard/android/layout_tests/editing/execCommand/5604313.html +/sdcard/android/layout_tests/editing/execCommand/19653-3.html +/sdcard/android/layout_tests/editing/execCommand/5763082.html +/sdcard/android/layout_tests/editing/execCommand/6444148.html +/sdcard/android/layout_tests/editing/execCommand/4976800.html +/sdcard/android/layout_tests/editing/execCommand/4928635.html +/sdcard/android/layout_tests/editing/execCommand/4920742-2.html +/sdcard/android/layout_tests/editing/execCommand/4917055.html +/sdcard/android/layout_tests/editing/execCommand/5575101-2.html +/sdcard/android/layout_tests/editing/execCommand/12244.html +/sdcard/android/layout_tests/editing/execCommand/19653-2.html +/sdcard/android/layout_tests/editing/execCommand/4916235.html +/sdcard/android/layout_tests/editing/execCommand/5458246.html +/sdcard/android/layout_tests/editing/execCommand/toggle-styles.html +/sdcard/android/layout_tests/editing/pasteboard/5761530-2.html +/sdcard/android/layout_tests/editing/pasteboard/6018653.html +/sdcard/android/layout_tests/editing/pasteboard/4930986-1.html +/sdcard/android/layout_tests/editing/pasteboard/5780697-1.html +/sdcard/android/layout_tests/editing/pasteboard/4930986-3.html +/sdcard/android/layout_tests/editing/pasteboard/5245519.html +/sdcard/android/layout_tests/editing/pasteboard/5521237.html +/sdcard/android/layout_tests/editing/pasteboard/newlines-around-floating-or-positioned.html +/sdcard/android/layout_tests/editing/pasteboard/5078739.html +/sdcard/android/layout_tests/editing/pasteboard/createMarkup-assert.xml +/sdcard/android/layout_tests/editing/pasteboard/4930986-2.html +/sdcard/android/layout_tests/editing/pasteboard/5480736.html +/sdcard/android/layout_tests/editing/selection/5497643.html +/sdcard/android/layout_tests/editing/selection/5825350-1.html +/sdcard/android/layout_tests/editing/selection/setBaseAndExtent-revert-selection.html +/sdcard/android/layout_tests/editing/selection/selection-invalid-offset.html +/sdcard/android/layout_tests/editing/selection/rangeCount.html +/sdcard/android/layout_tests/editing/selection/5714333.html +/sdcard/android/layout_tests/editing/selection/select-line.html +/sdcard/android/layout_tests/editing/selection/doubleclick-whitespace-crash.html +/sdcard/android/layout_tests/editing/selection/containsNode.html +/sdcard/android/layout_tests/editing/selection/select-all-user-select-none.html +/sdcard/android/layout_tests/editing/selection/selectAllChildren.html +/sdcard/android/layout_tests/editing/selection/find-in-text-control.html +/sdcard/android/layout_tests/editing/selection/extend.html +/sdcard/android/layout_tests/editing/selection/5241148.html +/sdcard/android/layout_tests/editing/selection/cleared-by-relayout.html +/sdcard/android/layout_tests/editing/selection/5825350-2.html +/sdcard/android/layout_tests/editing/selection/5794920-1.html +/sdcard/android/layout_tests/editing/selection/5779984-1.html +/sdcard/android/layout_tests/editing/selection/deleteFromDocument.html +/sdcard/android/layout_tests/editing/undo/4059423-1.html +/sdcard/android/layout_tests/editing/undo/4059423-2.html +/sdcard/android/layout_tests/editing/undo/5658727.html +/sdcard/android/layout_tests/editing/undo/5738768.html +/sdcard/android/layout_tests/editing/deleting/2610675-2.html +/sdcard/android/layout_tests/editing/deleting/5847330-2.html +/sdcard/android/layout_tests/editing/deleting/6026335.html +/sdcard/android/layout_tests/editing/deleting/2610675-1.html +/sdcard/android/layout_tests/editing/deleting/5847330-1.html +/sdcard/android/layout_tests/editing/deleting/5433862-1.html +/sdcard/android/layout_tests/editing/deleting/5495723.html +/sdcard/android/layout_tests/editing/deleting/5290534.html +/sdcard/android/layout_tests/editing/deleting/2610675-3.html /sdcard/android/layout_tests/fast/replaced/object-param-no-name.html /sdcard/android/layout_tests/fast/dynamic/subtree-common-root.html /sdcard/android/layout_tests/fast/dynamic/hovered-detach.html @@ -15,6 +1063,7 @@ /sdcard/android/layout_tests/fast/text/find-backwards.html /sdcard/android/layout_tests/fast/text/large-text-composed-char-dos.html /sdcard/android/layout_tests/fast/text/find-case-folding.html +/sdcard/android/layout_tests/fast/text/text-shadow-extreme-value.html /sdcard/android/layout_tests/fast/text/line-breaks-after-ideographic-comma-or-full-stop.html /sdcard/android/layout_tests/fast/encoding/gbk/chinese.html /sdcard/android/layout_tests/fast/encoding/gbk/x-euc-cn.html @@ -68,12 +1117,10 @@ /sdcard/android/layout_tests/fast/encoding/pseudo-xml-3.html /sdcard/android/layout_tests/fast/encoding/pseudo-xml.html /sdcard/android/layout_tests/fast/encoding/tag-in-title.html -/sdcard/android/layout_tests/fast/encoding/yahoo-mail.html -/sdcard/android/layout_tests/fast/encoding/ahram-org-eg.html -/sdcard/android/layout_tests/fast/encoding/noscript-in-head.html /sdcard/android/layout_tests/fast/encoding/script-in-head.html /sdcard/android/layout_tests/fast/encoding/css-cached-bom.html /sdcard/android/layout_tests/fast/encoding/mispositioned-meta.html +/sdcard/android/layout_tests/fast/encoding/preload-encoding.html /sdcard/android/layout_tests/fast/multicol/gap-non-negative.html /sdcard/android/layout_tests/fast/multicol/content-height-zero-crash.html /sdcard/android/layout_tests/fast/doctypes/doctype-at-end.html @@ -106,6 +1153,7 @@ /sdcard/android/layout_tests/fast/events/no-blur-on-page-leave.html /sdcard/android/layout_tests/fast/events/onload-name-collision.html /sdcard/android/layout_tests/fast/events/div-focus.html +/sdcard/android/layout_tests/fast/events/related-target.html /sdcard/android/layout_tests/fast/events/overflow-events.html /sdcard/android/layout_tests/fast/events/create-document-crash-on-attach-event.html /sdcard/android/layout_tests/fast/events/no-blur-on-enter-button.html @@ -113,6 +1161,8 @@ /sdcard/android/layout_tests/fast/events/shadow-boundary-crossing.html /sdcard/android/layout_tests/fast/events/submit-reset-nested-bubble.html /sdcard/android/layout_tests/fast/events/nested-event-remove-node-crash.html +/sdcard/android/layout_tests/fast/events/onsubmit-bubbling.html +/sdcard/android/layout_tests/fast/events/onload-fires-twice.html /sdcard/android/layout_tests/fast/events/mousedown_in_scrollbar.html /sdcard/android/layout_tests/fast/events/window-load-capture.html /sdcard/android/layout_tests/fast/events/event-instanceof.html @@ -128,6 +1178,8 @@ /sdcard/android/layout_tests/fast/events/event-targets.html /sdcard/android/layout_tests/fast/events/space-scroll-event.html /sdcard/android/layout_tests/fast/events/onload-after-document-close-no-subresource.html +/sdcard/android/layout_tests/fast/events/nested-window-event.html +/sdcard/android/layout_tests/fast/events/selectstart-during-autoscroll.html /sdcard/android/layout_tests/fast/events/stopPropagation-checkbox.html /sdcard/android/layout_tests/fast/events/tab-crash-with-image-map.html /sdcard/android/layout_tests/fast/events/simulated-key-state.html @@ -166,10 +1218,59 @@ /sdcard/android/layout_tests/fast/regex/slow.html /sdcard/android/layout_tests/fast/regex/malformed-escapes.html /sdcard/android/layout_tests/fast/regex/early-acid3-86.html -/sdcard/android/layout_tests/fast/regex/test1.html /sdcard/android/layout_tests/fast/regex/alternative-length-miscalculation.html /sdcard/android/layout_tests/fast/regex/test4.html /sdcard/android/layout_tests/fast/regex/non-capturing-backtracking.html +/sdcard/android/layout_tests/fast/js/kde/Boolean.html +/sdcard/android/layout_tests/fast/js/kde/function.html +/sdcard/android/layout_tests/fast/js/kde/function_length.html +/sdcard/android/layout_tests/fast/js/kde/const.html +/sdcard/android/layout_tests/fast/js/kde/constructor_length.html +/sdcard/android/layout_tests/fast/js/kde/statements.html +/sdcard/android/layout_tests/fast/js/kde/math.html +/sdcard/android/layout_tests/fast/js/kde/assignments.html +/sdcard/android/layout_tests/fast/js/kde/crash-1.html +/sdcard/android/layout_tests/fast/js/kde/delete.html +/sdcard/android/layout_tests/fast/js/kde/var_decl_init.html +/sdcard/android/layout_tests/fast/js/kde/literals.html +/sdcard/android/layout_tests/fast/js/kde/eval.html +/sdcard/android/layout_tests/fast/js/kde/j-comment-3.html +/sdcard/android/layout_tests/fast/js/kde/StringObject.html +/sdcard/android/layout_tests/fast/js/kde/crash-2.html +/sdcard/android/layout_tests/fast/js/kde/exception_propagation.html +/sdcard/android/layout_tests/fast/js/kde/conditional.html +/sdcard/android/layout_tests/fast/js/kde/scope.html +/sdcard/android/layout_tests/fast/js/kde/parse.html +/sdcard/android/layout_tests/fast/js/kde/function_arguments.html +/sdcard/android/layout_tests/fast/js/kde/arguments-scope.html +/sdcard/android/layout_tests/fast/js/kde/lval-exceptions.html +/sdcard/android/layout_tests/fast/js/kde/operators.html +/sdcard/android/layout_tests/fast/js/kde/Array.html +/sdcard/android/layout_tests/fast/js/kde/md5-1.html +/sdcard/android/layout_tests/fast/js/kde/object_prototype_tostring.html +/sdcard/android/layout_tests/fast/js/kde/Date-setYear.html +/sdcard/android/layout_tests/fast/js/kde/GlobalObject.html +/sdcard/android/layout_tests/fast/js/kde/prototype_proto.html +/sdcard/android/layout_tests/fast/js/kde/evil-n.html +/sdcard/android/layout_tests/fast/js/kde/RegExp.html +/sdcard/android/layout_tests/fast/js/kde/cast.html +/sdcard/android/layout_tests/fast/js/kde/j-comment-4.html +/sdcard/android/layout_tests/fast/js/kde/iteration.html +/sdcard/android/layout_tests/fast/js/kde/comment-1.html +/sdcard/android/layout_tests/fast/js/kde/Prototype.html +/sdcard/android/layout_tests/fast/js/kde/completion.html +/sdcard/android/layout_tests/fast/js/kde/exceptions.html +/sdcard/android/layout_tests/fast/js/kde/md5-2.html +/sdcard/android/layout_tests/fast/js/kde/Error.html +/sdcard/android/layout_tests/fast/js/kde/function_constructor.html +/sdcard/android/layout_tests/fast/js/kde/object_prototype.html +/sdcard/android/layout_tests/fast/js/kde/empty.html +/sdcard/android/layout_tests/fast/js/kde/inbuilt_function_proto.html +/sdcard/android/layout_tests/fast/js/kde/func-decl.html +/sdcard/android/layout_tests/fast/js/kde/comment-2.html +/sdcard/android/layout_tests/fast/js/kde/inbuilt_function_tostring.html +/sdcard/android/layout_tests/fast/js/kde/Object.html +/sdcard/android/layout_tests/fast/js/kde/prototype_length.html /sdcard/android/layout_tests/fast/js/pic/cached-single-entry-transition.html /sdcard/android/layout_tests/fast/js/pic/cached-prototype-setter.html /sdcard/android/layout_tests/fast/js/pic/get-empty-string.html @@ -226,7 +1327,6 @@ /sdcard/android/layout_tests/fast/js/do-while-semicolon.html /sdcard/android/layout_tests/fast/js/regexp-divequal.html /sdcard/android/layout_tests/fast/js/named-function-expression.html -/sdcard/android/layout_tests/fast/js/array-iterate-backwards.html /sdcard/android/layout_tests/fast/js/constructor-attributes.html /sdcard/android/layout_tests/fast/js/array-some.html /sdcard/android/layout_tests/fast/js/missing-title-end-tag-js.html @@ -345,7 +1445,6 @@ /sdcard/android/layout_tests/fast/js/date-constructor.html /sdcard/android/layout_tests/fast/js/date-big-setdate.html /sdcard/android/layout_tests/fast/js/array-every.html -/sdcard/android/layout_tests/fast/js/function-toString-parentheses.html /sdcard/android/layout_tests/fast/js/array-functions-non-arrays.html /sdcard/android/layout_tests/fast/js/while-expression-value.html /sdcard/android/layout_tests/fast/js/string-replace-3.html @@ -393,6 +1492,7 @@ /sdcard/android/layout_tests/fast/js/throw-from-array-sort.html /sdcard/android/layout_tests/fast/js/slash-lineterminator-parse.html /sdcard/android/layout_tests/fast/js/dot-node-base-exception.html +/sdcard/android/layout_tests/fast/js/toString-stack-overflow.html /sdcard/android/layout_tests/fast/js/codegen-peephole-locals.html /sdcard/android/layout_tests/fast/js/constant-count.html /sdcard/android/layout_tests/fast/js/regexp-compile.html @@ -431,8 +1531,6 @@ /sdcard/android/layout_tests/fast/dom/HTMLTableElement/tBodies.html /sdcard/android/layout_tests/fast/dom/HTMLTableElement/rows.html /sdcard/android/layout_tests/fast/dom/HTMLDocument/write-multiple-calls.html -/sdcard/android/layout_tests/fast/dom/HTMLDocument/document-special-properties.html -/sdcard/android/layout_tests/fast/dom/HTMLDocument/url-getset.html /sdcard/android/layout_tests/fast/dom/HTMLDocument/writeln-call.html /sdcard/android/layout_tests/fast/dom/HTMLDocument/document-plugins.html /sdcard/android/layout_tests/fast/dom/HTMLDocument/title-get.html @@ -559,6 +1657,12 @@ /sdcard/android/layout_tests/fast/dom/Window/alert-undefined.html /sdcard/android/layout_tests/fast/dom/Window/window-open-top.html /sdcard/android/layout_tests/fast/dom/Window/window-appendages-cleared.html +/sdcard/android/layout_tests/fast/dom/Window/global-opener-function.html +/sdcard/android/layout_tests/fast/dom/Window/window-property-shadowing.html +/sdcard/android/layout_tests/fast/dom/Window/remove-timeout-crash.html +/sdcard/android/layout_tests/fast/dom/Window/window-custom-prototype.html +/sdcard/android/layout_tests/fast/dom/Window/timeout-callback-scope.html +/sdcard/android/layout_tests/fast/dom/Window/window-property-shadowing-name.html /sdcard/android/layout_tests/fast/dom/Window/window-open-parent-no-parent.html /sdcard/android/layout_tests/fast/dom/Window/closure-access-after-navigation-iframe.html /sdcard/android/layout_tests/fast/dom/HTMLTableRowElement/cells.html @@ -611,23 +1715,7 @@ /sdcard/android/layout_tests/fast/dom/css-dom-read.html /sdcard/android/layout_tests/fast/dom/image-object.html /sdcard/android/layout_tests/fast/dom/gc-5.html -/sdcard/android/layout_tests/fast/dom/node-filter-gc.html -/sdcard/android/layout_tests/fast/dom/noscript-canvas-in-created-html-document.html -/sdcard/android/layout_tests/fast/dom/DOMParser-assign-variable.html -/sdcard/android/layout_tests/fast/dom/timer-clear-interval-in-handler.html -/sdcard/android/layout_tests/fast/dom/implementation-createHTMLDocument.html -/sdcard/android/layout_tests/fast/dom/iframe-document.html -/sdcard/android/layout_tests/fast/dom/document-all-input.html -/sdcard/android/layout_tests/fast/dom/null-document-location-href-put-crash.html -/sdcard/android/layout_tests/fast/dom/getelementsbytagnamens-mixed-namespaces.html -/sdcard/android/layout_tests/fast/dom/object-plugin-hides-properties.html -/sdcard/android/layout_tests/fast/dom/gc-2.html -/sdcard/android/layout_tests/fast/dom/computed-style-set-property.html -/sdcard/android/layout_tests/fast/dom/inner-text-001.html -/sdcard/android/layout_tests/fast/dom/css-selectorText.html -/sdcard/android/layout_tests/fast/dom/replace-first-child.html -/sdcard/android/layout_tests/fast/dom/importNode-null.html -/sdcard/android/layout_tests/fast/dom/select-selectedIndex-multiple.html +/sdcard/android/layout_tests/fast/dom/cssTarget-crash.html /sdcard/android/layout_tests/fast/dom/xmlhttprequest-invalid-values.html /sdcard/android/layout_tests/fast/dom/space-to-text.html /sdcard/android/layout_tests/fast/dom/css-set-property-exception.html @@ -643,6 +1731,7 @@ /sdcard/android/layout_tests/fast/dom/getelementbyname-invalidation.html /sdcard/android/layout_tests/fast/dom/capturing-event-listeners.html /sdcard/android/layout_tests/fast/dom/title-text-property.html +/sdcard/android/layout_tests/fast/dom/null-page-show-modal-dialog-crash.html /sdcard/android/layout_tests/fast/dom/incompatible-operations.html /sdcard/android/layout_tests/fast/dom/xmlhttprequest-html-response-encoding.html /sdcard/android/layout_tests/fast/dom/inner-text-rtl.html @@ -671,7 +1760,6 @@ /sdcard/android/layout_tests/fast/dom/document-all-select.html /sdcard/android/layout_tests/fast/dom/anchor-backslash.html /sdcard/android/layout_tests/fast/dom/css-mediarule-functions.html -/sdcard/android/layout_tests/fast/dom/gc-acid3.html /sdcard/android/layout_tests/fast/dom/duplicate-ids-document-order.html /sdcard/android/layout_tests/fast/dom/exception-no-frame-inline-script-crash.html /sdcard/android/layout_tests/fast/dom/XMLSerializer-doctype2.html @@ -686,6 +1774,14 @@ /sdcard/android/layout_tests/fast/dom/createElement.html /sdcard/android/layout_tests/fast/dom/createElement-with-column.xml /sdcard/android/layout_tests/fast/dom/simultaneouslyRegsiteredTimerFireOrder.html +/sdcard/android/layout_tests/fast/dom/clone-node-form-elements-with-attr.html +/sdcard/android/layout_tests/fast/dom/setAttributeNS.html +/sdcard/android/layout_tests/fast/dom/anchor-toString.html +/sdcard/android/layout_tests/fast/dom/dom-add-optionelement.html +/sdcard/android/layout_tests/fast/dom/location-assign.html +/sdcard/android/layout_tests/fast/dom/documenturi-affects-relative-paths.html +/sdcard/android/layout_tests/fast/dom/javascript-backslash.html +/sdcard/android/layout_tests/fast/dom/setAttribute-using-initial-input-value.html /sdcard/android/layout_tests/fast/dom/generic-form-element-assert.html /sdcard/android/layout_tests/fast/dom/css-shortHands.html /sdcard/android/layout_tests/fast/dom/dom-instanceof.html @@ -713,7 +1809,6 @@ /sdcard/android/layout_tests/fast/dom/exception-no-frame-timeout-crash.html /sdcard/android/layout_tests/fast/dom/title-text-property-2.html /sdcard/android/layout_tests/fast/dom/no-elements.html -/sdcard/android/layout_tests/fast/dom/non-numeric-values-numeric-parameters.html /sdcard/android/layout_tests/fast/dom/gc-4.html /sdcard/android/layout_tests/fast/dom/inner-width-height.html /sdcard/android/layout_tests/fast/dom/XMLSerializer-doctype.html @@ -723,14 +1818,6 @@ /sdcard/android/layout_tests/fast/dom/gc-1.html /sdcard/android/layout_tests/fast/dom/select-selectedIndex-bug-12942.html /sdcard/android/layout_tests/fast/dom/frame-contentWindow-crash.html -/sdcard/android/layout_tests/fast/dom/namednodemap-namelookup.html -/sdcard/android/layout_tests/fast/dom/null-document-location-replace-crash.html -/sdcard/android/layout_tests/fast/dom/htmlcollection-detectability.html -/sdcard/android/layout_tests/fast/dom/documenturi-assigned-junk-implies-relative-urls-do-not-resolve.html -/sdcard/android/layout_tests/fast/dom/collection-namedItem-via-item.html -/sdcard/android/layout_tests/fast/dom/set-inner-text-newlines.html -/sdcard/android/layout_tests/fast/dom/document-dir-property.html -/sdcard/android/layout_tests/fast/dom/undetectable-style-filter.html /sdcard/android/layout_tests/fast/dom/domListEnumeration.html /sdcard/android/layout_tests/fast/dom/destroy-selected-radio-button-crash.html /sdcard/android/layout_tests/fast/dom/script-add.html @@ -742,6 +1829,12 @@ /sdcard/android/layout_tests/fast/dom/attribute-namespaces-get-set.html /sdcard/android/layout_tests/fast/dom/innerHTML-escaping-attribute.html /sdcard/android/layout_tests/fast/dom/null-document-xmlhttprequest-open.html +/sdcard/android/layout_tests/fast/dom/null-document-location-put-crash.html +/sdcard/android/layout_tests/fast/dom/ImageDocument-image-deletion.html +/sdcard/android/layout_tests/fast/dom/document-scripts.html +/sdcard/android/layout_tests/fast/gradients/crash-on-remove.html +/sdcard/android/layout_tests/fast/xpath/xpath-empty-string.html +/sdcard/android/layout_tests/fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html /sdcard/android/layout_tests/fast/invalid/nestedh3s-rapidweaver.html /sdcard/android/layout_tests/fast/forms/element-by-name.html /sdcard/android/layout_tests/fast/forms/HTMLOptionElement_selected.html @@ -751,7 +1844,6 @@ /sdcard/android/layout_tests/fast/forms/textfield-focus-out.html /sdcard/android/layout_tests/fast/forms/willvalidate-000.html /sdcard/android/layout_tests/fast/forms/form-data-encoding-normalization-overrun.html -/sdcard/android/layout_tests/fast/forms/select-reset.html /sdcard/android/layout_tests/fast/forms/input-named-action-overrides-action-attribute.html /sdcard/android/layout_tests/fast/forms/empty-get.html /sdcard/android/layout_tests/fast/forms/display-none-in-onchange-keyboard.html @@ -762,18 +1854,25 @@ /sdcard/android/layout_tests/fast/forms/autofocus-opera-006.html /sdcard/android/layout_tests/fast/forms/activate-and-disabled-elements.html /sdcard/android/layout_tests/fast/forms/form-get-multipart2.html +/sdcard/android/layout_tests/fast/forms/tabs-with-modifiers.html +/sdcard/android/layout_tests/fast/forms/menulist-no-renderer-onmousedown.html +/sdcard/android/layout_tests/fast/forms/saved-state-adoptNode-crash.html /sdcard/android/layout_tests/fast/forms/select-replace-option.html /sdcard/android/layout_tests/fast/forms/textarea-setvalue-submit.html +/sdcard/android/layout_tests/fast/forms/11423.html /sdcard/android/layout_tests/fast/forms/cursor-position.html /sdcard/android/layout_tests/fast/forms/willvalidate-007.html /sdcard/android/layout_tests/fast/forms/input-changing-value.html /sdcard/android/layout_tests/fast/forms/double-focus.html /sdcard/android/layout_tests/fast/forms/form-data-encoding-2.html /sdcard/android/layout_tests/fast/forms/focus.html +/sdcard/android/layout_tests/fast/forms/willvalidate-004.html /sdcard/android/layout_tests/fast/forms/button-in-forms-collection.html +/sdcard/android/layout_tests/fast/forms/input-text-enter.html /sdcard/android/layout_tests/fast/forms/input-delete.html /sdcard/android/layout_tests/fast/forms/placeholder-non-textfield.html /sdcard/android/layout_tests/fast/forms/element-order.html +/sdcard/android/layout_tests/fast/forms/form-post-urlencoded.html /sdcard/android/layout_tests/fast/forms/willvalidate-001.html /sdcard/android/layout_tests/fast/forms/option-constructor-selected.html /sdcard/android/layout_tests/fast/forms/8250.html @@ -809,12 +1908,11 @@ /sdcard/android/layout_tests/fast/forms/select-index-setter.html /sdcard/android/layout_tests/fast/forms/option-change-single-selected.html /sdcard/android/layout_tests/fast/forms/listbox-scroll-after-options-removed.html +/sdcard/android/layout_tests/fast/forms/input-selection-hidden.html +/sdcard/android/layout_tests/fast/forms/input-type-change-in-onfocus-keyboard.html /sdcard/android/layout_tests/fast/forms/willvalidate-002.html +/sdcard/android/layout_tests/fast/forms/option-in-optgroup-removal.html /sdcard/android/layout_tests/fast/forms/form-data-encoding.html -/sdcard/android/layout_tests/fast/forms/input-appearance-elementFromPoint.html -/sdcard/android/layout_tests/fast/forms/select-set-inner.html -/sdcard/android/layout_tests/fast/forms/missing-action.html -/sdcard/android/layout_tests/fast/forms/textarea-scrollbar-height.html /sdcard/android/layout_tests/fast/forms/textarea-default-value-leading-newline.html /sdcard/android/layout_tests/fast/forms/autofocus-opera-008.html /sdcard/android/layout_tests/fast/forms/listbox-typeahead-empty.html @@ -828,9 +1926,9 @@ /sdcard/android/layout_tests/fast/forms/input-setvalue-selection.html /sdcard/android/layout_tests/fast/forms/autofocus-opera-002.html /sdcard/android/layout_tests/fast/forms/old-names.html -/sdcard/android/layout_tests/fast/forms/willvalidate-006.html /sdcard/android/layout_tests/fast/forms/focus-style-pending.html /sdcard/android/layout_tests/fast/forms/textarea-hard-linewrap-empty.html +/sdcard/android/layout_tests/fast/forms/input-type-change-in-onfocus-mouse.html /sdcard/android/layout_tests/fast/forms/document-write.html /sdcard/android/layout_tests/fast/forms/slow-click.html /sdcard/android/layout_tests/fast/forms/autofocus-attribute.html @@ -985,6 +2083,7 @@ /sdcard/android/layout_tests/fast/loader/data-url-encoding-html.html /sdcard/android/layout_tests/fast/loader/file-URL-with-port-number.html /sdcard/android/layout_tests/fast/loader/link-no-URL.html +/sdcard/android/layout_tests/fast/xsl/xslt-fragment-in-empty-doc.html /sdcard/android/layout_tests/fast/canvas/pattern-with-transform.html /sdcard/android/layout_tests/fast/canvas/gradient-addColorStop-with-invalid-color.html /sdcard/android/layout_tests/fast/canvas/canvas-gradient-without-path.html @@ -1041,6 +2140,63 @@ /sdcard/android/layout_tests/fast/frames/location-change.html /sdcard/android/layout_tests/fast/frames/frame-base-url.html /sdcard/android/layout_tests/fast/frames/iframe-display-none.html -/sdcard/android/layout_tests/fast/frames/frame-display-none-focus.html -/sdcard/android/layout_tests/fast/reflections/teardown-crash.html -/sdcard/android/layout_tests/fast/reflections/reflection-computed-style.html +/sdcard/android/layout_tests/animations/transition-and-animation-2.html +/sdcard/android/layout_tests/animations/import-crash.html +/sdcard/android/layout_tests/animations/empty-keyframes.html +/sdcard/android/layout_tests/animations/width-using-ems.html +/sdcard/android/layout_tests/animations/keyframes-out-of-order.html +/sdcard/android/layout_tests/geolocation/geolocation-not-implemented.html +/sdcard/android/layout_tests/traversal/node-iterator-003.html +/sdcard/android/layout_tests/traversal/node-iterator-005.html +/sdcard/android/layout_tests/traversal/node-iterator-007.html +/sdcard/android/layout_tests/traversal/tree-walker-001.html +/sdcard/android/layout_tests/traversal/node-iterator-009.html +/sdcard/android/layout_tests/traversal/tree-walker-003.html +/sdcard/android/layout_tests/traversal/tree-walker-005.html +/sdcard/android/layout_tests/traversal/exception-forwarding.html +/sdcard/android/layout_tests/traversal/stay-within-root.html +/sdcard/android/layout_tests/traversal/node-iterator-002.html +/sdcard/android/layout_tests/traversal/node-iterator-004.html +/sdcard/android/layout_tests/traversal/node-iterator-006.html +/sdcard/android/layout_tests/traversal/node-iterator-006a.html +/sdcard/android/layout_tests/traversal/tree-walker-002.html +/sdcard/android/layout_tests/traversal/node-iterator-008.html +/sdcard/android/layout_tests/traversal/tree-walker-004.html +/sdcard/android/layout_tests/traversal/tree-walker-006.html +/sdcard/android/layout_tests/traversal/size-zero-run.html +/sdcard/android/layout_tests/traversal/acid3-test-2.html +/sdcard/android/layout_tests/traversal/tree-walker-filter-1.html +/sdcard/android/layout_tests/traversal/node-iterator-001.html +/sdcard/android/layout_tests/css2.1/atrule_longest_match.html +/sdcard/android/layout_tests/css1/units/zero-duration-without-units.html +/sdcard/android/layout_tests/css3/khtml-background-size-0x0-bmp.html +/sdcard/android/layout_tests/transitions/transition-end-event-all-properties.html +/sdcard/android/layout_tests/transitions/transition-end-event-window.html +/sdcard/android/layout_tests/transitions/transition-end-event-multiple-03.html +/sdcard/android/layout_tests/transitions/interrupted-all-transition.html +/sdcard/android/layout_tests/transitions/transition-end-event-set-none.html +/sdcard/android/layout_tests/transitions/zero-duration-without-units.html +/sdcard/android/layout_tests/transitions/zero-duration-with-non-zero-delay-start.html +/sdcard/android/layout_tests/transitions/inherit-other-props.html +/sdcard/android/layout_tests/transitions/transition-end-event-multiple-04.html +/sdcard/android/layout_tests/transitions/transition-duration-cleared-in-transitionend-crash.html +/sdcard/android/layout_tests/transitions/interrupt-zero-duration.html +/sdcard/android/layout_tests/transitions/retargetted-transition.html +/sdcard/android/layout_tests/transitions/override-transition-crash.html +/sdcard/android/layout_tests/transitions/transition-end-event-left.html +/sdcard/android/layout_tests/transitions/matched-transform-functions.html +/sdcard/android/layout_tests/transitions/transition-end-event-multiple-01.html +/sdcard/android/layout_tests/transitions/transform-op-list-match.html +/sdcard/android/layout_tests/transitions/interrupt-transform-transition.html +/sdcard/android/layout_tests/transitions/transition-end-event-container.html +/sdcard/android/layout_tests/transitions/transition-end-event-nested.html +/sdcard/android/layout_tests/transitions/change-values-during-transition.html +/sdcard/android/layout_tests/transitions/transition-end-event-attributes.html +/sdcard/android/layout_tests/transitions/inherit.html +/sdcard/android/layout_tests/transitions/transition-end-event-create.html +/sdcard/android/layout_tests/transitions/transition-end-event-multiple-02.html +/sdcard/android/layout_tests/transitions/shadow.html +/sdcard/android/layout_tests/transitions/transition-end-event-transform.html +/sdcard/android/layout_tests/transitions/transition-timing-function.html +/sdcard/android/layout_tests/transitions/transform-op-list-no-match.html +/sdcard/android/layout_tests/transitions/transition-end-event-destroy-renderer.html diff --git a/tests/backup/backup_helper_test.cpp b/tests/backup/backup_helper_test.cpp index f087941..04358ad 100644 --- a/tests/backup/backup_helper_test.cpp +++ b/tests/backup/backup_helper_test.cpp @@ -38,6 +38,8 @@ Test TESTS[] = { { "backup_helper_test_empty", backup_helper_test_empty, 0, false }, { "backup_helper_test_four", backup_helper_test_four, 0, false }, { "backup_helper_test_files", backup_helper_test_files, 0, false }, + { "backup_helper_test_null_base", backup_helper_test_null_base, 0, false }, + { "backup_helper_test_missing_file", backup_helper_test_missing_file, 0, false }, { "backup_helper_test_data_writer", backup_helper_test_data_writer, 0, false }, { "backup_helper_test_data_reader", backup_helper_test_data_reader, 0, false }, { 0, NULL, 0, false} diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeContext.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeContext.java index baa3d53..d0896b5 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeContext.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeContext.java @@ -966,6 +966,12 @@ public final class BridgeContext extends Context { } @Override + public File getSharedPrefsFile(String name) { + // TODO Auto-generated method stub + return null; + } + + @Override public SharedPreferences getSharedPreferences(String arg0, int arg1) { // TODO Auto-generated method stub return null; diff --git a/vpn/java/android/net/vpn/L2tpIpsecProfile.java b/vpn/java/android/net/vpn/L2tpIpsecProfile.java index a7e53d1..893afbe 100644 --- a/vpn/java/android/net/vpn/L2tpIpsecProfile.java +++ b/vpn/java/android/net/vpn/L2tpIpsecProfile.java @@ -23,6 +23,8 @@ import android.os.Parcel; * {@hide} */ public class L2tpIpsecProfile extends SingleServerProfile { + private static final long serialVersionUID = 1L; + private String mUserCertificate; private String mCaCertificate; private String mUserkey; diff --git a/vpn/java/android/net/vpn/L2tpProfile.java b/vpn/java/android/net/vpn/L2tpProfile.java index ca4ef75..559590f 100644 --- a/vpn/java/android/net/vpn/L2tpProfile.java +++ b/vpn/java/android/net/vpn/L2tpProfile.java @@ -21,6 +21,8 @@ package android.net.vpn; * {@hide} */ public class L2tpProfile extends SingleServerProfile { + private static final long serialVersionUID = 1L; + @Override public VpnType getType() { return VpnType.L2TP; diff --git a/vpn/java/android/net/vpn/VpnManager.java b/vpn/java/android/net/vpn/VpnManager.java index 6c6e52a..98795bd 100644 --- a/vpn/java/android/net/vpn/VpnManager.java +++ b/vpn/java/android/net/vpn/VpnManager.java @@ -48,19 +48,8 @@ public class VpnManager { private static final String PACKAGE_PREFIX = VpnManager.class.getPackage().getName() + "."; - /** Action to start the activity of installing a new profile. */ - public static final String ACTION_VPN_INSTALL_PROFILE = - PACKAGE_PREFIX + "INSTALL_PROFILE"; - /** - * Key to the installation path in the intent of installing a new profile. - */ - public static final String KEY_INSTALLATION_PATH = "install_path"; - public static final String DEFAULT_INSTALLATION_PATH = - "/data/local/tmp/vpn"; - - // Action to start VPN installation monitor service - private static final String SERVICE_VPN_INSTALL_MONITOR = - PACKAGE_PREFIX + "INSTALLATION_MONITOR"; + // Action to start VPN service + private static final String ACTION_VPN_SERVICE = PACKAGE_PREFIX + "SERVICE"; // Action to start VPN settings private static final String ACTION_VPN_SETTINGS = PACKAGE_PREFIX + "SETTINGS"; @@ -112,53 +101,29 @@ public class VpnManager { } } - private String getServiceActionName(VpnType type) { - return PACKAGE_PREFIX + type.getServiceName(); - } - /** - * Starts the VPN service of the specified type. + * Starts the VPN service to establish VPN connection. */ - public boolean startService(VpnType type) { - String serviceAction = getServiceActionName(type); - if (serviceAction != null) { - Log.i(TAG, "start service: " + serviceAction); - mContext.startService(new Intent(serviceAction)); - return true; - } else { - Log.w(TAG, "unknown vpn type to start service for: " + type); - return false; - } + public void startVpnService() { + mContext.startService(new Intent(ACTION_VPN_SERVICE)); } /** - * Stops the VPN service of the specified type. + * Stops the VPN service. */ - public void stopService(VpnType type) { - String serviceAction = getServiceActionName(type); - if (serviceAction != null) { - Log.i(TAG, "stop service for: " + type); - mContext.stopService(new Intent(serviceAction)); - } else { - Log.w(TAG, "unknown vpn type to stop service for: " + type); - } + public void stopVpnService() { + mContext.stopService(new Intent(ACTION_VPN_SERVICE)); } /** - * Binds the specified ServiceConnection with the VPN service of the - * specified type. + * Binds the specified ServiceConnection with the VPN service. */ - public boolean bindService(VpnType type, ServiceConnection c) { - String serviceAction = getServiceActionName(type); - if (serviceAction == null) { - Log.w(TAG, "unknown vpn type to bind service for: " + type); - return false; - } - if (!mContext.bindService(new Intent(serviceAction), c, 0)) { - Log.w(TAG, "failed to connect to service: " + type); + public boolean bindVpnService(ServiceConnection c) { + if (!mContext.bindService(new Intent(ACTION_VPN_SERVICE), c, 0)) { + Log.w(TAG, "failed to connect to VPN service"); return false; } else { - Log.v(TAG, "succeeded to connect to service: " + type); + Log.d(TAG, "succeeded to connect to VPN service"); return true; } } @@ -181,21 +146,6 @@ public class VpnManager { mContext.unregisterReceiver(r); } - /** - * Starts the installation monitor service. - * The service monitors the default installtion path (under /data/local/tmp) - * and automatically starts the activity to create a new profile when new - * configuration files appear in that path. - */ - public void startInstallationMonitorService() { - mContext.startService(new Intent(SERVICE_VPN_INSTALL_MONITOR)); - } - - /** Stops the installation monitor service. */ - public void stopInstallationMonitorService() { - mContext.stopService(new Intent(SERVICE_VPN_INSTALL_MONITOR)); - } - /** Starts the VPN settings activity. */ public void startSettingsActivity() { Intent intent = new Intent(ACTION_VPN_SETTINGS); @@ -203,14 +153,10 @@ public class VpnManager { mContext.startActivity(intent); } - /** - * Starts the activity to install a customized profile. - * @param installPath the path where all the configuration files are located - */ - public void startInstallProfileActivity(String installPath) { - Intent intent = new Intent(ACTION_VPN_INSTALL_PROFILE); - intent.putExtra(KEY_INSTALLATION_PATH, installPath); + /** Creates an intent to start the VPN settings activity. */ + public Intent createSettingsActivityIntent() { + Intent intent = new Intent(ACTION_VPN_SETTINGS); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - mContext.startActivity(intent); + return intent; } } diff --git a/vpn/java/android/net/vpn/VpnProfile.java b/vpn/java/android/net/vpn/VpnProfile.java index 7cf2608..1bfc102 100644 --- a/vpn/java/android/net/vpn/VpnProfile.java +++ b/vpn/java/android/net/vpn/VpnProfile.java @@ -27,7 +27,8 @@ import java.io.Serializable; * A VPN profile. * {@hide} */ -public abstract class VpnProfile implements Parcelable { +public abstract class VpnProfile implements Parcelable, Serializable { + private static final long serialVersionUID = 1L; private String mName; // unique display name private String mId; // unique identifier private String mDomainSuffices; // space separated list diff --git a/vpn/java/android/net/vpn/VpnState.java b/vpn/java/android/net/vpn/VpnState.java index 78117e0..977d938 100644 --- a/vpn/java/android/net/vpn/VpnState.java +++ b/vpn/java/android/net/vpn/VpnState.java @@ -24,8 +24,10 @@ package android.net.vpn; * {@link CONNECTED} if successful; back to {@link IDLE} if failed. * When the connection is about to be torn down, it goes to * {@link DISCONNECTING} and then {@link IDLE}. + * {@link CANCELLED} is a state when a VPN connection attempt is aborted, and + * is in transition to {@link IDLE}. * {@hide} */ public enum VpnState { - CONNECTING, DISCONNECTING, CONNECTED, IDLE + CONNECTING, DISCONNECTING, CANCELLED, CONNECTED, IDLE } diff --git a/vpn/java/android/net/vpn/VpnType.java b/vpn/java/android/net/vpn/VpnType.java index dcf2078..91b0ea2 100644 --- a/vpn/java/android/net/vpn/VpnType.java +++ b/vpn/java/android/net/vpn/VpnType.java @@ -39,8 +39,4 @@ public enum VpnType { public Class<? extends VpnProfile> getProfileClass() { return mClass; } - - public String getServiceName() { - return this.toString(); - } } |
