Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(431)

Issue 164100: Set up a interposing library for Carbon calls made by plugins. (Closed)

Created:
11 years, 4 months ago by stuartmorgan
Modified:
9 years, 7 months ago
Reviewers:
Mark Mentovai, TVL
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

Set up a interposing library for Carbon calls made by plugins. This gives us a library that's inserted into plugin process via DYLD_INSERT_LIBRARIES to intercept Carbon calls, and moves the window/process activation handling into that library (based on Carbon window activation/deactivation calls, rather than polling the front window). Over time we'll interpose more, but this gives us the foundation. This fixes both the "window loses focus when loading a page with plugins" and "can't click on YouTube controls" bugs. BUG=18203, 18553 TEST=Clicking on Flash plugins should work much more reliably, opening a page with a plugin shouldn't cause the window to lose focus. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=22799

Patch Set 1 #

Total comments: 14

Patch Set 2 : Addresses most review comments #

Patch Set 3 : Remove a vestigial include (and the DEPS change it needed) #

Total comments: 36

Patch Set 4 : Addresses review comments, DEPS violation #

Total comments: 6

Patch Set 5 : Review comments and files that were lost in the move #

Unified diffs Side-by-side diffs Delta from patch set Stats (+361 lines, -78 lines) Patch
A chrome/browser/plugin_carbon_interpose_mac.cc View 1 2 3 1 chunk +105 lines, -0 lines 0 comments Download
M chrome/browser/plugin_process_host.cc View 1 2 3 2 chunks +20 lines, -1 line 0 comments Download
M chrome/chrome.gyp View 1 2 3 5 chunks +50 lines, -2 lines 0 comments Download
A chrome/common/plugin_carbon_interpose_constants_mac.h View 1 chunk +16 lines, -0 lines 0 comments Download
A chrome/common/plugin_carbon_interpose_constants_mac.cc View 1 chunk +13 lines, -0 lines 0 comments Download
M chrome/plugin/plugin_main.cc View 1 2 3 4 2 chunks +41 lines, -0 lines 0 comments Download
A webkit/glue/plugins/fake_plugin_window_tracker_mac.h View 1 2 3 1 chunk +42 lines, -0 lines 0 comments Download
A webkit/glue/plugins/fake_plugin_window_tracker_mac.cc View 1 2 3 1 chunk +49 lines, -0 lines 0 comments Download
M webkit/glue/plugins/webplugin_delegate_impl_mac.mm View 9 chunks +23 lines, -75 lines 0 comments Download
M webkit/webkit.gyp View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
stuartmorgan
11 years, 4 months ago (2009-08-06 22:21:37 UTC) #1
Mark Mentovai
I didn't look closely at the bits in webkit. You need to update build/mac/dump_app_syms so ...
11 years, 4 months ago (2009-08-06 22:43:48 UTC) #2
stuartmorgan
Addressed everything but the build/mac/dump_app_syms part. Mark, I'll ping you tomorrow about how we should ...
11 years, 4 months ago (2009-08-07 00:51:07 UTC) #3
Mark Mentovai
LGTM with these changes, but I have a feeling you might want another pass just ...
11 years, 4 months ago (2009-08-07 01:29:04 UTC) #4
TVL
http://codereview.chromium.org/164100/diff/33/1006 File chrome/browser/plugin_carbon_interpose_constants_mac.cc (right): http://codereview.chromium.org/164100/diff/33/1006#newcode12 Line 12: const char kInterposeLibraryPath[] = drop the indent again ...
11 years, 4 months ago (2009-08-07 03:38:58 UTC) #5
stuartmorgan
http://codereview.chromium.org/164100/diff/33/1006 File chrome/browser/plugin_carbon_interpose_constants_mac.cc (right): http://codereview.chromium.org/164100/diff/33/1006#newcode12 Line 12: const char kInterposeLibraryPath[] = On 2009/08/07 03:38:58, TVL ...
11 years, 4 months ago (2009-08-07 18:37:01 UTC) #6
TVL
lgtm
11 years, 4 months ago (2009-08-07 18:44:14 UTC) #7
Mark Mentovai
http://codereview.chromium.org/164100/diff/1019/1023 File chrome/plugin/plugin_main.cc (right): http://codereview.chromium.org/164100/diff/1019/1023#newcode38 Line 38: getenv(plugin_interpose_strings::kDYLDInsertLibrariesKey); indentify http://codereview.chromium.org/164100/diff/1019/1023#newcode40 Line 40: return; NOTREACHED here ...
11 years, 4 months ago (2009-08-07 18:44:37 UTC) #8
stuartmorgan
http://codereview.chromium.org/164100/diff/1019/1023 File chrome/plugin/plugin_main.cc (right): http://codereview.chromium.org/164100/diff/1019/1023#newcode38 Line 38: getenv(plugin_interpose_strings::kDYLDInsertLibrariesKey); On 2009/08/07 18:44:37, Mark Mentovai wrote: > ...
11 years, 4 months ago (2009-08-07 20:47:32 UTC) #9
Mark Mentovai
11 years, 4 months ago (2009-08-07 20:49:59 UTC) #10
LGTM now

Powered by Google App Engine
This is Rietveld 408576698