| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
also cleans up the internal plugin handling some more.
Review URL: http://codereview.chromium.org/19443
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8855 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/19634
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8818 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
from *.mail.live.com (to fix hotmail).
BUG=4111
R=wtc
Review URL: http://codereview.chromium.org/19025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8764 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The IAT destructor (which will unpatch) now should run at AtExitManager shutdown, which is before we return from main(). It was a static constructor (bad), which registers an atexit() destructor which happens sometime during ExitProcess / LdrShutdown.
Also this removes some static constructors (the iat patchers, the throttle_queue, etc). I removed a StatsCounter completely, removing its static initializer.
BUG=6886
Review URL: http://codereview.chromium.org/18712
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8613 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Verified to work with at least Flash 10.
Review URL: http://codereview.chromium.org/18571
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8600 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/18563
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8582 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/18539
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8535 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/18696
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8530 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/18394
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8512 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Mostly style tweaks as I read some files, and some NOTIMPLEMENTED stubs.
Review URL: http://codereview.chromium.org/18685
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8508 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
is now at parity with single process browsers in my testing.
This works by making painting of child windows asynchronous. The key is to send, not post, the custom message. This allows the redraw message to jump the queue and get dispatched before other queued [Windows, IPC] messages, which eliminates painting artifacts.
Now that painting is asynchronous, I had to take out the SWP_NOREDRAW flag to DeferWindowPos. While it's slightly faster without it, the visual aritfacts are noticable.
Review URL: http://codereview.chromium.org/18637
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8432 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove unneeded ref counting.
- Remove a static constructor (scoped_refptr).
- Remove a leak (extra_plugin_paths_).
This slightly changes the code, since PlatformInit could be called before Singleton, via AddExtraPluginPaths. I don't think this should be a problem.
Review URL: http://codereview.chromium.org/18454
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8382 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
current process's command line.
One explicit goal of this change is to *not* deal with the string/wstring issues at the API on POSIX; the functions are the same as before, which means they remain as broken as before. (I did try to fix the internals, though, so migrating the callers is now possible by adding platform-appropriate hooks.)
Review URL: http://codereview.chromium.org/18248
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8347 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/18389
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8343 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
PluginVersionInfo, one is enough.
Review URL: http://codereview.chromium.org/18382
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8331 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
PluginVersionInfo remain in the windows file, and other platforms can store this data in the most convenient form to them.
Review URL: http://codereview.chromium.org/18419
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8322 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
This works by parenting windowed plugins with an HWND that's hosted in the browser process, so that no synchronous cross process messages are used when scrolling.
BUG=5428
Review URL: http://codereview.chromium.org/18082
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8239 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
#ifdef.
This only partially works. Missing pieces:
- gears resources for HTML dialogs (permissions, shortcut, settings).
- able to compile with a non-official gears build.
Review URL: http://codereview.chromium.org/18299
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8238 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/18315
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8177 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/18314
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8176 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
schemes other than http/https/ftp. This mimics Firefox behavior and works around bug http://b/issue?id=1543405 which is a XSS vulnerability in the Adobe Reader plugin where it allows javascript in the parameters passed in to the URL.Bug=1543405R=jam
Review URL: http://codereview.chromium.org/18070
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8159 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/17427
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8122 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
TBR=avi
Review URL: http://codereview.chromium.org/18236
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8029 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
BUG=6375
Review URL: http://codereview.chromium.org/17393
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7962 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
initializer.
Review URL: http://codereview.chromium.org/17625
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7922 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
OriginalFileName didn't work, since different filenames might still have the same value (i.e. QuickTime). Instead I did what Firefox does, which is collect the list of directories in one pass, then crawl them in another.
Review URL: http://codereview.chromium.org/17367
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7907 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
point to the same plugin. Check plugin versions and load the latest version if multiple versions are found.I've also refactored and cleaned PluginList so that it doesn't depend on PluginLib, which only made sense a long time ago when plugins were loaded in process. Now PluginLib will only be loaded in the plugin process (and not in the browser process as well).
Review URL: http://codereview.chromium.org/17451
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7888 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
typically set the cursor in NPP_HandleEvent for WM_MOUSEMOVE.The current implementation looks for the cursor type and if the typedoes not match predefinedcursor types defaults to the pointer cursor.
The fixes are as below:-
1. Marshal the HCURSOR after copying it to ensure that it
remains valid. This works as a HCURSOR is a user object
and can be used across processes. Ideally we would
like to convert it to a skia bitmap but there are issues
with converting monochrome cursors.
2. Added support for marshaling platform specific data in
the webcursor Serialize/Deserialize functions. This is in
the form of functions like InitPlatformData,
SerializePlatformData, DeserializePlatformData, etc.
which are stubbed out for the other platforms.
3. Mimic webkit windowless plugin behavior where it sets a
flag to ignore the next setCursor after HandleEvent of
WM_MOUSEMOVE. If we don't do this the cursor keeps
changing between a pointerCursor and the cursor set by
the plugin which also causes flicker.
4. Fixed the WebCursor::IsEqual function to ensure that it
checks all fields for equality.
5. The browser(RenderWidgetHostViewWin) now maintains a
WebCursor instance representing the current cursor. Any
cursor updates received from the renderer update the
current cursor member maintained by the browser.
6. We intercept the SetCursor API for windowless plugins
like Flash and Silverlight and remember the cursor being
set. We don't invoke the original API as the browser UI
thread would do it anyways. This fixes the annoying
cursor flicker caused by the windowless flash plugin
instance constantly setting the cursor even when the tab
is not visible.
This fixes bug http://code.google.com/p/chromium/issues/detail?id=3800.
Review URL: http://codereview.chromium.org/15088
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7798 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/16564
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7707 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/16543
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7617 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/16456
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7588 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/16489
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7504 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
With this change, test_shell_tests can link with dynamic libraries.
Review URL: http://codereview.chromium.org/16476
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7474 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(project files still to come). To wit:
* Solution file configuration is in *_sln.scons files (base\base_sln.scons,
chrome\chrome_sln.scons).
* Individual Project file configuration is in the the .scons file for
the relevant target (base\base_unittests.scons,
third_party\libxml\libxml.scons, etc.)--that is, where their file
lists will live.
* MSVSProject() calls are currently placeholders that establish
the existence of Project Nodes (and Project dependencies) but don't yet
have actual Project configuration information (file lists, .vsprops, etc.).
* Configuraiton is very manual. In particular, the entries in the .sln
file will be written out in exactly the order specified in the
configuration(s). The current ordering is taken from our existing
.sln files, so we can generate virtually the same configurations
on output.
* Generated solution files are nearly byte-for-byte identical
with our existing .sln files, modulo:
* net\dump_cache has a WebsiteProperties sections (making that
configurable per project isn't important right now);
* sandbox\sandbox.sln was missing a dependency of base.vcproj on
on debug_message.vcproj (present in other .sln files)
* webkit\webkit.sln was missing dependencies of WebCore.vcproj on
libxml_config.vcproj and libxslt_config.vcproj (present in
chrome.sln);
* add a handful of other miscellaneous missing dependencies on various
.vcproj definitions in chrome.sln (present in other .sln files).
* remove stats_viewer.csproj from chrome.sln (sorry, mbelshe),
which was complicating the solution configuration with unnecessary
(for us) "Mixed Platform" types;
* All MSVSFolder(), MSVSProject() and MSVSSolution() calls have
hard-wired guid= values taken from our existing configuration,
so we can: 1) verify generation of working configs; 2) minimize
diffs when checking in generated .sln files. We can remove
these in the future in favor of extracting them from existing
.sln files if we wish.
* Add ChromeMSVSFolder(), ChromeMSVSProject() and ChromeMSVSSolution()
wrappers to chromium_builders.py, that gate the underlying call to
the env.MSVS*() builders based on whether env.Bit('msvs') is set
(i.e., we're in --mode=msvs).
* Remove platform-specific gating of to-be-ported .scons files that we
now need to load on any platform to generate coheren MSVS files.
Move the env.Bit('windows') tests for actually building their
executables into the individual .scons files.
Review URL: http://codereview.chromium.org/14472
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7297 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and better-thought-out Hammer env.Bits() idioms:
* env['PLATFORM'] == 'win32' => env.Bit('windows')
* env['PLATFORM'] == 'posix' => env.Bit('linux')
* env['PLATFORM'] == 'darwin' => env.Bit('mac')
New idioms:
* env.Bit('posix') => really does mean "any POSIX platform"
* env.AnyBits('mac', 'linux') => specifically mac or linux, excluding
other POSIX platforms
Where we were using compound conditionals (e.g., "env['PLATFORM'] in
('posix', 'darwin')") I tried to take my best shot at translating
the intent (i.e., "env.Bits('posix')" for something POSIX, "not
env.Bits('mac')" for something not yet ported to Mac, etc.)
Review URL: http://codereview.chromium.org/15051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7270 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
by the plugin. This means that the server does not support byte range requests. Firefox handles this by destroying the current plugin instance and creating a new instance to handle the response. The stream which is created to pass the data off to the plugin is not seekable.Fix is to emulate Firefox behavior. Will work on unit testing the NPN_RequestRead related code in a separate CB. This fixes http://code.google.com/p/chromium/issues/detail?id=5403Bug=5403
Review URL: http://codereview.chromium.org/14122
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7139 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Patch fails otherwise on non-Windows platforms.
Review URL: http://codereview.chromium.org/14478
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7093 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
BUG=5525
Review URL: http://codereview.chromium.org/14113
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6981 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
this failed UI tests catastrophically
Review URL: http://codereview.chromium.org/14103
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6968 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Also make ProxyService refcounted so the sharing between profiles is explicit.
Review URL: http://codereview.chromium.org/13701
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6966 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
ProxyServie now holds ownership of the ProxyResolver instance passed in.
MozillaExtensionApi class passed in a stack instance of ProxyResolver
causing problems in delete.
Review URL: http://codereview.chromium.org/13702
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6703 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/13222
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6465 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
load when the plugin calls NPN_RequestRead. I was looking at the wrong
stream implementation in Firefox :(
Bug=5009
TBR=jam
Review URL: http://codereview.chromium.org/13212
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6454 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NPN_RequestRead to initiate seekable byte range requests on the stream. While the contract on the plugins part is not fully clear from the mozilla docs, this is what Firefox does.
This also improves performance greatly as the manual data stream already has most of the data which the plugin requests anyway. I verified this with large PDF files around 14-15MB. We are twice as faster with this fix.
This fixes http://code.google.com/p/chromium/issues/detail?id=5009, which is an issue with the PDF file not loading at times. The problem also occurs at times in Firefox when we set breakpoints and thus slow down the operation.
The Reader plugin displays its UI in child windows on a separate thread in the plugin process. These are parented to the plugin window which lives on the plugin thread. The plugin thread unfortunately is treated as an IO thread by
the plugin and it uses the SendMessage API to send messages to the plugin thread and back. If the plugin fails to receive data for the PDF file in a reasonable time,
it just destroys the PDF window hierarchy causing this issue.
Handing the data off the manual data stream along with the byte range data speeds up the whole operation and thus avoids this issue to a great extent.
Bug=5009
R=jam
Review URL: http://codereview.chromium.org/12960
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6396 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/13133
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6372 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes http://code.google.com/p/chromium/issues/detail?id=3977, which is an issue with Acrobat Reader internet preferences being set to always open PDF files in Reader. This operation when performed in chrome and Safari
brings up an error message from the Acrobat Reader plugin that the file could not be found.
The plugin in this case returns NP_ASFILE as the plugin mode from NPP_NewStream. The data is written accordingly to the temp file created. When we finish receiving the data we pass the file name in NPP_StreamAsFile to the plugin. The plugin does not open the file immediately as per our expectation. It opens the file after the stream has been destroyed which ends up deleting the temp file created above.
Debugged Firefox and found that it never deletes these temp files and leaves them around in the cache.
We can go one step forward and track all these files on a per instance basis. These are deleted when the plugin instance is destroyed.
Bug=3977
R=jam
Review URL: http://codereview.chromium.org/12875
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6245 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instance.
This fixes bug http://code.google.com/p/chromium/issues/detail?id=4691
The windowless instance of the Silverlight plugin calls the WindowFromPoint API and passes the window handle returned as the owner window in the TrackPopupMenu API call. The TrackPopupMenu API fails if the owner window does not live on the same thread as the caller. It works in the other browsers as the window where the windowless plugin is embedded is in the same thread.
The fix is to add a quirk specific for the TrackPopupMenu issue, IAT patch the Silverlight plugin and pass in the handle to the dummy activation window as the owner.
The other fix made is to have a focus window for the duration of the WM_RBUTTONDOWN/WM_RBUTTONUP sequence. This ensures that keyboard navigation works in the context menu displayed by the Silverlight plugin.
Bug=4691
R=jam
Review URL: http://codereview.chromium.org/12626
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6029 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/11544
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5880 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
This reverts commit r5847.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5850 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/11544
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5847 0039d316-1c4b-4281-b951-d872f2087c98
|