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

Unified Diff: chrome/browser/ui/webui/chromeos/nfc_debug_ui.cc

Issue 2292703002: chromeos: Remove unused NFC D-Bus client library (Closed)
Patch Set: rebase Created 4 years, 4 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/webui/chromeos/nfc_debug_ui.h ('k') | chrome/chrome_browser_ui.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/chromeos/nfc_debug_ui.cc
diff --git a/chrome/browser/ui/webui/chromeos/nfc_debug_ui.cc b/chrome/browser/ui/webui/chromeos/nfc_debug_ui.cc
deleted file mode 100644
index cf038f398f011f568688379d3a3d7738e89bd3a4..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/webui/chromeos/nfc_debug_ui.cc
+++ /dev/null
@@ -1,744 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/webui/chromeos/nfc_debug_ui.h"
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/macros.h"
-#include "base/values.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/common/url_constants.h"
-#include "chrome/grit/browser_resources.h"
-#include "chrome/grit/generated_resources.h"
-#include "content/public/browser/web_ui.h"
-#include "content/public/browser/web_ui_data_source.h"
-#include "content/public/browser/web_ui_message_handler.h"
-#include "device/nfc/nfc_adapter.h"
-#include "device/nfc/nfc_adapter_factory.h"
-#include "device/nfc/nfc_peer.h"
-#include "device/nfc/nfc_tag.h"
-
-using device::NfcAdapter;
-using device::NfcAdapterFactory;
-using device::NfcNdefMessage;
-using device::NfcNdefRecord;
-using device::NfcNdefTagTechnology;
-using device::NfcPeer;
-using device::NfcTag;
-using device::NfcTagTechnology;
-
-namespace chromeos {
-
-namespace {
-
-// Keys for various NFC properties that are used by JS.
-const char kAdapterPeersProperty[] = "peers";
-const char kAdapterPollingProperty[] = "polling";
-const char kAdapterPoweredProperty[] = "powered";
-const char kAdapterPresentProperty[] = "present";
-const char kAdapterTagsProperty[] = "tags";
-
-const char kPeerIdentifierProperty[] = "identifier";
-const char kPeerRecordsProperty[] = "records";
-
-const char kTagIdentifierProperty[] = "identifier";
-const char kTagTypeProperty[] = "type";
-const char kTagReadOnlyProperty[] = "readOnly";
-const char kTagRecordsProperty[] = "records";
-const char kTagSupportedProtocolProperty[] = "supportedProtocol";
-const char kTagSupportedTechnologiesProperty[] = "supportedTechnologies";
-const char kRecordTypeProperty[] = "type";
-
-// Tag types.
-const char kTagType1[] = "TYPE-1";
-const char kTagType2[] = "TYPE-2";
-const char kTagType3[] = "TYPE-3";
-const char kTagType4[] = "TYPE-4";
-const char kTagTypeUnknown[] = "UNKNOWN";
-
-// NFC transfer protocols.
-const char kTagProtocolFelica[] = "FELICA";
-const char kTagProtocolIsoDep[] = "ISO-DEP";
-const char kTagProtocolJewel[] = "JEWEL";
-const char kTagProtocolMifare[] = "MIFARE";
-const char kTagProtocolNfcDep[] = "NFC-DEP";
-const char kTagProtocolUnknown[] = "UNKNOWN";
-
-// NFC tag technologies.
-const char kTagTechnologyNfcA[] = "NFC-A";
-const char kTagTechnologyNfcB[] = "NFC-B";
-const char kTagTechnologyNfcF[] = "NFC-F";
-const char kTagTechnologyNfcV[] = "NFC-V";
-const char kTagTechnologyIsoDep[] = "ISO-DEP";
-const char kTagTechnologyNdef[] = "NDEF";
-
-// NDEF types.
-const char kTypeHandoverCarrier[] = "HANDOVER_CARRIER";
-const char kTypeHandoverRequest[] = "HANDOVER_REQUEST";
-const char kTypeHandoverSelect[] = "HANDOVER_SELECT";
-const char kTypeSmartPoster[] = "SMART_POSTER";
-const char kTypeText[] = "TEXT";
-const char kTypeURI[] = "URI";
-const char kTypeUnknown[] = "UNKNOWN";
-
-// JavaScript callback constants.
-const char kInitializeCallback[] = "initialize";
-const char kSetAdapterPowerCallback[] = "setAdapterPower";
-const char kSetAdapterPollingCallback[] = "setAdapterPolling";
-const char kSubmitRecordFormCallback[] = "submitRecordForm";
-
-// Constants for JavaScript functions that we can call.
-const char kOnNfcAdapterInfoChangedFunction[] =
- "nfcDebug.NfcDebugUI.onNfcAdapterInfoChanged";
-const char kOnNfcAvailabilityDeterminedFunction[] =
- "nfcDebug.NfcDebugUI.onNfcAvailabilityDetermined";
-const char kOnNfcPeerDeviceInfoChangedFunction[] =
- "nfcDebug.NfcDebugUI.onNfcPeerDeviceInfoChanged";
-const char kOnNfcTagInfoChangedFunction[] =
- "nfcDebug.NfcDebugUI.onNfcTagInfoChanged";
-const char kOnSetAdapterPollingFailedFunction[] =
- "nfcDebug.NfcDebugUI.onSetAdapterPollingFailed";
-const char kOnSetAdapterPowerFailedFunction[] =
- "nfcDebug.NfcDebugUI.onSetAdapterPowerFailed";
-const char kOnSubmitRecordFormFailedFunction[] =
- "nfcDebug.NfcDebugUI.onSubmitRecordFormFailed";
-
-std::string RecordTypeToString(NfcNdefRecord::Type type) {
- switch (type) {
- case NfcNdefRecord::kTypeHandoverCarrier:
- return kTypeHandoverCarrier;
- case NfcNdefRecord::kTypeHandoverRequest:
- return kTypeHandoverRequest;
- case NfcNdefRecord::kTypeHandoverSelect:
- return kTypeHandoverSelect;
- case NfcNdefRecord::kTypeSmartPoster:
- return kTypeSmartPoster;
- case NfcNdefRecord::kTypeText:
- return kTypeText;
- case NfcNdefRecord::kTypeURI:
- return kTypeURI;
- case NfcNdefRecord::kTypeUnknown:
- return kTypeUnknown;
- }
- return kTypeUnknown;
-}
-
-NfcNdefRecord::Type RecordTypeStringValueToEnum(const std::string& type) {
- if (type == kTypeHandoverCarrier)
- return NfcNdefRecord::kTypeHandoverCarrier;
- if (type == kTypeHandoverRequest)
- return NfcNdefRecord::kTypeHandoverRequest;
- if (type == kTypeHandoverSelect)
- return NfcNdefRecord::kTypeHandoverSelect;
- if (type == kTypeSmartPoster)
- return NfcNdefRecord::kTypeSmartPoster;
- if (type == kTypeText)
- return NfcNdefRecord::kTypeText;
- if (type == kTypeURI)
- return NfcNdefRecord::kTypeURI;
- return NfcNdefRecord::kTypeUnknown;
-}
-
-std::string TagTypeToString(NfcTag::TagType type) {
- switch (type) {
- case NfcTag::kTagType1:
- return kTagType1;
- case NfcTag::kTagType2:
- return kTagType2;
- case NfcTag::kTagType3:
- return kTagType3;
- case NfcTag::kTagType4:
- return kTagType4;
- case NfcTag::kTagTypeUnknown:
- return kTagTypeUnknown;
- }
- return kTagTypeUnknown;
-}
-
-std::string TagProtocolToString(NfcTag::Protocol protocol) {
- switch (protocol) {
- case NfcTag::kProtocolFelica:
- return kTagProtocolFelica;
- case NfcTag::kProtocolIsoDep:
- return kTagProtocolIsoDep;
- case NfcTag::kProtocolJewel:
- return kTagProtocolJewel;
- case NfcTag::kProtocolMifare:
- return kTagProtocolMifare;
- case NfcTag::kProtocolNfcDep:
- return kTagProtocolNfcDep;
- case NfcTag::kProtocolUnknown:
- return kTagProtocolUnknown;
- }
- return kTagProtocolUnknown;
-}
-
-// content::WebUIMessageHandler implementation for this page.
-class NfcDebugMessageHandler : public content::WebUIMessageHandler,
- public NfcAdapter::Observer,
- public NfcNdefTagTechnology::Observer,
- public NfcPeer::Observer,
- public NfcTag::Observer {
- public:
- NfcDebugMessageHandler();
- ~NfcDebugMessageHandler() override;
-
- // WebUIMessageHandler implementation.
- void RegisterMessages() override;
-
- // NfcAdapter::Observer overrides.
- void AdapterPresentChanged(NfcAdapter* adapter, bool present) override;
- void AdapterPoweredChanged(NfcAdapter* adapter, bool powered) override;
- void AdapterPollingChanged(NfcAdapter* adapter, bool polling) override;
- void TagFound(NfcAdapter* adapter, NfcTag* tag) override;
- void TagLost(NfcAdapter* adapter, NfcTag* tag) override;
- void PeerFound(NfcAdapter* adaper, NfcPeer* peer) override;
- void PeerLost(NfcAdapter* adapter, NfcPeer* peer) override;
-
- // NfcNdefTagTechnology::Observer override.
- void RecordReceived(NfcTag* tag, const NfcNdefRecord* record) override;
-
- // NfcPeer::Observer override.
- void RecordReceived(NfcPeer* peer, const NfcNdefRecord* record) override;
-
- // NfcTag::Observer override.
- void TagReady(NfcTag* tag) override;
-
- private:
- // Called by the UI when the page loads. This method requests information
- // about NFC availability on the current platform and requests the underlying
- // Adapter object. The UI is notified once the information is available.
- void Initialize(const base::ListValue* args);
-
- // Called by the UI to toggle the adapter power. |args| will contain one
- // boolean that indicates whether the power should be set to ON or OFF.
- void SetAdapterPower(const base::ListValue* args);
- void OnSetAdapterPowerError();
-
- // Called by the UI set the adapter's poll status. |args| will contain one
- // boolean that indicates whether polling should be started or stopped.
- void SetAdapterPolling(const base::ListValue* args);
- void OnSetAdapterPollingError();
-
- // Called by the UI to push an NDEF record to a remote device or tag. |args|
- // will contain one dictionary that contains the record data.
- void SubmitRecordForm(const base::ListValue* args);
- void OnSubmitRecordFormFailed(const std::string& error_message);
-
- // Callback passed to NfcAdapterFactory::GetAdapter.
- void OnGetAdapter(scoped_refptr<NfcAdapter> adapter);
-
- // Stores the properties of the NFC adapter in |out|, mapping these to keys
- // that will be read by JS.
- void GetAdapterProperties(base::DictionaryValue* out);
-
- // Stores the properties of the NFC peer in |out|, mapping these to keys
- // that will be read by JS. |out| will not be modified, if no peer is known.
- void GetPeerProperties(base::DictionaryValue* out);
-
- // Stores the properties of the NFC tag in |out|, mapping these to keys
- // that will be read by JS. |out| will not be modified, if no tag is known.
- void GetTagProperties(base::DictionaryValue* out);
-
- // Returns the records in |message| by populating |out|, in which
- // they have been converted to a JS friendly format.
- void GetRecordList(const NfcNdefMessage& message, base::ListValue* out);
-
- // Updates the data displayed in the UI for the current adapter.
- void UpdateAdapterInfo();
-
- // Updates the data displayed in the UI for the current peer.
- void UpdatePeerInfo();
-
- // Updates the data displayed in the UI for the current tag.
- void UpdateTagInfo();
-
- // The NfcAdapter object.
- scoped_refptr<NfcAdapter> nfc_adapter_;
-
- // The cached identifier of the most recent NFC peer device found.
- std::string peer_identifier_;
-
- // The cached identifier of the most recent NFC tag found.
- std::string tag_identifier_;
-
- DISALLOW_COPY_AND_ASSIGN(NfcDebugMessageHandler);
-};
-
-NfcDebugMessageHandler::NfcDebugMessageHandler() {
-}
-
-NfcDebugMessageHandler::~NfcDebugMessageHandler() {
- if (!nfc_adapter_.get())
- return;
- nfc_adapter_->RemoveObserver(this);
- if (!peer_identifier_.empty()) {
- NfcPeer* peer = nfc_adapter_->GetPeer(peer_identifier_);
- if (peer)
- peer->RemoveObserver(this);
- }
- if (!tag_identifier_.empty()) {
- NfcTag* tag = nfc_adapter_->GetTag(tag_identifier_);
- if (tag)
- tag->RemoveObserver(this);
- }
-}
-
-void NfcDebugMessageHandler::AdapterPresentChanged(
- NfcAdapter* adapter,
- bool present) {
- UpdateAdapterInfo();
-}
-
-void NfcDebugMessageHandler::AdapterPoweredChanged(
- NfcAdapter* adapter,
- bool powered) {
- UpdateAdapterInfo();
-}
-
-void NfcDebugMessageHandler::AdapterPollingChanged(
- NfcAdapter* adapter,
- bool polling) {
- UpdateAdapterInfo();
-}
-
-void NfcDebugMessageHandler::TagFound(NfcAdapter* adapter, NfcTag* tag) {
- VLOG(1) << "Found NFC tag: " << tag->GetIdentifier();
- tag->AddObserver(this);
- tag_identifier_ = tag->GetIdentifier();
- tag->GetNdefTagTechnology()->AddObserver(this);
- UpdateAdapterInfo();
- UpdateTagInfo();
-}
-
-void NfcDebugMessageHandler::TagLost(NfcAdapter*adapter, NfcTag* tag) {
- VLOG(1) << "Lost NFC tag: " << tag->GetIdentifier();
- tag->RemoveObserver(this);
- tag->GetNdefTagTechnology()->RemoveObserver(this);
- tag_identifier_.clear();
- UpdateAdapterInfo();
- UpdateTagInfo();
-}
-
-void NfcDebugMessageHandler::PeerFound(NfcAdapter* adaper, NfcPeer* peer) {
- VLOG(1) << "Found NFC peer device: " << peer->GetIdentifier();
- peer->AddObserver(this);
- peer_identifier_ = peer->GetIdentifier();
- UpdateAdapterInfo();
- UpdatePeerInfo();
-}
-
-void NfcDebugMessageHandler::PeerLost(NfcAdapter* adapter, NfcPeer* peer) {
- VLOG(1) << "Lost NFC peer device: " << peer->GetIdentifier();
- peer->RemoveObserver(this);
- peer_identifier_.clear();
- UpdateAdapterInfo();
- UpdatePeerInfo();
-}
-
-void NfcDebugMessageHandler::RecordReceived(
- NfcTag* tag,
- const NfcNdefRecord* record) {
- if (tag->GetIdentifier() != tag_identifier_) {
- LOG(WARNING) << "Records received from unknown tag: "
- << tag->GetIdentifier();
- return;
- }
- UpdateTagInfo();
-}
-
-void NfcDebugMessageHandler::RecordReceived(
- NfcPeer* peer,
- const NfcNdefRecord* record) {
- if (peer->GetIdentifier() != peer_identifier_) {
- LOG(WARNING) << "Records received from unknown peer: "
- << peer->GetIdentifier();
- return;
- }
- UpdatePeerInfo();
-}
-
-void NfcDebugMessageHandler::TagReady(NfcTag* tag) {
- if (tag_identifier_ != tag->GetIdentifier()) {
- LOG(WARNING) << "Unknown tag became ready: " << tag->GetIdentifier();
- return;
- }
- VLOG(1) << "Tag ready: " << tag->GetIdentifier();
- UpdateTagInfo();
-}
-
-void NfcDebugMessageHandler::RegisterMessages() {
- web_ui()->RegisterMessageCallback(
- kInitializeCallback,
- base::Bind(&NfcDebugMessageHandler::Initialize,
- base::Unretained(this)));
- web_ui()->RegisterMessageCallback(
- kSetAdapterPowerCallback,
- base::Bind(&NfcDebugMessageHandler::SetAdapterPower,
- base::Unretained(this)));
- web_ui()->RegisterMessageCallback(
- kSetAdapterPollingCallback,
- base::Bind(&NfcDebugMessageHandler::SetAdapterPolling,
- base::Unretained(this)));
- web_ui()->RegisterMessageCallback(
- kSubmitRecordFormCallback,
- base::Bind(&NfcDebugMessageHandler::SubmitRecordForm,
- base::Unretained(this)));
-}
-
-void NfcDebugMessageHandler::Initialize(const base::ListValue* args) {
- bool nfc_available = NfcAdapterFactory::IsNfcAvailable();
- base::FundamentalValue available(nfc_available);
- web_ui()->CallJavascriptFunctionUnsafe(kOnNfcAvailabilityDeterminedFunction,
- available);
- if (!nfc_available) {
- LOG(WARNING) << "NFC is not available on current platform.";
- return;
- }
- NfcAdapterFactory::GetAdapter(
- base::Bind(&NfcDebugMessageHandler::OnGetAdapter,
- base::Unretained(this)));
-}
-
-void NfcDebugMessageHandler::SetAdapterPower(const base::ListValue* args) {
- DCHECK(1 == args->GetSize());
- DCHECK(nfc_adapter_.get());
- bool powered;
- args->GetBoolean(0, &powered);
- VLOG(1) << "Setting adapter power: " << powered;
- nfc_adapter_->SetPowered(
- powered, base::Bind(&base::DoNothing),
- base::Bind(&NfcDebugMessageHandler::OnSetAdapterPowerError,
- base::Unretained(this)));
-}
-
-void NfcDebugMessageHandler::OnSetAdapterPowerError() {
- LOG(ERROR) << "Failed to set NFC adapter power.";
- web_ui()->CallJavascriptFunctionUnsafe(kOnSetAdapterPowerFailedFunction);
-}
-
-void NfcDebugMessageHandler::SetAdapterPolling(const base::ListValue* args) {
- DCHECK(1 == args->GetSize());
- DCHECK(nfc_adapter_.get());
- bool start = false;
- bool result = args->GetBoolean(0, &start);
- DCHECK(result);
- if (start) {
- VLOG(1) << "Starting NFC poll loop.";
- nfc_adapter_->StartPolling(
- base::Bind(&base::DoNothing),
- base::Bind(&NfcDebugMessageHandler::OnSetAdapterPollingError,
- base::Unretained(this)));
- } else {
- VLOG(1) << "Stopping NFC poll loop.";
- nfc_adapter_->StopPolling(
- base::Bind(&base::DoNothing),
- base::Bind(&NfcDebugMessageHandler::OnSetAdapterPollingError,
- base::Unretained(this)));
- }
-}
-
-void NfcDebugMessageHandler::OnSetAdapterPollingError() {
- LOG(ERROR) << "Failed to start/stop polling.";
- web_ui()->CallJavascriptFunctionUnsafe(kOnSetAdapterPollingFailedFunction);
-}
-
-void NfcDebugMessageHandler::SubmitRecordForm(const base::ListValue* args) {
- DCHECK(1 == args->GetSize());
- DCHECK(nfc_adapter_.get());
- const base::DictionaryValue* record_data_const = NULL;
- if (!args->GetDictionary(0, &record_data_const)) {
- NOTREACHED();
- return;
- }
-
- if (peer_identifier_.empty() && tag_identifier_.empty()) {
- OnSubmitRecordFormFailed("No peer or tag present.");
- return;
- }
-
- std::string type;
- if (!record_data_const->GetString(kRecordTypeProperty, &type)) {
- OnSubmitRecordFormFailed("Record type not provided.");
- return;
- }
-
- base::DictionaryValue* record_data = record_data_const->DeepCopy();
- record_data->Remove(kRecordTypeProperty, NULL);
-
- // Convert the "targetSize" field to a double, in case JS stored it as an
- // integer.
- int target_size;
- if (record_data->GetInteger(NfcNdefRecord::kFieldTargetSize, &target_size)) {
- record_data->SetDouble(NfcNdefRecord::kFieldTargetSize,
- static_cast<double>(target_size));
- }
-
- NfcNdefRecord record;
- if (!record.Populate(RecordTypeStringValueToEnum(type), record_data)) {
- OnSubmitRecordFormFailed("Invalid record data provided. Missing required "
- "fields?");
- return;
- }
-
- if (!peer_identifier_.empty()) {
- NfcPeer* peer = nfc_adapter_->GetPeer(peer_identifier_);
- if (!peer) {
- OnSubmitRecordFormFailed("The current NFC adapter doesn't seem to know "
- "about peer: " + peer_identifier_);
- return;
- }
- NfcNdefMessage message;
- message.AddRecord(&record);
- peer->PushNdef(message,
- base::Bind(&base::DoNothing),
- base::Bind(&NfcDebugMessageHandler::OnSubmitRecordFormFailed,
- base::Unretained(this),
- "Failed to push NDEF record."));
- return;
- }
- NfcTag* tag = nfc_adapter_->GetTag(tag_identifier_);
- if (!tag) {
- OnSubmitRecordFormFailed("The current NFC tag doesn't seem to known about "
- "tag: " + tag_identifier_);
- return;
- }
- NfcNdefMessage message;
- message.AddRecord(&record);
- tag->GetNdefTagTechnology()->WriteNdef(
- message,
- base::Bind(&base::DoNothing),
- base::Bind(&NfcDebugMessageHandler::OnSubmitRecordFormFailed,
- base::Unretained(this),
- "Failed to write NDEF record."));
-}
-
-void NfcDebugMessageHandler::OnSubmitRecordFormFailed(
- const std::string& error_message) {
- LOG(ERROR) << "SubmitRecordForm failed: " << error_message;
- web_ui()->CallJavascriptFunctionUnsafe(kOnSubmitRecordFormFailedFunction,
- base::StringValue(error_message));
-}
-
-void NfcDebugMessageHandler::OnGetAdapter(
- scoped_refptr<NfcAdapter> adapter) {
- if (nfc_adapter_.get())
- return;
- nfc_adapter_ = adapter;
- nfc_adapter_->AddObserver(this);
- UpdateAdapterInfo();
-
- NfcAdapter::PeerList peers;
- nfc_adapter_->GetPeers(&peers);
- for (NfcAdapter::PeerList::const_iterator iter = peers.begin();
- iter != peers.end(); ++iter) {
- PeerFound(nfc_adapter_.get(), *iter);
- }
-
- NfcAdapter::TagList tags;
- nfc_adapter_->GetTags(&tags);
- for (NfcAdapter::TagList::const_iterator iter = tags.begin();
- iter != tags.end(); ++iter) {
- TagFound(nfc_adapter_.get(), *iter);
- }
-}
-
-void NfcDebugMessageHandler::GetAdapterProperties(
- base::DictionaryValue* out) {
- if (!nfc_adapter_.get()) {
- VLOG(1) << "NFC adapter hasn't been received yet.";
- return;
- }
- out->SetBoolean(kAdapterPresentProperty, nfc_adapter_->IsPresent());
- out->SetBoolean(kAdapterPollingProperty, nfc_adapter_->IsPolling());
- out->SetBoolean(kAdapterPoweredProperty, nfc_adapter_->IsPowered());
-
- NfcAdapter::PeerList peers;
- nfc_adapter_->GetPeers(&peers);
- out->SetInteger(kAdapterPeersProperty, static_cast<int>(peers.size()));
-
- NfcAdapter::TagList tags;
- nfc_adapter_->GetTags(&tags);
- out->SetInteger(kAdapterTagsProperty, static_cast<int>(tags.size()));
-}
-
-void NfcDebugMessageHandler::GetPeerProperties(base::DictionaryValue* out) {
- if (peer_identifier_.empty()) {
- VLOG(1) << "No known peer exists.";
- return;
- }
- if (!nfc_adapter_.get()) {
- VLOG(1) << "NFC adapter hasn't been received yet.";
- return;
- }
- NfcPeer* peer = nfc_adapter_->GetPeer(peer_identifier_);
- if (!peer) {
- LOG(ERROR) << "The current NFC adapter doesn't seem to know about peer: "
- << peer_identifier_;
- return;
- }
- out->SetString(kPeerIdentifierProperty, peer_identifier_);
-
- base::ListValue* records = new base::ListValue();
- GetRecordList(peer->GetNdefMessage(), records);
- out->Set(kPeerRecordsProperty, records);
-}
-
-void NfcDebugMessageHandler::GetTagProperties(base::DictionaryValue* out) {
- if (tag_identifier_.empty()) {
- VLOG(1) << "No known tag exists.";
- return;
- }
- if (!nfc_adapter_.get()) {
- VLOG(1) << "NFC adapter hasn't been received yet.";
- return;
- }
- NfcTag* tag = nfc_adapter_->GetTag(tag_identifier_);
- if (!tag) {
- LOG(ERROR) << "The current NFC adapter doesn't seem to know about tag: "
- << tag_identifier_;
- return;
- }
- out->SetString(kTagIdentifierProperty, tag_identifier_);
- out->SetString(kTagTypeProperty, TagTypeToString(tag->GetType()));
- out->SetBoolean(kTagReadOnlyProperty, tag->IsReadOnly());
- out->SetString(kTagSupportedProtocolProperty,
- TagProtocolToString(tag->GetSupportedProtocol()));
-
- base::ListValue* technologies = new base::ListValue();
- NfcTagTechnology::TechnologyTypeMask technology_mask =
- tag->GetSupportedTechnologies();
- if (technology_mask & NfcTagTechnology::kTechnologyTypeNfcA)
- technologies->AppendString(kTagTechnologyNfcA);
- if (technology_mask & NfcTagTechnology::kTechnologyTypeNfcB)
- technologies->AppendString(kTagTechnologyNfcB);
- if (technology_mask & NfcTagTechnology::kTechnologyTypeNfcF)
- technologies->AppendString(kTagTechnologyNfcF);
- if (technology_mask & NfcTagTechnology::kTechnologyTypeNfcV)
- technologies->AppendString(kTagTechnologyNfcV);
- if (technology_mask & NfcTagTechnology::kTechnologyTypeIsoDep)
- technologies->AppendString(kTagTechnologyIsoDep);
- if (technology_mask & NfcTagTechnology::kTechnologyTypeNdef)
- technologies->AppendString(kTagTechnologyNdef);
- out->Set(kTagSupportedTechnologiesProperty, technologies);
-
- base::ListValue* records = new base::ListValue();
- GetRecordList(tag->GetNdefTagTechnology()->GetNdefMessage(), records);
- out->Set(kTagRecordsProperty, records);
-}
-
-void NfcDebugMessageHandler::GetRecordList(const NfcNdefMessage& message,
- base::ListValue* out) {
- for (NfcNdefMessage::RecordList::const_iterator iter =
- message.records().begin();
- iter != message.records().end(); ++iter) {
- const NfcNdefRecord* record = (*iter);
- base::DictionaryValue* record_data = record->data().DeepCopy();
- record_data->SetString(kRecordTypeProperty,
- RecordTypeToString(record->type()));
- out->Append(record_data);
- }
-}
-
-void NfcDebugMessageHandler::UpdateAdapterInfo() {
- base::DictionaryValue data;
- GetAdapterProperties(&data);
- web_ui()->CallJavascriptFunctionUnsafe(kOnNfcAdapterInfoChangedFunction,
- data);
-}
-
-void NfcDebugMessageHandler::UpdatePeerInfo() {
- base::DictionaryValue data;
- GetPeerProperties(&data);
- web_ui()->CallJavascriptFunctionUnsafe(kOnNfcPeerDeviceInfoChangedFunction,
- data);
-}
-
-void NfcDebugMessageHandler::UpdateTagInfo() {
- base::DictionaryValue data;
- GetTagProperties(&data);
- web_ui()->CallJavascriptFunctionUnsafe(kOnNfcTagInfoChangedFunction, data);
-}
-
-} // namespace
-
-NfcDebugUI::NfcDebugUI(content::WebUI* web_ui)
- : content::WebUIController(web_ui) {
- web_ui->AddMessageHandler(new NfcDebugMessageHandler());
-
- content::WebUIDataSource* html_source =
- content::WebUIDataSource::Create(chrome::kChromeUINfcDebugHost);
-
- html_source->AddLocalizedString("titleText", IDS_NFC_DEBUG_TITLE);
- html_source->AddLocalizedString("notSupportedText",
- IDS_NFC_DEBUG_NOT_SUPPORTED);
- html_source->AddLocalizedString("adapterHeaderText",
- IDS_NFC_DEBUG_ADAPTER_HEADER);
- html_source->AddLocalizedString("adapterPowerOnText",
- IDS_NFC_DEBUG_ADAPTER_POWER_ON);
- html_source->AddLocalizedString("adapterPowerOffText",
- IDS_NFC_DEBUG_ADAPTER_POWER_OFF);
- html_source->AddLocalizedString("adapterStartPollText",
- IDS_NFC_DEBUG_ADAPTER_START_POLL);
- html_source->AddLocalizedString("adapterStopPollText",
- IDS_NFC_DEBUG_ADAPTER_STOP_POLL);
- html_source->AddLocalizedString("ndefFormHeaderText",
- IDS_NFC_DEBUG_NDEF_FORM_HEADER);
- html_source->AddLocalizedString("ndefFormTypeTextText",
- IDS_NFC_DEBUG_NDEF_FORM_TYPE_TEXT);
- html_source->AddLocalizedString("ndefFormTypeUriText",
- IDS_NFC_DEBUG_NDEF_FORM_TYPE_URI);
- html_source->AddLocalizedString("ndefFormTypeSmartPosterText",
- IDS_NFC_DEBUG_NDEF_FORM_TYPE_SMART_POSTER);
- html_source->AddLocalizedString("ndefFormWriteButtonText",
- IDS_NFC_DEBUG_NDEF_FORM_WRITE_BUTTON);
- html_source->AddLocalizedString("ndefFormFieldTextText",
- IDS_NFC_DEBUG_NDEF_FORM_FIELD_TEXT);
- html_source->AddLocalizedString("ndefFormFieldEncodingText",
- IDS_NFC_DEBUG_NDEF_FORM_FIELD_ENCODING);
- html_source->AddLocalizedString("ndefFormFieldLanguageCodeText",
- IDS_NFC_DEBUG_NDEF_FORM_FIELD_LANGUAGE_CODE);
- html_source->AddLocalizedString("ndefFormFieldUriText",
- IDS_NFC_DEBUG_NDEF_FORM_FIELD_URI);
- html_source->AddLocalizedString("ndefFormFieldMimeTypeText",
- IDS_NFC_DEBUG_NDEF_FORM_FIELD_MIME_TYPE);
- html_source->AddLocalizedString("ndefFormFieldTargetSizeText",
- IDS_NFC_DEBUG_NDEF_FORM_FIELD_TARGET_SIZE);
- html_source->AddLocalizedString("ndefFormFieldTitleTextText",
- IDS_NFC_DEBUG_NDEF_FORM_FIELD_TITLE_TEXT);
- html_source->AddLocalizedString("ndefFormFieldTitleEncodingText",
- IDS_NFC_DEBUG_NDEF_FORM_FIELD_TITLE_ENCODING);
- html_source->AddLocalizedString(
- "ndefFormFieldTitleLanguageCodeText",
- IDS_NFC_DEBUG_NDEF_FORM_FIELD_TITLE_LANGUAGE_CODE);
- html_source->AddLocalizedString("ndefFormPushButtonText",
- IDS_NFC_DEBUG_NDEF_FORM_PUSH_BUTTON);
- html_source->AddLocalizedString("nfcPeerHeaderText",
- IDS_NFC_DEBUG_NFC_PEER_HEADER);
- html_source->AddLocalizedString("nfcTagHeaderText",
- IDS_NFC_DEBUG_NFC_TAG_HEADER);
- html_source->AddLocalizedString("recordsHeaderText",
- IDS_NFC_DEBUG_RECORDS_HEADER);
- html_source->AddLocalizedString("errorFailedToSetPowerText",
- IDS_NFC_DEBUG_ERROR_FAILED_TO_SET_POWER);
- html_source->AddLocalizedString("errorFailedToSetPollingText",
- IDS_NFC_DEBUG_ERROR_FAILED_TO_SET_POLLING);
- html_source->AddLocalizedString("errorFailedToSubmitPrefixText",
- IDS_NFC_DEBUG_ERROR_FAILED_TO_SUBMIT_PREFIX);
- html_source->SetJsonPath("strings.js");
-
- // Add required resources.
- html_source->AddResourcePath("nfc_debug.css", IDR_NFC_DEBUG_CSS);
- html_source->AddResourcePath("nfc_debug.js", IDR_NFC_DEBUG_JS);
- html_source->SetDefaultResource(IDR_NFC_DEBUG_HTML);
-
- Profile* profile = Profile::FromWebUI(web_ui);
- content::WebUIDataSource::Add(profile, html_source);
-}
-
-NfcDebugUI::~NfcDebugUI() {
-}
-
-} // namespace chromeos
« no previous file with comments | « chrome/browser/ui/webui/chromeos/nfc_debug_ui.h ('k') | chrome/chrome_browser_ui.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698