BUG=skia:
authorstephana <stephana@google.com>
Thu, 9 Apr 2015 14:57:54 +0000 (07:57 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 9 Apr 2015 14:57:54 +0000 (07:57 -0700)
Review URL: https://codereview.chromium.org/1054073003

experimental/iOSSampleApp/Shared/skia_ios.mm
src/core/SkImageFilter.cpp
tests/StreamTest.cpp
tools/ProcStats.cpp

index 45675fa61a0b4ef817997c899b682c32f2443784..b8680c40e9c0f0ea5f53b5092c779bb33b3d28f4 100644 (file)
@@ -1,3 +1,9 @@
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
 #import <UIKit/UIKit.h>
 #include "SkApplication.h"
 
@@ -5,14 +11,24 @@ int main(int argc, char *argv[]) {
     signal(SIGPIPE, SIG_IGN);
     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
     application_init();
+
     // Identify the documents directory
     NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
     NSString *docsDir = [dirPaths objectAtIndex:0];
-    const char *d = [docsDir UTF8String];
-    IOS_launch_type launchType = set_cmd_line_args(argc, argv, d);
-    int retVal = launchType == kApplication__iOSLaunchType
-            ? UIApplicationMain(argc, argv, nil, nil) : (int) launchType;
+    NSString *resourceDir = [docsDir stringByAppendingString:@"/resources"];
+    const char *d = [resourceDir UTF8String];
+
+    // change to the dcouments directory. To allow the 'writePath' flag to use relative paths. 
+    NSFileManager *filemgr = [NSFileManager defaultManager];
+    int retVal = 99; 
+    if ([filemgr changeCurrentDirectoryPath: docsDir] == YES)
+    {
+        IOS_launch_type launchType = set_cmd_line_args(argc, argv, d);
+        retVal = launchType == kApplication__iOSLaunchType
+                ? UIApplicationMain(argc, argv, nil, nil) : (int) launchType;
+    }
     application_term();
+    [filemgr release];
     [pool release];
     return retVal;
 }
index d51d9c8cd9436546e3b7a4f70d5e231889683c47..d4eaf65c5fac2ef6582b5ad15a3633e3e05c1e75 100644 (file)
 #include "SkGr.h"
 #endif
 
-enum { kDefaultCacheSize = 128 * 1024 * 1024 };
+#ifdef SK_BUILD_FOR_IOS
+  enum { kDefaultCacheSize = 2 * 1024 * 1024 };
+#else 
+  enum { kDefaultCacheSize = 128 * 1024 * 1024 };
+#endif 
 
 static int32_t next_image_filter_unique_id() {
     static int32_t gImageFilterUniqueID;
index 7a89c99c0c1f91c470379ead3e8cdd27e96d2ceb..776c2010145e15579064fb2431ee0b35b4097e89 100644 (file)
@@ -246,6 +246,10 @@ static void test_peeking_front_buffered_stream(skiatest::Reporter* r,
     test_peeking_stream(r, bufferedStream, bufferSize);
 }
 
+// This test uses file system operations that don't work out of the 
+// box on iOS. It's likely that we don't need them on iOS. Ignoring for now. 
+// TODO(stephana): Re-evaluate if we need this in the future. 
+#ifndef SK_BUILD_FOR_IOS
 DEF_TEST(StreamPeek, reporter) {
     // Test a memory stream.
     const char gAbcs[] = "abcdefghijklmnopqrstuvwxyz";
@@ -265,3 +269,4 @@ DEF_TEST(StreamPeek, reporter) {
         test_peeking_front_buffered_stream(reporter, memStream, i);
     }
 }
+#endif 
index 5c41213d4df2513f9196adc1c747fe93f00123c4..fc9da230114d9aab7ee81659a01445dd405807d9 100644 (file)
@@ -7,7 +7,7 @@
 
 #include "ProcStats.h"
 
-#if defined(SK_BUILD_FOR_UNIX) || defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_ANDROID)
+#if defined(SK_BUILD_FOR_UNIX) || defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) || defined(SK_BUILD_FOR_ANDROID)
     #include <sys/resource.h>
     int sk_tools::getMaxResidentSetSizeMB() {
         struct rusage ru;
@@ -30,7 +30,7 @@
     int sk_tools::getMaxResidentSetSizeMB() { return -1; }
 #endif
 
-#if defined(SK_BUILD_FOR_MAC)
+#if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS)
     #include <mach/mach.h>
     int sk_tools::getCurrResidentSetSizeMB() {
         mach_task_basic_info info;