Title: [165650] trunk/Source/_javascript_Core
- Revision
- 165650
- Author
- commit-qu...@webkit.org
- Date
- 2014-03-14 14:29:18 -0700 (Fri, 14 Mar 2014)
Log Message
Web Inspector: Gracefully handle nil name -[JSContext setName:]
https://bugs.webkit.org/show_bug.cgi?id=130262
Patch by Joseph Pecoraro <pecor...@apple.com> on 2014-03-14
Reviewed by Mark Hahnenberg.
* API/JSContext.mm:
(-[JSContext setName:]):
Gracefully handle nil input.
* API/tests/testapi.c:
(globalContextNameTest):
* API/tests/testapi.mm:
Test for nil / NULL names in the ObjC and C APIs.
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/API/JSContext.mm (165649 => 165650)
--- trunk/Source/_javascript_Core/API/JSContext.mm 2014-03-14 21:20:34 UTC (rev 165649)
+++ trunk/Source/_javascript_Core/API/JSContext.mm 2014-03-14 21:29:18 UTC (rev 165650)
@@ -195,9 +195,10 @@
- (void)setName:(NSString *)name
{
- JSStringRef nameJS = JSStringCreateWithCFString((CFStringRef)[name copy]);
+ JSStringRef nameJS = name ? JSStringCreateWithCFString((CFStringRef)[name copy]) : nullptr;
JSGlobalContextSetName(m_context, nameJS);
- JSStringRelease(nameJS);
+ if (nameJS)
+ JSStringRelease(nameJS);
}
@end
Modified: trunk/Source/_javascript_Core/API/tests/testapi.c (165649 => 165650)
--- trunk/Source/_javascript_Core/API/tests/testapi.c 2014-03-14 21:20:34 UTC (rev 165649)
+++ trunk/Source/_javascript_Core/API/tests/testapi.c 2014-03-14 21:29:18 UTC (rev 165650)
@@ -1083,10 +1083,13 @@
JSStringRef fetchName1 = JSGlobalContextCopyName(context);
JSGlobalContextSetName(context, name2);
JSStringRef fetchName2 = JSGlobalContextCopyName(context);
+ JSGlobalContextSetName(context, NULL);
+ JSStringRef fetchName3 = JSGlobalContextCopyName(context);
result &= assertTrue(JSStringIsEqual(name1, fetchName1), "Unexpected Context name");
result &= assertTrue(JSStringIsEqual(name2, fetchName2), "Unexpected Context name");
result &= assertTrue(!JSStringIsEqual(fetchName1, fetchName2), "Unexpected Context name");
+ result &= assertTrue(!fetchName3, "Unexpected Context name");
JSStringRelease(name1);
JSStringRelease(name2);
Modified: trunk/Source/_javascript_Core/API/tests/testapi.mm (165649 => 165650)
--- trunk/Source/_javascript_Core/API/tests/testapi.mm 2014-03-14 21:20:34 UTC (rev 165649)
+++ trunk/Source/_javascript_Core/API/tests/testapi.mm 2014-03-14 21:29:18 UTC (rev 165650)
@@ -1289,9 +1289,12 @@
NSString *fetchedName1 = context.name;
context.name = name2;
NSString *fetchedName2 = context.name;
+ context.name = nil;
+ NSString *fetchedName3 = context.name;
checkResult(@"fetched context.name was expected", [fetchedName1 isEqualToString:name1]);
checkResult(@"fetched context.name was expected", [fetchedName2 isEqualToString:name2]);
checkResult(@"fetched context.name was expected", ![fetchedName1 isEqualToString:fetchedName2]);
+ checkResult(@"fetched context.name was expected", fetchedName3 == nil);
}
@autoreleasepool {
Modified: trunk/Source/_javascript_Core/ChangeLog (165649 => 165650)
--- trunk/Source/_javascript_Core/ChangeLog 2014-03-14 21:20:34 UTC (rev 165649)
+++ trunk/Source/_javascript_Core/ChangeLog 2014-03-14 21:29:18 UTC (rev 165650)
@@ -1,3 +1,19 @@
+2014-03-14 Joseph Pecoraro <pecor...@apple.com>
+
+ Web Inspector: Gracefully handle nil name -[JSContext setName:]
+ https://bugs.webkit.org/show_bug.cgi?id=130262
+
+ Reviewed by Mark Hahnenberg.
+
+ * API/JSContext.mm:
+ (-[JSContext setName:]):
+ Gracefully handle nil input.
+
+ * API/tests/testapi.c:
+ (globalContextNameTest):
+ * API/tests/testapi.mm:
+ Test for nil / NULL names in the ObjC and C APIs.
+
2014-03-11 Oliver Hunt <oli...@apple.com>
Improve dom error messages
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes