Необходимо разработать тестовое приложение (пример) для демонстрации встраивания Chrome Embedded Framework с предоставлением исходных кодов.
1. Среда разработки приложения: Embarcadero RAD Studio XE8 или выше.
2. Тип разрабатываемого приложения: VCL приложение на С++.
3. Используемая библиотека встраиваемого браузера: Chromium Embedded Framework (CEF)
bitbucket.org/chromiumemb... 4. Требования к приложению:
4.1. Приложение, имеющее главное окно без границ, разворачивающееся на весь экран, либо имеющее фиксированный размер (задается параметром при старте приложения, по умолчанию разворачивается на весь экран).
4.2. Должна быть возможность программными средствами заблокировать контекстное меню, заблокировать средства разработчика, заблокировать реакцию на все действия кроме нажатия левой клавиши мыши либо реакции на нажатие на touch-screen.
4.3. Компонент веб-браузера должен быть либо компонентом на форме главного окна примера, либо может создавать своё собственное окно, перекрывающие все остальные окна.
4.3.1. Должна быть продемонстрирована возможность программно изменять размер окна/компонента браузера. Для примера подойдут любые фиксированные значения.
4.4. В приложении необходимо продемонстрировать вызов функций, реализованных в примере, в случае возникновения следующих событий:
4.4.1. Аналог события IE TCppWebBrowser::OnBeforeNavigate2
4.4.2. Аналог события IE TCppWebBrowser::OnDocumentComplete
4.4.3. Аналог события IE TCppWebBrowser::OnNavigateError
4.5. В примере необходимо продемонстрировать возможность выполнять следующие
действия с объектом браузера:
4.5.1. Возможность выполнять переход на определенную страницу (аналог метода TCppWebBrowser::Navigate(BSTR) ).
4.5.2. Возможность выполнять отмену перехода (в обработчике события TCppWebBrowser::OnBeforeNavigate2, аналог метода TCppWebBrowser::Stop)
4.5.3. Возможность из кода приложения выполнять javascript-код в текущей открытой странице (для примера использовать javascript alert()).
4.5.4. Возможность перехватывать и не отображать на экране всплывающие окна. Должна быть продемонстрирована возможность получить текст этого сообщения в коде приложения.
4.5.5. Возможность получения статуса браузера (аналог свойства TCppWebBrowser::Busy).
5. Сборка исходного кода браузера должна выполняться в соответствии с инструкцией по сборке библиотеки встраиваемого браузера.
6. Сборка примера должна выполняться строго в среде разработки.
7. Код должен быть документирован комментариями к выполняемым действиям (комментарии могут быть на русском или английском языке).
Внимание!
1. Работа только через Безопасную Сделку.
2. Исполнители без опыта работы на C++ не рассматриваются.
Предлагайте комфортные для Вас сроки и бюджет!