Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Unified Diff: webkit/tools/test_shell/test_shell_platform_delegate_mac.mm

Issue 15028002: Delete test_shell. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add dummy test_shell build target. Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webkit/tools/test_shell/test_shell_platform_delegate_mac.mm
diff --git a/webkit/tools/test_shell/test_shell_platform_delegate_mac.mm b/webkit/tools/test_shell/test_shell_platform_delegate_mac.mm
deleted file mode 100644
index dc1b2210a64291a12ab02526d8749c5fd0cd68b4..0000000000000000000000000000000000000000
--- a/webkit/tools/test_shell/test_shell_platform_delegate_mac.mm
+++ /dev/null
@@ -1,203 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "build/build_config.h"
-
-#include <Carbon/Carbon.h>
-// #include <ApplicationServices/ApplicationServices.h>
-#import <Cocoa/Cocoa.h>
-#import <objc/objc-runtime.h>
-#include <mach/task.h>
-
-#include "base/command_line.h"
-#include "base/logging.h"
-#include "base/message_pump_mac.h"
-#import "base/test/mock_chrome_application_mac.h"
-#include "webkit/tools/test_shell/test_shell.h"
-#include "webkit/tools/test_shell/test_shell_platform_delegate.h"
-#include "webkit/tools/test_shell/test_shell_switches.h"
-
-static NSAutoreleasePool *gTestShellAutoreleasePool = nil;
-
-static void SetDefaultsToLayoutTestValues(void) {
- // So we can match the WebKit layout tests, we want to force a bunch of
- // preferences that control appearance to match.
- // (We want to do this as early as possible in application startup so
- // the settings are in before any higher layers could cache values.)
-
- // This is inspired by resetDefaultsToConsistentValues() in
- // WebKit/Tools/DumpRenderTree/mac/DumpRenderTree.mm .
-
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
-
- const NSInteger kMinFontSizeCGSmoothes = 4;
- const NSInteger kNoFontSmoothing = 0;
- const NSInteger kBlueTintedAppearance = 1;
- [defaults setInteger:kMinFontSizeCGSmoothes
- forKey:@"AppleAntiAliasingThreshold"];
- [defaults setInteger:kNoFontSmoothing
- forKey:@"AppleFontSmoothing"];
- [defaults setInteger:kBlueTintedAppearance
- forKey:@"AppleAquaColorVariant"];
- [defaults setObject:@"0.709800 0.835300 1.000000"
- forKey:@"AppleHighlightColor"];
- [defaults setObject:@"0.500000 0.500000 0.500000"
- forKey:@"AppleOtherHighlightColor"];
- [defaults setObject:[NSArray arrayWithObject:@"en"]
- forKey:@"AppleLanguages"];
-
- // AppKit pulls scrollbar style from NSUserDefaults. HIToolbox uses
- // CFPreferences, but AnyApplication, so we set it, force it to load, and
- // then reset the pref to what it was (HIToolbox will cache what it loaded).
- [defaults setObject:@"DoubleMax" forKey:@"AppleScrollBarVariant"];
- CFTypeRef initialValue =
- CFPreferencesCopyValue(CFSTR("AppleScrollBarVariant"),
- kCFPreferencesAnyApplication,
- kCFPreferencesCurrentUser,
- kCFPreferencesAnyHost);
- CFPreferencesSetValue(CFSTR("AppleScrollBarVariant"),
- CFSTR("DoubleMax"),
- kCFPreferencesAnyApplication,
- kCFPreferencesCurrentUser,
- kCFPreferencesAnyHost);
-#ifndef __LP64__
- // Make HIToolbox read from CFPreferences.
- // HIToolbox is not available in 64-bit. DumpRenderTree comments out this
- // call with a note to rdar://6347388 . No clue, sorry.
- ThemeScrollBarArrowStyle style;
- GetThemeScrollBarArrowStyle(&style);
-#endif // __LP64__
- if (initialValue) {
- // Reset the preference to what it was
- CFPreferencesSetValue(CFSTR("AppleScrollBarVariant"),
- initialValue,
- kCFPreferencesAnyApplication,
- kCFPreferencesCurrentUser,
- kCFPreferencesAnyHost);
- CFRelease(initialValue);
- }
-}
-
-static void ClearAnyDefaultsForLayoutTests(void) {
- // Not running a test, clear the keys so the TestShell looks right to the
- // running user.
-
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
-
- [defaults removeObjectForKey:@"AppleAntiAliasingThreshold"];
- [defaults removeObjectForKey:@"AppleFontSmoothing"];
- [defaults removeObjectForKey:@"AppleAquaColorVariant"];
- [defaults removeObjectForKey:@"AppleHighlightColor"];
- [defaults removeObjectForKey:@"AppleOtherHighlightColor"];
- [defaults removeObjectForKey:@"AppleLanguages"];
- [defaults removeObjectForKey:@"AppleScrollBarVariant"];
-}
-
-#if OBJC_API_VERSION == 2
-static void SwizzleAllMethods(Class imposter, Class original) {
- unsigned int imposterMethodCount = 0;
- Method* imposterMethods =
- class_copyMethodList(imposter, &imposterMethodCount);
-
- unsigned int originalMethodCount = 0;
- Method* originalMethods =
- class_copyMethodList(original, &originalMethodCount);
-
- for (unsigned int i = 0; i < imposterMethodCount; i++) {
- SEL imposterMethodName = method_getName(imposterMethods[i]);
-
- // Attempt to add the method to the original class. If it fails, the method
- // already exists and we should instead exchange the implementations.
- if (class_addMethod(original,
- imposterMethodName,
- method_getImplementation(originalMethods[i]),
- method_getTypeEncoding(originalMethods[i]))) {
- continue;
- }
-
- unsigned int j = 0;
- for (; j < originalMethodCount; j++) {
- SEL originalMethodName = method_getName(originalMethods[j]);
- if (sel_isEqual(imposterMethodName, originalMethodName)) {
- break;
- }
- }
-
- // If class_addMethod failed above then the method must exist on the
- // original class.
- DCHECK(j < originalMethodCount) << "method wasn't found?";
- method_exchangeImplementations(imposterMethods[i], originalMethods[j]);
- }
-
- if (imposterMethods) {
- free(imposterMethods);
- }
- if (originalMethods) {
- free(originalMethods);
- }
-}
-#endif
-
-static void SwizzleNSPasteboard(void) {
- // We replace NSPaseboard w/ the shim (from WebKit) that avoids having
- // sideeffects w/ whatever the user does at the same time.
-
- Class imposterClass = objc_getClass("DumpRenderTreePasteboard");
- Class originalClass = objc_getClass("NSPasteboard");
-#if OBJC_API_VERSION == 0
- class_poseAs(imposterClass, originalClass);
-#else
- // Swizzle instance methods...
- SwizzleAllMethods(imposterClass, originalClass);
- // and then class methods.
- SwizzleAllMethods(object_getClass(imposterClass),
- object_getClass(originalClass));
-#endif
-}
-
-TestShellPlatformDelegate::TestShellPlatformDelegate(
- const CommandLine &command_line)
- : command_line_(command_line) {
- gTestShellAutoreleasePool = [[NSAutoreleasePool alloc] init];
- // Force AppKit to init itself, but don't start the runloop yet
- [MockCrApp sharedApplication];
- [NSBundle loadNibNamed:@"MainMenu" owner:NSApp];
-}
-
-TestShellPlatformDelegate::~TestShellPlatformDelegate() {
- [gTestShellAutoreleasePool drain];
-}
-
-bool TestShellPlatformDelegate::CheckLayoutTestSystemDependencies() {
- return true;
-}
-
-void TestShellPlatformDelegate::InitializeGUI() {
- // Make sure any settings from a previous layout run are cleared
- ClearAnyDefaultsForLayoutTests();
-}
-
-void TestShellPlatformDelegate::PreflightArgs(int *argc, char ***argv) {
-}
-
-void TestShellPlatformDelegate::SetWindowPositionForRecording(TestShell *) {
-}
-
-void TestShellPlatformDelegate::SelectUnifiedTheme() {
- SetDefaultsToLayoutTestValues();
- SwizzleNSPasteboard();
-}
-
-void TestShellPlatformDelegate::SuppressErrorReporting() {
- const CommandLine& parsed_command_line = *CommandLine::ForCurrentProcess();
-
- // If we die during tests, we don't want to be spamming the user's crash
- // reporter. Set our exception port to null and add signal handlers.
- // Both of these are necessary to avoid the crash reporter. Although, we do
- // still seem to be missing some cases.
- if (!parsed_command_line.HasSwitch(test_shell::kGDB)) {
- task_set_exception_ports(mach_task_self(), EXC_MASK_ALL, MACH_PORT_NULL,
- EXCEPTION_DEFAULT, THREAD_STATE_NONE);
- }
-}

Powered by Google App Engine
This is Rietveld 408576698