1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- (*
- Copyright (c) 2015-present, Facebook, Inc.
- This source code is licensed under the MIT license found in the
- LICENSE file at
- https://github.com/facebookincubator/create-react-app/blob/master/LICENSE
- *)
- property targetTab: null
- property targetTabIndex: -1
- property targetWindow: null
- on run argv
- set theURL to item 1 of argv
- with timeout of 2 seconds
- tell application "Chrome"
- if (count every window) = 0 then
- make new window
- end if
- -- 1: Looking for tab running debugger
- -- then, Reload debugging tab if found
- -- then return
- set found to my lookupTabWithUrl(theURL)
- if found then
- set targetWindow's active tab index to targetTabIndex
- tell targetTab to reload
- tell targetWindow to activate
- set index of targetWindow to 1
- return
- end if
- -- 2: Looking for Empty tab
- -- In case debugging tab was not found
- -- We try to find an empty tab instead
- set found to my lookupTabWithUrl("chrome://newtab/")
- if found then
- set targetWindow's active tab index to targetTabIndex
- set URL of targetTab to theURL
- tell targetWindow to activate
- return
- end if
- -- 3: Create new tab
- -- both debugging and empty tab were not found
- -- make a new tab with url
- tell window 1
- activate
- make new tab with properties {URL:theURL}
- end tell
- end tell
- end timeout
- end run
- -- Function:
- -- Lookup tab with given url
- -- if found, store tab, index, and window in properties
- -- (properties were declared on top of file)
- on lookupTabWithUrl(lookupUrl)
- tell application "Chrome"
- -- Find a tab with the given url
- set found to false
- set theTabIndex to -1
- repeat with theWindow in every window
- set theTabIndex to 0
- repeat with theTab in every tab of theWindow
- set theTabIndex to theTabIndex + 1
- if (theTab's URL as string) contains lookupUrl then
- -- assign tab, tab index, and window to properties
- set targetTab to theTab
- set targetTabIndex to theTabIndex
- set targetWindow to theWindow
- set found to true
- exit repeat
- end if
- end repeat
- if found then
- exit repeat
- end if
- end repeat
- end tell
- return found
- end lookupTabWithUrl
|