Skip to content
This repository has been archived by the owner on Apr 3, 2020. It is now read-only.

Fix touch support issue on Tizen 2.1 #43

Merged
merged 2 commits into from
Aug 7, 2013
Merged

Fix touch support issue on Tizen 2.1 #43

merged 2 commits into from
Aug 7, 2013

Conversation

hmin
Copy link

@hmin hmin commented Aug 7, 2013

On Tizen 2.1, the multi-touch support is different from the XInput2.2
approach. It extends the older Input2.1 spec to use multiple touch
devices for multiple touch points, one touch device for one touch
points. The device type name for this purpose is MULTITOUCHSCREEN which
is not defined by XInput extension.

This fix is to make Crosswalk be able to handle the new extension to
XInput2.1 by introducing a new build option 'enable_xi21_mt'. It should
be turned on for Tizen 2.1, and is exclusive to 'use_xi2_mt' option.

@hmin
Copy link
Author

hmin commented Aug 7, 2013

@huningxin Please have a review firstly.

@Trybot
Copy link

Trybot commented Aug 7, 2013

Trybot Dashboard


Building status:

Finished the build of the PATCH in this pull request

Thu Aug 08 2013 06:47:39 GMT+0800 (CST) [content_linux] Failed LOGS: failed check coding style
Thu Aug 08 2013 06:59:50 GMT+0800 (CST) [content_win] Failed LOGS: failed check coding style
Thu Aug 08 2013 07:16:42 GMT+0800 (CST) [content_android] Failed LOGS: failed check coding style


Rebuild the failed bots you want!

Select the bots:
  • content_linux
  • content_win
  • content_android
Start the building:
  • < START >

@@ -27,6 +27,7 @@
: pointer_device_lookup_(),
touch_device_available_(false),
touch_events_disabled_(false),
multi_touch_screen_enabled_(false),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am just wondering if we could make this build time instead of check at runtime. For example define a macro "ENABLE_XI21_MT" or "ENABLE_TIZEN21_MT". We just supply this marco when building for Tizen 2.1. For Tizen 3.0 and ubuntu, we still build with "USE_XI2_MT=2".

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. I will update it by exposing ENABLE_XI21_MT macro.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. I will update it by exposing ENABLE_XI21_MT macro.

But in that sense, we will pollute the build/common.gypi and need to extra maintenance effort each time rebasing. Do you any shortcut way to add such a change in xwalk?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or rename this boolean to something like xinput21_multitouch_enabled_ and set it with a switch "--enable-xinput21-mt". But I am still feeling a build time definition is better.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have a strong preference on this. Both of them are good to me.

@kenchris @darktears Your opinions?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the build flag more

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK...I am updating it now.

@rakuco
Copy link

rakuco commented Aug 7, 2013

NOTE: No -Duse_xi2_mt=2 option is needed for this patch.

Do you mean one may or may not pass that to gyp or that one should not pass that option to gyp at all?

On Tizen 2.1, the multi-touch support is different from the XInput2.2
approach. It extends the older Input2.1 spec to use multiple touch
devices for multiple touch points, one touch device for one touch
points. The device type name for this purpose is MULTITOUCHSCREEN which
is not defined by XInput extension.

This fix is to make Crosswalk be able to handle the new extension to
XInput2.1 by introducing a new build option 'enable_xi21_mt'. It should
be turned on for Tizen 2.1, and is exclusive to 'use_xi2_mt' option.
@hmin
Copy link
Author

hmin commented Aug 7, 2013

Do you mean one may or may not pass that to gyp or that one should not pass that option to gyp at all?

@rakuco What I mean is we wont pass use_xi2_mt=2 for building on Tizen 2.1.

@hmin
Copy link
Author

hmin commented Aug 7, 2013

Add 'enable_xi21_mt' build flag for Tizen2.1 case. Pls have a review.

@huningxin Please have a try in your building env. Thanks.

@rakuco
Copy link

rakuco commented Aug 7, 2013

From what I've understood so far, we're not really incompatible with XInput 2.2, it's just that Tizen 2.1 behaves a bit differently, isn't it? And since use_xi2_mt can assume different values, can't we pass 1 to it to mean we want XInput 2.1 and do some checks for the value of USE_XI2_MT besides just seeing if it's defined?

It looks weird that we're defining another macro that's very similar to an existing one.

@rakuco
Copy link

rakuco commented Aug 7, 2013

we should try to upstream this, maybe mentioning that it is needed on more than just our Tizen mobile phones

