code: func (c *Page) GetAppManifest() (string, []*PageAppManifestError, string, error) {
  	resp, err := gcdmessage.SendCustomReturn(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Page.getAppManifest"})
  	if err != nil {
  		return "", nil, "", err
  	}
  
  	var chromeData struct {
  		Result struct {
  			Url    string
  			Errors []*PageAppManifestError
  			Data   string
  		}
  	}
  
  	if resp == nil {
  		return "", nil, "", &gcdmessage.ChromeEmptyResponseErr{}
  	}
  
  	// test if error first
  	cerr := &gcdmessage.ChromeErrorResponse{}
  	json.Unmarshal(resp.Data, cerr)
  	if cerr != nil && cerr.Error != nil {
  		return "", nil, "", &gcdmessage.ChromeRequestErr{Resp: cerr}
  	}
  
  	if err := json.Unmarshal(resp.Data, &chromeData); err != nil {
  		return "", nil, "", err
  	}
  
  	return chromeData.Result.Url, chromeData.Result.Errors, chromeData.Result.Data, nil
  }
docs: // GetAppManifest -
  // Returns -  url - Manifest location. errors -  data - Manifest content.