コード例 #1
0
ファイル: background.js プロジェクト: Campoie/selenium-ide
 }).catch(e => {
   console.error(e);
   return browser.windows.create(Object.assign({
     url: browser.extension.getURL("assets/index.html"),
     type: "popup"
   }, size));
 });
コード例 #2
0
ファイル: background.js プロジェクト: Campoie/selenium-ide
 return browser.storage.local.get().then(storage => {
   if (sizeIsValid(storage.size)) {
     size.height = storage.size.height;
     size.width = storage.size.width;
   }
   return browser.windows.create(Object.assign({
     url: browser.extension.getURL("assets/index.html"),
     type: "popup"
   }, size));
 }).catch(e => {
コード例 #3
0
ファイル: popup_window.js プロジェクト: kumabook/bebop
export async function onWindowFocusChanged(windowId) {
  if (!popupWindow) {
    return;
  }
  if (popupWindow.id !== windowId) {
    browser.windows.remove(popupWindow.id).catch(() => {});
  } else {
    popupWindow.focused = true;
  }
}
コード例 #4
0
ファイル: background.js プロジェクト: Campoie/selenium-ide
function openPanel(tab) {

  let contentWindowId = tab.windowId;
  if (master[contentWindowId] != undefined) {
    browser.windows.update(master[contentWindowId], {
      focused: true
    }).catch(function() {
      master[contentWindowId] == undefined;
      openPanel(tab);
    });
    return;
  } else if (!clickEnabled) {
    return;
  }

  clickEnabled = false;
  setTimeout(function() {
    clickEnabled = true;
  }, 1000);

  openWindowFromStorageResolution().then(function waitForPanelLoaded(panelWindowInfo) {
    return new Promise(function(resolve, reject) {
      let count = 0;
      let interval = setInterval(function() {
        if (count > 100) {
          reject("SideeX editor has no response");
          clearInterval(interval);
        }

        browser.tabs.query({
          active: true,
          windowId: panelWindowInfo.id,
          status: "complete"
        }).then(function(tabs) {
          if (tabs.length != 1) {
            count++;
            return;
          } else {
            master[contentWindowId] = panelWindowInfo.id;
            resolve(panelWindowInfo);
            clearInterval(interval);
          }
        });
      }, 200);
    });
  }).then(function bridge(panelWindowInfo){
    return browser.tabs.sendMessage(panelWindowInfo.tabs[0].id, {
      selfWindowId: panelWindowInfo.id,
      commWindowId: contentWindowId
    });
  }).catch(function(e) {
    console.log(e);
  });

}
コード例 #5
0
ファイル: popup_window.js プロジェクト: kumabook/bebop
export async function toggle() {
  if (popupWindow) {
    browser.windows.remove(popupWindow.id);
    popupWindow = null;
    return;
  }
  const { bounds } = await getDisplay();
  const url = browser.extension.getURL('popup/index.html');
  const { popupWidth } = await browser.storage.local.get('popupWidth');
  const width  = popupWidth || defaultPopupWidth;
  const height = bounds.height * 0.5;
  const left   = bounds.left + Math.round((bounds.width - width) * 0.5);
  const top    = bounds.top + Math.round((bounds.height - height) * 0.5);
  popupWindow = await browser.windows.create({
    left,
    top,
    width,
    height,
    url,
    focused: true,
    type:    'popup',
  });
}