I need to understand the problem better before agreeing with this: as far as I know, this is a problem only because Tizen happened to have a package called xserver-xorg-input-evdev-multitouch that doesn't exist upstream and seems to be a fork of xf86-input-evdev, and it also happens to do funny stuff like using this "MULTITOUCHSCREEN" string.

@kenchris
Copy link
Contributor

kenchris commented Aug 7, 2013

enable_xi21_multitouch_extension ?

so you can have enable_xi21 and enable_xi21_multitouch_extension enabled at the same time?

@huningxin
Copy link
Contributor

I suggest we use ENABLE_TIZEN21_MT.
The reason is I suppose this is very Tizen 2.1 specific.
As we investigated, the Tizen 2.1 Xserver reports the version of XInput is 2.2. But the TouchScreen device doesn't sends out any touch events (such as XI_TouchBegin, XI_TouchEnd, XI_TouchUpdate) which Chromium expects when building with "use_xi2_mt=2". And the touch event tracking ID which Chromium expects (see https://github.com/otcshare/chromium-crosswalk/blob/lkgr/ui/base/x/valuators.h#L36) doesn't appear.
However, when building without "use_xi2_mt" (it means to use XInput 2.0), Chromium expects the touch device's name is XI_TOUCHSCREEN (value is "TouchScreen") (https://github.com/otcshare/chromium-crosswalk/blob/lkgr/ui/base/touch/touch_factory_x11.cc#L102). However, Tizen 2.1 touch screen device is named as "MULTITOUCHSCREEN". And even more, Chromium expects single touch device in this path, again Tizen 2.1 uses several floating touch devices (id=10, 11, 12, 13) to emulate multitouch behaviors. So we use the device id as touch events tracking id.
So in summary, I feel the Tizen 2.1 implementation is very specific. It doesn't fall into either XInput 2.2, 2.1 or 2.0. We'd better to use a new ENABLE_TIZEN21_MT to group the codes to handle Tizen 2.1. Investigation shows Tizen 3.0 follows the XInput 2.2 behaviors correctly.
I am not sure any other systems has this implementation. If it is Tizen 2.1 specific, I am doubting the possibility of upstream.

@hmin
Copy link
Author

hmin commented Aug 7, 2013

From what I've understood so far, we're not really incompatible with XInput 2.2, it's just that Tizen 2.1 behaves a bit differently, isn't it? And since use_xi2_mt can assume different values, can't we pass 1 to it to mean we want XInput 2.1 and do some checks for the value of USE_XI2_MT besides just seeing if it's defined?

It looks weird that we're defining another macro that's very similar to an existing one.

It is somewhat weird, but it is a much clean way to do it as I know.

We ever considered using use_xi2_mt=1 to indicate this case, but since it doesn't have the raw touch events (XI_TouchBegin, XI_TouchUpdate and XI_TouchEnd) at all for Tizen 2.1 case, the way to support multi-touch is actually totally different from XI2 multi-touch.

For Tizen 2.1 case, there are no XI_TouchBegin, XI_TouchUpdate and XI_TouchEnd raw touch events emitted from touch device. Instead, the touch event is simulated by a normal mouse event, since X server maintains multiple virtual touch screen devices as floating device, each of them can simulate a touch event tracked by the device id of event source, as a result, multi-touch support works with these simulated touch events dispatched from floating device.

So we should not reuse use_xi2_mt flag since this approach is not compatible with XInput2 spec.

