WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
16994
SmartReplace.cpp isn't implemented for platforms without CoreFoundation
https://bugs.webkit.org/show_bug.cgi?id=16994
Summary
SmartReplace.cpp isn't implemented for platforms without CoreFoundation
Tony Chang
Reported
2008-01-24 12:44:23 PST
The method WebCore::isCharacterSmartReplaceExempt is needed for smart paste to work. It's currently unimplemented unless CoreFoundation is in the build. I have a patch coming up that implements this method using ICU directly.
Attachments
implement WebCore::isCharacterSmartReplaceExempt
(3.51 KB, patch)
2008-01-24 12:45 PST
,
Tony Chang
darin
: review-
Details
Formatted Diff
Diff
take 2
(3.54 KB, patch)
2008-01-28 18:02 PST
,
Tony Chang
darin
: review-
Details
Formatted Diff
Diff
take 3
(3.54 KB, patch)
2008-02-01 17:23 PST
,
Tony Chang
darin
: review+
Details
Formatted Diff
Diff
in a separate file
(5.07 KB, patch)
2008-02-01 17:24 PST
,
Tony Chang
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Tony Chang
Comment 1
2008-01-24 12:45:47 PST
Created
attachment 18638
[details]
implement WebCore::isCharacterSmartReplaceExempt This is mostly translation of the method found in SmartReplaceCF.cpp. No new tests since this behavior is tested by existing layout tests.
Darin Adler
Comment 2
2008-01-26 08:25:25 PST
Comment on
attachment 18638
[details]
implement WebCore::isCharacterSmartReplaceExempt Code looks fine, but it's not platform-independent since it uses ICU; not all ports of WebCore have ICU, and it's not acceptable to just have ICU code without any ifdefs. It should go into a file named SmartReplaceICU.cpp and be properly ifdef'd. Otherwise, fine. + // Nice to have, added in ICU 3.8. + //uset_freeze(smartSet); This can be ifdef'd based on the ICU headers. It would be better to either include it for real or not. We don't normally include commented out code. The if is "#if USE (ICU_UNICODE)" I believe. You should look for an example.
Tony Chang
Comment 3
2008-01-28 18:02:14 PST
Created
attachment 18752
[details]
take 2 Same as before with #ifdef USE(ICU_UNICODE) guards.
Eric Seidel (no email)
Comment 4
2008-01-28 23:01:13 PST
Comment on
attachment 18752
[details]
take 2 This still should be in its own SmartReplaceICU.cpp instead of an #ifdef in SmartReplace.cpp. We're trying to kill all the #ifdefs over time.
Darin Adler
Comment 5
2008-01-29 07:49:03 PST
Comment on
attachment 18752
[details]
take 2 +#ifdef USE(ICU_UNICODE) That's incorrect. It needs to be: #if USE(ICU_UNICODE) And the ICU version should really be in a different file, as the CF version is. review- because of the ifdef/if issue.
Darin Adler
Comment 6
2008-01-29 07:49:04 PST
Comment on
attachment 18752
[details]
take 2 +#ifdef USE(ICU_UNICODE) That's incorrect. It needs to be: #if USE(ICU_UNICODE) And the ICU version should really be in a different file, as the CF version is. review- because of the ifdef/if issue.
Tony Chang
Comment 7
2008-02-01 17:23:10 PST
Created
attachment 18861
[details]
take 3 Fix the preprocessor commands.
Tony Chang
Comment 8
2008-02-01 17:24:14 PST
Created
attachment 18862
[details]
in a separate file Here's a version with the code in a separate file. I'm not sure which build config files needed to be updated to pick up the new file (as in, I don't know which builds use ICU and which don't).
Darin Adler
Comment 9
2008-02-03 13:22:13 PST
Comment on
attachment 18861
[details]
take 3 OK. r=me
Mark Rowe (bdash)
Comment 10
2008-02-04 21:50:21 PST
Landed in
r29990
with the necessary tweaks to be used in the Gtk and wxWidget ports. Thanks for the patch!
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