const std::string::size_type kHTMLImageFromClipboardAppFrontLength =
kHTMLImageFromClipboardAppFront.length();
const std::string kHTMLImageFromClipboardAppEnd("\">");
-const std::string kDataURIImagePrefix("<img alt=\"\" src=\"data:image;base64,");
+const std::string kDataURIImagePrefix("<img alt=\"\" src=\"data:image");
+const std::string kDataURIImageBase64(";base64,");
const std::string kDataURIImageSuffix("\">");
static bool g_eldbus_initialized = false;
} // namespace
ELM_SEL_FORMAT_TEXT, nullptr, 0);
}
+std::string ClipboardHelperEfl::GetImageTypeFromPath(const std::string& path) {
+ std::string::size_type len = path.length();
+ std::string::size_type back_pos = path.rfind(".");
+ if (back_pos == std::string::npos) {
+ LOG(WARNING) << "[CLIPBOARD] couldn't find image type";
+ return std::string();
+ }
+
+ std::string image_type = path.substr(back_pos + 1, len);
+ LOG(INFO) << "[CLIPBOARD] image type: " << image_type;
+ return image_type;
+}
+
bool ClipboardHelperEfl::Base64ImageTagFromImagePath(const std::string& path,
std::string* image_html) {
std::string file_contents;
}
base::Base64Encode(file_contents, &file_contents);
-
- *image_html = kDataURIImagePrefix;
+ std::string image_Prefix;
+ std::string image_type = GetImageTypeFromPath(path);
+ if (!image_type.empty())
+ image_Prefix = kDataURIImagePrefix + "/" + image_type + kDataURIImageBase64;
+ else
+ image_Prefix = kDataURIImagePrefix + kDataURIImageBase64;
+
+ *image_html = image_Prefix;
*image_html += file_contents;
*image_html += kDataURIImageSuffix;
return true;
}
std::string image_path = front_stripped.substr(0, back_pos);
+ LOG(INFO) << "[CLIPBOARD] image_path:" << image_path;
return Base64ImageTagFromImagePath(image_path, out_tag);
}
std::string img_tag;
if (ConvertImgTagToBase64(selection_data, &img_tag)) {
self->clipboard_contents_html_ = img_tag;
+ LOG(INFO) << "[CLIPBOARD] image type, set clipboard_contents_html_ : "
+ << self->clipboard_contents_html_;
} else {
self->clipboard_contents_html_ = selection_data;
#if BUILDFLAG(IS_TIZEN_TV)