19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage com.android.dumprendertree; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic interface LayoutTestController { 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 21357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void dumpAsText(boolean enablePixelTests); 22357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void dumpChildFramesAsText(); 23357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void waitUntilDone(); 24357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void notifyDone(); 25357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch 26357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch // Force a redraw of the page 27357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void display(); 28357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch // Used with pixel dumps of content 29357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void testRepaint(); 30357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch 31357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch // If the page title changes, add the information to the output. 32357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void dumpTitleChanges(); 33357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void dumpBackForwardList(); 34357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void dumpChildFrameScrollPositions(); 35357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void dumpEditingCallbacks(); 36357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch 37357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch // Show/Hide window for window.onBlur() testing 38357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void setWindowIsKey(boolean b); 39357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch // Mac function, used to disable events going to the window 40357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void setMainFrameIsFirstResponder(boolean b); 41357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch 42357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch public void dumpSelectionRect(); 43357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch 44357d280a25a978a2ea0c1b89f6a7c7f385630b98Ben Murdoch // invalidate and draw one line at a time of the web view. 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void repaintSweepHorizontally(); 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // History testing functions 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void keepWebHistory(); 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void clearBackForwardList(); 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // navigate after page load has finished 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void queueBackNavigation(int howfar); 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void queueForwardNavigation(int howfar); 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Reload when the page load has finished 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void queueReload(); 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Execute the provided script in current context when page load has finished. 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void queueScript(String scriptToRunInCurrentContext); 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Load the provided URL into the provided frame 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void queueLoad(String Url, String frameTarget); 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setAcceptsEditing(boolean b); 62e6f3e45dc4d8a2b482183c57c61dd9ea22505c85Ben Murdoch 63e6f3e45dc4d8a2b482183c57c61dd9ea22505c85Ben Murdoch // For storage tests 64e6f3e45dc4d8a2b482183c57c61dd9ea22505c85Ben Murdoch public void dumpDatabaseCallbacks(); 65e6f3e45dc4d8a2b482183c57c61dd9ea22505c85Ben Murdoch public void setCanOpenWindows(); 66dad347c8b83aeb49eafae68774b7bfb59c956977Steve Block 67dad347c8b83aeb49eafae68774b7bfb59c956977Steve Block // For Geolocation tests 68dad347c8b83aeb49eafae68774b7bfb59c956977Steve Block public void setGeolocationPermission(boolean allow); 69fb0de34a47a435b57075d7a72cbc40a2daf5ee6cSteve Block 70fb0de34a47a435b57075d7a72cbc40a2daf5ee6cSteve Block public void overridePreference(String key, boolean value); 715dc0c8253b368239a90d7176ff6325ae5ba371b3Elliott Slaughter 725dc0c8253b368239a90d7176ff6325ae5ba371b3Elliott Slaughter // For XSSAuditor tests 735dc0c8253b368239a90d7176ff6325ae5ba371b3Elliott Slaughter public void setXSSAuditorEnabled(boolean flag); 7468dede3d6664d91302d727531d13f7f5862d3a50Steve Block 75f3f60d9328d8acfedf987a73631fc90c39bf5447Steve Block // For Geolocation tests 76f3f60d9328d8acfedf987a73631fc90c39bf5447Steve Block public void setMockGeolocationPosition(double latitude, double longitude, double accuracy); 77f3f60d9328d8acfedf987a73631fc90c39bf5447Steve Block public void setMockGeolocationError(int code, String message); 78f3f60d9328d8acfedf987a73631fc90c39bf5447Steve Block 7968dede3d6664d91302d727531d13f7f5862d3a50Steve Block // For DeviceOrientation tests 8068dede3d6664d91302d727531d13f7f5862d3a50Steve Block public void setMockDeviceOrientation(boolean canProvideAlpha, double alpha, 8168dede3d6664d91302d727531d13f7f5862d3a50Steve Block boolean canProvideBeta, double beta, boolean canProvideGamma, double gamma); 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 83