diff --git a/Frameworks/AppKit/Browser.environment/AppKit.sj b/Frameworks/AppKit/Browser.environment/AppKit.sj index 5f5367c99..07ad9e243 100644 --- a/Frameworks/AppKit/Browser.environment/AppKit.sj +++ b/Frameworks/AppKit/Browser.environment/AppKit.sj @@ -40072,7 +40072,7 @@ var meta_class = the_class.isa;class_addMethods(the_class, [new objj_method(sel_ ,["void","CPCoder"])]); } -p;13;CPTextField.jt;133090;@STATIC;1.0;i;11;CPControl.ji;17;CPStringDrawing.ji;17;CPCompatibility.ji;8;CPText.ji;20;CPWindow_Constants.ji;21;_CPImageAndTextView.jt;132946;objj_executeFile("CPControl.j", YES);objj_executeFile("CPStringDrawing.j", YES);objj_executeFile("CPCompatibility.j", YES);objj_executeFile("CPText.j", YES);objj_executeFile("CPWindow_Constants.j", YES);objj_executeFile("_CPImageAndTextView.j", YES);{var the_protocol = objj_allocateProtocol("CPTextFieldDelegate"); +p;13;CPTextField.jt;134724;@STATIC;1.0;i;11;CPControl.ji;17;CPStringDrawing.ji;17;CPCompatibility.ji;8;CPText.ji;20;CPWindow_Constants.ji;21;_CPImageAndTextView.jt;134580;objj_executeFile("CPControl.j", YES);objj_executeFile("CPStringDrawing.j", YES);objj_executeFile("CPCompatibility.j", YES);objj_executeFile("CPText.j", YES);objj_executeFile("CPWindow_Constants.j", YES);objj_executeFile("_CPImageAndTextView.j", YES);{var the_protocol = objj_allocateProtocol("CPTextFieldDelegate"); var aProtocol = objj_getProtocol("CPControlTextEditingDelegate"); if (!aProtocol) throw new SyntaxError("*** Could not find definition for protocol \"CPTextFieldDelegate\""); protocol_addProtocol(the_protocol, aProtocol); @@ -40127,6 +40127,20 @@ CPTextFieldHandleBlur = function(anEvent, ownerRef) ((___r1 = (CPRunLoop.isa.method_msgSend["currentRunLoop"] || _objj_forward)(CPRunLoop, "currentRunLoop")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["limitDateForMode:"] || _objj_forward)(___r1, "limitDateForMode:", CPDefaultRunLoopMode)); var ___r1; } +_CPTextFieldDetachInputElement = function(anElement) +{ + if (!anElement || !anElement.parentNode) + return; + var wasResigning = CPTextFieldInputResigning; + CPTextFieldInputResigning = YES; + try { + anElement.parentNode.removeChild(anElement); + } + catch(e) { + } + CPTextFieldInputResigning = wasResigning; + CPTextFieldInputDidBlur = NO; +} { var the_class = objj_getClass("CPString") if(!the_class) throw new SyntaxError("*** Could not find definition for class \"CPString\""); @@ -40408,7 +40422,31 @@ class_addMethods(the_class, [new objj_method(sel_getUid("setControlSize:"), func (self.isa.method_msgSend["_setCSSStyleForInputElement"] || _objj_forward)(self, "_setCSSStyleForInputElement"); var element = (self.isa.method_msgSend["_inputElement"] || _objj_forward)(self, "_inputElement"); element.value = self._stringValue; - self._DOMElement.appendChild(element); + if (element.parentNode !== self._DOMElement) + { + var previousOwner = CPTextFieldInputOwner; + _CPTextFieldDetachInputElement(element); + try { + self._DOMElement.appendChild(element); + } + catch(e) { + _CPTextFieldDetachInputElement(element); + try { + self._DOMElement.appendChild(element); + } + catch(e2) { + (self.isa.method_msgSend["unsetThemeState:"] || _objj_forward)(self, "unsetThemeState:", CPThemeStateEditing); + (self.isa.method_msgSend["_updatePlaceholderState"] || _objj_forward)(self, "_updatePlaceholderState"); + (self.isa.method_msgSend["setNeedsLayout"] || _objj_forward)(self, "setNeedsLayout"); + return NO; + } + } + if (previousOwner && previousOwner !== self) + { + (previousOwner == null ? previousOwner : (previousOwner.isa.method_msgSend["unsetThemeState:"] || _objj_forward)(previousOwner, "unsetThemeState:", CPThemeStateEditing)); + (previousOwner == null ? previousOwner : (previousOwner.isa.method_msgSend["setNeedsLayout"] || _objj_forward)(previousOwner, "setNeedsLayout")); + } + } CPTextFieldInputIsActive = YES; if (document.attachEvent) { @@ -40577,7 +40615,13 @@ default: if (!CPTextFieldInputDidBlur) CPTextFieldBlurHandler(); if (element.parentNode == self._DOMElement) - element.parentNode.removeChild(element); + { + try { + element.parentNode.removeChild(element); + } + catch(e) { + } + } CPTextFieldInputDidBlur = NO; CPTextFieldInputResigning = NO; CPTextFieldInputIsActive = NO; diff --git a/Frameworks/AppKit/CommonJS.environment/AppKit.sj b/Frameworks/AppKit/CommonJS.environment/AppKit.sj index e412152ed..486d218b3 100644 --- a/Frameworks/AppKit/CommonJS.environment/AppKit.sj +++ b/Frameworks/AppKit/CommonJS.environment/AppKit.sj @@ -39206,7 +39206,7 @@ var meta_class = the_class.isa;class_addMethods(the_class, [new objj_method(sel_ ,["void","CPCoder"])]); } -p;13;CPTextField.jt;109280;@STATIC;1.0;i;11;CPControl.ji;17;CPStringDrawing.ji;17;CPCompatibility.ji;8;CPText.ji;20;CPWindow_Constants.ji;21;_CPImageAndTextView.jt;109136;objj_executeFile("CPControl.j", YES);objj_executeFile("CPStringDrawing.j", YES);objj_executeFile("CPCompatibility.j", YES);objj_executeFile("CPText.j", YES);objj_executeFile("CPWindow_Constants.j", YES);objj_executeFile("_CPImageAndTextView.j", YES);{var the_protocol = objj_allocateProtocol("CPTextFieldDelegate"); +p;13;CPTextField.jt;109655;@STATIC;1.0;i;11;CPControl.ji;17;CPStringDrawing.ji;17;CPCompatibility.ji;8;CPText.ji;20;CPWindow_Constants.ji;21;_CPImageAndTextView.jt;109511;objj_executeFile("CPControl.j", YES);objj_executeFile("CPStringDrawing.j", YES);objj_executeFile("CPCompatibility.j", YES);objj_executeFile("CPText.j", YES);objj_executeFile("CPWindow_Constants.j", YES);objj_executeFile("_CPImageAndTextView.j", YES);{var the_protocol = objj_allocateProtocol("CPTextFieldDelegate"); var aProtocol = objj_getProtocol("CPControlTextEditingDelegate"); if (!aProtocol) throw new SyntaxError("*** Could not find definition for protocol \"CPTextFieldDelegate\""); protocol_addProtocol(the_protocol, aProtocol); @@ -39261,6 +39261,20 @@ CPTextFieldHandleBlur = function(anEvent, ownerRef) ((___r1 = (CPRunLoop.isa.method_msgSend["currentRunLoop"] || _objj_forward)(CPRunLoop, "currentRunLoop")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["limitDateForMode:"] || _objj_forward)(___r1, "limitDateForMode:", CPDefaultRunLoopMode)); var ___r1; } +_CPTextFieldDetachInputElement = function(anElement) +{ + if (!anElement || !anElement.parentNode) + return; + var wasResigning = CPTextFieldInputResigning; + CPTextFieldInputResigning = YES; + try { + anElement.parentNode.removeChild(anElement); + } + catch(e) { + } + CPTextFieldInputResigning = wasResigning; + CPTextFieldInputDidBlur = NO; +} { var the_class = objj_getClass("CPString") if(!the_class) throw new SyntaxError("*** Could not find definition for class \"CPString\""); diff --git a/Resources/recipes.txt b/Resources/recipes.txt index 8a8787b3e..7c79ea8dd 100644 --- a/Resources/recipes.txt +++ b/Resources/recipes.txt @@ -1,148 +1,148 @@ -1789218204450|ArrayControllerInitialSelectionTest| -1789218204465|ArrayControllerRemovingFirstTest| -1789218204478|ArrayControllerTest| -1789218204491|AttachedSheet2Test| -1789218204505|AttachedSheetTest| -1789218204518|BindingContentArrayTest| -1789218204531|CGCanvasContextTest| -1789218204545|CGPathTest| -1789218204558|CPAlertTest| -1789218204571|CPAnimatablePropertyContainerTest| -1789218204585|CPAnimationContextTest| -1789218204598|CPAnimationTest| -1789218204611|CPBinderEchoBug| -1789218204625|CPBoxCibTest| -1789218204638|CPBoxTest| -1789218204652|CPBrowserTest| -1789218204666|CPButtonBarTest| -1789218204680|CPButtonKeyEquivalentDefaultTest| -1789218204693|CPButtonTest| -1789218204707|CPByteCountFormatterTest| -1789218204720|CPCollectionViewNibTest| -1789218204734|CPColorCPImageDescriptionTest| -1789218204747|CPColorWellBindingsTest| -1789218204761|CPComboBoxTest| -1789218204775|CPControlPerformClickExceptionTest| -1789218204788|CPControlSizeTest| -1789218204802|CPCursorTest| -1789218204815|CPDateFormatterTest| -1789218204829|CPDatePickerTest| -1789218204843|CPDictionaryControllerTest| -1789218204856|CPDocumentControllerTest| -1789218204870|CPFormatterTest| -1789218204883|CPGraphicsTest| -1789218204897|CPImageAndTextViewImageScalingTest| -1789218204910|CPImageViewAlignmentScaling| -1789218204924|CPImageViewTest| -1789218204937|CPImageViewbindingsTest| -1789218204950|CPLanguageModelChatbotTest| -1789218204964|CPLevelIndicator| -1789218204977|CPLevelIndicatorTest| -1789218204990|CPLocalizationTest| -1789218205004|CPLogTest| -1789218205017|CPMarkdownParserTest| -1789218205031|CPMenuCALayerTest| -1789218205044|CPMenuEnabledBindingsTest| -1789218205058|CPMenuKeyEquivalentsTest| -1789218205071|CPMenuRemoveAllTest| -1789218205085|CPMenuSubmenuPlacementConstraints| -1789218205098|CPMenuTest| -1789218205112|CPOutlineViewCibTest| -1789218205125|CPOutlineViewTest| -1789218205139|CPOutlineViewViewBasedCibTest| -1789218205152|CPPanelTest| -1789218205165|CPPlatformWindow| -1789218205179|CPPlattformWindowMinSize| -1789218205192|CPPopUpButtonBindingsTest| -1789218205205|CPPopUpButtonTest| -1789218205219|CPPopoverTest| -1789218205232|CPPredicateEditorCibTest| -1789218205246|CPProgressIndicatorTest| -1789218205259|CPPropertyListSerializationTest| -1789218205273|CPRadioBindingsTest| -1789218205286|CPRuleEditorCibTest| -1789218205300|CPRuleEditorTest| -1789218205313|CPScrollView2Test| -1789218205327|CPScrollViewTest| -1789218205340|CPSearchFieldPredicateBinding| -1789218205353|CPSearchFieldTest| -1789218205367|CPSegmentedControlBindingsTest| -1789218205380|CPSegmentedControlTest| -1789218205393|CPSoundTest| -1789218205407|CPSplitViewDividerTest| -1789218205420|CPSplitViewTest| -1789218205433|CPStackViewTest| -1789218205447|CPStepperBindingsTest| -1789218205460|CPStepperNibTest| -1789218205473|CPTabView2Test| -1789218205487|CPTabViewBindingsTest| -1789218205500|CPTabViewNibTest| -1789218205514|CPTableViewGroupRowsTest| -1789218205527|CPTextFieldEditingStyleTest| -1789218205541|CPTextFieldHeightTest| -1789218205554|CPTextFieldMovementsTest| -1789218205568|CPTextFieldMultiLineTest| -1789218205581|CPTextFieldTest| -1789218205595|CPTextViewCibTest| -1789218205608|CPTextViewDelegateAndNotificationsTest| -1789218205622|CPTimeZoneTest| -1789218205635|CPTokenFieldTest| -1789218205648|CPToolTipTest| -1789218205662|CPToolbarTest| -1789218205675|CPTreeControllerTest| -1789218205688|CPURLConnectionAsyncTest| -1789218205702|CPURLConnectionSynchronousTest| -1789218205715|CPUserDefaultsControllerTest| -1789218205729|CPUserDefaultsTest| -1789218205742|CPUserNotificationTest| -1789218205756|CPViewControllerTest| -1789218205769|CPVisualEffectViewTest| -1789218205783|CPWebViewTest| -1789218205796|CPWebViewTest2| -1789218205809|CPWindowLiveResizeTest| -1789218205823|CPWindowMovableTest| -1789218205836|CPWindowResizeStyleTest| -1789218205849|ChildWindowsTest| -1789218205863|CompilationTests| -1789218205877|ContinuouslyUpdatesValueBinding| -1789218205890|CopyAndPasteTest| -1789218205904|CrossOriginTest| -1789218205917|FF4096Test| -1789218205930|FontEnhancementTest| -1789218205944|FontMetricsExplorerTest| -1789218205957|KeyEquivalentsTest| -1789218205970|KeyViewLoopTest| -1789218205984|KeyWindowInTheBackgroundActivation| -1789218205997|LayoutTest| -1789218206010|LoadDynamicFrameworksTest| -1789218206024|LoadTimeTest| -1789218206037|LongBindingsTest| -1789218206050|MobileTest| -1789218206064|MultipleValueBindingsTest| -1789218206077|NSBoxTest| -1789218206091|NSBrowserTest| -1789218206104|NewTextFieldBezelTest| -1789218206117|Nib2CibAlignmentTest| -1789218206131|Nib2CibBaselineAlignementTest| -1789218206144|Nib2CibSubviewsOrderTest| -1789218206158|NibAppRemixedTest| -1789218206171|PatternFillTest| -1789218206185|PlatformWindowsTest| -1789218206198|PopUpButtonEscTest| -1789218206211|PredicateWithFormatTest| -1789218206225|ResignFirstResponderWithCPControlTextDidEndEditingTest| -1789218206238|Scaling2Test| -1789218206252|ScalingTest| -1789218206265|ScrollviewThemingTest| -1789218206279|SimpleBindings2Test| -1789218206292|SizeToFitTest| -1789218206305|SmartFoldersTest| -1789218206319|TableTest| -1789218206332|ThemeBrowserTest| -1789218206346|ThemeKitchenSinkTest| -1789218206359|TrackingAreaTest| -1789218206372|UndoRedoWithMenuUpdateTest| -1789218206386|UserlandNSTest| -1789218206399|WindowSheetOrderTest| -1789218206413|layoutEphemeralSubviewTest| -1789218206426|performKeyEquivalentTest| +1790599926098|ArrayControllerInitialSelectionTest| +1790599926113|ArrayControllerRemovingFirstTest| +1790599926127|ArrayControllerTest| +1790599926140|AttachedSheet2Test| +1790599926154|AttachedSheetTest| +1790599926167|BindingContentArrayTest| +1790599926181|CGCanvasContextTest| +1790599926195|CGPathTest| +1790599926208|CPAlertTest| +1790599926222|CPAnimatablePropertyContainerTest| +1790599926236|CPAnimationContextTest| +1790599926249|CPAnimationTest| +1790599926263|CPBinderEchoBug| +1790599926277|CPBoxCibTest| +1790599926291|CPBoxTest| +1790599926305|CPBrowserTest| +1790599926319|CPButtonBarTest| +1790599926333|CPButtonKeyEquivalentDefaultTest| +1790599926348|CPButtonTest| +1790599926362|CPByteCountFormatterTest| +1790599926375|CPCollectionViewNibTest| +1790599926389|CPColorCPImageDescriptionTest| +1790599926403|CPColorWellBindingsTest| +1790599926417|CPComboBoxTest| +1790599926431|CPControlPerformClickExceptionTest| +1790599926444|CPControlSizeTest| +1790599926458|CPCursorTest| +1790599926472|CPDateFormatterTest| +1790599926486|CPDatePickerTest| +1790599926499|CPDictionaryControllerTest| +1790599926513|CPDocumentControllerTest| +1790599926527|CPFormatterTest| +1790599926541|CPGraphicsTest| +1790599926555|CPImageAndTextViewImageScalingTest| +1790599926568|CPImageViewAlignmentScaling| +1790599926582|CPImageViewTest| +1790599926596|CPImageViewbindingsTest| +1790599926609|CPLanguageModelChatbotTest| +1790599926623|CPLevelIndicator| +1790599926637|CPLevelIndicatorTest| +1790599926650|CPLocalizationTest| +1790599926664|CPLogTest| +1790599926678|CPMarkdownParserTest| +1790599926691|CPMenuCALayerTest| +1790599926705|CPMenuEnabledBindingsTest| +1790599926719|CPMenuKeyEquivalentsTest| +1790599926732|CPMenuRemoveAllTest| +1790599926746|CPMenuSubmenuPlacementConstraints| +1790599926759|CPMenuTest| +1790599926773|CPOutlineViewCibTest| +1790599926787|CPOutlineViewTest| +1790599926800|CPOutlineViewViewBasedCibTest| +1790599926814|CPPanelTest| +1790599926828|CPPlatformWindow| +1790599926841|CPPlattformWindowMinSize| +1790599926855|CPPopUpButtonBindingsTest| +1790599926868|CPPopUpButtonTest| +1790599926882|CPPopoverTest| +1790599926895|CPPredicateEditorCibTest| +1790599926909|CPProgressIndicatorTest| +1790599926923|CPPropertyListSerializationTest| +1790599926937|CPRadioBindingsTest| +1790599926951|CPRuleEditorCibTest| +1790599926965|CPRuleEditorTest| +1790599926979|CPScrollView2Test| +1790599926993|CPScrollViewTest| +1790599927006|CPSearchFieldPredicateBinding| +1790599927020|CPSearchFieldTest| +1790599927034|CPSegmentedControlBindingsTest| +1790599927048|CPSegmentedControlTest| +1790599927062|CPSoundTest| +1790599927075|CPSplitViewDividerTest| +1790599927089|CPSplitViewTest| +1790599927102|CPStackViewTest| +1790599927116|CPStepperBindingsTest| +1790599927130|CPStepperNibTest| +1790599927143|CPTabView2Test| +1790599927157|CPTabViewBindingsTest| +1790599927170|CPTabViewNibTest| +1790599927183|CPTableViewGroupRowsTest| +1790599927197|CPTextFieldEditingStyleTest| +1790599927210|CPTextFieldHeightTest| +1790599927224|CPTextFieldMovementsTest| +1790599927238|CPTextFieldMultiLineTest| +1790599927252|CPTextFieldTest| +1790599927266|CPTextViewCibTest| +1790599927280|CPTextViewDelegateAndNotificationsTest| +1790599927293|CPTimeZoneTest| +1790599927307|CPTokenFieldTest| +1790599927321|CPToolTipTest| +1790599927335|CPToolbarTest| +1790599927349|CPTreeControllerTest| +1790599927362|CPURLConnectionAsyncTest| +1790599927376|CPURLConnectionSynchronousTest| +1790599927390|CPUserDefaultsControllerTest| +1790599927404|CPUserDefaultsTest| +1790599927418|CPUserNotificationTest| +1790599927431|CPViewControllerTest| +1790599927445|CPVisualEffectViewTest| +1790599927459|CPWebViewTest| +1790599927473|CPWebViewTest2| +1790599927486|CPWindowLiveResizeTest| +1790599927500|CPWindowMovableTest| +1790599927514|CPWindowResizeStyleTest| +1790599927528|ChildWindowsTest| +1790599927541|CompilationTests| +1790599927555|ContinuouslyUpdatesValueBinding| +1790599927569|CopyAndPasteTest| +1790599927582|CrossOriginTest| +1790599927596|FF4096Test| +1790599927610|FontEnhancementTest| +1790599927623|FontMetricsExplorerTest| +1790599927637|KeyEquivalentsTest| +1790599927650|KeyViewLoopTest| +1790599927664|KeyWindowInTheBackgroundActivation| +1790599927678|LayoutTest| +1790599927691|LoadDynamicFrameworksTest| +1790599927705|LoadTimeTest| +1790599927718|LongBindingsTest| +1790599927732|MobileTest| +1790599927746|MultipleValueBindingsTest| +1790599927759|NSBoxTest| +1790599927773|NSBrowserTest| +1790599927787|NewTextFieldBezelTest| +1790599927801|Nib2CibAlignmentTest| +1790599927815|Nib2CibBaselineAlignementTest| +1790599927829|Nib2CibSubviewsOrderTest| +1790599927843|NibAppRemixedTest| +1790599927856|PatternFillTest| +1790599927870|PlatformWindowsTest| +1790599927883|PopUpButtonEscTest| +1790599927897|PredicateWithFormatTest| +1790599927910|ResignFirstResponderWithCPControlTextDidEndEditingTest| +1790599927924|Scaling2Test| +1790599927938|ScalingTest| +1790599927951|ScrollviewThemingTest| +1790599927964|SimpleBindings2Test| +1790599927978|SizeToFitTest| +1790599927991|SmartFoldersTest| +1790599928005|TableTest| +1790599928018|ThemeBrowserTest| +1790599928032|ThemeKitchenSinkTest| +1790599928045|TrackingAreaTest| +1790599928059|UndoRedoWithMenuUpdateTest| +1790599928073|UserlandNSTest| +1790599928086|WindowSheetOrderTest| +1790599928100|layoutEphemeralSubviewTest| +1790599928113|performKeyEquivalentTest|