summaryrefslogtreecommitdiff
path: root/UICaboodle
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2008-12-09 09:18:04 +0000
committerJay Freeman (saurik) <saurik@saurik.com>2010-09-30 07:09:05 +0000
commitfe468f45e509f1e3bc2d0491160f44491df5a67b (patch)
tree7dd1f05c055ad92415006c32d76ecd6a7648e993 /UICaboodle
parentb0ad8dee056b2ad8a987a47f9235076b6b3f6a19 (diff)
Fixed HTML error handling and enhanced pinstriping.
Diffstat (limited to 'UICaboodle')
-rw-r--r--UICaboodle/BrowserView.h2
-rw-r--r--UICaboodle/BrowserView.m45
2 files changed, 31 insertions, 16 deletions
diff --git a/UICaboodle/BrowserView.h b/UICaboodle/BrowserView.h
index 3dcdb93..a37d326 100644
--- a/UICaboodle/BrowserView.h
+++ b/UICaboodle/BrowserView.h
@@ -41,6 +41,8 @@
UIProgressIndicator *indicator_;
IndirectDelegate *indirect_;
NSURLAuthenticationChallenge *challenge_;
+
+ bool error_;
NSURLRequest *request_;
NSNumber *confirm_;
diff --git a/UICaboodle/BrowserView.m b/UICaboodle/BrowserView.m
index edaa2f2..b3ed590 100644
--- a/UICaboodle/BrowserView.m
+++ b/UICaboodle/BrowserView.m
@@ -95,6 +95,7 @@
- (void) loadRequest:(NSURLRequest *)request {
pushed_ = true;
+ error_ = false;
[webview_ loadRequest:request];
}
@@ -104,7 +105,7 @@
return;
if ([request_ HTTPBody] == nil && [request_ HTTPBodyStream] == nil)
- [webview_ loadRequest:request_];
+ [self loadRequest:request_];
else {
UIActionSheet *sheet = [[[UIActionSheet alloc]
initWithTitle:@"Are you sure you want to submit this form again?"
@@ -294,7 +295,7 @@
NSURL *url([request URL]);
if (url == nil) use: {
- if ([frame parentFrame] == nil) {
+ if (!error_ && [frame parentFrame] == nil) {
if (request_ != nil)
[request_ autorelease];
request_ = [request retain];
@@ -592,20 +593,30 @@
bool colored(false);
if (DOMCSSPrimitiveValue *color = static_cast<DOMCSSPrimitiveValue *>([style getPropertyCSSValue:@"background-color"])) {
- DOMRGBColor *rgb([color getRGBColorValue]);
-
- float alpha([[rgb alpha] getFloatValue:DOM_CSS_NUMBER]);
- NSLog(@"alpha:%g", alpha);
-
- if (alpha != 0) {
- colored = true;
-
- [scroller_ setBackgroundColor:[UIColor
- colorWithRed:([[rgb red] getFloatValue:DOM_CSS_NUMBER] / 255)
- green:([[rgb green] getFloatValue:DOM_CSS_NUMBER] / 255)
- blue:([[rgb blue] getFloatValue:DOM_CSS_NUMBER] / 255)
- alpha:alpha
- ]];
+ if ([color primitiveType] == DOM_CSS_RGBCOLOR) {
+ DOMRGBColor *rgb([color getRGBColorValue]);
+
+ float red([[rgb red] getFloatValue:DOM_CSS_NUMBER]);
+ float green([[rgb green] getFloatValue:DOM_CSS_NUMBER]);
+ float blue([[rgb blue] getFloatValue:DOM_CSS_NUMBER]);
+ float alpha([[rgb alpha] getFloatValue:DOM_CSS_NUMBER]);
+
+ UIColor *uic(nil);
+
+ if (red == 0xc7 && green == 0xce && blue == 0xd5)
+ uic = [UIColor pinStripeColor];
+ else if (alpha != 0)
+ uic = [UIColor
+ colorWithRed:(red / 255)
+ green:(green / 255)
+ blue:(blue / 255)
+ alpha:alpha
+ ];
+
+ if (uic != nil) {
+ colored = true;
+ [scroller_ setBackgroundColor:uic];
+ }
}
}
@@ -627,6 +638,8 @@
[[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"error" ofType:@"html"]] absoluteString],
[[error localizedDescription] stringByAddingPercentEscapes]
]]];
+
+ error_ = true;
}
- (void) webView:(WebView *)sender addMessageToConsole:(NSDictionary *)dictionary {