| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL fixes issue 21471 by implementing the support of control characters.
For the reason of issue 21471, please refer to the code of EditorClientImpl::handleEditingKeyboardEvent() (webkit/glue/editor_client_impl.cc around line 601):
...
// Here we need to filter key events.
// On Gtk/Linux, it emits key events with ASCII text and ctrl on for ctrl-<x>.
// In Webkit, EditorClient::handleKeyboardEvent in
// WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp drop such events.
// On Mac, it emits key events with ASCII text and meta on for Command-<x>.
// These key events should not emit text insert event.
// Alt key would be used to insert alternative character, so we should let
// through. Also note that Ctrl-Alt combination equals to AltGr key which is
// also used to insert alternative character.
// http://code.google.com/p/chromium/issues/detail?id=10846
// Windows sets both alt and meta are on when "Alt" key pressed.
// http://code.google.com/p/chromium/issues/detail?id=2215
// Also, we should not rely on an assumption that keyboards don't
// send ASCII characters when pressing a control key on Windows,
// which may be configured to do it so by user.
// See also http://en.wikipedia.org/wiki/Keyboard_Layout
// TODO(ukai): investigate more detail for various keyboard layout.
if (evt->keyEvent()->text().length() == 1) {
UChar ch = evt->keyEvent()->text()[0U];
// Don't insert null or control characters as they can result in
// unexpected behaviour
if (ch < ' ')
return false;
#if !defined(OS_WIN)
// Don't insert ASCII character if ctrl w/o alt or meta is on.
// On Mac, we should ignore events when meta is on (Command-<x>).
if (ch < 0x80) {
if (evt->keyEvent()->ctrlKey() && !evt->keyEvent()->altKey())
return false;
#if defined(OS_MACOSX)
if (evt->keyEvent()->metaKey())
return false;
#endif
}
#endif
}
if (!frame->editor()->canEdit())
return false;
return frame->editor()->insertText(evt->keyEvent()->text(), evt);
...
And gtk implementation of WebInputEventFactory::keyboardEvent() (webkit/api/src/gtk/WebInputEventFactory.cpp, line 225):
...
// This should set text to 0 when it's not a real character.
// FIXME: fix for non BMP chars
// TODO(james.su@gmail.com):
// Support control characters input like Windows.
// See: http://en.wikipedia.org/wiki/Control_characters
result.unmodifiedText[0] = result.text[0] =
static_cast<WebUChar>(gdk_keyval_to_unicode(event->keyval));
...
You can see that, on Linux, the text of a keyboard event is set to the unicode char corresponding to |event->keyval| which might be greater than 0x80 when using a non-English keyboard layout, even when ctrl key is pressed. In EditorClientImpl::handleEditKeyboardEvent(), the character will be inserted as text if ch >= 0x80, no matter if ctrl is pressed or not. That's why when using some non-English keyboard layout (eg. Russian), some unexpected characters will be input when press accelerator keys such as ctrl-l.
On Windows, ctrl key combinations will generate control characters, see:
http://en.wikipedia.org/wiki/Control_characters for details, especially the "How control characters map to keyboards" section.
So rather than patching EditorClientImpl::handleEditingKeyboardEvent() to filter out such unexpected inputs, I choose to emulate the control characters behavior of Windows, to make sure no key event with ch >= 0x80 will be generated when ctrl is pressed. This approach not only fixes issue 21471, but also makes the behavior on Linux similar than on Windows.
For EditorClientImpl::handleEditKeyboardEvent(), we might need to revise the logic of event filter to see if it has any other potential issues. But I think we can address it separately.
BUG=21471: REGRESSION: Ctrl+F results in "а" added to the edit box in belarusian
TEST=Switch keyboard layout to Russian or Belarusian, press ctrl-f in any edit box in a web page, search box should be opened and nothing should be input into the edit box.
Review URL: http://codereview.chromium.org/195062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29261 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TBR=darin
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/284005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29247 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=24602
TEST=Compiled Webkit/Chromium
Review URL: http://codereview.chromium.org/275026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29245 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL also changes a bunch of autofill related wstring values to string16.
R=jcampan
BUG=24595
TEST=none
Review URL: http://codereview.chromium.org/279001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29244 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r29218.
TBR=mhm
Review URL: http://codereview.chromium.org/283004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29225 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=24602
TEST=Compiled Webkit/Chromium
Review URL: http://codereview.chromium.org/275026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29218 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Turn on ENABLE_SHARED_WORKERS by default, but disable the SharedWorker bindings
so they are not available. This allows the SharedWorker code to get compiled in
to fight against bit rot, but prevents applications from using this API yet.
TEST=existing layout tests suffice
Review URL: http://codereview.chromium.org/273019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29185 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
R=darin
BUG=24596
TEST=none
Implement getter/setter-based bound properties for CppBoundClass.
This is necessary for AccessibilityController, which has non-trivial
property accessors.
R=darin
BUG=10322
TEST=CppBoundClassTest.SetAndGetPropertiesWithCallbacks
Review URL: http://codereview.chromium.org/272029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28821 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/275001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28798 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TBR=darin
Some tests are failing in win and mac, mark them so.
Review URL: http://codereview.chromium.org/270070
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28732 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
TBR=darin
Also provide stub method for GraphicsContext3D::getActiveAttrib()
and GraphicsContext3D::getActiveUniform().
Review URL: http://codereview.chromium.org/274006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28727 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
use-after-free. Like 23018, this is happening because valgrind is slowing the worker thread shutdown enough that the backup terminate process code executes.
BUG=24346
TEST=covered by valgrind
Review URL: http://codereview.chromium.org/266036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28646 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Get rid of the use of std::vector.
Review URL: http://codereview.chromium.org/259053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28616 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/272017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28607 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this class into the WebKit API implementation.
This is a redo of r28545, which was reverted in r28552.
TBR=dglazkov
BUG=10034
TEST=none
Review URL: http://codereview.chromium.org/261047
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28599 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
And fixes the compilation errors.
Review URL: http://codereview.chromium.org/273008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28588 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
(Part of the Webkit API refactoring effort).
Review URL: http://codereview.chromium.org/265011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28567 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/272011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28552 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
this class into the WebKit API implementation.
R=dglazkov
BUG=10034
TEST=none
Review URL: http://codereview.chromium.org/273003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28545 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/266039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28530 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to follow WebKit r42740.
- Add a WebNode parameter to WebViewDelegate::decidePolicyForNavigation()
TestWebViewDelegate prints the path of the node. RenderView ignores this parameter.
- Fix a bug of WebNode assignment.
BUG=11000
TEST=This change enables 3 layout tests.
Review URL: http://codereview.chromium.org/267003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28527 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
isolated world. Chromium side of change.
Review URL: http://codereview.chromium.org/262002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28369 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
* Get/set object cache disabled state
* Add accessor for CrossOriginPreflightResultCache
BUG=23400
TEST=none
Review URL: http://codereview.chromium.org/257057
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28299 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately, I can't use base::WeakPtr for this since this code will all move
into webkit/api shortly.
R=dglazkov
BUG=10034
TEST=none
Review URL: http://codereview.chromium.org/263007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28267 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Disabled newly added test for object cloning.
TEST=try servers
BUG=24063
Review URL: http://codereview.chromium.org/263005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28238 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
boolean to express the action.
R=ajwong
BUG=10033
TEST=none
Review URL: http://codereview.chromium.org/251103
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28236 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
More details here: http://code.google.com/p/chromium/issues/detail?id=23385
Review URL: http://codereview.chromium.org/259031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28134 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=12497
TEST=none
Review URL: http://codereview.chromium.org/255075
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28093 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GLEW's bootstrapping sequence on both X11 and Windows platforms to
avoid linking against libGL.so.1 directly due to
http://crbug.com/16800 . Made GLEW's inclusion of glu.h optional.
Tested on Linux, Mac and Windows.
BUG=http://crbug.com/21852
TEST=none (runs existing WebGL tests; more coming)
Review URL: http://codereview.chromium.org/258024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28062 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/249057/show
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28031 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
WebCore has a static FontCache that holds handles to platform-specific font data. It exposes a few knobs that might be useful to track or minimize memory usage. This patch exposes an API to experiment with.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/251081
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28021 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
build flag for chromium build of webkit. Doesn't expose the feature to any websites yet.
BUG=none
TEST=none (This is part 1 of 3 for this feature; tests will follow).
Review URL: http://codereview.chromium.org/194079
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27973 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://src.chromium.org/viewvc/chrome?view=rev&revision=27756 with slight changes in dom_storage_dispatch
er_host.cc
TBR=darin
TEST=Manually inspected that storage events fired. Will turn on more layout tests in a
subsequent patch.
BUG=19972
Original review URL: http://codereview.chromium.org/223013
Review URL: http://codereview.chromium.org/258010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27943 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Add a 5mb quota to DOM Storage. Most of the details are in an upstream patch (https://bugs.webkit.org/show_bug.cgi?id=29991 ).
BUG=16876
TEST=I added a layout test upstream and it works.
Review URL: http://codereview.chromium.org/255050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27942 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moves a bunch of methods from glue to the WebKit API.
R=dglazkov
BUG=10033
TEST=none
Review URL: http://codereview.chromium.org/246079
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27941 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=16876
TEST=It compiles.
Review URL: http://codereview.chromium.org/255065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27920 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
used the GPU to vertically flip the framebuffer. Updated GLEW to use
standard dlopen / dlsym rather than deprecated mach-o/dyld functions;
updated README.chromium.
BUG=http://crbug.com/21852
TEST=none (runs existing WebGL tests; more coming)
Review URL: http://codereview.chromium.org/256037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27902 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Handle name change (setExperimentalWebGLEnabled() => setWebGLEnabled())
Review URL: http://codereview.chromium.org/259014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27854 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It turns out this is reached through a very awkward code path. We send an IPC
to the renderer so that it can call WebFrame::executeCommand passing it the
"ToggleSpellingPanel" command. That is intercepted in our code--in
WebFrameImpl--and results in calling a method on Editor that just turns around
and calls EditorClient. EditorClient is again our code, which just pokes the
embedder via WebViewClient to get it to send an IPC back to the browser so that
it can show the spelling panel.
I would have just short-circuited all of this plumbing if it weren't for the
side-effect that this code has of triggering an update to the spelling panel.
That way it can show the correct word. I think that could be done a simpler
way, but for now, I'm content to just restore the way things were.
R=pinkerton
BUG=23543
TEST=manual test: right click on a misspelled word and select the option on
Mac Chrome to show the spelling panel. you should see it appear :)
Review URL: http://codereview.chromium.org/246071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27848 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Avoid including windows.h
2. Rename FileType to FileHandle
3. Fix consumers to use FileHandle
R=dglazkov
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/246072
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27845 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
Fix obsolete references to FrameLoader::XXXXScheduleXXXX APIs.
Review URL: http://codereview.chromium.org/259011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27844 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=12497
TEST=none
Review URL: http://codereview.chromium.org/256010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27835 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'll re-order the methods in webview_impl.cc in a follow-up CL. I
wanted to keep this one easy to review.
SetBackForwardListSize is no longer necessary given that
BackForwardListChromium.cpp doesn't care about its capacity.
R=dglazkov
BUG=10033
TEST=none
Originally reviewed here: http://codereview.chromium.org/251051
Review URL: http://codereview.chromium.org/255042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27780 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/249058
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27759 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
found here: https://bugs.webkit.org/show_bug.cgi?id=29655
TEST=Manually inspected that storage events fired. Will turn on more layout tests in a subsequent patch.
BUG=19972
Review URL: http://codereview.chromium.org/223013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27756 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
** browser_tests started failing at this revision. See:
http://build.chromium.org/buildbot/waterfall/builders/Chromium%20XP/builds/7697/steps/browser_tests/logs/stdio
**
I'll reorder the methods in webview_impl.cc in a followup CL. I
wanted to keep this one easy to review.
SetBackForwardListSize is no longer necessary given that
BackForwardListChromium.cpp doesn't care about its capacity.
R=dglazkov
BUG=10033
TEST=none
Review URL: http://codereview.chromium.org/251051
TBR=darin@chromium.org
Review URL: http://codereview.chromium.org/246060
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27711 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'll re-order the methods in webview_impl.cc in a follow-up CL. I
wanted to keep this one easy to review.
SetBackForwardListSize is no longer necessary given that
BackForwardListChromium.cpp doesn't care about its capacity.
R=dglazkov
BUG=10033
TEST=none
Review URL: http://codereview.chromium.org/251051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27705 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This parameter is used to support _self and other names that
need to be evaluated relative to a subframe.
R=jam
BUG=23009
TEST=none
Review URL: http://codereview.chromium.org/257005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27646 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
ENABLE_3D_CANVAS in development builds. Currently this argument also
requires disabling the sandbox.
BUG=http://crbug.com/21852
TEST=none (runs preexisting WebGL layout tests; more coming)
Review URL: http://codereview.chromium.org/246042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27637 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change does not completely eliminate webkit/glue/webview.h. Instead,
the old WebView extends from the new WebView temporarily as we complete
the transition.
R=dglazkov
BUG=10033
TEST=none
Review URL: http://codereview.chromium.org/257001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27620 0039d316-1c4b-4281-b951-d872f2087c98
|