Hi, I've ported Chromium M39 to 4.4 using WebView.

The main modifications are:

  1. I changed AwContents::RequestDrawGL to call AwContents::DrawGL directly using Process-Sync mode when canvas input is NULL
  2. Android 4.4 seems to have only Draw mode DrawGL call, so I added Process-Sync mode call in DrawGLFunctor::operator()
  3. I changed 5 ".Wait()" calls in InProcessCommandBuffer class implementations to let it pass through when on 4.4 and in UI thread
  4. I also fixed the InProcessCommandBuffer::PerformIdleWork() deadlock problem


     in some situcations AwContents::RequestDrawGL is not called from inside of OnDraw, and IPCB::PerformIdleWork() recursively calls itself, whose AutoLock causes deadlock.

It now runs fluently on Nexus 4, but has a problem on a special Mobile Phone, which is using Android 4.4.2 and 1920x1080p screen.

The problem is, when browsing http://tieba.baidu.com/ ,

  1. It initially loads page and displays OK
  2. when i `slowly` scrolls the page up-down, some of the page content which should slide in at once, but just delays 2~3s to display
  3. when i `fastly` flips the page up-down, the upper side and bottom side of content becomes blank-white, no displaying back

I also test it on 2 other 1080p-screen mobile phones, there is no such problems.

Can any one help with this problem, I can imagine some causes, but I'm not familiar with android-chromium graphics stack:

  1. Does this relate to the problematic `1080p` phone, or is there any roots in tiling or OpenGL ES graphics driver?

  2. Maybe WebKit/Bink core does not paint the part, or cc compositor does not do the duty of compositing work?

Thanks very much!

PS: Hi baoliu, you have said the work porting Chromium M38+ to Android 4.4 is not supported by Google officially, But hope to hear your wise judgement.

The problematic URL is: http://tieba.baidu.com/?page=discovery

On Desktop Chrome, F12 to open developer console, then choose Nexus 5 as simulator.



I find the top TAB div element switches between



<div class="tab_head tab_index_head j_tab_index_head blue_kit light_tab_head tab_index_head_clone" style="display: -webkit-box;
opacity: 1;">  ...



and



<div class="tab_head tab_index_head j_tab_index_head blue_kit light_tab_head tab_index_head_clone" style="display: -webkit-box;
opacity: 0;">

A mail sent to Google chromium.org Groups for Help的更多相关文章

  1. CEF中文教程(google chrome浏览器控件) -- Windows下编译Chromium

    CEF中文教程(google chrome浏览器控件) -- CEF简介 2013-04-10 16:48 42928人阅读 评论(4) 收藏 举报  分类: CEF(2)    目录(?)[+]   ...

  2. Chromium Embedded Framework 中文文档(简介)

    转自:http://www.cnblogs.com/think/archive/2011/10/06/CEF-Introduce.html 简介 Chromium Embedded Framework ...

  3. 【转载】google搜索从入门到精通

    原文地址:http://www.cnblogs.com/helloIT/articles/5095668.html /***************************************** ...

  4. Delphi中Chrome Chromium、Cef3学习笔记(一)

    原文   http://blog.csdn.net/xtfnpgy/article/details/46635225   官方下载地址:https://cefbuilds.com/ CEF简介: 嵌入 ...

  5. [开源]Google code Android开源项目(一)

    [Android分享] [开源]Google code Android开源项目(一) [复制链接]     449122717 2 主题 2 好友 816 积分 No.4 中级开发者 升级  19.3 ...

  6. GOOGLE CODE ANDROID 开源项目 集合

    转:http://blog.csdn.net/dellheng/article/details/7163333 1.        ZXing  http://code.google.com/p/zx ...

  7. 【转载】showModalDialog returnValue is undefined in Google Chrome

    showModalDialog returnValue is undefined in Google Chrome Posted on August 22, 2012by briancaos For ...

  8. Chromium Embedded Framework

    关于CEF 近期由于工作需要开始研究了Google的Chromium Embedded Framework(CEF),这是一个基于Google Chromium开源代码的项目,使用CEF可以很方便的在 ...

  9. 通过ipv6访问 g o o g l e

    Google.Youtube.Facebook等均支持IPv6访问,IPv4网络的用户大部分都无法访问,比如Gmail,Google Docs等等各种相关服务.而该类网站大部分均已接入IPv6网络,因 ...

随机推荐

  1. 把一个一中的字段更新另一个表中的t-sql

    UPDATE dbo.CommDescr SET Descr=(SELECT ba.content FROM dbo.blog_article ba WHERE ba.id=3) WHERE Comm ...

  2. AutoFac文档13(转载)

    目录 开始 Registering components 控制范围和生命周期 用模块结构化Autofac xml配置 与.net集成 深入理解Autofac 指导 关于 词汇表 属性注入 属性注入使用 ...

  3. with(上下文的用法)以及其他知识点

    一.上下文 class Sxw(object): def __enter__(self): '''进入''' print("你好啊") def __exit__(self, exc ...

  4. JQuery实现选择特定楼层回复

    JQuery实现选择特定楼层回复 需求: 一个论坛里面的小功能,除了回复帖子之外,也能够回复帖子以下的回复.详细实现细节: 每个回复有一个"回复"按钮,点击按钮实现: 在form表 ...

  5. linode使用apt更新时停止的错误

    使用ubuntu在更新系统时候,有时候会出现这样的问题: 0% [Connecting to security.ubuntu.com (2001:67c:1560:8001::14)] 问了下客户,他 ...

  6. 在ubuntu下安装free pascal

    1.ubuntu16.04版本已经集成了free pascal最新的3.0版,只需要安装就可以了. sudo apt install fp-compiler 在ubuntu里面,fp-compiler ...

  7. cygwin 运行java的一些记录

    javac编译没问题,但是java执行就不行,处理方式如下 其实就是把宿主机下的java.exe在cygwin下搞一个快捷方式 关于路径问题,可以使用cygpath命令进行宿主机和cygwin间的转换 ...

  8. redis基础之安装和配置(一)

    前言 折腾一下redis在linux环境的安装. ubantu16.04环境下安装 下载安装,依次执行命令; # 从官方网站下载安装包,注意,当前在哪个目录下执行命令,下载的包将在哪个目录下 $ wg ...

  9. 自己定义TextView 调用ttf格式字体

    方法一:自己定义TextView 调用ttf格式字体 <strong>将ttf格式文件存放在assets/fonts/下</strong> 注:PC系统字体存放在C:\Wind ...

  10. (2)FluidMoveBehavior 之单击 Grid 中 Tile 进行排序

    在上一篇文章中,使用 FluidMoveBehavior 结合 FluidMoveSetTagBehavior 可以使数据从 ListBox 中的 数据显示时,产生缓慢的动画,从而更加生动.其实 Fl ...