| -------------------------------------------------------------------------------- |
| -- |
| -- |
| -- Licensed to the Apache Software Foundation (ASF) under one or more |
| -- contributor license agreements. See the NOTICE file distributed with |
| -- this work for additional information regarding copyright ownership. |
| -- The ASF licenses this file to You under the Apache License, Version 2.0 |
| -- (the "License"); you may not use this file except in compliance with |
| -- the License. You may obtain a copy of the License at |
| -- |
| -- http://www.apache.org/licenses/LICENSE-2.0 |
| -- |
| -- Unless required by applicable law or agreed to in writing, software |
| -- distributed under the License is distributed on an "AS IS" BASIS, |
| -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| -- See the License for the specific language governing permissions and |
| -- limitations under the License. |
| -- |
| -------------------------------------------------------------------------------- |
| |
| -- tell Camino browser to close all windows that have the specified URL |
| tell application "Camino" |
| -- 'closed' keeps track of whether we have closed any documents |
| set closed to false |
| |
| set done to false |
| repeat until done |
| set done to true |
| |
| -- Camino has some hidden windows that are not regular browser |
| -- windows. Those windows don't have a URL. We keep count of |
| -- how many windows do have a URL. |
| set countOfWindowsWithURL to 0 |
| |
| repeat with win in windows |
| if URL of win exists then |
| if URL of win is item 1 of argv then |
| close win |
| set closed to true |
| |
| -- since we have closed a document, we must restart the loop |
| set done to false |
| exit repeat |
| else |
| set countOfWindowsWithURL to countOfWindowsWithURL+1 |
| end if |
| end if |
| end repeat |
| end repeat |
| |
| -- if we closed at least one Safari window, and no more are |
| -- open, then tell Safari to exit |
| if closed and countOfWindowsWithURL is 0 then |
| quit |
| set closed to "appquit" |
| end if |
| |
| -- return true if we closed at least one window, false if not, appquit if told browser to quit |
| closed |
| end tell |