touch_device_lookup_[dev_list[i].id] = true;
// We still think it as a single touch device although it is of
// 'MULTITOUCHSCREEN' device type since one touch screen device is
// only for one touch point.
touch_device_list_[dev_list[i].id] = false;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am concerning set it as false will make slot ID to set as 0 incorrectly. (See: https://github.com/otcshare/chromium-crosswalk/blob/lkgr/ui/base/x/events_x.cc#L1006). We need either put slot ID generation for Tizen 2.1 to there.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the change in events_x.cc:1009 is already addressed your concern.

If the ENABLE_XI21_MT is defined, it will use the device id as the slot value.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry. I missed that. Thanks for explanation. No concern from me.

@hmin
Copy link
Author

hmin commented Aug 7, 2013

I agree with @huningxin that using ENABLE_TIZEN21_MT instead.

@rakuco @kenchris Your thoughts?

@@ -1006,6 +1006,11 @@ int GetTouchId(const base::NativeEvent& xev) {
float slot = 0;
ui::TouchFactory* factory = ui::TouchFactory::GetInstance();
XIDeviceEvent* xievent = static_cast<XIDeviceEvent*>(xev->xcookie.data);
#if defined(ENABLE_XI21_MT)
// When using XInput2.1 multi-touch support, the slot is tracked by the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not XInput2.1 behavior too. It should be Tizen 2.1 implementation specific.

@kenchris
Copy link
Contributor

kenchris commented Aug 7, 2013

I am merging, but please fix the comments afterwards!

kenchris pushed a commit that referenced this pull request Aug 7, 2013
Fix touch support issue on Tizen 2.1
@kenchris kenchris merged commit 481ac27 into crosswalk-project:master Aug 7, 2013
darktears pushed a commit that referenced this pull request Sep 29, 2014
…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}
darktears pushed a commit that referenced this pull request Sep 29, 2014
…::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}
darktears pushed a commit that referenced this pull request Sep 29, 2014
…disable GCM (patchset #8 id:150001 of https://codereview.chromium.org/561943002/)

Reason for revert:
this CL might be breaking browser_tests and interactive_ui_tests on ChromeOS because it's starting a request on startup.  here's an example:

[15345:15369:0918/132152:ERROR:leak_tracker.h(97)] Leaked 0x11cd70da7cc0 which was allocated by:
[15345:15369:0918/132152:ERROR:leak_tracker.h(98)] #0 0x7f44b584025e base::debug::StackTrace::StackTrace()
#1 0x000000dfc481 base::debug::LeakTracker<>::LeakTracker()
#2 0x000000df3e8d SystemURLRequestContextGetter::SystemURLRequestContextGetter()
#3 0x000000df57f1 IOThread::InitSystemRequestContext()
#4 0x000000df570b IOThread::system_url_request_context_getter()
#5 0x000001443d9e BrowserProcessImpl::system_request_context()
#6 0x000001028a8e SafeBrowsingService::Initialize()
#7 0x0000014462c9 BrowserProcessImpl::CreateSafeBrowsingService()
#8 0x000001446196 BrowserProcessImpl::safe_browsing_service()
#9 0x0000014b9a06 ChromeResourceDispatcherHostDelegate::ChromeResourceDispatcherHostDelegate()
#10 0x0000014466dc BrowserProcessImpl::ResourceDispatcherHostCreated()
#11 0x0000008a88e5 chrome::ChromeContentBrowserClient::ResourceDispatcherHostCreated()
#12 0x7f44be489a2f content::ResourceDispatcherHostImpl::ResourceDispatcherHostImpl()
#13 0x7f44be060f44 content::BrowserMainLoop::BrowserThreadsStarted()
#14 0x7f44be068302 base::internal::RunnableAdapter<>::Run()
#15 0x7f44be06826c base::internal::InvokeHelper<>::MakeItSo()
#16 0x7f44be06821a base::internal::Invoker<>::Run()
#17 0x7f44be54e46e base::Callback<>::Run()
#18 0x7f44be8d223b content::StartupTaskRunner::RunAllTasksNow()
#19 0x7f44be05ff97 content::BrowserMainLoop::CreateStartupTasks()
#20 0x7f44be06b824 content::BrowserMainRunnerImpl::Initialize()
#21 0x7f44be05c7df content::BrowserMain()
#22 0x7f44bdee5f6f content::RunNamedProcessTypeMain()
#23 0x7f44bdee9268 content::ContentMainRunnerImpl::Run()
#24 0x7f44bdee5505 content::ContentMain()
#25 0x0000041aa8cb content::BrowserTestBase::SetUp()
#26 0x00000173e117 InProcessBrowserTest::SetUp()
#27 0x000000671180 ExtensionBrowserTest::SetUp()
#28 0x0000006711b2 ExtensionBrowserTest::SetUp()
#29 0x0000017fb993 testing::internal::HandleSehExceptionsInMethodIfSupported<>()
#30 0x0000017e8bfe testing::internal::HandleExceptionsInMethodIfSupported<>()
#31 0x0000017dd1e3 testing::Test::Run()
#32 0x0000017dd92b testing::TestInfo::Run()
#33 0x0000017ddf1a testing::TestCase::Run()
#34 0x0000017e3413 testing::internal::UnitTestImpl::RunAllTests()
#35 0x0000017f47d3 testing::internal::HandleSehExceptionsInMethodIfSupported<>()
#36 0x0000017ea96e testing::internal::HandleExceptionsInMethodIfSupported<>()
#37 0x0000017e30b1 testing::UnitTest::Run()
#38 0x000004187e41 RUN_ALL_TESTS()
#39 0x000004186e67 base::TestSuite::Run()
#40 0x0000007fcd62 InteractiveUITestSuiteRunner::RunTestSuite()
#41 0x00000173c7b8 (anonymous namespace)::ChromeTestLauncherDelegate::RunTestSuite()
#42 0x0000041bc2fb content::LaunchTests()
#43 0x00000173c6e9 LaunchChromeTests()
#44 0x0000007fccbf main
#45 0x7f44ad8ed76d __libc_start_main
#46 0x000000601389 <unknown>

[15345:15369:0918/132152:FATAL:leak_tracker.h(102)] Check failed: 0u == count (0 vs. 1)
#0 0x7f44b584025e base::debug::StackTrace::StackTrace()
#1 0x7f44b58d7a62 logging::LogMessage::~LogMessage()
#2 0x000000dfdd01 base::debug::LeakTracker<>::CheckForLeaks()
#3 0x000000df8e13 IOThread::CleanUp()
#4 0x7f44be0810b6 content::BrowserThreadImpl::CleanUp()
#5 0x7f44be07e852 content::BrowserProcessSubThread::CleanUp()
#6 0x7f44b59d0601 base::Thread::ThreadMain()
#7 0x7f44b59bba3c base::(anonymous namespace)::ThreadFunc()
#8 0x7f44b1aa9e9a start_thread
#9 0x7f44ad9c03fd clone

Original issue's description:
> Add GCMChannelStatusSyncer to schedule requests and enable/disable GCM
>
> BUG=384041
> TEST=new tests added
>
> Committed: https://crrev.com/3c23f4a188e171998f3042ad62f4aa5717e66d63
> Cr-Commit-Position: refs/heads/master@{#295524}

[email protected],[email protected],[email protected],[email protected],[email protected]
NOTREECHECKS=true
NOTRY=true
BUG=384041

Review URL: https://codereview.chromium.org/582913003

Cr-Commit-Position: refs/heads/master@{#295549}
rakuco pushed a commit that referenced this pull request Oct 10, 2014
…hanges.

Use a boolean to only send WINDOW_CONTENT_CHANGED the first time
notifyFrameInfoInitialized is called. See bug for longer discussion of
issue.

BUG=419541

Review URL: https://codereview.chromium.org/624503002

(cherry picked from commit b2298d5)

Cr-Original-Commit-Position: refs/heads/master@{#297824}
Cr-Commit-Position: refs/branch-heads/2171@{#43}
Cr-Branched-From: 267aeeb-refs/heads/master@{#297060}
rakuco pushed a commit that referenced this pull request Jan 26, 2015
Cr-Commit-Position: refs/branch-heads/2272@{#43}
Cr-Branched-From: 827a380-refs/heads/master@{#310958}
rakuco pushed a commit that referenced this pull request Mar 12, 2015
[email protected], [email protected]
BUG=459778
TEST=chromote locally with enableVideoDecodeRenderer

Review URL: https://codereview.chromium.org/954073002

Cr-Commit-Position: refs/heads/master@{#317985}

NOTRY=true

Review URL: https://codereview.chromium.org/957403004

Cr-Commit-Position: refs/branch-heads/2311@{#43}
Cr-Branched-From: 09b7de5-refs/heads/master@{#317474}
rakuco pushed a commit that referenced this pull request Apr 15, 2015
BUG=390991
[email protected]

Review URL: https://codereview.chromium.org/1062803003

Cr-Commit-Position: refs/heads/master@{#324147}
(cherry picked from commit 801c26a)

Review URL: https://codereview.chromium.org/1068413005

Cr-Commit-Position: refs/branch-heads/2357@{#43}
Cr-Branched-From: 59d4494-refs/heads/master@{#323860}
rakuco pushed a commit that referenced this pull request Jun 8, 2015
…eNumerics."

BUG=488302
TBR=eroman,jschuh

Review URL: https://codereview.chromium.org/1142783002

Cr-Commit-Position: refs/heads/master@{#330357}
(cherry picked from commit 0397125)

Review URL: https://codereview.chromium.org/1149913004

Cr-Commit-Position: refs/branch-heads/2403@{#43}
Cr-Branched-From: f54b809-refs/heads/master@{#330231}
mrunalk pushed a commit that referenced this pull request Sep 22, 2015
This is a temporary solution that will hold until https://codereview.chromium.org/1285133003/ can be landed. The latter depends on further refactoring, and we would like to solve this issue in M46.

BUG=522553

Review URL: https://codereview.chromium.org/1301833006

Cr-Commit-Position: refs/heads/master@{#345575}
(cherry picked from commit 64b2f6b)

[email protected],[email protected]

Review URL: https://codereview.chromium.org/1318973003 .

Cr-Commit-Position: refs/branch-heads/2490@{#43}
Cr-Branched-From: 7790a35-refs/heads/master@{#344925}
rakuco pushed a commit that referenced this pull request Mar 3, 2016
Previously, pages were only able to close themselves if they were
renderer initiated. We now have some cases where they should be able
to close when not renderer initiated, e.g. when opening a link that
redirects to the AppStore from an external application.

BUG=574572

Review URL: https://codereview.chromium.org/1595683002

Cr-Commit-Position: refs/heads/master@{#370222}
(cherry picked from commit 90a24fe)

Review URL: https://codereview.chromium.org/1617913002 .

Cr-Commit-Position: refs/branch-heads/2623@{#43}
Cr-Branched-From: 92d7753-refs/heads/master@{#369907}
huningxin pushed a commit to huningxin/chromium-croswalk that referenced this pull request May 17, 2016
Cr-Commit-Position: refs/branch-heads/2661@{crosswalk-project#43}
Cr-Branched-From: ef6f6ae-refs/heads/master@{#378081}
fujunwei pushed a commit to fujunwei/chromium-crosswalk that referenced this pull request May 27, 2016
…d users

BUG=557358
[email protected]

Review URL: https://codereview.chromium.org/1454903002

Cr-Commit-Position: refs/heads/master@{#360278}

Review URL: https://codereview.chromium.org/1457143002 .

Cr-Commit-Position: refs/branch-heads/2564@{crosswalk-project#43}
Cr-Branched-From: 1283eca-refs/heads/master@{#359700}
mrunalk pushed a commit that referenced this pull request Jul 19, 2016
Collection happens after Google Update data has been collected and
before drive metrics data, on the FILE thread.

BUG=615154
TEST=unit_tests
TEST=manual, check system profile contains AV information via logging.

Review-Url: https://codereview.chromium.org/2009773007
Cr-Commit-Position: refs/heads/master@{#398597}
(cherry picked from commit c768983)

Merge M52: Add support for obtaining AV products on Win7.

Previously WSC API was used which is only available on Windows 8.

This CL adds support via WMI, which is available from Vista onwards.

BUG=615154
CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win10_chromium_x64_rel_ng

Committed: https://crrev.com/1e8be206b2e8a96af660720bef1450f8a06af167
Review-Url: https://codereview.chromium.org/2064313004
Cr-Original-Commit-Position: refs/heads/master@{#400496}
Cr-Commit-Position: refs/heads/master@{#403544}
(cherry picked from commit 6813e4f)

Review URL: https://codereview.chromium.org/2132693002 .

Cr-Commit-Position: refs/branch-heads/2785@{#43}
Cr-Branched-From: 6862397-refs/heads/master@{#403382}
(cherry picked from commit b75c31b)

Review URL: https://codereview.chromium.org/2136423003 .

Cr-Commit-Position: refs/branch-heads/2743@{#613}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
huningxin pushed a commit to huningxin/chromium-croswalk that referenced this pull request Oct 9, 2016
This eliminates a lock-order inversion between ChannelMojo
and SyncMessageFilter.

BUG=611338
[email protected]

Review-Url: https://codereview.chromium.org/2000213002
Cr-Commit-Position: refs/heads/master@{#395483}
(cherry picked from commit 06325bc)

Review URL: https://codereview.chromium.org/2013673002 .

Cr-Commit-Position: refs/branch-heads/2743@{crosswalk-project#43}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
imreotto pushed a commit to tenta-browser/chromium-crosswalk that referenced this pull request Nov 2, 2017
This CL adds handlers to notify RenderWidgetHostViewChildFrame and its
TouchSelectionControllerClientChildFrame when main-thread flings complete
in an oopif renderer.

This is necessary for correct operation of the touch selection editing
handles during touch scroll.

[email protected]

(cherry picked from commit 351726f)

Bug: 756184
Change-Id: Ibb4cff0e09119c5c95cd36d6f3ab6737a59be7b3
Reviewed-on: https://chromium-review.googlesource.com/647827
Reviewed-by: Avi Drissman <[email protected]>
Commit-Queue: James MacLean <[email protected]>
Cr-Original-Commit-Position: refs/heads/master@{#499294}
Reviewed-on: https://chromium-review.googlesource.com/652588
Reviewed-by: James MacLean <[email protected]>
Cr-Commit-Position: refs/branch-heads/3202@{crosswalk-project#43}
Cr-Branched-From: fa6a5d8-refs/heads/master@{#499098}
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants