WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
95714
Remove fixPlaceholderRenderer hack
https://bugs.webkit.org/show_bug.cgi?id=95714
Summary
Remove fixPlaceholderRenderer hack
Shinya Kawanaka
Reported
2012-09-04 00:13:32 PDT
To show mouse cursor in the front of placeholder, we have adopted fixPlaceholderRenderer hack. However, this is very fragile when we add an AuthroShadowRoot on <textarea> or <input> element.
Attachments
WIP
(6.01 KB, patch)
2012-09-04 02:10 PDT
,
Shinya Kawanaka
no flags
Details
Formatted Diff
Diff
WIP
(8.38 KB, patch)
2012-09-04 02:32 PDT
,
Shinya Kawanaka
no flags
Details
Formatted Diff
Diff
WIP
(16.45 KB, patch)
2012-09-05 05:40 PDT
,
Shinya Kawanaka
no flags
Details
Formatted Diff
Diff
Patch
(18.83 KB, patch)
2012-09-05 19:11 PDT
,
Shinya Kawanaka
no flags
Details
Formatted Diff
Diff
ChangeLog fixed
(18.78 KB, patch)
2012-09-05 19:18 PDT
,
Shinya Kawanaka
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Shinya Kawanaka
Comment 1
2012-09-04 02:10:25 PDT
Created
attachment 161991
[details]
WIP
Shinya Kawanaka
Comment 2
2012-09-04 02:17:34 PDT
-webkit-user-select: none; will solve the problem, maybe.
Shinya Kawanaka
Comment 3
2012-09-04 02:32:05 PDT
Created
attachment 161995
[details]
WIP
Kent Tamura
Comment 4
2012-09-04 03:03:50 PDT
(In reply to
comment #2
)
> -webkit-user-select: none; will solve the problem, maybe.
I remember it didn't work. 1. Applying
Attachment #161995
[details]
2. Build Chromium port, or Build Mac port on Lion or Mountain Lion, or Build Mac port on SnowLoepard with RenderThemeMac::shoudlShowPlaceholderWhenFocused()==true 3. Open a document with <input placeholder=placeholder autofocus> 4. Type 'a', and Backspace ASSERTION FAILED: !m_anchorNode || !m_anchorNode->isShadowRoot() /Volumes/d2/WebKit/Source/WebCore/dom/Position.cpp(88) : WebCore::Position::Position(PassRefPtr<WebCore::Node>, WebCore::Position::LegacyEditingOffset) 1 0x103ff7a64 WebCore::Position::Position(WTF::PassRefPtr<WebCore::Node>, WebCore::Position::LegacyEditingOffset) 2 0x103ff797b WebCore::Position::Position(WTF::PassRefPtr<WebCore::Node>, WebCore::Position::LegacyEditingOffset) 3 0x102da754a WebCore::createLegacyEditingPosition(WTF::PassRefPtr<WebCore::Node>, int) 4 0x102e3d258 WebCore::RangeBoundaryPoint::toPosition() const 5 0x103294cd3 WebCore::Range::endPosition() const 6 0x1046f9fba WebCore::previousBoundary(WebCore::VisiblePosition const&, unsigned int (*)(unsigned short const*, unsigned int, unsigned int, WebCore::BoundarySearchContextAvailability, bool&)) 7 0x1046f91f9 WebCore::startOfWord(WebCore::VisiblePosition const&, WebCore::EWordSide) 8 0x10339e7ef WebCore::Editor::respondToChangedSelection(WebCore::VisibleSelection const&, unsigned int) 9 0x1034ccf4e WebCore::FrameSelection::setSelection(WebCore::VisibleSelection const&, unsigned int, WebCore::FrameSelection::CursorAlignOnScroll, WebCore::TextGranularity) 10 0x1034d0499 WebCore::FrameSelection::textWasReplaced(WebCore::CharacterData*, unsigned int, unsigned int, unsigned int) 11 0x102f1b12e WebCore::CharacterData::setDataAndUpdate(WTF::String const&, unsigned int, unsigned int, unsigned int) 12 0x102f1b879 WebCore::CharacterData::deleteData(unsigned int, unsigned int, int&) 13 0x103173e45 WebCore::DeleteFromTextNodeCommand::doApply() 14 0x102f66dbb WebCore::CompositeEditCommand::applyCommandToComposite(WTF::PassRefPtr<WebCore::EditCommand>) 15 0x102f68b47 WebCore::CompositeEditCommand::deleteTextFromNode(WTF::PassRefPtr<WebCore::Text>, unsigned int, unsigned int) 16 0x10317706d WebCore::DeleteSelectionCommand::deleteTextFromNode(WTF::PassRefPtr<WebCore::Text>, unsigned int, unsigned int) 17 0x10317779f WebCore::DeleteSelectionCommand::handleGeneralDelete() 18 0x10317a766 WebCore::DeleteSelectionCommand::doApply() 19 0x102f66dbb WebCore::CompositeEditCommand::applyCommandToComposite(WTF::PassRefPtr<WebCore::EditCommand>) 20 0x102f69832 WebCore::CompositeEditCommand::deleteSelection(WebCore::VisibleSelection const&, bool, bool, bool, bool, bool) 21 0x1046ed5fc WebCore::TypingCommand::deleteKeyPressed(WebCore::TextGranularity, bool) 22 0x1046ec625 WebCore::TypingCommand::deleteKeyPressed(WebCore::Document*, unsigned int, WebCore::TextGranularity) 23 0x10338e5ee WebCore::Editor::deleteWithDirection(WebCore::SelectionDirection, WebCore::TextGranularity, bool, bool) 24 0x1033a4b07 WebCore::executeDeleteBackward(WebCore::Frame*, WebCore::Event*, WebCore::EditorCommandSource, WTF::String const&) 25 0x1033a4100 WebCore::Editor::Command::execute(WTF::String const&, WebCore::Event*) const 26 0x1033a42e9 WebCore::Editor::Command::execute(WebCore::Event*) const 27 0x1012485f2 WebKit::WebPage::executeKeypressCommandsInternal(WTF::Vector<WebCore::KeypressCommand, 0ul> const&, WebCore::KeyboardEvent*) 28 0x1012493af WebKit::WebPage::handleEditingKeyboardEvent(WebCore::KeyboardEvent*, bool) 29 0x1011cdf96 WebKit::WebEditorClient::handleKeyboardEvent(WebCore::KeyboardEvent*) 30 0x10338c972 WebCore::Editor::handleKeyboardEvent(WebCore::KeyboardEvent*) 31 0x1033eb651 WebCore::EventHandler::defaultKeyboardEventHandler(WebCore::KeyboardEvent*)
WebKit Review Bot
Comment 5
2012-09-04 04:24:17 PDT
Comment on
attachment 161995
[details]
WIP
Attachment 161995
[details]
did not pass chromium-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/13755321
New failing tests: fast/forms/textarea-placeholder-visibility-2.html fast/forms/input-placeholder-visibility-1.html fast/forms/textarea-placeholder-visibility-1.html fast/forms/input-placeholder-visibility-3.html
Shinya Kawanaka
Comment 6
2012-09-04 04:33:03 PDT
Hmm... I couldn't reproduce it.
Shinya Kawanaka
Comment 7
2012-09-04 04:33:56 PDT
(In reply to
comment #6
)
> Hmm... I couldn't reproduce it.
FYI: I tried it on Chromium Linux and Chromium Mac.
Shinya Kawanaka
Comment 8
2012-09-05 05:40:10 PDT
Created
attachment 162229
[details]
WIP
Shinya Kawanaka
Comment 9
2012-09-05 05:41:02 PDT
This crash happens only when ShadowDOM flag is disabled.
Shinya Kawanaka
Comment 10
2012-09-05 19:11:38 PDT
Created
attachment 162395
[details]
Patch
Kent Tamura
Comment 11
2012-09-05 19:14:08 PDT
Comment on
attachment 162395
[details]
Patch LGTM for WebCore/css and WebCore/html.
Shinya Kawanaka
Comment 12
2012-09-05 19:18:09 PDT
Created
attachment 162396
[details]
ChangeLog fixed
Dimitri Glazkov (Google)
Comment 13
2012-12-03 10:48:34 PST
Comment on
attachment 162396
[details]
ChangeLog fixed View in context:
https://bugs.webkit.org/attachment.cgi?id=162396&action=review
> Source/WebCore/editing/visible_units.cpp:526 > + // anchored and ShadowDOM is not enabled. We have to enable ShadowDOM, or avoid ShadowRoot anchored Position.
Why will it assert?
Anders Carlsson
Comment 14
2014-02-05 11:13:23 PST
Comment on
attachment 162396
[details]
ChangeLog fixed Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.
Ryosuke Niwa
Comment 15
2019-10-04 22:17:28 PDT
No need to remove this hack since we don't support attaching a shadow root to an input element in V1 API.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug