[Tizen] Apply new LWE web engine interface 77/200277/1 accepted/tizen/unified/20190221.084233 submit/tizen/20190221.051838
authorJiyun Yang <ji.yang@samsung.com>
Thu, 21 Feb 2019 05:20:59 +0000 (14:20 +0900)
committerJiyun Yang <ji.yang@samsung.com>
Thu, 21 Feb 2019 05:20:59 +0000 (14:20 +0900)
Change-Id: I05559dc052b3ee813f7ed416d56926ce47efb11b
Signed-off-by: Jiyun Yang <ji.yang@samsung.com>
dali-extension/web-engine-lwe/tizen-web-engine-lwe.cpp

index 3bee25f..9003887 100644 (file)
@@ -414,8 +414,25 @@ void TizenWebEngineLWE::Create( int width, int height, const std::string& locale
                           ( dataPath + DB_NAME_CACHE ).c_str() );
   }
   mWebContainer = LWE::WebContainer::Create(
-      mOutputBuffer, mOutputWidth, mOutputHeight,
-      mOutputStride, 1.0, "", locale.data(), timezoneId.data() );
+      mOutputWidth, mOutputHeight,
+      1.0, "", locale.data(), timezoneId.data() );
+
+  mWebContainer->RegisterPreRenderingHandler(
+          [this]() -> LWE::WebContainer::RenderInfo {
+              if (mOutputBuffer == NULL) {
+                  mOutputBuffer = (uint8_t*)malloc(
+                      mOutputWidth *
+                      mOutputHeight * sizeof(uint32_t));
+                  mOutputStride =
+                      mOutputWidth * sizeof(uint32_t);
+              }
+              ::LWE::WebContainer::RenderInfo result;
+              result.updatedBufferAddress = mOutputBuffer;
+              result.bufferStride = mOutputStride;
+              return result;
+
+          });
+
   mWebContainer->RegisterOnRenderedHandler(
       [ this ]( LWE::WebContainer* container, const LWE::WebContainer::RenderResult& renderResult )
       {
@@ -590,7 +607,7 @@ void TizenWebEngineLWE::SetSize( int width, int height )
     auto oldOutputBuffer = mOutputBuffer;
     mOutputBuffer = ( uint8_t* )malloc( mOutputWidth * mOutputHeight * sizeof( uint32_t ) );
     mOutputStride = mOutputWidth * sizeof( uint32_t );
-    mWebContainer->UpdateBuffer( mOutputBuffer, mOutputWidth, mOutputHeight, mOutputStride );
+    mWebContainer->ResizeTo( mOutputWidth, mOutputHeight );
 
     if( oldOutputBuffer ) {
         free(oldOutputBuffer);