Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Side by Side Diff: ppapi/native_client/src/trusted/plugin/plugin.cc

Issue 8525014: Get all the resources relative to a single base. Currently the same base (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifdef _MSC_VER 5 #ifdef _MSC_VER
6 // Do not warn about use of std::copy with raw pointers. 6 // Do not warn about use of std::copy with raw pointers.
7 #pragma warning(disable : 4996) 7 #pragma warning(disable : 4996)
8 #endif 8 #endif
9 9
10 #include "native_client/src/trusted/plugin/plugin.h" 10 #include "native_client/src/trusted/plugin/plugin.h"
(...skipping 1589 matching lines...) Expand 10 before | Expand all | Expand 10 after
1600 if (!SetManifestObject(manifest_json, &error_info)) { 1600 if (!SetManifestObject(manifest_json, &error_info)) {
1601 ReportLoadError(error_info); 1601 ReportLoadError(error_info);
1602 return; 1602 return;
1603 } 1603 }
1604 1604
1605 if (SelectProgramURLFromManifest(&program_url, &error_info, &is_portable)) { 1605 if (SelectProgramURLFromManifest(&program_url, &error_info, &is_portable)) {
1606 set_nacl_ready_state(LOADING); 1606 set_nacl_ready_state(LOADING);
1607 // Inform JavaScript that we found a nexe URL to load. 1607 // Inform JavaScript that we found a nexe URL to load.
1608 EnqueueProgressEvent(kProgressEventProgress); 1608 EnqueueProgressEvent(kProgressEventProgress);
1609 if (is_portable) { 1609 if (is_portable) {
1610 // TODO(jvoung): Do we want to check an ENV var if pnacl is enabled first? 1610 pp::CompletionCallback translate_callback =
1611 nacl::string llc_url; 1611 callback_factory_.NewCallback(&Plugin::BitcodeDidTranslate);
1612 nacl::string ld_url; 1612 // Will always call the callback on success or failure.
1613 if (SelectLLCURLFromManifest(&llc_url, &error_info) && 1613 pnacl_.BitcodeToNative(program_url, translate_callback);
1614 SelectLDURLFromManifest(&ld_url, &error_info)) { 1614 return;
1615 pp::CompletionCallback translate_callback =
1616 callback_factory_.NewCallback(&Plugin::BitcodeDidTranslate);
1617 // Will always call the callback on success or failure.
1618 pnacl_.BitcodeToNative(program_url,
1619 llc_url,
1620 ld_url,
1621 translate_callback);
1622 return;
1623 }
1624 } else { 1615 } else {
1625 pp::CompletionCallback open_callback = 1616 pp::CompletionCallback open_callback =
1626 callback_factory_.NewRequiredCallback(&Plugin::NexeFileDidOpen); 1617 callback_factory_.NewRequiredCallback(&Plugin::NexeFileDidOpen);
1627 // Will always call the callback on success or failure. 1618 // Will always call the callback on success or failure.
1628 CHECK( 1619 CHECK(
1629 nexe_downloader_.Open(program_url, 1620 nexe_downloader_.Open(program_url,
1630 DOWNLOAD_TO_FILE, 1621 DOWNLOAD_TO_FILE,
1631 open_callback, 1622 open_callback,
1632 &UpdateDownloadProgress)); 1623 &UpdateDownloadProgress));
1633 return; 1624 return;
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1701 ErrorInfo* error_info, 1692 ErrorInfo* error_info,
1702 bool* is_portable) { 1693 bool* is_portable) {
1703 const nacl::string sandbox_isa(GetSandboxISA()); 1694 const nacl::string sandbox_isa(GetSandboxISA());
1704 PLUGIN_PRINTF(("Plugin::SelectProgramURLFromManifest(): sandbox='%s'.\n", 1695 PLUGIN_PRINTF(("Plugin::SelectProgramURLFromManifest(): sandbox='%s'.\n",
1705 sandbox_isa.c_str())); 1696 sandbox_isa.c_str()));
1706 if (result == NULL || error_info == NULL || manifest_ == NULL) 1697 if (result == NULL || error_info == NULL || manifest_ == NULL)
1707 return false; 1698 return false;
1708 return manifest_->GetProgramURL(result, error_info, is_portable); 1699 return manifest_->GetProgramURL(result, error_info, is_portable);
1709 } 1700 }
1710 1701
1711 // TODO(jvoung): get rid of these when we have a better hosting solution
1712 // for PNaCl's nexes.
1713 bool Plugin::SelectLLCURLFromManifest(nacl::string* result,
1714 ErrorInfo* error_info) {
1715 PLUGIN_PRINTF(("Plugin::SelectLLCURLFromManifest()\n"));
1716 if (result == NULL || error_info == NULL || manifest_ == NULL)
1717 return false;
1718 return manifest_->GetLLCURL(result, error_info);
1719 }
1720
1721 bool Plugin::SelectLDURLFromManifest(nacl::string* result,
1722 ErrorInfo* error_info) {
1723 PLUGIN_PRINTF(("Plugin::SelectLDURLFromManifest()\n"));
1724 if (result == NULL || error_info == NULL || manifest_ == NULL)
1725 return false;
1726 return manifest_->GetLDURL(result, error_info);
1727 }
1728 // end TODO(jvoung)
1729
1730
1731 void Plugin::UrlDidOpenForStreamAsFile(int32_t pp_error, 1702 void Plugin::UrlDidOpenForStreamAsFile(int32_t pp_error,
1732 FileDownloader*& url_downloader, 1703 FileDownloader*& url_downloader,
1733 PP_CompletionCallback callback) { 1704 PP_CompletionCallback callback) {
1734 PLUGIN_PRINTF(("Plugin::UrlDidOpen (pp_error=%"NACL_PRId32 1705 PLUGIN_PRINTF(("Plugin::UrlDidOpen (pp_error=%"NACL_PRId32
1735 ", url_downloader=%p)\n", pp_error, 1706 ", url_downloader=%p)\n", pp_error,
1736 static_cast<void*>(url_downloader))); 1707 static_cast<void*>(url_downloader)));
1737 url_downloaders_.erase(url_downloader); 1708 url_downloaders_.erase(url_downloader);
1738 nacl::scoped_ptr<FileDownloader> scoped_url_downloader(url_downloader); 1709 nacl::scoped_ptr<FileDownloader> scoped_url_downloader(url_downloader);
1739 int32_t file_desc = scoped_url_downloader->GetPOSIXFileDescriptor(); 1710 int32_t file_desc = scoped_url_downloader->GetPOSIXFileDescriptor();
1740 1711
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
2041 std::string scheme = canonicalized.AsString().substr(comps.scheme.begin, 2012 std::string scheme = canonicalized.AsString().substr(comps.scheme.begin,
2042 comps.scheme.len); 2013 comps.scheme.len);
2043 if (scheme == kChromeExtensionUriScheme) 2014 if (scheme == kChromeExtensionUriScheme)
2044 return SCHEME_CHROME_EXTENSION; 2015 return SCHEME_CHROME_EXTENSION;
2045 if (scheme == kDataUriScheme) 2016 if (scheme == kDataUriScheme)
2046 return SCHEME_DATA; 2017 return SCHEME_DATA;
2047 return SCHEME_OTHER; 2018 return SCHEME_OTHER;
2048 } 2019 }
2049 2020
2050 } // namespace plugin 2021 } // namespace plugin
OLDNEW
« no previous file with comments | « ppapi/native_client/src/trusted/plugin/plugin.h ('k') | ppapi/native_client/src/trusted/plugin/pnacl_coordinator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698