Based on the work of SeungSeop Park <sns.park@samsung.com>.
Original commit message:
Patch comprises followings:
1. Changes in DevToolsHttpHandler and its Delegate.
- API changed: DevToolsHttpHandlerDelegate::CreateSocketForTethering.
(see s-chromium: "1443f56 [DevTools] Migrate DevToolsHttpHandlerDelegate::
CreateSocketForTethering to StreamSocket")
- API removed: DevToolsHttpHandler::Stop.
(see s-chromium: "3632399 [DevTools] Remove DevToolsHttpHandler::Stop.")
TODO: Need implementation according to the chromium change.
(http://107.108.218.239/bugzilla/show_bug.cgi?id=9801)
2. Change in ui::Clipboard::GetSequenceNumber.
- ui::Clipboard::GetSequenceNumber is now const method.
3. API change in PdfMetafileSkia class:
SkBaseDevice* StartPageForVectorCanvas =>
skia::VectorCanvas* GetVectorCanvasForNewPage.
Note: The inline documentation says that returned pointer don't need to be
ref()ed or unref()ed since it's owned by the PdfMetafileSkia object.
4. WebContentDelgate API change.
- NavigationStateChanged(): First argument changed to non-const WebContents*.
- GetJavaScriptDialogManager(): Now takes WebContent* as the argument.
But how to use the added argument is unclear (even chromium code seems
not yet utilizing it).
5. Namespace change: content::ConvertRectToDIP -> gfx::ConvertRectToDIP.
6. New abstract API in BrowserContext: CreateZoomLevelDelegate().
The provided solution is to give a dummy implementation as in content shell.
7. Type change: CopyFromCompositingSurfaceCallback=>ReadbackRequestCallback.
8. kEnableOverscrollNotifications flag removed in s-chromium commit:
0fa5129 [Android] Add a flag to disable the pull-to-refresh effect
(https://codereview.chromium.org/
733293002).
It says:
"Also remove the kEnableOverscrollNotifications flag; overscroll
notifications are now bundled with event acks, creating
minimal extra overhead for non-consuming platforms."
Prepared solution is to just remove it from our commandline switch
(for OS_TIZEN).
TODO: Check if we can live without that flag.
(http://107.108.218.239/bugzilla/show_bug.cgi?id=9802)
9. Upstream changed V8's initial snapshot loading mechanism.
See https://crbug.com/421063, which says:
"V8 used to be statically linked to the binary, but now it is loaded from
external files, which reduces Chrome's binary size."
Due to this change, "natives_blob.bin" and "snapshot_blob.bin" need to be
deployed to mobile/tv target device. Otherwise, apps crashes on starting up
in tv and mobile target. (Thanks to Zhang-hoon Oh)
Contributor: Zhang-hoon Oh <dennis.oh@samsung.com>
10. Finally, change sync_repos.sh so to track dev/m41_2236 of s-* repos.
Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=9758
Reviewed by: Antonio Gomes, Balazs Kelemen, SeungSeop Park
Change-Id: Iad80766e116612fd3b9d2717430edec3693e557f
Signed-off-by: SeungSeop Park <sns.park@samsung.com>
#include "content/browser/renderer_host/web_event_factory_efl.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/browser/renderer_host/input/web_input_event_util.h"
-#include "content/browser/renderer_host/dip_util.h"
#include "content/browser/gpu/gpu_process_host.h"
#include "content/common/gpu/client/gl_helper.h"
#include "content/common/input/did_overscroll_params.h"
#include "third_party/WebKit/public/web/WebTouchPoint.h"
#include "ui/base/layout.h"
#include "ui/gfx/display.h"
+#include "ui/gfx/geometry/dip_util.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/screen.h"
#include "ui/events/event_utils.h"
}
gfx::Rect RenderWidgetHostViewEfl::GetViewBounds() const {
- return content::ConvertRectToDIP(device_scale_factor_, GetViewBoundsInPix());
+ return gfx::ConvertRectToDIP(device_scale_factor_, GetViewBoundsInPix());
}
bool RenderWidgetHostViewEfl::LockMouse() {
void RenderWidgetHostViewEfl::CopyFromCompositingSurface(
const gfx::Rect& src_subrect,
- const gfx::Size& /* dst_size */,
- const base::Callback<void(bool, const SkBitmap&)>&,
+ const gfx::Size& output_size,
+ const ReadbackRequestCallback& callback,
const SkColorType color_type) {
NOTIMPLEMENTED();
}
int x, y, w, h;
ecore_evas_geometry_get(ee, &x, &y, &w, &h);
if (current_orientation_ == 90 || current_orientation_ == 270)
- return content::ConvertRectToDIP(device_scale_factor_, gfx::Rect(x, y, h, w));
- return content::ConvertRectToDIP(device_scale_factor_, gfx::Rect(x, y, w, h));
+ return gfx::ConvertRectToDIP(device_scale_factor_, gfx::Rect(x, y, h, w));
+ return gfx::ConvertRectToDIP(device_scale_factor_, gfx::Rect(x, y, w, h));
}
gfx::GLSurfaceHandle RenderWidgetHostViewEfl::GetCompositingSurface() {
void CopyFromCompositingSurface(
const gfx::Rect&,
const gfx::Size& /* dst_size */,
- const base::Callback<void(bool, const SkBitmap&)>&,
+ const ReadbackRequestCallback&,
const SkColorType) override;
void CopyFromCompositingSurfaceToVideoFrame(
}
}
-uint64 ClipboardEfl::GetSequenceNumber(ClipboardType /* type */) {
+uint64 ClipboardEfl::GetSequenceNumber(ClipboardType /* type */) const {
DCHECK(CalledOnValidThread());
// TODO: implement this. For now this interface will advertise
// that the clipboard never changes. That's fine as long as we
~ClipboardEfl() override;
// Clipboard overrides:
- uint64 GetSequenceNumber(ClipboardType type) override;
+ uint64 GetSequenceNumber(ClipboardType type) const override;
bool IsFormatAvailable(const FormatType& format,
ClipboardType type) const override;
void Clear(ClipboardType type) override;
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/display.h"
#include "ui/gfx/display_observer.h"
+#include "ui/gfx/geometry/dip_util.h"
#include "ui/gfx/screen.h"
#include "ui/gfx/x/x11_types.h"
const gfx::Rect bounds_in_pixels = gfx::Rect(width, height);
const gfx::Rect bounds_in_dip =
- content::ConvertRectToDIP(device_scale_factor, bounds_in_pixels);
+ gfx::ConvertRectToDIP(device_scale_factor, bounds_in_pixels);
display.set_device_scale_factor(device_scale_factor);
display.set_bounds(bounds_in_dip);
user_prefs::UserPrefs::Set(this, user_pref_service_.get());
+#if defined(TIZEN_AUTOFILL_SUPPORT)
autofill::PersonalDataManagerFactory::GetInstance()
->PersonalDataManagerAdd(this);
+#endif
}
net::URLRequestContextGetter* BrowserContextEfl::GetRequestContext() {
return GetStoragePartition(this, NULL)->GetURLRequestContext();
}
+scoped_ptr<ZoomLevelDelegate> BrowserContextEfl::CreateZoomLevelDelegate(
+ const base::FilePath&) {
+ return scoped_ptr<ZoomLevelDelegate>();
+}
+
ResourceContext* BrowserContextEfl::GetResourceContext() {
if (!resource_context_) {
resource_context_ = new ResourceContextEfl(web_context_->cookieManager());
BrowserContextEfl(EWebContext*, bool incognito = false);
~BrowserContextEfl();
+ virtual scoped_ptr<ZoomLevelDelegate> CreateZoomLevelDelegate(
+ const base::FilePath& partition_path);
virtual bool IsOffTheRecord() const override { return incognito_; }
virtual net::URLRequestContextGetter* GetRequestContext() override;
URLRequestContextGetterEfl* GetRequestContextEfl()
#include "base/bind.h"
#include "base/command_line.h"
+#include "base/lazy_instance.h"
#include "base/logging.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
}
inline JavaScriptDialogManagerEfl* EWebView::GetJavaScriptDialogManagerEfl() {
- return static_cast<JavaScriptDialogManagerEfl*>(web_contents_delegate_->GetJavaScriptDialogManager());
+ return static_cast<JavaScriptDialogManagerEfl*>(
+ web_contents_delegate_->GetJavaScriptDialogManager(web_contents_.get()));
}
void EWebView::SetJavaScriptAlertCallback(tizen_webview::View_JavaScript_Alert_Callback callback, void* user_data) {
PrintParams result;
double scale_factor = 1.0f;
gfx::Rect canvas_area(canvas_size);
- SkBaseDevice* device = metafile->StartPageForVectorCanvas(params.params.page_size,
- canvas_area, scale_factor);
- if (!device)
+ skia::VectorCanvas* canvas = metafile->GetVectorCanvasForNewPage(
+ params.params.page_size, canvas_area, scale_factor);
+ if (!canvas)
return false;
- // The printPage method take a reference to the canvas we pass down, so it
- // can't be a stack object.
- skia::RefPtr<skia::VectorCanvas> canvas =
- skia::AdoptRef(new skia::VectorCanvas(device));
- printing::MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, static_cast<printing::PdfMetafileSkia*>(metafile));
+ printing::MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile);
skia::SetIsDraftMode(*canvas, true);
- frame->printPage(params.page_number, canvas.get());
+ frame->printPage(params.page_number, canvas);
// Done printing. Close the device context to retrieve the compiled metafile.
if (!metafile->FinishPage()) {
NOTREACHED() << "metafile failed";
}
void WebContentsDelegateEfl::NavigationStateChanged(
- const WebContents* source, InvalidateTypes changed_flags) {
+ WebContents* source, InvalidateTypes changed_flags) {
if (changed_flags & content::INVALIDATE_TYPE_URL) {
const char* url = source->GetVisibleURL().spec().c_str();
web_view_->SmartCallback<EWebViewCallbacks::URLChanged>().call(url);
}
}
-JavaScriptDialogManager* WebContentsDelegateEfl::GetJavaScriptDialogManager() {
+JavaScriptDialogManager* WebContentsDelegateEfl::GetJavaScriptDialogManager(
+ WebContents* source) {
if (!dialog_manager_)
dialog_manager_ = new JavaScriptDialogManagerEfl();
return dialog_manager_;
virtual WebContents* OpenURLFromTab(WebContents* source,
const content::OpenURLParams& params) override;
- virtual void NavigationStateChanged(const WebContents* source,
+ virtual void NavigationStateChanged(WebContents* source,
InvalidateTypes changed_flags) override;
virtual void LoadProgressChanged(WebContents* source, double progress) override;
void UpdateFormNavigation(int formElementCount, int currentNodeIndex,
bool prevState, bool nextState);
- JavaScriptDialogManager* GetJavaScriptDialogManager() override;
+ JavaScriptDialogManager* GetJavaScriptDialogManager(WebContents* source) override;
void DidFirstVisuallyNonEmptyPaint() override;
install -m 0755 "%{OUTPUT_FOLDER}"/libffmpegsumo.so "%{buildroot}%{CHROMIUM_EXE_DIR}"
install -m 0755 "%{OUTPUT_FOLDER}"/efl_webprocess "%{buildroot}%{CHROMIUM_EXE_DIR}"
install -m 0755 "%{OUTPUT_FOLDER}"/icudtl.dat "%{buildroot}%{CHROMIUM_EXE_DIR}"
+install -m 0755 "%{OUTPUT_FOLDER}"/natives_blob.bin "%{buildroot}%{CHROMIUM_EXE_DIR}"
+install -m 0755 "%{OUTPUT_FOLDER}"/snapshot_blob.bin "%{buildroot}%{CHROMIUM_EXE_DIR}"
install -m 0755 "%{OUTPUT_FOLDER}"/content_shell.pak "%{buildroot}%{CHROMIUM_EXE_DIR}"
install -m 0644 "%{OUTPUT_FOLDER}"/resources/*.edj "%{buildroot}%{CHROMIUM_DATA_DIR}"/themes
%{CHROMIUM_EXE_DIR}/efl_webprocess
%{CHROMIUM_EXE_DIR}/libffmpegsumo.so
%{CHROMIUM_EXE_DIR}/icudtl.dat
+%{CHROMIUM_EXE_DIR}/natives_blob.bin
+%{CHROMIUM_EXE_DIR}/snapshot_blob.bin
%{CHROMIUM_EXE_DIR}/content_shell.pak
%{CHROMIUM_EXE_DIR}/locales/*.pak
%{CHROMIUM_DATA_DIR}/themes/*.edj