Index: android_webview/browser/browser_view_renderer.cc |
diff --git a/android_webview/browser/browser_view_renderer.cc b/android_webview/browser/browser_view_renderer.cc |
index 8f21b165d17d91346f9c07a9730ef1caccb8c64f..a79f97d89301400d9a0a6f46f342cb06f4b8d157 100644 |
--- a/android_webview/browser/browser_view_renderer.cc |
+++ b/android_webview/browser/browser_view_renderer.cc |
@@ -7,17 +7,13 @@ |
#include "android_webview/browser/browser_view_renderer_client.h" |
#include "android_webview/browser/shared_renderer_state.h" |
#include "android_webview/common/aw_switches.h" |
-#include "android_webview/public/browser/draw_gl.h" |
-#include "base/android/jni_android.h" |
#include "base/auto_reset.h" |
#include "base/command_line.h" |
-#include "base/debug/trace_event.h" |
-#include "base/json/json_writer.h" |
+#include "base/debug/trace_event_argument.h" |
#include "base/logging.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/stringprintf.h" |
#include "cc/output/compositor_frame.h" |
-#include "content/public/browser/browser_thread.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/common/content_switches.h" |
#include "gpu/command_buffer/service/gpu_switches.h" |
@@ -27,10 +23,6 @@ |
#include "third_party/skia/include/core/SkPictureRecorder.h" |
#include "ui/gfx/vector2d_conversions.h" |
-using base::android::AttachCurrentThread; |
-using base::android::JavaRef; |
-using base::android::ScopedJavaLocalRef; |
-using content::BrowserThread; |
using content::SynchronousCompositorMemoryPolicy; |
namespace android_webview { |
@@ -48,30 +40,9 @@ uint64 g_memory_override_in_bytes = 0u; |
// Used to calculate tile allocation. Determined experimentally. |
const size_t kTileMultiplier = 12; |
const size_t kTileAllocationStep = 20; |
-// This will be set by static function CalculateTileMemoryPolicy() during init. |
-// See AwMainDelegate::BasicStartupComplete. |
-size_t g_tile_area; |
- |
-class TracedValue : public base::debug::ConvertableToTraceFormat { |
- public: |
- explicit TracedValue(base::Value* value) : value_(value) {} |
- static scoped_refptr<base::debug::ConvertableToTraceFormat> FromValue( |
- base::Value* value) { |
- return scoped_refptr<base::debug::ConvertableToTraceFormat>( |
- new TracedValue(value)); |
- } |
- virtual void AppendAsTraceFormat(std::string* out) const override { |
- std::string tmp; |
- base::JSONWriter::Write(value_.get(), &tmp); |
- *out += tmp; |
- } |
- |
- private: |
- virtual ~TracedValue() {} |
- scoped_ptr<base::Value> value_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TracedValue); |
-}; |
+// Use chrome's default tile size, which varies from 256 to 512. |
+// Be conservative here and use the smallest tile size possible. |
+const size_t kTileArea = 256 * 256; |
} // namespace |
@@ -90,10 +61,6 @@ void BrowserViewRenderer::CalculateTileMemoryPolicy() { |
g_memory_override_in_bytes *= 1024 * 1024; |
} |
- // Use chrome's default tile size, which varies from 256 to 512. |
- // Be conservative here and use the smallest tile size possible. |
- g_tile_area = 256 * 256; |
- |
// Also use a high tile limit since there are no file descriptor issues. |
GlobalTileManager::GetInstance()->SetTileLimit(1000); |
} |
@@ -137,7 +104,7 @@ BrowserViewRenderer::~BrowserViewRenderer() { |
// This function updates the resource allocation in GlobalTileManager. |
void BrowserViewRenderer::TrimMemory(const int level, const bool visible) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ DCHECK(ui_task_runner_->BelongsToCurrentThread()); |
// Constants from Android ComponentCallbacks2. |
enum { |
TRIM_MEMORY_RUNNING_LOW = 10, |
@@ -180,7 +147,7 @@ BrowserViewRenderer::CalculateDesiredMemoryPolicy() { |
if (g_memory_override_in_bytes) |
policy.bytes_limit = static_cast<size_t>(g_memory_override_in_bytes); |
- size_t tiles = width * height * kTileMultiplier / g_tile_area; |
+ size_t tiles = width * height * kTileMultiplier / kTileArea; |
// Round up to a multiple of kTileAllocationStep. The minimum number of tiles |
// is also kTileAllocationStep. |
tiles = (tiles / kTileAllocationStep + 1) * kTileAllocationStep; |
@@ -619,9 +586,7 @@ void BrowserViewRenderer::UpdateRootLayerState( |
"BrowserViewRenderer::UpdateRootLayerState", |
TRACE_EVENT_SCOPE_THREAD, |
"state", |
- TracedValue::FromValue( |
- RootLayerStateAsValue(total_scroll_offset_dip, scrollable_size_dip) |
- .release())); |
+ RootLayerStateAsValue(total_scroll_offset_dip, scrollable_size_dip)); |
DCHECK_GT(dip_scale_, 0); |
@@ -640,10 +605,12 @@ void BrowserViewRenderer::UpdateRootLayerState( |
SetTotalRootLayerScrollOffset(total_scroll_offset_dip); |
} |
-scoped_ptr<base::Value> BrowserViewRenderer::RootLayerStateAsValue( |
+scoped_refptr<base::debug::ConvertableToTraceFormat> |
+BrowserViewRenderer::RootLayerStateAsValue( |
const gfx::Vector2dF& total_scroll_offset_dip, |
const gfx::SizeF& scrollable_size_dip) { |
- scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue); |
+ scoped_refptr<base::debug::TracedValue> state = |
+ new base::debug::TracedValue(); |
state->SetDouble("total_scroll_offset_dip.x", total_scroll_offset_dip.x()); |
state->SetDouble("total_scroll_offset_dip.y", total_scroll_offset_dip.y()); |
@@ -655,7 +622,7 @@ scoped_ptr<base::Value> BrowserViewRenderer::RootLayerStateAsValue( |
state->SetDouble("scrollable_size_dip.height", scrollable_size_dip.height()); |
state->SetDouble("page_scale_factor", page_scale_factor_); |
- return state.PassAs<base::Value>(); |
+ return state; |
} |
void BrowserViewRenderer::DidOverscroll(gfx::Vector2dF accumulated_overscroll, |
@@ -780,7 +747,7 @@ void BrowserViewRenderer::SkippedCompositeInDraw() { |
EnsureContinuousInvalidation(false, true); |
} |
-std::string BrowserViewRenderer::ToString(AwDrawGLInfo* draw_info) const { |
+std::string BrowserViewRenderer::ToString() const { |
std::string str; |
base::StringAppendF(&str, "is_paused: %d ", is_paused_); |
base::StringAppendF(&str, "view_visible: %d ", view_visible_); |
@@ -804,19 +771,6 @@ std::string BrowserViewRenderer::ToString(AwDrawGLInfo* draw_info) const { |
base::StringAppendF( |
&str, "on_new_picture_enable: %d ", on_new_picture_enable_); |
base::StringAppendF(&str, "clear_view: %d ", clear_view_); |
- if (draw_info) { |
- base::StringAppendF(&str, |
- "clip left top right bottom: [%d %d %d %d] ", |
- draw_info->clip_left, |
- draw_info->clip_top, |
- draw_info->clip_right, |
- draw_info->clip_bottom); |
- base::StringAppendF(&str, |
- "surface width height: [%d %d] ", |
- draw_info->width, |
- draw_info->height); |
- base::StringAppendF(&str, "is_layer: %d ", draw_info->is_layer); |
- } |
return str; |
} |