-
Notifications
You must be signed in to change notification settings - Fork 211
Make it possible to share so file across android apk #47
Conversation
wang16
commented
Aug 12, 2013
- Add gyp definition to allow an apk target declares native library but not really package it into the apk.
- Try load the so from the library apk when failed to find it.
@yongsheng @sqliu please help review, Thanks. |
@@ -570,6 +571,15 @@ | |||
{ | |||
'action_name': 'ant_package_<(_target_name)', | |||
'message': 'Packaging <(_target_name).', | |||
'variables': { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, shiliu. I'm wondering whether we can do this on crosswalk. Like in this file:
runtime/android/java/src/org/xwalk/core/XWalkViewDelegate.java
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mean mandatory load libxwalkcore in XWalkViewDelegate.java?
Hardcode is kind of tricky, i will try that way via introducing similar mechanism in gyp.
@yongsheng , Updated as we discussed. Thanks. |
@kenchris @darktears , please help review, thanks. |
System.loadLibrary(sLibrary); | ||
} catch (UnsatisfiedLinkError e) { | ||
if (altLibraryPath != null) | ||
System.load(altLibraryPath + "lib" + sLibrary + ".so"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
better to use '/lib' because altLibraryPath might not have the appended '/', right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the comment.
Updated at https://github.com/otcshare/chromium-crosswalk/pull/47/files#L1R61
Trybot DashboardThe building Status of PATCH Tue Aug 13 2013 13:15:16 GMT+0800 (CST) [content_linux] Passed LOGS: build successful |
lgtm. thanks a lot. |
@wang16 , I suggest you point out the reason of this change (why). It should be helpful for any ones reviewing the code to understand the purpose. Either git log or link to a design doc will be helpful. |
Good suggestion, i will do that. |
If set package_native_libs to 0, will not package native libraries into final apk. The reason to have this change is that for webapp's apk target, it still need to declare native library it want to use, but not package it into apk.
The alternative library path will be a global variable and needs to be initialized if want to load library across package.
@huningxin , commit log updated. Please help review. |
I have questions:
|
|
maybe doing all of these in crosswalk is a good idea so:
|
Close this pull request, will implement in crosswalk. |
…hset #5 id:100001 of https://codereview.chromium.org/516293007/) Reason for revert: Chrome OS build with DCHECKs enabled fails on start. This CL breaks assumption, that GAIA extension can be loaded without performing IO-operations. Log and stack trace: [16275:16275:0903/161435:WARNING:renderer_freezer.cc(55)] Cgroup freezer does not exist or is not writable. Processes will not be frozen during suspend. [16275:16275:0903/161435:WARNING:configuration_policy_pref_store.cc(30)] Policy RemoteAccessClientFirewallTraversal: This policy has been deprecated. [16275:16275:0903/161437:FATAL:thread_restrictions.cc(38)] Function marked as IO-only was called from a thread that disallows IO! If this thread really should be allowed to make IO calls, adjust the call to base::ThreadRestrictions::SetIOAllowed() in this thread's startup. #0 0x7fe3122e555e base::debug::StackTrace::StackTrace() #1 0x7fe31237c462 logging::LogMessage::~LogMessage() #2 0x7fe3124824af base::ThreadRestrictions::AssertIOAllowed() #3 0x7fe3123630a1 base::PathExists() #4 0x7fe321cfd5f3 extensions::(anonymous namespace)::CollectPlatformSpecificResourceArchs() #5 0x7fe321cfad22 extensions::Extension::InitFromValue() #6 0x7fe321cfa490 extensions::Extension::Create() #7 0x7fe321cfa114 extensions::Extension::Create() #8 0x7fe3233ebe1b extensions::ComponentLoader::Load() #9 0x7fe3233ec3cf extensions::ComponentLoader::Add() #10 0x7fe3233ec32a extensions::ComponentLoader::Add() #11 0x7fe3233ec2b0 extensions::ComponentLoader::Add() #12 0x7fe32437505f (anonymous namespace)::LoadGaiaAuthExtension() #13 0x7fe324374d5e extensions::GaiaAuthExtensionLoader::LoadIfNeeded() #14 0x7fe324237f7e ScopedGaiaAuthExtension::ScopedGaiaAuthExtension() #15 0x7fe322f68bb2 chromeos::WebUILoginView::Init() #16 0x7fe322f556ef chromeos::LoginDisplayHostImpl::InitLoginWindowAndView() #17 0x7fe322f52640 chromeos::LoginDisplayHostImpl::LoadURL() #18 0x7fe322f5226a chromeos::LoginDisplayHostImpl::StartWizard() #19 0x7fe322f54acd chromeos::LoginDisplayHostImpl::StartPostponedWebUI() #20 0x7fe322f541f8 chromeos::LoginDisplayHostImpl::Observe() #21 0x7fe322f54bfd chromeos::LoginDisplayHostImpl::Observe() #22 0x7fe31b222377 content::NotificationServiceImpl::Notify() #23 0x7fe322d51a24 chromeos::(anonymous namespace)::UserWallpaperDelegate::OnWallpaperAnimationFinished() #24 0x7fe31188692f ash::RootWindowController::OnWallpaperAnimationFinished() #25 0x7fe3117c633a ash::(anonymous namespace)::ShowWallpaperAnimationObserver::OnImplicitAnimationsCompleted() #26 0x7fe311f72d30 ui::ImplicitAnimationObserver::CheckCompleted() #27 0x7fe311f72cd5 ui::ImplicitAnimationObserver::SetActive() #28 0x7fe311f965d5 ui::ScopedLayerAnimationSettings::~ScopedLayerAnimationSettings() #29 0x7fe3117c5ec7 ash::DesktopBackgroundWidgetController::StartAnimating() #30 0x7fe3117bbb0c ash::DesktopBackgroundController::InstallDesktopController() #31 0x7fe3117bbc03 ash::DesktopBackgroundController::InstallDesktopControllerForAllWindows() #32 0x7fe3117bb3cc ash::DesktopBackgroundController::SetDesktopBackgroundImageMode() #33 0x7fe3117bb096 ash::DesktopBackgroundController::SetWallpaperImage() #34 0x7fe322f9a6b9 chromeos::WallpaperManager::DoSetDefaultWallpaper() #35 0x7fe322f99b73 chromeos::WallpaperManager::PendingWallpaper::ProcessRequest() #36 0x7fe322fbac72 base::internal::RunnableAdapter<>::Run() #37 0x7fe322fbabe9 base::internal::InvokeHelper<>::MakeItSo() #38 0x7fe322fbaba5 base::internal::Invoker<>::Run() #39 0x7fe3122cc9ce base::Callback<>::Run() #40 0x7fe312488f86 base::Timer::RunScheduledTask() #41 0x7fe3124890bc base::BaseTimerTaskInternal::Run() #42 0x7fe312489382 base::internal::RunnableAdapter<>::Run() #43 0x7fe3124892ec base::internal::InvokeHelper<>::MakeItSo() #44 0x7fe312489295 base::internal::Invoker<>::Run() #45 0x7fe3122cc9ce base::Callback<>::Run() #46 0x7fe3122eb9b3 base::debug::TaskAnnotator::RunTask() #47 0x7fe3123a1c57 base::MessageLoop::RunTask() #48 0x7fe3123a1d9b base::MessageLoop::DeferOrRunPendingTask() #49 0x7fe3123a228d base::MessageLoop::DoDelayedWork() #50 0x7fe3122a1f25 base::MessagePumpGlib::Run() #51 0x7fe3123a17f0 base::MessageLoop::RunHandler() #52 0x7fe3124093b2 base::RunLoop::Run() #53 0x7fe324217e4d ChromeBrowserMainParts::MainMessageLoopRun() #54 0x7fe31ad2a8bf content::BrowserMainLoop::RunMainMessageLoopParts() #55 0x7fe31ad344c7 content::BrowserMainRunnerImpl::Run() #56 0x7fe31ad251b1 content::BrowserMain() #57 0x7fe31abb997f content::RunNamedProcessTypeMain() #58 0x7fe31abbcce8 content::ContentMainRunnerImpl::Run() #59 0x7fe31abb8ee5 content::ContentMain() #60 0x7fe3206d3505 ChromeMain #61 0x7fe3206d34b2 main Cannot upload crash dump: cannot exec /sbin/crash_reporter Crash_reporter failed to process crash report Original issue's description: > Enable forced extension updates on NaCl arch mismatch > > This makes extensions aware of the platforms for which > they have platform-specific resources installed, if any. > > This also hooks up the extension update code with some > additional logic to place an extension in forced-update > mode if it has platform-specific resources which don't > match the current NaCl architecture. > > BUG=409948 > TEST=install an extension which uses NaCl (QuickOffice for example). Rename the _platform-specific/<your-nacl-arch> directory some something else and force an update (e.g. via chrome://extensions button). Observe that a new CRX is downloaded and installed. > > Committed: https://chromium.googlesource.com/chromium/src/+/4a92281fa5d331860d65a59ba45dc882a5c71df4 [email protected],[email protected],[email protected],[email protected] NOTREECHECKS=true NOTRY=true BUG=409948 Review URL: https://codereview.chromium.org/532183003 Cr-Commit-Position: refs/heads/master@{#293128}
…::ExecuteCommands. (patchset #1 id:1 of https://codereview.chromium.org/547783002/) Reason for revert: Broke Linux ChromiumOS Tests (dbg)(3) http://build.chromium.org/p/chromium.webkit/builders/Linux%20ChromiumOS%20Tests%20%28dbg%29%283%29/builds/1206 BrowserTestBase signal handler received SIGTERM. Backtrace: #0 0x7f3bcf3aa67e base::debug::StackTrace::StackTrace() #1 0x0000041c884a content::(anonymous namespace)::DumpStackTraceSignalHandler() #2 0x7f3bc709f4a0 <unknown> #3 0x7f3bc7151a43 __poll #4 0x7f3bc7b8dff6 <unknown> #5 0x7f3bc7b8e124 g_main_context_iteration #6 0x7f3bcf366f35 base::MessagePumpGlib::Run() #7 0x7f3bcf468180 base::MessageLoop::RunHandler() #8 0x7f3bcf4cfcc2 base::RunLoop::Run() #9 0x0000041e0729 content::RunThisRunLoop() #10 0x0000041e06ba content::RunMessageLoop() #11 0x000000668feb ExtensionApiTest::ResultCatcher::GetNextResult() #12 0x0000006a30dd extensions::CommandsApiTest_ContinuePropagation_Test::RunTestOnMainThread() #13 0x0000006a3712 extensions::CommandsApiTest_ContinuePropagation_Test::RunTestOnMainThread() #14 0x00000176be8b InProcessBrowserTest::RunTestOnMainThreadLoop() #15 0x0000041c85c8 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() #16 0x0000041c9cf2 base::internal::RunnableAdapter<>::Run() #17 0x0000041c9c69 base::internal::InvokeHelper<>::MakeItSo() #18 0x0000041c9c25 base::internal::Invoker<>::Run() #19 0x00000063f0de base::Callback<>::Run() #20 0x0000042dddd2 ChromeBrowserMainParts::PreMainMessageLoopRunImpl() #21 0x0000042dca92 ChromeBrowserMainParts::PreMainMessageLoopRun() #22 0x000002e77daf chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() #23 0x7f3bd7bd2e96 content::BrowserMainLoop::PreMainMessageLoopRun() #24 0x7f3bd7bd96f2 base::internal::RunnableAdapter<>::Run() #25 0x7f3bd7bd965c base::internal::InvokeHelper<>::MakeItSo() #26 0x7f3bd7bd960a base::internal::Invoker<>::Run() #27 0x7f3bd80a852e base::Callback<>::Run() #28 0x7f3bd841bd2b content::StartupTaskRunner::RunAllTasksNow() #29 0x7f3bd7bd12f0 content::BrowserMainLoop::CreateStartupTasks() #30 0x7f3bd7bdcc72 content::BrowserMainRunnerImpl::Initialize() #31 0x7f3bd7bcda55 content::BrowserMain() #32 0x7f3bd7a6224f content::RunNamedProcessTypeMain() #33 0x7f3bd7a655b8 content::ContentMainRunnerImpl::Run() #34 0x7f3bd7a617b5 content::ContentMain() #35 0x0000041c82cb content::BrowserTestBase::SetUp() #36 0x00000176afc3 InProcessBrowserTest::SetUp() #37 0x000000674823 ExtensionBrowserTest::SetUp() #38 0x000000674852 ExtensionBrowserTest::SetUp() #39 0x0000018298a3 testing::internal::HandleSehExceptionsInMethodIfSupported<>() #40 0x00000181686e testing::internal::HandleExceptionsInMethodIfSupported<>() #41 0x00000180ad73 testing::Test::Run() #42 0x00000180b4cb testing::TestInfo::Run() #43 0x00000180baca testing::TestCase::Run() #44 0x000001811009 testing::internal::UnitTestImpl::RunAllTests() #45 0x0000018225b3 testing::internal::HandleSehExceptionsInMethodIfSupported<>() #46 0x0000018185fe testing::internal::HandleExceptionsInMethodIfSupported<>() #47 0x000001810c97 testing::UnitTest::Run() #48 0x0000041a5531 RUN_ALL_TESTS() #49 0x0000041a4547 base::TestSuite::Run() #50 0x0000008026d2 InteractiveUITestSuiteRunner::RunTestSuite() #51 0x000001769618 (anonymous namespace)::ChromeTestLauncherDelegate::RunTestSuite() #52 0x0000041d9efb content::LaunchTests() #53 0x00000176954b LaunchChromeTests() #54 0x00000080262f main #55 0x7f3bc708a76d __libc_start_main #56 0x0000005ffda9 <unknown> [123/334] CommandsApiTest.ContinuePropagation (TIMED OUT) Original issue's description: > Fixes HasEventListener check in ExtensionKeybindingRegistry::ExecuteCommands. > > ExtensionKeybindingRegistry::ExecuteCommands functions in two distinct ways -- execute all commands based on an accelerator, or, execute an accelerator for a given extension. The former behavior is implied by passing an empty string. > > Previously, only the latter case was handled when trying to continue propagating keys. > > BUG=407163 > TEST=try bots (interactive_ui_tests --gtest_filter=CommandsApiTest.*). > > Committed: https://chromium.googlesource.com/chromium/src/+/189a2ed4d209231d517b0e64a722722dead3f17a [email protected],[email protected] NOTREECHECKS=true NOTRY=true BUG=407163 Review URL: https://codereview.chromium.org/552533003 Cr-Commit-Position: refs/heads/master@{#293780}
This is a reland of https://chromiumcodereview.appspot.com/808973004, which failed on some CrOS ARM bots due to the new headers not being present on all ARM boards. With this iteration I'm additionally gating the CL on use_v4lplugin, which is a workaround to further limit this to be compiled on relevant platforms only, previously it was supposed to be present on all ARMs and rely on dynamic selection of the proper codec class. This will be restored and fixed shortly. Instantiate V4L2SVDA in GVDA and vdatest to be used if the hardware cannot support the current frame-based API and try to used slice-based API instead. [email protected],[email protected],[email protected],[email protected],[email protected] [email protected],[email protected],[email protected],[email protected],[email protected] BUG=chrome-os-partner:33728 TEST=vdatest,veatest,apprtc,video playback Review URL: https://codereview.chromium.org/847423003 Cr-Commit-Position: refs/heads/master@{#311666} (cherry picked from commit 3071c1d) Review URL: https://codereview.chromium.org/816393004 Cr-Commit-Position: refs/branch-heads/2272@{#47} Cr-Branched-From: 827a380-refs/heads/master@{#310958}
expensive calls if connection type has changed or if connection description was null. Defined a new class to cache the connection description and this class is owned by QuicStreamFactory. This fixes the Jank on IO thread and avoids call to GetWifiPHYLayerProtocol (which takes around 40ms). BUG=422516 [email protected] Review URL: https://codereview.chromium.org/944883003 Cr-Commit-Position: refs/heads/master@{#317674} (cherry picked from commit 041b299) Review URL: https://codereview.chromium.org/962983003 Cr-Commit-Position: refs/branch-heads/2311@{#47} Cr-Branched-From: 09b7de5-refs/heads/master@{#317474}
Increase the data rate and the commit rate. BUG=480228 Review URL: https://codereview.chromium.org/1136123006 Cr-Commit-Position: refs/heads/master@{#330278} (cherry picked from commit 588427c) [email protected] Review URL: https://codereview.chromium.org/1149893005 Cr-Commit-Position: refs/branch-heads/2403@{#47} Cr-Branched-From: f54b809-refs/heads/master@{#330231}
Instead of showing the Chrome logo as the MediaSession icon, we use a plain color. BUG=524180 [email protected] Review URL: https://codereview.chromium.org/1319603002 Cr-Commit-Position: refs/heads/master@{#345628} (cherry picked from commit 9bb53e7) Review URL: https://codereview.chromium.org/1320883002 . Cr-Commit-Position: refs/branch-heads/2490@{#47} Cr-Branched-From: 7790a35-refs/heads/master@{#344925}
Add DataReductionProxy.LoFi.TransformationType UMA which counts pageloads that received or requested, but did not receive, various Lo-Fi transformations. BUG=579254 Review URL: https://codereview.chromium.org/1587903002 Cr-Commit-Position: refs/heads/master@{#369925} (cherry picked from commit 7c04dc6) Review URL: https://codereview.chromium.org/1619843002 . Cr-Commit-Position: refs/branch-heads/2623@{#47} Cr-Branched-From: 92d7753-refs/heads/master@{#369907}
… determining low available storage for offline pages. Also adds robolectric unit tests that mock storage size. BUG=589293 Review URL: https://codereview.chromium.org/1747483002 Cr-Commit-Position: refs/heads/master@{#378346} (cherry picked from commit 2d3e9a1) Review URL: https://codereview.chromium.org/1759933002 . Cr-Commit-Position: refs/branch-heads/2661@{crosswalk-project#47} Cr-Branched-From: ef6f6ae-refs/heads/master@{#378081}
Memory-mapped I/O crashes when files have I/O errors. Many existing SQLite files in the profile have I/O errors, which causes excessive crashing when mmap is enabled. Disable this feature for M47. BUG=537742,555578 [email protected] NOTRY=true NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1462683002 Cr-Commit-Position: refs/branch-heads/2564@{crosswalk-project#47} Cr-Branched-From: 1283eca-refs/heads/master@{#359700}
Text autosizing may change style of an object, causing problem of code like the following: const ComputedStyle& style = object.styleRef(); // This may call text autosizing which changes style of the object. computeChildPreferredLogicalWidth(object, ...); // This may reference a deleted object. style.anyMethod(); TextAutosizer has a mechanism to hold references to the old styles to avoid problem of raw pointers/references, but the scope seems not big enough to cover the case of the bug. BUG=613917 Review-Url: https://codereview.chromium.org/2000423003 Cr-Commit-Position: refs/heads/master@{#395792} Review URL: https://codereview.chromium.org/2007683005 . (cherry picked from commit 39f8156) Cr-Original-Commit-Position: refs/branch-heads/2743@{#47} Cr-Original-Branched-From: 2b3ae3b-refs/heads/master@{#394939} Cr-Commit-Position: refs/branch-heads/2704@{#685} Cr-Branched-From: 6e53600-refs/heads/master@{#386251}
Text autosizing may change style of an object, causing problem of code like the following: const ComputedStyle& style = object.styleRef(); // This may call text autosizing which changes style of the object. computeChildPreferredLogicalWidth(object, ...); // This may reference a deleted object. style.anyMethod(); TextAutosizer has a mechanism to hold references to the old styles to avoid problem of raw pointers/references, but the scope seems not big enough to cover the case of the bug. BUG=613917 Review-Url: https://codereview.chromium.org/2000423003 Cr-Commit-Position: refs/heads/master@{#395792} Review URL: https://codereview.chromium.org/2007683005 . Cr-Commit-Position: refs/branch-heads/2743@{crosswalk-project#47} Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
Brings visual updates to the bottom navigation menu, by removing labels, shrinking its height, changing colors, and updating icon spacing behaviour. Makes several modifications to the Android support library bottom navigation menu widget that was recently forked, removing shift mode, adding the ability to hide labels, and changing the way icons are spaced. [email protected] Bug: 738492 Change-Id: I0e41ceda79ff3e54ce51d9c77fbebb605dbc3b09 Reviewed-on: https://chromium-review.googlesource.com/641393 Commit-Queue: Troy Hildebrandt <[email protected]> Reviewed-by: Matthew Jones <[email protected]> Reviewed-by: Theresa <[email protected]> Reviewed-by: Ted Choc <[email protected]> Cr-Original-Commit-Position: refs/heads/master@{#499118} Reviewed-on: https://chromium-review.googlesource.com/653477 Cr-Commit-Position: refs/branch-heads/3202@{crosswalk-project#47} Cr-Branched-From: fa6a5d8-refs/heads/master@{#499098}